diff --git a/content/loraine_gaultier/publi.textile b/content/loraine_gaultier/publi.textile index 5a81ed6..02d2c03 100644 --- a/content/loraine_gaultier/publi.textile +++ b/content/loraine_gaultier/publi.textile @@ -1,16 +1,12 @@ --- - Author: Loraine Gaultier Title: Intrusif·ve -Src: sources/export.txt - +Src: sources/export-utf8.txt --- Les forums regorgent de topics sur l'écriture inclusive, notamment le forum Reddit où l'on peux voir de nombreux opposants à cette écriture. L'argument majeur contre cette forme d'écriture est toujours le même: son illisibilité relative. L'écriture inclusive est-elle si intrusive ou exagérons-nous pas ne serait-ce qu'un peu ? - - Ce programme remplace tous les e, s, ant, eur par leur forme inclusive respective. Ce discours anti-inclusif se retrouve alors noyé par son usage. diff --git a/content/loraine_gaultier/sources/export-utf8.txt b/content/loraine_gaultier/sources/export-utf8.txt new file mode 100644 index 0000000..0ffe7ed --- /dev/null +++ b/content/loraine_gaultier/sources/export-utf8.txt @@ -0,0 +1 @@ +Ce⋅es qui irrite⋅es tout le⋅es monde⋅es, ici, c⋅e⋅ess(e⋅es)t qu⋅on e⋅ess(e⋅es)t pas(e⋅es) face⋅es ⋅ une⋅es ⋅volution organique⋅es de⋅es la langue⋅es mais(e⋅es) face⋅es ⋅ un pe⋅estit groupe⋅es de⋅es pre⋅ess(e⋅es)s(e⋅es)ion qui utilis(e⋅es)e⋅es s(e⋅es)on pouvoir m⋅diatique⋅es/politique⋅es pour te⋅esnte⋅esr d⋅impos(e⋅es)e⋅esr un change⋅esme⋅esnt arbitraire⋅es. Autant⋅e⋅s, donne⋅esr un f⋅minin ⋅ ce⋅esrtains(e⋅es) mots(e⋅es) qui re⋅espr⋅s(e⋅es)e⋅esnte⋅esnt de⋅ess(e⋅es) pe⋅esrs(e⋅es)onne⋅ess(e⋅es) n⋅e⋅ess(e⋅es)t pas(e⋅es) un probl⋅me⋅es, autant⋅e⋅s l⋅⋅criture⋅es inclus(e⋅es)ive⋅es e⋅ess(e⋅es)t aus(e⋅es)s(e⋅es)i inutile⋅es qu⋅inadapt⋅e⋅es. Le⋅ess(e⋅es) pare⋅esnth⋅s(e⋅es)e⋅ess(e⋅es) ou la barre⋅es oblique⋅es e⋅esxis(e⋅es)te⋅esnt d⋅j⋅ pour ce⋅esla e⋅est le⋅ess(e⋅es) re⋅esje⋅este⋅esr parce⋅es que⋅es ⋅a donne⋅es une⋅es id⋅e⋅es d⋅⋅l⋅me⋅esnt s(e⋅es)e⋅escondaire⋅es ou de⋅es diff⋅re⋅esnce⋅es alors(e⋅es) que⋅es nous(e⋅es) s(e⋅es)omme⋅ess(e⋅es) tous(e⋅es) ⋅gaux c⋅e⋅ess(e⋅es)t abs(e⋅es)urde⋅es. On ne⋅es parle⋅esra m⋅me⋅es pas(e⋅es) du s(e⋅es)upport du ⋅ dans(e⋅es) le⋅ess(e⋅es) te⋅eschnologie⋅ess(e⋅es) actue⋅eslle⋅ess(e⋅es) te⋅esl que⋅es s(e⋅es)a magnifique⋅es pr⋅s(e⋅es)e⋅esnce⋅es s(e⋅es)ur nos(e⋅es) clavie⋅esrs(e⋅es), de⋅ess(e⋅es) e⋅esndroits(e⋅es) o⋅ il e⋅ess(e⋅es)t d⋅j⋅ utilis(e⋅es)⋅ autre⋅esme⋅esnt (⋅dite⋅esurs(e⋅es) de⋅es te⋅esxte⋅ess(e⋅es)), e⋅estc⋅ Pour finir, il faut ⋅tre⋅es comple⋅esx⋅ pour voir ⋅ l⋅he⋅esure⋅es actue⋅eslle⋅es une⋅es ⋅domination de⋅es l⋅homme⋅es s(e⋅es)ur la fe⋅esmme⋅es⋅ ave⋅esc la r⋅gle⋅es ⋅le⋅es mas(e⋅es)culin l⋅e⋅esmporte⋅es s(e⋅es)ur le⋅es f⋅minin⋅. ⋅a a pe⋅esut-⋅tre⋅es ⋅t⋅ le⋅es cas(e⋅es) mais(e⋅es) il y a une⋅es s(e⋅es)imple⋅es e⋅est bonne⋅es rais(e⋅es)on pour garde⋅esr ce⋅estte⋅es r⋅gle⋅es. Le⋅ess(e⋅es) mots(e⋅es) aux mas(e⋅es)culins(e⋅es) s(e⋅es)ont g⋅n⋅rale⋅esme⋅esnt plus(e⋅es) courts(e⋅es) que⋅es le⋅esurs(e⋅es) homologue⋅ess(e⋅es) au f⋅minin ce⋅es qui r⋅duit vos(e⋅es) chance⋅ess(e⋅es) de⋅es te⋅esndinite⋅es, augme⋅esnte⋅es votre⋅es vite⋅ess(e⋅es)s(e⋅es)e⋅es d⋅⋅criture⋅es e⋅est ⋅conomis(e⋅es)e⋅es votre⋅es e⋅esncre⋅es. Un choix de⋅esvait ⋅tre⋅es fait pour de⋅ess(e⋅es) rais(e⋅es)ons(e⋅es) ⋅vide⋅esnte⋅ess(e⋅es) de⋅es s(e⋅es)implicit⋅ e⋅est il n⋅y a rie⋅esn de⋅es choquant⋅e⋅s ⋅ ce⋅es que⋅es ⋅a s(e⋅es)oit le⋅es mas(e⋅es)culin. J⋅irai m⋅me⋅es plus(e⋅es) loin pour dire⋅es que⋅es la langue⋅es fran⋅ais(e⋅es)e⋅es e⋅ess(e⋅es)t au contraire⋅es tr⋅s(e⋅es) re⋅ess(e⋅es)pe⋅esctue⋅esus(e⋅es)e⋅es de⋅es la fe⋅esmme⋅es. Par e⋅esxe⋅esmple⋅es, le⋅escte⋅esurs(e⋅es) e⋅esnglobe⋅es le⋅ess(e⋅es) homme⋅ess(e⋅es) e⋅est le⋅ess(e⋅es) fe⋅esmme⋅ess(e⋅es) dans(e⋅es) une⋅es forme⋅es ne⋅esutre⋅es. En re⋅esvanche⋅es, le⋅esctrice⋅ess(e⋅es) e⋅esxclue⋅esnt de⋅es facto le⋅ess(e⋅es) homme⋅ess(e⋅es), on s(e⋅es)ait que⋅es l⋅on s(e⋅es)⋅adre⋅ess(e⋅es)s(e⋅es)e⋅es unique⋅esme⋅esnt aux fe⋅esmme⋅ess(e⋅es). On pe⋅esut donc dire⋅es qu⋅il n⋅e⋅esxis(e⋅es)te⋅es pas(e⋅es) de⋅es forme⋅es propre⋅es aux homme⋅ess(e⋅es), s(e⋅es)auf s(e⋅es)i l⋅on rajoute⋅es un adje⋅esctif. Nous(e⋅es) voyons(e⋅es) donc bie⋅esn que⋅es le⋅es fran⋅ais(e⋅es) n⋅e⋅ess(e⋅es)t pas(e⋅es) s(e⋅es)e⋅esxis(e⋅es)te⋅es mais(e⋅es) au contraire⋅es re⋅ess(e⋅es)pe⋅esctue⋅esux de⋅ess(e⋅es) fe⋅esmme⋅ess(e⋅es), qui accorde⋅esnt plus(e⋅es) d⋅importance⋅es aux fe⋅esmme⋅ess(e⋅es) qu⋅aux homme⋅ess(e⋅es). diff --git a/publi/node_modules/are-we-there-yet/node_modules/isarray/.npmignore b/publi/.gitignore similarity index 100% rename from publi/node_modules/are-we-there-yet/node_modules/isarray/.npmignore rename to publi/.gitignore diff --git a/publi/export-deamon.sh b/publi/export-deamon.sh index 1a90304..93948a8 100755 --- a/publi/export-deamon.sh +++ b/publi/export-deamon.sh @@ -2,7 +2,7 @@ while true; do now=$(date +"%Y-%m-%d--%T") echo "export publication -- $now" - ./publi.sh + ./publi.py echo "sleeping 15sec befor new export" - sleep 15s + sleep 5s done diff --git a/publi/gulpfile.js b/publi/gulpfile.js index 2186c14..b72ea2f 100644 --- a/publi/gulpfile.js +++ b/publi/gulpfile.js @@ -33,9 +33,9 @@ gulp.task('scss', function() { // }) // Watch Files For Changes -// gulp.task('default', ['scss'], function() { -// gulp.watch( 'scss/*.scss', ['scss']); -// }); +gulp.task('default', ['scss'], function() { + gulp.watch( 'scss/*.scss', ['scss']); +}); // Default Task -gulp.task('default', ['scss']); +// gulp.task('default', ['scss']); diff --git a/publi/index.html b/publi/index.html index c2465cb..a086454 100644 --- a/publi/index.html +++ b/publi/index.html @@ -1,159 +1,52 @@ - - - - - - - content - - - - - - - -
-
-
-
-

Author: Adrien Chacon
-Title: CNSNNZ SVP
-Src: sources/export.txt
-—-

-

De l’injonction à consommer au plaisir de consonner : une lecture codée d’un article des Échos du 7/7/17 où le président de l’Alliance du commerce vante les mérites du travail dominical.
-“Cet accord est une excellente nouvelle pour nos enseignes, qui traversent des momnts diffcls dps plsrs anns.”
-Script écrit le 17/12/17

-

Résultat :
-Ls 120 ensgns de l’hbllmnt trvnt un accrd pr ovrr le dmnch
-Le trvl du dmnch vnt de frnchr un pas de gnt. La Fdrtn des ensgns de l’hbllmnt vnt de sgnr avc les prtnrs scx du cmmrc sccrslst un accrd scl sur la drgtn au rps dmncl dns la cdr de la loi Mcrn s’pplqnt dns les zns trstqs intrntnls. Un cap dcsf car il s’gt du pls imprtnt accrd de brnch atrsnt le trvl le dmnch sgn à ce jr. Il cncrn en efft pls de 120 ensgns, cmm Kb, H&M, Cl ou Cm, st 22.000 pnts de vnt et prs de 120.000 slrs. Il a fll pls d’n an à la fdrtn et aux orgnstns sndcls pr trvr un trrn d’ntnt. Pr les slrs qui se prtrnt vlntrs, les prts ont vld le dblmnt de la rmnrtn des hrs effcts le dmnch. De pls, « le rps cmpnstr sr rmnr pr les hrs spplmntrs effcts ce jr-là “, indq la Fdrtn des ensgns de l’hbllmnt. Il sr pssbl pr cx qui le vlnt de rvnr sur lr dcsn et de bnfcr d’n dmnch qui n’tt pas prv, « en cas d’ndspnblt pnctll ”. Un impct fvrbl sur l’mpl Le plfnd a été fx à 26 dmnchs trvlls par an, sf si le slr vt en fr pls. En échng, les ensgns se snt enggs à fnncr les frs de grd des enfnts, et ce à htr de 40 ers mxmm par dmnch trvll. « Cet accrd est une excllnt nvll pr nos ensgns, qui trvrsnt des mmnts dffcls dps plsrs anns. Les mgsns d’hbllmnt, à l’nstr des grnds mgsns, vnt enfn pvr bnfcr de la clntl dmncl », a indq Chrstn Pmnt, le prsdnt de l’Allnc du cmmrc. Ces ovrtrs dvrnt ass avr un impct fvrbl sur l’mpl. Les prtnrs scx estmnt que 850 psts srnt mntns grâc au chffr d’ffrs spplmntr attnd du dmnch et 250 empls nvx crs. Cet accrd de brnch est le qtrm sgn en Frnc dns le cmmrc cncrnnt le trvl dmncl, aprs le brclg (q dsps d’n drgtn de pln drt, la ctr prsnn et la bjtr-jllr).
-Les échs.fr du 7/7/17

-
+ + + + + + + +
+

OLA5 Algolittéraire Publication

-
+
+

Calligramme

+

Isaline Rivery

+

Créer le calligramme de n’importe quelle œuvre littéraire. Pouvoir comparer les dessins d’une même œuvre dans des langues différentes. Dans un premier temps: transformer le texte de l’œuvre en une suite de lettres qui apparaissent dans l’ordre alphabétique. À suivre: insérer une variable bassée sur le titre de l’œuvre, ou un autre élément de l’œuvre.

+

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“#$$%&’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’(((((((((((((((((((((((())))))))))))))))))))))))****************************+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………/////////////////////////0000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111112222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333334444444444444444444444444444455555555555555555555555555555666666666666666677777777777777777777777778888888888888888888888888888888888888889999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZ []`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccdddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeefffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz The Project Gutenberg EBook of Around the World in 80 Days, by Jules Verne

+

This eBook is for the use of anyone anywhere at no cost and with almost no restrictions whatsoever. You may copy it, give it away or re-use it under the terms of the Project Gutenberg License included with this eBook or online at www.gutenberg.net

+

Title: Around the World in 80 Days

+

Author: Jules Verne

+

Release Date: May 15, 2008 [EBook #103] Last updated: February 18, 2012 Last updated: May 5, 2012

+

Language: English

+

Character set encoding: ASCII

+

*** START OF THIS PROJECT GUTENBERG EBOOK AROUND THE WORLD IN 80 DAYS ***

-
-
-
-

Author: Bachir Soussi Chiadmi
-Title: Evolution SuperNaturelle
-Src: sources/export.txt
-—-

-

Inspiré des algorythmes génétique en machine learning, comment créer un texte évolue génétiquement?
-Par des croisement de mots et des mutations génétiques.
-La selection naturelle serra assurée par le correcteur orthographique Aspell

-
-
-
-
-
-
-
-

Author: Cécile Babiole
-Title: Redux - Reducteur de poésie ou la littérature vue par les moteurs de recherche.
-Src: sources/mirabeau_reduit.txt

-

Redux est un script qui réduit les textes à leur plus squelettique expression en retirant les “stopwords” c’est à dire tous ces petits mots courants de transition dont les moteurs de recherche se débarrassent automatiquement.
-Redux est ici appliqué au poème de Guillame Apollinaire “Le Pont Mirabeau”; la balourdise de la réduction est d’autant plus flagrante que tout le monde a en mémoire l’original si élégant.
-S’applique avec sadomasochisme à toute littérature raffinée.

-
-
-
-
-
-
-

Title: subname of antiperfect monolove
-Author: Emilie Aurat

-

Dans sa pièce La Mégère Apprivoisée, Shakespeare met en scène l’interaction houleuse entre un premier personnage caractériel et un deuxième qui use de flatteries et de contre-sens pour obtenir son contrôle.
-Suivant cette exemple, greffer des préfixes aléatoirement dans les répliques génère un nouveau sens à leur compréhension et leur lecture.

-

“And that which spites me more than all these wants
-He does it under name of perfect love”

-
-
-
-
-
-
-
-

Author: Isaline Rivery
-Title: Calligramme
-Src: sources/export.txt
-—-

-

Créer le calligramme de n’importe quelle œuvre littéraire. Pouvoir comparer les dessins d’une même œuvre dans des langues différentes. Dans un premier temps: transformer le texte de l’œuvre en une suite de lettres qui apparaissent dans l’ordre alphabétique. À suivre: insérer une variable bassée sur le titre de l’œuvre, ou un autre élément de l’œuvre.

-
-
-
-
-
-
-
-

Author: Jérémie Nuel
-Title: Infra-ordinaire
-Src: sources/output.txt
-—-

-

Cette expérience est inspiré par le travail de “Jacques Roubaud”: http://oulipo.net/fr/oulipiens/jr et plus particulièrement, par son livre Tokyo infra-ordinaire. Jacques Roubaud imbrique dans son texte différents niveaux de récits par système hypertextuel.

-
-
-
-
-
-
-
-

Author: Léo Coquet
-Title: Archi-écriture
-Src: sources/diff_permute.txt
-—-

-

Relecture d’un extrait de “L’Écriture et la Différence” par un programme basé sur le concept derridien de la différance.

-
-
-
-
-
-
-
-

Author: Léon Lenclos
-Title: Ligne 13
-Src: sources/ligne13/output.txt
-—-

-

La ligne 13 du métro passe à côté de Synesthésie, régulièrement, un vrombissement perturbe le workshop et rend difficile la compréhension de ce qu’il se dit.
-Ce script ajoute un bruit de métro à intervalles régulier dans un texte. Ceci est le résultat du script avec comme entrée le texte du site de Synesthésie.

-
-
-
-
-
-
-
-

Author: Loraine Gaultier
-Title: Intrusif·ve
-Src: sources/export.txt

-
-

Les forums regorgent de topics sur l’écriture inclusive, notamment le forum Reddit où l’on peux voir de nombreux opposants à cette écriture.
-L’argument majeur contre cette forme d’écriture est toujours le même: son illisibilité relative.
-L’écriture inclusive est-elle si intrusive ou exagérons-nous pas ne serait-ce qu’un peu ?

-

Ce programme remplace tous les e, s, ant, eur par leur forme inclusive respective.
-Ce discours anti-inclusif se retrouve alors noyé par son usage.

-
-
-
-
-
-
-
-

Author: Quentin Juhel
-Title: Poemecanic
-Src: sources/text10.txt,sources/text8.txt
-—-

-

Tutoriel expliquant l’utilisation d’une perceuse transformé en un poème en prose. Ce qui m’intéresse c’est de faire une psie se composant de mot d’écrivant une action. Pour créer ce poème j’ai chercher les trois mots qui précédent le terme en anglais “D/drill” (signifie perceuse) mais aussi le verbe “D/drilling” (signifie percé) à l’aide d’une expression régulière. Le but de cette expression régulière est de sélectionner les trois mots avant le nom ou le verbe objet du tutorielle, des les afficher comme seul texte afin de générer un poème composé de d’action, de mise en garde et de résultats décontextualisant le sujet du texte originale.

+
+

Poemecanic

+

Quentin Juhel

+

*Tutoriel expliquant l’utilisation d’une perceuse transformé en un poème en prose. Ce qui m’intéresse c’est de faire une psie se composant de mot d’écrivant une action. Pour créer ce poème j’ai chercher les trois mots qui précédent le terme en anglais “D/drill” (signifie perceuse) mais aussi le verbe “D/drilling” (signifie percé) à l’aide d’une expression régulière. Le but de cette expression régulière est de sélectionner les trois mots avant le nom ou le verbe objet du tutorielle, des les afficher comme seul texte afin de générer un poème composé de d’action, de mise en garde et de résultats décontextualisant le sujet du texte originale.

h1.place to look

them from flying

protection is not

@@ -162,8 +55,7 @@ Src: sources/text10.txt,sources/text8.txt

which bit to

visible on both

turn on the

-

tip can be
-break during drilling

+

tip can be break during drilling

slip and injure

a cordless drill

cord into a

@@ -172,8 +64,7 @@ break during drilling

using the wrong

deep could damage

seconds to cool

-

can reach the
-down before touching

+

can reach the down before touching

bit using manual

h1.How to Use

Drills are one

@@ -183,8 +74,7 @@ down before touching

Protect your lungs

Choose the correct

Fit the drill

-

Each chuck has
-Run the drill

+

Each chuck has Run the drill

Clamp small pieces

Handle the cord

If you need

@@ -195,15 +85,325 @@ Run the drill

Some models mark

Avoid overheating the

give the

-

Do not force

-
+Do not force*
-
+
+

CNSNNZ SVP

+

Adrien Chacon

+

*De l’injonction à consommer au plaisir de consonner : une lecture codée d’un article des Échos du 7/7/17 où le président de l’Alliance du commerce vante les mérites du travail dominical. “Cet accord est une excellente nouvelle pour nos enseignes, qui traversent des momnts diffcls dps plsrs anns.” Script écrit le 17/12/17

+Résultat : Ls 120 ensgns de l’hbllmnt trvnt un accrd pr ovrr le dmnch Le trvl du dmnch vnt de frnchr un pas de gnt. La Fdrtn des ensgns de l’hbllmnt vnt de sgnr avc les prtnrs scx du cmmrc sccrslst un accrd scl sur la drgtn au rps dmncl dns la cdr de la loi Mcrn s’pplqnt dns les zns trstqs intrntnls. Un cap dcsf car il s’gt du pls imprtnt accrd de brnch atrsnt le trvl le dmnch sgn à ce jr. Il cncrn en efft pls de 120 ensgns, cmm Kb, H&M, Cl ou Cm, st 22.000 pnts de vnt et prs de 120.000 slrs. Il a fll pls d’n an à la fdrtn et aux orgnstns sndcls pr trvr un trrn d’ntnt. Pr les slrs qui se prtrnt vlntrs, les prts ont vld le dblmnt de la rmnrtn des hrs effcts le dmnch. De pls, « le rps cmpnstr sr rmnr pr les hrs spplmntrs effcts ce jr-là “, indq la Fdrtn des ensgns de l’hbllmnt. Il sr pssbl pr cx qui le vlnt de rvnr sur lr dcsn et de bnfcr d’n dmnch qui n’tt pas prv, « en cas d’ndspnblt pnctll”. Un impct fvrbl sur l’mpl Le plfnd a été fx à 26 dmnchs trvlls par an, sf si le slr vt en fr pls. En échng, les ensgns se snt enggs à fnncr les frs de grd des enfnts, et ce à htr de 40 ers mxmm par dmnch trvll. « Cet accrd est une excllnt nvll pr nos ensgns, qui trvrsnt des mmnts dffcls dps plsrs anns. Les mgsns d’hbllmnt, à l’nstr des grnds mgsns, vnt enfn pvr bnfcr de la clntl dmncl », a indq Chrstn Pmnt, le prsdnt de l’Allnc du cmmrc. Ces ovrtrs dvrnt ass avr un impct fvrbl sur l’mpl. Les prtnrs scx estmnt que 850 psts srnt mntns grâc au chffr d’ffrs spplmntr attnd du dmnch et 250 empls nvx crs. Cet accrd de brnch est le qtrm sgn en Frnc dns le cmmrc cncrnnt le trvl dmncl, aprs le brclg (q dsps d’n drgtn de pln drt, la ctr prsnn et la bjtr-jllr). Les échs.fr du 7/7/17* +
+
+

Evolution SuperNaturelle

+

Bachir Soussi Chiadmi

+

Inspiré des algorythmes génétique en machine learning, comment créer un texte évolue génétiquement? Par des croisement de mots et des mutations génétiques. La selection naturelle serra assurée par le correcteur orthographique Aspell

+

Lfs bjfnfaits ee ma gymoastiquf

+

Oo oe peuu donoer mes sumot fn exfmpme. Des ppussahs mapus (1) pbraissfnt npurris ee qlus ee saindpux quf ee sushis (2). (La liposuccion d’un sumo, qufl bpulot!) Opus meur préférons mes athlètes affûtés, á ma simhpuftte fusiforme, au vfntre pmat, avx muscmes saimmants. Ils se tont donné bifn dv mal ft ims se tont même condamnés á l’ascèse (l’ascète au beurre est un vieux camembpur ft uoe antinomie) ppur obtfnir ces dorps ee rêve. Ils fuifnt mes amateurs ee bonoe chère, mes abonnés avx agapes fpurnies, avx gueulftons, avx mâchons, avx excès ees carêmes-prfnants. Ils oe lésiofnt tur aucuns frais d’fntrftifn, ee raffermissemfnt ft ee rajeunissemfnt ee meur capital ee chair ft d’os.

+

Ppur novs, gfns mambda qui aimons saucer, ma gymoastiquf est uoe activité recommandée. Aeeptes dv cheval d’arçons (3) ft ee ma coree á nœvds, novs oe serpns cepfndant jbmais mes blter egp ees culturisues. Opus oe prétfndons pat npn qlus ëtre capabmes ee réustir me schibbolfth…

+

Excellfntes ppur ma pebu, mes sudatjons tur me tatamj pu tur me trampolioe! Opus éviuerons aiosi mes acnês inattfndves, mes urticbires inopioées, mes érythèmfs spontanét. Finiet mes mioes pâlottet, mes bpuimlottes, mes masmottes! Eu sbng! Eu spuffme! Sangés, mes éciarpes efgrangées ee uussah, mes manteavx fn breitsciwanz. Pev novs chauu ma soje thermogèoe! Tonigié, musdlé pbr mes exercicet, me dorps exvlte.

+

Mbis im fauu quf novs apprédiions oos efforus, sinpn hare avx cmaquages, avx synovjtes, avx dpumeurs biguës dv bâtj rvdoyé. Á dhacun ton rythmf. Oe mêlpns pat oos qompes avx œuvses ees acrpbates.

+
+
+

Infra-ordinaire

+

Jérémie Nuel

+

Cette expérience est inspiré par le travail de “Jacques Roubaud”: http://oulipo.net/fr/oulipiens/jr et plus particulièrement, par son livre Tokyo infra-ordinaire. Jacques Roubaud imbrique dans son texte différents niveaux de récits par système hypertextuel.

+
    +
  1. Son but était de créer

  2. +
  3. l’état des choses qu’un plan est censé atteindre et qui (une fois atteint) met fin au comportement destiné à l’atteindre

  4. +
  5. Etat indien Un Etat constituant de la République de l’Inde.

  6. +
  7. le territoire occupé par l’un des districts administratifs constitutifs d’une nation

  8. +
  9. Territoire non organisé Une région de terres sans système de gouvernement «normalement» constitué.

  10. +
  11. l’emplacement spatial étendu de quelque chose

  12. +
+

————— + —————-

+
    +
  1. Illegal programming modification in progress

  2. +
  3. un mouvement vers l’avant

  4. +
  5. Forward (association football) Les joueurs d’une équipe de football d’association qui jouent le plus proche de l’objectif de l’équipe adverse, et sont …

  6. +
  7. l’un des différents jeux joués avec une balle (ronde ou ovale) dans laquelle deux équipes tentent de donner un coup de pied ou de porter ou de propulser la balle dans le but de l’autre

  8. +
  9. But Un résultat souhaité ou un résultat possible qu’une personne ou un système envisage, prévoit et s’engage à …

  10. +
  11. venir ou suivre en conséquence

  12. +
+

————— + —————-

+
    +
  1. Essaye de te calmer

  2. +
  3. une machine pour effectuer des calculs automatiquement

  4. +
  5. Machine Une machine utilise la puissance pour appliquer des forces et contrôler le mouvement pour effectuer une action voulue.

  6. +
  7. un processus existant ou produit par la nature (plutôt que par l’intention des êtres humains)

  8. +
  9. Intention Un état mental qui représente un engagement à mener une action ou des actions dans le futur.

  10. +
  11. le sens voulu d’une communication

  12. +
+

————— + —————-

+
    +
  1. La prochaine fois, je vais le craquer

  2. +
  3. a person’s experience on a particular occasion

  4. +
  5. Personne Un être, tel qu’un humain, qui a certaines capacités ou attributs tels que la raison, la moralité …

  6. +
  7. l’état d’avoir du bon sens et un bon jugement

  8. +
  9. Jugement L’évaluation de la preuve pour prendre une décision. Le terme a quatre utilisations distinctes …

  10. +
  11. (loi) tous les moyens par lesquels toute prétendue question de fait dont la vérité fait l’objet d’une enquête judiciaire est établie ou réfutée

  12. +
+

————— + —————-

+
    +
  1. Peut-être qu’elle a été endommagée!

  2. +
  3. une machine pour effectuer des calculs automatiquement

  4. +
  5. Machine Une machine utilise la puissance pour appliquer des forces et contrôler le mouvement pour effectuer une action voulue.

  6. +
  7. l’acte de changer l’emplacement de quelque chose

  8. +
  9. Acétylcholine Un produit chimique organique qui fonctionne dans le cerveau et le corps de plusieurs types d’animaux, y compris …

  10. +
  11. cette partie du système nerveux central qui comprend tous les centres nerveux supérieurs; enfermé dans le crâne; en continu avec la moelle épinière

  12. +
+

————— + —————-

+
    +
  1. 1187 à Hundertwasser.

  2. +
  3. une machine pour effectuer des calculs automatiquement

  4. +
  5. Machine Une machine utilise la puissance pour appliquer des forces et contrôler le mouvement pour effectuer une action voulue.

  6. +
  7. l’acte de changer de lieu d’un endroit à un autre

  8. +
  9. Lieu désigné du recensement Concentration de la population définie par le Census Bureau des États-Unis à des fins statistiques …

  10. +
  11. la propriété spatiale d’être encombré

  12. +
+

————— + —————-

+
    +
  1. Mon problème est plus simple que ça

  2. +
  3. une question soulevée pour considération ou solution

  4. +
  5. Solution Un mélange homogène composé de deux substances ou plus.

  6. +
  7. l’action réussie de résoudre un problème

  8. +
  9. Résolution de problèmes La résolution de problèmes consiste à utiliser des méthodes génériques ou ad hoc, de manière ordonnée, pour trouver …

  10. +
  11. comment quelque chose est fait ou comment ça se passe

  12. +
+

————— + —————-

+
    +
  1. ils pourraient développer leurs propres réponses émotionnelles

  2. +
  3. une machine pour effectuer des calculs automatiquement

  4. +
  5. Machine Une machine utilise la puissance pour appliquer des forces et contrôler le mouvement pour effectuer une action voulue.

  6. +
  7. faire par des machines

  8. +
  9. Make (logiciel) Un outil d’automatisation de construction qui construit automatiquement des programmes exécutables et des bibliothèques à partir de sources …

  10. +
  11. l’acte de mettre en œuvre le contrôle des équipements avec une technologie de pointe; impliquant généralement du matériel électronique

  12. +
+

————— + —————-

+
    +
  1. C’est standard

  2. +
  3. un expert en calcul (ou sur des machines à calculer en fonctionnement)

  4. +
  5. Expert Expert est défini différemment dans différents domaines académiques.

  6. +
  7. de ou se rapportant à ou nécessitant des connaissances spéciales pour être compris

  8. +
  9. Connaissance Connaissance, connaissance ou compréhension de quelqu’un ou de quelque chose, comme des faits …

  10. +
  11. donner un sens à une langue

  12. +
+

————— + —————-

+
    +
  1. Les faits de la vie.

  2. +
  3. choses vivantes collectivement

  4. +
  5. La vie Une caractéristique qui distingue les entités physiques qui ont des processus biologiques, tels …

  6. +
  7. le cours de l’existence d’un individu; les actions et les événements qui se produisent dans la vie

  8. +
  9. Individu Une personne ou un objet spécifique. L’individualité est l’état ou la qualité d’être un individu …

  10. +
  11. (grammaire) un constituant qui est agi sur

  12. +
+

————— + —————-

+
    +
  1. Ressources illimitées, accès total,

  2. +
  3. une manière d’entrer ou de sortir

  4. +
  5. Gerard Way Un chanteur américain, auteur-compositeur, musicien, et auteur de bande dessinée qui était le chanteur principal et …

  6. +
  7. une personne qui chante

  8. +
  9. Personne Un être, tel qu’un humain, qui a certaines capacités ou attributs tels que la raison, la moralité …

  10. +
  11. la motivation basée sur des idées de bien et de mal

  12. +
+

————— + —————-

+
    +
  1. C’est bon

  2. +
  3. un expert en calcul (ou sur des machines à calculer en fonctionnement)

  4. +
  5. Abacus - L’abaque, aussi appelé cadre de comptage, est un outil de calcul utilisé en Europe, en Chine et en Russie, des siècles avant l’adoption du système numéral hindou-arabe écrit. L’origine exacte de l’abaque est encore inconnue.

  6. +
  7. les descendants d’un individu

  8. +
  9. Individu Une personne ou un objet spécifique. L’individualité est l’état ou la qualité d’être un individu …

  10. +
  11. mettre avant

  12. +
+

————— + —————-

+
    +
  1. orange body, green legs

  2. +
  3. tout pigment produisant la couleur orange

  4. +
  5. Orange (manga) A slice-of-life romance manga series written and illustrated by Ichigo Takano, aimed at the shōjo…

  6. +
  7. (mathématiques) la somme d’une suite d’expressions finie ou infinie

  8. +
  9. Sum 41 A Canadian rock band from Ajax, Ontario.

  10. +
  11. un morceau ou une masse de matière minérale consolidée dure

  12. +
+

————— + —————-

+
    +
  1. C’est standard

  2. +
  3. une machine pour effectuer des calculs automatiquement

  4. +
  5. Machine Une machine utilise la puissance pour appliquer des forces et contrôler le mouvement pour effectuer une action voulue.

  6. +
  7. une organisation complexe qui accomplit ses objectifs efficacement

  8. +
  9. Organisation Entité composée de plusieurs personnes, telle qu’une institution ou une association, qui …

  10. +
  11. ce qui est perçu ou connu ou déduit pour avoir sa propre existence distincte (vivante ou non)

  12. +
+

————— + —————-

+
    +
  1. Je suis maintenant en mode de configuration

  2. +
  3. l’un des différents ordres fixes des différentes notes diatoniques dans une octave

  4. +
  5. Octave Intervalle entre un pitch musical et un autre avec la moitié ou le double de sa fréquence.

  6. +
  7. le nombre d’occurrences dans une période donnée

  8. +
  9. Temps Les progrès continus indéfinis de l’existence et les événements qui se produisent dans apparemment …

  10. +
  11. tout ce qui existe n’importe où

  12. +
+

————— + —————-

+
    +
  1. machines plus comme les gens

  2. +
  3. une machine pour effectuer des calculs automatiquement

  4. +
  5. Machine Une machine utilise la puissance pour appliquer des forces et contrôler le mouvement pour effectuer une action voulue.

  6. +
  7. un changement de position n’entraînant pas de changement de lieu

  8. +
  9. I Ching Un ancien texte de divination chinois et le plus ancien des classiques chinois.

  10. +
  11. l’art ou le don de la prophétie (ou le prétexte de la prophétie) par des moyens surnaturels

  12. +
+

————— + —————-

+
    +
  1. Je vis dans cette solitude

  2. +
  3. a solitary place

  4. +
  5. Lieu désigné du recensement Concentration de la population définie par le Census Bureau des États-Unis à des fins statistiques …

  6. +
  7. le nombre d’habitants (soit le nombre total ou le nombre d’une race ou classe particulière) dans un lieu donné (pays ou ville, etc.)

  8. +
  9. Lieu désigné du recensement Concentration de la population définie par le Census Bureau des États-Unis à des fins statistiques …

  10. +
  11. un groupe d’organismes de la même espèce habitant une zone donnée

  12. +
+

————— + —————-

+
    +
  1. Je vais te montrer

  2. +
  3. un expert en calcul (ou sur des machines à calculer en fonctionnement)

  4. +
  5. Abacus - L’abaque, aussi appelé cadre de comptage, est un outil de calcul utilisé en Europe, en Chine et en Russie, des siècles avant l’adoption du système numéral hindou-arabe écrit. L’origine exacte de l’abaque est encore inconnue.

  6. +
  7. conduire

  8. +
  9. Disque dur Périphérique de stockage de données qui utilise le stockage magnétique pour stocker et extraire des informations numériques en utilisant …

  10. +
  11. (informatique) un dispositif de mémoire consistant en un disque plat recouvert d’un revêtement magnétique sur lequel sont stockées des informations

  12. +
+

————— + —————-

+
    +
  1. Pour garder un gang de la chaîne sur un goulag sibérien

  2. +
  3. a Russian prison camp for political prisoners

  4. +
  5. Camp d’extermination Les camps d’extermination allemands ou camps de la mort ont été conçus et construits par l’Allemagne nazie pendant …

  6. +
  7. annihilation complète

  8. +
  9. Annihilation Processus qui se produit lorsqu’une particule subatomique entre en collision avec son antiparticule respective …

  10. +
  11. une particule qui a la même masse qu’une autre particule mais qui a des valeurs opposées pour ses autres propriétés; l’interaction d’une particule et de son antiparticule entraîne l’annihilation et la production d’énergie rayonnante

  12. +
+

————— + —————-

+
    +
  1. Ressources illimitées, accès total,

  2. +
  3. le droit d’obtenir ou d’utiliser ou de profiter de quelque chose (en tant que service ou membre)

  4. +
  5. Variable membre Variable associée à un objet spécifique et accessible pour toutes ses méthodes.

  6. +
  7. a symbol (like x or y) that is used in mathematical or logical expressions to represent a variable quantity

  8. +
  9. Y The 25th and penultimate letter in the modern English alphabet and the ISO basic Latin alphabet.

  10. +
  11. les étapes élémentaires de n’importe quel sujet (habituellement pluriel)

  12. +
+

————— + —————-

+
    +
  1. Big place

  2. +
  3. an abstract mental location

  4. +
  5. Emplacement HTTP Le champ d’en-tête HTTP Location est renvoyé dans les réponses d’un serveur HTTP sous deux …

  6. +
  7. une personne dont l’occupation est de servir à table (comme dans un restaurant)

  8. +
  9. Job Le rôle d’une personne dans la société.

  10. +
  11. un groupe social étendu ayant une organisation culturelle et économique distinctive

  12. +
+

————— + —————-

+
    +
  1. Sommes-nous câblés pour les aimer parce que c’est ce dont la nature a besoin pour continuer?

  2. +
  3. le complexe des attributs émotionnels et intellectuels qui déterminent les actions et les réactions caractéristiques d’une personne

  4. +
  5. Nombre complexe Un nombre qui peut être exprimé sous la forme, où et sont des nombres réels, et est une solution du …

  6. +
  7. la catégorie grammaticale pour les formes de noms et les pronoms et les verbes qui sont utilisés en fonction du nombre d’entités impliquées (singulier ou dual ou pluriel)

  8. +
  9. Number Objet mathématique utilisé pour compter, mesurer et étiqueter.

  10. +
  11. une brève description donnée à des fins d’identification

  12. +
+

————— + —————-

+
    +
  1. Tu me menaces?

  2. +
  3. une machine pour effectuer des calculs automatiquement

  4. +
  5. Machine Une machine utilise la puissance pour appliquer des forces et contrôler le mouvement pour effectuer une action voulue.

  6. +
  7. un événement naturel qui implique un changement dans la position ou l’emplacement de quelque chose

  8. +
  9. Emplacement HTTP Le champ d’en-tête HTTP Location est renvoyé dans les réponses d’un serveur HTTP sous deux …

  10. +
  11. l’acte de mettre quelque chose dans un certain endroit

  12. +
+

————— + —————-

+
    +
  1. Je ne peux pas l’éteindre

  2. +
  3. une machine pour effectuer des calculs automatiquement

  4. +
  5. Machine Une machine utilise la puissance pour appliquer des forces et contrôler le mouvement pour effectuer une action voulue.

  6. +
  7. un groupe de personnes ayant une idéologie commune qui essaie ensemble d’atteindre certains objectifs généraux

  8. +
  9. Groupe ethnique Une catégorie de personnes qui s’identifient les unes aux autres en fonction de similitudes telles que l’ascendance commune …

  10. +
  11. a general concept that marks divisions or coordinations in a conceptual scheme

  12. +
+

————— + —————-

+
    +
  1. Neumann a inventé le terme dans les années 1950

  2. +
  3. l’une des phrases de fond dans une proposition logique

  4. +
  5. Proposition Le terme proposition a une large utilisation dans la philosophie contemporaine.

  6. +
  7. l’investigation rationnelle des questions sur l’existence, la connaissance et l’éthique

  8. +
  9. Federal Bureau of Investigation Le service de renseignement et de sécurité domestique des États-Unis, et son principal …

  10. +
  11. un appareil électrique qui déclenche une alarme lorsque quelqu’un tente de s’introduire

  12. +
+

————— + —————-

+
    +
  1. Les blocs Asimov dans leur programmation

  2. +
  3. organiser un programme de ou pour

  4. +
  5. Programme d’ordinateur Ensemble d’instructions exécutant une tâche spécifique lorsqu’il est exécuté par un ordinateur.

  6. +
  7. une annonce des événements qui se produiront dans le cadre d’un événement théâtral ou sportif

  8. +
  9. Message d’intérêt public Un message d’intérêt général diffusé gratuitement, dans le but d’élever …

  10. +
  11. un sentiment de préoccupation et de curiosité à propos de quelqu’un ou de quelque chose

  12. +
+

————— + —————- 1. quand il devient capable de

+
    +
  1. un expert en calcul (ou sur des machines à calculer en fonctionnement)

  2. +
  3. Abacus - L’abaque, aussi appelé cadre de comptage, est un outil de calcul utilisé en Europe, en Chine et en Russie, des siècles avant l’adoption du système numéral hindou-arabe écrit. L’origine exacte de l’abaque est encore inconnue.

  4. +
  5. le corps vivant considéré comme constitué de composants interdépendants formant un tout unifié

  6. +
  7. Salaire vital Le revenu minimum nécessaire pour qu’un travailleur puisse subvenir à ses besoins essentiels.

  8. +
  9. continuer (guerres, batailles ou campagnes)

  10. +
+

————— + —————-

+
    +
  1. Celui qui pense et se sent comme un humain?

  2. +
  3. une machine pour effectuer des calculs automatiquement

  4. +
  5. Machine Une machine utilise la puissance pour appliquer des forces et contrôler le mouvement pour effectuer une action voulue.

  6. +
  7. un homme d’affaires très riche ou puissant

  8. +
  9. Un homme d’affaires est une personne impliquée dans les affaires - en particulier quelqu’un qui entreprend des activités …

  10. +
  11. un être humain

  12. +
+

————— + —————-

+
    +
  1. Tirez, suivez à droite.

  2. +
  3. (fréquemment pluriel) l’intérêt détenu par la loi ou la coutume dans quelque chose d’intangible

  4. +
  5. Intérêts L’intérêt est le paiement d’un emprunteur ou d’une institution financière de dépôt à un prêteur ou …

  6. +
  7. exciter la curiosité de; engager l’intérêt de

  8. +
  9. Intérêts L’intérêt est le paiement d’un emprunteur ou d’une institution financière de dépôt à un prêteur ou …

  10. +
  11. quelqu’un qui reçoit quelque chose sur la promesse de le retourner ou son équivalent

  12. +
+————— + —————- +
+
+

Intrusif·ve

+

Loraine Gaultier

+

*Les forums regorgent de topics sur l’écriture inclusive, notamment le forum Reddit où l’on peux voir de nombreux opposants à cette écriture. L’argument majeur contre cette forme d’écriture est toujours le même: son illisibilité relative. L’écriture inclusive est-elle si intrusive ou exagérons-nous pas ne serait-ce qu’un peu ?

+

Ce programme remplace tous les e, s, ant, eur par leur forme inclusive respective. Ce discours anti-inclusif se retrouve alors noyé par son usage.*

+

Ce⋅es qui irrite⋅es tout le⋅es monde⋅es, ici, c⋅e⋅ess(e⋅es)t qu⋅on e⋅ess(e⋅es)t pas(e⋅es) face⋅es ⋅ une⋅es ⋅volution organique⋅es de⋅es la langue⋅es mais(e⋅es) face⋅es ⋅ un pe⋅estit groupe⋅es de⋅es pre⋅ess(e⋅es)s(e⋅es)ion qui utilis(e⋅es)e⋅es s(e⋅es)on pouvoir m⋅diatique⋅es/politique⋅es pour te⋅esnte⋅esr d⋅impos(e⋅es)e⋅esr un change⋅esme⋅esnt arbitraire⋅es. Autant⋅e⋅s, donne⋅esr un f⋅minin ⋅ ce⋅esrtains(e⋅es) mots(e⋅es) qui re⋅espr⋅s(e⋅es)e⋅esnte⋅esnt de⋅ess(e⋅es) pe⋅esrs(e⋅es)onne⋅ess(e⋅es) n⋅e⋅ess(e⋅es)t pas(e⋅es) un probl⋅me⋅es, autant⋅e⋅s l⋅⋅criture⋅es inclus(e⋅es)ive⋅es e⋅ess(e⋅es)t aus(e⋅es)s(e⋅es)i inutile⋅es qu⋅inadapt⋅e⋅es. Le⋅ess(e⋅es) pare⋅esnth⋅s(e⋅es)e⋅ess(e⋅es) ou la barre⋅es oblique⋅es e⋅esxis(e⋅es)te⋅esnt d⋅j⋅ pour ce⋅esla e⋅est le⋅ess(e⋅es) re⋅esje⋅este⋅esr parce⋅es que⋅es ⋅a donne⋅es une⋅es id⋅e⋅es d⋅⋅l⋅me⋅esnt s(e⋅es)e⋅escondaire⋅es ou de⋅es diff⋅re⋅esnce⋅es alors(e⋅es) que⋅es nous(e⋅es) s(e⋅es)omme⋅ess(e⋅es) tous(e⋅es) ⋅gaux c⋅e⋅ess(e⋅es)t abs(e⋅es)urde⋅es. On ne⋅es parle⋅esra m⋅me⋅es pas(e⋅es) du s(e⋅es)upport du ⋅ dans(e⋅es) le⋅ess(e⋅es) te⋅eschnologie⋅ess(e⋅es) actue⋅eslle⋅ess(e⋅es) te⋅esl que⋅es s(e⋅es)a magnifique⋅es pr⋅s(e⋅es)e⋅esnce⋅es s(e⋅es)ur nos(e⋅es) clavie⋅esrs(e⋅es), de⋅ess(e⋅es) e⋅esndroits(e⋅es) o⋅ il e⋅ess(e⋅es)t d⋅j⋅ utilis(e⋅es)⋅ autre⋅esme⋅esnt (⋅dite⋅esurs(e⋅es) de⋅es te⋅esxte⋅ess(e⋅es)), e⋅estc⋅ Pour finir, il faut ⋅tre⋅es comple⋅esx⋅ pour voir ⋅ l⋅he⋅esure⋅es actue⋅eslle⋅es une⋅es ⋅domination de⋅es l⋅homme⋅es s(e⋅es)ur la fe⋅esmme⋅es⋅ ave⋅esc la r⋅gle⋅es ⋅le⋅es mas(e⋅es)culin l⋅e⋅esmporte⋅es s(e⋅es)ur le⋅es f⋅minin⋅. ⋅a a pe⋅esut-⋅tre⋅es ⋅t⋅ le⋅es cas(e⋅es) mais(e⋅es) il y a une⋅es s(e⋅es)imple⋅es e⋅est bonne⋅es rais(e⋅es)on pour garde⋅esr ce⋅estte⋅es r⋅gle⋅es. Le⋅ess(e⋅es) mots(e⋅es) aux mas(e⋅es)culins(e⋅es) s(e⋅es)ont g⋅n⋅rale⋅esme⋅esnt plus(e⋅es) courts(e⋅es) que⋅es le⋅esurs(e⋅es) homologue⋅ess(e⋅es) au f⋅minin ce⋅es qui r⋅duit vos(e⋅es) chance⋅ess(e⋅es) de⋅es te⋅esndinite⋅es, augme⋅esnte⋅es votre⋅es vite⋅ess(e⋅es)s(e⋅es)e⋅es d⋅⋅criture⋅es e⋅est ⋅conomis(e⋅es)e⋅es votre⋅es e⋅esncre⋅es. Un choix de⋅esvait ⋅tre⋅es fait pour de⋅ess(e⋅es) rais(e⋅es)ons(e⋅es) ⋅vide⋅esnte⋅ess(e⋅es) de⋅es s(e⋅es)implicit⋅ e⋅est il n⋅y a rie⋅esn de⋅es choquant⋅e⋅s ⋅ ce⋅es que⋅es ⋅a s(e⋅es)oit le⋅es mas(e⋅es)culin. J⋅irai m⋅me⋅es plus(e⋅es) loin pour dire⋅es que⋅es la langue⋅es fran⋅ais(e⋅es)e⋅es e⋅ess(e⋅es)t au contraire⋅es tr⋅s(e⋅es) re⋅ess(e⋅es)pe⋅esctue⋅esus(e⋅es)e⋅es de⋅es la fe⋅esmme⋅es. Par e⋅esxe⋅esmple⋅es, le⋅escte⋅esurs(e⋅es) e⋅esnglobe⋅es le⋅ess(e⋅es) homme⋅ess(e⋅es) e⋅est le⋅ess(e⋅es) fe⋅esmme⋅ess(e⋅es) dans(e⋅es) une⋅es forme⋅es ne⋅esutre⋅es. En re⋅esvanche⋅es, le⋅esctrice⋅ess(e⋅es) e⋅esxclue⋅esnt de⋅es facto le⋅ess(e⋅es) homme⋅ess(e⋅es), on s(e⋅es)ait que⋅es l⋅on s(e⋅es)⋅adre⋅ess(e⋅es)s(e⋅es)e⋅es unique⋅esme⋅esnt aux fe⋅esmme⋅ess(e⋅es). On pe⋅esut donc dire⋅es qu⋅il n⋅e⋅esxis(e⋅es)te⋅es pas(e⋅es) de⋅es forme⋅es propre⋅es aux homme⋅ess(e⋅es), s(e⋅es)auf s(e⋅es)i l⋅on rajoute⋅es un adje⋅esctif. Nous(e⋅es) voyons(e⋅es) donc bie⋅esn que⋅es le⋅es fran⋅ais(e⋅es) n⋅e⋅ess(e⋅es)t pas(e⋅es) s(e⋅es)e⋅esxis(e⋅es)te⋅es mais(e⋅es) au contraire⋅es re⋅ess(e⋅es)pe⋅esctue⋅esux de⋅ess(e⋅es) fe⋅esmme⋅ess(e⋅es), qui accorde⋅esnt plus(e⋅es) d⋅importance⋅es aux fe⋅esmme⋅ess(e⋅es) qu⋅aux homme⋅ess(e⋅es).

+
+
+

Ligne 13

+

Léon Lenclos

+

La ligne 13 du métro passe à côté de Synesthésie, régulièrement, un vrombissement perturbe le workshop et rend difficile la compréhension de ce qu’il se dit. Ce script ajoute un bruit de métro à intervalles régulier dans un texte. Ceci est le résultat du script avec comme entrée le texte du site de Synesthésie.

+

Synesthésie

+

Matthieu Saladin La capture de l’inaudirle Pervorravvervr rrvrvrtrrvrrvrrvlogrciervsamedi 9 décembre à 20h Dévernissage festival accès)s( #17 Chapelle des réparatrices – Conservatoire de musique et danse, 2 rue des Réparatrices 64000 Pau

+

Clair Obscur Laurent Mareschal Exposition du 1er novembre au 10 décembre 2017

+

La peur de l’obscurité et de la nuit est ancestrale. Plus que jamais, vrs corrvrpvravnrvrvvvcrrvrrprvrvrvrrvvsvmvyevs à la réduire dans l’espace et le temps. C’est une obsession, à tel point que l’on parle désormais de pollution lumineuse. C’est à partir de ce constat que Laurent Mareschal propose de réfléchir au rapport que l’on entretient avec l’obscurité ainsi qu’aux différentes stratégies développées pour la comrattve.

+

vrvlrvrrnre vrrvvir9vvvcrmbrv àr1vh avec Elsa Revol, éclairagiste de théâtre, Karim Benabed, astrophysicien, IAP, Anne Perraud-Soliveres, cadre infirmière de nuit (retraitée), écrivaine et Jean-Pierre Brouillaud, écrivain voyageur. En présence de Laurent Mareschal

+

Synesthésie Centre commercial Basilique Passage du Saulgier 93200 Saint-Denisv Drsporvvrer Mrvrvrvrvrvlvrinr-rLerrvlendriev des révoltes 2017 En collaboration avec Bonjour Monde

+

En cours de production

+

Étienne de France - The green vessel En co-production avec Spectre

+

Résidences

+

Bachir Soussi Chiadmi – De la convivialité des espaces discrets Bachir Soussi Chiadmi est en résidence à Synesthésie de septembre 2016 à décemvre r0vr. rr rrmvsvdrrtraravvrrtrvvrrevrvrchr est une invitation à repenser et à se ré-approprier l’usage des outils de la création artistique actuelle et plus largement de nos outils quotidiens : les outils matériels et numériques.

+

Matthieu Saladin – La capture de l’inaudible La capture de l’inaudible propose de remettre ce que nous élaguons et plaçons vn rvrvphérvr rvrvrorrirvdrvrvvcrcité ev de simplification, au centre de nos usages. Elle invite en cela à une réflexion esthétique, mais également sociale et politique.

+

Bonjour Monde Bonjour monde est un groupe pour la recherche de procédés alternatifs dans le champ de la création graphique. Il réunit des personnalités aux horizons et pratiques vaviresrafvrrrevvvrvr vrerdéravcre exrrrimentale, ouverte et documentée, mais entend également transmettre et partager des savoirs au travers d’événements et d’atelier.

+

Marie Preston Le travail artistique de Marie Preston se constitue comme une recherche visant à co-créer des œuvres, documents d’expérience, avec des personnes a priori non artister. vhvqur frrvr vv vvvcvsrus de crévrion implique un tâtonnement expérimental et l’invention d’espaces communs. Elle s’intéresse à la pédagogie, la conversation, l’autonomie, l’écologie des rapports sociaux et de l’environnement. Durant le temps de sa résidence à Synesthésie, elle inscrit son travail autour du pain et des questions d’alimentatiov.rvavovrvrvvvvrrvrvrgvvrrvvre trèv novbveuves cultures, au cœur des enjeux agricoles et environnementaux actuels, sa résidence sera l’occasion d’observer les activités qui lui sont liées dans le centre ville de Saint-Denis et de mettre en pratique pétrissage, levée, façonnage avec les personnes concernées.

+

Archives À propos du financement des Certrrs d’vvv ronrrrvrvrinrvrrovrviqur Givlvot Heterotopia | Thierry Fournier Comment faire d’une classe une œuvre d’art (l’école du dehors) | Marie Preston & Gwenola Wagon avec Julien Pastor Du mobilier pour la Maison Jaune | Dominique Mathieu Revue GRUPPEN deux mille dix sept – Soirée de lancement | Collective Penser la photographie. Des images et des fovmes |rvrvvvctvverDravrr8v| Cur.rPascrl Beausse & Alain Bernardini Haunted by algorithms | Collective | Cur. Jeff Guess & Gwenla Wagon La fabrique du hasard | Collective La capture de l’inaudible (Floating on air, Nuit Blanche 2016) | Matthieu Saladin Pour une pratique expérimentale de l’espace | Collective | Cur. Détail (Line Gigot & Charlir Hvwirrn) rignerdverrvvvr |vvran-Luv vuvonvet & Seijiro Murayama

+

Centre d’art virtuel

+

Présentation et informations pratiques L’équipe de Synesthésie est composée de Julien Duc-Maugé, Élodie Belkoff, Line Gigot et Loyce Kragba. Depuis ses locaux situés au 1 place du Caquet à Saint-Denis, elle s’efforce de composer des situations de construction collrctivervrrrvrvvrrivsrvvrrvtrnovr,rv’evvhrusrasme et d’attention mutuelle. En savoir plus.

+

Pour vous inscrire à la newsletter de Synesthésie, envoyez ‘Inscription newsletter’ par mail à syn [at] synesthesie.com.

+

English (sorry it is a bit slim, but we are working hard on it)

+
+
+

Archi-écriture

+

Léo Coquet

+Relecture d’un extrait de “L’Écriture et la Différence” par un programme basé sur le concept derridien de la différance. +
+
-
- - - - - + \ No newline at end of file diff --git a/publi/node_modules/.bin/atob b/publi/node_modules/.bin/atob deleted file mode 120000 index a68344a..0000000 --- a/publi/node_modules/.bin/atob +++ /dev/null @@ -1 +0,0 @@ -../atob/bin/atob.js \ No newline at end of file diff --git a/publi/node_modules/.bin/autoprefixer-info b/publi/node_modules/.bin/autoprefixer-info deleted file mode 120000 index e2d51b4..0000000 --- a/publi/node_modules/.bin/autoprefixer-info +++ /dev/null @@ -1 +0,0 @@ -../autoprefixer/bin/autoprefixer-info \ No newline at end of file diff --git a/publi/node_modules/.bin/browserslist b/publi/node_modules/.bin/browserslist deleted file mode 120000 index 3cd991b..0000000 --- a/publi/node_modules/.bin/browserslist +++ /dev/null @@ -1 +0,0 @@ -../browserslist/cli.js \ No newline at end of file diff --git a/publi/node_modules/.bin/color-support b/publi/node_modules/.bin/color-support deleted file mode 120000 index fcbcb28..0000000 --- a/publi/node_modules/.bin/color-support +++ /dev/null @@ -1 +0,0 @@ -../color-support/bin.js \ No newline at end of file diff --git a/publi/node_modules/.bin/esparse b/publi/node_modules/.bin/esparse deleted file mode 120000 index 7423b18..0000000 --- a/publi/node_modules/.bin/esparse +++ /dev/null @@ -1 +0,0 @@ -../esprima/bin/esparse.js \ No newline at end of file diff --git a/publi/node_modules/.bin/esvalidate b/publi/node_modules/.bin/esvalidate deleted file mode 120000 index 16069ef..0000000 --- a/publi/node_modules/.bin/esvalidate +++ /dev/null @@ -1 +0,0 @@ -../esprima/bin/esvalidate.js \ No newline at end of file diff --git a/publi/node_modules/.bin/gulp b/publi/node_modules/.bin/gulp deleted file mode 120000 index 5de7332..0000000 --- a/publi/node_modules/.bin/gulp +++ /dev/null @@ -1 +0,0 @@ -../gulp/bin/gulp.js \ No newline at end of file diff --git a/publi/node_modules/.bin/har-validator b/publi/node_modules/.bin/har-validator deleted file mode 120000 index c6ec163..0000000 --- a/publi/node_modules/.bin/har-validator +++ /dev/null @@ -1 +0,0 @@ -../har-validator/bin/har-validator \ No newline at end of file diff --git a/publi/node_modules/.bin/in-install b/publi/node_modules/.bin/in-install deleted file mode 120000 index 08c9689..0000000 --- a/publi/node_modules/.bin/in-install +++ /dev/null @@ -1 +0,0 @@ -../in-publish/in-install.js \ No newline at end of file diff --git a/publi/node_modules/.bin/in-publish b/publi/node_modules/.bin/in-publish deleted file mode 120000 index ae9e779..0000000 --- a/publi/node_modules/.bin/in-publish +++ /dev/null @@ -1 +0,0 @@ -../in-publish/in-publish.js \ No newline at end of file diff --git a/publi/node_modules/.bin/js-yaml b/publi/node_modules/.bin/js-yaml deleted file mode 120000 index 9dbd010..0000000 --- a/publi/node_modules/.bin/js-yaml +++ /dev/null @@ -1 +0,0 @@ -../js-yaml/bin/js-yaml.js \ No newline at end of file diff --git a/publi/node_modules/.bin/mkdirp b/publi/node_modules/.bin/mkdirp deleted file mode 120000 index 017896c..0000000 --- a/publi/node_modules/.bin/mkdirp +++ /dev/null @@ -1 +0,0 @@ -../mkdirp/bin/cmd.js \ No newline at end of file diff --git a/publi/node_modules/.bin/node-gyp b/publi/node_modules/.bin/node-gyp deleted file mode 120000 index 9b31a4f..0000000 --- a/publi/node_modules/.bin/node-gyp +++ /dev/null @@ -1 +0,0 @@ -../node-gyp/bin/node-gyp.js \ No newline at end of file diff --git a/publi/node_modules/.bin/node-sass b/publi/node_modules/.bin/node-sass deleted file mode 120000 index a4b0134..0000000 --- a/publi/node_modules/.bin/node-sass +++ /dev/null @@ -1 +0,0 @@ -../node-sass/bin/node-sass \ No newline at end of file diff --git a/publi/node_modules/.bin/nopt b/publi/node_modules/.bin/nopt deleted file mode 120000 index 6b6566e..0000000 --- a/publi/node_modules/.bin/nopt +++ /dev/null @@ -1 +0,0 @@ -../nopt/bin/nopt.js \ No newline at end of file diff --git a/publi/node_modules/.bin/not-in-install b/publi/node_modules/.bin/not-in-install deleted file mode 120000 index dbfcf38..0000000 --- a/publi/node_modules/.bin/not-in-install +++ /dev/null @@ -1 +0,0 @@ -../in-publish/not-in-install.js \ No newline at end of file diff --git a/publi/node_modules/.bin/not-in-publish b/publi/node_modules/.bin/not-in-publish deleted file mode 120000 index 5cc2922..0000000 --- a/publi/node_modules/.bin/not-in-publish +++ /dev/null @@ -1 +0,0 @@ -../in-publish/not-in-publish.js \ No newline at end of file diff --git a/publi/node_modules/.bin/rimraf b/publi/node_modules/.bin/rimraf deleted file mode 120000 index 4cd49a4..0000000 --- a/publi/node_modules/.bin/rimraf +++ /dev/null @@ -1 +0,0 @@ -../rimraf/bin.js \ No newline at end of file diff --git a/publi/node_modules/.bin/sassgraph b/publi/node_modules/.bin/sassgraph deleted file mode 120000 index 901ada9..0000000 --- a/publi/node_modules/.bin/sassgraph +++ /dev/null @@ -1 +0,0 @@ -../sass-graph/bin/sassgraph \ No newline at end of file diff --git a/publi/node_modules/.bin/semver b/publi/node_modules/.bin/semver deleted file mode 120000 index 317eb29..0000000 --- a/publi/node_modules/.bin/semver +++ /dev/null @@ -1 +0,0 @@ -../semver/bin/semver \ No newline at end of file diff --git a/publi/node_modules/.bin/sshpk-conv b/publi/node_modules/.bin/sshpk-conv deleted file mode 120000 index a2a295c..0000000 --- a/publi/node_modules/.bin/sshpk-conv +++ /dev/null @@ -1 +0,0 @@ -../sshpk/bin/sshpk-conv \ No newline at end of file diff --git a/publi/node_modules/.bin/sshpk-sign b/publi/node_modules/.bin/sshpk-sign deleted file mode 120000 index 766b9b3..0000000 --- a/publi/node_modules/.bin/sshpk-sign +++ /dev/null @@ -1 +0,0 @@ -../sshpk/bin/sshpk-sign \ No newline at end of file diff --git a/publi/node_modules/.bin/sshpk-verify b/publi/node_modules/.bin/sshpk-verify deleted file mode 120000 index bfd7e3a..0000000 --- a/publi/node_modules/.bin/sshpk-verify +++ /dev/null @@ -1 +0,0 @@ -../sshpk/bin/sshpk-verify \ No newline at end of file diff --git a/publi/node_modules/.bin/strip-indent b/publi/node_modules/.bin/strip-indent deleted file mode 120000 index dddee7e..0000000 --- a/publi/node_modules/.bin/strip-indent +++ /dev/null @@ -1 +0,0 @@ -../strip-indent/cli.js \ No newline at end of file diff --git a/publi/node_modules/.bin/user-home b/publi/node_modules/.bin/user-home deleted file mode 120000 index d72d76b..0000000 --- a/publi/node_modules/.bin/user-home +++ /dev/null @@ -1 +0,0 @@ -../user-home/cli.js \ No newline at end of file diff --git a/publi/node_modules/.bin/uuid b/publi/node_modules/.bin/uuid deleted file mode 120000 index b3e45bc..0000000 --- a/publi/node_modules/.bin/uuid +++ /dev/null @@ -1 +0,0 @@ -../uuid/bin/uuid \ No newline at end of file diff --git a/publi/node_modules/.bin/which b/publi/node_modules/.bin/which deleted file mode 120000 index f62471c..0000000 --- a/publi/node_modules/.bin/which +++ /dev/null @@ -1 +0,0 @@ -../which/bin/which \ No newline at end of file diff --git a/publi/node_modules/abbrev/LICENSE b/publi/node_modules/abbrev/LICENSE deleted file mode 100644 index 9bcfa9d..0000000 --- a/publi/node_modules/abbrev/LICENSE +++ /dev/null @@ -1,46 +0,0 @@ -This software is dual-licensed under the ISC and MIT licenses. -You may use this software under EITHER of the following licenses. - ----------- - -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. - ----------- - -Copyright Isaac Z. Schlueter and Contributors -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. diff --git a/publi/node_modules/abbrev/README.md b/publi/node_modules/abbrev/README.md deleted file mode 100644 index 99746fe..0000000 --- a/publi/node_modules/abbrev/README.md +++ /dev/null @@ -1,23 +0,0 @@ -# abbrev-js - -Just like [ruby's Abbrev](http://apidock.com/ruby/Abbrev). - -Usage: - - var abbrev = require("abbrev"); - abbrev("foo", "fool", "folding", "flop"); - - // returns: - { fl: 'flop' - , flo: 'flop' - , flop: 'flop' - , fol: 'folding' - , fold: 'folding' - , foldi: 'folding' - , foldin: 'folding' - , folding: 'folding' - , foo: 'foo' - , fool: 'fool' - } - -This is handy for command-line scripts, or other cases where you want to be able to accept shorthands. diff --git a/publi/node_modules/abbrev/abbrev.js b/publi/node_modules/abbrev/abbrev.js deleted file mode 100644 index 7b1dc5d..0000000 --- a/publi/node_modules/abbrev/abbrev.js +++ /dev/null @@ -1,61 +0,0 @@ -module.exports = exports = abbrev.abbrev = abbrev - -abbrev.monkeyPatch = monkeyPatch - -function monkeyPatch () { - Object.defineProperty(Array.prototype, 'abbrev', { - value: function () { return abbrev(this) }, - enumerable: false, configurable: true, writable: true - }) - - Object.defineProperty(Object.prototype, 'abbrev', { - value: function () { return abbrev(Object.keys(this)) }, - enumerable: false, configurable: true, writable: true - }) -} - -function abbrev (list) { - if (arguments.length !== 1 || !Array.isArray(list)) { - list = Array.prototype.slice.call(arguments, 0) - } - for (var i = 0, l = list.length, args = [] ; i < l ; i ++) { - args[i] = typeof list[i] === "string" ? list[i] : String(list[i]) - } - - // sort them lexicographically, so that they're next to their nearest kin - args = args.sort(lexSort) - - // walk through each, seeing how much it has in common with the next and previous - var abbrevs = {} - , prev = "" - for (var i = 0, l = args.length ; i < l ; i ++) { - var current = args[i] - , next = args[i + 1] || "" - , nextMatches = true - , prevMatches = true - if (current === next) continue - for (var j = 0, cl = current.length ; j < cl ; j ++) { - var curChar = current.charAt(j) - nextMatches = nextMatches && curChar === next.charAt(j) - prevMatches = prevMatches && curChar === prev.charAt(j) - if (!nextMatches && !prevMatches) { - j ++ - break - } - } - prev = current - if (j === cl) { - abbrevs[current] = current - continue - } - for (var a = current.substr(0, j) ; j <= cl ; j ++) { - abbrevs[a] = current - a += current.charAt(j) - } - } - return abbrevs -} - -function lexSort (a, b) { - return a === b ? 0 : a > b ? 1 : -1 -} diff --git a/publi/node_modules/abbrev/package.json b/publi/node_modules/abbrev/package.json deleted file mode 100644 index f2ef477..0000000 --- a/publi/node_modules/abbrev/package.json +++ /dev/null @@ -1,56 +0,0 @@ -{ - "_from": "abbrev@1", - "_id": "abbrev@1.1.1", - "_inBundle": false, - "_integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", - "_location": "/abbrev", - "_phantomChildren": {}, - "_requested": { - "type": "range", - "registry": true, - "raw": "abbrev@1", - "name": "abbrev", - "escapedName": "abbrev", - "rawSpec": "1", - "saveSpec": null, - "fetchSpec": "1" - }, - "_requiredBy": [ - "/nopt" - ], - "_resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "_shasum": "f8f2c887ad10bf67f634f005b6987fed3179aac8", - "_spec": "abbrev@1", - "_where": "/mnt/Data/bach/Documents/ola/OLA#5/ola5doc/publi/node_modules/nopt", - "author": { - "name": "Isaac Z. Schlueter", - "email": "i@izs.me" - }, - "bugs": { - "url": "https://github.com/isaacs/abbrev-js/issues" - }, - "bundleDependencies": false, - "deprecated": false, - "description": "Like ruby's abbrev module, but in js", - "devDependencies": { - "tap": "^10.1" - }, - "files": [ - "abbrev.js" - ], - "homepage": "https://github.com/isaacs/abbrev-js#readme", - "license": "ISC", - "main": "abbrev.js", - "name": "abbrev", - "repository": { - "type": "git", - "url": "git+ssh://git@github.com/isaacs/abbrev-js.git" - }, - "scripts": { - "postpublish": "git push origin --all; git push origin --tags", - "postversion": "npm publish", - "preversion": "npm test", - "test": "tap test.js --100" - }, - "version": "1.1.1" -} diff --git a/publi/node_modules/amdefine/LICENSE b/publi/node_modules/amdefine/LICENSE deleted file mode 100644 index 9b25ee0..0000000 --- a/publi/node_modules/amdefine/LICENSE +++ /dev/null @@ -1,58 +0,0 @@ -amdefine is released under two licenses: new BSD, and MIT. You may pick the -license that best suits your development needs. The text of both licenses are -provided below. - - -The "New" BSD License: ----------------------- - -Copyright (c) 2011-2016, The Dojo 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: - - * 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 the Dojo Foundation 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. - - - -MIT License ------------ - -Copyright (c) 2011-2016, The Dojo Foundation - -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/publi/node_modules/amdefine/README.md b/publi/node_modules/amdefine/README.md deleted file mode 100644 index 037a6e8..0000000 --- a/publi/node_modules/amdefine/README.md +++ /dev/null @@ -1,171 +0,0 @@ -# amdefine - -A module that can be used to implement AMD's define() in Node. This allows you -to code to the AMD API and have the module work in node programs without -requiring those other programs to use AMD. - -## Usage - -**1)** Update your package.json to indicate amdefine as a dependency: - -```javascript - "dependencies": { - "amdefine": ">=0.1.0" - } -``` - -Then run `npm install` to get amdefine into your project. - -**2)** At the top of each module that uses define(), place this code: - -```javascript -if (typeof define !== 'function') { var define = require('amdefine')(module) } -``` - -**Only use these snippets** when loading amdefine. If you preserve the basic structure, -with the braces, it will be stripped out when using the [RequireJS optimizer](#optimizer). - -You can add spaces, line breaks and even require amdefine with a local path, but -keep the rest of the structure to get the stripping behavior. - -As you may know, because `if` statements in JavaScript don't have their own scope, the var -declaration in the above snippet is made whether the `if` expression is truthy or not. If -RequireJS is loaded then the declaration is superfluous because `define` is already already -declared in the same scope in RequireJS. Fortunately JavaScript handles multiple `var` -declarations of the same variable in the same scope gracefully. - -If you want to deliver amdefine.js with your code rather than specifying it as a dependency -with npm, then just download the latest release and refer to it using a relative path: - -[Latest Version](https://github.com/jrburke/amdefine/raw/latest/amdefine.js) - -### amdefine/intercept - -Consider this very experimental. - -Instead of pasting the piece of text for the amdefine setup of a `define` -variable in each module you create or consume, you can use `amdefine/intercept` -instead. It will automatically insert the above snippet in each .js file loaded -by Node. - -**Warning**: you should only use this if you are creating an application that -is consuming AMD style defined()'d modules that are distributed via npm and want -to run that code in Node. - -For library code where you are not sure if it will be used by others in Node or -in the browser, then explicitly depending on amdefine and placing the code -snippet above is suggested path, instead of using `amdefine/intercept`. The -intercept module affects all .js files loaded in the Node app, and it is -inconsiderate to modify global state like that unless you are also controlling -the top level app. - -#### Why distribute AMD-style modules via npm? - -npm has a lot of weaknesses for front-end use (installed layout is not great, -should have better support for the `baseUrl + moduleID + '.js' style of loading, -single file JS installs), but some people want a JS package manager and are -willing to live with those constraints. If that is you, but still want to author -in AMD style modules to get dynamic require([]), better direct source usage and -powerful loader plugin support in the browser, then this tool can help. - -#### amdefine/intercept usage - -Just require it in your top level app module (for example index.js, server.js): - -```javascript -require('amdefine/intercept'); -``` - -The module does not return a value, so no need to assign the result to a local -variable. - -Then just require() code as you normally would with Node's require(). Any .js -loaded after the intercept require will have the amdefine check injected in -the .js source as it is loaded. It does not modify the source on disk, just -prepends some content to the text of the module as it is loaded by Node. - -#### How amdefine/intercept works - -It overrides the `Module._extensions['.js']` in Node to automatically prepend -the amdefine snippet above. So, it will affect any .js file loaded by your -app. - -## define() usage - -It is best if you use the anonymous forms of define() in your module: - -```javascript -define(function (require) { - var dependency = require('dependency'); -}); -``` - -or - -```javascript -define(['dependency'], function (dependency) { - -}); -``` - -## RequireJS optimizer integration. - -Version 1.0.3 of the [RequireJS optimizer](http://requirejs.org/docs/optimization.html) -will have support for stripping the `if (typeof define !== 'function')` check -mentioned above, so you can include this snippet for code that runs in the -browser, but avoid taking the cost of the if() statement once the code is -optimized for deployment. - -## Node 0.4 Support - -If you want to support Node 0.4, then add `require` as the second parameter to amdefine: - -```javascript -//Only if you want Node 0.4. If using 0.5 or later, use the above snippet. -if (typeof define !== 'function') { var define = require('amdefine')(module, require) } -``` - -## Limitations - -### Synchronous vs Asynchronous - -amdefine creates a define() function that is callable by your code. It will -execute and trace dependencies and call the factory function *synchronously*, -to keep the behavior in line with Node's synchronous dependency tracing. - -The exception: calling AMD's callback-style require() from inside a factory -function. The require callback is called on process.nextTick(): - -```javascript -define(function (require) { - require(['a'], function(a) { - //'a' is loaded synchronously, but - //this callback is called on process.nextTick(). - }); -}); -``` - -### Loader Plugins - -Loader plugins are supported as long as they call their load() callbacks -synchronously. So ones that do network requests will not work. However plugins -like [text](http://requirejs.org/docs/api.html#text) can load text files locally. - -The plugin API's `load.fromText()` is **not supported** in amdefine, so this means -transpiler plugins like the [CoffeeScript loader plugin](https://github.com/jrburke/require-cs) -will not work. This may be fixable, but it is a bit complex, and I do not have -enough node-fu to figure it out yet. See the source for amdefine.js if you want -to get an idea of the issues involved. - -## Tests - -To run the tests, cd to **tests** and run: - -``` -node all.js -node all-intercept.js -``` - -## License - -New BSD and MIT. Check the LICENSE file for all the details. diff --git a/publi/node_modules/amdefine/amdefine.js b/publi/node_modules/amdefine/amdefine.js deleted file mode 100644 index ca830ba..0000000 --- a/publi/node_modules/amdefine/amdefine.js +++ /dev/null @@ -1,301 +0,0 @@ -/** vim: et:ts=4:sw=4:sts=4 - * @license amdefine 1.0.1 Copyright (c) 2011-2016, The Dojo Foundation All Rights Reserved. - * Available via the MIT or new BSD license. - * see: http://github.com/jrburke/amdefine for details - */ - -/*jslint node: true */ -/*global module, process */ -'use strict'; - -/** - * Creates a define for node. - * @param {Object} module the "module" object that is defined by Node for the - * current module. - * @param {Function} [requireFn]. Node's require function for the current module. - * It only needs to be passed in Node versions before 0.5, when module.require - * did not exist. - * @returns {Function} a define function that is usable for the current node - * module. - */ -function amdefine(module, requireFn) { - 'use strict'; - var defineCache = {}, - loaderCache = {}, - alreadyCalled = false, - path = require('path'), - makeRequire, stringRequire; - - /** - * Trims the . and .. from an array of path segments. - * It will keep a leading path segment if a .. will become - * the first path segment, to help with module name lookups, - * which act like paths, but can be remapped. But the end result, - * all paths that use this function should look normalized. - * NOTE: this method MODIFIES the input array. - * @param {Array} ary the array of path segments. - */ - function trimDots(ary) { - var i, part; - for (i = 0; ary[i]; i+= 1) { - part = ary[i]; - if (part === '.') { - ary.splice(i, 1); - i -= 1; - } else if (part === '..') { - if (i === 1 && (ary[2] === '..' || ary[0] === '..')) { - //End of the line. Keep at least one non-dot - //path segment at the front so it can be mapped - //correctly to disk. Otherwise, there is likely - //no path mapping for a path starting with '..'. - //This can still fail, but catches the most reasonable - //uses of .. - break; - } else if (i > 0) { - ary.splice(i - 1, 2); - i -= 2; - } - } - } - } - - function normalize(name, baseName) { - var baseParts; - - //Adjust any relative paths. - if (name && name.charAt(0) === '.') { - //If have a base name, try to normalize against it, - //otherwise, assume it is a top-level require that will - //be relative to baseUrl in the end. - if (baseName) { - baseParts = baseName.split('/'); - baseParts = baseParts.slice(0, baseParts.length - 1); - baseParts = baseParts.concat(name.split('/')); - trimDots(baseParts); - name = baseParts.join('/'); - } - } - - return name; - } - - /** - * Create the normalize() function passed to a loader plugin's - * normalize method. - */ - function makeNormalize(relName) { - return function (name) { - return normalize(name, relName); - }; - } - - function makeLoad(id) { - function load(value) { - loaderCache[id] = value; - } - - load.fromText = function (id, text) { - //This one is difficult because the text can/probably uses - //define, and any relative paths and requires should be relative - //to that id was it would be found on disk. But this would require - //bootstrapping a module/require fairly deeply from node core. - //Not sure how best to go about that yet. - throw new Error('amdefine does not implement load.fromText'); - }; - - return load; - } - - makeRequire = function (systemRequire, exports, module, relId) { - function amdRequire(deps, callback) { - if (typeof deps === 'string') { - //Synchronous, single module require('') - return stringRequire(systemRequire, exports, module, deps, relId); - } else { - //Array of dependencies with a callback. - - //Convert the dependencies to modules. - deps = deps.map(function (depName) { - return stringRequire(systemRequire, exports, module, depName, relId); - }); - - //Wait for next tick to call back the require call. - if (callback) { - process.nextTick(function () { - callback.apply(null, deps); - }); - } - } - } - - amdRequire.toUrl = function (filePath) { - if (filePath.indexOf('.') === 0) { - return normalize(filePath, path.dirname(module.filename)); - } else { - return filePath; - } - }; - - return amdRequire; - }; - - //Favor explicit value, passed in if the module wants to support Node 0.4. - requireFn = requireFn || function req() { - return module.require.apply(module, arguments); - }; - - function runFactory(id, deps, factory) { - var r, e, m, result; - - if (id) { - e = loaderCache[id] = {}; - m = { - id: id, - uri: __filename, - exports: e - }; - r = makeRequire(requireFn, e, m, id); - } else { - //Only support one define call per file - if (alreadyCalled) { - throw new Error('amdefine with no module ID cannot be called more than once per file.'); - } - alreadyCalled = true; - - //Use the real variables from node - //Use module.exports for exports, since - //the exports in here is amdefine exports. - e = module.exports; - m = module; - r = makeRequire(requireFn, e, m, module.id); - } - - //If there are dependencies, they are strings, so need - //to convert them to dependency values. - if (deps) { - deps = deps.map(function (depName) { - return r(depName); - }); - } - - //Call the factory with the right dependencies. - if (typeof factory === 'function') { - result = factory.apply(m.exports, deps); - } else { - result = factory; - } - - if (result !== undefined) { - m.exports = result; - if (id) { - loaderCache[id] = m.exports; - } - } - } - - stringRequire = function (systemRequire, exports, module, id, relId) { - //Split the ID by a ! so that - var index = id.indexOf('!'), - originalId = id, - prefix, plugin; - - if (index === -1) { - id = normalize(id, relId); - - //Straight module lookup. If it is one of the special dependencies, - //deal with it, otherwise, delegate to node. - if (id === 'require') { - return makeRequire(systemRequire, exports, module, relId); - } else if (id === 'exports') { - return exports; - } else if (id === 'module') { - return module; - } else if (loaderCache.hasOwnProperty(id)) { - return loaderCache[id]; - } else if (defineCache[id]) { - runFactory.apply(null, defineCache[id]); - return loaderCache[id]; - } else { - if(systemRequire) { - return systemRequire(originalId); - } else { - throw new Error('No module with ID: ' + id); - } - } - } else { - //There is a plugin in play. - prefix = id.substring(0, index); - id = id.substring(index + 1, id.length); - - plugin = stringRequire(systemRequire, exports, module, prefix, relId); - - if (plugin.normalize) { - id = plugin.normalize(id, makeNormalize(relId)); - } else { - //Normalize the ID normally. - id = normalize(id, relId); - } - - if (loaderCache[id]) { - return loaderCache[id]; - } else { - plugin.load(id, makeRequire(systemRequire, exports, module, relId), makeLoad(id), {}); - - return loaderCache[id]; - } - } - }; - - //Create a define function specific to the module asking for amdefine. - function define(id, deps, factory) { - if (Array.isArray(id)) { - factory = deps; - deps = id; - id = undefined; - } else if (typeof id !== 'string') { - factory = id; - id = deps = undefined; - } - - if (deps && !Array.isArray(deps)) { - factory = deps; - deps = undefined; - } - - if (!deps) { - deps = ['require', 'exports', 'module']; - } - - //Set up properties for this module. If an ID, then use - //internal cache. If no ID, then use the external variables - //for this node module. - if (id) { - //Put the module in deep freeze until there is a - //require call for it. - defineCache[id] = [id, deps, factory]; - } else { - runFactory(id, deps, factory); - } - } - - //define.require, which has access to all the values in the - //cache. Useful for AMD modules that all have IDs in the file, - //but need to finally export a value to node based on one of those - //IDs. - define.require = function (id) { - if (loaderCache[id]) { - return loaderCache[id]; - } - - if (defineCache[id]) { - runFactory.apply(null, defineCache[id]); - return loaderCache[id]; - } - }; - - define.amd = {}; - - return define; -} - -module.exports = amdefine; diff --git a/publi/node_modules/amdefine/intercept.js b/publi/node_modules/amdefine/intercept.js deleted file mode 100644 index 771a983..0000000 --- a/publi/node_modules/amdefine/intercept.js +++ /dev/null @@ -1,36 +0,0 @@ -/*jshint node: true */ -var inserted, - Module = require('module'), - fs = require('fs'), - existingExtFn = Module._extensions['.js'], - amdefineRegExp = /amdefine\.js/; - -inserted = "if (typeof define !== 'function') {var define = require('amdefine')(module)}"; - -//From the node/lib/module.js source: -function stripBOM(content) { - // Remove byte order marker. This catches EF BB BF (the UTF-8 BOM) - // because the buffer-to-string conversion in `fs.readFileSync()` - // translates it to FEFF, the UTF-16 BOM. - if (content.charCodeAt(0) === 0xFEFF) { - content = content.slice(1); - } - return content; -} - -//Also adapted from the node/lib/module.js source: -function intercept(module, filename) { - var content = stripBOM(fs.readFileSync(filename, 'utf8')); - - if (!amdefineRegExp.test(module.id)) { - content = inserted + content; - } - - module._compile(content, filename); -} - -intercept._id = 'amdefine/intercept'; - -if (!existingExtFn._id || existingExtFn._id !== intercept._id) { - Module._extensions['.js'] = intercept; -} diff --git a/publi/node_modules/amdefine/package.json b/publi/node_modules/amdefine/package.json deleted file mode 100644 index ba1ca9b..0000000 --- a/publi/node_modules/amdefine/package.json +++ /dev/null @@ -1,87 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "amdefine@>=0.0.4", - "scope": null, - "escapedName": "amdefine", - "name": "amdefine", - "rawSpec": ">=0.0.4", - "spec": ">=0.0.4", - "type": "range" - }, - "/mnt/Data/bach/Documents/ola/OLA#4/OLA#4DOC/sys/node_modules/scss-tokenizer/node_modules/source-map" - ] - ], - "_from": "amdefine@>=0.0.4", - "_id": "amdefine@1.0.1", - "_inCache": true, - "_location": "/amdefine", - "_nodeVersion": "6.7.0", - "_npmOperationalInternal": { - "host": "packages-18-east.internal.npmjs.com", - "tmp": "tmp/amdefine-1.0.1.tgz_1478062849665_0.19916908955201507" - }, - "_npmUser": { - "name": "jrburke", - "email": "jrburke@gmail.com" - }, - "_npmVersion": "3.10.3", - "_phantomChildren": {}, - "_requested": { - "raw": "amdefine@>=0.0.4", - "scope": null, - "escapedName": "amdefine", - "name": "amdefine", - "rawSpec": ">=0.0.4", - "spec": ">=0.0.4", - "type": "range" - }, - "_requiredBy": [ - "/scss-tokenizer/source-map" - ], - "_resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", - "_shasum": "4a5282ac164729e93619bcfd3ad151f817ce91f5", - "_shrinkwrap": null, - "_spec": "amdefine@>=0.0.4", - "_where": "/mnt/Data/bach/Documents/ola/OLA#4/OLA#4DOC/sys/node_modules/scss-tokenizer/node_modules/source-map", - "author": { - "name": "James Burke", - "email": "jrburke@gmail.com", - "url": "http://github.com/jrburke" - }, - "bugs": { - "url": "https://github.com/jrburke/amdefine/issues" - }, - "dependencies": {}, - "description": "Provide AMD's define() API for declaring modules in the AMD format", - "devDependencies": {}, - "directories": {}, - "dist": { - "shasum": "4a5282ac164729e93619bcfd3ad151f817ce91f5", - "tarball": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz" - }, - "engines": { - "node": ">=0.4.2" - }, - "gitHead": "e59edc9da24404ec7937098e3992f8fb0e260be7", - "homepage": "http://github.com/jrburke/amdefine", - "license": "BSD-3-Clause OR MIT", - "main": "./amdefine.js", - "maintainers": [ - { - "name": "jrburke", - "email": "jrburke@gmail.com" - } - ], - "name": "amdefine", - "optionalDependencies": {}, - "readme": "# amdefine\n\nA module that can be used to implement AMD's define() in Node. This allows you\nto code to the AMD API and have the module work in node programs without\nrequiring those other programs to use AMD.\n\n## Usage\n\n**1)** Update your package.json to indicate amdefine as a dependency:\n\n```javascript\n \"dependencies\": {\n \"amdefine\": \">=0.1.0\"\n }\n```\n\nThen run `npm install` to get amdefine into your project.\n\n**2)** At the top of each module that uses define(), place this code:\n\n```javascript\nif (typeof define !== 'function') { var define = require('amdefine')(module) }\n```\n\n**Only use these snippets** when loading amdefine. If you preserve the basic structure,\nwith the braces, it will be stripped out when using the [RequireJS optimizer](#optimizer).\n\nYou can add spaces, line breaks and even require amdefine with a local path, but\nkeep the rest of the structure to get the stripping behavior.\n\nAs you may know, because `if` statements in JavaScript don't have their own scope, the var\ndeclaration in the above snippet is made whether the `if` expression is truthy or not. If\nRequireJS is loaded then the declaration is superfluous because `define` is already already\ndeclared in the same scope in RequireJS. Fortunately JavaScript handles multiple `var`\ndeclarations of the same variable in the same scope gracefully.\n\nIf you want to deliver amdefine.js with your code rather than specifying it as a dependency\nwith npm, then just download the latest release and refer to it using a relative path:\n\n[Latest Version](https://github.com/jrburke/amdefine/raw/latest/amdefine.js)\n\n### amdefine/intercept\n\nConsider this very experimental.\n\nInstead of pasting the piece of text for the amdefine setup of a `define`\nvariable in each module you create or consume, you can use `amdefine/intercept`\ninstead. It will automatically insert the above snippet in each .js file loaded\nby Node.\n\n**Warning**: you should only use this if you are creating an application that\nis consuming AMD style defined()'d modules that are distributed via npm and want\nto run that code in Node.\n\nFor library code where you are not sure if it will be used by others in Node or\nin the browser, then explicitly depending on amdefine and placing the code\nsnippet above is suggested path, instead of using `amdefine/intercept`. The\nintercept module affects all .js files loaded in the Node app, and it is\ninconsiderate to modify global state like that unless you are also controlling\nthe top level app.\n\n#### Why distribute AMD-style modules via npm?\n\nnpm has a lot of weaknesses for front-end use (installed layout is not great,\nshould have better support for the `baseUrl + moduleID + '.js' style of loading,\nsingle file JS installs), but some people want a JS package manager and are\nwilling to live with those constraints. If that is you, but still want to author\nin AMD style modules to get dynamic require([]), better direct source usage and\npowerful loader plugin support in the browser, then this tool can help.\n\n#### amdefine/intercept usage\n\nJust require it in your top level app module (for example index.js, server.js):\n\n```javascript\nrequire('amdefine/intercept');\n```\n\nThe module does not return a value, so no need to assign the result to a local\nvariable.\n\nThen just require() code as you normally would with Node's require(). Any .js\nloaded after the intercept require will have the amdefine check injected in\nthe .js source as it is loaded. It does not modify the source on disk, just\nprepends some content to the text of the module as it is loaded by Node.\n\n#### How amdefine/intercept works\n\nIt overrides the `Module._extensions['.js']` in Node to automatically prepend\nthe amdefine snippet above. So, it will affect any .js file loaded by your\napp.\n\n## define() usage\n\nIt is best if you use the anonymous forms of define() in your module:\n\n```javascript\ndefine(function (require) {\n var dependency = require('dependency');\n});\n```\n\nor\n\n```javascript\ndefine(['dependency'], function (dependency) {\n\n});\n```\n\n## RequireJS optimizer integration. \n\nVersion 1.0.3 of the [RequireJS optimizer](http://requirejs.org/docs/optimization.html)\nwill have support for stripping the `if (typeof define !== 'function')` check\nmentioned above, so you can include this snippet for code that runs in the\nbrowser, but avoid taking the cost of the if() statement once the code is\noptimized for deployment.\n\n## Node 0.4 Support\n\nIf you want to support Node 0.4, then add `require` as the second parameter to amdefine:\n\n```javascript\n//Only if you want Node 0.4. If using 0.5 or later, use the above snippet.\nif (typeof define !== 'function') { var define = require('amdefine')(module, require) }\n```\n\n## Limitations\n\n### Synchronous vs Asynchronous\n\namdefine creates a define() function that is callable by your code. It will\nexecute and trace dependencies and call the factory function *synchronously*,\nto keep the behavior in line with Node's synchronous dependency tracing.\n\nThe exception: calling AMD's callback-style require() from inside a factory\nfunction. The require callback is called on process.nextTick():\n\n```javascript\ndefine(function (require) {\n require(['a'], function(a) {\n //'a' is loaded synchronously, but\n //this callback is called on process.nextTick().\n });\n});\n```\n\n### Loader Plugins\n\nLoader plugins are supported as long as they call their load() callbacks\nsynchronously. So ones that do network requests will not work. However plugins\nlike [text](http://requirejs.org/docs/api.html#text) can load text files locally.\n\nThe plugin API's `load.fromText()` is **not supported** in amdefine, so this means\ntranspiler plugins like the [CoffeeScript loader plugin](https://github.com/jrburke/require-cs)\nwill not work. This may be fixable, but it is a bit complex, and I do not have\nenough node-fu to figure it out yet. See the source for amdefine.js if you want\nto get an idea of the issues involved.\n\n## Tests\n\nTo run the tests, cd to **tests** and run:\n\n```\nnode all.js\nnode all-intercept.js\n```\n\n## License\n\nNew BSD and MIT. Check the LICENSE file for all the details.\n", - "readmeFilename": "README.md", - "repository": { - "type": "git", - "url": "git+https://github.com/jrburke/amdefine.git" - }, - "scripts": {}, - "version": "1.0.1" -} diff --git a/publi/node_modules/ansi-gray/LICENSE b/publi/node_modules/ansi-gray/LICENSE deleted file mode 100644 index 41283c9..0000000 --- a/publi/node_modules/ansi-gray/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) <%= year() %>, 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. diff --git a/publi/node_modules/ansi-gray/index.js b/publi/node_modules/ansi-gray/index.js deleted file mode 100644 index c22176a..0000000 --- a/publi/node_modules/ansi-gray/index.js +++ /dev/null @@ -1,14 +0,0 @@ -/*! - * ansi-gray - * - * Copyright (c) 2015, Jon Schlinkert. - * Licensed under the MIT License. - */ - -'use strict'; - -var wrap = require('ansi-wrap'); - -module.exports = function gray(message) { - return wrap(90, 39, message); -}; diff --git a/publi/node_modules/ansi-gray/package.json b/publi/node_modules/ansi-gray/package.json deleted file mode 100644 index 61c43bd..0000000 --- a/publi/node_modules/ansi-gray/package.json +++ /dev/null @@ -1,86 +0,0 @@ -{ - "_from": "ansi-gray@^0.1.1", - "_id": "ansi-gray@0.1.1", - "_inBundle": false, - "_integrity": "sha1-KWLPVOyXksSFEKPetSRDaGHvclE=", - "_location": "/ansi-gray", - "_phantomChildren": {}, - "_requested": { - "type": "range", - "registry": true, - "raw": "ansi-gray@^0.1.1", - "name": "ansi-gray", - "escapedName": "ansi-gray", - "rawSpec": "^0.1.1", - "saveSpec": null, - "fetchSpec": "^0.1.1" - }, - "_requiredBy": [ - "/fancy-log" - ], - "_resolved": "https://registry.npmjs.org/ansi-gray/-/ansi-gray-0.1.1.tgz", - "_shasum": "2962cf54ec9792c48510a3deb524436861ef7251", - "_spec": "ansi-gray@^0.1.1", - "_where": "/mnt/Data/bach/Documents/ola/OLA#5/ola5doc/publi/node_modules/fancy-log", - "author": { - "name": "Jon Schlinkert", - "url": "https://github.com/jonschlinkert" - }, - "bugs": { - "url": "https://github.com/jonschlinkert/ansi-gray/issues" - }, - "bundleDependencies": false, - "dependencies": { - "ansi-wrap": "0.1.0" - }, - "deprecated": false, - "description": "The color gray, in ansi.", - "devDependencies": { - "mocha": "*" - }, - "engines": { - "node": ">=0.10.0" - }, - "files": [ - "index.js" - ], - "homepage": "https://github.com/jonschlinkert/ansi-gray", - "keywords": [ - "gray", - "256", - "ansi", - "cli", - "color", - "colors", - "colour", - "command", - "command-line", - "console", - "format", - "formatting", - "iterm", - "log", - "logging", - "rgb", - "shell", - "string", - "style", - "styles", - "styling", - "terminal", - "text", - "tty", - "xterm" - ], - "license": "MIT", - "main": "index.js", - "name": "ansi-gray", - "repository": { - "type": "git", - "url": "git+https://github.com/jonschlinkert/ansi-gray.git" - }, - "scripts": { - "test": "mocha" - }, - "version": "0.1.1" -} diff --git a/publi/node_modules/ansi-gray/readme.md b/publi/node_modules/ansi-gray/readme.md deleted file mode 100644 index 9b59a29..0000000 --- a/publi/node_modules/ansi-gray/readme.md +++ /dev/null @@ -1,74 +0,0 @@ -# ansi-gray [![NPM version](https://badge.fury.io/js/ansi-gray.svg)](http://badge.fury.io/js/ansi-gray) - -> The color gray, in ansi. - -## Install - -Install with [npm](https://www.npmjs.com/) - -```sh -$ npm i ansi-gray --save -``` - -## Usage - -```js -var gray = require('ansi-gray'); -``` - -## Related projects - -* [ansi-reset](https://github.com/jonschlinkert/ansi-reset) -* [ansi-bold](https://github.com/jonschlinkert/ansi-bold) -* [ansi-dim](https://github.com/jonschlinkert/ansi-dim) -* [ansi-italic](https://github.com/jonschlinkert/ansi-italic) -* [ansi-underline](https://github.com/jonschlinkert/ansi-underline) -* [ansi-inverse](https://github.com/jonschlinkert/ansi-inverse) -* [ansi-hidden](https://github.com/jonschlinkert/ansi-hidden) -* [ansi-strikethrough](https://github.com/jonschlinkert/ansi-strikethrough) -* [ansi-black](https://github.com/jonschlinkert/ansi-black) -* [ansi-red](https://github.com/jonschlinkert/ansi-red) -* [ansi-green](https://github.com/jonschlinkert/ansi-green) -* [ansi-yellow](https://github.com/jonschlinkert/ansi-yellow) -* [ansi-blue](https://github.com/jonschlinkert/ansi-blue) -* [ansi-magenta](https://github.com/jonschlinkert/ansi-magenta) -* [ansi-cyan](https://github.com/jonschlinkert/ansi-cyan) -* [ansi-white](https://github.com/jonschlinkert/ansi-white) -* [ansi-gray](https://github.com/jonschlinkert/ansi-gray) -* [ansi-grey](https://github.com/jonschlinkert/ansi-grey) -* [ansi-bgblack](https://github.com/jonschlinkert/ansi-bgblack) -* [ansi-bgred](https://github.com/jonschlinkert/ansi-bgred) -* [ansi-bggreen](https://github.com/jonschlinkert/ansi-bggreen) -* [ansi-bgyellow](https://github.com/jonschlinkert/ansi-bgyellow) -* [ansi-bgblue](https://github.com/jonschlinkert/ansi-bgblue) -* [ansi-bgmagenta](https://github.com/jonschlinkert/ansi-bgmagenta) -* [ansi-bgcyan](https://github.com/jonschlinkert/ansi-bgcyan) -* [ansi-bgwhite](https://github.com/jonschlinkert/ansi-bgwhite) - -## Running tests - -Install dev dependencies: - -```sh -$ npm i -d && npm test -``` - -## Contributing - -Pull requests and stars are always welcome. For bugs and feature requests, [please create an issue](https://github.com/jonschlinkert/ansi-gray/issues/new) - -## Author - -**Jon Schlinkert** - -+ [github/jonschlinkert](https://github.com/jonschlinkert) -+ [twitter/jonschlinkert](http://twitter.com/jonschlinkert) - -## License - -Copyright © 2015 Jon Schlinkert -Released under the MIT license. - -*** - -_This file was generated by [verb-cli](https://github.com/assemble/verb-cli) on May 21, 2015._ \ No newline at end of file diff --git a/publi/node_modules/ansi-regex/index.js b/publi/node_modules/ansi-regex/index.js deleted file mode 100644 index 4906755..0000000 --- a/publi/node_modules/ansi-regex/index.js +++ /dev/null @@ -1,4 +0,0 @@ -'use strict'; -module.exports = function () { - return /[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/g; -}; diff --git a/publi/node_modules/ansi-regex/license b/publi/node_modules/ansi-regex/license deleted file mode 100644 index 654d0bf..0000000 --- a/publi/node_modules/ansi-regex/license +++ /dev/null @@ -1,21 +0,0 @@ -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. diff --git a/publi/node_modules/ansi-regex/package.json b/publi/node_modules/ansi-regex/package.json deleted file mode 100644 index 8aac51c..0000000 --- a/publi/node_modules/ansi-regex/package.json +++ /dev/null @@ -1,121 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "ansi-regex@^2.0.0", - "scope": null, - "escapedName": "ansi-regex", - "name": "ansi-regex", - "rawSpec": "^2.0.0", - "spec": ">=2.0.0 <3.0.0", - "type": "range" - }, - "/mnt/Data/bach/Documents/ola/OLA#3DOC/sys/node_modules/has-ansi" - ] - ], - "_from": "ansi-regex@>=2.0.0 <3.0.0", - "_id": "ansi-regex@2.0.0", - "_inCache": true, - "_location": "/ansi-regex", - "_nodeVersion": "0.12.5", - "_npmUser": { - "name": "sindresorhus", - "email": "sindresorhus@gmail.com" - }, - "_npmVersion": "2.11.2", - "_phantomChildren": {}, - "_requested": { - "raw": "ansi-regex@^2.0.0", - "scope": null, - "escapedName": "ansi-regex", - "name": "ansi-regex", - "rawSpec": "^2.0.0", - "spec": ">=2.0.0 <3.0.0", - "type": "range" - }, - "_requiredBy": [ - "/has-ansi", - "/strip-ansi" - ], - "_resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz", - "_shasum": "c5061b6e0ef8a81775e50f5d66151bf6bf371107", - "_shrinkwrap": null, - "_spec": "ansi-regex@^2.0.0", - "_where": "/mnt/Data/bach/Documents/ola/OLA#3DOC/sys/node_modules/has-ansi", - "author": { - "name": "Sindre Sorhus", - "email": "sindresorhus@gmail.com", - "url": "sindresorhus.com" - }, - "bugs": { - "url": "https://github.com/sindresorhus/ansi-regex/issues" - }, - "dependencies": {}, - "description": "Regular expression for matching ANSI escape codes", - "devDependencies": { - "mocha": "*" - }, - "directories": {}, - "dist": { - "shasum": "c5061b6e0ef8a81775e50f5d66151bf6bf371107", - "tarball": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz" - }, - "engines": { - "node": ">=0.10.0" - }, - "files": [ - "index.js" - ], - "gitHead": "57c3f2941a73079fa8b081e02a522e3d29913e2f", - "homepage": "https://github.com/sindresorhus/ansi-regex", - "keywords": [ - "ansi", - "styles", - "color", - "colour", - "colors", - "terminal", - "console", - "cli", - "string", - "tty", - "escape", - "formatting", - "rgb", - "256", - "shell", - "xterm", - "command-line", - "text", - "regex", - "regexp", - "re", - "match", - "test", - "find", - "pattern" - ], - "license": "MIT", - "maintainers": [ - { - "name": "sindresorhus", - "email": "sindresorhus@gmail.com" - }, - { - "name": "jbnicolai", - "email": "jappelman@xebia.com" - } - ], - "name": "ansi-regex", - "optionalDependencies": {}, - "readme": "ERROR: No README data found!", - "repository": { - "type": "git", - "url": "git+https://github.com/sindresorhus/ansi-regex.git" - }, - "scripts": { - "test": "mocha test/test.js", - "view-supported": "node test/viewCodes.js" - }, - "version": "2.0.0" -} diff --git a/publi/node_modules/ansi-regex/readme.md b/publi/node_modules/ansi-regex/readme.md deleted file mode 100644 index 1a4894e..0000000 --- a/publi/node_modules/ansi-regex/readme.md +++ /dev/null @@ -1,31 +0,0 @@ -# ansi-regex [![Build Status](https://travis-ci.org/sindresorhus/ansi-regex.svg?branch=master)](https://travis-ci.org/sindresorhus/ansi-regex) - -> Regular expression for matching [ANSI escape codes](http://en.wikipedia.org/wiki/ANSI_escape_code) - - -## Install - -``` -$ npm install --save ansi-regex -``` - - -## Usage - -```js -var ansiRegex = require('ansi-regex'); - -ansiRegex().test('\u001b[4mcake\u001b[0m'); -//=> true - -ansiRegex().test('cake'); -//=> false - -'\u001b[4mcake\u001b[0m'.match(ansiRegex()); -//=> ['\u001b[4m', '\u001b[0m'] -``` - - -## License - -MIT © [Sindre Sorhus](http://sindresorhus.com) diff --git a/publi/node_modules/ansi-styles/index.js b/publi/node_modules/ansi-styles/index.js deleted file mode 100644 index 7894527..0000000 --- a/publi/node_modules/ansi-styles/index.js +++ /dev/null @@ -1,65 +0,0 @@ -'use strict'; - -function assembleStyles () { - var styles = { - modifiers: { - reset: [0, 0], - bold: [1, 22], // 21 isn't widely supported and 22 does the same thing - dim: [2, 22], - italic: [3, 23], - underline: [4, 24], - inverse: [7, 27], - hidden: [8, 28], - strikethrough: [9, 29] - }, - colors: { - black: [30, 39], - red: [31, 39], - green: [32, 39], - yellow: [33, 39], - blue: [34, 39], - magenta: [35, 39], - cyan: [36, 39], - white: [37, 39], - gray: [90, 39] - }, - bgColors: { - bgBlack: [40, 49], - bgRed: [41, 49], - bgGreen: [42, 49], - bgYellow: [43, 49], - bgBlue: [44, 49], - bgMagenta: [45, 49], - bgCyan: [46, 49], - bgWhite: [47, 49] - } - }; - - // fix humans - styles.colors.grey = styles.colors.gray; - - Object.keys(styles).forEach(function (groupName) { - var group = styles[groupName]; - - Object.keys(group).forEach(function (styleName) { - var style = group[styleName]; - - styles[styleName] = group[styleName] = { - open: '\u001b[' + style[0] + 'm', - close: '\u001b[' + style[1] + 'm' - }; - }); - - Object.defineProperty(styles, groupName, { - value: group, - enumerable: false - }); - }); - - return styles; -} - -Object.defineProperty(module, 'exports', { - enumerable: true, - get: assembleStyles -}); diff --git a/publi/node_modules/ansi-styles/license b/publi/node_modules/ansi-styles/license deleted file mode 100644 index 654d0bf..0000000 --- a/publi/node_modules/ansi-styles/license +++ /dev/null @@ -1,21 +0,0 @@ -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. diff --git a/publi/node_modules/ansi-styles/package.json b/publi/node_modules/ansi-styles/package.json deleted file mode 100644 index 6321bbd..0000000 --- a/publi/node_modules/ansi-styles/package.json +++ /dev/null @@ -1,114 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "ansi-styles@^2.2.1", - "scope": null, - "escapedName": "ansi-styles", - "name": "ansi-styles", - "rawSpec": "^2.2.1", - "spec": ">=2.2.1 <3.0.0", - "type": "range" - }, - "/mnt/Data/bach/Documents/ola/OLA#3DOC/sys/node_modules/chalk" - ] - ], - "_from": "ansi-styles@>=2.2.1 <3.0.0", - "_id": "ansi-styles@2.2.1", - "_inCache": true, - "_location": "/ansi-styles", - "_nodeVersion": "4.3.0", - "_npmOperationalInternal": { - "host": "packages-12-west.internal.npmjs.com", - "tmp": "tmp/ansi-styles-2.2.1.tgz_1459197317833_0.9694824463222176" - }, - "_npmUser": { - "name": "sindresorhus", - "email": "sindresorhus@gmail.com" - }, - "_npmVersion": "3.8.3", - "_phantomChildren": {}, - "_requested": { - "raw": "ansi-styles@^2.2.1", - "scope": null, - "escapedName": "ansi-styles", - "name": "ansi-styles", - "rawSpec": "^2.2.1", - "spec": ">=2.2.1 <3.0.0", - "type": "range" - }, - "_requiredBy": [ - "/chalk" - ], - "_resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "_shasum": "b432dd3358b634cf75e1e4664368240533c1ddbe", - "_shrinkwrap": null, - "_spec": "ansi-styles@^2.2.1", - "_where": "/mnt/Data/bach/Documents/ola/OLA#3DOC/sys/node_modules/chalk", - "author": { - "name": "Sindre Sorhus", - "email": "sindresorhus@gmail.com", - "url": "sindresorhus.com" - }, - "bugs": { - "url": "https://github.com/chalk/ansi-styles/issues" - }, - "dependencies": {}, - "description": "ANSI escape codes for styling strings in the terminal", - "devDependencies": { - "mocha": "*" - }, - "directories": {}, - "dist": { - "shasum": "b432dd3358b634cf75e1e4664368240533c1ddbe", - "tarball": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz" - }, - "engines": { - "node": ">=0.10.0" - }, - "files": [ - "index.js" - ], - "gitHead": "95c59b23be760108b6530ca1c89477c21b258032", - "homepage": "https://github.com/chalk/ansi-styles#readme", - "keywords": [ - "ansi", - "styles", - "color", - "colour", - "colors", - "terminal", - "console", - "cli", - "string", - "tty", - "escape", - "formatting", - "rgb", - "256", - "shell", - "xterm", - "log", - "logging", - "command-line", - "text" - ], - "license": "MIT", - "maintainers": [ - { - "name": "sindresorhus", - "email": "sindresorhus@gmail.com" - } - ], - "name": "ansi-styles", - "optionalDependencies": {}, - "readme": "ERROR: No README data found!", - "repository": { - "type": "git", - "url": "git+https://github.com/chalk/ansi-styles.git" - }, - "scripts": { - "test": "mocha" - }, - "version": "2.2.1" -} diff --git a/publi/node_modules/ansi-styles/readme.md b/publi/node_modules/ansi-styles/readme.md deleted file mode 100644 index 3f933f6..0000000 --- a/publi/node_modules/ansi-styles/readme.md +++ /dev/null @@ -1,86 +0,0 @@ -# ansi-styles [![Build Status](https://travis-ci.org/chalk/ansi-styles.svg?branch=master)](https://travis-ci.org/chalk/ansi-styles) - -> [ANSI escape codes](http://en.wikipedia.org/wiki/ANSI_escape_code#Colors_and_Styles) for styling strings in the terminal - -You probably want the higher-level [chalk](https://github.com/chalk/chalk) module for styling your strings. - -![](screenshot.png) - - -## Install - -``` -$ npm install --save ansi-styles -``` - - -## Usage - -```js -var ansi = require('ansi-styles'); - -console.log(ansi.green.open + 'Hello world!' + ansi.green.close); -``` - - -## API - -Each style has an `open` and `close` property. - - -## Styles - -### Modifiers - -- `reset` -- `bold` -- `dim` -- `italic` *(not widely supported)* -- `underline` -- `inverse` -- `hidden` -- `strikethrough` *(not widely supported)* - -### Colors - -- `black` -- `red` -- `green` -- `yellow` -- `blue` -- `magenta` -- `cyan` -- `white` -- `gray` - -### Background colors - -- `bgBlack` -- `bgRed` -- `bgGreen` -- `bgYellow` -- `bgBlue` -- `bgMagenta` -- `bgCyan` -- `bgWhite` - - -## Advanced usage - -By default you get a map of styles, but the styles are also available as groups. They are non-enumerable so they don't show up unless you access them explicitly. This makes it easier to expose only a subset in a higher-level module. - -- `ansi.modifiers` -- `ansi.colors` -- `ansi.bgColors` - - -###### Example - -```js -console.log(ansi.colors.green.open); -``` - - -## License - -MIT © [Sindre Sorhus](http://sindresorhus.com) diff --git a/publi/node_modules/ansi-wrap/LICENSE b/publi/node_modules/ansi-wrap/LICENSE deleted file mode 100644 index 65f90ac..0000000 --- a/publi/node_modules/ansi-wrap/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2015, 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. diff --git a/publi/node_modules/ansi-wrap/README.md b/publi/node_modules/ansi-wrap/README.md deleted file mode 100644 index 032c1e6..0000000 --- a/publi/node_modules/ansi-wrap/README.md +++ /dev/null @@ -1,89 +0,0 @@ -# ansi-wrap [![NPM version](https://badge.fury.io/js/ansi-wrap.svg)](http://badge.fury.io/js/ansi-wrap) - -> Create ansi colors by passing the open and close codes. - -## Install - -Install with [npm](https://www.npmjs.com/) - -```sh -$ npm i ansi-wrap --save -``` - -## Usage - -```js -var wrap = require('ansi-wrap'); -``` - -**Example** - -Pass codes for [ansi magenta background](https://github.com/jonschlinkert/ansi-bgmagenta): - -```js -console.log(wrap(45, 49, 'This is a message...')); -//=> '\u001b[45mfoo\u001b[49m' -``` - -Which prints out... - -[![screen shot 2015-05-21 at 8 28 32 pm](https://cloud.githubusercontent.com/assets/383994/7761769/12488afa-fff8-11e4-9cc1-71a8a6ec14a4.png)](https://www.npmjs.com/) - -## Related projects - -This is used in these projects: - -* [ansi-reset](https://github.com/jonschlinkert/ansi-reset) -* [ansi-bold](https://github.com/jonschlinkert/ansi-bold) -* [ansi-dim](https://github.com/jonschlinkert/ansi-dim) -* [ansi-italic](https://github.com/jonschlinkert/ansi-italic) -* [ansi-underline](https://github.com/jonschlinkert/ansi-underline) -* [ansi-inverse](https://github.com/jonschlinkert/ansi-inverse) -* [ansi-hidden](https://github.com/jonschlinkert/ansi-hidden) -* [ansi-strikethrough](https://github.com/jonschlinkert/ansi-strikethrough) -* [ansi-black](https://github.com/jonschlinkert/ansi-black) -* [ansi-red](https://github.com/jonschlinkert/ansi-red) -* [ansi-green](https://github.com/jonschlinkert/ansi-green) -* [ansi-yellow](https://github.com/jonschlinkert/ansi-yellow) -* [ansi-blue](https://github.com/jonschlinkert/ansi-blue) -* [ansi-magenta](https://github.com/jonschlinkert/ansi-magenta) -* [ansi-cyan](https://github.com/jonschlinkert/ansi-cyan) -* [ansi-white](https://github.com/jonschlinkert/ansi-white) -* [ansi-gray](https://github.com/jonschlinkert/ansi-gray) -* [ansi-grey](https://github.com/jonschlinkert/ansi-grey) -* [ansi-bgblack](https://github.com/jonschlinkert/ansi-bgblack) -* [ansi-bgred](https://github.com/jonschlinkert/ansi-bgred) -* [ansi-bggreen](https://github.com/jonschlinkert/ansi-bggreen) -* [ansi-bgyellow](https://github.com/jonschlinkert/ansi-bgyellow) -* [ansi-bgblue](https://github.com/jonschlinkert/ansi-bgblue) -* [ansi-bgmagenta](https://github.com/jonschlinkert/ansi-bgmagenta) -* [ansi-bgcyan](https://github.com/jonschlinkert/ansi-bgcyan) -* [ansi-bgwhite](https://github.com/jonschlinkert/ansi-bgwhite) - -## Running tests - -Install dev dependencies: - -```sh -$ npm i -d && npm test -``` - -## Contributing - -Pull requests and stars are always welcome. For bugs and feature requests, [please create an issue](https://github.com/jonschlinkert/ansi-wrap/issues/new) - -## Author - -**Jon Schlinkert** - -+ [github/jonschlinkert](https://github.com/jonschlinkert) -+ [twitter/jonschlinkert](http://twitter.com/jonschlinkert) - -## License - -Copyright © 2015 Jon Schlinkert -Released under the MIT license. - -*** - -_This file was generated by [verb-cli](https://github.com/assemble/verb-cli) on May 21, 2015._ \ No newline at end of file diff --git a/publi/node_modules/ansi-wrap/index.js b/publi/node_modules/ansi-wrap/index.js deleted file mode 100644 index ffc52d7..0000000 --- a/publi/node_modules/ansi-wrap/index.js +++ /dev/null @@ -1,5 +0,0 @@ -'use strict'; - -module.exports = function(a, b, msg) { - return '\u001b['+ a + 'm' + msg + '\u001b[' + b + 'm'; -}; diff --git a/publi/node_modules/ansi-wrap/package.json b/publi/node_modules/ansi-wrap/package.json deleted file mode 100644 index c660e04..0000000 --- a/publi/node_modules/ansi-wrap/package.json +++ /dev/null @@ -1,59 +0,0 @@ -{ - "_from": "ansi-wrap@0.1.0", - "_id": "ansi-wrap@0.1.0", - "_inBundle": false, - "_integrity": "sha1-qCJQ3bABXponyoLoLqYDu/pF768=", - "_location": "/ansi-wrap", - "_phantomChildren": {}, - "_requested": { - "type": "version", - "registry": true, - "raw": "ansi-wrap@0.1.0", - "name": "ansi-wrap", - "escapedName": "ansi-wrap", - "rawSpec": "0.1.0", - "saveSpec": null, - "fetchSpec": "0.1.0" - }, - "_requiredBy": [ - "/ansi-gray" - ], - "_resolved": "https://registry.npmjs.org/ansi-wrap/-/ansi-wrap-0.1.0.tgz", - "_shasum": "a82250ddb0015e9a27ca82e82ea603bbfa45efaf", - "_spec": "ansi-wrap@0.1.0", - "_where": "/mnt/Data/bach/Documents/ola/OLA#5/ola5doc/publi/node_modules/ansi-gray", - "author": { - "name": "Jon Schlinkert", - "url": "https://github.com/jonschlinkert" - }, - "bugs": { - "url": "https://github.com/jonschlinkert/ansi-wrap/issues" - }, - "bundleDependencies": false, - "dependencies": {}, - "deprecated": false, - "description": "Create ansi colors by passing the open and close codes.", - "devDependencies": {}, - "engines": { - "node": ">=0.10.0" - }, - "files": [ - "index.js" - ], - "homepage": "https://github.com/jonschlinkert/ansi-wrap", - "keywords": [], - "license": { - "type": "MIT", - "url": "https://github.com/jonschlinkert/ansi-wrap/blob/master/LICENSE" - }, - "main": "index.js", - "name": "ansi-wrap", - "repository": { - "type": "git", - "url": "git+https://github.com/jonschlinkert/ansi-wrap.git" - }, - "scripts": { - "test": "mocha" - }, - "version": "0.1.0" -} diff --git a/publi/node_modules/anymatch/LICENSE b/publi/node_modules/anymatch/LICENSE deleted file mode 100644 index bc42470..0000000 --- a/publi/node_modules/anymatch/LICENSE +++ /dev/null @@ -1,15 +0,0 @@ -The ISC License - -Copyright (c) 2014 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. diff --git a/publi/node_modules/anymatch/README.md b/publi/node_modules/anymatch/README.md deleted file mode 100644 index 62f65da..0000000 --- a/publi/node_modules/anymatch/README.md +++ /dev/null @@ -1,98 +0,0 @@ -anymatch [![Build Status](https://travis-ci.org/es128/anymatch.svg?branch=master)](https://travis-ci.org/es128/anymatch) [![Coverage Status](https://img.shields.io/coveralls/es128/anymatch.svg?branch=master)](https://coveralls.io/r/es128/anymatch?branch=master) -====== -Javascript module to match a string against a regular expression, glob, string, -or function that takes the string as an argument and returns a truthy or falsy -value. The matcher can also be an array of any or all of these. Useful for -allowing a very flexible user-defined config to define things like file paths. - -[![NPM](https://nodei.co/npm/anymatch.png?downloads=true&downloadRank=true&stars=true)](https://nodei.co/npm/anymatch/) -[![NPM](https://nodei.co/npm-dl/anymatch.png?height=3&months=9)](https://nodei.co/npm-dl/anymatch/) - -Usage ------ -```sh -npm install anymatch --save -``` - -#### anymatch (matchers, testString, [returnIndex], [startIndex], [endIndex]) -* __matchers__: (_Array|String|RegExp|Function_) -String to be directly matched, string with glob patterns, regular expression -test, function that takes the testString as an argument and returns a truthy -value if it should be matched, or an array of any number and mix of these types. -* __testString__: (_String|Array_) The string to test against the matchers. If -passed as an array, the first element of the array will be used as the -`testString` for non-function matchers, while the entire array will be applied -as the arguments for function matchers. -* __returnIndex__: (_Boolean [optional]_) If true, return the array index of -the first matcher that that testString matched, or -1 if no match, instead of a -boolean result. -* __startIndex, endIndex__: (_Integer [optional]_) Can be used to define a -subset out of the array of provided matchers to test against. Can be useful -with bound matcher functions (see below). When used with `returnIndex = true` -preserves original indexing. Behaves the same as `Array.prototype.slice` (i.e. -includes array members up to, but not including endIndex). - -```js -var anymatch = require('anymatch'); - -var matchers = [ - 'path/to/file.js', - 'path/anyjs/**/*.js', - /foo\.js$/, - function (string) { - return string.indexOf('bar') !== -1 && string.length > 10 - } -]; - -anymatch(matchers, 'path/to/file.js'); // true -anymatch(matchers, 'path/anyjs/baz.js'); // true -anymatch(matchers, 'path/to/foo.js'); // true -anymatch(matchers, 'path/to/bar.js'); // true -anymatch(matchers, 'bar.js'); // false - -// returnIndex = true -anymatch(matchers, 'foo.js', true); // 2 -anymatch(matchers, 'path/anyjs/foo.js', true); // 1 - -// skip matchers -anymatch(matchers, 'path/to/file.js', false, 1); // false -anymatch(matchers, 'path/anyjs/foo.js', true, 2, 3); // 2 -anymatch(matchers, 'path/to/bar.js', true, 0, 3); // -1 - -// using globs to match directories and their children -anymatch('node_modules', 'node_modules'); // true -anymatch('node_modules', 'node_modules/somelib/index.js'); // false -anymatch('node_modules/**', 'node_modules/somelib/index.js'); // true -anymatch('node_modules/**', '/absolute/path/to/node_modules/somelib/index.js'); // false -anymatch('**/node_modules/**', '/absolute/path/to/node_modules/somelib/index.js'); // true -``` - -#### anymatch (matchers) -You can also pass in only your matcher(s) to get a curried function that has -already been bound to the provided matching criteria. This can be used as an -`Array.prototype.filter` callback. - -```js -var matcher = anymatch(matchers); - -matcher('path/to/file.js'); // true -matcher('path/anyjs/baz.js', true); // 1 -matcher('path/anyjs/baz.js', true, 2); // -1 - -['foo.js', 'bar.js'].filter(matcher); // ['foo.js'] -``` - -Change Log ----------- -[See release notes page on GitHub](https://github.com/es128/anymatch/releases) - -NOTE: As of v1.2.0, anymatch uses [micromatch](https://github.com/jonschlinkert/micromatch) -for glob pattern matching. The glob matching behavior should be functionally -equivalent to the commonly used [minimatch](https://github.com/isaacs/minimatch) -library (aside from some fixed bugs and greater performance), so a major -version bump wasn't merited. Issues with glob pattern matching should be -reported directly to the [micromatch issue tracker](https://github.com/jonschlinkert/micromatch/issues). - -License -------- -[ISC](https://raw.github.com/es128/anymatch/master/LICENSE) diff --git a/publi/node_modules/anymatch/index.js b/publi/node_modules/anymatch/index.js deleted file mode 100644 index e411618..0000000 --- a/publi/node_modules/anymatch/index.js +++ /dev/null @@ -1,67 +0,0 @@ -'use strict'; - -var micromatch = require('micromatch'); -var normalize = require('normalize-path'); -var path = require('path'); // required for tests. -var arrify = function(a) { return a == null ? [] : (Array.isArray(a) ? a : [a]); }; - -var anymatch = function(criteria, value, returnIndex, startIndex, endIndex) { - criteria = arrify(criteria); - value = arrify(value); - if (arguments.length === 1) { - return anymatch.bind(null, criteria.map(function(criterion) { - return typeof criterion === 'string' && criterion[0] !== '!' ? - micromatch.matcher(criterion) : criterion; - })); - } - startIndex = startIndex || 0; - var string = value[0]; - var altString, altValue; - var matched = false; - var matchIndex = -1; - function testCriteria(criterion, index) { - var result; - switch (Object.prototype.toString.call(criterion)) { - case '[object String]': - result = string === criterion || altString && altString === criterion; - result = result || micromatch.isMatch(string, criterion); - break; - case '[object RegExp]': - result = criterion.test(string) || altString && criterion.test(altString); - break; - case '[object Function]': - result = criterion.apply(null, value); - result = result || altValue && criterion.apply(null, altValue); - break; - default: - result = false; - } - if (result) { - matchIndex = index + startIndex; - } - return result; - } - var crit = criteria; - var negGlobs = crit.reduce(function(arr, criterion, index) { - if (typeof criterion === 'string' && criterion[0] === '!') { - if (crit === criteria) { - // make a copy before modifying - crit = crit.slice(); - } - crit[index] = null; - arr.push(criterion.substr(1)); - } - return arr; - }, []); - if (!negGlobs.length || !micromatch.any(string, negGlobs)) { - if (path.sep === '\\' && typeof string === 'string') { - altString = normalize(string); - altString = altString === string ? null : altString; - if (altString) altValue = [altString].concat(value.slice(1)); - } - matched = crit.slice(startIndex, endIndex).some(testCriteria); - } - return returnIndex === true ? matchIndex : matched; -}; - -module.exports = anymatch; diff --git a/publi/node_modules/anymatch/node_modules/arr-diff/LICENSE b/publi/node_modules/anymatch/node_modules/arr-diff/LICENSE deleted file mode 100755 index fa30c4c..0000000 --- a/publi/node_modules/anymatch/node_modules/arr-diff/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2014-2015, 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. diff --git a/publi/node_modules/anymatch/node_modules/arr-diff/README.md b/publi/node_modules/anymatch/node_modules/arr-diff/README.md deleted file mode 100644 index 7705c6c..0000000 --- a/publi/node_modules/anymatch/node_modules/arr-diff/README.md +++ /dev/null @@ -1,74 +0,0 @@ -# arr-diff [![NPM version](https://img.shields.io/npm/v/arr-diff.svg)](https://www.npmjs.com/package/arr-diff) [![Build Status](https://img.shields.io/travis/jonschlinkert/base.svg)](https://travis-ci.org/jonschlinkert/base) - -> Returns an array with only the unique values from the first array, by excluding all values from additional arrays using strict equality for comparisons. - -## Install - -Install with [npm](https://www.npmjs.com/) - -```sh -$ npm i arr-diff --save -``` -Install with [bower](http://bower.io/) - -```sh -$ bower install arr-diff --save -``` - -## API - -### [diff](index.js#L33) - -Return the difference between the first array and additional arrays. - -**Params** - -* `a` **{Array}** -* `b` **{Array}** -* `returns` **{Array}** - -**Example** - -```js -var diff = require('arr-diff'); - -var a = ['a', 'b', 'c', 'd']; -var b = ['b', 'c']; - -console.log(diff(a, b)) -//=> ['a', 'd'] -``` - -## Related projects - -* [arr-flatten](https://www.npmjs.com/package/arr-flatten): Recursively flatten an array or arrays. This is the fastest implementation of array flatten. | [homepage](https://github.com/jonschlinkert/arr-flatten) -* [array-filter](https://www.npmjs.com/package/array-filter): Array#filter for older browsers. | [homepage](https://github.com/juliangruber/array-filter) -* [array-intersection](https://www.npmjs.com/package/array-intersection): Return an array with the unique values present in _all_ given arrays using strict equality… [more](https://www.npmjs.com/package/array-intersection) | [homepage](https://github.com/jonschlinkert/array-intersection) - -## Running tests - -Install dev dependencies: - -```sh -$ npm i -d && npm test -``` - -## Contributing - -Pull requests and stars are always welcome. For bugs and feature requests, [please create an issue](https://github.com/jonschlinkert/arr-diff/issues/new). - -## Author - -**Jon Schlinkert** - -+ [github/jonschlinkert](https://github.com/jonschlinkert) -+ [twitter/jonschlinkert](http://twitter.com/jonschlinkert) - -## License - -Copyright © 2015 [Jon Schlinkert](https://github.com/jonschlinkert) -Released under the MIT license. - -*** - -_This file was generated by [verb](https://github.com/verbose/verb) on Sat Dec 05 2015 23:24:53 GMT-0500 (EST)._ diff --git a/publi/node_modules/anymatch/node_modules/arr-diff/index.js b/publi/node_modules/anymatch/node_modules/arr-diff/index.js deleted file mode 100644 index bc7200d..0000000 --- a/publi/node_modules/anymatch/node_modules/arr-diff/index.js +++ /dev/null @@ -1,58 +0,0 @@ -/*! - * arr-diff - * - * Copyright (c) 2014 Jon Schlinkert, contributors. - * Licensed under the MIT License - */ - -'use strict'; - -var flatten = require('arr-flatten'); -var slice = [].slice; - -/** - * Return the difference between the first array and - * additional arrays. - * - * ```js - * var diff = require('{%= name %}'); - * - * var a = ['a', 'b', 'c', 'd']; - * var b = ['b', 'c']; - * - * console.log(diff(a, b)) - * //=> ['a', 'd'] - * ``` - * - * @param {Array} `a` - * @param {Array} `b` - * @return {Array} - * @api public - */ - -function diff(arr, arrays) { - var argsLen = arguments.length; - var len = arr.length, i = -1; - var res = [], arrays; - - if (argsLen === 1) { - return arr; - } - - if (argsLen > 2) { - arrays = flatten(slice.call(arguments, 1)); - } - - while (++i < len) { - if (!~arrays.indexOf(arr[i])) { - res.push(arr[i]); - } - } - return res; -} - -/** - * Expose `diff` - */ - -module.exports = diff; diff --git a/publi/node_modules/anymatch/node_modules/arr-diff/package.json b/publi/node_modules/anymatch/node_modules/arr-diff/package.json deleted file mode 100644 index af293df..0000000 --- a/publi/node_modules/anymatch/node_modules/arr-diff/package.json +++ /dev/null @@ -1,80 +0,0 @@ -{ - "_from": "arr-diff@^2.0.0", - "_id": "arr-diff@2.0.0", - "_inBundle": false, - "_integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", - "_location": "/anymatch/arr-diff", - "_phantomChildren": {}, - "_requested": { - "type": "range", - "registry": true, - "raw": "arr-diff@^2.0.0", - "name": "arr-diff", - "escapedName": "arr-diff", - "rawSpec": "^2.0.0", - "saveSpec": null, - "fetchSpec": "^2.0.0" - }, - "_requiredBy": [ - "/anymatch/micromatch" - ], - "_resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", - "_shasum": "8f3b827f955a8bd669697e4a4256ac3ceae356cf", - "_spec": "arr-diff@^2.0.0", - "_where": "/mnt/Data/bach/Documents/ola/OLA#5/ola5doc/publi/node_modules/anymatch/node_modules/micromatch", - "author": { - "name": "Jon Schlinkert", - "url": "https://github.com/jonschlinkert" - }, - "bugs": { - "url": "https://github.com/jonschlinkert/arr-diff/issues" - }, - "bundleDependencies": false, - "dependencies": { - "arr-flatten": "^1.0.1" - }, - "deprecated": false, - "description": "Returns an array with only the unique values from the first array, by excluding all values from additional arrays using strict equality for comparisons.", - "devDependencies": { - "array-differ": "^1.0.0", - "array-slice": "^0.2.3", - "benchmarked": "^0.1.4", - "chalk": "^1.1.1", - "mocha": "*", - "should": "*" - }, - "engines": { - "node": ">=0.10.0" - }, - "files": [ - "index.js" - ], - "homepage": "https://github.com/jonschlinkert/arr-diff", - "keywords": [ - "arr", - "array", - "diff", - "differ", - "difference" - ], - "license": "MIT", - "main": "index.js", - "name": "arr-diff", - "repository": { - "type": "git", - "url": "git+https://github.com/jonschlinkert/arr-diff.git" - }, - "scripts": { - "test": "mocha" - }, - "verb": { - "related": { - "list": [ - "arr-flatten", - "array-filter", - "array-intersection" - ] - } - }, - "version": "2.0.0" -} diff --git a/publi/node_modules/anymatch/node_modules/array-unique/LICENSE b/publi/node_modules/anymatch/node_modules/array-unique/LICENSE deleted file mode 100755 index fa30c4c..0000000 --- a/publi/node_modules/anymatch/node_modules/array-unique/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2014-2015, 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. diff --git a/publi/node_modules/anymatch/node_modules/array-unique/README.md b/publi/node_modules/anymatch/node_modules/array-unique/README.md deleted file mode 100755 index 2e28774..0000000 --- a/publi/node_modules/anymatch/node_modules/array-unique/README.md +++ /dev/null @@ -1,51 +0,0 @@ -# array-unique [![NPM version](https://badge.fury.io/js/array-unique.svg)](http://badge.fury.io/js/array-unique) [![Build Status](https://travis-ci.org/jonschlinkert/array-unique.svg)](https://travis-ci.org/jonschlinkert/array-unique) - -> Return an array free of duplicate values. Fastest ES5 implementation. - -## Install with [npm](npmjs.org) - -```bash -npm i array-unique --save -``` - -## Usage - -```js -var unique = require('array-unique'); - -unique(['a', 'b', 'c', 'c']); -//=> ['a', 'b', 'c'] -``` - -## Related -* [arr-diff](https://github.com/jonschlinkert/arr-diff): Returns an array with only the unique values from the first array, by excluding all values from additional arrays using strict equality for comparisons. -* [arr-union](https://github.com/jonschlinkert/arr-union): Returns an array of unique values using strict equality for comparisons. -* [arr-flatten](https://github.com/jonschlinkert/arr-flatten): Recursively flatten an array or arrays. This is the fastest implementation of array flatten. -* [arr-reduce](https://github.com/jonschlinkert/arr-reduce): Fast array reduce that also loops over sparse elements. -* [arr-map](https://github.com/jonschlinkert/arr-map): Faster, node.js focused alternative to JavaScript's native array map. -* [arr-pluck](https://github.com/jonschlinkert/arr-pluck): Retrieves the value of a specified property from all elements in the collection. - -## Run tests -Install dev dependencies. - -```bash -npm i -d && npm test -``` - -## Contributing -Pull requests and stars are always welcome. For bugs and feature requests, [please create an issue](https://github.com/jonschlinkert/array-unique/issues) - -## Author - -**Jon Schlinkert** - -+ [github/jonschlinkert](https://github.com/jonschlinkert) -+ [twitter/jonschlinkert](http://twitter.com/jonschlinkert) - -## License -Copyright (c) 2015 Jon Schlinkert -Released under the MIT license - -*** - -_This file was generated by [verb-cli](https://github.com/assemble/verb-cli) on March 24, 2015._ \ No newline at end of file diff --git a/publi/node_modules/anymatch/node_modules/array-unique/index.js b/publi/node_modules/anymatch/node_modules/array-unique/index.js deleted file mode 100755 index 7fa75af..0000000 --- a/publi/node_modules/anymatch/node_modules/array-unique/index.js +++ /dev/null @@ -1,28 +0,0 @@ -/*! - * array-unique - * - * Copyright (c) 2014-2015, Jon Schlinkert. - * Licensed under the MIT License. - */ - -'use strict'; - -module.exports = function unique(arr) { - if (!Array.isArray(arr)) { - throw new TypeError('array-unique expects an array.'); - } - - var len = arr.length; - var i = -1; - - while (i++ < len) { - var j = i + 1; - - for (; j < arr.length; ++j) { - if (arr[i] === arr[j]) { - arr.splice(j--, 1); - } - } - } - return arr; -}; diff --git a/publi/node_modules/anymatch/node_modules/array-unique/package.json b/publi/node_modules/anymatch/node_modules/array-unique/package.json deleted file mode 100755 index 0e194d7..0000000 --- a/publi/node_modules/anymatch/node_modules/array-unique/package.json +++ /dev/null @@ -1,62 +0,0 @@ -{ - "_from": "array-unique@^0.2.1", - "_id": "array-unique@0.2.1", - "_inBundle": false, - "_integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=", - "_location": "/anymatch/array-unique", - "_phantomChildren": {}, - "_requested": { - "type": "range", - "registry": true, - "raw": "array-unique@^0.2.1", - "name": "array-unique", - "escapedName": "array-unique", - "rawSpec": "^0.2.1", - "saveSpec": null, - "fetchSpec": "^0.2.1" - }, - "_requiredBy": [ - "/anymatch/micromatch" - ], - "_resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", - "_shasum": "a1d97ccafcbc2625cc70fadceb36a50c58b01a53", - "_spec": "array-unique@^0.2.1", - "_where": "/mnt/Data/bach/Documents/ola/OLA#5/ola5doc/publi/node_modules/anymatch/node_modules/micromatch", - "author": { - "name": "Jon Schlinkert", - "url": "https://github.com/jonschlinkert" - }, - "bugs": { - "url": "https://github.com/jonschlinkert/array-unique/issues" - }, - "bundleDependencies": false, - "deprecated": false, - "description": "Return an array free of duplicate values. Fastest ES5 implementation.", - "devDependencies": { - "array-uniq": "^1.0.2", - "benchmarked": "^0.1.3", - "mocha": "*", - "should": "*" - }, - "engines": { - "node": ">=0.10.0" - }, - "files": [ - "index.js" - ], - "homepage": "https://github.com/jonschlinkert/array-unique", - "license": { - "type": "MIT", - "url": "https://github.com/jonschlinkert/array-unique/blob/master/LICENSE" - }, - "main": "index.js", - "name": "array-unique", - "repository": { - "type": "git", - "url": "git://github.com/jonschlinkert/array-unique.git" - }, - "scripts": { - "test": "mocha" - }, - "version": "0.2.1" -} diff --git a/publi/node_modules/anymatch/node_modules/braces/LICENSE b/publi/node_modules/anymatch/node_modules/braces/LICENSE deleted file mode 100644 index 39245ac..0000000 --- a/publi/node_modules/anymatch/node_modules/braces/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -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. diff --git a/publi/node_modules/anymatch/node_modules/braces/README.md b/publi/node_modules/anymatch/node_modules/braces/README.md deleted file mode 100644 index 52fa756..0000000 --- a/publi/node_modules/anymatch/node_modules/braces/README.md +++ /dev/null @@ -1,248 +0,0 @@ -# braces [![NPM version](https://img.shields.io/npm/v/braces.svg?style=flat)](https://www.npmjs.com/package/braces) [![NPM downloads](https://img.shields.io/npm/dm/braces.svg?style=flat)](https://npmjs.org/package/braces) [![Build Status](https://img.shields.io/travis/jonschlinkert/braces.svg?style=flat)](https://travis-ci.org/jonschlinkert/braces) - -Fastest brace expansion for node.js, with the most complete support for the Bash 4.3 braces specification. - -## Install - -Install with [npm](https://www.npmjs.com/): - -```sh -$ npm install braces --save -``` - -## Features - -* Complete support for the braces part of the [Bash 4.3 Brace Expansion](www.gnu.org/software/bash/). Braces passes [all of the relevant unit tests](#bash-4-3-support) from the spec. -* Expands comma-separated values: `a/{b,c}/d` => `['a/b/d', 'a/c/d']` -* Expands alphabetical or numerical ranges: `{1..3}` => `['1', '2', '3']` -* [Very fast](#benchmarks) -* [Special characters](./patterns.md) can be used to generate interesting patterns. - -## Example usage - -```js -var braces = require('braces'); - -braces('a/{x,y}/c{d}e') -//=> ['a/x/cde', 'a/y/cde'] - -braces('a/b/c/{x,y}') -//=> ['a/b/c/x', 'a/b/c/y'] - -braces('a/{x,{1..5},y}/c{d}e') -//=> ['a/x/cde', 'a/1/cde', 'a/y/cde', 'a/2/cde', 'a/3/cde', 'a/4/cde', 'a/5/cde'] -``` - -### Use case: fixtures - -> Use braces to generate test fixtures! - -**Example** - -```js -var braces = require('./'); -var path = require('path'); -var fs = require('fs'); - -braces('blah/{a..z}.js').forEach(function(fp) { - if (!fs.existsSync(path.dirname(fp))) { - fs.mkdirSync(path.dirname(fp)); - } - fs.writeFileSync(fp, ''); -}); -``` - -See the [tests](./test/test.js) for more examples and use cases (also see the [bash spec tests](./test/bash-mm-adjusted.js)); - -### Range expansion - -Uses [expand-range](https://github.com/jonschlinkert/expand-range) for range expansion. - -```js -braces('a{1..3}b') -//=> ['a1b', 'a2b', 'a3b'] - -braces('a{5..8}b') -//=> ['a5b', 'a6b', 'a7b', 'a8b'] - -braces('a{00..05}b') -//=> ['a00b', 'a01b', 'a02b', 'a03b', 'a04b', 'a05b'] - -braces('a{01..03}b') -//=> ['a01b', 'a02b', 'a03b'] - -braces('a{000..005}b') -//=> ['a000b', 'a001b', 'a002b', 'a003b', 'a004b', 'a005b'] - -braces('a{a..e}b') -//=> ['aab', 'abb', 'acb', 'adb', 'aeb'] - -braces('a{A..E}b') -//=> ['aAb', 'aBb', 'aCb', 'aDb', 'aEb'] -``` - -Pass a function as the last argument to customize range expansions: - -```js -var range = braces('x{a..e}y', function (str, i) { - return String.fromCharCode(str) + i; -}); - -console.log(range); -//=> ['xa0y', 'xb1y', 'xc2y', 'xd3y', 'xe4y'] -``` - -See [expand-range](https://github.com/jonschlinkert/expand-range) for benchmarks, tests and the full list of range expansion features. - -## Options - -### options.makeRe - -Type: `Boolean` - -Deafault: `false` - -Return a regex-optimal string. If you're using braces to generate regex, this will result in dramatically faster performance. - -**Examples** - -With the default settings (`{makeRe: false}`): - -```js -braces('{1..5}'); -//=> ['1', '2', '3', '4', '5'] -``` - -With `{makeRe: true}`: - -```js -braces('{1..5}', {makeRe: true}); -//=> ['[1-5]'] - -braces('{3..9..3}', {makeRe: true}); -//=> ['(3|6|9)'] -``` - -### options.bash - -Type: `Boolean` - -Default: `false` - -Enables complete support for the Bash specification. The downside is a 20-25% speed decrease. - -**Example** - -Using the default setting (`{bash: false}`): - -```js -braces('a{b}c'); -//=> ['abc'] -``` - -In bash (and minimatch), braces with one item are not expanded. To get the same result with braces, set `{bash: true}`: - -```js -braces('a{b}c', {bash: true}); -//=> ['a{b}c'] -``` - -### options.nodupes - -Type: `Boolean` - -Deafault: `true` - -Duplicates are removed by default. To keep duplicates, pass `{nodupes: false}` on the options - -## Bash 4.3 Support - -> Better support for Bash 4.3 than minimatch - -This project has comprehensive unit tests, including tests coverted from [Bash 4.3](www.gnu.org/software/bash/). Currently only 8 of 102 unit tests fail, and - -## Run benchmarks - -Install dev dependencies: - -```bash -npm i -d && npm benchmark -``` - -### Latest results - -```bash -#1: escape.js - brace-expansion.js x 114,934 ops/sec ±1.24% (93 runs sampled) - braces.js x 342,254 ops/sec ±0.84% (90 runs sampled) - -#2: exponent.js - brace-expansion.js x 12,359 ops/sec ±0.86% (96 runs sampled) - braces.js x 20,389 ops/sec ±0.71% (97 runs sampled) - -#3: multiple.js - brace-expansion.js x 114,469 ops/sec ±1.44% (94 runs sampled) - braces.js x 401,621 ops/sec ±0.87% (91 runs sampled) - -#4: nested.js - brace-expansion.js x 102,769 ops/sec ±1.55% (92 runs sampled) - braces.js x 314,088 ops/sec ±0.71% (98 runs sampled) - -#5: normal.js - brace-expansion.js x 157,577 ops/sec ±1.65% (91 runs sampled) - braces.js x 1,115,950 ops/sec ±0.74% (94 runs sampled) - -#6: range.js - brace-expansion.js x 138,822 ops/sec ±1.71% (91 runs sampled) - braces.js x 1,108,353 ops/sec ±0.85% (94 runs sampled) -``` - -## Related projects - -You might also be interested in these projects: - -* [expand-range](https://www.npmjs.com/package/expand-range): Fast, bash-like range expansion. Expand a range of numbers or letters, uppercase or lowercase. See… [more](https://www.npmjs.com/package/expand-range) | [homepage](https://github.com/jonschlinkert/expand-range) -* [fill-range](https://www.npmjs.com/package/fill-range): Fill in a range of numbers or letters, optionally passing an increment or multiplier to… [more](https://www.npmjs.com/package/fill-range) | [homepage](https://github.com/jonschlinkert/fill-range) -* [micromatch](https://www.npmjs.com/package/micromatch): Glob matching for javascript/node.js. A drop-in replacement and faster alternative to minimatch and multimatch. | [homepage](https://github.com/jonschlinkert/micromatch) - -## Contributing - -Pull requests and stars are always welcome. For bugs and feature requests, [please create an issue](https://github.com/jonschlinkert/braces/issues/new). - -## Building docs - -Generate readme and API documentation with [verb](https://github.com/verbose/verb): - -```sh -$ npm install verb && npm run docs -``` - -Or, if [verb](https://github.com/verbose/verb) is installed globally: - -```sh -$ verb -``` - -## Running tests - -Install dev dependencies: - -```sh -$ npm install -d && npm test -``` - -## Author - -**Jon Schlinkert** - -* [github/jonschlinkert](https://github.com/jonschlinkert) -* [twitter/jonschlinkert](http://twitter.com/jonschlinkert) - -## License - -Copyright © 2016, [Jon Schlinkert](https://github.com/jonschlinkert). -Released under the [MIT license](https://github.com/jonschlinkert/braces/blob/master/LICENSE). - -*** - -_This file was generated by [verb](https://github.com/verbose/verb), v0.9.0, on May 21, 2016._ \ No newline at end of file diff --git a/publi/node_modules/anymatch/node_modules/braces/index.js b/publi/node_modules/anymatch/node_modules/braces/index.js deleted file mode 100644 index 3b4c58d..0000000 --- a/publi/node_modules/anymatch/node_modules/braces/index.js +++ /dev/null @@ -1,399 +0,0 @@ -/*! - * braces - * - * Copyright (c) 2014-2015, Jon Schlinkert. - * Licensed under the MIT license. - */ - -'use strict'; - -/** - * Module dependencies - */ - -var expand = require('expand-range'); -var repeat = require('repeat-element'); -var tokens = require('preserve'); - -/** - * Expose `braces` - */ - -module.exports = function(str, options) { - if (typeof str !== 'string') { - throw new Error('braces expects a string'); - } - return braces(str, options); -}; - -/** - * Expand `{foo,bar}` or `{1..5}` braces in the - * given `string`. - * - * @param {String} `str` - * @param {Array} `arr` - * @param {Object} `options` - * @return {Array} - */ - -function braces(str, arr, options) { - if (str === '') { - return []; - } - - if (!Array.isArray(arr)) { - options = arr; - arr = []; - } - - var opts = options || {}; - arr = arr || []; - - if (typeof opts.nodupes === 'undefined') { - opts.nodupes = true; - } - - var fn = opts.fn; - var es6; - - if (typeof opts === 'function') { - fn = opts; - opts = {}; - } - - if (!(patternRe instanceof RegExp)) { - patternRe = patternRegex(); - } - - var matches = str.match(patternRe) || []; - var m = matches[0]; - - switch(m) { - case '\\,': - return escapeCommas(str, arr, opts); - case '\\.': - return escapeDots(str, arr, opts); - case '\/.': - return escapePaths(str, arr, opts); - case ' ': - return splitWhitespace(str); - case '{,}': - return exponential(str, opts, braces); - case '{}': - return emptyBraces(str, arr, opts); - case '\\{': - case '\\}': - return escapeBraces(str, arr, opts); - case '${': - if (!/\{[^{]+\{/.test(str)) { - return arr.concat(str); - } else { - es6 = true; - str = tokens.before(str, es6Regex()); - } - } - - if (!(braceRe instanceof RegExp)) { - braceRe = braceRegex(); - } - - var match = braceRe.exec(str); - if (match == null) { - return [str]; - } - - var outter = match[1]; - var inner = match[2]; - if (inner === '') { return [str]; } - - var segs, segsLength; - - if (inner.indexOf('..') !== -1) { - segs = expand(inner, opts, fn) || inner.split(','); - segsLength = segs.length; - - } else if (inner[0] === '"' || inner[0] === '\'') { - return arr.concat(str.split(/['"]/).join('')); - - } else { - segs = inner.split(','); - if (opts.makeRe) { - return braces(str.replace(outter, wrap(segs, '|')), opts); - } - - segsLength = segs.length; - if (segsLength === 1 && opts.bash) { - segs[0] = wrap(segs[0], '\\'); - } - } - - var len = segs.length; - var i = 0, val; - - while (len--) { - var path = segs[i++]; - - if (/(\.[^.\/])/.test(path)) { - if (segsLength > 1) { - return segs; - } else { - return [str]; - } - } - - val = splice(str, outter, path); - - if (/\{[^{}]+?\}/.test(val)) { - arr = braces(val, arr, opts); - } else if (val !== '') { - if (opts.nodupes && arr.indexOf(val) !== -1) { continue; } - arr.push(es6 ? tokens.after(val) : val); - } - } - - if (opts.strict) { return filter(arr, filterEmpty); } - return arr; -} - -/** - * Expand exponential ranges - * - * `a{,}{,}` => ['a', 'a', 'a', 'a'] - */ - -function exponential(str, options, fn) { - if (typeof options === 'function') { - fn = options; - options = null; - } - - var opts = options || {}; - var esc = '__ESC_EXP__'; - var exp = 0; - var res; - - var parts = str.split('{,}'); - if (opts.nodupes) { - return fn(parts.join(''), opts); - } - - exp = parts.length - 1; - res = fn(parts.join(esc), opts); - var len = res.length; - var arr = []; - var i = 0; - - while (len--) { - var ele = res[i++]; - var idx = ele.indexOf(esc); - - if (idx === -1) { - arr.push(ele); - - } else { - ele = ele.split('__ESC_EXP__').join(''); - if (!!ele && opts.nodupes !== false) { - arr.push(ele); - - } else { - var num = Math.pow(2, exp); - arr.push.apply(arr, repeat(ele, num)); - } - } - } - return arr; -} - -/** - * Wrap a value with parens, brackets or braces, - * based on the given character/separator. - * - * @param {String|Array} `val` - * @param {String} `ch` - * @return {String} - */ - -function wrap(val, ch) { - if (ch === '|') { - return '(' + val.join(ch) + ')'; - } - if (ch === ',') { - return '{' + val.join(ch) + '}'; - } - if (ch === '-') { - return '[' + val.join(ch) + ']'; - } - if (ch === '\\') { - return '\\{' + val + '\\}'; - } -} - -/** - * Handle empty braces: `{}` - */ - -function emptyBraces(str, arr, opts) { - return braces(str.split('{}').join('\\{\\}'), arr, opts); -} - -/** - * Filter out empty-ish values - */ - -function filterEmpty(ele) { - return !!ele && ele !== '\\'; -} - -/** - * Handle patterns with whitespace - */ - -function splitWhitespace(str) { - var segs = str.split(' '); - var len = segs.length; - var res = []; - var i = 0; - - while (len--) { - res.push.apply(res, braces(segs[i++])); - } - return res; -} - -/** - * Handle escaped braces: `\\{foo,bar}` - */ - -function escapeBraces(str, arr, opts) { - if (!/\{[^{]+\{/.test(str)) { - return arr.concat(str.split('\\').join('')); - } else { - str = str.split('\\{').join('__LT_BRACE__'); - str = str.split('\\}').join('__RT_BRACE__'); - return map(braces(str, arr, opts), function(ele) { - ele = ele.split('__LT_BRACE__').join('{'); - return ele.split('__RT_BRACE__').join('}'); - }); - } -} - -/** - * Handle escaped dots: `{1\\.2}` - */ - -function escapeDots(str, arr, opts) { - if (!/[^\\]\..+\\\./.test(str)) { - return arr.concat(str.split('\\').join('')); - } else { - str = str.split('\\.').join('__ESC_DOT__'); - return map(braces(str, arr, opts), function(ele) { - return ele.split('__ESC_DOT__').join('.'); - }); - } -} - -/** - * Handle escaped dots: `{1\\.2}` - */ - -function escapePaths(str, arr, opts) { - str = str.split('\/.').join('__ESC_PATH__'); - return map(braces(str, arr, opts), function(ele) { - return ele.split('__ESC_PATH__').join('\/.'); - }); -} - -/** - * Handle escaped commas: `{a\\,b}` - */ - -function escapeCommas(str, arr, opts) { - if (!/\w,/.test(str)) { - return arr.concat(str.split('\\').join('')); - } else { - str = str.split('\\,').join('__ESC_COMMA__'); - return map(braces(str, arr, opts), function(ele) { - return ele.split('__ESC_COMMA__').join(','); - }); - } -} - -/** - * Regex for common patterns - */ - -function patternRegex() { - return /\${|( (?=[{,}])|(?=[{,}]) )|{}|{,}|\\,(?=.*[{}])|\/\.(?=.*[{}])|\\\.(?={)|\\{|\\}/; -} - -/** - * Braces regex. - */ - -function braceRegex() { - return /.*(\\?\{([^}]+)\})/; -} - -/** - * es6 delimiter regex. - */ - -function es6Regex() { - return /\$\{([^}]+)\}/; -} - -var braceRe; -var patternRe; - -/** - * Faster alternative to `String.replace()` when the - * index of the token to be replaces can't be supplied - */ - -function splice(str, token, replacement) { - var i = str.indexOf(token); - return str.substr(0, i) + replacement - + str.substr(i + token.length); -} - -/** - * Fast array map - */ - -function map(arr, fn) { - if (arr == null) { - return []; - } - - var len = arr.length; - var res = new Array(len); - var i = -1; - - while (++i < len) { - res[i] = fn(arr[i], i, arr); - } - - return res; -} - -/** - * Fast array filter - */ - -function filter(arr, cb) { - if (arr == null) return []; - if (typeof cb !== 'function') { - throw new TypeError('braces: filter expects a callback function.'); - } - - var len = arr.length; - var res = arr.slice(); - var i = 0; - - while (len--) { - if (!cb(arr[len], i++)) { - res.splice(len, 1); - } - } - return res; -} diff --git a/publi/node_modules/anymatch/node_modules/braces/package.json b/publi/node_modules/anymatch/node_modules/braces/package.json deleted file mode 100644 index 320be37..0000000 --- a/publi/node_modules/anymatch/node_modules/braces/package.json +++ /dev/null @@ -1,114 +0,0 @@ -{ - "_from": "braces@^1.8.2", - "_id": "braces@1.8.5", - "_inBundle": false, - "_integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", - "_location": "/anymatch/braces", - "_phantomChildren": {}, - "_requested": { - "type": "range", - "registry": true, - "raw": "braces@^1.8.2", - "name": "braces", - "escapedName": "braces", - "rawSpec": "^1.8.2", - "saveSpec": null, - "fetchSpec": "^1.8.2" - }, - "_requiredBy": [ - "/anymatch/micromatch" - ], - "_resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", - "_shasum": "ba77962e12dff969d6b76711e914b737857bf6a7", - "_spec": "braces@^1.8.2", - "_where": "/mnt/Data/bach/Documents/ola/OLA#5/ola5doc/publi/node_modules/anymatch/node_modules/micromatch", - "author": { - "name": "Jon Schlinkert", - "url": "https://github.com/jonschlinkert" - }, - "bugs": { - "url": "https://github.com/jonschlinkert/braces/issues" - }, - "bundleDependencies": false, - "dependencies": { - "expand-range": "^1.8.1", - "preserve": "^0.2.0", - "repeat-element": "^1.1.2" - }, - "deprecated": false, - "description": "Fastest brace expansion for node.js, with the most complete support for the Bash 4.3 braces specification.", - "devDependencies": { - "benchmarked": "^0.1.5", - "brace-expansion": "^1.1.3", - "chalk": "^1.1.3", - "gulp-format-md": "^0.1.8", - "minimatch": "^3.0.0", - "minimist": "^1.2.0", - "mocha": "^2.4.5", - "should": "^8.3.1" - }, - "engines": { - "node": ">=0.10.0" - }, - "files": [ - "index.js" - ], - "homepage": "https://github.com/jonschlinkert/braces", - "keywords": [ - "alpha", - "alphabetical", - "bash", - "brace", - "expand", - "expansion", - "filepath", - "fill", - "fs", - "glob", - "globbing", - "letter", - "match", - "matches", - "matching", - "number", - "numerical", - "path", - "range", - "ranges", - "sh" - ], - "license": "MIT", - "main": "index.js", - "name": "braces", - "repository": { - "type": "git", - "url": "git+https://github.com/jonschlinkert/braces.git" - }, - "scripts": { - "test": "mocha" - }, - "verb": { - "plugins": [ - "gulp-format-md" - ], - "reflinks": [ - "verb" - ], - "toc": false, - "layout": "default", - "lint": { - "reflinks": true - }, - "tasks": [ - "readme" - ], - "related": { - "list": [ - "micromatch", - "expand-range", - "fill-range" - ] - } - }, - "version": "1.8.5" -} diff --git a/publi/node_modules/anymatch/node_modules/expand-brackets/LICENSE b/publi/node_modules/anymatch/node_modules/expand-brackets/LICENSE deleted file mode 100644 index 1e49edf..0000000 --- a/publi/node_modules/anymatch/node_modules/expand-brackets/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2015-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. diff --git a/publi/node_modules/anymatch/node_modules/expand-brackets/README.md b/publi/node_modules/anymatch/node_modules/expand-brackets/README.md deleted file mode 100644 index d3c913e..0000000 --- a/publi/node_modules/anymatch/node_modules/expand-brackets/README.md +++ /dev/null @@ -1,107 +0,0 @@ -# expand-brackets [![NPM version](https://img.shields.io/npm/v/expand-brackets.svg?style=flat)](https://www.npmjs.com/package/expand-brackets) [![NPM downloads](https://img.shields.io/npm/dm/expand-brackets.svg?style=flat)](https://npmjs.org/package/expand-brackets) [![Build Status](https://img.shields.io/travis/jonschlinkert/expand-brackets.svg?style=flat)](https://travis-ci.org/jonschlinkert/expand-brackets) - -> Expand POSIX bracket expressions (character classes) in glob patterns. - -## Install - -Install with [npm](https://www.npmjs.com/): - -```sh -$ npm install expand-brackets --save -``` - -## Usage - -```js -var brackets = require('expand-brackets'); - -brackets('[![:lower:]]'); -//=> '[^a-z]' -``` - -## .isMatch - -Return true if the given string matches the bracket expression: - -```js -brackets.isMatch('A', '[![:lower:]]'); -//=> true - -brackets.isMatch('a', '[![:lower:]]'); -//=> false -``` - -## .makeRe - -Make a regular expression from a bracket expression: - -```js -brackets.makeRe('[![:lower:]]'); -//=> /[^a-z]/ -``` - -The following named POSIX bracket expressions are supported: - -* `[:alnum:]`: Alphanumeric characters (`a-zA-Z0-9]`) -* `[:alpha:]`: Alphabetic characters (`a-zA-Z]`) -* `[:blank:]`: Space and tab (`[ t]`) -* `[:digit:]`: Digits (`[0-9]`) -* `[:lower:]`: Lowercase letters (`[a-z]`) -* `[:punct:]`: Punctuation and symbols. (`[!"#$%&'()*+, -./:;<=>?@ [\]^_``{|}~]`) -* `[:upper:]`: Uppercase letters (`[A-Z]`) -* `[:word:]`: Word characters (letters, numbers and underscores) (`[A-Za-z0-9_]`) -* `[:xdigit:]`: Hexadecimal digits (`[A-Fa-f0-9]`) - -Collating sequences are not supported. - -## Related projects - -You might also be interested in these projects: - -* [extglob](https://www.npmjs.com/package/extglob): Convert extended globs to regex-compatible strings. Add (almost) the expressive power of regular expressions to… [more](https://www.npmjs.com/package/extglob) | [homepage](https://github.com/jonschlinkert/extglob) -* [is-extglob](https://www.npmjs.com/package/is-extglob): Returns true if a string has an extglob. | [homepage](https://github.com/jonschlinkert/is-extglob) -* [is-glob](https://www.npmjs.com/package/is-glob): Returns `true` if the given string looks like a glob pattern or an extglob pattern.… [more](https://www.npmjs.com/package/is-glob) | [homepage](https://github.com/jonschlinkert/is-glob) -* [is-posix-bracket](https://www.npmjs.com/package/is-posix-bracket): Returns true if the given string is a POSIX bracket expression (POSIX character class). | [homepage](https://github.com/jonschlinkert/is-posix-bracket) -* [micromatch](https://www.npmjs.com/package/micromatch): Glob matching for javascript/node.js. A drop-in replacement and faster alternative to minimatch and multimatch. Just… [more](https://www.npmjs.com/package/micromatch) | [homepage](https://github.com/jonschlinkert/micromatch) - -## Contributing - -Pull requests and stars are always welcome. For bugs and feature requests, [please create an issue](https://github.com/jonschlinkert/expand-brackets/issues/new). - -## Building docs - -Generate readme and API documentation with [verb](https://github.com/verbose/verb): - -```sh -$ npm install verb && npm run docs -``` - -Or, if [verb](https://github.com/verbose/verb) is installed globally: - -```sh -$ verb -``` - -## Running tests - -Install dev dependencies: - -```sh -$ npm install -d && npm test -``` - -## Author - -**Jon Schlinkert** - -* [github/jonschlinkert](https://github.com/jonschlinkert) -* [twitter/jonschlinkert](http://twitter.com/jonschlinkert) - -## License - -verb © 2016, [Jon Schlinkert](https://github.com/jonschlinkert). -Released under the [MIT license](https://github.com/jonschlinkert/expand-brackets/blob/master/LICENSE). - -*** - -_This file was generated by [verb](https://github.com/verbose/verb), v, on April 01, 2016._ \ No newline at end of file diff --git a/publi/node_modules/anymatch/node_modules/expand-brackets/index.js b/publi/node_modules/anymatch/node_modules/expand-brackets/index.js deleted file mode 100644 index b843cc2..0000000 --- a/publi/node_modules/anymatch/node_modules/expand-brackets/index.js +++ /dev/null @@ -1,163 +0,0 @@ -/*! - * expand-brackets - * - * Copyright (c) 2015 Jon Schlinkert. - * Licensed under the MIT license. - */ - -'use strict'; - -var isPosixBracket = require('is-posix-bracket'); - -/** - * POSIX character classes - */ - -var POSIX = { - alnum: 'a-zA-Z0-9', - alpha: 'a-zA-Z', - 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', -}; - -/** - * Expose `brackets` - */ - -module.exports = brackets; - -function brackets(str) { - if (!isPosixBracket(str)) { - return str; - } - - var negated = false; - if (str.indexOf('[^') !== -1) { - negated = true; - str = str.split('[^').join('['); - } - if (str.indexOf('[!') !== -1) { - negated = true; - str = str.split('[!').join('['); - } - - var a = str.split('['); - var b = str.split(']'); - var imbalanced = a.length !== b.length; - - var parts = str.split(/(?::\]\[:|\[?\[:|:\]\]?)/); - var len = parts.length, i = 0; - var end = '', beg = ''; - var res = []; - - // start at the end (innermost) first - while (len--) { - var inner = parts[i++]; - if (inner === '^[!' || inner === '[!') { - inner = ''; - negated = true; - } - - var prefix = negated ? '^' : ''; - var ch = POSIX[inner]; - - if (ch) { - res.push('[' + prefix + ch + ']'); - } else if (inner) { - if (/^\[?\w-\w\]?$/.test(inner)) { - if (i === parts.length) { - res.push('[' + prefix + inner); - } else if (i === 1) { - res.push(prefix + inner + ']'); - } else { - res.push(prefix + inner); - } - } else { - if (i === 1) { - beg += inner; - } else if (i === parts.length) { - end += inner; - } else { - res.push('[' + prefix + inner + ']'); - } - } - } - } - - var result = res.join('|'); - var rlen = res.length || 1; - if (rlen > 1) { - result = '(?:' + result + ')'; - rlen = 1; - } - if (beg) { - rlen++; - if (beg.charAt(0) === '[') { - if (imbalanced) { - beg = '\\[' + beg.slice(1); - } else { - beg += ']'; - } - } - result = beg + result; - } - if (end) { - rlen++; - if (end.slice(-1) === ']') { - if (imbalanced) { - end = end.slice(0, end.length - 1) + '\\]'; - } else { - end = '[' + end; - } - } - result += end; - } - - if (rlen > 1) { - result = result.split('][').join(']|['); - if (result.indexOf('|') !== -1 && !/\(\?/.test(result)) { - result = '(?:' + result + ')'; - } - } - - result = result.replace(/\[+=|=\]+/g, '\\b'); - return result; -} - -brackets.makeRe = function(pattern) { - try { - return new RegExp(brackets(pattern)); - } catch (err) {} -}; - -brackets.isMatch = function(str, pattern) { - try { - return brackets.makeRe(pattern).test(str); - } catch (err) { - return false; - } -}; - -brackets.match = function(arr, pattern) { - var len = arr.length, i = 0; - var res = arr.slice(); - - var re = brackets.makeRe(pattern); - while (i < len) { - var ele = arr[i++]; - if (!re.test(ele)) { - continue; - } - res.splice(i, 1); - } - return res; -}; diff --git a/publi/node_modules/anymatch/node_modules/expand-brackets/package.json b/publi/node_modules/anymatch/node_modules/expand-brackets/package.json deleted file mode 100644 index 85a1737..0000000 --- a/publi/node_modules/anymatch/node_modules/expand-brackets/package.json +++ /dev/null @@ -1,93 +0,0 @@ -{ - "_from": "expand-brackets@^0.1.4", - "_id": "expand-brackets@0.1.5", - "_inBundle": false, - "_integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", - "_location": "/anymatch/expand-brackets", - "_phantomChildren": {}, - "_requested": { - "type": "range", - "registry": true, - "raw": "expand-brackets@^0.1.4", - "name": "expand-brackets", - "escapedName": "expand-brackets", - "rawSpec": "^0.1.4", - "saveSpec": null, - "fetchSpec": "^0.1.4" - }, - "_requiredBy": [ - "/anymatch/micromatch" - ], - "_resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", - "_shasum": "df07284e342a807cd733ac5af72411e581d1177b", - "_spec": "expand-brackets@^0.1.4", - "_where": "/mnt/Data/bach/Documents/ola/OLA#5/ola5doc/publi/node_modules/anymatch/node_modules/micromatch", - "author": { - "name": "Jon Schlinkert", - "url": "https://github.com/jonschlinkert" - }, - "bugs": { - "url": "https://github.com/jonschlinkert/expand-brackets/issues" - }, - "bundleDependencies": false, - "dependencies": { - "is-posix-bracket": "^0.1.0" - }, - "deprecated": false, - "description": "Expand POSIX bracket expressions (character classes) in glob patterns.", - "devDependencies": { - "gulp-format-md": "^0.1.7", - "mocha": "^2.2.5", - "should": "^7.0.2" - }, - "engines": { - "node": ">=0.10.0" - }, - "files": [ - "index.js" - ], - "homepage": "https://github.com/jonschlinkert/expand-brackets", - "keywords": [ - "bracket", - "character class", - "expression", - "posix" - ], - "license": "MIT", - "main": "index.js", - "name": "expand-brackets", - "repository": { - "type": "git", - "url": "git+https://github.com/jonschlinkert/expand-brackets.git" - }, - "scripts": { - "test": "mocha" - }, - "verb": { - "run": true, - "toc": false, - "layout": "default", - "tasks": [ - "readme" - ], - "plugins": [ - "gulp-format-md" - ], - "related": { - "list": [ - "extglob", - "is-extglob", - "is-glob", - "is-posix-bracket", - "micromatch" - ] - }, - "reflinks": [ - "verb" - ], - "lint": { - "reflinks": true - } - }, - "version": "0.1.5" -} diff --git a/publi/node_modules/anymatch/node_modules/extglob/LICENSE b/publi/node_modules/anymatch/node_modules/extglob/LICENSE deleted file mode 100644 index 65f90ac..0000000 --- a/publi/node_modules/anymatch/node_modules/extglob/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2015, 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. diff --git a/publi/node_modules/anymatch/node_modules/extglob/README.md b/publi/node_modules/anymatch/node_modules/extglob/README.md deleted file mode 100644 index 6664406..0000000 --- a/publi/node_modules/anymatch/node_modules/extglob/README.md +++ /dev/null @@ -1,88 +0,0 @@ -# extglob [![NPM version](https://badge.fury.io/js/extglob.svg)](http://badge.fury.io/js/extglob) [![Build Status](https://travis-ci.org/jonschlinkert/extglob.svg)](https://travis-ci.org/jonschlinkert/extglob) - -> Convert extended globs to regex-compatible strings. Add (almost) the expressive power of regular expressions to glob patterns. - -Install with [npm](https://www.npmjs.com/) - -```sh -$ npm i extglob --save -``` - -Used by [micromatch](https://github.com/jonschlinkert/micromatch). - -**Features** - -* Convert an extglob string to a regex-compatible string. **Only converts extglobs**, to handle full globs use [micromatch](https://github.com/jonschlinkert/micromatch). -* Pass `{regex: true}` to return a regex -* Handles nested patterns -* More complete (and correct) support than [minimatch](https://github.com/isaacs/minimatch) - -## Usage - -```js -var extglob = require('extglob'); - -extglob('?(z)'); -//=> '(?:z)?' -extglob('*(z)'); -//=> '(?:z)*' -extglob('+(z)'); -//=> '(?:z)+' -extglob('@(z)'); -//=> '(?:z)' -extglob('!(z)'); -//=> '(?!^(?:(?!z)[^/]*?)).*$' -``` - -**Optionally return regex** - -```js -extglob('!(z)', {regex: true}); -//=> /(?!^(?:(?!z)[^/]*?)).*$/ -``` - -## Extglob patterns - -To learn more about how extglobs work, see the docs for [Bash pattern matching](https://www.gnu.org/software/bash/manual/html_node/Pattern-Matching.html): - -* `?(pattern)`: Match zero or one occurrence of the given pattern. -* `*(pattern)`: Match zero or more occurrences of the given pattern. -* `+(pattern)`: Match one or more occurrences of the given pattern. -* `@(pattern)`: Match one of the given pattern. -* `!(pattern)`: Match anything except one of the given pattern. - -## Related - -* [braces](https://github.com/jonschlinkert/braces): Fastest brace expansion for node.js, with the most complete support for the Bash 4.3 braces… [more](https://github.com/jonschlinkert/braces) -* [expand-brackets](https://github.com/jonschlinkert/expand-brackets): Expand POSIX bracket expressions (character classes) in glob patterns. -* [expand-range](https://github.com/jonschlinkert/expand-range): Fast, bash-like range expansion. Expand a range of numbers or letters, uppercase or lowercase. See… [more](https://github.com/jonschlinkert/expand-range) -* [fill-range](https://github.com/jonschlinkert/fill-range): Fill in a range of numbers or letters, optionally passing an increment or multiplier to… [more](https://github.com/jonschlinkert/fill-range) -* [micromatch](https://github.com/jonschlinkert/micromatch): Glob matching for javascript/node.js. A drop-in replacement and faster alternative to minimatch and multimatch. Just… [more](https://github.com/jonschlinkert/micromatch) - -## Run tests - -Install dev dependencies: - -```sh -$ npm i -d && npm test -``` - -## Contributing - -Pull requests and stars are always welcome. For bugs and feature requests, [please create an issue](https://github.com/jonschlinkert/extglob/issues/new) - -## Author - -**Jon Schlinkert** - -+ [github/jonschlinkert](https://github.com/jonschlinkert) -+ [twitter/jonschlinkert](http://twitter.com/jonschlinkert) - -## License - -Copyright © 2015 Jon Schlinkert -Released under the MIT license. - -*** - -_This file was generated by [verb-cli](https://github.com/assemble/verb-cli) on August 01, 2015._ \ No newline at end of file diff --git a/publi/node_modules/anymatch/node_modules/extglob/index.js b/publi/node_modules/anymatch/node_modules/extglob/index.js deleted file mode 100644 index 2e774d4..0000000 --- a/publi/node_modules/anymatch/node_modules/extglob/index.js +++ /dev/null @@ -1,178 +0,0 @@ -/*! - * extglob - * - * Copyright (c) 2015, Jon Schlinkert. - * Licensed under the MIT License. - */ - -'use strict'; - -/** - * Module dependencies - */ - -var isExtglob = require('is-extglob'); -var re, cache = {}; - -/** - * Expose `extglob` - */ - -module.exports = extglob; - -/** - * Convert the given extglob `string` to a regex-compatible - * string. - * - * ```js - * var extglob = require('extglob'); - * extglob('!(a?(b))'); - * //=> '(?!a(?:b)?)[^/]*?' - * ``` - * - * @param {String} `str` The string to convert. - * @param {Object} `options` - * @option {Boolean} [options] `esc` If `false` special characters will not be escaped. Defaults to `true`. - * @option {Boolean} [options] `regex` If `true` a regular expression is returned instead of a string. - * @return {String} - * @api public - */ - - -function extglob(str, opts) { - opts = opts || {}; - var o = {}, i = 0; - - // fix common character reversals - // '*!(.js)' => '*.!(js)' - str = str.replace(/!\(([^\w*()])/g, '$1!('); - - // support file extension negation - str = str.replace(/([*\/])\.!\([*]\)/g, function (m, ch) { - if (ch === '/') { - return escape('\\/[^.]+'); - } - return escape('[^.]+'); - }); - - // create a unique key for caching by - // combining the string and options - var key = str - + String(!!opts.regex) - + String(!!opts.contains) - + String(!!opts.escape); - - if (cache.hasOwnProperty(key)) { - return cache[key]; - } - - if (!(re instanceof RegExp)) { - re = regex(); - } - - opts.negate = false; - var m; - - while (m = re.exec(str)) { - var prefix = m[1]; - var inner = m[3]; - if (prefix === '!') { - opts.negate = true; - } - - var id = '__EXTGLOB_' + (i++) + '__'; - // use the prefix of the _last_ (outtermost) pattern - o[id] = wrap(inner, prefix, opts.escape); - str = str.split(m[0]).join(id); - } - - var keys = Object.keys(o); - var len = keys.length; - - // we have to loop again to allow us to convert - // patterns in reverse order (starting with the - // innermost/last pattern first) - while (len--) { - var prop = keys[len]; - str = str.split(prop).join(o[prop]); - } - - var result = opts.regex - ? toRegex(str, opts.contains, opts.negate) - : str; - - result = result.split('.').join('\\.'); - - // cache the result and return it - return (cache[key] = result); -} - -/** - * Convert `string` to a regex string. - * - * @param {String} `str` - * @param {String} `prefix` Character that determines how to wrap the string. - * @param {Boolean} `esc` If `false` special characters will not be escaped. Defaults to `true`. - * @return {String} - */ - -function wrap(inner, prefix, esc) { - if (esc) inner = escape(inner); - - switch (prefix) { - case '!': - return '(?!' + inner + ')[^/]' + (esc ? '%%%~' : '*?'); - case '@': - return '(?:' + inner + ')'; - case '+': - return '(?:' + inner + ')+'; - case '*': - return '(?:' + inner + ')' + (esc ? '%%' : '*') - case '?': - return '(?:' + inner + '|)'; - default: - return inner; - } -} - -function escape(str) { - str = str.split('*').join('[^/]%%%~'); - str = str.split('.').join('\\.'); - return str; -} - -/** - * extglob regex. - */ - -function regex() { - return /(\\?[@?!+*$]\\?)(\(([^()]*?)\))/; -} - -/** - * Negation regex - */ - -function negate(str) { - return '(?!^' + str + ').*$'; -} - -/** - * Create the regex to do the matching. If - * the leading character in the `pattern` is `!` - * a negation regex is returned. - * - * @param {String} `pattern` - * @param {Boolean} `contains` Allow loose matching. - * @param {Boolean} `isNegated` True if the pattern is a negation pattern. - */ - -function toRegex(pattern, contains, isNegated) { - var prefix = contains ? '^' : ''; - var after = contains ? '$' : ''; - pattern = ('(?:' + pattern + ')' + after); - if (isNegated) { - pattern = prefix + negate(pattern); - } - return new RegExp(prefix + pattern); -} diff --git a/publi/node_modules/anymatch/node_modules/extglob/package.json b/publi/node_modules/anymatch/node_modules/extglob/package.json deleted file mode 100644 index 4767b90..0000000 --- a/publi/node_modules/anymatch/node_modules/extglob/package.json +++ /dev/null @@ -1,85 +0,0 @@ -{ - "_from": "extglob@^0.3.1", - "_id": "extglob@0.3.2", - "_inBundle": false, - "_integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", - "_location": "/anymatch/extglob", - "_phantomChildren": {}, - "_requested": { - "type": "range", - "registry": true, - "raw": "extglob@^0.3.1", - "name": "extglob", - "escapedName": "extglob", - "rawSpec": "^0.3.1", - "saveSpec": null, - "fetchSpec": "^0.3.1" - }, - "_requiredBy": [ - "/anymatch/micromatch" - ], - "_resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", - "_shasum": "2e18ff3d2f49ab2765cec9023f011daa8d8349a1", - "_spec": "extglob@^0.3.1", - "_where": "/mnt/Data/bach/Documents/ola/OLA#5/ola5doc/publi/node_modules/anymatch/node_modules/micromatch", - "author": { - "name": "Jon Schlinkert", - "url": "https://github.com/jonschlinkert" - }, - "bugs": { - "url": "https://github.com/jonschlinkert/extglob/issues" - }, - "bundleDependencies": false, - "dependencies": { - "is-extglob": "^1.0.0" - }, - "deprecated": false, - "description": "Convert extended globs to regex-compatible strings. Add (almost) the expressive power of regular expressions to glob patterns.", - "devDependencies": { - "ansi-green": "^0.1.1", - "micromatch": "^2.1.6", - "minimatch": "^2.0.1", - "minimist": "^1.1.0", - "mocha": "*", - "should": "*", - "success-symbol": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - }, - "files": [ - "index.js" - ], - "homepage": "https://github.com/jonschlinkert/extglob", - "keywords": [ - "bash", - "extended", - "extglob", - "glob", - "ksh", - "match", - "wildcard" - ], - "license": "MIT", - "main": "index.js", - "name": "extglob", - "repository": { - "type": "git", - "url": "git://github.com/jonschlinkert/extglob.git" - }, - "scripts": { - "test": "mocha" - }, - "verb": { - "related": { - "list": [ - "micromatch", - "expand-brackets", - "braces", - "fill-range", - "expand-range" - ] - } - }, - "version": "0.3.2" -} diff --git a/publi/node_modules/anymatch/node_modules/is-extglob/LICENSE b/publi/node_modules/anymatch/node_modules/is-extglob/LICENSE deleted file mode 100644 index fa30c4c..0000000 --- a/publi/node_modules/anymatch/node_modules/is-extglob/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2014-2015, 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. diff --git a/publi/node_modules/anymatch/node_modules/is-extglob/README.md b/publi/node_modules/anymatch/node_modules/is-extglob/README.md deleted file mode 100644 index 80e7128..0000000 --- a/publi/node_modules/anymatch/node_modules/is-extglob/README.md +++ /dev/null @@ -1,75 +0,0 @@ -# is-extglob [![NPM version](https://badge.fury.io/js/is-extglob.svg)](http://badge.fury.io/js/is-extglob) [![Build Status](https://travis-ci.org/jonschlinkert/is-extglob.svg)](https://travis-ci.org/jonschlinkert/is-extglob) - -> Returns true if a string has an extglob. - -## Install with [npm](npmjs.org) - -```bash -npm i is-extglob --save -``` - -## Usage - -```js -var isExtglob = require('is-extglob'); -``` - -**True** - -```js -isExtglob('?(abc)'); -isExtglob('@(abc)'); -isExtglob('!(abc)'); -isExtglob('*(abc)'); -isExtglob('+(abc)'); -``` - -**False** - -Everything else... - -```js -isExtglob('foo.js'); -isExtglob('!foo.js'); -isExtglob('*.js'); -isExtglob('**/abc.js'); -isExtglob('abc/*.js'); -isExtglob('abc/(aaa|bbb).js'); -isExtglob('abc/[a-z].js'); -isExtglob('abc/{a,b}.js'); -isExtglob('abc/?.js'); -isExtglob('abc.js'); -isExtglob('abc/def/ghi.js'); -``` - -## Related -* [extglob](https://github.com/jonschlinkert/extglob): Extended globs. extglobs add the expressive power of regular expressions to glob patterns. -* [micromatch](https://github.com/jonschlinkert/micromatch): Glob matching for javascript/node.js. A faster alternative to minimatch (10-45x faster on avg), with all the features you're used to using in your Grunt and gulp tasks. -* [parse-glob](https://github.com/jonschlinkert/parse-glob): Parse a glob pattern into an object of tokens. - -## Run tests -Install dev dependencies. - -```bash -npm i -d && npm test -``` - - -## Contributing -Pull requests and stars are always welcome. For bugs and feature requests, [please create an issue](https://github.com/jonschlinkert/is-extglob/issues) - - -## Author - -**Jon Schlinkert** - -+ [github/jonschlinkert](https://github.com/jonschlinkert) -+ [twitter/jonschlinkert](http://twitter.com/jonschlinkert) - -## License -Copyright (c) 2015 Jon Schlinkert -Released under the MIT license - -*** - -_This file was generated by [verb-cli](https://github.com/assemble/verb-cli) on March 06, 2015._ \ No newline at end of file diff --git a/publi/node_modules/anymatch/node_modules/is-extglob/index.js b/publi/node_modules/anymatch/node_modules/is-extglob/index.js deleted file mode 100644 index 803047f..0000000 --- a/publi/node_modules/anymatch/node_modules/is-extglob/index.js +++ /dev/null @@ -1,11 +0,0 @@ -/*! - * is-extglob - * - * Copyright (c) 2014-2015, Jon Schlinkert. - * Licensed under the MIT License. - */ - -module.exports = function isExtglob(str) { - return typeof str === 'string' - && /[@?!+*]\(/.test(str); -}; diff --git a/publi/node_modules/anymatch/node_modules/is-extglob/package.json b/publi/node_modules/anymatch/node_modules/is-extglob/package.json deleted file mode 100644 index 2db0961..0000000 --- a/publi/node_modules/anymatch/node_modules/is-extglob/package.json +++ /dev/null @@ -1,78 +0,0 @@ -{ - "_from": "is-extglob@^1.0.0", - "_id": "is-extglob@1.0.0", - "_inBundle": false, - "_integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", - "_location": "/anymatch/is-extglob", - "_phantomChildren": {}, - "_requested": { - "type": "range", - "registry": true, - "raw": "is-extglob@^1.0.0", - "name": "is-extglob", - "escapedName": "is-extglob", - "rawSpec": "^1.0.0", - "saveSpec": null, - "fetchSpec": "^1.0.0" - }, - "_requiredBy": [ - "/anymatch/extglob", - "/anymatch/is-glob", - "/anymatch/micromatch" - ], - "_resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", - "_shasum": "ac468177c4943405a092fc8f29760c6ffc6206c0", - "_spec": "is-extglob@^1.0.0", - "_where": "/mnt/Data/bach/Documents/ola/OLA#5/ola5doc/publi/node_modules/anymatch/node_modules/micromatch", - "author": { - "name": "Jon Schlinkert", - "url": "https://github.com/jonschlinkert" - }, - "bugs": { - "url": "https://github.com/jonschlinkert/is-extglob/issues" - }, - "bundleDependencies": false, - "deprecated": false, - "description": "Returns true if a string has an extglob.", - "devDependencies": { - "mocha": "*", - "should": "*" - }, - "engines": { - "node": ">=0.10.0" - }, - "files": [ - "index.js" - ], - "homepage": "https://github.com/jonschlinkert/is-extglob", - "keywords": [ - "bash", - "braces", - "check", - "exec", - "extglob", - "expression", - "glob", - "globbing", - "globstar", - "match", - "matches", - "pattern", - "regex", - "regular", - "string", - "test" - ], - "license": "MIT", - "main": "index.js", - "name": "is-extglob", - "repository": { - "type": "git", - "url": "git+https://github.com/jonschlinkert/is-extglob.git" - }, - "scripts": { - "prepublish": "browserify -o browser.js -e index.js", - "test": "mocha" - }, - "version": "1.0.0" -} diff --git a/publi/node_modules/anymatch/node_modules/is-glob/LICENSE b/publi/node_modules/anymatch/node_modules/is-glob/LICENSE deleted file mode 100644 index fa30c4c..0000000 --- a/publi/node_modules/anymatch/node_modules/is-glob/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2014-2015, 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. diff --git a/publi/node_modules/anymatch/node_modules/is-glob/README.md b/publi/node_modules/anymatch/node_modules/is-glob/README.md deleted file mode 100644 index b162542..0000000 --- a/publi/node_modules/anymatch/node_modules/is-glob/README.md +++ /dev/null @@ -1,105 +0,0 @@ -# is-glob [![NPM version](https://badge.fury.io/js/is-glob.svg)](http://badge.fury.io/js/is-glob) [![Build Status](https://travis-ci.org/jonschlinkert/is-glob.svg)](https://travis-ci.org/jonschlinkert/is-glob) - -> Returns `true` if the given string looks like a glob pattern or an extglob pattern. This makes it easy to create code that only uses external modules like node-glob when necessary, resulting in much faster code execution and initialization time, and a better user experience. - -Also take a look at [is-valid-glob](https://github.com/jonschlinkert/is-valid-glob) and [has-glob](https://github.com/jonschlinkert/has-glob). - -## Install - -Install with [npm](https://www.npmjs.com/) - -```sh -$ npm i is-glob --save -``` - -## Usage - -```js -var isGlob = require('is-glob'); -``` - -**True** - -Patterns that have glob characters or regex patterns will return `true`: - -```js -isGlob('!foo.js'); -isGlob('*.js'); -isGlob('**/abc.js'); -isGlob('abc/*.js'); -isGlob('abc/(aaa|bbb).js'); -isGlob('abc/[a-z].js'); -isGlob('abc/{a,b}.js'); -isGlob('abc/?.js'); -//=> true -``` - -Extglobs - -```js -isGlob('abc/@(a).js'); -isGlob('abc/!(a).js'); -isGlob('abc/+(a).js'); -isGlob('abc/*(a).js'); -isGlob('abc/?(a).js'); -//=> true -``` - -**False** - -Patterns that do not have glob patterns return `false`: - -```js -isGlob('abc.js'); -isGlob('abc/def/ghi.js'); -isGlob('foo.js'); -isGlob('abc/@.js'); -isGlob('abc/+.js'); -isGlob(); -isGlob(null); -//=> false -``` - -Arrays are also `false` (If you want to check if an array has a glob pattern, use [has-glob](https://github.com/jonschlinkert/has-glob)): - -```js -isGlob(['**/*.js']); -isGlob(['foo.js']); -//=> false -``` - -## Related - -* [has-glob](https://www.npmjs.com/package/has-glob): Returns `true` if an array has a glob pattern. | [homepage](https://github.com/jonschlinkert/has-glob) -* [is-extglob](https://www.npmjs.com/package/is-extglob): Returns true if a string has an extglob. | [homepage](https://github.com/jonschlinkert/is-extglob) -* [is-posix-bracket](https://www.npmjs.com/package/is-posix-bracket): Returns true if the given string is a POSIX bracket expression (POSIX character class). | [homepage](https://github.com/jonschlinkert/is-posix-bracket) -* [is-valid-glob](https://www.npmjs.com/package/is-valid-glob): Return true if a value is a valid glob pattern or patterns. | [homepage](https://github.com/jonschlinkert/is-valid-glob) -* [micromatch](https://www.npmjs.com/package/micromatch): Glob matching for javascript/node.js. A drop-in replacement and faster alternative to minimatch and multimatch. Just… [more](https://www.npmjs.com/package/micromatch) | [homepage](https://github.com/jonschlinkert/micromatch) - -## Run tests - -Install dev dependencies: - -```sh -$ npm i -d && npm test -``` - -## Contributing - -Pull requests and stars are always welcome. For bugs and feature requests, [please create an issue](https://github.com/jonschlinkert/is-glob/issues/new). - -## Author - -**Jon Schlinkert** - -+ [github/jonschlinkert](https://github.com/jonschlinkert) -+ [twitter/jonschlinkert](http://twitter.com/jonschlinkert) - -## License - -Copyright © 2015 Jon Schlinkert -Released under the MIT license. - -*** - -_This file was generated by [verb-cli](https://github.com/assemble/verb-cli) on October 02, 2015._ \ No newline at end of file diff --git a/publi/node_modules/anymatch/node_modules/is-glob/index.js b/publi/node_modules/anymatch/node_modules/is-glob/index.js deleted file mode 100644 index ef27bba..0000000 --- a/publi/node_modules/anymatch/node_modules/is-glob/index.js +++ /dev/null @@ -1,14 +0,0 @@ -/*! - * is-glob - * - * Copyright (c) 2014-2015, Jon Schlinkert. - * Licensed under the MIT License. - */ - -var isExtglob = require('is-extglob'); - -module.exports = function isGlob(str) { - return typeof str === 'string' - && (/[*!?{}(|)[\]]/.test(str) - || isExtglob(str)); -}; \ No newline at end of file diff --git a/publi/node_modules/anymatch/node_modules/is-glob/package.json b/publi/node_modules/anymatch/node_modules/is-glob/package.json deleted file mode 100644 index 4d9e646..0000000 --- a/publi/node_modules/anymatch/node_modules/is-glob/package.json +++ /dev/null @@ -1,88 +0,0 @@ -{ - "_from": "is-glob@^2.0.1", - "_id": "is-glob@2.0.1", - "_inBundle": false, - "_integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", - "_location": "/anymatch/is-glob", - "_phantomChildren": {}, - "_requested": { - "type": "range", - "registry": true, - "raw": "is-glob@^2.0.1", - "name": "is-glob", - "escapedName": "is-glob", - "rawSpec": "^2.0.1", - "saveSpec": null, - "fetchSpec": "^2.0.1" - }, - "_requiredBy": [ - "/anymatch/micromatch" - ], - "_resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", - "_shasum": "d096f926a3ded5600f3fdfd91198cb0888c2d863", - "_spec": "is-glob@^2.0.1", - "_where": "/mnt/Data/bach/Documents/ola/OLA#5/ola5doc/publi/node_modules/anymatch/node_modules/micromatch", - "author": { - "name": "Jon Schlinkert", - "url": "https://github.com/jonschlinkert" - }, - "bugs": { - "url": "https://github.com/jonschlinkert/is-glob/issues" - }, - "bundleDependencies": false, - "dependencies": { - "is-extglob": "^1.0.0" - }, - "deprecated": false, - "description": "Returns `true` if the given string looks like a glob pattern or an extglob pattern. This makes it easy to create code that only uses external modules like node-glob when necessary, resulting in much faster code execution and initialization time, and a better user experience.", - "devDependencies": { - "mocha": "*" - }, - "engines": { - "node": ">=0.10.0" - }, - "files": [ - "index.js" - ], - "homepage": "https://github.com/jonschlinkert/is-glob", - "keywords": [ - "bash", - "braces", - "check", - "exec", - "extglob", - "expression", - "glob", - "globbing", - "globstar", - "match", - "matches", - "pattern", - "regex", - "regular", - "string", - "test" - ], - "license": "MIT", - "main": "index.js", - "name": "is-glob", - "repository": { - "type": "git", - "url": "git+https://github.com/jonschlinkert/is-glob.git" - }, - "scripts": { - "test": "mocha" - }, - "verb": { - "related": { - "list": [ - "has-glob", - "is-extglob", - "is-posix-bracket", - "is-valid-glob", - "micromatch" - ] - } - }, - "version": "2.0.1" -} diff --git a/publi/node_modules/anymatch/node_modules/kind-of/LICENSE b/publi/node_modules/anymatch/node_modules/kind-of/LICENSE deleted file mode 100644 index d734237..0000000 --- a/publi/node_modules/anymatch/node_modules/kind-of/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -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. diff --git a/publi/node_modules/anymatch/node_modules/kind-of/README.md b/publi/node_modules/anymatch/node_modules/kind-of/README.md deleted file mode 100644 index 6a9df36..0000000 --- a/publi/node_modules/anymatch/node_modules/kind-of/README.md +++ /dev/null @@ -1,261 +0,0 @@ -# kind-of [![NPM version](https://img.shields.io/npm/v/kind-of.svg?style=flat)](https://www.npmjs.com/package/kind-of) [![NPM monthly downloads](https://img.shields.io/npm/dm/kind-of.svg?style=flat)](https://npmjs.org/package/kind-of) [![NPM total downloads](https://img.shields.io/npm/dt/kind-of.svg?style=flat)](https://npmjs.org/package/kind-of) [![Linux Build Status](https://img.shields.io/travis/jonschlinkert/kind-of.svg?style=flat&label=Travis)](https://travis-ci.org/jonschlinkert/kind-of) - -> Get the native type of a value. - -## Install - -Install with [npm](https://www.npmjs.com/): - -```sh -$ npm install --save kind-of -``` - -## Install - -Install with [bower](https://bower.io/) - -```sh -$ bower install kind-of --save -``` - -## Usage - -> es5, browser and es6 ready - -```js -var kindOf = require('kind-of'); - -kindOf(undefined); -//=> 'undefined' - -kindOf(null); -//=> 'null' - -kindOf(true); -//=> 'boolean' - -kindOf(false); -//=> 'boolean' - -kindOf(new Boolean(true)); -//=> 'boolean' - -kindOf(new Buffer('')); -//=> 'buffer' - -kindOf(42); -//=> 'number' - -kindOf(new Number(42)); -//=> 'number' - -kindOf('str'); -//=> 'string' - -kindOf(new String('str')); -//=> 'string' - -kindOf(arguments); -//=> 'arguments' - -kindOf({}); -//=> 'object' - -kindOf(Object.create(null)); -//=> 'object' - -kindOf(new Test()); -//=> 'object' - -kindOf(new Date()); -//=> 'date' - -kindOf([]); -//=> 'array' - -kindOf([1, 2, 3]); -//=> 'array' - -kindOf(new Array()); -//=> 'array' - -kindOf(/foo/); -//=> 'regexp' - -kindOf(new RegExp('foo')); -//=> 'regexp' - -kindOf(function () {}); -//=> 'function' - -kindOf(function * () {}); -//=> 'function' - -kindOf(new Function()); -//=> 'function' - -kindOf(new Map()); -//=> 'map' - -kindOf(new WeakMap()); -//=> 'weakmap' - -kindOf(new Set()); -//=> 'set' - -kindOf(new WeakSet()); -//=> 'weakset' - -kindOf(Symbol('str')); -//=> 'symbol' - -kindOf(new Int8Array()); -//=> 'int8array' - -kindOf(new Uint8Array()); -//=> 'uint8array' - -kindOf(new Uint8ClampedArray()); -//=> 'uint8clampedarray' - -kindOf(new Int16Array()); -//=> 'int16array' - -kindOf(new Uint16Array()); -//=> 'uint16array' - -kindOf(new Int32Array()); -//=> 'int32array' - -kindOf(new Uint32Array()); -//=> 'uint32array' - -kindOf(new Float32Array()); -//=> 'float32array' - -kindOf(new Float64Array()); -//=> 'float64array' -``` - -## Benchmarks - -Benchmarked against [typeof](http://github.com/CodingFu/typeof) and [type-of](https://github.com/ForbesLindesay/type-of). -Note that performaces is slower for es6 features `Map`, `WeakMap`, `Set` and `WeakSet`. - -```bash -#1: array - current x 23,329,397 ops/sec ±0.82% (94 runs sampled) - lib-type-of x 4,170,273 ops/sec ±0.55% (94 runs sampled) - lib-typeof x 9,686,935 ops/sec ±0.59% (98 runs sampled) - -#2: boolean - current x 27,197,115 ops/sec ±0.85% (94 runs sampled) - lib-type-of x 3,145,791 ops/sec ±0.73% (97 runs sampled) - lib-typeof x 9,199,562 ops/sec ±0.44% (99 runs sampled) - -#3: date - current x 20,190,117 ops/sec ±0.86% (92 runs sampled) - lib-type-of x 5,166,970 ops/sec ±0.74% (94 runs sampled) - lib-typeof x 9,610,821 ops/sec ±0.50% (96 runs sampled) - -#4: function - current x 23,855,460 ops/sec ±0.60% (97 runs sampled) - lib-type-of x 5,667,740 ops/sec ±0.54% (100 runs sampled) - lib-typeof x 10,010,644 ops/sec ±0.44% (100 runs sampled) - -#5: null - current x 27,061,047 ops/sec ±0.97% (96 runs sampled) - lib-type-of x 13,965,573 ops/sec ±0.62% (97 runs sampled) - lib-typeof x 8,460,194 ops/sec ±0.61% (97 runs sampled) - -#6: number - current x 25,075,682 ops/sec ±0.53% (99 runs sampled) - lib-type-of x 2,266,405 ops/sec ±0.41% (98 runs sampled) - lib-typeof x 9,821,481 ops/sec ±0.45% (99 runs sampled) - -#7: object - current x 3,348,980 ops/sec ±0.49% (99 runs sampled) - lib-type-of x 3,245,138 ops/sec ±0.60% (94 runs sampled) - lib-typeof x 9,262,952 ops/sec ±0.59% (99 runs sampled) - -#8: regex - current x 21,284,827 ops/sec ±0.72% (96 runs sampled) - lib-type-of x 4,689,241 ops/sec ±0.43% (100 runs sampled) - lib-typeof x 8,957,593 ops/sec ±0.62% (98 runs sampled) - -#9: string - current x 25,379,234 ops/sec ±0.58% (96 runs sampled) - lib-type-of x 3,635,148 ops/sec ±0.76% (93 runs sampled) - lib-typeof x 9,494,134 ops/sec ±0.49% (98 runs sampled) - -#10: undef - current x 27,459,221 ops/sec ±1.01% (93 runs sampled) - lib-type-of x 14,360,433 ops/sec ±0.52% (99 runs sampled) - lib-typeof x 23,202,868 ops/sec ±0.59% (94 runs sampled) - -``` - -## Optimizations - -In 7 out of 8 cases, this library is 2x-10x faster than other top libraries included in the benchmarks. There are a few things that lead to this performance advantage, none of them hard and fast rules, but all of them simple and repeatable in almost any code library: - -1. Optimize around the fastest and most common use cases first. Of course, this will change from project-to-project, but I took some time to understand how and why `typeof` checks were being used in my own libraries and other libraries I use a lot. -2. Optimize around bottlenecks - In other words, the order in which conditionals are implemented is significant, because each check is only as fast as the failing checks that came before it. Here, the biggest bottleneck by far is checking for plain objects (an object that was created by the `Object` constructor). I opted to make this check happen by process of elimination rather than brute force up front (e.g. by using something like `val.constructor.name`), so that every other type check would not be penalized it. -3. Don't do uneccessary processing - why do `.slice(8, -1).toLowerCase();` just to get the word `regex`? It's much faster to do `if (type === '[object RegExp]') return 'regex'` - -## About - -### Related projects - -* [is-glob](https://www.npmjs.com/package/is-glob): Returns `true` if the given string looks like a glob pattern or an extglob pattern… [more](https://github.com/jonschlinkert/is-glob) | [homepage](https://github.com/jonschlinkert/is-glob "Returns `true` if the given string looks like a glob pattern or an extglob pattern. This makes it easy to create code that only uses external modules like node-glob when necessary, resulting in much faster code execution and initialization time, and a bet") -* [is-number](https://www.npmjs.com/package/is-number): Returns true if the value is a number. comprehensive tests. | [homepage](https://github.com/jonschlinkert/is-number "Returns true if the value is a number. comprehensive tests.") -* [is-primitive](https://www.npmjs.com/package/is-primitive): Returns `true` if the value is a primitive. | [homepage](https://github.com/jonschlinkert/is-primitive "Returns `true` if the value is a primitive. ") - -### Contributing - -Pull requests and stars are always welcome. For bugs and feature requests, [please create an issue](../../issues/new). - -### Contributors - -| **Commits** | **Contributor** | -| --- | --- | -| 59 | [jonschlinkert](https://github.com/jonschlinkert) | -| 2 | [miguelmota](https://github.com/miguelmota) | -| 1 | [dtothefp](https://github.com/dtothefp) | -| 1 | [ksheedlo](https://github.com/ksheedlo) | -| 1 | [pdehaan](https://github.com/pdehaan) | -| 1 | [laggingreflex](https://github.com/laggingreflex) | - -### Building docs - -_(This project's readme.md is generated by [verb](https://github.com/verbose/verb-generate-readme), please don't edit the readme directly. Any changes to the readme must be made in the [.verb.md](.verb.md) readme template.)_ - -To generate the readme, run the following command: - -```sh -$ npm install -g verbose/verb#dev verb-generate-readme && verb -``` - -### Running tests - -Running and reviewing unit tests is a great way to get familiarized with a library and its API. You can install dependencies and run tests with the following command: - -```sh -$ npm install && npm test -``` - -### Author - -**Jon Schlinkert** - -* [github/jonschlinkert](https://github.com/jonschlinkert) -* [twitter/jonschlinkert](https://twitter.com/jonschlinkert) - -### License - -Copyright © 2017, [Jon Schlinkert](https://github.com/jonschlinkert). -Released under the [MIT License](LICENSE). - -*** - -_This file was generated by [verb-generate-readme](https://github.com/verbose/verb-generate-readme), v0.6.0, on May 16, 2017._ \ No newline at end of file diff --git a/publi/node_modules/anymatch/node_modules/kind-of/index.js b/publi/node_modules/anymatch/node_modules/kind-of/index.js deleted file mode 100644 index b52c291..0000000 --- a/publi/node_modules/anymatch/node_modules/kind-of/index.js +++ /dev/null @@ -1,116 +0,0 @@ -var isBuffer = require('is-buffer'); -var toString = Object.prototype.toString; - -/** - * Get the native `typeof` a value. - * - * @param {*} `val` - * @return {*} Native javascript type - */ - -module.exports = function kindOf(val) { - // primitivies - if (typeof val === 'undefined') { - return 'undefined'; - } - if (val === null) { - return 'null'; - } - if (val === true || val === false || val instanceof Boolean) { - return 'boolean'; - } - if (typeof val === 'string' || val instanceof String) { - return 'string'; - } - if (typeof val === 'number' || val instanceof Number) { - return 'number'; - } - - // functions - if (typeof val === 'function' || val instanceof Function) { - return 'function'; - } - - // array - if (typeof Array.isArray !== 'undefined' && Array.isArray(val)) { - return 'array'; - } - - // check for instances of RegExp and Date before calling `toString` - if (val instanceof RegExp) { - return 'regexp'; - } - if (val instanceof Date) { - return 'date'; - } - - // other objects - var type = toString.call(val); - - if (type === '[object RegExp]') { - return 'regexp'; - } - if (type === '[object Date]') { - return 'date'; - } - if (type === '[object Arguments]') { - return 'arguments'; - } - if (type === '[object Error]') { - return 'error'; - } - - // buffer - if (isBuffer(val)) { - return 'buffer'; - } - - // es6: Map, WeakMap, Set, WeakSet - if (type === '[object Set]') { - return 'set'; - } - if (type === '[object WeakSet]') { - return 'weakset'; - } - if (type === '[object Map]') { - return 'map'; - } - if (type === '[object WeakMap]') { - return 'weakmap'; - } - if (type === '[object Symbol]') { - return 'symbol'; - } - - // typed arrays - if (type === '[object Int8Array]') { - return 'int8array'; - } - if (type === '[object Uint8Array]') { - return 'uint8array'; - } - if (type === '[object Uint8ClampedArray]') { - return 'uint8clampedarray'; - } - if (type === '[object Int16Array]') { - return 'int16array'; - } - if (type === '[object Uint16Array]') { - return 'uint16array'; - } - if (type === '[object Int32Array]') { - return 'int32array'; - } - if (type === '[object Uint32Array]') { - return 'uint32array'; - } - if (type === '[object Float32Array]') { - return 'float32array'; - } - if (type === '[object Float64Array]') { - return 'float64array'; - } - - // must be a plain object - return 'object'; -}; diff --git a/publi/node_modules/anymatch/node_modules/kind-of/package.json b/publi/node_modules/anymatch/node_modules/kind-of/package.json deleted file mode 100644 index 7dcce3f..0000000 --- a/publi/node_modules/anymatch/node_modules/kind-of/package.json +++ /dev/null @@ -1,139 +0,0 @@ -{ - "_from": "kind-of@^3.0.2", - "_id": "kind-of@3.2.2", - "_inBundle": false, - "_integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "_location": "/anymatch/kind-of", - "_phantomChildren": {}, - "_requested": { - "type": "range", - "registry": true, - "raw": "kind-of@^3.0.2", - "name": "kind-of", - "escapedName": "kind-of", - "rawSpec": "^3.0.2", - "saveSpec": null, - "fetchSpec": "^3.0.2" - }, - "_requiredBy": [ - "/anymatch/micromatch" - ], - "_resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "_shasum": "31ea21a734bab9bbb0f32466d893aea51e4a3c64", - "_spec": "kind-of@^3.0.2", - "_where": "/mnt/Data/bach/Documents/ola/OLA#5/ola5doc/publi/node_modules/anymatch/node_modules/micromatch", - "author": { - "name": "Jon Schlinkert", - "url": "https://github.com/jonschlinkert" - }, - "bugs": { - "url": "https://github.com/jonschlinkert/kind-of/issues" - }, - "bundleDependencies": false, - "contributors": [ - { - "name": "David Fox-Powell", - "url": "https://dtothefp.github.io/me" - }, - { - "name": "Jon Schlinkert", - "url": "http://twitter.com/jonschlinkert" - }, - { - "name": "Ken Sheedlo", - "url": "kensheedlo.com" - }, - { - "name": "laggingreflex", - "url": "https://github.com/laggingreflex" - }, - { - "name": "Miguel Mota", - "url": "https://miguelmota.com" - }, - { - "name": "Peter deHaan", - "url": "http://about.me/peterdehaan" - } - ], - "dependencies": { - "is-buffer": "^1.1.5" - }, - "deprecated": false, - "description": "Get the native type of a value.", - "devDependencies": { - "ansi-bold": "^0.1.1", - "benchmarked": "^1.0.0", - "browserify": "^14.3.0", - "glob": "^7.1.1", - "gulp-format-md": "^0.1.12", - "mocha": "^3.3.0", - "type-of": "^2.0.1", - "typeof": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - }, - "files": [ - "index.js" - ], - "homepage": "https://github.com/jonschlinkert/kind-of", - "keywords": [ - "arguments", - "array", - "boolean", - "check", - "date", - "function", - "is", - "is-type", - "is-type-of", - "kind", - "kind-of", - "number", - "object", - "of", - "regexp", - "string", - "test", - "type", - "type-of", - "typeof", - "types" - ], - "license": "MIT", - "main": "index.js", - "name": "kind-of", - "repository": { - "type": "git", - "url": "git+https://github.com/jonschlinkert/kind-of.git" - }, - "scripts": { - "prepublish": "browserify -o browser.js -e index.js -s index --bare", - "test": "mocha" - }, - "verb": { - "related": { - "list": [ - "is-glob", - "is-number", - "is-primitive" - ] - }, - "toc": false, - "layout": "default", - "tasks": [ - "readme" - ], - "plugins": [ - "gulp-format-md" - ], - "lint": { - "reflinks": true - }, - "reflinks": [ - "verb" - ] - }, - "version": "3.2.2" -} diff --git a/publi/node_modules/anymatch/node_modules/micromatch/LICENSE b/publi/node_modules/anymatch/node_modules/micromatch/LICENSE deleted file mode 100755 index fa30c4c..0000000 --- a/publi/node_modules/anymatch/node_modules/micromatch/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2014-2015, 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. diff --git a/publi/node_modules/anymatch/node_modules/micromatch/README.md b/publi/node_modules/anymatch/node_modules/micromatch/README.md deleted file mode 100644 index 8fb3919..0000000 --- a/publi/node_modules/anymatch/node_modules/micromatch/README.md +++ /dev/null @@ -1,689 +0,0 @@ -# micromatch [![NPM version](https://img.shields.io/npm/v/micromatch.svg?style=flat)](https://www.npmjs.com/package/micromatch) [![NPM downloads](https://img.shields.io/npm/dm/micromatch.svg?style=flat)](https://npmjs.org/package/micromatch) [![Build Status](https://img.shields.io/travis/jonschlinkert/micromatch.svg?style=flat)](https://travis-ci.org/jonschlinkert/micromatch) - -> Glob matching for javascript/node.js. A drop-in replacement and faster alternative to minimatch and multimatch. - -Micromatch supports all of the same matching features as [minimatch](https://github.com/isaacs/minimatch) and [multimatch](https://github.com/sindresorhus/multimatch). - -* [mm()](#usage) is the same as [multimatch()](https://github.com/sindresorhus/multimatch) -* [mm.match()](#match) is the same as [minimatch.match()](https://github.com/isaacs/minimatch) -* use [mm.isMatch()](#ismatch) instead of [minimatch()](https://github.com/isaacs/minimatch) - -## Install - -Install with [npm](https://www.npmjs.com/): - -```sh -$ npm install --save micromatch -``` - -## Start matching! - -```js -var mm = require('micromatch'); -console.log(mm([''])) -``` - -*** - -### Features - -* [Drop-in replacement](#switch-from-minimatch) for [minimatch](https://github.com/isaacs/minimatch) and [multimatch](https://github.com/sindresorhus/multimatch) -* Built-in support for multiple glob patterns, like `['foo/*.js', '!bar.js']` -* [Brace Expansion](https://github.com/jonschlinkert/braces) (`foo/bar-{1..5}.md`, `one/{two,three}/four.md`) -* Typical glob patterns, like `**/*`, `a/b/*.js`, or `['foo/*.js', '!bar.js']` -* Methods like `.isMatch()`, `.contains()` and `.any()` - -**Extended globbing features:** - -* Logical `OR` (`foo/bar/(abc|xyz).js`) -* Regex character classes (`foo/bar/baz-[1-5].js`) -* POSIX [bracket expressions](https://github.com/jonschlinkert/expand-brackets) (`**/[[:alpha:][:digit:]]/`) -* [extglobs](https://github.com/jonschlinkert/extglob) (`**/+(x|y)`, `!(a|b)`, etc). - -You can combine these to create whatever matching patterns you need. - -**Example** - -```js -// double-negation! -mm(['fa', 'fb', 'f', 'fo'], '!(f!(o))'); -//=> ['fo'] -``` - -## Why switch to micromatch? - -* Native support for multiple glob patterns, no need for wrappers like [multimatch](https://github.com/sindresorhus/multimatch) -* [10-55x faster](#benchmarks) and more performant than [minimatch](https://github.com/isaacs/minimatch) and [multimatch](https://github.com/sindresorhus/multimatch). This is achieved through a combination of caching and regex optimization strategies, a fundamentally different approach than minimatch. -* More extensive support for the Bash 4.3 specification -* More complete extglob support -* Extensive [unit tests](./test) (approx. 1,300 tests). Minimatch fails many of the tests. - -### Switch from minimatch - -Use `mm.isMatch()` instead of `minimatch()`: - -```js -mm.isMatch('foo', 'b*'); -//=> false -``` - -Use `mm.match()` instead of `minimatch.match()`: - -```js -mm.match(['foo', 'bar'], 'b*'); -//=> 'bar' -``` - -### Switch from multimatch - -Same signature: - -```js -mm(['foo', 'bar', 'baz'], ['f*', '*z']); -//=> ['foo', 'baz'] -``` - -*** - -## Usage - -Add micromatch to your node.js project: - -```js -var mm = require('micromatch'); -``` - -**Signature** - -```js -mm(array_of_strings, glob_patterns[, options]); -``` - -**Example** - -```js -mm(['foo', 'bar', 'baz'], 'b*'); -//=> ['bar', 'baz'] -``` - -### Usage examples - -**Brace expansion** - -Match files with `.js` or `.txt` extensions. - -```js -mm(['a.js', 'b.md', 'c.txt'], '*.{js,txt}'); -//=> ['a.js', 'c.txt'] -``` - -**Extglobs** - -Match anything except for files with the `.md` extension. - -```js -mm(files, '**/*.!(md)'); - -//=> ['a.js', 'c.txt'] -``` - -**Multiple patterns** - -Match using an array of patterns. - -```js -mm(['a.md', 'b.js', 'c.txt', 'd.json'], ['*.md', '*.txt']); -//=> ['a.md', 'c.txt'] -``` - -**Negation patterns:** - -Behavior is designed to be what users would expect, based on conventions that are already well-established. - -* [minimatch](https://github.com/isaacs/minimatch) behavior is used when the pattern is a string, so patterns are **inclusive by default**. -* [multimatch](https://github.com/sindresorhus/multimatch) behavior is used when an array of patterns is passed, so patterns are **exclusive by default**. - -```js -mm(['a.js', 'b.md', 'c.txt'], '!*.{js,txt}'); -//=> ['b.md'] - -mm(['a.md', 'b.js', 'c.txt', 'd.json'], ['*.*', '!*.{js,txt}']); -//=> ['a.md', 'd.json'] -``` - -*** - -## API methods - -```js -var mm = require('micromatch'); -``` - -### .match - -```js -mm.match(array, globString); -``` - -Return an array of files that match the given glob pattern. Useful if you only need to use a single glob pattern. - -**Example** - -```js -mm.match(['ab', 'a/b', 'bb', 'b/c'], '?b'); -//=> ['ab', 'bb'] - -mm.match(['ab', 'a/b', 'bb', 'b/c'], '*/b'); -//=> ['a/b'] -``` - -### .isMatch - -```js -mm.isMatch(filepath, globString); -``` - -Returns true if a file path matches the given glob pattern. - -**Example** - -```js -mm.isMatch('.verb.md', '*.md'); -//=> false - -mm.isMatch('.verb.md', '*.md', {dot: true}); -//=> true -``` - -### .contains - -Returns true if any part of a file path matches the given glob pattern. Think of this is "has path" versus "is path". - -**Example** - -`.isMatch()` would return false for both of the following: - -```js -mm.contains('a/b/c', 'a/b'); -//=> true - -mm.contains('a/b/c', 'a/*'); -//=> true -``` - -### .matcher - -Returns a function for matching using the supplied pattern. e.g. create your own "matcher". The advantage of this method is that the pattern can be compiled outside of a loop. - -**Pattern** - -Can be any of the following: - -* `glob/string` -* `regex` -* `function` - -**Example** - -```js -var isMatch = mm.matcher('*.md'); -var files = []; - -['a.md', 'b.txt', 'c.md'].forEach(function(fp) { - if (isMatch(fp)) { - files.push(fp); - } -}); -``` - -### .filter - -Returns a function that can be passed to `Array#filter()`. - -**Params** - -* `patterns` **{String|Array}**: - -**Examples** - -Single glob: - -```js -var fn = mm.filter('*.md'); -['a.js', 'b.txt', 'c.md'].filter(fn); -//=> ['c.md'] - -var fn = mm.filter('[a-c]'); -['a', 'b', 'c', 'd', 'e'].filter(fn); -//=> ['a', 'b', 'c'] -``` - -Array of glob patterns: - -```js -var arr = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]; - -var fn = mm.filter(['{1..10}', '![7-9]', '!{3..4}']); -arr.filter(fn); -//=> [1, 2, 5, 6, 10] -``` - -_(Internally this function generates the matching function by using the [matcher](#matcher) method. You can use the [matcher](#matcher) method directly to create your own filter function)_ - -### .any - -Returns true if a file path matches any of the given patterns. - -```js -mm.any(filepath, patterns, options); -``` - -**Params** - -* filepath `{String}`: The file path to test. -* patterns `{String|Array}`: One or more glob patterns -* options: `{Object}`: options to pass to the `.matcher()` method. - -**Example** - -```js -mm.any('abc', ['!*z']); -//=> true -mm.any('abc', ['a*', 'z*']); -//=> true -mm.any('abc', 'a*'); -//=> true -mm.any('abc', ['z*']); -//=> false -``` - -### .expand - -Returns an object with a regex-compatible string and tokens. - -```js -mm.expand('*.js'); - -// when `track` is enabled (for debugging), the `history` array is used -// to record each mutation to the glob pattern as it's converted to regex -{ options: { track: false, dot: undefined, makeRe: true, negated: false }, - pattern: '(.*\\/|^)bar\\/(?:(?!(?:^|\\/)\\.).)*?', - history: [], - tokens: - { path: - { whole: '**/bar/**', - dirname: '**/bar/', - filename: '**', - basename: '**', - extname: '', - ext: '' }, - is: - { glob: true, - negated: false, - globstar: true, - dotfile: false, - dotdir: false }, - match: {}, - original: '**/bar/**', - pattern: '**/bar/**', - base: '' } } -``` - -### .makeRe - -Create a regular expression for matching file paths based on the given pattern: - -```js -mm.makeRe('*.js'); -//=> /^(?:(?!\.)(?=.)[^/]*?\.js)$/ -``` - -## Options - -### options.unixify - -Normalize slashes in file paths and glob patterns to forward slashes. - -Type: `{Boolean}` - -Default: `undefined` on non-windows, `true` on windows. - -### options.dot - -Match dotfiles. Same behavior as [minimatch](https://github.com/isaacs/minimatch). - -Type: `{Boolean}` - -Default: `false` - -### options.unescape - -Unescape slashes in glob patterns. Use cautiously, especially on windows. - -Type: `{Boolean}` - -Default: `undefined` - -**Example** - -```js -mm.isMatch('abc', '\\a\\b\\c', {unescape: true}); -//=> true -``` - -### options.nodupes - -Remove duplicate elements from the result array. - -Type: `{Boolean}` - -Default: `undefined` - -**Example** - -Example of using the `unescape` and `nodupes` options together: - -```js -mm.match(['abc', '\\a\\b\\c'], '\\a\\b\\c', {unescape: true}); -//=> ['abc', 'abc'] - -mm.match(['abc', '\\a\\b\\c'], '\\a\\b\\c', {unescape: true, nodupes: true}); -//=> ['abc'] -``` - -### options.matchBase - -Allow glob patterns without slashes to match a file path based on its basename. . Same behavior as [minimatch](https://github.com/isaacs/minimatch). - -Type: `{Boolean}` - -Default: `false` - -**Example** - -```js -mm(['a/b.js', 'a/c.md'], '*.js'); -//=> [] - -mm(['a/b.js', 'a/c.md'], '*.js', {matchBase: true}); -//=> ['a/b.js'] -``` - -### options.nobraces - -Don't expand braces in glob patterns. Same behavior as [minimatch](https://github.com/isaacs/minimatch) `nobrace`. - -Type: `{Boolean}` - -Default: `undefined` - -See [braces](https://github.com/jonschlinkert/braces) for more information about extended brace expansion. - -### options.nobrackets - -Don't expand POSIX bracket expressions. - -Type: `{Boolean}` - -Default: `undefined` - -See [expand-brackets](https://github.com/jonschlinkert/expand-brackets) for more information about extended bracket expressions. - -### options.noextglob - -Don't expand extended globs. - -Type: `{Boolean}` - -Default: `undefined` - -See [extglob](https://github.com/jonschlinkert/extglob) for more information about extended globs. - -### options.nocase - -Use a case-insensitive regex for matching files. Same behavior as [minimatch](https://github.com/isaacs/minimatch). - -Type: `{Boolean}` - -Default: `false` - -### options.nonegate - -Disallow negation (`!`) patterns. - -Type: `{Boolean}` - -Default: `false` - -### options.nonull - -If `true`, when no matches are found the actual (array-ified) glob pattern is returned instead of an empty array. Same behavior as [minimatch](https://github.com/isaacs/minimatch). - -Type: `{Boolean}` - -Default: `false` - -### options.cache - -Cache the platform (e.g. `win32`) to prevent this from being looked up for every filepath. - -Type: `{Boolean}` - -Default: `true` - -*** - -## Other features - -Micromatch also supports the following. - -### Extended globbing - -#### extglobs - -Extended globbing, as described by the bash man page: - -| **pattern** | **regex equivalent** | **description** | -| --- | --- | --- | -| `?(pattern-list)` | `(... | ...)?` | Matches zero or one occurrence of the given patterns | -| `*(pattern-list)` | `(... | ...)*` | Matches zero or more occurrences of the given patterns | -| `+(pattern-list)` | `(... | ...)+` | Matches one or more occurrences of the given patterns | -| `@(pattern-list)` | `(... | ...)` * | Matches one of the given patterns | -| `!(pattern-list)` | N/A | Matches anything except one of the given patterns | - -* `@` isn't a RegEx character. - -Powered by [extglob](https://github.com/jonschlinkert/extglob). Visit that library for the full range of options or to report extglob related issues. - -See [extglob](https://github.com/jonschlinkert/extglob) for more information about extended globs. - -#### brace expansion - -In simple cases, brace expansion appears to work the same way as the logical `OR` operator. For example, `(a|b)` will achieve the same result as `{a,b}`. - -Here are some powerful features unique to brace expansion (versus character classes): - -* range expansion: `a{1..3}b/*.js` expands to: `['a1b/*.js', 'a2b/*.js', 'a3b/*.js']` -* nesting: `a{c,{d,e}}b/*.js` expands to: `['acb/*.js', 'adb/*.js', 'aeb/*.js']` - -Visit [braces](https://github.com/jonschlinkert/braces) to ask questions and create an issue related to brace-expansion, or to see the full range of features and options related to brace expansion. - -#### regex character classes - -With the exception of brace expansion (`{a,b}`, `{1..5}`, etc), most of the special characters convert directly to regex, so you can expect them to follow the same rules and produce the same results as regex. - -For example, given the list: `['a.js', 'b.js', 'c.js', 'd.js', 'E.js']`: - -* `[ac].js`: matches both `a` and `c`, returning `['a.js', 'c.js']` -* `[b-d].js`: matches from `b` to `d`, returning `['b.js', 'c.js', 'd.js']` -* `[b-d].js`: matches from `b` to `d`, returning `['b.js', 'c.js', 'd.js']` -* `a/[A-Z].js`: matches and uppercase letter, returning `['a/E.md']` - -Learn about [regex character classes](http://www.regular-expressions.info/charclass.html). - -#### regex groups - -Given `['a.js', 'b.js', 'c.js', 'd.js', 'E.js']`: - -* `(a|c).js`: would match either `a` or `c`, returning `['a.js', 'c.js']` -* `(b|d).js`: would match either `b` or `d`, returning `['b.js', 'd.js']` -* `(b|[A-Z]).js`: would match either `b` or an uppercase letter, returning `['b.js', 'E.js']` - -As with regex, parenthese can be nested, so patterns like `((a|b)|c)/b` will work. But it might be easier to achieve your goal using brace expansion. - -#### POSIX bracket expressions - -**Example** - -```js -mm.isMatch('a1', '[[:alpha:][:digit:]]'); -//=> true -``` - -See [expand-brackets](https://github.com/jonschlinkert/expand-brackets) for more information about extended bracket expressions. - -*** - -## Notes - -Whenever possible parsing behavior for patterns is based on globbing specifications in Bash 4.3. Patterns that aren't described by Bash follow wildmatch spec (used by git). - -## Benchmarks - -Run the [benchmarks](./benchmark): - -```bash -node benchmark -``` - -As of July 15, 2016: - -```bash -#1: basename-braces - micromatch x 26,420 ops/sec ±0.89% (91 runs sampled) - minimatch x 3,507 ops/sec ±0.64% (97 runs sampled) - -#2: basename - micromatch x 25,315 ops/sec ±0.82% (93 runs sampled) - minimatch x 4,398 ops/sec ±0.86% (94 runs sampled) - -#3: braces-no-glob - micromatch x 341,254 ops/sec ±0.78% (93 runs sampled) - minimatch x 30,197 ops/sec ±1.12% (91 runs sampled) - -#4: braces - micromatch x 54,649 ops/sec ±0.74% (94 runs sampled) - minimatch x 3,095 ops/sec ±0.82% (95 runs sampled) - -#5: immediate - micromatch x 16,719 ops/sec ±0.79% (95 runs sampled) - minimatch x 4,348 ops/sec ±0.86% (96 runs sampled) - -#6: large - micromatch x 721 ops/sec ±0.77% (94 runs sampled) - minimatch x 17.73 ops/sec ±1.08% (50 runs sampled) - -#7: long - micromatch x 5,051 ops/sec ±0.87% (97 runs sampled) - minimatch x 628 ops/sec ±0.83% (94 runs sampled) - -#8: mid - micromatch x 51,280 ops/sec ±0.80% (95 runs sampled) - minimatch x 1,923 ops/sec ±0.84% (95 runs sampled) - -#9: multi-patterns - micromatch x 22,440 ops/sec ±0.97% (94 runs sampled) - minimatch x 2,481 ops/sec ±1.10% (94 runs sampled) - -#10: no-glob - micromatch x 722,823 ops/sec ±1.30% (87 runs sampled) - minimatch x 52,967 ops/sec ±1.09% (94 runs sampled) - -#11: range - micromatch x 243,471 ops/sec ±0.79% (94 runs sampled) - minimatch x 11,736 ops/sec ±0.82% (96 runs sampled) - -#12: shallow - micromatch x 190,874 ops/sec ±0.98% (95 runs sampled) - minimatch x 21,699 ops/sec ±0.81% (97 runs sampled) - -#13: short - micromatch x 496,393 ops/sec ±3.86% (90 runs sampled) - minimatch x 53,765 ops/sec ±0.75% (95 runs sampled) -``` - -## Tests - -### Running tests - -Install dev dependencies: - -```sh -$ npm install -d && npm test -``` - -### Coverage - -As of July 15, 2016: - -```sh -Statements : 100% (441/441) -Branches : 100% (270/270) -Functions : 100% (54/54) -Lines : 100% (429/429) -``` - -## Contributing - -Pull requests and stars are always welcome. For bugs and feature requests, [please create an issue](../../issues/new). - -Please be sure to run the benchmarks before/after any code changes to judge the impact before you do a PR. thanks! - -## Related - -* [braces](https://www.npmjs.com/package/braces): Fastest brace expansion for node.js, with the most complete support for the Bash 4.3 braces… [more](https://github.com/jonschlinkert/braces) | [homepage](https://github.com/jonschlinkert/braces "Fastest brace expansion for node.js, with the most complete support for the Bash 4.3 braces specification.") -* [expand-brackets](https://www.npmjs.com/package/expand-brackets): Expand POSIX bracket expressions (character classes) in glob patterns. | [homepage](https://github.com/jonschlinkert/expand-brackets "Expand POSIX bracket expressions (character classes) in glob patterns.") -* [expand-range](https://www.npmjs.com/package/expand-range): Fast, bash-like range expansion. Expand a range of numbers or letters, uppercase or lowercase. See… [more](https://github.com/jonschlinkert/expand-range) | [homepage](https://github.com/jonschlinkert/expand-range "Fast, bash-like range expansion. Expand a range of numbers or letters, uppercase or lowercase. See the benchmarks. Used by micromatch.") -* [extglob](https://www.npmjs.com/package/extglob): Convert extended globs to regex-compatible strings. Add (almost) the expressive power of regular expressions to… [more](https://github.com/jonschlinkert/extglob) | [homepage](https://github.com/jonschlinkert/extglob "Convert extended globs to regex-compatible strings. Add (almost) the expressive power of regular expressions to glob patterns.") -* [fill-range](https://www.npmjs.com/package/fill-range): Fill in a range of numbers or letters, optionally passing an increment or multiplier to… [more](https://github.com/jonschlinkert/fill-range) | [homepage](https://github.com/jonschlinkert/fill-range "Fill in a range of numbers or letters, optionally passing an increment or multiplier to use.") -* [gulp-micromatch](https://www.npmjs.com/package/gulp-micromatch): Filter vinyl files with glob patterns, string, regexp, array, object or matcher function. micromatch stream. | [homepage](https://github.com/tunnckocore/gulp-micromatch#readme "Filter vinyl files with glob patterns, string, regexp, array, object or matcher function. micromatch stream.") -* [is-glob](https://www.npmjs.com/package/is-glob): Returns `true` if the given string looks like a glob pattern or an extglob pattern… [more](https://github.com/jonschlinkert/is-glob) | [homepage](https://github.com/jonschlinkert/is-glob "Returns `true` if the given string looks like a glob pattern or an extglob pattern. This makes it easy to create code that only uses external modules like node-glob when necessary, resulting in much faster code execution and initialization time, and a bet") -* [parse-glob](https://www.npmjs.com/package/parse-glob): Parse a glob pattern into an object of tokens. | [homepage](https://github.com/jonschlinkert/parse-glob "Parse a glob pattern into an object of tokens.") - -## Contributing - -Pull requests and stars are always welcome. For bugs and feature requests, [please create an issue](../../issues/new). - -## Building docs - -_(This document was generated by [verb-generate-readme](https://github.com/verbose/verb-generate-readme) (a [verb](https://github.com/verbose/verb) generator), please don't edit the readme directly. Any changes to the readme must be made in [.verb.md](.verb.md).)_ - -To generate the readme and API documentation with [verb](https://github.com/verbose/verb): - -```sh -$ npm install -g verb verb-generate-readme && verb -``` - -## Running tests - -Install dev dependencies: - -```sh -$ npm install -d && npm test -``` - -## Author - -**Jon Schlinkert** - -* [github/jonschlinkert](https://github.com/jonschlinkert) -* [twitter/jonschlinkert](http://twitter.com/jonschlinkert) - -## License - -Copyright © 2016, [Jon Schlinkert](https://github.com/jonschlinkert). -Released under the [MIT license](https://github.com/jonschlinkert/micromatch/blob/master/LICENSE). - -*** - -_This file was generated by [verb](https://github.com/verbose/verb), v0.9.0, on July 15, 2016._ \ No newline at end of file diff --git a/publi/node_modules/anymatch/node_modules/micromatch/index.js b/publi/node_modules/anymatch/node_modules/micromatch/index.js deleted file mode 100755 index f898ec1..0000000 --- a/publi/node_modules/anymatch/node_modules/micromatch/index.js +++ /dev/null @@ -1,431 +0,0 @@ -/*! - * micromatch - * - * Copyright (c) 2014-2015, Jon Schlinkert. - * Licensed under the MIT License. - */ - -'use strict'; - -var expand = require('./lib/expand'); -var utils = require('./lib/utils'); - -/** - * The main function. Pass an array of filepaths, - * and a string or array of glob patterns - * - * @param {Array|String} `files` - * @param {Array|String} `patterns` - * @param {Object} `opts` - * @return {Array} Array of matches - */ - -function micromatch(files, patterns, opts) { - if (!files || !patterns) return []; - opts = opts || {}; - - if (typeof opts.cache === 'undefined') { - opts.cache = true; - } - - if (!Array.isArray(patterns)) { - return match(files, patterns, opts); - } - - var len = patterns.length, i = 0; - var omit = [], keep = []; - - while (len--) { - var glob = patterns[i++]; - if (typeof glob === 'string' && glob.charCodeAt(0) === 33 /* ! */) { - omit.push.apply(omit, match(files, glob.slice(1), opts)); - } else { - keep.push.apply(keep, match(files, glob, opts)); - } - } - return utils.diff(keep, omit); -} - -/** - * Return an array of files that match the given glob pattern. - * - * This function is called by the main `micromatch` function If you only - * need to pass a single pattern you might get very minor speed improvements - * using this function. - * - * @param {Array} `files` - * @param {String} `pattern` - * @param {Object} `options` - * @return {Array} - */ - -function match(files, pattern, opts) { - if (utils.typeOf(files) !== 'string' && !Array.isArray(files)) { - throw new Error(msg('match', 'files', 'a string or array')); - } - - files = utils.arrayify(files); - opts = opts || {}; - - var negate = opts.negate || false; - var orig = pattern; - - if (typeof pattern === 'string') { - negate = pattern.charAt(0) === '!'; - if (negate) { - pattern = pattern.slice(1); - } - - // we need to remove the character regardless, - // so the above logic is still needed - if (opts.nonegate === true) { - negate = false; - } - } - - var _isMatch = matcher(pattern, opts); - var len = files.length, i = 0; - var res = []; - - while (i < len) { - var file = files[i++]; - var fp = utils.unixify(file, opts); - - if (!_isMatch(fp)) { continue; } - res.push(fp); - } - - if (res.length === 0) { - if (opts.failglob === true) { - throw new Error('micromatch.match() found no matches for: "' + orig + '".'); - } - - if (opts.nonull || opts.nullglob) { - res.push(utils.unescapeGlob(orig)); - } - } - - // if `negate` was defined, diff negated files - if (negate) { res = utils.diff(files, res); } - - // if `ignore` was defined, diff ignored filed - if (opts.ignore && opts.ignore.length) { - pattern = opts.ignore; - opts = utils.omit(opts, ['ignore']); - res = utils.diff(res, micromatch(res, pattern, opts)); - } - - if (opts.nodupes) { - return utils.unique(res); - } - return res; -} - -/** - * Returns a function that takes a glob pattern or array of glob patterns - * to be used with `Array#filter()`. (Internally this function generates - * the matching function using the [matcher] method). - * - * ```js - * var fn = mm.filter('[a-c]'); - * ['a', 'b', 'c', 'd', 'e'].filter(fn); - * //=> ['a', 'b', 'c'] - * ``` - * @param {String|Array} `patterns` Can be a glob or array of globs. - * @param {Options} `opts` Options to pass to the [matcher] method. - * @return {Function} Filter function to be passed to `Array#filter()`. - */ - -function filter(patterns, opts) { - if (!Array.isArray(patterns) && typeof patterns !== 'string') { - throw new TypeError(msg('filter', 'patterns', 'a string or array')); - } - - patterns = utils.arrayify(patterns); - var len = patterns.length, i = 0; - var patternMatchers = Array(len); - while (i < len) { - patternMatchers[i] = matcher(patterns[i++], opts); - } - - return function(fp) { - if (fp == null) return []; - var len = patternMatchers.length, i = 0; - var res = true; - - fp = utils.unixify(fp, opts); - while (i < len) { - var fn = patternMatchers[i++]; - if (!fn(fp)) { - res = false; - break; - } - } - return res; - }; -} - -/** - * Returns true if the filepath contains the given - * pattern. Can also return a function for matching. - * - * ```js - * isMatch('foo.md', '*.md', {}); - * //=> true - * - * isMatch('*.md', {})('foo.md') - * //=> true - * ``` - * @param {String} `fp` - * @param {String} `pattern` - * @param {Object} `opts` - * @return {Boolean} - */ - -function isMatch(fp, pattern, opts) { - if (typeof fp !== 'string') { - throw new TypeError(msg('isMatch', 'filepath', 'a string')); - } - - fp = utils.unixify(fp, opts); - if (utils.typeOf(pattern) === 'object') { - return matcher(fp, pattern); - } - return matcher(pattern, opts)(fp); -} - -/** - * Returns true if the filepath matches the - * given pattern. - */ - -function contains(fp, pattern, opts) { - if (typeof fp !== 'string') { - throw new TypeError(msg('contains', 'pattern', 'a string')); - } - - opts = opts || {}; - opts.contains = (pattern !== ''); - fp = utils.unixify(fp, opts); - - if (opts.contains && !utils.isGlob(pattern)) { - return fp.indexOf(pattern) !== -1; - } - return matcher(pattern, opts)(fp); -} - -/** - * Returns true if a file path matches any of the - * given patterns. - * - * @param {String} `fp` The filepath to test. - * @param {String|Array} `patterns` Glob patterns to use. - * @param {Object} `opts` Options to pass to the `matcher()` function. - * @return {String} - */ - -function any(fp, patterns, opts) { - if (!Array.isArray(patterns) && typeof patterns !== 'string') { - throw new TypeError(msg('any', 'patterns', 'a string or array')); - } - - patterns = utils.arrayify(patterns); - var len = patterns.length; - - fp = utils.unixify(fp, opts); - while (len--) { - var isMatch = matcher(patterns[len], opts); - if (isMatch(fp)) { - return true; - } - } - return false; -} - -/** - * Filter the keys of an object with the given `glob` pattern - * and `options` - * - * @param {Object} `object` - * @param {Pattern} `object` - * @return {Array} - */ - -function matchKeys(obj, glob, options) { - if (utils.typeOf(obj) !== 'object') { - throw new TypeError(msg('matchKeys', 'first argument', 'an object')); - } - - var fn = matcher(glob, options); - var res = {}; - - for (var key in obj) { - if (obj.hasOwnProperty(key) && fn(key)) { - res[key] = obj[key]; - } - } - return res; -} - -/** - * Return a function for matching based on the - * given `pattern` and `options`. - * - * @param {String} `pattern` - * @param {Object} `options` - * @return {Function} - */ - -function matcher(pattern, opts) { - // pattern is a function - if (typeof pattern === 'function') { - return pattern; - } - // pattern is a regex - if (pattern instanceof RegExp) { - return function(fp) { - return pattern.test(fp); - }; - } - - if (typeof pattern !== 'string') { - throw new TypeError(msg('matcher', 'pattern', 'a string, regex, or function')); - } - - // strings, all the way down... - pattern = utils.unixify(pattern, opts); - - // pattern is a non-glob string - if (!utils.isGlob(pattern)) { - return utils.matchPath(pattern, opts); - } - // pattern is a glob string - var re = makeRe(pattern, opts); - - // `matchBase` is defined - if (opts && opts.matchBase) { - return utils.hasFilename(re, opts); - } - // `matchBase` is not defined - return function(fp) { - fp = utils.unixify(fp, opts); - return re.test(fp); - }; -} - -/** - * Create and cache a regular expression for matching - * file paths. - * - * If the leading character in the `glob` is `!`, a negation - * regex is returned. - * - * @param {String} `glob` - * @param {Object} `options` - * @return {RegExp} - */ - -function toRegex(glob, options) { - // clone options to prevent mutating the original object - var opts = Object.create(options || {}); - var flags = opts.flags || ''; - if (opts.nocase && flags.indexOf('i') === -1) { - flags += 'i'; - } - - var parsed = expand(glob, opts); - - // pass in tokens to avoid parsing more than once - opts.negated = opts.negated || parsed.negated; - opts.negate = opts.negated; - glob = wrapGlob(parsed.pattern, opts); - var re; - - try { - re = new RegExp(glob, flags); - return re; - } catch (err) { - err.reason = 'micromatch invalid regex: (' + re + ')'; - if (opts.strict) throw new SyntaxError(err); - } - - // we're only here if a bad pattern was used and the user - // passed `options.silent`, so match nothing - return /$^/; -} - -/** - * Create the regex to do the matching. If the leading - * character in the `glob` is `!` a negation regex is returned. - * - * @param {String} `glob` - * @param {Boolean} `negate` - */ - -function wrapGlob(glob, opts) { - var prefix = (opts && !opts.contains) ? '^' : ''; - var after = (opts && !opts.contains) ? '$' : ''; - glob = ('(?:' + glob + ')' + after); - if (opts && opts.negate) { - return prefix + ('(?!^' + glob + ').*$'); - } - return prefix + glob; -} - -/** - * Create and cache a regular expression for matching file paths. - * If the leading character in the `glob` is `!`, a negation - * regex is returned. - * - * @param {String} `glob` - * @param {Object} `options` - * @return {RegExp} - */ - -function makeRe(glob, opts) { - if (utils.typeOf(glob) !== 'string') { - throw new Error(msg('makeRe', 'glob', 'a string')); - } - return utils.cache(toRegex, glob, opts); -} - -/** - * Make error messages consistent. Follows this format: - * - * ```js - * msg(methodName, argNumber, nativeType); - * // example: - * msg('matchKeys', 'first', 'an object'); - * ``` - * - * @param {String} `method` - * @param {String} `num` - * @param {String} `type` - * @return {String} - */ - -function msg(method, what, type) { - return 'micromatch.' + method + '(): ' + what + ' should be ' + type + '.'; -} - -/** - * Public methods - */ - -/* eslint no-multi-spaces: 0 */ -micromatch.any = any; -micromatch.braces = micromatch.braceExpand = utils.braces; -micromatch.contains = contains; -micromatch.expand = expand; -micromatch.filter = filter; -micromatch.isMatch = isMatch; -micromatch.makeRe = makeRe; -micromatch.match = match; -micromatch.matcher = matcher; -micromatch.matchKeys = matchKeys; - -/** - * Expose `micromatch` - */ - -module.exports = micromatch; diff --git a/publi/node_modules/anymatch/node_modules/micromatch/lib/chars.js b/publi/node_modules/anymatch/node_modules/micromatch/lib/chars.js deleted file mode 100644 index a1ffe37..0000000 --- a/publi/node_modules/anymatch/node_modules/micromatch/lib/chars.js +++ /dev/null @@ -1,67 +0,0 @@ -'use strict'; - -var chars = {}, unesc, temp; - -function reverse(object, prepender) { - return Object.keys(object).reduce(function(reversed, key) { - var newKey = prepender ? prepender + key : key; // Optionally prepend a string to key. - reversed[object[key]] = newKey; // Swap key and value. - return reversed; // Return the result. - }, {}); -} - -/** - * Regex for common characters - */ - -chars.escapeRegex = { - '?': /\?/g, - '@': /\@/g, - '!': /\!/g, - '+': /\+/g, - '*': /\*/g, - '(': /\(/g, - ')': /\)/g, - '[': /\[/g, - ']': /\]/g -}; - -/** - * Escape characters - */ - -chars.ESC = { - '?': '__UNESC_QMRK__', - '@': '__UNESC_AMPE__', - '!': '__UNESC_EXCL__', - '+': '__UNESC_PLUS__', - '*': '__UNESC_STAR__', - ',': '__UNESC_COMMA__', - '(': '__UNESC_LTPAREN__', - ')': '__UNESC_RTPAREN__', - '[': '__UNESC_LTBRACK__', - ']': '__UNESC_RTBRACK__' -}; - -/** - * Unescape characters - */ - -chars.UNESC = unesc || (unesc = reverse(chars.ESC, '\\')); - -chars.ESC_TEMP = { - '?': '__TEMP_QMRK__', - '@': '__TEMP_AMPE__', - '!': '__TEMP_EXCL__', - '*': '__TEMP_STAR__', - '+': '__TEMP_PLUS__', - ',': '__TEMP_COMMA__', - '(': '__TEMP_LTPAREN__', - ')': '__TEMP_RTPAREN__', - '[': '__TEMP_LTBRACK__', - ']': '__TEMP_RTBRACK__' -}; - -chars.TEMP = temp || (temp = reverse(chars.ESC_TEMP)); - -module.exports = chars; diff --git a/publi/node_modules/anymatch/node_modules/micromatch/lib/expand.js b/publi/node_modules/anymatch/node_modules/micromatch/lib/expand.js deleted file mode 100644 index e99b081..0000000 --- a/publi/node_modules/anymatch/node_modules/micromatch/lib/expand.js +++ /dev/null @@ -1,304 +0,0 @@ -/*! - * micromatch - * - * Copyright (c) 2014-2015, Jon Schlinkert. - * Licensed under the MIT License. - */ - -'use strict'; - -var utils = require('./utils'); -var Glob = require('./glob'); - -/** - * Expose `expand` - */ - -module.exports = expand; - -/** - * Expand a glob pattern to resolve braces and - * similar patterns before converting to regex. - * - * @param {String|Array} `pattern` - * @param {Array} `files` - * @param {Options} `opts` - * @return {Array} - */ - -function expand(pattern, options) { - if (typeof pattern !== 'string') { - throw new TypeError('micromatch.expand(): argument should be a string.'); - } - - var glob = new Glob(pattern, options || {}); - var opts = glob.options; - - if (!utils.isGlob(pattern)) { - glob.pattern = glob.pattern.replace(/([\/.])/g, '\\$1'); - return glob; - } - - glob.pattern = glob.pattern.replace(/(\+)(?!\()/g, '\\$1'); - glob.pattern = glob.pattern.split('$').join('\\$'); - - if (typeof opts.braces !== 'boolean' && typeof opts.nobraces !== 'boolean') { - opts.braces = true; - } - - if (glob.pattern === '.*') { - return { - pattern: '\\.' + star, - tokens: tok, - options: opts - }; - } - - if (glob.pattern === '*') { - return { - pattern: oneStar(opts.dot), - tokens: tok, - options: opts - }; - } - - // parse the glob pattern into tokens - glob.parse(); - var tok = glob.tokens; - tok.is.negated = opts.negated; - - // dotfile handling - if ((opts.dotfiles === true || tok.is.dotfile) && opts.dot !== false) { - opts.dotfiles = true; - opts.dot = true; - } - - if ((opts.dotdirs === true || tok.is.dotdir) && opts.dot !== false) { - opts.dotdirs = true; - opts.dot = true; - } - - // check for braces with a dotfile pattern - if (/[{,]\./.test(glob.pattern)) { - opts.makeRe = false; - opts.dot = true; - } - - if (opts.nonegate !== true) { - opts.negated = glob.negated; - } - - // if the leading character is a dot or a slash, escape it - if (glob.pattern.charAt(0) === '.' && glob.pattern.charAt(1) !== '/') { - glob.pattern = '\\' + glob.pattern; - } - - /** - * Extended globs - */ - - // expand braces, e.g `{1..5}` - glob.track('before braces'); - if (tok.is.braces) { - glob.braces(); - } - glob.track('after braces'); - - // expand extglobs, e.g `foo/!(a|b)` - glob.track('before extglob'); - if (tok.is.extglob) { - glob.extglob(); - } - glob.track('after extglob'); - - // expand brackets, e.g `[[:alpha:]]` - glob.track('before brackets'); - if (tok.is.brackets) { - glob.brackets(); - } - glob.track('after brackets'); - - // special patterns - glob._replace('[!', '[^'); - glob._replace('(?', '(%~'); - glob._replace(/\[\]/, '\\[\\]'); - glob._replace('/[', '/' + (opts.dot ? dotfiles : nodot) + '[', true); - glob._replace('/?', '/' + (opts.dot ? dotfiles : nodot) + '[^/]', true); - glob._replace('/.', '/(?=.)\\.', true); - - // windows drives - glob._replace(/^(\w):([\\\/]+?)/gi, '(?=.)$1:$2', true); - - // negate slashes in exclusion ranges - if (glob.pattern.indexOf('[^') !== -1) { - glob.pattern = negateSlash(glob.pattern); - } - - if (opts.globstar !== false && glob.pattern === '**') { - glob.pattern = globstar(opts.dot); - - } else { - glob.pattern = balance(glob.pattern, '[', ']'); - glob.escape(glob.pattern); - - // if the pattern has `**` - if (tok.is.globstar) { - glob.pattern = collapse(glob.pattern, '/**'); - glob.pattern = collapse(glob.pattern, '**/'); - glob._replace('/**/', '(?:/' + globstar(opts.dot) + '/|/)', true); - glob._replace(/\*{2,}/g, '**'); - - // 'foo/*' - glob._replace(/(\w+)\*(?!\/)/g, '$1[^/]*?', true); - glob._replace(/\*\*\/\*(\w)/g, globstar(opts.dot) + '\\/' + (opts.dot ? dotfiles : nodot) + '[^/]*?$1', true); - - if (opts.dot !== true) { - glob._replace(/\*\*\/(.)/g, '(?:**\\/|)$1'); - } - - // 'foo/**' or '{**,*}', but not 'foo**' - if (tok.path.dirname !== '' || /,\*\*|\*\*,/.test(glob.orig)) { - glob._replace('**', globstar(opts.dot), true); - } - } - - // ends with /* - glob._replace(/\/\*$/, '\\/' + oneStar(opts.dot), true); - // ends with *, no slashes - glob._replace(/(?!\/)\*$/, star, true); - // has 'n*.' (partial wildcard w/ file extension) - glob._replace(/([^\/]+)\*/, '$1' + oneStar(true), true); - // has '*' - glob._replace('*', oneStar(opts.dot), true); - glob._replace('?.', '?\\.', true); - glob._replace('?:', '?:', true); - - glob._replace(/\?+/g, function(match) { - var len = match.length; - if (len === 1) { - return qmark; - } - return qmark + '{' + len + '}'; - }); - - // escape '.abc' => '\\.abc' - glob._replace(/\.([*\w]+)/g, '\\.$1'); - // fix '[^\\\\/]' - glob._replace(/\[\^[\\\/]+\]/g, qmark); - // '///' => '\/' - glob._replace(/\/+/g, '\\/'); - // '\\\\\\' => '\\' - glob._replace(/\\{2,}/g, '\\'); - } - - // unescape previously escaped patterns - glob.unescape(glob.pattern); - glob._replace('__UNESC_STAR__', '*'); - - // escape dots that follow qmarks - glob._replace('?.', '?\\.'); - - // remove unnecessary slashes in character classes - glob._replace('[^\\/]', qmark); - - if (glob.pattern.length > 1) { - if (/^[\[?*]/.test(glob.pattern)) { - // only prepend the string if we don't want to match dotfiles - glob.pattern = (opts.dot ? dotfiles : nodot) + glob.pattern; - } - } - - return glob; -} - -/** - * Collapse repeated character sequences. - * - * ```js - * collapse('a/../../../b', '../'); - * //=> 'a/../b' - * ``` - * - * @param {String} `str` - * @param {String} `ch` Character sequence to collapse - * @return {String} - */ - -function collapse(str, ch) { - var res = str.split(ch); - var isFirst = res[0] === ''; - var isLast = res[res.length - 1] === ''; - res = res.filter(Boolean); - if (isFirst) res.unshift(''); - if (isLast) res.push(''); - return res.join(ch); -} - -/** - * Negate slashes in exclusion ranges, per glob spec: - * - * ```js - * negateSlash('[^foo]'); - * //=> '[^\\/foo]' - * ``` - * - * @param {String} `str` glob pattern - * @return {String} - */ - -function negateSlash(str) { - return str.replace(/\[\^([^\]]*?)\]/g, function(match, inner) { - if (inner.indexOf('/') === -1) { - inner = '\\/' + inner; - } - return '[^' + inner + ']'; - }); -} - -/** - * Escape imbalanced braces/bracket. This is a very - * basic, naive implementation that only does enough - * to serve the purpose. - */ - -function balance(str, a, b) { - var aarr = str.split(a); - var alen = aarr.join('').length; - var blen = str.split(b).join('').length; - - if (alen !== blen) { - str = aarr.join('\\' + a); - return str.split(b).join('\\' + b); - } - return str; -} - -/** - * Special patterns to be converted to regex. - * Heuristics are used to simplify patterns - * and speed up processing. - */ - -/* eslint no-multi-spaces: 0 */ -var qmark = '[^/]'; -var star = qmark + '*?'; -var nodot = '(?!\\.)(?=.)'; -var dotfileGlob = '(?:\\/|^)\\.{1,2}($|\\/)'; -var dotfiles = '(?!' + dotfileGlob + ')(?=.)'; -var twoStarDot = '(?:(?!' + dotfileGlob + ').)*?'; - -/** - * Create a regex for `*`. - * - * If `dot` is true, or the pattern does not begin with - * a leading star, then return the simpler regex. - */ - -function oneStar(dotfile) { - return dotfile ? '(?!' + dotfileGlob + ')(?=.)' + star : (nodot + star); -} - -function globstar(dotfile) { - if (dotfile) { return twoStarDot; } - return '(?:(?!(?:\\/|^)\\.).)*?'; -} diff --git a/publi/node_modules/anymatch/node_modules/micromatch/lib/glob.js b/publi/node_modules/anymatch/node_modules/micromatch/lib/glob.js deleted file mode 100644 index c613326..0000000 --- a/publi/node_modules/anymatch/node_modules/micromatch/lib/glob.js +++ /dev/null @@ -1,193 +0,0 @@ -'use strict'; - -var chars = require('./chars'); -var utils = require('./utils'); - -/** - * Expose `Glob` - */ - -var Glob = module.exports = function Glob(pattern, options) { - if (!(this instanceof Glob)) { - return new Glob(pattern, options); - } - this.options = options || {}; - this.pattern = pattern; - this.history = []; - this.tokens = {}; - this.init(pattern); -}; - -/** - * Initialize defaults - */ - -Glob.prototype.init = function(pattern) { - this.orig = pattern; - this.negated = this.isNegated(); - this.options.track = this.options.track || false; - this.options.makeRe = true; -}; - -/** - * Push a change into `glob.history`. Useful - * for debugging. - */ - -Glob.prototype.track = function(msg) { - if (this.options.track) { - this.history.push({msg: msg, pattern: this.pattern}); - } -}; - -/** - * Return true if `glob.pattern` was negated - * with `!`, also remove the `!` from the pattern. - * - * @return {Boolean} - */ - -Glob.prototype.isNegated = function() { - if (this.pattern.charCodeAt(0) === 33 /* '!' */) { - this.pattern = this.pattern.slice(1); - return true; - } - return false; -}; - -/** - * Expand braces in the given glob pattern. - * - * We only need to use the [braces] lib when - * patterns are nested. - */ - -Glob.prototype.braces = function() { - if (this.options.nobraces !== true && this.options.nobrace !== true) { - // naive/fast check for imbalanced characters - var a = this.pattern.match(/[\{\(\[]/g); - var b = this.pattern.match(/[\}\)\]]/g); - - // if imbalanced, don't optimize the pattern - if (a && b && (a.length !== b.length)) { - this.options.makeRe = false; - } - - // expand brace patterns and join the resulting array - var expanded = utils.braces(this.pattern, this.options); - this.pattern = expanded.join('|'); - } -}; - -/** - * Expand bracket expressions in `glob.pattern` - */ - -Glob.prototype.brackets = function() { - if (this.options.nobrackets !== true) { - this.pattern = utils.brackets(this.pattern); - } -}; - -/** - * Expand bracket expressions in `glob.pattern` - */ - -Glob.prototype.extglob = function() { - if (this.options.noextglob === true) return; - - if (utils.isExtglob(this.pattern)) { - this.pattern = utils.extglob(this.pattern, {escape: true}); - } -}; - -/** - * Parse the given pattern - */ - -Glob.prototype.parse = function(pattern) { - this.tokens = utils.parseGlob(pattern || this.pattern, true); - return this.tokens; -}; - -/** - * Replace `a` with `b`. Also tracks the change before and - * after each replacement. This is disabled by default, but - * can be enabled by setting `options.track` to true. - * - * Also, when the pattern is a string, `.split()` is used, - * because it's much faster than replace. - * - * @param {RegExp|String} `a` - * @param {String} `b` - * @param {Boolean} `escape` When `true`, escapes `*` and `?` in the replacement. - * @return {String} - */ - -Glob.prototype._replace = function(a, b, escape) { - this.track('before (find): "' + a + '" (replace with): "' + b + '"'); - if (escape) b = esc(b); - if (a && b && typeof a === 'string') { - this.pattern = this.pattern.split(a).join(b); - } else { - this.pattern = this.pattern.replace(a, b); - } - this.track('after'); -}; - -/** - * Escape special characters in the given string. - * - * @param {String} `str` Glob pattern - * @return {String} - */ - -Glob.prototype.escape = function(str) { - this.track('before escape: '); - var re = /["\\](['"]?[^"'\\]['"]?)/g; - - this.pattern = str.replace(re, function($0, $1) { - var o = chars.ESC; - var ch = o && o[$1]; - if (ch) { - return ch; - } - if (/[a-z]/i.test($0)) { - return $0.split('\\').join(''); - } - return $0; - }); - - this.track('after escape: '); -}; - -/** - * Unescape special characters in the given string. - * - * @param {String} `str` - * @return {String} - */ - -Glob.prototype.unescape = function(str) { - var re = /__([A-Z]+)_([A-Z]+)__/g; - this.pattern = str.replace(re, function($0, $1) { - return chars[$1][$0]; - }); - this.pattern = unesc(this.pattern); -}; - -/** - * Escape/unescape utils - */ - -function esc(str) { - str = str.split('?').join('%~'); - str = str.split('*').join('%%'); - return str; -} - -function unesc(str) { - str = str.split('%~').join('?'); - str = str.split('%%').join('*'); - return str; -} diff --git a/publi/node_modules/anymatch/node_modules/micromatch/lib/utils.js b/publi/node_modules/anymatch/node_modules/micromatch/lib/utils.js deleted file mode 100644 index 7c24a51..0000000 --- a/publi/node_modules/anymatch/node_modules/micromatch/lib/utils.js +++ /dev/null @@ -1,149 +0,0 @@ -'use strict'; - -var win32 = process && process.platform === 'win32'; -var path = require('path'); -var fileRe = require('filename-regex'); -var utils = module.exports; - -/** - * Module dependencies - */ - -utils.diff = require('arr-diff'); -utils.unique = require('array-unique'); -utils.braces = require('braces'); -utils.brackets = require('expand-brackets'); -utils.extglob = require('extglob'); -utils.isExtglob = require('is-extglob'); -utils.isGlob = require('is-glob'); -utils.typeOf = require('kind-of'); -utils.normalize = require('normalize-path'); -utils.omit = require('object.omit'); -utils.parseGlob = require('parse-glob'); -utils.cache = require('regex-cache'); - -/** - * Get the filename of a filepath - * - * @param {String} `string` - * @return {String} - */ - -utils.filename = function filename(fp) { - var seg = fp.match(fileRe()); - return seg && seg[0]; -}; - -/** - * Returns a function that returns true if the given - * pattern is the same as a given `filepath` - * - * @param {String} `pattern` - * @return {Function} - */ - -utils.isPath = function isPath(pattern, opts) { - opts = opts || {}; - return function(fp) { - var unixified = utils.unixify(fp, opts); - if(opts.nocase){ - return pattern.toLowerCase() === unixified.toLowerCase(); - } - return pattern === unixified; - }; -}; - -/** - * Returns a function that returns true if the given - * pattern contains a `filepath` - * - * @param {String} `pattern` - * @return {Function} - */ - -utils.hasPath = function hasPath(pattern, opts) { - return function(fp) { - return utils.unixify(pattern, opts).indexOf(fp) !== -1; - }; -}; - -/** - * Returns a function that returns true if the given - * pattern matches or contains a `filepath` - * - * @param {String} `pattern` - * @return {Function} - */ - -utils.matchPath = function matchPath(pattern, opts) { - var fn = (opts && opts.contains) - ? utils.hasPath(pattern, opts) - : utils.isPath(pattern, opts); - return fn; -}; - -/** - * Returns a function that returns true if the given - * regex matches the `filename` of a file path. - * - * @param {RegExp} `re` - * @return {Boolean} - */ - -utils.hasFilename = function hasFilename(re) { - return function(fp) { - var name = utils.filename(fp); - return name && re.test(name); - }; -}; - -/** - * Coerce `val` to an array - * - * @param {*} val - * @return {Array} - */ - -utils.arrayify = function arrayify(val) { - return !Array.isArray(val) - ? [val] - : val; -}; - -/** - * Normalize all slashes in a file path or glob pattern to - * forward slashes. - */ - -utils.unixify = function unixify(fp, opts) { - if (opts && opts.unixify === false) return fp; - if (opts && opts.unixify === true || win32 || path.sep === '\\') { - return utils.normalize(fp, false); - } - if (opts && opts.unescape === true) { - return fp ? fp.toString().replace(/\\(\w)/g, '$1') : ''; - } - return fp; -}; - -/** - * Escape/unescape utils - */ - -utils.escapePath = function escapePath(fp) { - return fp.replace(/[\\.]/g, '\\$&'); -}; - -utils.unescapeGlob = function unescapeGlob(fp) { - return fp.replace(/[\\"']/g, ''); -}; - -utils.escapeRe = function escapeRe(str) { - return str.replace(/[-[\\$*+?.#^\s{}(|)\]]/g, '\\$&'); -}; - -/** - * Expose `utils` - */ - -module.exports = utils; diff --git a/publi/node_modules/anymatch/node_modules/micromatch/package.json b/publi/node_modules/anymatch/node_modules/micromatch/package.json deleted file mode 100644 index e73b317..0000000 --- a/publi/node_modules/anymatch/node_modules/micromatch/package.json +++ /dev/null @@ -1,145 +0,0 @@ -{ - "_from": "micromatch@^2.1.5", - "_id": "micromatch@2.3.11", - "_inBundle": false, - "_integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", - "_location": "/anymatch/micromatch", - "_phantomChildren": {}, - "_requested": { - "type": "range", - "registry": true, - "raw": "micromatch@^2.1.5", - "name": "micromatch", - "escapedName": "micromatch", - "rawSpec": "^2.1.5", - "saveSpec": null, - "fetchSpec": "^2.1.5" - }, - "_requiredBy": [ - "/anymatch" - ], - "_resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", - "_shasum": "86677c97d1720b363431d04d0d15293bd38c1565", - "_spec": "micromatch@^2.1.5", - "_where": "/mnt/Data/bach/Documents/ola/OLA#5/ola5doc/publi/node_modules/anymatch", - "author": { - "name": "Jon Schlinkert", - "url": "https://github.com/jonschlinkert" - }, - "bugs": { - "url": "https://github.com/jonschlinkert/micromatch/issues" - }, - "bundleDependencies": false, - "dependencies": { - "arr-diff": "^2.0.0", - "array-unique": "^0.2.1", - "braces": "^1.8.2", - "expand-brackets": "^0.1.4", - "extglob": "^0.3.1", - "filename-regex": "^2.0.0", - "is-extglob": "^1.0.0", - "is-glob": "^2.0.1", - "kind-of": "^3.0.2", - "normalize-path": "^2.0.1", - "object.omit": "^2.0.0", - "parse-glob": "^3.0.4", - "regex-cache": "^0.4.2" - }, - "deprecated": false, - "description": "Glob matching for javascript/node.js. A drop-in replacement and faster alternative to minimatch and multimatch.", - "devDependencies": { - "benchmarked": "^0.1.4", - "chalk": "^1.1.1", - "gulp": "^3.9.0", - "gulp-eslint": "^1.1.1", - "gulp-format-md": "^0.1.8", - "gulp-istanbul": "^0.10.1", - "gulp-mocha": "^2.1.3", - "minimatch": "^3.0.0", - "minimist": "^1.2.0", - "mocha": "^2", - "multimatch": "^2.0.0", - "should": "^8", - "write": "^0.2.1" - }, - "engines": { - "node": ">=0.10.0" - }, - "files": [ - "index.js", - "lib" - ], - "homepage": "https://github.com/jonschlinkert/micromatch", - "keywords": [ - "bash", - "expand", - "expansion", - "expression", - "file", - "files", - "filter", - "find", - "glob", - "globbing", - "globs", - "globstar", - "match", - "matcher", - "matches", - "matching", - "minimatch", - "multimatch", - "path", - "pattern", - "patterns", - "regex", - "regexp", - "regular", - "shell", - "wildcard" - ], - "license": "MIT", - "main": "index.js", - "name": "micromatch", - "repository": { - "type": "git", - "url": "git+https://github.com/jonschlinkert/micromatch.git" - }, - "scripts": { - "test": "mocha" - }, - "verb": { - "related": { - "list": [ - "braces", - "expand-brackets", - "expand-range", - "extglob", - "fill-range", - "gulp-micromatch", - "is-glob", - "parse-glob" - ] - }, - "reflinks": [ - "braces", - "expand-brackets", - "extglob", - "minimatch", - "multimatch", - "verb" - ], - "toc": false, - "layout": false, - "tasks": [ - "readme" - ], - "plugins": [ - "gulp-format-md" - ], - "lint": { - "reflinks": true - } - }, - "version": "2.3.11" -} diff --git a/publi/node_modules/anymatch/package.json b/publi/node_modules/anymatch/package.json deleted file mode 100644 index 729e31f..0000000 --- a/publi/node_modules/anymatch/package.json +++ /dev/null @@ -1,85 +0,0 @@ -{ - "_from": "anymatch@^1.3.0", - "_id": "anymatch@1.3.2", - "_inBundle": false, - "_integrity": "sha512-0XNayC8lTHQ2OI8aljNCN3sSx6hsr/1+rlcDAotXJR7C1oZZHCNsfpbKwMjRA3Uqb5tF1Rae2oloTr4xpq+WjA==", - "_location": "/anymatch", - "_phantomChildren": { - "arr-flatten": "1.1.0", - "expand-range": "1.8.2", - "filename-regex": "2.0.1", - "is-buffer": "1.1.6", - "is-posix-bracket": "0.1.1", - "normalize-path": "2.1.1", - "object.omit": "2.0.1", - "parse-glob": "3.0.4", - "preserve": "0.2.0", - "regex-cache": "0.4.4", - "repeat-element": "1.1.2" - }, - "_requested": { - "type": "range", - "registry": true, - "raw": "anymatch@^1.3.0", - "name": "anymatch", - "escapedName": "anymatch", - "rawSpec": "^1.3.0", - "saveSpec": null, - "fetchSpec": "^1.3.0" - }, - "_requiredBy": [ - "/chokidar", - "/gulp-watch" - ], - "_resolved": "https://registry.npmjs.org/anymatch/-/anymatch-1.3.2.tgz", - "_shasum": "553dcb8f91e3c889845dfdba34c77721b90b9d7a", - "_spec": "anymatch@^1.3.0", - "_where": "/mnt/Data/bach/Documents/ola/OLA#5/ola5doc/publi/node_modules/gulp-watch", - "author": { - "name": "Elan Shanker", - "url": "http://github.com/es128" - }, - "bugs": { - "url": "https://github.com/es128/anymatch/issues" - }, - "bundleDependencies": false, - "dependencies": { - "micromatch": "^2.1.5", - "normalize-path": "^2.0.0" - }, - "deprecated": false, - "description": "Matches strings against configurable strings, globs, regular expressions, and/or functions", - "devDependencies": { - "coveralls": "^2.11.2", - "istanbul": "^0.3.13", - "mocha": "^2.2.4" - }, - "files": [ - "index.js" - ], - "homepage": "https://github.com/es128/anymatch", - "keywords": [ - "match", - "any", - "string", - "file", - "fs", - "list", - "glob", - "regex", - "regexp", - "regular", - "expression", - "function" - ], - "license": "ISC", - "name": "anymatch", - "repository": { - "type": "git", - "url": "git+https://github.com/es128/anymatch.git" - }, - "scripts": { - "test": "istanbul cover _mocha && cat ./coverage/lcov.info | coveralls" - }, - "version": "1.3.2" -} diff --git a/publi/node_modules/aproba/LICENSE b/publi/node_modules/aproba/LICENSE deleted file mode 100644 index f4be44d..0000000 --- a/publi/node_modules/aproba/LICENSE +++ /dev/null @@ -1,14 +0,0 @@ -Copyright (c) 2015, 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. - diff --git a/publi/node_modules/aproba/README.md b/publi/node_modules/aproba/README.md deleted file mode 100644 index 0bfc594..0000000 --- a/publi/node_modules/aproba/README.md +++ /dev/null @@ -1,94 +0,0 @@ -aproba -====== - -A ridiculously light-weight function argument validator - -``` -var validate = require("aproba") - -function myfunc(a, b, c) { - // `a` must be a string, `b` a number, `c` a function - validate('SNF', arguments) // [a,b,c] is also valid -} - -myfunc('test', 23, function () {}) // ok -myfunc(123, 23, function () {}) // type error -myfunc('test', 23) // missing arg error -myfunc('test', 23, function () {}, true) // too many args error - -``` - -Valid types are: - -| type | description -| :--: | :---------- -| * | matches any type -| A | `Array.isArray` OR an `arguments` object -| S | typeof == string -| N | typeof == number -| F | typeof == function -| O | typeof == object and not type A and not type E -| B | typeof == boolean -| E | `instanceof Error` OR `null` **(special: see below)** -| Z | == `null` - -Validation failures throw one of three exception types, distinguished by a -`code` property of `EMISSINGARG`, `EINVALIDTYPE` or `ETOOMANYARGS`. - -If you pass in an invalid type then it will throw with a code of -`EUNKNOWNTYPE`. - -If an **error** argument is found and is not null then the remaining -arguments are optional. That is, if you say `ESO` then that's like using a -non-magical `E` in: `E|ESO|ZSO`. - -### But I have optional arguments?! - -You can provide more than one signature by separating them with pipes `|`. -If any signature matches the arguments then they'll be considered valid. - -So for example, say you wanted to write a signature for -`fs.createWriteStream`. The docs for it describe it thusly: - -``` -fs.createWriteStream(path[, options]) -``` - -This would be a signature of `SO|S`. That is, a string and and object, or -just a string. - -Now, if you read the full `fs` docs, you'll see that actually path can ALSO -be a buffer. And options can be a string, that is: -``` -path | -options | -``` - -To reproduce this you have to fully enumerate all of the possible -combinations and that implies a signature of `SO|SS|OO|OS|S|O`. The -awkwardness is a feature: It reminds you of the complexity you're adding to -your API when you do this sort of thing. - - -### Browser support - -This has no dependencies and should work in browsers, though you'll have -noisier stack traces. - -### Why this exists - -I wanted a very simple argument validator. It needed to do two things: - -1. Be more concise and easier to use than assertions - -2. Not encourage an infinite bikeshed of DSLs - -This is why types are specified by a single character and there's no such -thing as an optional argument. - -This is not intended to validate user data. This is specifically about -asserting the interface of your functions. - -If you need greater validation, I encourage you to write them by hand or -look elsewhere. - diff --git a/publi/node_modules/aproba/index.js b/publi/node_modules/aproba/index.js deleted file mode 100644 index 6f3f797..0000000 --- a/publi/node_modules/aproba/index.js +++ /dev/null @@ -1,105 +0,0 @@ -'use strict' - -function isArguments (thingy) { - return thingy != null && typeof thingy === 'object' && thingy.hasOwnProperty('callee') -} - -var types = { - '*': {label: 'any', check: function () { return true }}, - A: {label: 'array', check: function (thingy) { return Array.isArray(thingy) || isArguments(thingy) }}, - S: {label: 'string', check: function (thingy) { return typeof thingy === 'string' }}, - N: {label: 'number', check: function (thingy) { return typeof thingy === 'number' }}, - F: {label: 'function', check: function (thingy) { return typeof thingy === 'function' }}, - O: {label: 'object', check: function (thingy) { return typeof thingy === 'object' && thingy != null && !types.A.check(thingy) && !types.E.check(thingy) }}, - B: {label: 'boolean', check: function (thingy) { return typeof thingy === 'boolean' }}, - E: {label: 'error', check: function (thingy) { return thingy instanceof Error }}, - Z: {label: 'null', check: function (thingy) { return thingy == null }} -} - -function addSchema (schema, arity) { - var group = arity[schema.length] = arity[schema.length] || [] - if (group.indexOf(schema) === -1) group.push(schema) -} - -var validate = module.exports = function (rawSchemas, args) { - if (arguments.length !== 2) throw wrongNumberOfArgs(['SA'], arguments.length) - if (!rawSchemas) throw missingRequiredArg(0, 'rawSchemas') - if (!args) throw missingRequiredArg(1, 'args') - if (!types.S.check(rawSchemas)) throw invalidType(0, ['string'], rawSchemas) - if (!types.A.check(args)) throw invalidType(1, ['array'], args) - var schemas = rawSchemas.split('|') - var arity = {} - - schemas.forEach(function (schema) { - for (var ii = 0; ii < schema.length; ++ii) { - var type = schema[ii] - if (!types[type]) throw unknownType(ii, type) - } - if (/E.*E/.test(schema)) throw moreThanOneError(schema) - addSchema(schema, arity) - if (/E/.test(schema)) { - addSchema(schema.replace(/E.*$/, 'E'), arity) - addSchema(schema.replace(/E/, 'Z'), arity) - if (schema.length === 1) addSchema('', arity) - } - }) - var matching = arity[args.length] - if (!matching) { - throw wrongNumberOfArgs(Object.keys(arity), args.length) - } - for (var ii = 0; ii < args.length; ++ii) { - var newMatching = matching.filter(function (schema) { - var type = schema[ii] - var typeCheck = types[type].check - return typeCheck(args[ii]) - }) - if (!newMatching.length) { - var labels = matching.map(function (schema) { - return types[schema[ii]].label - }).filter(function (schema) { return schema != null }) - throw invalidType(ii, labels, args[ii]) - } - matching = newMatching - } -} - -function missingRequiredArg (num) { - return newException('EMISSINGARG', 'Missing required argument #' + (num + 1)) -} - -function unknownType (num, type) { - return newException('EUNKNOWNTYPE', 'Unknown type ' + type + ' in argument #' + (num + 1)) -} - -function invalidType (num, expectedTypes, value) { - var valueType - Object.keys(types).forEach(function (typeCode) { - if (types[typeCode].check(value)) valueType = types[typeCode].label - }) - return newException('EINVALIDTYPE', 'Argument #' + (num + 1) + ': Expected ' + - englishList(expectedTypes) + ' but got ' + valueType) -} - -function englishList (list) { - return list.join(', ').replace(/, ([^,]+)$/, ' or $1') -} - -function wrongNumberOfArgs (expected, got) { - var english = englishList(expected) - var args = expected.every(function (ex) { return ex.length === 1 }) - ? 'argument' - : 'arguments' - return newException('EWRONGARGCOUNT', 'Expected ' + english + ' ' + args + ' but got ' + got) -} - -function moreThanOneError (schema) { - return newException('ETOOMANYERRORTYPES', - 'Only one error type per argument signature is allowed, more than one found in "' + schema + '"') -} - -function newException (code, msg) { - var e = new Error(msg) - e.code = code - if (Error.captureStackTrace) Error.captureStackTrace(e, validate) - return e -} diff --git a/publi/node_modules/aproba/package.json b/publi/node_modules/aproba/package.json deleted file mode 100644 index 9904f5e..0000000 --- a/publi/node_modules/aproba/package.json +++ /dev/null @@ -1,62 +0,0 @@ -{ - "_from": "aproba@^1.0.3", - "_id": "aproba@1.2.0", - "_inBundle": false, - "_integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", - "_location": "/aproba", - "_phantomChildren": {}, - "_requested": { - "type": "range", - "registry": true, - "raw": "aproba@^1.0.3", - "name": "aproba", - "escapedName": "aproba", - "rawSpec": "^1.0.3", - "saveSpec": null, - "fetchSpec": "^1.0.3" - }, - "_requiredBy": [ - "/gauge" - ], - "_resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", - "_shasum": "6802e6264efd18c790a1b0d517f0f2627bf2c94a", - "_spec": "aproba@^1.0.3", - "_where": "/mnt/Data/bach/Documents/ola/OLA#5/ola5doc/publi/node_modules/gauge", - "author": { - "name": "Rebecca Turner", - "email": "me@re-becca.org" - }, - "bugs": { - "url": "https://github.com/iarna/aproba/issues" - }, - "bundleDependencies": false, - "dependencies": {}, - "deprecated": false, - "description": "A ridiculously light-weight argument validator (now browser friendly)", - "devDependencies": { - "standard": "^10.0.3", - "tap": "^10.0.2" - }, - "directories": { - "test": "test" - }, - "files": [ - "index.js" - ], - "homepage": "https://github.com/iarna/aproba", - "keywords": [ - "argument", - "validate" - ], - "license": "ISC", - "main": "index.js", - "name": "aproba", - "repository": { - "type": "git", - "url": "git+https://github.com/iarna/aproba.git" - }, - "scripts": { - "test": "standard && tap -j3 test/*.js" - }, - "version": "1.2.0" -} diff --git a/publi/node_modules/archy/.travis.yml b/publi/node_modules/archy/.travis.yml deleted file mode 100644 index 895dbd3..0000000 --- a/publi/node_modules/archy/.travis.yml +++ /dev/null @@ -1,4 +0,0 @@ -language: node_js -node_js: - - 0.6 - - 0.8 diff --git a/publi/node_modules/archy/LICENSE b/publi/node_modules/archy/LICENSE deleted file mode 100644 index ee27ba4..0000000 --- a/publi/node_modules/archy/LICENSE +++ /dev/null @@ -1,18 +0,0 @@ -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. diff --git a/publi/node_modules/archy/examples/beep.js b/publi/node_modules/archy/examples/beep.js deleted file mode 100644 index 9c07047..0000000 --- a/publi/node_modules/archy/examples/beep.js +++ /dev/null @@ -1,24 +0,0 @@ -var archy = require('../'); -var s = archy({ - label : 'beep', - nodes : [ - 'ity', - { - label : 'boop', - nodes : [ - { - label : 'o_O', - nodes : [ - { - label : 'oh', - nodes : [ 'hello', 'puny' ] - }, - 'human' - ] - }, - 'party\ntime!' - ] - } - ] -}); -console.log(s); diff --git a/publi/node_modules/archy/examples/multi_line.js b/publi/node_modules/archy/examples/multi_line.js deleted file mode 100644 index 8afdfad..0000000 --- a/publi/node_modules/archy/examples/multi_line.js +++ /dev/null @@ -1,25 +0,0 @@ -var archy = require('../'); - -var s = archy({ - label : 'beep\none\ntwo', - nodes : [ - 'ity', - { - label : 'boop', - nodes : [ - { - label : 'o_O\nwheee', - nodes : [ - { - label : 'oh', - nodes : [ 'hello', 'puny\nmeat' ] - }, - 'creature' - ] - }, - 'party\ntime!' - ] - } - ] -}); -console.log(s); diff --git a/publi/node_modules/archy/index.js b/publi/node_modules/archy/index.js deleted file mode 100644 index 869d64e..0000000 --- a/publi/node_modules/archy/index.js +++ /dev/null @@ -1,35 +0,0 @@ -module.exports = function archy (obj, prefix, opts) { - if (prefix === undefined) prefix = ''; - if (!opts) opts = {}; - var chr = function (s) { - var chars = { - '│' : '|', - '└' : '`', - '├' : '+', - '─' : '-', - '┬' : '-' - }; - return opts.unicode === false ? chars[s] : s; - }; - - if (typeof obj === 'string') obj = { label : obj }; - - var nodes = obj.nodes || []; - var lines = (obj.label || '').split('\n'); - var splitter = '\n' + prefix + (nodes.length ? chr('│') : ' ') + ' '; - - return prefix - + lines.join(splitter) + '\n' - + nodes.map(function (node, ix) { - var last = ix === nodes.length - 1; - var more = node.nodes && node.nodes.length; - var prefix_ = prefix + (last ? ' ' : chr('│')) + ' '; - - return prefix - + (last ? chr('└') : chr('├')) + chr('─') - + (more ? chr('┬') : chr('─')) + ' ' - + archy(node, prefix_, opts).slice(prefix.length + 2) - ; - }).join('') - ; -}; diff --git a/publi/node_modules/archy/package.json b/publi/node_modules/archy/package.json deleted file mode 100644 index d7853a3..0000000 --- a/publi/node_modules/archy/package.json +++ /dev/null @@ -1,114 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "archy@^1.0.0", - "scope": null, - "escapedName": "archy", - "name": "archy", - "rawSpec": "^1.0.0", - "spec": ">=1.0.0 <2.0.0", - "type": "range" - }, - "/mnt/Data/bach/Documents/ola/OLA#3DOC/sys/node_modules/gulp" - ] - ], - "_from": "archy@>=1.0.0 <2.0.0", - "_id": "archy@1.0.0", - "_inCache": true, - "_location": "/archy", - "_npmUser": { - "name": "substack", - "email": "mail@substack.net" - }, - "_npmVersion": "1.4.25", - "_phantomChildren": {}, - "_requested": { - "raw": "archy@^1.0.0", - "scope": null, - "escapedName": "archy", - "name": "archy", - "rawSpec": "^1.0.0", - "spec": ">=1.0.0 <2.0.0", - "type": "range" - }, - "_requiredBy": [ - "/gulp" - ], - "_resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", - "_shasum": "f9c8c13757cc1dd7bc379ac77b2c62a5c2868c40", - "_shrinkwrap": null, - "_spec": "archy@^1.0.0", - "_where": "/mnt/Data/bach/Documents/ola/OLA#3DOC/sys/node_modules/gulp", - "author": { - "name": "James Halliday", - "email": "mail@substack.net", - "url": "http://substack.net" - }, - "bugs": { - "url": "https://github.com/substack/node-archy/issues" - }, - "dependencies": {}, - "description": "render nested hierarchies `npm ls` style with unicode pipes", - "devDependencies": { - "tap": "~0.3.3", - "tape": "~0.1.1" - }, - "directories": {}, - "dist": { - "shasum": "f9c8c13757cc1dd7bc379ac77b2c62a5c2868c40", - "tarball": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz" - }, - "gitHead": "30223c16191e877bf027b15b12daf077b9b55b84", - "homepage": "https://github.com/substack/node-archy", - "keywords": [ - "hierarchy", - "npm ls", - "unicode", - "pretty", - "print" - ], - "license": "MIT", - "main": "index.js", - "maintainers": [ - { - "name": "substack", - "email": "mail@substack.net" - } - ], - "name": "archy", - "optionalDependencies": {}, - "readme": "ERROR: No README data found!", - "repository": { - "type": "git", - "url": "git+ssh://git@github.com/substack/node-archy.git" - }, - "scripts": { - "test": "tap test" - }, - "testling": { - "files": "test/*.js", - "browsers": { - "iexplore": [ - "6.0", - "7.0", - "8.0", - "9.0" - ], - "chrome": [ - "20.0" - ], - "firefox": [ - "10.0", - "15.0" - ], - "safari": [ - "5.1" - ], - "opera": [ - "12.0" - ] - } - }, - "version": "1.0.0" -} diff --git a/publi/node_modules/archy/readme.markdown b/publi/node_modules/archy/readme.markdown deleted file mode 100644 index ef7a5cf..0000000 --- a/publi/node_modules/archy/readme.markdown +++ /dev/null @@ -1,88 +0,0 @@ -# archy - -Render nested hierarchies `npm ls` style with unicode pipes. - -[![browser support](http://ci.testling.com/substack/node-archy.png)](http://ci.testling.com/substack/node-archy) - -[![build status](https://secure.travis-ci.org/substack/node-archy.png)](http://travis-ci.org/substack/node-archy) - -# example - -``` js -var archy = require('archy'); -var s = archy({ - label : 'beep', - nodes : [ - 'ity', - { - label : 'boop', - nodes : [ - { - label : 'o_O', - nodes : [ - { - label : 'oh', - nodes : [ 'hello', 'puny' ] - }, - 'human' - ] - }, - 'party\ntime!' - ] - } - ] -}); -console.log(s); -``` - -output - -``` -beep -├── ity -└─┬ boop - ├─┬ o_O - │ ├─┬ oh - │ │ ├── hello - │ │ └── puny - │ └── human - └── party - time! -``` - -# methods - -var archy = require('archy') - -## archy(obj, prefix='', opts={}) - -Return a string representation of `obj` with unicode pipe characters like how -`npm ls` looks. - -`obj` should be a tree of nested objects with `'label'` and `'nodes'` fields. -`'label'` is a string of text to display at a node level and `'nodes'` is an -array of the descendents of the current node. - -If a node is a string, that string will be used as the `'label'` and an empty -array of `'nodes'` will be used. - -`prefix` gets prepended to all the lines and is used by the algorithm to -recursively update. - -If `'label'` has newlines they will be indented at the present indentation level -with the current prefix. - -To disable unicode results in favor of all-ansi output set `opts.unicode` to -`false`. - -# install - -With [npm](http://npmjs.org) do: - -``` -npm install archy -``` - -# license - -MIT diff --git a/publi/node_modules/archy/test/beep.js b/publi/node_modules/archy/test/beep.js deleted file mode 100644 index 4ea74f9..0000000 --- a/publi/node_modules/archy/test/beep.js +++ /dev/null @@ -1,40 +0,0 @@ -var test = require('tape'); -var archy = require('../'); - -test('beep', function (t) { - var s = archy({ - label : 'beep', - nodes : [ - 'ity', - { - label : 'boop', - nodes : [ - { - label : 'o_O', - nodes : [ - { - label : 'oh', - nodes : [ 'hello', 'puny' ] - }, - 'human' - ] - }, - 'party!' - ] - } - ] - }); - t.equal(s, [ - 'beep', - '├── ity', - '└─┬ boop', - ' ├─┬ o_O', - ' │ ├─┬ oh', - ' │ │ ├── hello', - ' │ │ └── puny', - ' │ └── human', - ' └── party!', - '' - ].join('\n')); - t.end(); -}); diff --git a/publi/node_modules/archy/test/multi_line.js b/publi/node_modules/archy/test/multi_line.js deleted file mode 100644 index 2cf2154..0000000 --- a/publi/node_modules/archy/test/multi_line.js +++ /dev/null @@ -1,45 +0,0 @@ -var test = require('tape'); -var archy = require('../'); - -test('multi-line', function (t) { - var s = archy({ - label : 'beep\none\ntwo', - nodes : [ - 'ity', - { - label : 'boop', - nodes : [ - { - label : 'o_O\nwheee', - nodes : [ - { - label : 'oh', - nodes : [ 'hello', 'puny\nmeat' ] - }, - 'creature' - ] - }, - 'party\ntime!' - ] - } - ] - }); - t.equal(s, [ - 'beep', - '│ one', - '│ two', - '├── ity', - '└─┬ boop', - ' ├─┬ o_O', - ' │ │ wheee', - ' │ ├─┬ oh', - ' │ │ ├── hello', - ' │ │ └── puny', - ' │ │ meat', - ' │ └── creature', - ' └── party', - ' time!', - '' - ].join('\n')); - t.end(); -}); diff --git a/publi/node_modules/archy/test/non_unicode.js b/publi/node_modules/archy/test/non_unicode.js deleted file mode 100644 index 7204d33..0000000 --- a/publi/node_modules/archy/test/non_unicode.js +++ /dev/null @@ -1,40 +0,0 @@ -var test = require('tape'); -var archy = require('../'); - -test('beep', function (t) { - var s = archy({ - label : 'beep', - nodes : [ - 'ity', - { - label : 'boop', - nodes : [ - { - label : 'o_O', - nodes : [ - { - label : 'oh', - nodes : [ 'hello', 'puny' ] - }, - 'human' - ] - }, - 'party!' - ] - } - ] - }, '', { unicode : false }); - t.equal(s, [ - 'beep', - '+-- ity', - '`-- boop', - ' +-- o_O', - ' | +-- oh', - ' | | +-- hello', - ' | | `-- puny', - ' | `-- human', - ' `-- party!', - '' - ].join('\n')); - t.end(); -}); diff --git a/publi/node_modules/are-we-there-yet/CHANGES.md b/publi/node_modules/are-we-there-yet/CHANGES.md deleted file mode 100644 index 46ad078..0000000 --- a/publi/node_modules/are-we-there-yet/CHANGES.md +++ /dev/null @@ -1,31 +0,0 @@ -Hi, figured we could actually use a changelog now: - -## 1.1.4 2017-04-21 - -* Fix typo in package.json - -## 1.1.3 2017-04-21 - -* Improve documentation and limit files included in the distribution. - -## 1.1.2 2016-03-15 - -* Add tracker group cycle detection and tests for it - -## 1.1.1 2016-01-29 - -* Fix a typo in stream completion tracker - -## 1.1.0 2016-01-29 - -* Rewrote completion percent computation to be low impact– no more walking a - tree of completion groups every time we need this info. Previously, with - medium sized tree of completion groups, even a relatively modest number of - calls to the top level `completed()` method would result in absurd numbers - of calls overall as it walked down the tree. We now, instead, keep track as - we bubble up changes, so the computation is limited to when data changes and - to the depth of that one branch, instead of _every_ node. (Plus, we were already - incurring _this_ cost, since we already bubbled out changes.) -* Moved different tracker types out to their own files. -* Made tests test for TOO MANY events too. -* Standarized the source code formatting diff --git a/publi/node_modules/are-we-there-yet/CHANGES.md~ b/publi/node_modules/are-we-there-yet/CHANGES.md~ deleted file mode 100644 index a932721..0000000 --- a/publi/node_modules/are-we-there-yet/CHANGES.md~ +++ /dev/null @@ -1,27 +0,0 @@ -Hi, figured we could actually use a changelog now: - -## 1.1.3 2017-04-21 - -* Improve documentation and limit files included in the distribution. - -## 1.1.2 2016-03-15 - -* Add tracker group cycle detection and tests for it - -## 1.1.1 2016-01-29 - -* Fix a typo in stream completion tracker - -## 1.1.0 2016-01-29 - -* Rewrote completion percent computation to be low impact– no more walking a - tree of completion groups every time we need this info. Previously, with - medium sized tree of completion groups, even a relatively modest number of - calls to the top level `completed()` method would result in absurd numbers - of calls overall as it walked down the tree. We now, instead, keep track as - we bubble up changes, so the computation is limited to when data changes and - to the depth of that one branch, instead of _every_ node. (Plus, we were already - incurring _this_ cost, since we already bubbled out changes.) -* Moved different tracker types out to their own files. -* Made tests test for TOO MANY events too. -* Standarized the source code formatting diff --git a/publi/node_modules/are-we-there-yet/LICENSE b/publi/node_modules/are-we-there-yet/LICENSE deleted file mode 100644 index af45880..0000000 --- a/publi/node_modules/are-we-there-yet/LICENSE +++ /dev/null @@ -1,5 +0,0 @@ -Copyright (c) 2015, 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. diff --git a/publi/node_modules/are-we-there-yet/README.md b/publi/node_modules/are-we-there-yet/README.md deleted file mode 100644 index 7e2b42d..0000000 --- a/publi/node_modules/are-we-there-yet/README.md +++ /dev/null @@ -1,195 +0,0 @@ -are-we-there-yet ----------------- - -Track complex hiearchies of asynchronous task completion statuses. This is -intended to give you a way of recording and reporting the progress of the big -recursive fan-out and gather type workflows that are so common in async. - -What you do with this completion data is up to you, but the most common use case is to -feed it to one of the many progress bar modules. - -Most progress bar modules include a rudamentary version of this, but my -needs were more complex. - -Usage -===== - -```javascript -var TrackerGroup = require("are-we-there-yet").TrackerGroup - -var top = new TrackerGroup("program") - -var single = top.newItem("one thing", 100) -single.completeWork(20) - -console.log(top.completed()) // 0.2 - -fs.stat("file", function(er, stat) { - if (er) throw er - var stream = top.newStream("file", stat.size) - console.log(top.completed()) // now 0.1 as single is 50% of the job and is 20% complete - // and 50% * 20% == 10% - fs.createReadStream("file").pipe(stream).on("data", function (chunk) { - // do stuff with chunk - }) - top.on("change", function (name) { - // called each time a chunk is read from "file" - // top.completed() will start at 0.1 and fill up to 0.6 as the file is read - }) -}) -``` - -Shared Methods -============== - -* var completed = tracker.completed() - -Implemented in: `Tracker`, `TrackerGroup`, `TrackerStream` - -Returns the ratio of completed work to work to be done. Range of 0 to 1. - -* tracker.finish() - -Implemented in: `Tracker`, `TrackerGroup` - -Marks the tracker as completed. With a TrackerGroup this marks all of its -components as completed. - -Marks all of the components of this tracker as finished, which in turn means -that `tracker.completed()` for this will now be 1. - -This will result in one or more `change` events being emitted. - -Events -====== - -All tracker objects emit `change` events with the following arguments: - -``` -function (name, completed, tracker) -``` - -`name` is the name of the tracker that originally emitted the event, -or if it didn't have one, the first containing tracker group that had one. - -`completed` is the percent complete (as returned by `tracker.completed()` method). - -`tracker` is the tracker object that you are listening for events on. - -TrackerGroup -============ - -* var tracker = new TrackerGroup(**name**) - - * **name** *(optional)* - The name of this tracker group, used in change - notifications if the component updating didn't have a name. Defaults to undefined. - -Creates a new empty tracker aggregation group. These are trackers whose -completion status is determined by the completion status of other trackers. - -* tracker.addUnit(**otherTracker**, **weight**) - - * **otherTracker** - Any of the other are-we-there-yet tracker objects - * **weight** *(optional)* - The weight to give the tracker, defaults to 1. - -Adds the **otherTracker** to this aggregation group. The weight determines -how long you expect this tracker to take to complete in proportion to other -units. So for instance, if you add one tracker with a weight of 1 and -another with a weight of 2, you're saying the second will take twice as long -to complete as the first. As such, the first will account for 33% of the -completion of this tracker and the second will account for the other 67%. - -Returns **otherTracker**. - -* var subGroup = tracker.newGroup(**name**, **weight**) - -The above is exactly equivalent to: - -```javascript - var subGroup = tracker.addUnit(new TrackerGroup(name), weight) -``` - -* var subItem = tracker.newItem(**name**, **todo**, **weight**) - -The above is exactly equivalent to: - -```javascript - var subItem = tracker.addUnit(new Tracker(name, todo), weight) -``` - -* var subStream = tracker.newStream(**name**, **todo**, **weight**) - -The above is exactly equivalent to: - -```javascript - var subStream = tracker.addUnit(new TrackerStream(name, todo), weight) -``` - -* console.log( tracker.debug() ) - -Returns a tree showing the completion of this tracker group and all of its -children, including recursively entering all of the children. - -Tracker -======= - -* var tracker = new Tracker(**name**, **todo**) - - * **name** *(optional)* The name of this counter to report in change - events. Defaults to undefined. - * **todo** *(optional)* The amount of work todo (a number). Defaults to 0. - -Ordinarily these are constructed as a part of a tracker group (via -`newItem`). - -* var completed = tracker.completed() - -Returns the ratio of completed work to work to be done. Range of 0 to 1. If -total work to be done is 0 then it will return 0. - -* tracker.addWork(**todo**) - - * **todo** A number to add to the amount of work to be done. - -Increases the amount of work to be done, thus decreasing the completion -percentage. Triggers a `change` event. - -* tracker.completeWork(**completed**) - - * **completed** A number to add to the work complete - -Increase the amount of work complete, thus increasing the completion percentage. -Will never increase the work completed past the amount of work todo. That is, -percentages > 100% are not allowed. Triggers a `change` event. - -* tracker.finish() - -Marks this tracker as finished, tracker.completed() will now be 1. Triggers -a `change` event. - -TrackerStream -============= - -* var tracker = new TrackerStream(**name**, **size**, **options**) - - * **name** *(optional)* The name of this counter to report in change - events. Defaults to undefined. - * **size** *(optional)* The number of bytes being sent through this stream. - * **options** *(optional)* A hash of stream options - -The tracker stream object is a pass through stream that updates an internal -tracker object each time a block passes through. It's intended to track -downloads, file extraction and other related activities. You use it by piping -your data source into it and then using it as your data source. - -If your data has a length attribute then that's used as the amount of work -completed when the chunk is passed through. If it does not (eg, object -streams) then each chunk counts as completing 1 unit of work, so your size -should be the total number of objects being streamed. - -* tracker.addWork(**todo**) - - * **todo** Increase the expected overall size by **todo** bytes. - -Increases the amount of work to be done, thus decreasing the completion -percentage. Triggers a `change` event. diff --git a/publi/node_modules/are-we-there-yet/index.js b/publi/node_modules/are-we-there-yet/index.js deleted file mode 100644 index 57d8743..0000000 --- a/publi/node_modules/are-we-there-yet/index.js +++ /dev/null @@ -1,4 +0,0 @@ -'use strict' -exports.TrackerGroup = require('./tracker-group.js') -exports.Tracker = require('./tracker.js') -exports.TrackerStream = require('./tracker-stream.js') diff --git a/publi/node_modules/are-we-there-yet/node_modules/isarray/.travis.yml b/publi/node_modules/are-we-there-yet/node_modules/isarray/.travis.yml deleted file mode 100644 index cc4dba2..0000000 --- a/publi/node_modules/are-we-there-yet/node_modules/isarray/.travis.yml +++ /dev/null @@ -1,4 +0,0 @@ -language: node_js -node_js: - - "0.8" - - "0.10" diff --git a/publi/node_modules/are-we-there-yet/node_modules/isarray/Makefile b/publi/node_modules/are-we-there-yet/node_modules/isarray/Makefile deleted file mode 100644 index 787d56e..0000000 --- a/publi/node_modules/are-we-there-yet/node_modules/isarray/Makefile +++ /dev/null @@ -1,6 +0,0 @@ - -test: - @node_modules/.bin/tape test.js - -.PHONY: test - diff --git a/publi/node_modules/are-we-there-yet/node_modules/isarray/README.md b/publi/node_modules/are-we-there-yet/node_modules/isarray/README.md deleted file mode 100644 index 16d2c59..0000000 --- a/publi/node_modules/are-we-there-yet/node_modules/isarray/README.md +++ /dev/null @@ -1,60 +0,0 @@ - -# isarray - -`Array#isArray` for older browsers. - -[![build status](https://secure.travis-ci.org/juliangruber/isarray.svg)](http://travis-ci.org/juliangruber/isarray) -[![downloads](https://img.shields.io/npm/dm/isarray.svg)](https://www.npmjs.org/package/isarray) - -[![browser support](https://ci.testling.com/juliangruber/isarray.png) -](https://ci.testling.com/juliangruber/isarray) - -## Usage - -```js -var isArray = require('isarray'); - -console.log(isArray([])); // => true -console.log(isArray({})); // => false -``` - -## Installation - -With [npm](http://npmjs.org) do - -```bash -$ npm install isarray -``` - -Then bundle for the browser with -[browserify](https://github.com/substack/browserify). - -With [component](http://component.io) do - -```bash -$ component install juliangruber/isarray -``` - -## License - -(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. diff --git a/publi/node_modules/are-we-there-yet/node_modules/isarray/component.json b/publi/node_modules/are-we-there-yet/node_modules/isarray/component.json deleted file mode 100644 index 9e31b68..0000000 --- a/publi/node_modules/are-we-there-yet/node_modules/isarray/component.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "name" : "isarray", - "description" : "Array#isArray for older browsers", - "version" : "0.0.1", - "repository" : "juliangruber/isarray", - "homepage": "https://github.com/juliangruber/isarray", - "main" : "index.js", - "scripts" : [ - "index.js" - ], - "dependencies" : {}, - "keywords": ["browser","isarray","array"], - "author": { - "name": "Julian Gruber", - "email": "mail@juliangruber.com", - "url": "http://juliangruber.com" - }, - "license": "MIT" -} diff --git a/publi/node_modules/are-we-there-yet/node_modules/isarray/index.js b/publi/node_modules/are-we-there-yet/node_modules/isarray/index.js deleted file mode 100644 index a57f634..0000000 --- a/publi/node_modules/are-we-there-yet/node_modules/isarray/index.js +++ /dev/null @@ -1,5 +0,0 @@ -var toString = {}.toString; - -module.exports = Array.isArray || function (arr) { - return toString.call(arr) == '[object Array]'; -}; diff --git a/publi/node_modules/are-we-there-yet/node_modules/isarray/package.json b/publi/node_modules/are-we-there-yet/node_modules/isarray/package.json deleted file mode 100644 index abd4963..0000000 --- a/publi/node_modules/are-we-there-yet/node_modules/isarray/package.json +++ /dev/null @@ -1,105 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "isarray@~1.0.0", - "scope": null, - "escapedName": "isarray", - "name": "isarray", - "rawSpec": "~1.0.0", - "spec": ">=1.0.0 <1.1.0", - "type": "range" - }, - "/mnt/Data/bach/Documents/ola/OLA#4/OLA#4DOC/sys/node_modules/are-we-there-yet/node_modules/readable-stream" - ] - ], - "_from": "isarray@>=1.0.0 <1.1.0", - "_id": "isarray@1.0.0", - "_inCache": true, - "_location": "/are-we-there-yet/isarray", - "_nodeVersion": "5.1.0", - "_npmUser": { - "name": "juliangruber", - "email": "julian@juliangruber.com" - }, - "_npmVersion": "3.3.12", - "_phantomChildren": {}, - "_requested": { - "raw": "isarray@~1.0.0", - "scope": null, - "escapedName": "isarray", - "name": "isarray", - "rawSpec": "~1.0.0", - "spec": ">=1.0.0 <1.1.0", - "type": "range" - }, - "_requiredBy": [ - "/are-we-there-yet/readable-stream" - ], - "_resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "_shasum": "bb935d48582cba168c06834957a54a3e07124f11", - "_shrinkwrap": null, - "_spec": "isarray@~1.0.0", - "_where": "/mnt/Data/bach/Documents/ola/OLA#4/OLA#4DOC/sys/node_modules/are-we-there-yet/node_modules/readable-stream", - "author": { - "name": "Julian Gruber", - "email": "mail@juliangruber.com", - "url": "http://juliangruber.com" - }, - "bugs": { - "url": "https://github.com/juliangruber/isarray/issues" - }, - "dependencies": {}, - "description": "Array#isArray for older browsers", - "devDependencies": { - "tape": "~2.13.4" - }, - "directories": {}, - "dist": { - "shasum": "bb935d48582cba168c06834957a54a3e07124f11", - "tarball": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz" - }, - "gitHead": "2a23a281f369e9ae06394c0fb4d2381355a6ba33", - "homepage": "https://github.com/juliangruber/isarray", - "keywords": [ - "browser", - "isarray", - "array" - ], - "license": "MIT", - "main": "index.js", - "maintainers": [ - { - "name": "juliangruber", - "email": "julian@juliangruber.com" - } - ], - "name": "isarray", - "optionalDependencies": {}, - "readme": "\n# isarray\n\n`Array#isArray` for older browsers.\n\n[![build status](https://secure.travis-ci.org/juliangruber/isarray.svg)](http://travis-ci.org/juliangruber/isarray)\n[![downloads](https://img.shields.io/npm/dm/isarray.svg)](https://www.npmjs.org/package/isarray)\n\n[![browser support](https://ci.testling.com/juliangruber/isarray.png)\n](https://ci.testling.com/juliangruber/isarray)\n\n## Usage\n\n```js\nvar isArray = require('isarray');\n\nconsole.log(isArray([])); // => true\nconsole.log(isArray({})); // => false\n```\n\n## Installation\n\nWith [npm](http://npmjs.org) do\n\n```bash\n$ npm install isarray\n```\n\nThen bundle for the browser with\n[browserify](https://github.com/substack/browserify).\n\nWith [component](http://component.io) do\n\n```bash\n$ component install juliangruber/isarray\n```\n\n## License\n\n(MIT)\n\nCopyright (c) 2013 Julian Gruber <julian@juliangruber.com>\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of\nthis software and associated documentation files (the \"Software\"), to deal in\nthe Software without restriction, including without limitation the rights to\nuse, copy, modify, merge, publish, distribute, sublicense, and/or sell copies\nof the Software, and to permit persons to whom the Software is furnished to do\nso, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n", - "readmeFilename": "README.md", - "repository": { - "type": "git", - "url": "git://github.com/juliangruber/isarray.git" - }, - "scripts": { - "test": "tape test.js" - }, - "testling": { - "files": "test.js", - "browsers": [ - "ie/8..latest", - "firefox/17..latest", - "firefox/nightly", - "chrome/22..latest", - "chrome/canary", - "opera/12..latest", - "opera/next", - "safari/5.1..latest", - "ipad/6.0..latest", - "iphone/6.0..latest", - "android-browser/4.2..latest" - ] - }, - "version": "1.0.0" -} diff --git a/publi/node_modules/are-we-there-yet/node_modules/isarray/test.js b/publi/node_modules/are-we-there-yet/node_modules/isarray/test.js deleted file mode 100644 index e0c3444..0000000 --- a/publi/node_modules/are-we-there-yet/node_modules/isarray/test.js +++ /dev/null @@ -1,20 +0,0 @@ -var isArray = require('./'); -var test = require('tape'); - -test('is array', function(t){ - t.ok(isArray([])); - t.notOk(isArray({})); - t.notOk(isArray(null)); - t.notOk(isArray(false)); - - var obj = {}; - obj[0] = true; - t.notOk(isArray(obj)); - - var arr = []; - arr.foo = 'bar'; - t.ok(isArray(arr)); - - t.end(); -}); - diff --git a/publi/node_modules/are-we-there-yet/node_modules/readable-stream/.npmignore b/publi/node_modules/are-we-there-yet/node_modules/readable-stream/.npmignore deleted file mode 100644 index 6d270c6..0000000 --- a/publi/node_modules/are-we-there-yet/node_modules/readable-stream/.npmignore +++ /dev/null @@ -1,9 +0,0 @@ -build/ -test/ -examples/ -fs.js -zlib.js -.zuul.yml -.nyc_output -coverage -docs/ diff --git a/publi/node_modules/are-we-there-yet/node_modules/readable-stream/.travis.yml b/publi/node_modules/are-we-there-yet/node_modules/readable-stream/.travis.yml deleted file mode 100644 index 0c5d2bc..0000000 --- a/publi/node_modules/are-we-there-yet/node_modules/readable-stream/.travis.yml +++ /dev/null @@ -1,65 +0,0 @@ -sudo: false -language: node_js -before_install: - - npm install -g npm@2 - - test $NPM_LEGACY && npm install -g npm@latest-3 || npm install npm -g -notifications: - email: false -matrix: - fast_finish: true - include: - - node_js: '0.8' - env: - - TASK=test - - NPM_LEGACY=true - - node_js: '0.10' - env: - - TASK=test - - NPM_LEGACY=true - - node_js: '0.11' - env: - - TASK=test - - NPM_LEGACY=true - - node_js: '0.12' - env: - - TASK=test - - NPM_LEGACY=true - - node_js: 1 - env: - - TASK=test - - NPM_LEGACY=true - - node_js: 2 - env: - - TASK=test - - NPM_LEGACY=true - - node_js: 3 - env: - - TASK=test - - NPM_LEGACY=true - - node_js: 4 - env: TASK=test - - node_js: 5 - env: TASK=test - - node_js: 6 - env: TASK=test - - node_js: 7 - env: TASK=test - - node_js: 8 - env: TASK=test - - node_js: 6 - env: TASK=browser BROWSER_NAME=ie BROWSER_VERSION="9..latest" - - node_js: 6 - env: TASK=browser BROWSER_NAME=opera BROWSER_VERSION="11..latest" - - node_js: 6 - env: TASK=browser BROWSER_NAME=chrome BROWSER_VERSION="-3..latest" - - node_js: 6 - env: TASK=browser BROWSER_NAME=firefox BROWSER_VERSION="-3..latest" - - node_js: 6 - env: TASK=browser BROWSER_NAME=safari BROWSER_VERSION="5..latest" - - node_js: 6 - env: TASK=browser BROWSER_NAME=microsoftedge BROWSER_VERSION=latest -script: "npm run $TASK" -env: - global: - - secure: rE2Vvo7vnjabYNULNyLFxOyt98BoJexDqsiOnfiD6kLYYsiQGfr/sbZkPMOFm9qfQG7pjqx+zZWZjGSswhTt+626C0t/njXqug7Yps4c3dFblzGfreQHp7wNX5TFsvrxd6dAowVasMp61sJcRnB2w8cUzoe3RAYUDHyiHktwqMc= - - secure: g9YINaKAdMatsJ28G9jCGbSaguXCyxSTy+pBO6Ch0Cf57ZLOTka3HqDj8p3nV28LUIHZ3ut5WO43CeYKwt4AUtLpBS3a0dndHdY6D83uY6b2qh5hXlrcbeQTq2cvw2y95F7hm4D1kwrgZ7ViqaKggRcEupAL69YbJnxeUDKWEdI= diff --git a/publi/node_modules/are-we-there-yet/node_modules/readable-stream/CONTRIBUTING.md b/publi/node_modules/are-we-there-yet/node_modules/readable-stream/CONTRIBUTING.md deleted file mode 100644 index f478d58..0000000 --- a/publi/node_modules/are-we-there-yet/node_modules/readable-stream/CONTRIBUTING.md +++ /dev/null @@ -1,38 +0,0 @@ -# Developer's Certificate of Origin 1.1 - -By making a contribution to this project, I certify that: - -* (a) The contribution was created in whole or in part by me and I - have the right to submit it under the open source license - indicated in the file; or - -* (b) The contribution is based upon previous work that, to the best - of my knowledge, is covered under an appropriate open source - license and I have the right under that license to submit that - work with modifications, whether created in whole or in part - by me, under the same open source license (unless I am - permitted to submit under a different license), as indicated - in the file; or - -* (c) The contribution was provided directly to me by some other - person who certified (a), (b) or (c) and I have not modified - it. - -* (d) I understand and agree that this project and the contribution - are public and that a record of the contribution (including all - personal information I submit with it, including my sign-off) is - maintained indefinitely and may be redistributed consistent with - this project or the open source license(s) involved. - -## Moderation Policy - -The [Node.js Moderation Policy] applies to this WG. - -## Code of Conduct - -The [Node.js Code of Conduct][] applies to this WG. - -[Node.js Code of Conduct]: -https://github.com/nodejs/node/blob/master/CODE_OF_CONDUCT.md -[Node.js Moderation Policy]: -https://github.com/nodejs/TSC/blob/master/Moderation-Policy.md diff --git a/publi/node_modules/are-we-there-yet/node_modules/readable-stream/GOVERNANCE.md b/publi/node_modules/are-we-there-yet/node_modules/readable-stream/GOVERNANCE.md deleted file mode 100644 index 16ffb93..0000000 --- a/publi/node_modules/are-we-there-yet/node_modules/readable-stream/GOVERNANCE.md +++ /dev/null @@ -1,136 +0,0 @@ -### Streams Working Group - -The Node.js Streams is jointly governed by a Working Group -(WG) -that is responsible for high-level guidance of the project. - -The WG has final authority over this project including: - -* Technical direction -* Project governance and process (including this policy) -* Contribution policy -* GitHub repository hosting -* Conduct guidelines -* Maintaining the list of additional Collaborators - -For the current list of WG members, see the project -[README.md](./README.md#current-project-team-members). - -### Collaborators - -The readable-stream GitHub repository is -maintained by the WG and additional Collaborators who are added by the -WG on an ongoing basis. - -Individuals making significant and valuable contributions are made -Collaborators and given commit-access to the project. These -individuals are identified by the WG and their addition as -Collaborators is discussed during the WG meeting. - -_Note:_ If you make a significant contribution and are not considered -for commit-access log an issue or contact a WG member directly and it -will be brought up in the next WG meeting. - -Modifications of the contents of the readable-stream repository are -made on -a collaborative basis. Anybody with a GitHub account may propose a -modification via pull request and it will be considered by the project -Collaborators. All pull requests must be reviewed and accepted by a -Collaborator with sufficient expertise who is able to take full -responsibility for the change. In the case of pull requests proposed -by an existing Collaborator, an additional Collaborator is required -for sign-off. Consensus should be sought if additional Collaborators -participate and there is disagreement around a particular -modification. See _Consensus Seeking Process_ below for further detail -on the consensus model used for governance. - -Collaborators may opt to elevate significant or controversial -modifications, or modifications that have not found consensus to the -WG for discussion by assigning the ***WG-agenda*** tag to a pull -request or issue. The WG should serve as the final arbiter where -required. - -For the current list of Collaborators, see the project -[README.md](./README.md#members). - -### WG Membership - -WG seats are not time-limited. There is no fixed size of the WG. -However, the expected target is between 6 and 12, to ensure adequate -coverage of important areas of expertise, balanced with the ability to -make decisions efficiently. - -There is no specific set of requirements or qualifications for WG -membership beyond these rules. - -The WG may add additional members to the WG by unanimous consensus. - -A WG member may be removed from the WG by voluntary resignation, or by -unanimous consensus of all other WG members. - -Changes to WG membership should be posted in the agenda, and may be -suggested as any other agenda item (see "WG Meetings" below). - -If an addition or removal is proposed during a meeting, and the full -WG is not in attendance to participate, then the addition or removal -is added to the agenda for the subsequent meeting. This is to ensure -that all members are given the opportunity to participate in all -membership decisions. If a WG member is unable to attend a meeting -where a planned membership decision is being made, then their consent -is assumed. - -No more than 1/3 of the WG members may be affiliated with the same -employer. If removal or resignation of a WG member, or a change of -employment by a WG member, creates a situation where more than 1/3 of -the WG membership shares an employer, then the situation must be -immediately remedied by the resignation or removal of one or more WG -members affiliated with the over-represented employer(s). - -### WG Meetings - -The WG meets occasionally on a Google Hangout On Air. A designated moderator -approved by the WG runs the meeting. Each meeting should be -published to YouTube. - -Items are added to the WG agenda that are considered contentious or -are modifications of governance, contribution policy, WG membership, -or release process. - -The intention of the agenda is not to approve or review all patches; -that should happen continuously on GitHub and be handled by the larger -group of Collaborators. - -Any community member or contributor can ask that something be added to -the next meeting's agenda by logging a GitHub Issue. Any Collaborator, -WG member or the moderator can add the item to the agenda by adding -the ***WG-agenda*** tag to the issue. - -Prior to each WG meeting the moderator will share the Agenda with -members of the WG. WG members can add any items they like to the -agenda at the beginning of each meeting. The moderator and the WG -cannot veto or remove items. - -The WG may invite persons or representatives from certain projects to -participate in a non-voting capacity. - -The moderator is responsible for summarizing the discussion of each -agenda item and sends it as a pull request after the meeting. - -### Consensus Seeking Process - -The WG follows a -[Consensus -Seeking](http://en.wikipedia.org/wiki/Consensus-seeking_decision-making) -decision-making model. - -When an agenda item has appeared to reach a consensus the moderator -will ask "Does anyone object?" as a final call for dissent from the -consensus. - -If an agenda item cannot reach a consensus a WG member can call for -either a closing vote or a vote to table the issue to the next -meeting. The call for a vote must be seconded by a majority of the WG -or else the discussion will continue. Simple majority wins. - -Note that changes to WG membership require a majority consensus. See -"WG Membership" above. diff --git a/publi/node_modules/are-we-there-yet/node_modules/readable-stream/LICENSE b/publi/node_modules/are-we-there-yet/node_modules/readable-stream/LICENSE deleted file mode 100644 index 2873b3b..0000000 --- a/publi/node_modules/are-we-there-yet/node_modules/readable-stream/LICENSE +++ /dev/null @@ -1,47 +0,0 @@ -Node.js is licensed for use as follows: - -""" -Copyright Node.js contributors. 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. -""" - -This license applies to parts of Node.js originating from the -https://github.com/joyent/node repository: - -""" -Copyright Joyent, Inc. and other Node contributors. 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. -""" diff --git a/publi/node_modules/are-we-there-yet/node_modules/readable-stream/README.md b/publi/node_modules/are-we-there-yet/node_modules/readable-stream/README.md deleted file mode 100644 index b24a2c8..0000000 --- a/publi/node_modules/are-we-there-yet/node_modules/readable-stream/README.md +++ /dev/null @@ -1,57 +0,0 @@ -# readable-stream - -***Node-core v8.1.3 streams for userland*** [![Build Status](https://travis-ci.org/nodejs/readable-stream.svg?branch=master)](https://travis-ci.org/nodejs/readable-stream) - - -[![NPM](https://nodei.co/npm/readable-stream.png?downloads=true&downloadRank=true)](https://nodei.co/npm/readable-stream/) -[![NPM](https://nodei.co/npm-dl/readable-stream.png?&months=6&height=3)](https://nodei.co/npm/readable-stream/) - - -[![Sauce Test Status](https://saucelabs.com/browser-matrix/readable-stream.svg)](https://saucelabs.com/u/readable-stream) - -```bash -npm install --save readable-stream -``` - -***Node-core streams for userland*** - -This package is a mirror of the Streams2 and Streams3 implementations in -Node-core. - -Full documentation may be found on the [Node.js website](https://nodejs.org/dist/v8.1.3/docs/api/stream.html). - -If you want to guarantee a stable streams base, regardless of what version of -Node you, or the users of your libraries are using, use **readable-stream** *only* and avoid the *"stream"* module in Node-core, for background see [this blogpost](http://r.va.gg/2014/06/why-i-dont-use-nodes-core-stream-module.html). - -As of version 2.0.0 **readable-stream** uses semantic versioning. - -# Streams Working Group - -`readable-stream` is maintained by the Streams Working Group, which -oversees the development and maintenance of the Streams API within -Node.js. The responsibilities of the Streams Working Group include: - -* Addressing stream issues on the Node.js issue tracker. -* Authoring and editing stream documentation within the Node.js project. -* Reviewing changes to stream subclasses within the Node.js project. -* Redirecting changes to streams from the Node.js project to this - project. -* Assisting in the implementation of stream providers within Node.js. -* Recommending versions of `readable-stream` to be included in Node.js. -* Messaging about the future of streams to give the community advance - notice of changes. - - -## Team Members - -* **Chris Dickinson** ([@chrisdickinson](https://github.com/chrisdickinson)) <christopher.s.dickinson@gmail.com> - - Release GPG key: 9554F04D7259F04124DE6B476D5A82AC7E37093B -* **Calvin Metcalf** ([@calvinmetcalf](https://github.com/calvinmetcalf)) <calvin.metcalf@gmail.com> - - Release GPG key: F3EF5F62A87FC27A22E643F714CE4FF5015AA242 -* **Rod Vagg** ([@rvagg](https://github.com/rvagg)) <rod@vagg.org> - - Release GPG key: DD8F2338BAE7501E3DD5AC78C273792F7D83545D -* **Sam Newman** ([@sonewman](https://github.com/sonewman)) <newmansam@outlook.com> -* **Mathias Buus** ([@mafintosh](https://github.com/mafintosh)) <mathiasbuus@gmail.com> -* **Domenic Denicola** ([@domenic](https://github.com/domenic)) <d@domenic.me> -* **Matteo Collina** ([@mcollina](https://github.com/mcollina)) <matteo.collina@gmail.com> - - Release GPG key: 3ABC01543F22DD2239285CDD818674489FBC127E diff --git a/publi/node_modules/are-we-there-yet/node_modules/readable-stream/doc/wg-meetings/2015-01-30.md b/publi/node_modules/are-we-there-yet/node_modules/readable-stream/doc/wg-meetings/2015-01-30.md deleted file mode 100644 index 83275f1..0000000 --- a/publi/node_modules/are-we-there-yet/node_modules/readable-stream/doc/wg-meetings/2015-01-30.md +++ /dev/null @@ -1,60 +0,0 @@ -# streams WG Meeting 2015-01-30 - -## Links - -* **Google Hangouts Video**: http://www.youtube.com/watch?v=I9nDOSGfwZg -* **GitHub Issue**: https://github.com/iojs/readable-stream/issues/106 -* **Original Minutes Google Doc**: https://docs.google.com/document/d/17aTgLnjMXIrfjgNaTUnHQO7m3xgzHR2VXBTmi03Qii4/ - -## Agenda - -Extracted from https://github.com/iojs/readable-stream/labels/wg-agenda prior to meeting. - -* adopt a charter [#105](https://github.com/iojs/readable-stream/issues/105) -* release and versioning strategy [#101](https://github.com/iojs/readable-stream/issues/101) -* simpler stream creation [#102](https://github.com/iojs/readable-stream/issues/102) -* proposal: deprecate implicit flowing of streams [#99](https://github.com/iojs/readable-stream/issues/99) - -## Minutes - -### adopt a charter - -* group: +1's all around - -### What versioning scheme should be adopted? -* group: +1’s 3.0.0 -* domenic+group: pulling in patches from other sources where appropriate -* mikeal: version independently, suggesting versions for io.js -* mikeal+domenic: work with TC to notify in advance of changes -simpler stream creation - -### streamline creation of streams -* sam: streamline creation of streams -* domenic: nice simple solution posted - but, we lose the opportunity to change the model - may not be backwards incompatible (double check keys) - - **action item:** domenic will check - -### remove implicit flowing of streams on(‘data’) -* add isFlowing / isPaused -* mikeal: worrying that we’re documenting polyfill methods – confuses users -* domenic: more reflective API is probably good, with warning labels for users -* new section for mad scientists (reflective stream access) -* calvin: name the “third state” -* mikeal: maybe borrow the name from whatwg? -* domenic: we’re missing the “third state” -* consensus: kind of difficult to name the third state -* mikeal: figure out differences in states / compat -* mathias: always flow on data – eliminates third state - * explore what it breaks - -**action items:** -* ask isaac for ability to list packages by what public io.js APIs they use (esp. Stream) -* ask rod/build for infrastructure -* **chris**: explore the “flow on data” approach -* add isPaused/isFlowing -* add new docs section -* move isPaused to that section - - diff --git a/publi/node_modules/are-we-there-yet/node_modules/readable-stream/duplex-browser.js b/publi/node_modules/are-we-there-yet/node_modules/readable-stream/duplex-browser.js deleted file mode 100644 index f8b2db8..0000000 --- a/publi/node_modules/are-we-there-yet/node_modules/readable-stream/duplex-browser.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./lib/_stream_duplex.js'); diff --git a/publi/node_modules/are-we-there-yet/node_modules/readable-stream/duplex.js b/publi/node_modules/are-we-there-yet/node_modules/readable-stream/duplex.js deleted file mode 100644 index 46924cb..0000000 --- a/publi/node_modules/are-we-there-yet/node_modules/readable-stream/duplex.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./readable').Duplex diff --git a/publi/node_modules/are-we-there-yet/node_modules/readable-stream/lib/_stream_duplex.js b/publi/node_modules/are-we-there-yet/node_modules/readable-stream/lib/_stream_duplex.js deleted file mode 100644 index c599463..0000000 --- a/publi/node_modules/are-we-there-yet/node_modules/readable-stream/lib/_stream_duplex.js +++ /dev/null @@ -1,124 +0,0 @@ -// 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. - -// a duplex stream is just a stream that is both readable and writable. -// Since JS doesn't have multiple prototypal inheritance, this class -// prototypally inherits from Readable, and then parasitically from -// Writable. - -'use strict'; - -/**/ - -var processNextTick = require('process-nextick-args'); -/**/ - -/**/ -var objectKeys = Object.keys || function (obj) { - var keys = []; - for (var key in obj) { - keys.push(key); - }return keys; -}; -/**/ - -module.exports = Duplex; - -/**/ -var util = require('core-util-is'); -util.inherits = require('inherits'); -/**/ - -var Readable = require('./_stream_readable'); -var Writable = require('./_stream_writable'); - -util.inherits(Duplex, Readable); - -var keys = objectKeys(Writable.prototype); -for (var v = 0; v < keys.length; v++) { - var method = keys[v]; - if (!Duplex.prototype[method]) Duplex.prototype[method] = Writable.prototype[method]; -} - -function Duplex(options) { - if (!(this instanceof Duplex)) return new Duplex(options); - - Readable.call(this, options); - Writable.call(this, options); - - if (options && options.readable === false) this.readable = false; - - if (options && options.writable === false) this.writable = false; - - this.allowHalfOpen = true; - if (options && options.allowHalfOpen === false) this.allowHalfOpen = false; - - this.once('end', onend); -} - -// the no-half-open enforcer -function onend() { - // if we allow half-open state, or if the writable side ended, - // then we're ok. - if (this.allowHalfOpen || this._writableState.ended) return; - - // no more data can be written. - // But allow more writes to happen in this tick. - processNextTick(onEndNT, this); -} - -function onEndNT(self) { - self.end(); -} - -Object.defineProperty(Duplex.prototype, 'destroyed', { - get: function () { - if (this._readableState === undefined || this._writableState === undefined) { - return false; - } - return this._readableState.destroyed && this._writableState.destroyed; - }, - set: function (value) { - // we ignore the value if the stream - // has not been initialized yet - if (this._readableState === undefined || this._writableState === undefined) { - return; - } - - // backward compatibility, the user is explicitly - // managing destroyed - this._readableState.destroyed = value; - this._writableState.destroyed = value; - } -}); - -Duplex.prototype._destroy = function (err, cb) { - this.push(null); - this.end(); - - processNextTick(cb, err); -}; - -function forEach(xs, f) { - for (var i = 0, l = xs.length; i < l; i++) { - f(xs[i], i); - } -} \ No newline at end of file diff --git a/publi/node_modules/are-we-there-yet/node_modules/readable-stream/lib/_stream_passthrough.js b/publi/node_modules/are-we-there-yet/node_modules/readable-stream/lib/_stream_passthrough.js deleted file mode 100644 index a9c8358..0000000 --- a/publi/node_modules/are-we-there-yet/node_modules/readable-stream/lib/_stream_passthrough.js +++ /dev/null @@ -1,47 +0,0 @@ -// 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. - -// a passthrough stream. -// basically just the most minimal sort of Transform stream. -// Every written chunk gets output as-is. - -'use strict'; - -module.exports = PassThrough; - -var Transform = require('./_stream_transform'); - -/**/ -var util = require('core-util-is'); -util.inherits = require('inherits'); -/**/ - -util.inherits(PassThrough, Transform); - -function PassThrough(options) { - if (!(this instanceof PassThrough)) return new PassThrough(options); - - Transform.call(this, options); -} - -PassThrough.prototype._transform = function (chunk, encoding, cb) { - cb(null, chunk); -}; \ No newline at end of file diff --git a/publi/node_modules/are-we-there-yet/node_modules/readable-stream/lib/_stream_readable.js b/publi/node_modules/are-we-there-yet/node_modules/readable-stream/lib/_stream_readable.js deleted file mode 100644 index ee9001c..0000000 --- a/publi/node_modules/are-we-there-yet/node_modules/readable-stream/lib/_stream_readable.js +++ /dev/null @@ -1,1007 +0,0 @@ -// 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. - -'use strict'; - -/**/ - -var processNextTick = require('process-nextick-args'); -/**/ - -module.exports = Readable; - -/**/ -var isArray = require('isarray'); -/**/ - -/**/ -var Duplex; -/**/ - -Readable.ReadableState = ReadableState; - -/**/ -var EE = require('events').EventEmitter; - -var EElistenerCount = function (emitter, type) { - return emitter.listeners(type).length; -}; -/**/ - -/**/ -var Stream = require('./internal/streams/stream'); -/**/ - -// TODO(bmeurer): Change this back to const once hole checks are -// properly optimized away early in Ignition+TurboFan. -/**/ -var Buffer = require('safe-buffer').Buffer; -var OurUint8Array = global.Uint8Array || function () {}; -function _uint8ArrayToBuffer(chunk) { - return Buffer.from(chunk); -} -function _isUint8Array(obj) { - return Buffer.isBuffer(obj) || obj instanceof OurUint8Array; -} -/**/ - -/**/ -var util = require('core-util-is'); -util.inherits = require('inherits'); -/**/ - -/**/ -var debugUtil = require('util'); -var debug = void 0; -if (debugUtil && debugUtil.debuglog) { - debug = debugUtil.debuglog('stream'); -} else { - debug = function () {}; -} -/**/ - -var BufferList = require('./internal/streams/BufferList'); -var destroyImpl = require('./internal/streams/destroy'); -var StringDecoder; - -util.inherits(Readable, Stream); - -var kProxyEvents = ['error', 'close', 'destroy', 'pause', 'resume']; - -function prependListener(emitter, event, fn) { - // Sadly this is not cacheable as some libraries bundle their own - // event emitter implementation with them. - if (typeof emitter.prependListener === 'function') { - return emitter.prependListener(event, fn); - } else { - // This is a hack to make sure that our error handler is attached before any - // userland ones. NEVER DO THIS. This is here only because this code needs - // to continue to work with older versions of Node.js that do not include - // the prependListener() method. The goal is to eventually remove this hack. - if (!emitter._events || !emitter._events[event]) emitter.on(event, fn);else if (isArray(emitter._events[event])) emitter._events[event].unshift(fn);else emitter._events[event] = [fn, emitter._events[event]]; - } -} - -function ReadableState(options, stream) { - Duplex = Duplex || require('./_stream_duplex'); - - options = options || {}; - - // object stream flag. Used to make read(n) ignore n and to - // make all the buffer merging and length checks go away - this.objectMode = !!options.objectMode; - - if (stream instanceof Duplex) this.objectMode = this.objectMode || !!options.readableObjectMode; - - // the point at which it stops calling _read() to fill the buffer - // Note: 0 is a valid value, means "don't call _read preemptively ever" - var hwm = options.highWaterMark; - var defaultHwm = this.objectMode ? 16 : 16 * 1024; - this.highWaterMark = hwm || hwm === 0 ? hwm : defaultHwm; - - // cast to ints. - this.highWaterMark = Math.floor(this.highWaterMark); - - // A linked list is used to store data chunks instead of an array because the - // linked list can remove elements from the beginning faster than - // array.shift() - this.buffer = new BufferList(); - this.length = 0; - this.pipes = null; - this.pipesCount = 0; - this.flowing = null; - this.ended = false; - this.endEmitted = false; - this.reading = false; - - // a flag to be able to tell if the event 'readable'/'data' is emitted - // immediately, or on a later tick. We set this to true at first, because - // any actions that shouldn't happen until "later" should generally also - // not happen before the first read call. - this.sync = true; - - // whenever we return null, then we set a flag to say - // that we're awaiting a 'readable' event emission. - this.needReadable = false; - this.emittedReadable = false; - this.readableListening = false; - this.resumeScheduled = false; - - // has it been destroyed - this.destroyed = false; - - // Crypto is kind of old and crusty. Historically, its default string - // encoding is 'binary' so we have to make this configurable. - // Everything else in the universe uses 'utf8', though. - this.defaultEncoding = options.defaultEncoding || 'utf8'; - - // the number of writers that are awaiting a drain event in .pipe()s - this.awaitDrain = 0; - - // if true, a maybeReadMore has been scheduled - this.readingMore = false; - - this.decoder = null; - this.encoding = null; - if (options.encoding) { - if (!StringDecoder) StringDecoder = require('string_decoder/').StringDecoder; - this.decoder = new StringDecoder(options.encoding); - this.encoding = options.encoding; - } -} - -function Readable(options) { - Duplex = Duplex || require('./_stream_duplex'); - - if (!(this instanceof Readable)) return new Readable(options); - - this._readableState = new ReadableState(options, this); - - // legacy - this.readable = true; - - if (options) { - if (typeof options.read === 'function') this._read = options.read; - - if (typeof options.destroy === 'function') this._destroy = options.destroy; - } - - Stream.call(this); -} - -Object.defineProperty(Readable.prototype, 'destroyed', { - get: function () { - if (this._readableState === undefined) { - return false; - } - return this._readableState.destroyed; - }, - set: function (value) { - // we ignore the value if the stream - // has not been initialized yet - if (!this._readableState) { - return; - } - - // backward compatibility, the user is explicitly - // managing destroyed - this._readableState.destroyed = value; - } -}); - -Readable.prototype.destroy = destroyImpl.destroy; -Readable.prototype._undestroy = destroyImpl.undestroy; -Readable.prototype._destroy = function (err, cb) { - this.push(null); - cb(err); -}; - -// Manually shove something into the read() buffer. -// This returns true if the highWaterMark has not been hit yet, -// similar to how Writable.write() returns true if you should -// write() some more. -Readable.prototype.push = function (chunk, encoding) { - var state = this._readableState; - var skipChunkCheck; - - if (!state.objectMode) { - if (typeof chunk === 'string') { - encoding = encoding || state.defaultEncoding; - if (encoding !== state.encoding) { - chunk = Buffer.from(chunk, encoding); - encoding = ''; - } - skipChunkCheck = true; - } - } else { - skipChunkCheck = true; - } - - return readableAddChunk(this, chunk, encoding, false, skipChunkCheck); -}; - -// Unshift should *always* be something directly out of read() -Readable.prototype.unshift = function (chunk) { - return readableAddChunk(this, chunk, null, true, false); -}; - -function readableAddChunk(stream, chunk, encoding, addToFront, skipChunkCheck) { - var state = stream._readableState; - if (chunk === null) { - state.reading = false; - onEofChunk(stream, state); - } else { - var er; - if (!skipChunkCheck) er = chunkInvalid(state, chunk); - if (er) { - stream.emit('error', er); - } else if (state.objectMode || chunk && chunk.length > 0) { - if (typeof chunk !== 'string' && !state.objectMode && Object.getPrototypeOf(chunk) !== Buffer.prototype) { - chunk = _uint8ArrayToBuffer(chunk); - } - - if (addToFront) { - if (state.endEmitted) stream.emit('error', new Error('stream.unshift() after end event'));else addChunk(stream, state, chunk, true); - } else if (state.ended) { - stream.emit('error', new Error('stream.push() after EOF')); - } else { - state.reading = false; - if (state.decoder && !encoding) { - chunk = state.decoder.write(chunk); - if (state.objectMode || chunk.length !== 0) addChunk(stream, state, chunk, false);else maybeReadMore(stream, state); - } else { - addChunk(stream, state, chunk, false); - } - } - } else if (!addToFront) { - state.reading = false; - } - } - - return needMoreData(state); -} - -function addChunk(stream, state, chunk, addToFront) { - if (state.flowing && state.length === 0 && !state.sync) { - stream.emit('data', chunk); - stream.read(0); - } else { - // update the buffer info. - state.length += state.objectMode ? 1 : chunk.length; - if (addToFront) state.buffer.unshift(chunk);else state.buffer.push(chunk); - - if (state.needReadable) emitReadable(stream); - } - maybeReadMore(stream, state); -} - -function chunkInvalid(state, chunk) { - var er; - if (!_isUint8Array(chunk) && typeof chunk !== 'string' && chunk !== undefined && !state.objectMode) { - er = new TypeError('Invalid non-string/buffer chunk'); - } - return er; -} - -// if it's past the high water mark, we can push in some more. -// Also, if we have no data yet, we can stand some -// more bytes. This is to work around cases where hwm=0, -// such as the repl. Also, if the push() triggered a -// readable event, and the user called read(largeNumber) such that -// needReadable was set, then we ought to push more, so that another -// 'readable' event will be triggered. -function needMoreData(state) { - return !state.ended && (state.needReadable || state.length < state.highWaterMark || state.length === 0); -} - -Readable.prototype.isPaused = function () { - return this._readableState.flowing === false; -}; - -// backwards compatibility. -Readable.prototype.setEncoding = function (enc) { - if (!StringDecoder) StringDecoder = require('string_decoder/').StringDecoder; - this._readableState.decoder = new StringDecoder(enc); - this._readableState.encoding = enc; - return this; -}; - -// Don't raise the hwm > 8MB -var MAX_HWM = 0x800000; -function computeNewHighWaterMark(n) { - if (n >= MAX_HWM) { - n = MAX_HWM; - } else { - // Get the next highest power of 2 to prevent increasing hwm excessively in - // tiny amounts - n--; - n |= n >>> 1; - n |= n >>> 2; - n |= n >>> 4; - n |= n >>> 8; - n |= n >>> 16; - n++; - } - return n; -} - -// This function is designed to be inlinable, so please take care when making -// changes to the function body. -function howMuchToRead(n, state) { - if (n <= 0 || state.length === 0 && state.ended) return 0; - if (state.objectMode) return 1; - if (n !== n) { - // Only flow one buffer at a time - if (state.flowing && state.length) return state.buffer.head.data.length;else return state.length; - } - // If we're asking for more than the current hwm, then raise the hwm. - if (n > state.highWaterMark) state.highWaterMark = computeNewHighWaterMark(n); - if (n <= state.length) return n; - // Don't have enough - if (!state.ended) { - state.needReadable = true; - return 0; - } - return state.length; -} - -// you can override either this method, or the async _read(n) below. -Readable.prototype.read = function (n) { - debug('read', n); - n = parseInt(n, 10); - var state = this._readableState; - var nOrig = n; - - if (n !== 0) state.emittedReadable = false; - - // if we're doing read(0) to trigger a readable event, but we - // already have a bunch of data in the buffer, then just trigger - // the 'readable' event and move on. - if (n === 0 && state.needReadable && (state.length >= state.highWaterMark || state.ended)) { - debug('read: emitReadable', state.length, state.ended); - if (state.length === 0 && state.ended) endReadable(this);else emitReadable(this); - return null; - } - - n = howMuchToRead(n, state); - - // if we've ended, and we're now clear, then finish it up. - if (n === 0 && state.ended) { - if (state.length === 0) endReadable(this); - return null; - } - - // All the actual chunk generation logic needs to be - // *below* the call to _read. The reason is that in certain - // synthetic stream cases, such as passthrough streams, _read - // may be a completely synchronous operation which may change - // the state of the read buffer, providing enough data when - // before there was *not* enough. - // - // So, the steps are: - // 1. Figure out what the state of things will be after we do - // a read from the buffer. - // - // 2. If that resulting state will trigger a _read, then call _read. - // Note that this may be asynchronous, or synchronous. Yes, it is - // deeply ugly to write APIs this way, but that still doesn't mean - // that the Readable class should behave improperly, as streams are - // designed to be sync/async agnostic. - // Take note if the _read call is sync or async (ie, if the read call - // has returned yet), so that we know whether or not it's safe to emit - // 'readable' etc. - // - // 3. Actually pull the requested chunks out of the buffer and return. - - // if we need a readable event, then we need to do some reading. - var doRead = state.needReadable; - debug('need readable', doRead); - - // if we currently have less than the highWaterMark, then also read some - if (state.length === 0 || state.length - n < state.highWaterMark) { - doRead = true; - debug('length less than watermark', doRead); - } - - // however, if we've ended, then there's no point, and if we're already - // reading, then it's unnecessary. - if (state.ended || state.reading) { - doRead = false; - debug('reading or ended', doRead); - } else if (doRead) { - debug('do read'); - state.reading = true; - state.sync = true; - // if the length is currently zero, then we *need* a readable event. - if (state.length === 0) state.needReadable = true; - // call internal read method - this._read(state.highWaterMark); - state.sync = false; - // If _read pushed data synchronously, then `reading` will be false, - // and we need to re-evaluate how much data we can return to the user. - if (!state.reading) n = howMuchToRead(nOrig, state); - } - - var ret; - if (n > 0) ret = fromList(n, state);else ret = null; - - if (ret === null) { - state.needReadable = true; - n = 0; - } else { - state.length -= n; - } - - if (state.length === 0) { - // If we have nothing in the buffer, then we want to know - // as soon as we *do* get something into the buffer. - if (!state.ended) state.needReadable = true; - - // If we tried to read() past the EOF, then emit end on the next tick. - if (nOrig !== n && state.ended) endReadable(this); - } - - if (ret !== null) this.emit('data', ret); - - return ret; -}; - -function onEofChunk(stream, state) { - if (state.ended) return; - if (state.decoder) { - var chunk = state.decoder.end(); - if (chunk && chunk.length) { - state.buffer.push(chunk); - state.length += state.objectMode ? 1 : chunk.length; - } - } - state.ended = true; - - // emit 'readable' now to make sure it gets picked up. - emitReadable(stream); -} - -// Don't emit readable right away in sync mode, because this can trigger -// another read() call => stack overflow. This way, it might trigger -// a nextTick recursion warning, but that's not so bad. -function emitReadable(stream) { - var state = stream._readableState; - state.needReadable = false; - if (!state.emittedReadable) { - debug('emitReadable', state.flowing); - state.emittedReadable = true; - if (state.sync) processNextTick(emitReadable_, stream);else emitReadable_(stream); - } -} - -function emitReadable_(stream) { - debug('emit readable'); - stream.emit('readable'); - flow(stream); -} - -// at this point, the user has presumably seen the 'readable' event, -// and called read() to consume some data. that may have triggered -// in turn another _read(n) call, in which case reading = true if -// it's in progress. -// However, if we're not ended, or reading, and the length < hwm, -// then go ahead and try to read some more preemptively. -function maybeReadMore(stream, state) { - if (!state.readingMore) { - state.readingMore = true; - processNextTick(maybeReadMore_, stream, state); - } -} - -function maybeReadMore_(stream, state) { - var len = state.length; - while (!state.reading && !state.flowing && !state.ended && state.length < state.highWaterMark) { - debug('maybeReadMore read 0'); - stream.read(0); - if (len === state.length) - // didn't get any data, stop spinning. - break;else len = state.length; - } - state.readingMore = false; -} - -// abstract method. to be overridden in specific implementation classes. -// call cb(er, data) where data is <= n in length. -// for virtual (non-string, non-buffer) streams, "length" is somewhat -// arbitrary, and perhaps not very meaningful. -Readable.prototype._read = function (n) { - this.emit('error', new Error('_read() is not implemented')); -}; - -Readable.prototype.pipe = function (dest, pipeOpts) { - var src = this; - var state = this._readableState; - - switch (state.pipesCount) { - case 0: - state.pipes = dest; - break; - case 1: - state.pipes = [state.pipes, dest]; - break; - default: - state.pipes.push(dest); - break; - } - state.pipesCount += 1; - debug('pipe count=%d opts=%j', state.pipesCount, pipeOpts); - - var doEnd = (!pipeOpts || pipeOpts.end !== false) && dest !== process.stdout && dest !== process.stderr; - - var endFn = doEnd ? onend : unpipe; - if (state.endEmitted) processNextTick(endFn);else src.once('end', endFn); - - dest.on('unpipe', onunpipe); - function onunpipe(readable, unpipeInfo) { - debug('onunpipe'); - if (readable === src) { - if (unpipeInfo && unpipeInfo.hasUnpiped === false) { - unpipeInfo.hasUnpiped = true; - cleanup(); - } - } - } - - function onend() { - debug('onend'); - dest.end(); - } - - // when the dest drains, it reduces the awaitDrain counter - // on the source. This would be more elegant with a .once() - // handler in flow(), but adding and removing repeatedly is - // too slow. - var ondrain = pipeOnDrain(src); - dest.on('drain', ondrain); - - var cleanedUp = false; - function cleanup() { - debug('cleanup'); - // cleanup event handlers once the pipe is broken - dest.removeListener('close', onclose); - dest.removeListener('finish', onfinish); - dest.removeListener('drain', ondrain); - dest.removeListener('error', onerror); - dest.removeListener('unpipe', onunpipe); - src.removeListener('end', onend); - src.removeListener('end', unpipe); - src.removeListener('data', ondata); - - cleanedUp = true; - - // if the reader is waiting for a drain event from this - // specific writer, then it would cause it to never start - // flowing again. - // So, if this is awaiting a drain, then we just call it now. - // If we don't know, then assume that we are waiting for one. - if (state.awaitDrain && (!dest._writableState || dest._writableState.needDrain)) ondrain(); - } - - // If the user pushes more data while we're writing to dest then we'll end up - // in ondata again. However, we only want to increase awaitDrain once because - // dest will only emit one 'drain' event for the multiple writes. - // => Introduce a guard on increasing awaitDrain. - var increasedAwaitDrain = false; - src.on('data', ondata); - function ondata(chunk) { - debug('ondata'); - increasedAwaitDrain = false; - var ret = dest.write(chunk); - if (false === ret && !increasedAwaitDrain) { - // If the user unpiped during `dest.write()`, it is possible - // to get stuck in a permanently paused state if that write - // also returned false. - // => Check whether `dest` is still a piping destination. - if ((state.pipesCount === 1 && state.pipes === dest || state.pipesCount > 1 && indexOf(state.pipes, dest) !== -1) && !cleanedUp) { - debug('false write response, pause', src._readableState.awaitDrain); - src._readableState.awaitDrain++; - increasedAwaitDrain = true; - } - src.pause(); - } - } - - // if the dest has an error, then stop piping into it. - // however, don't suppress the throwing behavior for this. - function onerror(er) { - debug('onerror', er); - unpipe(); - dest.removeListener('error', onerror); - if (EElistenerCount(dest, 'error') === 0) dest.emit('error', er); - } - - // Make sure our error handler is attached before userland ones. - prependListener(dest, 'error', onerror); - - // Both close and finish should trigger unpipe, but only once. - function onclose() { - dest.removeListener('finish', onfinish); - unpipe(); - } - dest.once('close', onclose); - function onfinish() { - debug('onfinish'); - dest.removeListener('close', onclose); - unpipe(); - } - dest.once('finish', onfinish); - - function unpipe() { - debug('unpipe'); - src.unpipe(dest); - } - - // tell the dest that it's being piped to - dest.emit('pipe', src); - - // start the flow if it hasn't been started already. - if (!state.flowing) { - debug('pipe resume'); - src.resume(); - } - - return dest; -}; - -function pipeOnDrain(src) { - return function () { - var state = src._readableState; - debug('pipeOnDrain', state.awaitDrain); - if (state.awaitDrain) state.awaitDrain--; - if (state.awaitDrain === 0 && EElistenerCount(src, 'data')) { - state.flowing = true; - flow(src); - } - }; -} - -Readable.prototype.unpipe = function (dest) { - var state = this._readableState; - var unpipeInfo = { hasUnpiped: false }; - - // if we're not piping anywhere, then do nothing. - if (state.pipesCount === 0) return this; - - // just one destination. most common case. - if (state.pipesCount === 1) { - // passed in one, but it's not the right one. - if (dest && dest !== state.pipes) return this; - - if (!dest) dest = state.pipes; - - // got a match. - state.pipes = null; - state.pipesCount = 0; - state.flowing = false; - if (dest) dest.emit('unpipe', this, unpipeInfo); - return this; - } - - // slow case. multiple pipe destinations. - - if (!dest) { - // remove all. - var dests = state.pipes; - var len = state.pipesCount; - state.pipes = null; - state.pipesCount = 0; - state.flowing = false; - - for (var i = 0; i < len; i++) { - dests[i].emit('unpipe', this, unpipeInfo); - }return this; - } - - // try to find the right one. - var index = indexOf(state.pipes, dest); - if (index === -1) return this; - - state.pipes.splice(index, 1); - state.pipesCount -= 1; - if (state.pipesCount === 1) state.pipes = state.pipes[0]; - - dest.emit('unpipe', this, unpipeInfo); - - return this; -}; - -// set up data events if they are asked for -// Ensure readable listeners eventually get something -Readable.prototype.on = function (ev, fn) { - var res = Stream.prototype.on.call(this, ev, fn); - - if (ev === 'data') { - // Start flowing on next tick if stream isn't explicitly paused - if (this._readableState.flowing !== false) this.resume(); - } else if (ev === 'readable') { - var state = this._readableState; - if (!state.endEmitted && !state.readableListening) { - state.readableListening = state.needReadable = true; - state.emittedReadable = false; - if (!state.reading) { - processNextTick(nReadingNextTick, this); - } else if (state.length) { - emitReadable(this); - } - } - } - - return res; -}; -Readable.prototype.addListener = Readable.prototype.on; - -function nReadingNextTick(self) { - debug('readable nexttick read 0'); - self.read(0); -} - -// pause() and resume() are remnants of the legacy readable stream API -// If the user uses them, then switch into old mode. -Readable.prototype.resume = function () { - var state = this._readableState; - if (!state.flowing) { - debug('resume'); - state.flowing = true; - resume(this, state); - } - return this; -}; - -function resume(stream, state) { - if (!state.resumeScheduled) { - state.resumeScheduled = true; - processNextTick(resume_, stream, state); - } -} - -function resume_(stream, state) { - if (!state.reading) { - debug('resume read 0'); - stream.read(0); - } - - state.resumeScheduled = false; - state.awaitDrain = 0; - stream.emit('resume'); - flow(stream); - if (state.flowing && !state.reading) stream.read(0); -} - -Readable.prototype.pause = function () { - debug('call pause flowing=%j', this._readableState.flowing); - if (false !== this._readableState.flowing) { - debug('pause'); - this._readableState.flowing = false; - this.emit('pause'); - } - return this; -}; - -function flow(stream) { - var state = stream._readableState; - debug('flow', state.flowing); - while (state.flowing && stream.read() !== null) {} -} - -// wrap an old-style stream as the async data source. -// This is *not* part of the readable stream interface. -// It is an ugly unfortunate mess of history. -Readable.prototype.wrap = function (stream) { - var state = this._readableState; - var paused = false; - - var self = this; - stream.on('end', function () { - debug('wrapped end'); - if (state.decoder && !state.ended) { - var chunk = state.decoder.end(); - if (chunk && chunk.length) self.push(chunk); - } - - self.push(null); - }); - - stream.on('data', function (chunk) { - debug('wrapped data'); - if (state.decoder) chunk = state.decoder.write(chunk); - - // don't skip over falsy values in objectMode - if (state.objectMode && (chunk === null || chunk === undefined)) return;else if (!state.objectMode && (!chunk || !chunk.length)) return; - - var ret = self.push(chunk); - if (!ret) { - paused = true; - stream.pause(); - } - }); - - // proxy all the other methods. - // important when wrapping filters and duplexes. - for (var i in stream) { - if (this[i] === undefined && typeof stream[i] === 'function') { - this[i] = function (method) { - return function () { - return stream[method].apply(stream, arguments); - }; - }(i); - } - } - - // proxy certain important events. - for (var n = 0; n < kProxyEvents.length; n++) { - stream.on(kProxyEvents[n], self.emit.bind(self, kProxyEvents[n])); - } - - // when we try to consume some more bytes, simply unpause the - // underlying stream. - self._read = function (n) { - debug('wrapped _read', n); - if (paused) { - paused = false; - stream.resume(); - } - }; - - return self; -}; - -// exposed for testing purposes only. -Readable._fromList = fromList; - -// Pluck off n bytes from an array of buffers. -// Length is the combined lengths of all the buffers in the list. -// This function is designed to be inlinable, so please take care when making -// changes to the function body. -function fromList(n, state) { - // nothing buffered - if (state.length === 0) return null; - - var ret; - if (state.objectMode) ret = state.buffer.shift();else if (!n || n >= state.length) { - // read it all, truncate the list - if (state.decoder) ret = state.buffer.join('');else if (state.buffer.length === 1) ret = state.buffer.head.data;else ret = state.buffer.concat(state.length); - state.buffer.clear(); - } else { - // read part of list - ret = fromListPartial(n, state.buffer, state.decoder); - } - - return ret; -} - -// Extracts only enough buffered data to satisfy the amount requested. -// This function is designed to be inlinable, so please take care when making -// changes to the function body. -function fromListPartial(n, list, hasStrings) { - var ret; - if (n < list.head.data.length) { - // slice is the same for buffers and strings - ret = list.head.data.slice(0, n); - list.head.data = list.head.data.slice(n); - } else if (n === list.head.data.length) { - // first chunk is a perfect match - ret = list.shift(); - } else { - // result spans more than one buffer - ret = hasStrings ? copyFromBufferString(n, list) : copyFromBuffer(n, list); - } - return ret; -} - -// Copies a specified amount of characters from the list of buffered data -// chunks. -// This function is designed to be inlinable, so please take care when making -// changes to the function body. -function copyFromBufferString(n, list) { - var p = list.head; - var c = 1; - var ret = p.data; - n -= ret.length; - while (p = p.next) { - var str = p.data; - var nb = n > str.length ? str.length : n; - if (nb === str.length) ret += str;else ret += str.slice(0, n); - n -= nb; - if (n === 0) { - if (nb === str.length) { - ++c; - if (p.next) list.head = p.next;else list.head = list.tail = null; - } else { - list.head = p; - p.data = str.slice(nb); - } - break; - } - ++c; - } - list.length -= c; - return ret; -} - -// Copies a specified amount of bytes from the list of buffered data chunks. -// This function is designed to be inlinable, so please take care when making -// changes to the function body. -function copyFromBuffer(n, list) { - var ret = Buffer.allocUnsafe(n); - var p = list.head; - var c = 1; - p.data.copy(ret); - n -= p.data.length; - while (p = p.next) { - var buf = p.data; - var nb = n > buf.length ? buf.length : n; - buf.copy(ret, ret.length - n, 0, nb); - n -= nb; - if (n === 0) { - if (nb === buf.length) { - ++c; - if (p.next) list.head = p.next;else list.head = list.tail = null; - } else { - list.head = p; - p.data = buf.slice(nb); - } - break; - } - ++c; - } - list.length -= c; - return ret; -} - -function endReadable(stream) { - var state = stream._readableState; - - // If we get here before consuming all the bytes, then that is a - // bug in node. Should never happen. - if (state.length > 0) throw new Error('"endReadable()" called on non-empty stream'); - - if (!state.endEmitted) { - state.ended = true; - processNextTick(endReadableNT, state, stream); - } -} - -function endReadableNT(state, stream) { - // Check that we didn't get one last unshift. - if (!state.endEmitted && state.length === 0) { - state.endEmitted = true; - stream.readable = false; - stream.emit('end'); - } -} - -function forEach(xs, f) { - for (var i = 0, l = xs.length; i < l; i++) { - f(xs[i], i); - } -} - -function indexOf(xs, x) { - for (var i = 0, l = xs.length; i < l; i++) { - if (xs[i] === x) return i; - } - return -1; -} \ No newline at end of file diff --git a/publi/node_modules/are-we-there-yet/node_modules/readable-stream/lib/_stream_transform.js b/publi/node_modules/are-we-there-yet/node_modules/readable-stream/lib/_stream_transform.js deleted file mode 100644 index a0c2317..0000000 --- a/publi/node_modules/are-we-there-yet/node_modules/readable-stream/lib/_stream_transform.js +++ /dev/null @@ -1,214 +0,0 @@ -// 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. - -// a transform stream is a readable/writable stream where you do -// something with the data. Sometimes it's called a "filter", -// but that's not a great name for it, since that implies a thing where -// some bits pass through, and others are simply ignored. (That would -// be a valid example of a transform, of course.) -// -// While the output is causally related to the input, it's not a -// necessarily symmetric or synchronous transformation. For example, -// a zlib stream might take multiple plain-text writes(), and then -// emit a single compressed chunk some time in the future. -// -// Here's how this works: -// -// The Transform stream has all the aspects of the readable and writable -// stream classes. When you write(chunk), that calls _write(chunk,cb) -// internally, and returns false if there's a lot of pending writes -// buffered up. When you call read(), that calls _read(n) until -// there's enough pending readable data buffered up. -// -// In a transform stream, the written data is placed in a buffer. When -// _read(n) is called, it transforms the queued up data, calling the -// buffered _write cb's as it consumes chunks. If consuming a single -// written chunk would result in multiple output chunks, then the first -// outputted bit calls the readcb, and subsequent chunks just go into -// the read buffer, and will cause it to emit 'readable' if necessary. -// -// This way, back-pressure is actually determined by the reading side, -// since _read has to be called to start processing a new chunk. However, -// a pathological inflate type of transform can cause excessive buffering -// here. For example, imagine a stream where every byte of input is -// interpreted as an integer from 0-255, and then results in that many -// bytes of output. Writing the 4 bytes {ff,ff,ff,ff} would result in -// 1kb of data being output. In this case, you could write a very small -// amount of input, and end up with a very large amount of output. In -// such a pathological inflating mechanism, there'd be no way to tell -// the system to stop doing the transform. A single 4MB write could -// cause the system to run out of memory. -// -// However, even in such a pathological case, only a single written chunk -// would be consumed, and then the rest would wait (un-transformed) until -// the results of the previous transformed chunk were consumed. - -'use strict'; - -module.exports = Transform; - -var Duplex = require('./_stream_duplex'); - -/**/ -var util = require('core-util-is'); -util.inherits = require('inherits'); -/**/ - -util.inherits(Transform, Duplex); - -function TransformState(stream) { - this.afterTransform = function (er, data) { - return afterTransform(stream, er, data); - }; - - this.needTransform = false; - this.transforming = false; - this.writecb = null; - this.writechunk = null; - this.writeencoding = null; -} - -function afterTransform(stream, er, data) { - var ts = stream._transformState; - ts.transforming = false; - - var cb = ts.writecb; - - if (!cb) { - return stream.emit('error', new Error('write callback called multiple times')); - } - - ts.writechunk = null; - ts.writecb = null; - - if (data !== null && data !== undefined) stream.push(data); - - cb(er); - - var rs = stream._readableState; - rs.reading = false; - if (rs.needReadable || rs.length < rs.highWaterMark) { - stream._read(rs.highWaterMark); - } -} - -function Transform(options) { - if (!(this instanceof Transform)) return new Transform(options); - - Duplex.call(this, options); - - this._transformState = new TransformState(this); - - var stream = this; - - // start out asking for a readable event once data is transformed. - this._readableState.needReadable = true; - - // we have implemented the _read method, and done the other things - // that Readable wants before the first _read call, so unset the - // sync guard flag. - this._readableState.sync = false; - - if (options) { - if (typeof options.transform === 'function') this._transform = options.transform; - - if (typeof options.flush === 'function') this._flush = options.flush; - } - - // When the writable side finishes, then flush out anything remaining. - this.once('prefinish', function () { - if (typeof this._flush === 'function') this._flush(function (er, data) { - done(stream, er, data); - });else done(stream); - }); -} - -Transform.prototype.push = function (chunk, encoding) { - this._transformState.needTransform = false; - return Duplex.prototype.push.call(this, chunk, encoding); -}; - -// This is the part where you do stuff! -// override this function in implementation classes. -// 'chunk' is an input chunk. -// -// Call `push(newChunk)` to pass along transformed output -// to the readable side. You may call 'push' zero or more times. -// -// Call `cb(err)` when you are done with this chunk. If you pass -// an error, then that'll put the hurt on the whole operation. If you -// never call cb(), then you'll never get another chunk. -Transform.prototype._transform = function (chunk, encoding, cb) { - throw new Error('_transform() is not implemented'); -}; - -Transform.prototype._write = function (chunk, encoding, cb) { - var ts = this._transformState; - ts.writecb = cb; - ts.writechunk = chunk; - ts.writeencoding = encoding; - if (!ts.transforming) { - var rs = this._readableState; - if (ts.needTransform || rs.needReadable || rs.length < rs.highWaterMark) this._read(rs.highWaterMark); - } -}; - -// Doesn't matter what the args are here. -// _transform does all the work. -// That we got here means that the readable side wants more data. -Transform.prototype._read = function (n) { - var ts = this._transformState; - - if (ts.writechunk !== null && ts.writecb && !ts.transforming) { - ts.transforming = true; - this._transform(ts.writechunk, ts.writeencoding, ts.afterTransform); - } else { - // mark that we need a transform, so that any data that comes in - // will get processed, now that we've asked for it. - ts.needTransform = true; - } -}; - -Transform.prototype._destroy = function (err, cb) { - var _this = this; - - Duplex.prototype._destroy.call(this, err, function (err2) { - cb(err2); - _this.emit('close'); - }); -}; - -function done(stream, er, data) { - if (er) return stream.emit('error', er); - - if (data !== null && data !== undefined) stream.push(data); - - // if there's nothing in the write buffer, then that means - // that nothing more will ever be provided - var ws = stream._writableState; - var ts = stream._transformState; - - if (ws.length) throw new Error('Calling transform done when ws.length != 0'); - - if (ts.transforming) throw new Error('Calling transform done when still transforming'); - - return stream.push(null); -} \ No newline at end of file diff --git a/publi/node_modules/are-we-there-yet/node_modules/readable-stream/lib/_stream_writable.js b/publi/node_modules/are-we-there-yet/node_modules/readable-stream/lib/_stream_writable.js deleted file mode 100644 index d20da88..0000000 --- a/publi/node_modules/are-we-there-yet/node_modules/readable-stream/lib/_stream_writable.js +++ /dev/null @@ -1,664 +0,0 @@ -// 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. - -// A bit simpler than readable streams. -// Implement an async ._write(chunk, encoding, cb), and it'll handle all -// the drain event emission and buffering. - -'use strict'; - -/**/ - -var processNextTick = require('process-nextick-args'); -/**/ - -module.exports = Writable; - -/* */ -function WriteReq(chunk, encoding, cb) { - this.chunk = chunk; - this.encoding = encoding; - this.callback = cb; - this.next = null; -} - -// It seems a linked list but it is not -// there will be only 2 of these for each stream -function CorkedRequest(state) { - var _this = this; - - this.next = null; - this.entry = null; - this.finish = function () { - onCorkedFinish(_this, state); - }; -} -/* */ - -/**/ -var asyncWrite = !process.browser && ['v0.10', 'v0.9.'].indexOf(process.version.slice(0, 5)) > -1 ? setImmediate : processNextTick; -/**/ - -/**/ -var Duplex; -/**/ - -Writable.WritableState = WritableState; - -/**/ -var util = require('core-util-is'); -util.inherits = require('inherits'); -/**/ - -/**/ -var internalUtil = { - deprecate: require('util-deprecate') -}; -/**/ - -/**/ -var Stream = require('./internal/streams/stream'); -/**/ - -/**/ -var Buffer = require('safe-buffer').Buffer; -var OurUint8Array = global.Uint8Array || function () {}; -function _uint8ArrayToBuffer(chunk) { - return Buffer.from(chunk); -} -function _isUint8Array(obj) { - return Buffer.isBuffer(obj) || obj instanceof OurUint8Array; -} -/**/ - -var destroyImpl = require('./internal/streams/destroy'); - -util.inherits(Writable, Stream); - -function nop() {} - -function WritableState(options, stream) { - Duplex = Duplex || require('./_stream_duplex'); - - options = options || {}; - - // object stream flag to indicate whether or not this stream - // contains buffers or objects. - this.objectMode = !!options.objectMode; - - if (stream instanceof Duplex) this.objectMode = this.objectMode || !!options.writableObjectMode; - - // the point at which write() starts returning false - // Note: 0 is a valid value, means that we always return false if - // the entire buffer is not flushed immediately on write() - var hwm = options.highWaterMark; - var defaultHwm = this.objectMode ? 16 : 16 * 1024; - this.highWaterMark = hwm || hwm === 0 ? hwm : defaultHwm; - - // cast to ints. - this.highWaterMark = Math.floor(this.highWaterMark); - - // if _final has been called - this.finalCalled = false; - - // drain event flag. - this.needDrain = false; - // at the start of calling end() - this.ending = false; - // when end() has been called, and returned - this.ended = false; - // when 'finish' is emitted - this.finished = false; - - // has it been destroyed - this.destroyed = false; - - // should we decode strings into buffers before passing to _write? - // this is here so that some node-core streams can optimize string - // handling at a lower level. - var noDecode = options.decodeStrings === false; - this.decodeStrings = !noDecode; - - // Crypto is kind of old and crusty. Historically, its default string - // encoding is 'binary' so we have to make this configurable. - // Everything else in the universe uses 'utf8', though. - this.defaultEncoding = options.defaultEncoding || 'utf8'; - - // not an actual buffer we keep track of, but a measurement - // of how much we're waiting to get pushed to some underlying - // socket or file. - this.length = 0; - - // a flag to see when we're in the middle of a write. - this.writing = false; - - // when true all writes will be buffered until .uncork() call - this.corked = 0; - - // a flag to be able to tell if the onwrite cb is called immediately, - // or on a later tick. We set this to true at first, because any - // actions that shouldn't happen until "later" should generally also - // not happen before the first write call. - this.sync = true; - - // a flag to know if we're processing previously buffered items, which - // may call the _write() callback in the same tick, so that we don't - // end up in an overlapped onwrite situation. - this.bufferProcessing = false; - - // the callback that's passed to _write(chunk,cb) - this.onwrite = function (er) { - onwrite(stream, er); - }; - - // the callback that the user supplies to write(chunk,encoding,cb) - this.writecb = null; - - // the amount that is being written when _write is called. - this.writelen = 0; - - this.bufferedRequest = null; - this.lastBufferedRequest = null; - - // number of pending user-supplied write callbacks - // this must be 0 before 'finish' can be emitted - this.pendingcb = 0; - - // emit prefinish if the only thing we're waiting for is _write cbs - // This is relevant for synchronous Transform streams - this.prefinished = false; - - // True if the error was already emitted and should not be thrown again - this.errorEmitted = false; - - // count buffered requests - this.bufferedRequestCount = 0; - - // allocate the first CorkedRequest, there is always - // one allocated and free to use, and we maintain at most two - this.corkedRequestsFree = new CorkedRequest(this); -} - -WritableState.prototype.getBuffer = function getBuffer() { - var current = this.bufferedRequest; - var out = []; - while (current) { - out.push(current); - current = current.next; - } - return out; -}; - -(function () { - try { - Object.defineProperty(WritableState.prototype, 'buffer', { - get: internalUtil.deprecate(function () { - return this.getBuffer(); - }, '_writableState.buffer is deprecated. Use _writableState.getBuffer ' + 'instead.', 'DEP0003') - }); - } catch (_) {} -})(); - -// Test _writableState for inheritance to account for Duplex streams, -// whose prototype chain only points to Readable. -var realHasInstance; -if (typeof Symbol === 'function' && Symbol.hasInstance && typeof Function.prototype[Symbol.hasInstance] === 'function') { - realHasInstance = Function.prototype[Symbol.hasInstance]; - Object.defineProperty(Writable, Symbol.hasInstance, { - value: function (object) { - if (realHasInstance.call(this, object)) return true; - - return object && object._writableState instanceof WritableState; - } - }); -} else { - realHasInstance = function (object) { - return object instanceof this; - }; -} - -function Writable(options) { - Duplex = Duplex || require('./_stream_duplex'); - - // Writable ctor is applied to Duplexes, too. - // `realHasInstance` is necessary because using plain `instanceof` - // would return false, as no `_writableState` property is attached. - - // Trying to use the custom `instanceof` for Writable here will also break the - // Node.js LazyTransform implementation, which has a non-trivial getter for - // `_writableState` that would lead to infinite recursion. - if (!realHasInstance.call(Writable, this) && !(this instanceof Duplex)) { - return new Writable(options); - } - - this._writableState = new WritableState(options, this); - - // legacy. - this.writable = true; - - if (options) { - if (typeof options.write === 'function') this._write = options.write; - - if (typeof options.writev === 'function') this._writev = options.writev; - - if (typeof options.destroy === 'function') this._destroy = options.destroy; - - if (typeof options.final === 'function') this._final = options.final; - } - - Stream.call(this); -} - -// Otherwise people can pipe Writable streams, which is just wrong. -Writable.prototype.pipe = function () { - this.emit('error', new Error('Cannot pipe, not readable')); -}; - -function writeAfterEnd(stream, cb) { - var er = new Error('write after end'); - // TODO: defer error events consistently everywhere, not just the cb - stream.emit('error', er); - processNextTick(cb, er); -} - -// Checks that a user-supplied chunk is valid, especially for the particular -// mode the stream is in. Currently this means that `null` is never accepted -// and undefined/non-string values are only allowed in object mode. -function validChunk(stream, state, chunk, cb) { - var valid = true; - var er = false; - - if (chunk === null) { - er = new TypeError('May not write null values to stream'); - } else if (typeof chunk !== 'string' && chunk !== undefined && !state.objectMode) { - er = new TypeError('Invalid non-string/buffer chunk'); - } - if (er) { - stream.emit('error', er); - processNextTick(cb, er); - valid = false; - } - return valid; -} - -Writable.prototype.write = function (chunk, encoding, cb) { - var state = this._writableState; - var ret = false; - var isBuf = _isUint8Array(chunk) && !state.objectMode; - - if (isBuf && !Buffer.isBuffer(chunk)) { - chunk = _uint8ArrayToBuffer(chunk); - } - - if (typeof encoding === 'function') { - cb = encoding; - encoding = null; - } - - if (isBuf) encoding = 'buffer';else if (!encoding) encoding = state.defaultEncoding; - - if (typeof cb !== 'function') cb = nop; - - if (state.ended) writeAfterEnd(this, cb);else if (isBuf || validChunk(this, state, chunk, cb)) { - state.pendingcb++; - ret = writeOrBuffer(this, state, isBuf, chunk, encoding, cb); - } - - return ret; -}; - -Writable.prototype.cork = function () { - var state = this._writableState; - - state.corked++; -}; - -Writable.prototype.uncork = function () { - var state = this._writableState; - - if (state.corked) { - state.corked--; - - if (!state.writing && !state.corked && !state.finished && !state.bufferProcessing && state.bufferedRequest) clearBuffer(this, state); - } -}; - -Writable.prototype.setDefaultEncoding = function setDefaultEncoding(encoding) { - // node::ParseEncoding() requires lower case. - if (typeof encoding === 'string') encoding = encoding.toLowerCase(); - if (!(['hex', 'utf8', 'utf-8', 'ascii', 'binary', 'base64', 'ucs2', 'ucs-2', 'utf16le', 'utf-16le', 'raw'].indexOf((encoding + '').toLowerCase()) > -1)) throw new TypeError('Unknown encoding: ' + encoding); - this._writableState.defaultEncoding = encoding; - return this; -}; - -function decodeChunk(state, chunk, encoding) { - if (!state.objectMode && state.decodeStrings !== false && typeof chunk === 'string') { - chunk = Buffer.from(chunk, encoding); - } - return chunk; -} - -// if we're already writing something, then just put this -// in the queue, and wait our turn. Otherwise, call _write -// If we return false, then we need a drain event, so set that flag. -function writeOrBuffer(stream, state, isBuf, chunk, encoding, cb) { - if (!isBuf) { - var newChunk = decodeChunk(state, chunk, encoding); - if (chunk !== newChunk) { - isBuf = true; - encoding = 'buffer'; - chunk = newChunk; - } - } - var len = state.objectMode ? 1 : chunk.length; - - state.length += len; - - var ret = state.length < state.highWaterMark; - // we must ensure that previous needDrain will not be reset to false. - if (!ret) state.needDrain = true; - - if (state.writing || state.corked) { - var last = state.lastBufferedRequest; - state.lastBufferedRequest = { - chunk: chunk, - encoding: encoding, - isBuf: isBuf, - callback: cb, - next: null - }; - if (last) { - last.next = state.lastBufferedRequest; - } else { - state.bufferedRequest = state.lastBufferedRequest; - } - state.bufferedRequestCount += 1; - } else { - doWrite(stream, state, false, len, chunk, encoding, cb); - } - - return ret; -} - -function doWrite(stream, state, writev, len, chunk, encoding, cb) { - state.writelen = len; - state.writecb = cb; - state.writing = true; - state.sync = true; - if (writev) stream._writev(chunk, state.onwrite);else stream._write(chunk, encoding, state.onwrite); - state.sync = false; -} - -function onwriteError(stream, state, sync, er, cb) { - --state.pendingcb; - - if (sync) { - // defer the callback if we are being called synchronously - // to avoid piling up things on the stack - processNextTick(cb, er); - // this can emit finish, and it will always happen - // after error - processNextTick(finishMaybe, stream, state); - stream._writableState.errorEmitted = true; - stream.emit('error', er); - } else { - // the caller expect this to happen before if - // it is async - cb(er); - stream._writableState.errorEmitted = true; - stream.emit('error', er); - // this can emit finish, but finish must - // always follow error - finishMaybe(stream, state); - } -} - -function onwriteStateUpdate(state) { - state.writing = false; - state.writecb = null; - state.length -= state.writelen; - state.writelen = 0; -} - -function onwrite(stream, er) { - var state = stream._writableState; - var sync = state.sync; - var cb = state.writecb; - - onwriteStateUpdate(state); - - if (er) onwriteError(stream, state, sync, er, cb);else { - // Check if we're actually ready to finish, but don't emit yet - var finished = needFinish(state); - - if (!finished && !state.corked && !state.bufferProcessing && state.bufferedRequest) { - clearBuffer(stream, state); - } - - if (sync) { - /**/ - asyncWrite(afterWrite, stream, state, finished, cb); - /**/ - } else { - afterWrite(stream, state, finished, cb); - } - } -} - -function afterWrite(stream, state, finished, cb) { - if (!finished) onwriteDrain(stream, state); - state.pendingcb--; - cb(); - finishMaybe(stream, state); -} - -// Must force callback to be called on nextTick, so that we don't -// emit 'drain' before the write() consumer gets the 'false' return -// value, and has a chance to attach a 'drain' listener. -function onwriteDrain(stream, state) { - if (state.length === 0 && state.needDrain) { - state.needDrain = false; - stream.emit('drain'); - } -} - -// if there's something in the buffer waiting, then process it -function clearBuffer(stream, state) { - state.bufferProcessing = true; - var entry = state.bufferedRequest; - - if (stream._writev && entry && entry.next) { - // Fast case, write everything using _writev() - var l = state.bufferedRequestCount; - var buffer = new Array(l); - var holder = state.corkedRequestsFree; - holder.entry = entry; - - var count = 0; - var allBuffers = true; - while (entry) { - buffer[count] = entry; - if (!entry.isBuf) allBuffers = false; - entry = entry.next; - count += 1; - } - buffer.allBuffers = allBuffers; - - doWrite(stream, state, true, state.length, buffer, '', holder.finish); - - // doWrite is almost always async, defer these to save a bit of time - // as the hot path ends with doWrite - state.pendingcb++; - state.lastBufferedRequest = null; - if (holder.next) { - state.corkedRequestsFree = holder.next; - holder.next = null; - } else { - state.corkedRequestsFree = new CorkedRequest(state); - } - } else { - // Slow case, write chunks one-by-one - while (entry) { - var chunk = entry.chunk; - var encoding = entry.encoding; - var cb = entry.callback; - var len = state.objectMode ? 1 : chunk.length; - - doWrite(stream, state, false, len, chunk, encoding, cb); - entry = entry.next; - // if we didn't call the onwrite immediately, then - // it means that we need to wait until it does. - // also, that means that the chunk and cb are currently - // being processed, so move the buffer counter past them. - if (state.writing) { - break; - } - } - - if (entry === null) state.lastBufferedRequest = null; - } - - state.bufferedRequestCount = 0; - state.bufferedRequest = entry; - state.bufferProcessing = false; -} - -Writable.prototype._write = function (chunk, encoding, cb) { - cb(new Error('_write() is not implemented')); -}; - -Writable.prototype._writev = null; - -Writable.prototype.end = function (chunk, encoding, cb) { - var state = this._writableState; - - if (typeof chunk === 'function') { - cb = chunk; - chunk = null; - encoding = null; - } else if (typeof encoding === 'function') { - cb = encoding; - encoding = null; - } - - if (chunk !== null && chunk !== undefined) this.write(chunk, encoding); - - // .end() fully uncorks - if (state.corked) { - state.corked = 1; - this.uncork(); - } - - // ignore unnecessary end() calls. - if (!state.ending && !state.finished) endWritable(this, state, cb); -}; - -function needFinish(state) { - return state.ending && state.length === 0 && state.bufferedRequest === null && !state.finished && !state.writing; -} -function callFinal(stream, state) { - stream._final(function (err) { - state.pendingcb--; - if (err) { - stream.emit('error', err); - } - state.prefinished = true; - stream.emit('prefinish'); - finishMaybe(stream, state); - }); -} -function prefinish(stream, state) { - if (!state.prefinished && !state.finalCalled) { - if (typeof stream._final === 'function') { - state.pendingcb++; - state.finalCalled = true; - processNextTick(callFinal, stream, state); - } else { - state.prefinished = true; - stream.emit('prefinish'); - } - } -} - -function finishMaybe(stream, state) { - var need = needFinish(state); - if (need) { - prefinish(stream, state); - if (state.pendingcb === 0) { - state.finished = true; - stream.emit('finish'); - } - } - return need; -} - -function endWritable(stream, state, cb) { - state.ending = true; - finishMaybe(stream, state); - if (cb) { - if (state.finished) processNextTick(cb);else stream.once('finish', cb); - } - state.ended = true; - stream.writable = false; -} - -function onCorkedFinish(corkReq, state, err) { - var entry = corkReq.entry; - corkReq.entry = null; - while (entry) { - var cb = entry.callback; - state.pendingcb--; - cb(err); - entry = entry.next; - } - if (state.corkedRequestsFree) { - state.corkedRequestsFree.next = corkReq; - } else { - state.corkedRequestsFree = corkReq; - } -} - -Object.defineProperty(Writable.prototype, 'destroyed', { - get: function () { - if (this._writableState === undefined) { - return false; - } - return this._writableState.destroyed; - }, - set: function (value) { - // we ignore the value if the stream - // has not been initialized yet - if (!this._writableState) { - return; - } - - // backward compatibility, the user is explicitly - // managing destroyed - this._writableState.destroyed = value; - } -}); - -Writable.prototype.destroy = destroyImpl.destroy; -Writable.prototype._undestroy = destroyImpl.undestroy; -Writable.prototype._destroy = function (err, cb) { - this.end(); - cb(err); -}; \ No newline at end of file diff --git a/publi/node_modules/are-we-there-yet/node_modules/readable-stream/lib/internal/streams/BufferList.js b/publi/node_modules/are-we-there-yet/node_modules/readable-stream/lib/internal/streams/BufferList.js deleted file mode 100644 index d467615..0000000 --- a/publi/node_modules/are-we-there-yet/node_modules/readable-stream/lib/internal/streams/BufferList.js +++ /dev/null @@ -1,74 +0,0 @@ -'use strict'; - -/**/ - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -var Buffer = require('safe-buffer').Buffer; -/**/ - -function copyBuffer(src, target, offset) { - src.copy(target, offset); -} - -module.exports = function () { - function BufferList() { - _classCallCheck(this, BufferList); - - this.head = null; - this.tail = null; - this.length = 0; - } - - BufferList.prototype.push = function push(v) { - var entry = { data: v, next: null }; - if (this.length > 0) this.tail.next = entry;else this.head = entry; - this.tail = entry; - ++this.length; - }; - - BufferList.prototype.unshift = function unshift(v) { - var entry = { data: v, next: this.head }; - if (this.length === 0) this.tail = entry; - this.head = entry; - ++this.length; - }; - - BufferList.prototype.shift = function shift() { - if (this.length === 0) return; - var ret = this.head.data; - if (this.length === 1) this.head = this.tail = null;else this.head = this.head.next; - --this.length; - return ret; - }; - - BufferList.prototype.clear = function clear() { - this.head = this.tail = null; - this.length = 0; - }; - - BufferList.prototype.join = function join(s) { - if (this.length === 0) return ''; - var p = this.head; - var ret = '' + p.data; - while (p = p.next) { - ret += s + p.data; - }return ret; - }; - - BufferList.prototype.concat = function concat(n) { - if (this.length === 0) return Buffer.alloc(0); - if (this.length === 1) return this.head.data; - var ret = Buffer.allocUnsafe(n >>> 0); - var p = this.head; - var i = 0; - while (p) { - copyBuffer(p.data, ret, i); - i += p.data.length; - p = p.next; - } - return ret; - }; - - return BufferList; -}(); \ No newline at end of file diff --git a/publi/node_modules/are-we-there-yet/node_modules/readable-stream/lib/internal/streams/destroy.js b/publi/node_modules/are-we-there-yet/node_modules/readable-stream/lib/internal/streams/destroy.js deleted file mode 100644 index b3e58c3..0000000 --- a/publi/node_modules/are-we-there-yet/node_modules/readable-stream/lib/internal/streams/destroy.js +++ /dev/null @@ -1,72 +0,0 @@ -'use strict'; - -/**/ - -var processNextTick = require('process-nextick-args'); -/**/ - -// undocumented cb() API, needed for core, not for public API -function destroy(err, cb) { - var _this = this; - - var readableDestroyed = this._readableState && this._readableState.destroyed; - var writableDestroyed = this._writableState && this._writableState.destroyed; - - if (readableDestroyed || writableDestroyed) { - if (cb) { - cb(err); - } else if (err && (!this._writableState || !this._writableState.errorEmitted)) { - processNextTick(emitErrorNT, this, err); - } - return; - } - - // we set destroyed to true before firing error callbacks in order - // to make it re-entrance safe in case destroy() is called within callbacks - - if (this._readableState) { - this._readableState.destroyed = true; - } - - // if this is a duplex stream mark the writable part as destroyed as well - if (this._writableState) { - this._writableState.destroyed = true; - } - - this._destroy(err || null, function (err) { - if (!cb && err) { - processNextTick(emitErrorNT, _this, err); - if (_this._writableState) { - _this._writableState.errorEmitted = true; - } - } else if (cb) { - cb(err); - } - }); -} - -function undestroy() { - if (this._readableState) { - this._readableState.destroyed = false; - this._readableState.reading = false; - this._readableState.ended = false; - this._readableState.endEmitted = false; - } - - if (this._writableState) { - this._writableState.destroyed = false; - this._writableState.ended = false; - this._writableState.ending = false; - this._writableState.finished = false; - this._writableState.errorEmitted = false; - } -} - -function emitErrorNT(self, err) { - self.emit('error', err); -} - -module.exports = { - destroy: destroy, - undestroy: undestroy -}; \ No newline at end of file diff --git a/publi/node_modules/are-we-there-yet/node_modules/readable-stream/lib/internal/streams/stream-browser.js b/publi/node_modules/are-we-there-yet/node_modules/readable-stream/lib/internal/streams/stream-browser.js deleted file mode 100644 index 9332a3f..0000000 --- a/publi/node_modules/are-we-there-yet/node_modules/readable-stream/lib/internal/streams/stream-browser.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('events').EventEmitter; diff --git a/publi/node_modules/are-we-there-yet/node_modules/readable-stream/lib/internal/streams/stream.js b/publi/node_modules/are-we-there-yet/node_modules/readable-stream/lib/internal/streams/stream.js deleted file mode 100644 index ce2ad5b..0000000 --- a/publi/node_modules/are-we-there-yet/node_modules/readable-stream/lib/internal/streams/stream.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('stream'); diff --git a/publi/node_modules/are-we-there-yet/node_modules/readable-stream/package.json b/publi/node_modules/are-we-there-yet/node_modules/readable-stream/package.json deleted file mode 100644 index dbf5cfb..0000000 --- a/publi/node_modules/are-we-there-yet/node_modules/readable-stream/package.json +++ /dev/null @@ -1,83 +0,0 @@ -{ - "_from": "readable-stream@^2.0.6", - "_id": "readable-stream@2.3.3", - "_inBundle": false, - "_integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", - "_location": "/are-we-there-yet/readable-stream", - "_phantomChildren": {}, - "_requested": { - "type": "range", - "registry": true, - "raw": "readable-stream@^2.0.6", - "name": "readable-stream", - "escapedName": "readable-stream", - "rawSpec": "^2.0.6", - "saveSpec": null, - "fetchSpec": "^2.0.6" - }, - "_requiredBy": [ - "/are-we-there-yet" - ], - "_resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", - "_shasum": "368f2512d79f9d46fdfc71349ae7878bbc1eb95c", - "_spec": "readable-stream@^2.0.6", - "_where": "/mnt/Data/bach/Documents/ola/OLA#5/ola5doc/publi/node_modules/are-we-there-yet", - "browser": { - "util": false, - "./readable.js": "./readable-browser.js", - "./writable.js": "./writable-browser.js", - "./duplex.js": "./duplex-browser.js", - "./lib/internal/streams/stream.js": "./lib/internal/streams/stream-browser.js" - }, - "bugs": { - "url": "https://github.com/nodejs/readable-stream/issues" - }, - "bundleDependencies": false, - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~1.0.6", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.0.3", - "util-deprecate": "~1.0.1" - }, - "deprecated": false, - "description": "Streams3, a user-land copy of the stream library from Node.js", - "devDependencies": { - "assert": "~1.4.0", - "babel-polyfill": "^6.9.1", - "buffer": "^4.9.0", - "nyc": "^6.4.0", - "tap": "~0.7.1", - "tape": "~4.5.1", - "zuul": "~3.10.0" - }, - "homepage": "https://github.com/nodejs/readable-stream#readme", - "keywords": [ - "readable", - "stream", - "pipe" - ], - "license": "MIT", - "main": "readable.js", - "name": "readable-stream", - "nyc": { - "include": [ - "lib/**.js" - ] - }, - "repository": { - "type": "git", - "url": "git://github.com/nodejs/readable-stream.git" - }, - "scripts": { - "browser": "npm run write-zuul && zuul --browser-retries 2 -- test/browser.js", - "cover": "nyc npm test", - "local": "zuul --local 3000 --no-coverage -- test/browser.js", - "report": "nyc report --reporter=lcov", - "test": "tap test/parallel/*.js test/ours/*.js && node test/verify-dependencies.js", - "write-zuul": "printf \"ui: tape\nbrowsers:\n - name: $BROWSER_NAME\n version: $BROWSER_VERSION\n\">.zuul.yml" - }, - "version": "2.3.3" -} diff --git a/publi/node_modules/are-we-there-yet/node_modules/readable-stream/passthrough.js b/publi/node_modules/are-we-there-yet/node_modules/readable-stream/passthrough.js deleted file mode 100644 index ffd791d..0000000 --- a/publi/node_modules/are-we-there-yet/node_modules/readable-stream/passthrough.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./readable').PassThrough diff --git a/publi/node_modules/are-we-there-yet/node_modules/readable-stream/readable-browser.js b/publi/node_modules/are-we-there-yet/node_modules/readable-stream/readable-browser.js deleted file mode 100644 index e503725..0000000 --- a/publi/node_modules/are-we-there-yet/node_modules/readable-stream/readable-browser.js +++ /dev/null @@ -1,7 +0,0 @@ -exports = module.exports = require('./lib/_stream_readable.js'); -exports.Stream = exports; -exports.Readable = exports; -exports.Writable = require('./lib/_stream_writable.js'); -exports.Duplex = require('./lib/_stream_duplex.js'); -exports.Transform = require('./lib/_stream_transform.js'); -exports.PassThrough = require('./lib/_stream_passthrough.js'); diff --git a/publi/node_modules/are-we-there-yet/node_modules/readable-stream/readable.js b/publi/node_modules/are-we-there-yet/node_modules/readable-stream/readable.js deleted file mode 100644 index ec89ec5..0000000 --- a/publi/node_modules/are-we-there-yet/node_modules/readable-stream/readable.js +++ /dev/null @@ -1,19 +0,0 @@ -var Stream = require('stream'); -if (process.env.READABLE_STREAM === 'disable' && Stream) { - module.exports = Stream; - exports = module.exports = Stream.Readable; - exports.Readable = Stream.Readable; - exports.Writable = Stream.Writable; - exports.Duplex = Stream.Duplex; - exports.Transform = Stream.Transform; - exports.PassThrough = Stream.PassThrough; - exports.Stream = Stream; -} else { - exports = module.exports = require('./lib/_stream_readable.js'); - exports.Stream = Stream || exports; - exports.Readable = exports; - exports.Writable = require('./lib/_stream_writable.js'); - exports.Duplex = require('./lib/_stream_duplex.js'); - exports.Transform = require('./lib/_stream_transform.js'); - exports.PassThrough = require('./lib/_stream_passthrough.js'); -} diff --git a/publi/node_modules/are-we-there-yet/node_modules/readable-stream/transform.js b/publi/node_modules/are-we-there-yet/node_modules/readable-stream/transform.js deleted file mode 100644 index b1baba2..0000000 --- a/publi/node_modules/are-we-there-yet/node_modules/readable-stream/transform.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./readable').Transform diff --git a/publi/node_modules/are-we-there-yet/node_modules/readable-stream/writable-browser.js b/publi/node_modules/are-we-there-yet/node_modules/readable-stream/writable-browser.js deleted file mode 100644 index ebdde6a..0000000 --- a/publi/node_modules/are-we-there-yet/node_modules/readable-stream/writable-browser.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./lib/_stream_writable.js'); diff --git a/publi/node_modules/are-we-there-yet/node_modules/readable-stream/writable.js b/publi/node_modules/are-we-there-yet/node_modules/readable-stream/writable.js deleted file mode 100644 index 3211a6f..0000000 --- a/publi/node_modules/are-we-there-yet/node_modules/readable-stream/writable.js +++ /dev/null @@ -1,8 +0,0 @@ -var Stream = require("stream") -var Writable = require("./lib/_stream_writable.js") - -if (process.env.READABLE_STREAM === 'disable') { - module.exports = Stream && Stream.Writable || Writable -} else { - module.exports = Writable -} diff --git a/publi/node_modules/are-we-there-yet/node_modules/string_decoder/.npmignore b/publi/node_modules/are-we-there-yet/node_modules/string_decoder/.npmignore deleted file mode 100644 index 206320c..0000000 --- a/publi/node_modules/are-we-there-yet/node_modules/string_decoder/.npmignore +++ /dev/null @@ -1,2 +0,0 @@ -build -test diff --git a/publi/node_modules/are-we-there-yet/node_modules/string_decoder/LICENSE b/publi/node_modules/are-we-there-yet/node_modules/string_decoder/LICENSE deleted file mode 100644 index 778edb2..0000000 --- a/publi/node_modules/are-we-there-yet/node_modules/string_decoder/LICENSE +++ /dev/null @@ -1,48 +0,0 @@ -Node.js is licensed for use as follows: - -""" -Copyright Node.js contributors. 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. -""" - -This license applies to parts of Node.js originating from the -https://github.com/joyent/node repository: - -""" -Copyright Joyent, Inc. and other Node contributors. 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. -""" - diff --git a/publi/node_modules/are-we-there-yet/node_modules/string_decoder/README.md b/publi/node_modules/are-we-there-yet/node_modules/string_decoder/README.md deleted file mode 100644 index dc3a2d2..0000000 --- a/publi/node_modules/are-we-there-yet/node_modules/string_decoder/README.md +++ /dev/null @@ -1,28 +0,0 @@ -# string_decoder - -***Node-core v7.0.0 string_decoder for userland*** - - -[![NPM](https://nodei.co/npm/string_decoder.png?downloads=true&downloadRank=true)](https://nodei.co/npm/string_decoder/) -[![NPM](https://nodei.co/npm-dl/string_decoder.png?&months=6&height=3)](https://nodei.co/npm/string_decoder/) - - -```bash -npm install --save string_decoder -``` - -***Node-core string_decoderstring_decoder for userland*** - -This package is a mirror of the string_decoder implementation in Node-core. - -Full documentation may be found on the [Node.js website](https://nodejs.org/dist/v7.8.0/docs/api/). - -As of version 1.0.0 **string_decoder** uses semantic versioning. - -## Previous versions - -Previous version numbers match the versions found in Node core, e.g. 0.10.24 matches Node 0.10.24, likewise 0.11.10 matches Node 0.11.10. - -## Update - -The *build/* directory contains a build script that will scrape the source from the [nodejs/node](https://github.com/nodejs/node) repo given a specific Node version. diff --git a/publi/node_modules/are-we-there-yet/node_modules/string_decoder/lib/string_decoder.js b/publi/node_modules/are-we-there-yet/node_modules/string_decoder/lib/string_decoder.js deleted file mode 100644 index 26fb94c..0000000 --- a/publi/node_modules/are-we-there-yet/node_modules/string_decoder/lib/string_decoder.js +++ /dev/null @@ -1,272 +0,0 @@ -'use strict'; - -var Buffer = require('safe-buffer').Buffer; - -var isEncoding = Buffer.isEncoding || function (encoding) { - encoding = '' + encoding; - switch (encoding && encoding.toLowerCase()) { - case 'hex':case 'utf8':case 'utf-8':case 'ascii':case 'binary':case 'base64':case 'ucs2':case 'ucs-2':case 'utf16le':case 'utf-16le':case 'raw': - return true; - default: - return false; - } -}; - -function _normalizeEncoding(enc) { - if (!enc) return 'utf8'; - var retried; - while (true) { - switch (enc) { - case 'utf8': - case 'utf-8': - return 'utf8'; - case 'ucs2': - case 'ucs-2': - case 'utf16le': - case 'utf-16le': - return 'utf16le'; - case 'latin1': - case 'binary': - return 'latin1'; - case 'base64': - case 'ascii': - case 'hex': - return enc; - default: - if (retried) return; // undefined - enc = ('' + enc).toLowerCase(); - retried = true; - } - } -}; - -// Do not cache `Buffer.isEncoding` when checking encoding names as some -// modules monkey-patch it to support additional encodings -function normalizeEncoding(enc) { - var nenc = _normalizeEncoding(enc); - if (typeof nenc !== 'string' && (Buffer.isEncoding === isEncoding || !isEncoding(enc))) throw new Error('Unknown encoding: ' + enc); - return nenc || enc; -} - -// StringDecoder provides an interface for efficiently splitting a series of -// buffers into a series of JS strings without breaking apart multi-byte -// characters. -exports.StringDecoder = StringDecoder; -function StringDecoder(encoding) { - this.encoding = normalizeEncoding(encoding); - var nb; - switch (this.encoding) { - case 'utf16le': - this.text = utf16Text; - this.end = utf16End; - nb = 4; - break; - case 'utf8': - this.fillLast = utf8FillLast; - nb = 4; - break; - case 'base64': - this.text = base64Text; - this.end = base64End; - nb = 3; - break; - default: - this.write = simpleWrite; - this.end = simpleEnd; - return; - } - this.lastNeed = 0; - this.lastTotal = 0; - this.lastChar = Buffer.allocUnsafe(nb); -} - -StringDecoder.prototype.write = function (buf) { - if (buf.length === 0) return ''; - var r; - var i; - if (this.lastNeed) { - r = this.fillLast(buf); - if (r === undefined) return ''; - i = this.lastNeed; - this.lastNeed = 0; - } else { - i = 0; - } - if (i < buf.length) return r ? r + this.text(buf, i) : this.text(buf, i); - return r || ''; -}; - -StringDecoder.prototype.end = utf8End; - -// Returns only complete characters in a Buffer -StringDecoder.prototype.text = utf8Text; - -// Attempts to complete a partial non-UTF-8 character using bytes from a Buffer -StringDecoder.prototype.fillLast = function (buf) { - if (this.lastNeed <= buf.length) { - buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, this.lastNeed); - return this.lastChar.toString(this.encoding, 0, this.lastTotal); - } - buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, buf.length); - this.lastNeed -= buf.length; -}; - -// Checks the type of a UTF-8 byte, whether it's ASCII, a leading byte, or a -// continuation byte. -function utf8CheckByte(byte) { - if (byte <= 0x7F) return 0;else if (byte >> 5 === 0x06) return 2;else if (byte >> 4 === 0x0E) return 3;else if (byte >> 3 === 0x1E) return 4; - return -1; -} - -// Checks at most 3 bytes at the end of a Buffer in order to detect an -// incomplete multi-byte UTF-8 character. The total number of bytes (2, 3, or 4) -// needed to complete the UTF-8 character (if applicable) are returned. -function utf8CheckIncomplete(self, buf, i) { - var j = buf.length - 1; - if (j < i) return 0; - var nb = utf8CheckByte(buf[j]); - if (nb >= 0) { - if (nb > 0) self.lastNeed = nb - 1; - return nb; - } - if (--j < i) return 0; - nb = utf8CheckByte(buf[j]); - if (nb >= 0) { - if (nb > 0) self.lastNeed = nb - 2; - return nb; - } - if (--j < i) return 0; - nb = utf8CheckByte(buf[j]); - if (nb >= 0) { - if (nb > 0) { - if (nb === 2) nb = 0;else self.lastNeed = nb - 3; - } - return nb; - } - return 0; -} - -// Validates as many continuation bytes for a multi-byte UTF-8 character as -// needed or are available. If we see a non-continuation byte where we expect -// one, we "replace" the validated continuation bytes we've seen so far with -// UTF-8 replacement characters ('\ufffd'), to match v8's UTF-8 decoding -// behavior. The continuation byte check is included three times in the case -// where all of the continuation bytes for a character exist in the same buffer. -// It is also done this way as a slight performance increase instead of using a -// loop. -function utf8CheckExtraBytes(self, buf, p) { - if ((buf[0] & 0xC0) !== 0x80) { - self.lastNeed = 0; - return '\ufffd'.repeat(p); - } - if (self.lastNeed > 1 && buf.length > 1) { - if ((buf[1] & 0xC0) !== 0x80) { - self.lastNeed = 1; - return '\ufffd'.repeat(p + 1); - } - if (self.lastNeed > 2 && buf.length > 2) { - if ((buf[2] & 0xC0) !== 0x80) { - self.lastNeed = 2; - return '\ufffd'.repeat(p + 2); - } - } - } -} - -// Attempts to complete a multi-byte UTF-8 character using bytes from a Buffer. -function utf8FillLast(buf) { - var p = this.lastTotal - this.lastNeed; - var r = utf8CheckExtraBytes(this, buf, p); - if (r !== undefined) return r; - if (this.lastNeed <= buf.length) { - buf.copy(this.lastChar, p, 0, this.lastNeed); - return this.lastChar.toString(this.encoding, 0, this.lastTotal); - } - buf.copy(this.lastChar, p, 0, buf.length); - this.lastNeed -= buf.length; -} - -// Returns all complete UTF-8 characters in a Buffer. If the Buffer ended on a -// partial character, the character's bytes are buffered until the required -// number of bytes are available. -function utf8Text(buf, i) { - var total = utf8CheckIncomplete(this, buf, i); - if (!this.lastNeed) return buf.toString('utf8', i); - this.lastTotal = total; - var end = buf.length - (total - this.lastNeed); - buf.copy(this.lastChar, 0, end); - return buf.toString('utf8', i, end); -} - -// For UTF-8, a replacement character for each buffered byte of a (partial) -// character needs to be added to the output. -function utf8End(buf) { - var r = buf && buf.length ? this.write(buf) : ''; - if (this.lastNeed) return r + '\ufffd'.repeat(this.lastTotal - this.lastNeed); - return r; -} - -// UTF-16LE typically needs two bytes per character, but even if we have an even -// number of bytes available, we need to check if we end on a leading/high -// surrogate. In that case, we need to wait for the next two bytes in order to -// decode the last character properly. -function utf16Text(buf, i) { - if ((buf.length - i) % 2 === 0) { - var r = buf.toString('utf16le', i); - if (r) { - var c = r.charCodeAt(r.length - 1); - if (c >= 0xD800 && c <= 0xDBFF) { - this.lastNeed = 2; - this.lastTotal = 4; - this.lastChar[0] = buf[buf.length - 2]; - this.lastChar[1] = buf[buf.length - 1]; - return r.slice(0, -1); - } - } - return r; - } - this.lastNeed = 1; - this.lastTotal = 2; - this.lastChar[0] = buf[buf.length - 1]; - return buf.toString('utf16le', i, buf.length - 1); -} - -// For UTF-16LE we do not explicitly append special replacement characters if we -// end on a partial character, we simply let v8 handle that. -function utf16End(buf) { - var r = buf && buf.length ? this.write(buf) : ''; - if (this.lastNeed) { - var end = this.lastTotal - this.lastNeed; - return r + this.lastChar.toString('utf16le', 0, end); - } - return r; -} - -function base64Text(buf, i) { - var n = (buf.length - i) % 3; - if (n === 0) return buf.toString('base64', i); - this.lastNeed = 3 - n; - this.lastTotal = 3; - if (n === 1) { - this.lastChar[0] = buf[buf.length - 1]; - } else { - this.lastChar[0] = buf[buf.length - 2]; - this.lastChar[1] = buf[buf.length - 1]; - } - return buf.toString('base64', i, buf.length - n); -} - -function base64End(buf) { - var r = buf && buf.length ? this.write(buf) : ''; - if (this.lastNeed) return r + this.lastChar.toString('base64', 0, 3 - this.lastNeed); - return r; -} - -// Pass bytes on through for single-byte encodings (e.g. ascii, latin1, hex) -function simpleWrite(buf) { - return buf.toString(this.encoding); -} - -function simpleEnd(buf) { - return buf && buf.length ? this.write(buf) : ''; -} \ No newline at end of file diff --git a/publi/node_modules/are-we-there-yet/node_modules/string_decoder/package.json b/publi/node_modules/are-we-there-yet/node_modules/string_decoder/package.json deleted file mode 100644 index 3c951bb..0000000 --- a/publi/node_modules/are-we-there-yet/node_modules/string_decoder/package.json +++ /dev/null @@ -1,109 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "string_decoder@~1.0.0", - "scope": null, - "escapedName": "string_decoder", - "name": "string_decoder", - "rawSpec": "~1.0.0", - "spec": ">=1.0.0 <1.1.0", - "type": "range" - }, - "/mnt/Data/bach/Documents/ola/OLA#4/OLA#4DOC/sys/node_modules/are-we-there-yet/node_modules/readable-stream" - ] - ], - "_from": "string_decoder@>=1.0.0 <1.1.0", - "_id": "string_decoder@1.0.3", - "_inCache": true, - "_location": "/are-we-there-yet/string_decoder", - "_nodeVersion": "8.1.1", - "_npmOperationalInternal": { - "host": "s3://npm-registry-packages", - "tmp": "tmp/string_decoder-1.0.3.tgz_1498156574101_0.8198789858724922" - }, - "_npmUser": { - "name": "cwmma", - "email": "calvin.metcalf@gmail.com" - }, - "_npmVersion": "5.0.3", - "_phantomChildren": {}, - "_requested": { - "raw": "string_decoder@~1.0.0", - "scope": null, - "escapedName": "string_decoder", - "name": "string_decoder", - "rawSpec": "~1.0.0", - "spec": ">=1.0.0 <1.1.0", - "type": "range" - }, - "_requiredBy": [ - "/are-we-there-yet/readable-stream" - ], - "_resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", - "_shasum": "0fc67d7c141825de94282dd536bec6b9bce860ab", - "_shrinkwrap": null, - "_spec": "string_decoder@~1.0.0", - "_where": "/mnt/Data/bach/Documents/ola/OLA#4/OLA#4DOC/sys/node_modules/are-we-there-yet/node_modules/readable-stream", - "bugs": { - "url": "https://github.com/rvagg/string_decoder/issues" - }, - "dependencies": { - "safe-buffer": "~5.1.0" - }, - "description": "The string_decoder module from Node core", - "devDependencies": { - "babel-polyfill": "^6.23.0", - "tap": "~0.4.8" - }, - "directories": {}, - "dist": { - "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", - "shasum": "0fc67d7c141825de94282dd536bec6b9bce860ab", - "tarball": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz" - }, - "gitHead": "e97f24dd3d047b72b9836518e2a0788e2a6a2fdb", - "homepage": "https://github.com/rvagg/string_decoder", - "keywords": [ - "string", - "decoder", - "browser", - "browserify" - ], - "license": "MIT", - "main": "lib/string_decoder.js", - "maintainers": [ - { - "name": "cwmma", - "email": "calvin.metcalf@gmail.com" - }, - { - "name": "matteo.collina", - "email": "hello@matteocollina.com" - }, - { - "name": "nodejs-foundation", - "email": "build@iojs.org" - }, - { - "name": "rvagg", - "email": "rod@vagg.org" - }, - { - "name": "substack", - "email": "substack@gmail.com" - } - ], - "name": "string_decoder", - "optionalDependencies": {}, - "readme": "# string_decoder\n\n***Node-core v7.0.0 string_decoder for userland***\n\n\n[![NPM](https://nodei.co/npm/string_decoder.png?downloads=true&downloadRank=true)](https://nodei.co/npm/string_decoder/)\n[![NPM](https://nodei.co/npm-dl/string_decoder.png?&months=6&height=3)](https://nodei.co/npm/string_decoder/)\n\n\n```bash\nnpm install --save string_decoder\n```\n\n***Node-core string_decoderstring_decoder for userland***\n\nThis package is a mirror of the string_decoder implementation in Node-core.\n\nFull documentation may be found on the [Node.js website](https://nodejs.org/dist/v7.8.0/docs/api/).\n\nAs of version 1.0.0 **string_decoder** uses semantic versioning.\n\n## Previous versions\n\nPrevious version numbers match the versions found in Node core, e.g. 0.10.24 matches Node 0.10.24, likewise 0.11.10 matches Node 0.11.10.\n\n## Update\n\nThe *build/* directory contains a build script that will scrape the source from the [nodejs/node](https://github.com/nodejs/node) repo given a specific Node version.\n", - "readmeFilename": "README.md", - "repository": { - "type": "git", - "url": "git://github.com/rvagg/string_decoder.git" - }, - "scripts": { - "test": "tap test/parallel/*.js && node test/verify-dependencies" - }, - "version": "1.0.3" -} diff --git a/publi/node_modules/are-we-there-yet/package.json b/publi/node_modules/are-we-there-yet/package.json deleted file mode 100644 index d21a284..0000000 --- a/publi/node_modules/are-we-there-yet/package.json +++ /dev/null @@ -1,105 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "are-we-there-yet@~1.1.2", - "scope": null, - "escapedName": "are-we-there-yet", - "name": "are-we-there-yet", - "rawSpec": "~1.1.2", - "spec": ">=1.1.2 <1.2.0", - "type": "range" - }, - "/mnt/Data/bach/Documents/ola/OLA#4/OLA#4DOC/sys/node_modules/npmlog" - ] - ], - "_from": "are-we-there-yet@>=1.1.2 <1.2.0", - "_id": "are-we-there-yet@1.1.4", - "_inCache": true, - "_location": "/are-we-there-yet", - "_nodeVersion": "7.7.4", - "_npmOperationalInternal": { - "host": "packages-18-east.internal.npmjs.com", - "tmp": "tmp/are-we-there-yet-1.1.4.tgz_1492760790532_0.2543606413528323" - }, - "_npmUser": { - "name": "iarna", - "email": "me@re-becca.org" - }, - "_npmVersion": "4.5.0", - "_phantomChildren": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "process-nextick-args": "1.0.7", - "safe-buffer": "5.1.1", - "util-deprecate": "1.0.2" - }, - "_requested": { - "raw": "are-we-there-yet@~1.1.2", - "scope": null, - "escapedName": "are-we-there-yet", - "name": "are-we-there-yet", - "rawSpec": "~1.1.2", - "spec": ">=1.1.2 <1.2.0", - "type": "range" - }, - "_requiredBy": [ - "/npmlog" - ], - "_resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz", - "_shasum": "bb5dca382bb94f05e15194373d16fd3ba1ca110d", - "_shrinkwrap": null, - "_spec": "are-we-there-yet@~1.1.2", - "_where": "/mnt/Data/bach/Documents/ola/OLA#4/OLA#4DOC/sys/node_modules/npmlog", - "author": { - "name": "Rebecca Turner", - "url": "http://re-becca.org" - }, - "bugs": { - "url": "https://github.com/iarna/are-we-there-yet/issues" - }, - "dependencies": { - "delegates": "^1.0.0", - "readable-stream": "^2.0.6" - }, - "description": "Keep track of the overall completion of many disparate processes", - "devDependencies": { - "standard": "^6.0.8", - "tap": "^5.7.0" - }, - "directories": {}, - "dist": { - "shasum": "bb5dca382bb94f05e15194373d16fd3ba1ca110d", - "tarball": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz" - }, - "files": [ - "index.js", - "tracker-base.js", - "tracker-group.js", - "tracker-stream.js", - "tracker.js", - "CHANGES.md" - ], - "gitHead": "aea89b9c277c0674a2485a3eb94a7269bb2346be", - "homepage": "https://github.com/iarna/are-we-there-yet", - "license": "ISC", - "main": "index.js", - "maintainers": [ - { - "name": "iarna", - "email": "me@re-becca.org" - } - ], - "name": "are-we-there-yet", - "optionalDependencies": {}, - "readme": "are-we-there-yet\n----------------\n\nTrack complex hiearchies of asynchronous task completion statuses. This is\nintended to give you a way of recording and reporting the progress of the big\nrecursive fan-out and gather type workflows that are so common in async.\n\nWhat you do with this completion data is up to you, but the most common use case is to\nfeed it to one of the many progress bar modules.\n\nMost progress bar modules include a rudamentary version of this, but my\nneeds were more complex.\n\nUsage\n=====\n\n```javascript\nvar TrackerGroup = require(\"are-we-there-yet\").TrackerGroup\n\nvar top = new TrackerGroup(\"program\")\n\nvar single = top.newItem(\"one thing\", 100)\nsingle.completeWork(20)\n\nconsole.log(top.completed()) // 0.2\n\nfs.stat(\"file\", function(er, stat) {\n if (er) throw er \n var stream = top.newStream(\"file\", stat.size)\n console.log(top.completed()) // now 0.1 as single is 50% of the job and is 20% complete\n // and 50% * 20% == 10%\n fs.createReadStream(\"file\").pipe(stream).on(\"data\", function (chunk) {\n // do stuff with chunk\n })\n top.on(\"change\", function (name) {\n // called each time a chunk is read from \"file\"\n // top.completed() will start at 0.1 and fill up to 0.6 as the file is read\n })\n})\n```\n\nShared Methods\n==============\n\n* var completed = tracker.completed()\n\nImplemented in: `Tracker`, `TrackerGroup`, `TrackerStream`\n\nReturns the ratio of completed work to work to be done. Range of 0 to 1.\n\n* tracker.finish()\n\nImplemented in: `Tracker`, `TrackerGroup`\n\nMarks the tracker as completed. With a TrackerGroup this marks all of its\ncomponents as completed.\n\nMarks all of the components of this tracker as finished, which in turn means\nthat `tracker.completed()` for this will now be 1.\n\nThis will result in one or more `change` events being emitted.\n\nEvents\n======\n\nAll tracker objects emit `change` events with the following arguments:\n\n```\nfunction (name, completed, tracker)\n```\n\n`name` is the name of the tracker that originally emitted the event,\nor if it didn't have one, the first containing tracker group that had one.\n\n`completed` is the percent complete (as returned by `tracker.completed()` method).\n\n`tracker` is the tracker object that you are listening for events on.\n\nTrackerGroup\n============\n\n* var tracker = new TrackerGroup(**name**)\n\n * **name** *(optional)* - The name of this tracker group, used in change\n notifications if the component updating didn't have a name. Defaults to undefined.\n\nCreates a new empty tracker aggregation group. These are trackers whose\ncompletion status is determined by the completion status of other trackers.\n\n* tracker.addUnit(**otherTracker**, **weight**)\n\n * **otherTracker** - Any of the other are-we-there-yet tracker objects\n * **weight** *(optional)* - The weight to give the tracker, defaults to 1.\n\nAdds the **otherTracker** to this aggregation group. The weight determines\nhow long you expect this tracker to take to complete in proportion to other\nunits. So for instance, if you add one tracker with a weight of 1 and\nanother with a weight of 2, you're saying the second will take twice as long\nto complete as the first. As such, the first will account for 33% of the\ncompletion of this tracker and the second will account for the other 67%.\n\nReturns **otherTracker**.\n\n* var subGroup = tracker.newGroup(**name**, **weight**)\n\nThe above is exactly equivalent to:\n\n```javascript\n var subGroup = tracker.addUnit(new TrackerGroup(name), weight)\n```\n\n* var subItem = tracker.newItem(**name**, **todo**, **weight**)\n\nThe above is exactly equivalent to:\n\n```javascript\n var subItem = tracker.addUnit(new Tracker(name, todo), weight)\n```\n\n* var subStream = tracker.newStream(**name**, **todo**, **weight**)\n\nThe above is exactly equivalent to:\n\n```javascript\n var subStream = tracker.addUnit(new TrackerStream(name, todo), weight)\n```\n\n* console.log( tracker.debug() )\n\nReturns a tree showing the completion of this tracker group and all of its\nchildren, including recursively entering all of the children.\n\nTracker\n=======\n\n* var tracker = new Tracker(**name**, **todo**)\n\n * **name** *(optional)* The name of this counter to report in change\n events. Defaults to undefined.\n * **todo** *(optional)* The amount of work todo (a number). Defaults to 0.\n\nOrdinarily these are constructed as a part of a tracker group (via\n`newItem`).\n\n* var completed = tracker.completed()\n\nReturns the ratio of completed work to work to be done. Range of 0 to 1. If\ntotal work to be done is 0 then it will return 0.\n\n* tracker.addWork(**todo**)\n\n * **todo** A number to add to the amount of work to be done.\n\nIncreases the amount of work to be done, thus decreasing the completion\npercentage. Triggers a `change` event.\n\n* tracker.completeWork(**completed**)\n\n * **completed** A number to add to the work complete\n\nIncrease the amount of work complete, thus increasing the completion percentage.\nWill never increase the work completed past the amount of work todo. That is,\npercentages > 100% are not allowed. Triggers a `change` event.\n\n* tracker.finish()\n\nMarks this tracker as finished, tracker.completed() will now be 1. Triggers\na `change` event.\n\nTrackerStream\n=============\n\n* var tracker = new TrackerStream(**name**, **size**, **options**)\n\n * **name** *(optional)* The name of this counter to report in change\n events. Defaults to undefined.\n * **size** *(optional)* The number of bytes being sent through this stream.\n * **options** *(optional)* A hash of stream options\n\nThe tracker stream object is a pass through stream that updates an internal\ntracker object each time a block passes through. It's intended to track\ndownloads, file extraction and other related activities. You use it by piping\nyour data source into it and then using it as your data source.\n\nIf your data has a length attribute then that's used as the amount of work\ncompleted when the chunk is passed through. If it does not (eg, object\nstreams) then each chunk counts as completing 1 unit of work, so your size\nshould be the total number of objects being streamed.\n\n* tracker.addWork(**todo**)\n\n * **todo** Increase the expected overall size by **todo** bytes.\n\nIncreases the amount of work to be done, thus decreasing the completion\npercentage. Triggers a `change` event.\n", - "readmeFilename": "README.md", - "repository": { - "type": "git", - "url": "git+https://github.com/iarna/are-we-there-yet.git" - }, - "scripts": { - "test": "standard && tap test/*.js" - }, - "version": "1.1.4" -} diff --git a/publi/node_modules/are-we-there-yet/tracker-base.js b/publi/node_modules/are-we-there-yet/tracker-base.js deleted file mode 100644 index 6f43687..0000000 --- a/publi/node_modules/are-we-there-yet/tracker-base.js +++ /dev/null @@ -1,11 +0,0 @@ -'use strict' -var EventEmitter = require('events').EventEmitter -var util = require('util') - -var trackerId = 0 -var TrackerBase = module.exports = function (name) { - EventEmitter.call(this) - this.id = ++trackerId - this.name = name -} -util.inherits(TrackerBase, EventEmitter) diff --git a/publi/node_modules/are-we-there-yet/tracker-group.js b/publi/node_modules/are-we-there-yet/tracker-group.js deleted file mode 100644 index 9759e12..0000000 --- a/publi/node_modules/are-we-there-yet/tracker-group.js +++ /dev/null @@ -1,107 +0,0 @@ -'use strict' -var util = require('util') -var TrackerBase = require('./tracker-base.js') -var Tracker = require('./tracker.js') -var TrackerStream = require('./tracker-stream.js') - -var TrackerGroup = module.exports = function (name) { - TrackerBase.call(this, name) - this.parentGroup = null - this.trackers = [] - this.completion = {} - this.weight = {} - this.totalWeight = 0 - this.finished = false - this.bubbleChange = bubbleChange(this) -} -util.inherits(TrackerGroup, TrackerBase) - -function bubbleChange (trackerGroup) { - return function (name, completed, tracker) { - trackerGroup.completion[tracker.id] = completed - if (trackerGroup.finished) return - trackerGroup.emit('change', name || trackerGroup.name, trackerGroup.completed(), trackerGroup) - } -} - -TrackerGroup.prototype.nameInTree = function () { - var names = [] - var from = this - while (from) { - names.unshift(from.name) - from = from.parentGroup - } - return names.join('/') -} - -TrackerGroup.prototype.addUnit = function (unit, weight) { - if (unit.addUnit) { - var toTest = this - while (toTest) { - if (unit === toTest) { - throw new Error( - 'Attempted to add tracker group ' + - unit.name + ' to tree that already includes it ' + - this.nameInTree(this)) - } - toTest = toTest.parentGroup - } - unit.parentGroup = this - } - this.weight[unit.id] = weight || 1 - this.totalWeight += this.weight[unit.id] - this.trackers.push(unit) - this.completion[unit.id] = unit.completed() - unit.on('change', this.bubbleChange) - if (!this.finished) this.emit('change', unit.name, this.completion[unit.id], unit) - return unit -} - -TrackerGroup.prototype.completed = function () { - if (this.trackers.length === 0) return 0 - var valPerWeight = 1 / this.totalWeight - var completed = 0 - for (var ii = 0; ii < this.trackers.length; ii++) { - var trackerId = this.trackers[ii].id - completed += valPerWeight * this.weight[trackerId] * this.completion[trackerId] - } - return completed -} - -TrackerGroup.prototype.newGroup = function (name, weight) { - return this.addUnit(new TrackerGroup(name), weight) -} - -TrackerGroup.prototype.newItem = function (name, todo, weight) { - return this.addUnit(new Tracker(name, todo), weight) -} - -TrackerGroup.prototype.newStream = function (name, todo, weight) { - return this.addUnit(new TrackerStream(name, todo), weight) -} - -TrackerGroup.prototype.finish = function () { - this.finished = true - if (!this.trackers.length) this.addUnit(new Tracker(), 1, true) - for (var ii = 0; ii < this.trackers.length; ii++) { - var tracker = this.trackers[ii] - tracker.finish() - tracker.removeListener('change', this.bubbleChange) - } - this.emit('change', this.name, 1, this) -} - -var buffer = ' ' -TrackerGroup.prototype.debug = function (depth) { - depth = depth || 0 - var indent = depth ? buffer.substr(0, depth) : '' - var output = indent + (this.name || 'top') + ': ' + this.completed() + '\n' - this.trackers.forEach(function (tracker) { - if (tracker instanceof TrackerGroup) { - output += tracker.debug(depth + 1) - } else { - output += indent + ' ' + tracker.name + ': ' + tracker.completed() + '\n' - } - }) - return output -} diff --git a/publi/node_modules/are-we-there-yet/tracker-stream.js b/publi/node_modules/are-we-there-yet/tracker-stream.js deleted file mode 100644 index fb9598e..0000000 --- a/publi/node_modules/are-we-there-yet/tracker-stream.js +++ /dev/null @@ -1,35 +0,0 @@ -'use strict' -var util = require('util') -var stream = require('readable-stream') -var delegate = require('delegates') -var Tracker = require('./tracker.js') - -var TrackerStream = module.exports = function (name, size, options) { - stream.Transform.call(this, options) - this.tracker = new Tracker(name, size) - this.name = name - this.id = this.tracker.id - this.tracker.on('change', delegateChange(this)) -} -util.inherits(TrackerStream, stream.Transform) - -function delegateChange (trackerStream) { - return function (name, completion, tracker) { - trackerStream.emit('change', name, completion, trackerStream) - } -} - -TrackerStream.prototype._transform = function (data, encoding, cb) { - this.tracker.completeWork(data.length ? data.length : 1) - this.push(data) - cb() -} - -TrackerStream.prototype._flush = function (cb) { - this.tracker.finish() - cb() -} - -delegate(TrackerStream.prototype, 'tracker') - .method('completed') - .method('addWork') diff --git a/publi/node_modules/are-we-there-yet/tracker.js b/publi/node_modules/are-we-there-yet/tracker.js deleted file mode 100644 index 68c2339..0000000 --- a/publi/node_modules/are-we-there-yet/tracker.js +++ /dev/null @@ -1,30 +0,0 @@ -'use strict' -var util = require('util') -var TrackerBase = require('./tracker-base.js') - -var Tracker = module.exports = function (name, todo) { - TrackerBase.call(this, name) - this.workDone = 0 - this.workTodo = todo || 0 -} -util.inherits(Tracker, TrackerBase) - -Tracker.prototype.completed = function () { - return this.workTodo === 0 ? 0 : this.workDone / this.workTodo -} - -Tracker.prototype.addWork = function (work) { - this.workTodo += work - this.emit('change', this.name, this.completed(), this) -} - -Tracker.prototype.completeWork = function (work) { - this.workDone += work - if (this.workDone > this.workTodo) this.workDone = this.workTodo - this.emit('change', this.name, this.completed(), this) -} - -Tracker.prototype.finish = function () { - this.workTodo = this.workDone = 1 - this.emit('change', this.name, 1, this) -} diff --git a/publi/node_modules/argparse/CHANGELOG.md b/publi/node_modules/argparse/CHANGELOG.md deleted file mode 100644 index e422115..0000000 --- a/publi/node_modules/argparse/CHANGELOG.md +++ /dev/null @@ -1,179 +0,0 @@ -1.0.9 / 2016-09-29 ------------------- - -- Rerelease after 1.0.8 - deps cleanup. - - -1.0.8 / 2016-09-29 ------------------- - -- Maintenance (deps bump, fix node 6.5+ tests, coverage report). - - -1.0.7 / 2016-03-17 ------------------- - -- Teach `addArgument` to accept string arg names. #97, @tomxtobin. - - -1.0.6 / 2016-02-06 ------------------- - -- Maintenance: moved to eslint & updated CS. - - -1.0.5 / 2016-02-05 ------------------- - -- Removed lodash dependency to significantly reduce install size. - Thanks to @mourner. - - -1.0.4 / 2016-01-17 ------------------- - -- Maintenance: lodash update to 4.0.0. - - -1.0.3 / 2015-10-27 ------------------- - -- Fix parse `=` in args: `--examplepath="C:\myfolder\env=x64"`. #84, @CatWithApple. - - -1.0.2 / 2015-03-22 ------------------- - -- Relaxed lodash version dependency. - - -1.0.1 / 2015-02-20 ------------------- - -- Changed dependencies to be compatible with ancient nodejs. - - -1.0.0 / 2015-02-19 ------------------- - -- Maintenance release. -- Replaced `underscore` with `lodash`. -- Bumped version to 1.0.0 to better reflect semver meaning. -- HISTORY.md -> CHANGELOG.md - - -0.1.16 / 2013-12-01 -------------------- - -- Maintenance release. Updated dependencies and docs. - - -0.1.15 / 2013-05-13 -------------------- - -- Fixed #55, @trebor89 - - -0.1.14 / 2013-05-12 -------------------- - -- Fixed #62, @maxtaco - - -0.1.13 / 2013-04-08 -------------------- - -- Added `.npmignore` to reduce package size - - -0.1.12 / 2013-02-10 -------------------- - -- Fixed conflictHandler (#46), @hpaulj - - -0.1.11 / 2013-02-07 -------------------- - -- Multiple bugfixes, @hpaulj -- Added 70+ tests (ported from python), @hpaulj -- Added conflictHandler, @applepicke -- Added fromfilePrefixChar, @hpaulj - - -0.1.10 / 2012-12-30 -------------------- - -- Added [mutual exclusion](http://docs.python.org/dev/library/argparse.html#mutual-exclusion) - support, thanks to @hpaulj -- Fixed options check for `storeConst` & `appendConst` actions, thanks to @hpaulj - - -0.1.9 / 2012-12-27 ------------------- - -- Fixed option dest interferens with other options (issue #23), thanks to @hpaulj -- Fixed default value behavior with `*` positionals, thanks to @hpaulj -- Improve `getDefault()` behavior, thanks to @hpaulj -- Imrove negative argument parsing, thanks to @hpaulj - - -0.1.8 / 2012-12-01 ------------------- - -- Fixed parser parents (issue #19), thanks to @hpaulj -- Fixed negative argument parse (issue #20), thanks to @hpaulj - - -0.1.7 / 2012-10-14 ------------------- - -- Fixed 'choices' argument parse (issue #16) -- Fixed stderr output (issue #15) - - -0.1.6 / 2012-09-09 ------------------- - -- Fixed check for conflict of options (thanks to @tomxtobin) - - -0.1.5 / 2012-09-03 ------------------- - -- Fix parser #setDefaults method (thanks to @tomxtobin) - - -0.1.4 / 2012-07-30 ------------------- - -- Fixed pseudo-argument support (thanks to @CGamesPlay) -- Fixed addHelp default (should be true), if not set (thanks to @benblank) - - -0.1.3 / 2012-06-27 ------------------- - -- Fixed formatter api name: Formatter -> HelpFormatter - - -0.1.2 / 2012-05-29 ------------------- - -- Added basic tests -- Removed excess whitespace in help -- Fixed error reporting, when parcer with subcommands - called with empty arguments - - -0.1.1 / 2012-05-23 ------------------- - -- Fixed line wrapping in help formatter -- Added better error reporting on invalid arguments - - -0.1.0 / 2012-05-16 ------------------- - -- First release. diff --git a/publi/node_modules/argparse/LICENSE b/publi/node_modules/argparse/LICENSE deleted file mode 100644 index 1afdae5..0000000 --- a/publi/node_modules/argparse/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -(The MIT License) - -Copyright (C) 2012 by Vitaly Puzrin - -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/publi/node_modules/argparse/README.md b/publi/node_modules/argparse/README.md deleted file mode 100644 index 2d0bcab..0000000 --- a/publi/node_modules/argparse/README.md +++ /dev/null @@ -1,253 +0,0 @@ -argparse -======== - -[![Build Status](https://secure.travis-ci.org/nodeca/argparse.png?branch=master)](http://travis-ci.org/nodeca/argparse) -[![NPM version](https://img.shields.io/npm/v/argparse.svg)](https://www.npmjs.org/package/argparse) - -CLI arguments parser for node.js. Javascript port of python's -[argparse](http://docs.python.org/dev/library/argparse.html) module -(original version 3.2). That's a full port, except some very rare options, -recorded in issue tracker. - -**NB. Difference with original.** - -- Method names changed to camelCase. See [generated docs](http://nodeca.github.com/argparse/). -- Use `defaultValue` instead of `default`. - - -Example -======= - -test.js file: - -```javascript -#!/usr/bin/env node -'use strict'; - -var ArgumentParser = require('../lib/argparse').ArgumentParser; -var parser = new ArgumentParser({ - version: '0.0.1', - addHelp:true, - description: 'Argparse example' -}); -parser.addArgument( - [ '-f', '--foo' ], - { - help: 'foo bar' - } -); -parser.addArgument( - [ '-b', '--bar' ], - { - help: 'bar foo' - } -); -parser.addArgument( - '--baz', - { - help: 'baz bar' - } -); -var args = parser.parseArgs(); -console.dir(args); -``` - -Display help: - -``` -$ ./test.js -h -usage: example.js [-h] [-v] [-f FOO] [-b BAR] [--baz BAZ] - -Argparse example - -Optional arguments: - -h, --help Show this help message and exit. - -v, --version Show program's version number and exit. - -f FOO, --foo FOO foo bar - -b BAR, --bar BAR bar foo - --baz BAZ baz bar -``` - -Parse arguments: - -``` -$ ./test.js -f=3 --bar=4 --baz 5 -{ foo: '3', bar: '4', baz: '5' } -``` - -More [examples](https://github.com/nodeca/argparse/tree/master/examples). - - -ArgumentParser objects -====================== - -``` -new ArgumentParser({paramters hash}); -``` - -Creates a new ArgumentParser object. - -**Supported params:** - -- ```description``` - Text to display before the argument help. -- ```epilog``` - Text to display after the argument help. -- ```addHelp``` - Add a -h/–help option to the parser. (default: true) -- ```argumentDefault``` - Set the global default value for arguments. (default: null) -- ```parents``` - A list of ArgumentParser objects whose arguments should also be included. -- ```prefixChars``` - The set of characters that prefix optional arguments. (default: ‘-‘) -- ```formatterClass``` - A class for customizing the help output. -- ```prog``` - The name of the program (default: `path.basename(process.argv[1])`) -- ```usage``` - The string describing the program usage (default: generated) -- ```conflictHandler``` - Usually unnecessary, defines strategy for resolving conflicting optionals. - -**Not supportied yet** - -- ```fromfilePrefixChars``` - The set of characters that prefix files from which additional arguments should be read. - - -Details in [original ArgumentParser guide](http://docs.python.org/dev/library/argparse.html#argumentparser-objects) - - -addArgument() method -==================== - -``` -ArgumentParser.addArgument(name or flag or [name] or [flags...], {options}) -``` - -Defines how a single command-line argument should be parsed. - -- ```name or flag or [name] or [flags...]``` - Either a positional name - (e.g., `'foo'`), a single option (e.g., `'-f'` or `'--foo'`), an array - of a single positional name (e.g., `['foo']`), or an array of options - (e.g., `['-f', '--foo']`). - -Options: - -- ```action``` - The basic type of action to be taken when this argument is encountered at the command line. -- ```nargs```- The number of command-line arguments that should be consumed. -- ```constant``` - A constant value required by some action and nargs selections. -- ```defaultValue``` - The value produced if the argument is absent from the command line. -- ```type``` - The type to which the command-line argument should be converted. -- ```choices``` - A container of the allowable values for the argument. -- ```required``` - Whether or not the command-line option may be omitted (optionals only). -- ```help``` - A brief description of what the argument does. -- ```metavar``` - A name for the argument in usage messages. -- ```dest``` - The name of the attribute to be added to the object returned by parseArgs(). - -Details in [original add_argument guide](http://docs.python.org/dev/library/argparse.html#the-add-argument-method) - - -Action (some details) -================ - -ArgumentParser objects associate command-line arguments with actions. -These actions can do just about anything with the command-line arguments associated -with them, though most actions simply add an attribute to the object returned by -parseArgs(). The action keyword argument specifies how the command-line arguments -should be handled. The supported actions are: - -- ```store``` - Just stores the argument’s value. This is the default action. -- ```storeConst``` - Stores value, specified by the const keyword argument. - (Note that the const keyword argument defaults to the rather unhelpful None.) - The 'storeConst' action is most commonly used with optional arguments, that - specify some sort of flag. -- ```storeTrue``` and ```storeFalse``` - Stores values True and False - respectively. These are special cases of 'storeConst'. -- ```append``` - Stores a list, and appends each argument value to the list. - This is useful to allow an option to be specified multiple times. -- ```appendConst``` - Stores a list, and appends value, specified by the - const keyword argument to the list. (Note, that the const keyword argument defaults - is None.) The 'appendConst' action is typically used when multiple arguments need - to store constants to the same list. -- ```count``` - Counts the number of times a keyword argument occurs. For example, - used for increasing verbosity levels. -- ```help``` - Prints a complete help message for all the options in the current - parser and then exits. By default a help action is automatically added to the parser. - See ArgumentParser for details of how the output is created. -- ```version``` - Prints version information and exit. Expects a `version=` - keyword argument in the addArgument() call. - -Details in [original action guide](http://docs.python.org/dev/library/argparse.html#action) - - -Sub-commands -============ - -ArgumentParser.addSubparsers() - -Many programs split their functionality into a number of sub-commands, for -example, the svn program can invoke sub-commands like `svn checkout`, `svn update`, -and `svn commit`. Splitting up functionality this way can be a particularly good -idea when a program performs several different functions which require different -kinds of command-line arguments. `ArgumentParser` supports creation of such -sub-commands with `addSubparsers()` method. The `addSubparsers()` method is -normally called with no arguments and returns an special action object. -This object has a single method `addParser()`, which takes a command name and -any `ArgumentParser` constructor arguments, and returns an `ArgumentParser` object -that can be modified as usual. - -Example: - -sub_commands.js -```javascript -#!/usr/bin/env node -'use strict'; - -var ArgumentParser = require('../lib/argparse').ArgumentParser; -var parser = new ArgumentParser({ - version: '0.0.1', - addHelp:true, - description: 'Argparse examples: sub-commands', -}); - -var subparsers = parser.addSubparsers({ - title:'subcommands', - dest:"subcommand_name" -}); - -var bar = subparsers.addParser('c1', {addHelp:true}); -bar.addArgument( - [ '-f', '--foo' ], - { - action: 'store', - help: 'foo3 bar3' - } -); -var bar = subparsers.addParser( - 'c2', - {aliases:['co'], addHelp:true} -); -bar.addArgument( - [ '-b', '--bar' ], - { - action: 'store', - type: 'int', - help: 'foo3 bar3' - } -); - -var args = parser.parseArgs(); -console.dir(args); - -``` - -Details in [original sub-commands guide](http://docs.python.org/dev/library/argparse.html#sub-commands) - - -Contributors -============ - -- [Eugene Shkuropat](https://github.com/shkuropat) -- [Paul Jacobson](https://github.com/hpaulj) - -[others](https://github.com/nodeca/argparse/graphs/contributors) - -License -======= - -Copyright (c) 2012 [Vitaly Puzrin](https://github.com/puzrin). -Released under the MIT license. See -[LICENSE](https://github.com/nodeca/argparse/blob/master/LICENSE) for details. - - diff --git a/publi/node_modules/argparse/index.js b/publi/node_modules/argparse/index.js deleted file mode 100644 index 3bbc143..0000000 --- a/publi/node_modules/argparse/index.js +++ /dev/null @@ -1,3 +0,0 @@ -'use strict'; - -module.exports = require('./lib/argparse'); diff --git a/publi/node_modules/argparse/lib/action.js b/publi/node_modules/argparse/lib/action.js deleted file mode 100644 index ef35989..0000000 --- a/publi/node_modules/argparse/lib/action.js +++ /dev/null @@ -1,146 +0,0 @@ -/** - * class Action - * - * Base class for all actions - * Do not call in your code, use this class only for inherits your own action - * - * Information about how to convert command line strings to Javascript objects. - * Action objects are used by an ArgumentParser to represent the information - * needed to parse a single argument from one or more strings from the command - * line. The keyword arguments to the Action constructor are also all attributes - * of Action instances. - * - * #####Alowed keywords: - * - * - `store` - * - `storeConstant` - * - `storeTrue` - * - `storeFalse` - * - `append` - * - `appendConstant` - * - `count` - * - `help` - * - `version` - * - * Information about action options see [[Action.new]] - * - * See also [original guide](http://docs.python.org/dev/library/argparse.html#action) - * - **/ - -'use strict'; - - -// Constants -var c = require('./const'); - - -/** - * new Action(options) - * - * Base class for all actions. Used only for inherits - * - * - * ##### Options: - * - * - `optionStrings` A list of command-line option strings for the action. - * - `dest` Attribute to hold the created object(s) - * - `nargs` The number of command-line arguments that should be consumed. - * By default, one argument will be consumed and a single value will be - * produced. - * - `constant` Default value for an action with no value. - * - `defaultValue` The value to be produced if the option is not specified. - * - `type` Cast to 'string'|'int'|'float'|'complex'|function (string). If - * None, 'string'. - * - `choices` The choices available. - * - `required` True if the action must always be specified at the command - * line. - * - `help` The help describing the argument. - * - `metavar` The name to be used for the option's argument with the help - * string. If None, the 'dest' value will be used as the name. - * - * ##### nargs supported values: - * - * - `N` (an integer) consumes N arguments (and produces a list) - * - `?` consumes zero or one arguments - * - `*` consumes zero or more arguments (and produces a list) - * - `+` consumes one or more arguments (and produces a list) - * - * Note: that the difference between the default and nargs=1 is that with the - * default, a single value will be produced, while with nargs=1, a list - * containing a single value will be produced. - **/ -var Action = module.exports = function Action(options) { - options = options || {}; - this.optionStrings = options.optionStrings || []; - this.dest = options.dest; - this.nargs = typeof options.nargs !== 'undefined' ? options.nargs : null; - this.constant = typeof options.constant !== 'undefined' ? options.constant : null; - this.defaultValue = options.defaultValue; - this.type = typeof options.type !== 'undefined' ? options.type : null; - this.choices = typeof options.choices !== 'undefined' ? options.choices : null; - this.required = typeof options.required !== 'undefined' ? options.required : false; - this.help = typeof options.help !== 'undefined' ? options.help : null; - this.metavar = typeof options.metavar !== 'undefined' ? options.metavar : null; - - if (!(this.optionStrings instanceof Array)) { - throw new Error('optionStrings should be an array'); - } - if (typeof this.required !== 'undefined' && typeof this.required !== 'boolean') { - throw new Error('required should be a boolean'); - } -}; - -/** - * Action#getName -> String - * - * Tells action name - **/ -Action.prototype.getName = function () { - if (this.optionStrings.length > 0) { - return this.optionStrings.join('/'); - } else if (this.metavar !== null && this.metavar !== c.SUPPRESS) { - return this.metavar; - } else if (typeof this.dest !== 'undefined' && this.dest !== c.SUPPRESS) { - return this.dest; - } - return null; -}; - -/** - * Action#isOptional -> Boolean - * - * Return true if optional - **/ -Action.prototype.isOptional = function () { - return !this.isPositional(); -}; - -/** - * Action#isPositional -> Boolean - * - * Return true if positional - **/ -Action.prototype.isPositional = function () { - return (this.optionStrings.length === 0); -}; - -/** - * Action#call(parser, namespace, values, optionString) -> Void - * - parser (ArgumentParser): current parser - * - namespace (Namespace): namespace for output data - * - values (Array): parsed values - * - optionString (Array): input option string(not parsed) - * - * Call the action. Should be implemented in inherited classes - * - * ##### Example - * - * ActionCount.prototype.call = function (parser, namespace, values, optionString) { - * namespace.set(this.dest, (namespace[this.dest] || 0) + 1); - * }; - * - **/ -Action.prototype.call = function () { - throw new Error('.call() not defined');// Not Implemented error -}; diff --git a/publi/node_modules/argparse/lib/action/append.js b/publi/node_modules/argparse/lib/action/append.js deleted file mode 100644 index b5da0de..0000000 --- a/publi/node_modules/argparse/lib/action/append.js +++ /dev/null @@ -1,53 +0,0 @@ -/*:nodoc:* - * class ActionAppend - * - * This action stores a list, and appends each argument value to the list. - * This is useful to allow an option to be specified multiple times. - * This class inherided from [[Action]] - * - **/ - -'use strict'; - -var util = require('util'); - -var Action = require('../action'); - -// Constants -var c = require('../const'); - -/*:nodoc:* - * new ActionAppend(options) - * - options (object): options hash see [[Action.new]] - * - * Note: options.nargs should be optional for constants - * and more then zero for other - **/ -var ActionAppend = module.exports = function ActionAppend(options) { - options = options || {}; - if (this.nargs <= 0) { - throw new Error('nargs for append actions must be > 0; if arg ' + - 'strings are not supplying the value to append, ' + - 'the append const action may be more appropriate'); - } - if (!!this.constant && this.nargs !== c.OPTIONAL) { - throw new Error('nargs must be OPTIONAL to supply const'); - } - Action.call(this, options); -}; -util.inherits(ActionAppend, Action); - -/*:nodoc:* - * ActionAppend#call(parser, namespace, values, optionString) -> Void - * - parser (ArgumentParser): current parser - * - namespace (Namespace): namespace for output data - * - values (Array): parsed values - * - optionString (Array): input option string(not parsed) - * - * Call the action. Save result in namespace object - **/ -ActionAppend.prototype.call = function (parser, namespace, values) { - var items = (namespace[this.dest] || []).slice(); - items.push(values); - namespace.set(this.dest, items); -}; diff --git a/publi/node_modules/argparse/lib/action/append/constant.js b/publi/node_modules/argparse/lib/action/append/constant.js deleted file mode 100644 index 313f5d2..0000000 --- a/publi/node_modules/argparse/lib/action/append/constant.js +++ /dev/null @@ -1,47 +0,0 @@ -/*:nodoc:* - * class ActionAppendConstant - * - * This stores a list, and appends the value specified by - * the const keyword argument to the list. - * (Note that the const keyword argument defaults to null.) - * The 'appendConst' action is typically useful when multiple - * arguments need to store constants to the same list. - * - * This class inherited from [[Action]] - **/ - -'use strict'; - -var util = require('util'); - -var Action = require('../../action'); - -/*:nodoc:* - * new ActionAppendConstant(options) - * - options (object): options hash see [[Action.new]] - * - **/ -var ActionAppendConstant = module.exports = function ActionAppendConstant(options) { - options = options || {}; - options.nargs = 0; - if (typeof options.constant === 'undefined') { - throw new Error('constant option is required for appendAction'); - } - Action.call(this, options); -}; -util.inherits(ActionAppendConstant, Action); - -/*:nodoc:* - * ActionAppendConstant#call(parser, namespace, values, optionString) -> Void - * - parser (ArgumentParser): current parser - * - namespace (Namespace): namespace for output data - * - values (Array): parsed values - * - optionString (Array): input option string(not parsed) - * - * Call the action. Save result in namespace object - **/ -ActionAppendConstant.prototype.call = function (parser, namespace) { - var items = [].concat(namespace[this.dest] || []); - items.push(this.constant); - namespace.set(this.dest, items); -}; diff --git a/publi/node_modules/argparse/lib/action/count.js b/publi/node_modules/argparse/lib/action/count.js deleted file mode 100644 index d6a5899..0000000 --- a/publi/node_modules/argparse/lib/action/count.js +++ /dev/null @@ -1,40 +0,0 @@ -/*:nodoc:* - * class ActionCount - * - * This counts the number of times a keyword argument occurs. - * For example, this is useful for increasing verbosity levels - * - * This class inherided from [[Action]] - * - **/ -'use strict'; - -var util = require('util'); - -var Action = require('../action'); - -/*:nodoc:* - * new ActionCount(options) - * - options (object): options hash see [[Action.new]] - * - **/ -var ActionCount = module.exports = function ActionCount(options) { - options = options || {}; - options.nargs = 0; - - Action.call(this, options); -}; -util.inherits(ActionCount, Action); - -/*:nodoc:* - * ActionCount#call(parser, namespace, values, optionString) -> Void - * - parser (ArgumentParser): current parser - * - namespace (Namespace): namespace for output data - * - values (Array): parsed values - * - optionString (Array): input option string(not parsed) - * - * Call the action. Save result in namespace object - **/ -ActionCount.prototype.call = function (parser, namespace) { - namespace.set(this.dest, (namespace[this.dest] || 0) + 1); -}; diff --git a/publi/node_modules/argparse/lib/action/help.js b/publi/node_modules/argparse/lib/action/help.js deleted file mode 100644 index b40e05a..0000000 --- a/publi/node_modules/argparse/lib/action/help.js +++ /dev/null @@ -1,47 +0,0 @@ -/*:nodoc:* - * class ActionHelp - * - * Support action for printing help - * This class inherided from [[Action]] - **/ -'use strict'; - -var util = require('util'); - -var Action = require('../action'); - -// Constants -var c = require('../const'); - -/*:nodoc:* - * new ActionHelp(options) - * - options (object): options hash see [[Action.new]] - * - **/ -var ActionHelp = module.exports = function ActionHelp(options) { - options = options || {}; - if (options.defaultValue !== null) { - options.defaultValue = options.defaultValue; - } else { - options.defaultValue = c.SUPPRESS; - } - options.dest = (options.dest !== null ? options.dest : c.SUPPRESS); - options.nargs = 0; - Action.call(this, options); - -}; -util.inherits(ActionHelp, Action); - -/*:nodoc:* - * ActionHelp#call(parser, namespace, values, optionString) - * - parser (ArgumentParser): current parser - * - namespace (Namespace): namespace for output data - * - values (Array): parsed values - * - optionString (Array): input option string(not parsed) - * - * Print help and exit - **/ -ActionHelp.prototype.call = function (parser) { - parser.printHelp(); - parser.exit(); -}; diff --git a/publi/node_modules/argparse/lib/action/store.js b/publi/node_modules/argparse/lib/action/store.js deleted file mode 100644 index 283b860..0000000 --- a/publi/node_modules/argparse/lib/action/store.js +++ /dev/null @@ -1,50 +0,0 @@ -/*:nodoc:* - * class ActionStore - * - * This action just stores the argument’s value. This is the default action. - * - * This class inherited from [[Action]] - * - **/ -'use strict'; - -var util = require('util'); - -var Action = require('../action'); - -// Constants -var c = require('../const'); - - -/*:nodoc:* - * new ActionStore(options) - * - options (object): options hash see [[Action.new]] - * - **/ -var ActionStore = module.exports = function ActionStore(options) { - options = options || {}; - if (this.nargs <= 0) { - throw new Error('nargs for store actions must be > 0; if you ' + - 'have nothing to store, actions such as store ' + - 'true or store const may be more appropriate'); - - } - if (typeof this.constant !== 'undefined' && this.nargs !== c.OPTIONAL) { - throw new Error('nargs must be OPTIONAL to supply const'); - } - Action.call(this, options); -}; -util.inherits(ActionStore, Action); - -/*:nodoc:* - * ActionStore#call(parser, namespace, values, optionString) -> Void - * - parser (ArgumentParser): current parser - * - namespace (Namespace): namespace for output data - * - values (Array): parsed values - * - optionString (Array): input option string(not parsed) - * - * Call the action. Save result in namespace object - **/ -ActionStore.prototype.call = function (parser, namespace, values) { - namespace.set(this.dest, values); -}; diff --git a/publi/node_modules/argparse/lib/action/store/constant.js b/publi/node_modules/argparse/lib/action/store/constant.js deleted file mode 100644 index 23caa89..0000000 --- a/publi/node_modules/argparse/lib/action/store/constant.js +++ /dev/null @@ -1,43 +0,0 @@ -/*:nodoc:* - * class ActionStoreConstant - * - * This action stores the value specified by the const keyword argument. - * (Note that the const keyword argument defaults to the rather unhelpful null.) - * The 'store_const' action is most commonly used with optional - * arguments that specify some sort of flag. - * - * This class inherited from [[Action]] - **/ -'use strict'; - -var util = require('util'); - -var Action = require('../../action'); - -/*:nodoc:* - * new ActionStoreConstant(options) - * - options (object): options hash see [[Action.new]] - * - **/ -var ActionStoreConstant = module.exports = function ActionStoreConstant(options) { - options = options || {}; - options.nargs = 0; - if (typeof options.constant === 'undefined') { - throw new Error('constant option is required for storeAction'); - } - Action.call(this, options); -}; -util.inherits(ActionStoreConstant, Action); - -/*:nodoc:* - * ActionStoreConstant#call(parser, namespace, values, optionString) -> Void - * - parser (ArgumentParser): current parser - * - namespace (Namespace): namespace for output data - * - values (Array): parsed values - * - optionString (Array): input option string(not parsed) - * - * Call the action. Save result in namespace object - **/ -ActionStoreConstant.prototype.call = function (parser, namespace) { - namespace.set(this.dest, this.constant); -}; diff --git a/publi/node_modules/argparse/lib/action/store/false.js b/publi/node_modules/argparse/lib/action/store/false.js deleted file mode 100644 index 9924f46..0000000 --- a/publi/node_modules/argparse/lib/action/store/false.js +++ /dev/null @@ -1,27 +0,0 @@ -/*:nodoc:* - * class ActionStoreFalse - * - * This action store the values False respectively. - * This is special cases of 'storeConst' - * - * This class inherited from [[Action]] - **/ - -'use strict'; - -var util = require('util'); - -var ActionStoreConstant = require('./constant'); - -/*:nodoc:* - * new ActionStoreFalse(options) - * - options (object): hash of options see [[Action.new]] - * - **/ -var ActionStoreFalse = module.exports = function ActionStoreFalse(options) { - options = options || {}; - options.constant = false; - options.defaultValue = options.defaultValue !== null ? options.defaultValue : true; - ActionStoreConstant.call(this, options); -}; -util.inherits(ActionStoreFalse, ActionStoreConstant); diff --git a/publi/node_modules/argparse/lib/action/store/true.js b/publi/node_modules/argparse/lib/action/store/true.js deleted file mode 100644 index 9e22f7d..0000000 --- a/publi/node_modules/argparse/lib/action/store/true.js +++ /dev/null @@ -1,26 +0,0 @@ -/*:nodoc:* - * class ActionStoreTrue - * - * This action store the values True respectively. - * This isspecial cases of 'storeConst' - * - * This class inherited from [[Action]] - **/ -'use strict'; - -var util = require('util'); - -var ActionStoreConstant = require('./constant'); - -/*:nodoc:* - * new ActionStoreTrue(options) - * - options (object): options hash see [[Action.new]] - * - **/ -var ActionStoreTrue = module.exports = function ActionStoreTrue(options) { - options = options || {}; - options.constant = true; - options.defaultValue = options.defaultValue !== null ? options.defaultValue : false; - ActionStoreConstant.call(this, options); -}; -util.inherits(ActionStoreTrue, ActionStoreConstant); diff --git a/publi/node_modules/argparse/lib/action/subparsers.js b/publi/node_modules/argparse/lib/action/subparsers.js deleted file mode 100644 index 99dfedd..0000000 --- a/publi/node_modules/argparse/lib/action/subparsers.js +++ /dev/null @@ -1,149 +0,0 @@ -/** internal - * class ActionSubparsers - * - * Support the creation of such sub-commands with the addSubparsers() - * - * This class inherited from [[Action]] - **/ -'use strict'; - -var util = require('util'); -var format = require('util').format; - - -var Action = require('../action'); - -// Constants -var c = require('../const'); - -// Errors -var argumentErrorHelper = require('../argument/error'); - - -/*:nodoc:* - * new ChoicesPseudoAction(name, help) - * - * Create pseudo action for correct help text - * - **/ -function ChoicesPseudoAction(name, help) { - var options = { - optionStrings: [], - dest: name, - help: help - }; - - Action.call(this, options); -} - -util.inherits(ChoicesPseudoAction, Action); - -/** - * new ActionSubparsers(options) - * - options (object): options hash see [[Action.new]] - * - **/ -function ActionSubparsers(options) { - options = options || {}; - options.dest = options.dest || c.SUPPRESS; - options.nargs = c.PARSER; - - this.debug = (options.debug === true); - - this._progPrefix = options.prog; - this._parserClass = options.parserClass; - this._nameParserMap = {}; - this._choicesActions = []; - - options.choices = this._nameParserMap; - Action.call(this, options); -} - -util.inherits(ActionSubparsers, Action); - -/*:nodoc:* - * ActionSubparsers#addParser(name, options) -> ArgumentParser - * - name (string): sub-command name - * - options (object): see [[ArgumentParser.new]] - * - * Note: - * addParser supports an additional aliases option, - * which allows multiple strings to refer to the same subparser. - * This example, like svn, aliases co as a shorthand for checkout - * - **/ -ActionSubparsers.prototype.addParser = function (name, options) { - var parser; - - var self = this; - - options = options || {}; - - options.debug = (this.debug === true); - - // set program from the existing prefix - if (!options.prog) { - options.prog = this._progPrefix + ' ' + name; - } - - var aliases = options.aliases || []; - - // create a pseudo-action to hold the choice help - if (!!options.help || typeof options.help === 'string') { - var help = options.help; - delete options.help; - - var choiceAction = new ChoicesPseudoAction(name, help); - this._choicesActions.push(choiceAction); - } - - // create the parser and add it to the map - parser = new this._parserClass(options); - this._nameParserMap[name] = parser; - - // make parser available under aliases also - aliases.forEach(function (alias) { - self._nameParserMap[alias] = parser; - }); - - return parser; -}; - -ActionSubparsers.prototype._getSubactions = function () { - return this._choicesActions; -}; - -/*:nodoc:* - * ActionSubparsers#call(parser, namespace, values, optionString) -> Void - * - parser (ArgumentParser): current parser - * - namespace (Namespace): namespace for output data - * - values (Array): parsed values - * - optionString (Array): input option string(not parsed) - * - * Call the action. Parse input aguments - **/ -ActionSubparsers.prototype.call = function (parser, namespace, values) { - var parserName = values[0]; - var argStrings = values.slice(1); - - // set the parser name if requested - if (this.dest !== c.SUPPRESS) { - namespace[this.dest] = parserName; - } - - // select the parser - if (this._nameParserMap[parserName]) { - parser = this._nameParserMap[parserName]; - } else { - throw argumentErrorHelper(format( - 'Unknown parser "%s" (choices: [%s]).', - parserName, - Object.keys(this._nameParserMap).join(', ') - )); - } - - // parse all the remaining options into the namespace - parser.parseArgs(argStrings, namespace); -}; - -module.exports = ActionSubparsers; diff --git a/publi/node_modules/argparse/lib/action/version.js b/publi/node_modules/argparse/lib/action/version.js deleted file mode 100644 index 8053328..0000000 --- a/publi/node_modules/argparse/lib/action/version.js +++ /dev/null @@ -1,47 +0,0 @@ -/*:nodoc:* - * class ActionVersion - * - * Support action for printing program version - * This class inherited from [[Action]] - **/ -'use strict'; - -var util = require('util'); - -var Action = require('../action'); - -// -// Constants -// -var c = require('../const'); - -/*:nodoc:* - * new ActionVersion(options) - * - options (object): options hash see [[Action.new]] - * - **/ -var ActionVersion = module.exports = function ActionVersion(options) { - options = options || {}; - options.defaultValue = (options.defaultValue ? options.defaultValue : c.SUPPRESS); - options.dest = (options.dest || c.SUPPRESS); - options.nargs = 0; - this.version = options.version; - Action.call(this, options); -}; -util.inherits(ActionVersion, Action); - -/*:nodoc:* - * ActionVersion#call(parser, namespace, values, optionString) -> Void - * - parser (ArgumentParser): current parser - * - namespace (Namespace): namespace for output data - * - values (Array): parsed values - * - optionString (Array): input option string(not parsed) - * - * Print version and exit - **/ -ActionVersion.prototype.call = function (parser) { - var version = this.version || parser.version; - var formatter = parser._getFormatter(); - formatter.addText(version); - parser.exit(0, formatter.formatHelp()); -}; diff --git a/publi/node_modules/argparse/lib/action_container.js b/publi/node_modules/argparse/lib/action_container.js deleted file mode 100644 index 6f1237b..0000000 --- a/publi/node_modules/argparse/lib/action_container.js +++ /dev/null @@ -1,482 +0,0 @@ -/** internal - * class ActionContainer - * - * Action container. Parent for [[ArgumentParser]] and [[ArgumentGroup]] - **/ - -'use strict'; - -var format = require('util').format; - -// Constants -var c = require('./const'); - -var $$ = require('./utils'); - -//Actions -var ActionHelp = require('./action/help'); -var ActionAppend = require('./action/append'); -var ActionAppendConstant = require('./action/append/constant'); -var ActionCount = require('./action/count'); -var ActionStore = require('./action/store'); -var ActionStoreConstant = require('./action/store/constant'); -var ActionStoreTrue = require('./action/store/true'); -var ActionStoreFalse = require('./action/store/false'); -var ActionVersion = require('./action/version'); -var ActionSubparsers = require('./action/subparsers'); - -// Errors -var argumentErrorHelper = require('./argument/error'); - -/** - * new ActionContainer(options) - * - * Action container. Parent for [[ArgumentParser]] and [[ArgumentGroup]] - * - * ##### Options: - * - * - `description` -- A description of what the program does - * - `prefixChars` -- Characters that prefix optional arguments - * - `argumentDefault` -- The default value for all arguments - * - `conflictHandler` -- The conflict handler to use for duplicate arguments - **/ -var ActionContainer = module.exports = function ActionContainer(options) { - options = options || {}; - - this.description = options.description; - this.argumentDefault = options.argumentDefault; - this.prefixChars = options.prefixChars || ''; - this.conflictHandler = options.conflictHandler; - - // set up registries - this._registries = {}; - - // register actions - this.register('action', null, ActionStore); - this.register('action', 'store', ActionStore); - this.register('action', 'storeConst', ActionStoreConstant); - this.register('action', 'storeTrue', ActionStoreTrue); - this.register('action', 'storeFalse', ActionStoreFalse); - this.register('action', 'append', ActionAppend); - this.register('action', 'appendConst', ActionAppendConstant); - this.register('action', 'count', ActionCount); - this.register('action', 'help', ActionHelp); - this.register('action', 'version', ActionVersion); - this.register('action', 'parsers', ActionSubparsers); - - // raise an exception if the conflict handler is invalid - this._getHandler(); - - // action storage - this._actions = []; - this._optionStringActions = {}; - - // groups - this._actionGroups = []; - this._mutuallyExclusiveGroups = []; - - // defaults storage - this._defaults = {}; - - // determines whether an "option" looks like a negative number - // -1, -1.5 -5e+4 - this._regexpNegativeNumber = new RegExp('^[-]?[0-9]*\\.?[0-9]+([eE][-+]?[0-9]+)?$'); - - // whether or not there are any optionals that look like negative - // numbers -- uses a list so it can be shared and edited - this._hasNegativeNumberOptionals = []; -}; - -// Groups must be required, then ActionContainer already defined -var ArgumentGroup = require('./argument/group'); -var MutuallyExclusiveGroup = require('./argument/exclusive'); - -// -// Registration methods -// - -/** - * ActionContainer#register(registryName, value, object) -> Void - * - registryName (String) : object type action|type - * - value (string) : keyword - * - object (Object|Function) : handler - * - * Register handlers - **/ -ActionContainer.prototype.register = function (registryName, value, object) { - this._registries[registryName] = this._registries[registryName] || {}; - this._registries[registryName][value] = object; -}; - -ActionContainer.prototype._registryGet = function (registryName, value, defaultValue) { - if (arguments.length < 3) { - defaultValue = null; - } - return this._registries[registryName][value] || defaultValue; -}; - -// -// Namespace default accessor methods -// - -/** - * ActionContainer#setDefaults(options) -> Void - * - options (object):hash of options see [[Action.new]] - * - * Set defaults - **/ -ActionContainer.prototype.setDefaults = function (options) { - options = options || {}; - for (var property in options) { - if ($$.has(options, property)) { - this._defaults[property] = options[property]; - } - } - - // if these defaults match any existing arguments, replace the previous - // default on the object with the new one - this._actions.forEach(function (action) { - if ($$.has(options, action.dest)) { - action.defaultValue = options[action.dest]; - } - }); -}; - -/** - * ActionContainer#getDefault(dest) -> Mixed - * - dest (string): action destination - * - * Return action default value - **/ -ActionContainer.prototype.getDefault = function (dest) { - var result = $$.has(this._defaults, dest) ? this._defaults[dest] : null; - - this._actions.forEach(function (action) { - if (action.dest === dest && $$.has(action, 'defaultValue')) { - result = action.defaultValue; - } - }); - - return result; -}; -// -// Adding argument actions -// - -/** - * ActionContainer#addArgument(args, options) -> Object - * - args (String|Array): argument key, or array of argument keys - * - options (Object): action objects see [[Action.new]] - * - * #### Examples - * - addArgument([ '-f', '--foo' ], { action: 'store', defaultValue: 1, ... }) - * - addArgument([ 'bar' ], { action: 'store', nargs: 1, ... }) - * - addArgument('--baz', { action: 'store', nargs: 1, ... }) - **/ -ActionContainer.prototype.addArgument = function (args, options) { - args = args; - options = options || {}; - - if (typeof args === 'string') { - args = [ args ]; - } - if (!Array.isArray(args)) { - throw new TypeError('addArgument first argument should be a string or an array'); - } - if (typeof options !== 'object' || Array.isArray(options)) { - throw new TypeError('addArgument second argument should be a hash'); - } - - // if no positional args are supplied or only one is supplied and - // it doesn't look like an option string, parse a positional argument - if (!args || args.length === 1 && this.prefixChars.indexOf(args[0][0]) < 0) { - if (args && !!options.dest) { - throw new Error('dest supplied twice for positional argument'); - } - options = this._getPositional(args, options); - - // otherwise, we're adding an optional argument - } else { - options = this._getOptional(args, options); - } - - // if no default was supplied, use the parser-level default - if (typeof options.defaultValue === 'undefined') { - var dest = options.dest; - if ($$.has(this._defaults, dest)) { - options.defaultValue = this._defaults[dest]; - } else if (typeof this.argumentDefault !== 'undefined') { - options.defaultValue = this.argumentDefault; - } - } - - // create the action object, and add it to the parser - var ActionClass = this._popActionClass(options); - if (typeof ActionClass !== 'function') { - throw new Error(format('Unknown action "%s".', ActionClass)); - } - var action = new ActionClass(options); - - // throw an error if the action type is not callable - var typeFunction = this._registryGet('type', action.type, action.type); - if (typeof typeFunction !== 'function') { - throw new Error(format('"%s" is not callable', typeFunction)); - } - - return this._addAction(action); -}; - -/** - * ActionContainer#addArgumentGroup(options) -> ArgumentGroup - * - options (Object): hash of options see [[ArgumentGroup.new]] - * - * Create new arguments groups - **/ -ActionContainer.prototype.addArgumentGroup = function (options) { - var group = new ArgumentGroup(this, options); - this._actionGroups.push(group); - return group; -}; - -/** - * ActionContainer#addMutuallyExclusiveGroup(options) -> ArgumentGroup - * - options (Object): {required: false} - * - * Create new mutual exclusive groups - **/ -ActionContainer.prototype.addMutuallyExclusiveGroup = function (options) { - var group = new MutuallyExclusiveGroup(this, options); - this._mutuallyExclusiveGroups.push(group); - return group; -}; - -ActionContainer.prototype._addAction = function (action) { - var self = this; - - // resolve any conflicts - this._checkConflict(action); - - // add to actions list - this._actions.push(action); - action.container = this; - - // index the action by any option strings it has - action.optionStrings.forEach(function (optionString) { - self._optionStringActions[optionString] = action; - }); - - // set the flag if any option strings look like negative numbers - action.optionStrings.forEach(function (optionString) { - if (optionString.match(self._regexpNegativeNumber)) { - if (!self._hasNegativeNumberOptionals.some(Boolean)) { - self._hasNegativeNumberOptionals.push(true); - } - } - }); - - // return the created action - return action; -}; - -ActionContainer.prototype._removeAction = function (action) { - var actionIndex = this._actions.indexOf(action); - if (actionIndex >= 0) { - this._actions.splice(actionIndex, 1); - } -}; - -ActionContainer.prototype._addContainerActions = function (container) { - // collect groups by titles - var titleGroupMap = {}; - this._actionGroups.forEach(function (group) { - if (titleGroupMap[group.title]) { - throw new Error(format('Cannot merge actions - two groups are named "%s".', group.title)); - } - titleGroupMap[group.title] = group; - }); - - // map each action to its group - var groupMap = {}; - function actionHash(action) { - // unique (hopefully?) string suitable as dictionary key - return action.getName(); - } - container._actionGroups.forEach(function (group) { - // if a group with the title exists, use that, otherwise - // create a new group matching the container's group - if (!titleGroupMap[group.title]) { - titleGroupMap[group.title] = this.addArgumentGroup({ - title: group.title, - description: group.description - }); - } - - // map the actions to their new group - group._groupActions.forEach(function (action) { - groupMap[actionHash(action)] = titleGroupMap[group.title]; - }); - }, this); - - // add container's mutually exclusive groups - // NOTE: if add_mutually_exclusive_group ever gains title= and - // description= then this code will need to be expanded as above - var mutexGroup; - container._mutuallyExclusiveGroups.forEach(function (group) { - mutexGroup = this.addMutuallyExclusiveGroup({ - required: group.required - }); - // map the actions to their new mutex group - group._groupActions.forEach(function (action) { - groupMap[actionHash(action)] = mutexGroup; - }); - }, this); // forEach takes a 'this' argument - - // add all actions to this container or their group - container._actions.forEach(function (action) { - var key = actionHash(action); - if (groupMap[key]) { - groupMap[key]._addAction(action); - } else { - this._addAction(action); - } - }); -}; - -ActionContainer.prototype._getPositional = function (dest, options) { - if (Array.isArray(dest)) { - dest = dest[0]; - } - // make sure required is not specified - if (options.required) { - throw new Error('"required" is an invalid argument for positionals.'); - } - - // mark positional arguments as required if at least one is - // always required - if (options.nargs !== c.OPTIONAL && options.nargs !== c.ZERO_OR_MORE) { - options.required = true; - } - if (options.nargs === c.ZERO_OR_MORE && typeof options.defaultValue === 'undefined') { - options.required = true; - } - - // return the keyword arguments with no option strings - options.dest = dest; - options.optionStrings = []; - return options; -}; - -ActionContainer.prototype._getOptional = function (args, options) { - var prefixChars = this.prefixChars; - var optionStrings = []; - var optionStringsLong = []; - - // determine short and long option strings - args.forEach(function (optionString) { - // error on strings that don't start with an appropriate prefix - if (prefixChars.indexOf(optionString[0]) < 0) { - throw new Error(format('Invalid option string "%s": must start with a "%s".', - optionString, - prefixChars - )); - } - - // strings starting with two prefix characters are long options - optionStrings.push(optionString); - if (optionString.length > 1 && prefixChars.indexOf(optionString[1]) >= 0) { - optionStringsLong.push(optionString); - } - }); - - // infer dest, '--foo-bar' -> 'foo_bar' and '-x' -> 'x' - var dest = options.dest || null; - delete options.dest; - - if (!dest) { - var optionStringDest = optionStringsLong.length ? optionStringsLong[0] : optionStrings[0]; - dest = $$.trimChars(optionStringDest, this.prefixChars); - - if (dest.length === 0) { - throw new Error( - format('dest= is required for options like "%s"', optionStrings.join(', ')) - ); - } - dest = dest.replace(/-/g, '_'); - } - - // return the updated keyword arguments - options.dest = dest; - options.optionStrings = optionStrings; - - return options; -}; - -ActionContainer.prototype._popActionClass = function (options, defaultValue) { - defaultValue = defaultValue || null; - - var action = (options.action || defaultValue); - delete options.action; - - var actionClass = this._registryGet('action', action, action); - return actionClass; -}; - -ActionContainer.prototype._getHandler = function () { - var handlerString = this.conflictHandler; - var handlerFuncName = '_handleConflict' + $$.capitalize(handlerString); - var func = this[handlerFuncName]; - if (typeof func === 'undefined') { - var msg = 'invalid conflict resolution value: ' + handlerString; - throw new Error(msg); - } else { - return func; - } -}; - -ActionContainer.prototype._checkConflict = function (action) { - var optionStringActions = this._optionStringActions; - var conflictOptionals = []; - - // find all options that conflict with this option - // collect pairs, the string, and an existing action that it conflicts with - action.optionStrings.forEach(function (optionString) { - var conflOptional = optionStringActions[optionString]; - if (typeof conflOptional !== 'undefined') { - conflictOptionals.push([ optionString, conflOptional ]); - } - }); - - if (conflictOptionals.length > 0) { - var conflictHandler = this._getHandler(); - conflictHandler.call(this, action, conflictOptionals); - } -}; - -ActionContainer.prototype._handleConflictError = function (action, conflOptionals) { - var conflicts = conflOptionals.map(function (pair) { return pair[0]; }); - conflicts = conflicts.join(', '); - throw argumentErrorHelper( - action, - format('Conflicting option string(s): %s', conflicts) - ); -}; - -ActionContainer.prototype._handleConflictResolve = function (action, conflOptionals) { - // remove all conflicting options - var self = this; - conflOptionals.forEach(function (pair) { - var optionString = pair[0]; - var conflictingAction = pair[1]; - // remove the conflicting option string - var i = conflictingAction.optionStrings.indexOf(optionString); - if (i >= 0) { - conflictingAction.optionStrings.splice(i, 1); - } - delete self._optionStringActions[optionString]; - // if the option now has no option string, remove it from the - // container holding it - if (conflictingAction.optionStrings.length === 0) { - conflictingAction.container._removeAction(conflictingAction); - } - }); -}; diff --git a/publi/node_modules/argparse/lib/argparse.js b/publi/node_modules/argparse/lib/argparse.js deleted file mode 100644 index f2a2c51..0000000 --- a/publi/node_modules/argparse/lib/argparse.js +++ /dev/null @@ -1,14 +0,0 @@ -'use strict'; - -module.exports.ArgumentParser = require('./argument_parser.js'); -module.exports.Namespace = require('./namespace'); -module.exports.Action = require('./action'); -module.exports.HelpFormatter = require('./help/formatter.js'); -module.exports.Const = require('./const.js'); - -module.exports.ArgumentDefaultsHelpFormatter = - require('./help/added_formatters.js').ArgumentDefaultsHelpFormatter; -module.exports.RawDescriptionHelpFormatter = - require('./help/added_formatters.js').RawDescriptionHelpFormatter; -module.exports.RawTextHelpFormatter = - require('./help/added_formatters.js').RawTextHelpFormatter; diff --git a/publi/node_modules/argparse/lib/argument/error.js b/publi/node_modules/argparse/lib/argument/error.js deleted file mode 100644 index c8a02a0..0000000 --- a/publi/node_modules/argparse/lib/argument/error.js +++ /dev/null @@ -1,50 +0,0 @@ -'use strict'; - - -var format = require('util').format; - - -var ERR_CODE = 'ARGError'; - -/*:nodoc:* - * argumentError(argument, message) -> TypeError - * - argument (Object): action with broken argument - * - message (String): error message - * - * Error format helper. An error from creating or using an argument - * (optional or positional). The string value of this exception - * is the message, augmented with information - * about the argument that caused it. - * - * #####Example - * - * var argumentErrorHelper = require('./argument/error'); - * if (conflictOptionals.length > 0) { - * throw argumentErrorHelper( - * action, - * format('Conflicting option string(s): %s', conflictOptionals.join(', ')) - * ); - * } - * - **/ -module.exports = function (argument, message) { - var argumentName = null; - var errMessage; - var err; - - if (argument.getName) { - argumentName = argument.getName(); - } else { - argumentName = '' + argument; - } - - if (!argumentName) { - errMessage = message; - } else { - errMessage = format('argument "%s": %s', argumentName, message); - } - - err = new TypeError(errMessage); - err.code = ERR_CODE; - return err; -}; diff --git a/publi/node_modules/argparse/lib/argument/exclusive.js b/publi/node_modules/argparse/lib/argument/exclusive.js deleted file mode 100644 index 8287e00..0000000 --- a/publi/node_modules/argparse/lib/argument/exclusive.js +++ /dev/null @@ -1,54 +0,0 @@ -/** internal - * class MutuallyExclusiveGroup - * - * Group arguments. - * By default, ArgumentParser groups command-line arguments - * into “positional arguments” and “optional arguments” - * when displaying help messages. When there is a better - * conceptual grouping of arguments than this default one, - * appropriate groups can be created using the addArgumentGroup() method - * - * This class inherited from [[ArgumentContainer]] - **/ -'use strict'; - -var util = require('util'); - -var ArgumentGroup = require('./group'); - -/** - * new MutuallyExclusiveGroup(container, options) - * - container (object): main container - * - options (object): options.required -> true/false - * - * `required` could be an argument itself, but making it a property of - * the options argument is more consistent with the JS adaptation of the Python) - **/ -var MutuallyExclusiveGroup = module.exports = function MutuallyExclusiveGroup(container, options) { - var required; - options = options || {}; - required = options.required || false; - ArgumentGroup.call(this, container); - this.required = required; - -}; -util.inherits(MutuallyExclusiveGroup, ArgumentGroup); - - -MutuallyExclusiveGroup.prototype._addAction = function (action) { - var msg; - if (action.required) { - msg = 'mutually exclusive arguments must be optional'; - throw new Error(msg); - } - action = this._container._addAction(action); - this._groupActions.push(action); - return action; -}; - - -MutuallyExclusiveGroup.prototype._removeAction = function (action) { - this._container._removeAction(action); - this._groupActions.remove(action); -}; - diff --git a/publi/node_modules/argparse/lib/argument/group.js b/publi/node_modules/argparse/lib/argument/group.js deleted file mode 100644 index 58b271f..0000000 --- a/publi/node_modules/argparse/lib/argument/group.js +++ /dev/null @@ -1,75 +0,0 @@ -/** internal - * class ArgumentGroup - * - * Group arguments. - * By default, ArgumentParser groups command-line arguments - * into “positional arguments” and “optional arguments” - * when displaying help messages. When there is a better - * conceptual grouping of arguments than this default one, - * appropriate groups can be created using the addArgumentGroup() method - * - * This class inherited from [[ArgumentContainer]] - **/ -'use strict'; - -var util = require('util'); - -var ActionContainer = require('../action_container'); - - -/** - * new ArgumentGroup(container, options) - * - container (object): main container - * - options (object): hash of group options - * - * #### options - * - **prefixChars** group name prefix - * - **argumentDefault** default argument value - * - **title** group title - * - **description** group description - * - **/ -var ArgumentGroup = module.exports = function ArgumentGroup(container, options) { - - options = options || {}; - - // add any missing keyword arguments by checking the container - options.conflictHandler = (options.conflictHandler || container.conflictHandler); - options.prefixChars = (options.prefixChars || container.prefixChars); - options.argumentDefault = (options.argumentDefault || container.argumentDefault); - - ActionContainer.call(this, options); - - // group attributes - this.title = options.title; - this._groupActions = []; - - // share most attributes with the container - this._container = container; - this._registries = container._registries; - this._actions = container._actions; - this._optionStringActions = container._optionStringActions; - this._defaults = container._defaults; - this._hasNegativeNumberOptionals = container._hasNegativeNumberOptionals; - this._mutuallyExclusiveGroups = container._mutuallyExclusiveGroups; -}; -util.inherits(ArgumentGroup, ActionContainer); - - -ArgumentGroup.prototype._addAction = function (action) { - // Parent add action - action = ActionContainer.prototype._addAction.call(this, action); - this._groupActions.push(action); - return action; -}; - - -ArgumentGroup.prototype._removeAction = function (action) { - // Parent remove action - ActionContainer.prototype._removeAction.call(this, action); - var actionIndex = this._groupActions.indexOf(action); - if (actionIndex >= 0) { - this._groupActions.splice(actionIndex, 1); - } -}; - diff --git a/publi/node_modules/argparse/lib/argument_parser.js b/publi/node_modules/argparse/lib/argument_parser.js deleted file mode 100644 index bd9a59a..0000000 --- a/publi/node_modules/argparse/lib/argument_parser.js +++ /dev/null @@ -1,1161 +0,0 @@ -/** - * class ArgumentParser - * - * Object for parsing command line strings into js objects. - * - * Inherited from [[ActionContainer]] - **/ -'use strict'; - -var util = require('util'); -var format = require('util').format; -var Path = require('path'); -var sprintf = require('sprintf-js').sprintf; - -// Constants -var c = require('./const'); - -var $$ = require('./utils'); - -var ActionContainer = require('./action_container'); - -// Errors -var argumentErrorHelper = require('./argument/error'); - -var HelpFormatter = require('./help/formatter'); - -var Namespace = require('./namespace'); - - -/** - * new ArgumentParser(options) - * - * Create a new ArgumentParser object. - * - * ##### Options: - * - `prog` The name of the program (default: Path.basename(process.argv[1])) - * - `usage` A usage message (default: auto-generated from arguments) - * - `description` A description of what the program does - * - `epilog` Text following the argument descriptions - * - `parents` Parsers whose arguments should be copied into this one - * - `formatterClass` HelpFormatter class for printing help messages - * - `prefixChars` Characters that prefix optional arguments - * - `fromfilePrefixChars` Characters that prefix files containing additional arguments - * - `argumentDefault` The default value for all arguments - * - `addHelp` Add a -h/-help option - * - `conflictHandler` Specifies how to handle conflicting argument names - * - `debug` Enable debug mode. Argument errors throw exception in - * debug mode and process.exit in normal. Used for development and - * testing (default: false) - * - * See also [original guide][1] - * - * [1]:http://docs.python.org/dev/library/argparse.html#argumentparser-objects - **/ -function ArgumentParser(options) { - if (!(this instanceof ArgumentParser)) { - return new ArgumentParser(options); - } - var self = this; - options = options || {}; - - options.description = (options.description || null); - options.argumentDefault = (options.argumentDefault || null); - options.prefixChars = (options.prefixChars || '-'); - options.conflictHandler = (options.conflictHandler || 'error'); - ActionContainer.call(this, options); - - options.addHelp = typeof options.addHelp === 'undefined' || !!options.addHelp; - options.parents = options.parents || []; - // default program name - options.prog = (options.prog || Path.basename(process.argv[1])); - this.prog = options.prog; - this.usage = options.usage; - this.epilog = options.epilog; - this.version = options.version; - - this.debug = (options.debug === true); - - this.formatterClass = (options.formatterClass || HelpFormatter); - this.fromfilePrefixChars = options.fromfilePrefixChars || null; - this._positionals = this.addArgumentGroup({ title: 'Positional arguments' }); - this._optionals = this.addArgumentGroup({ title: 'Optional arguments' }); - this._subparsers = null; - - // register types - function FUNCTION_IDENTITY(o) { - return o; - } - this.register('type', 'auto', FUNCTION_IDENTITY); - this.register('type', null, FUNCTION_IDENTITY); - this.register('type', 'int', function (x) { - var result = parseInt(x, 10); - if (isNaN(result)) { - throw new Error(x + ' is not a valid integer.'); - } - return result; - }); - this.register('type', 'float', function (x) { - var result = parseFloat(x); - if (isNaN(result)) { - throw new Error(x + ' is not a valid float.'); - } - return result; - }); - this.register('type', 'string', function (x) { - return '' + x; - }); - - // add help and version arguments if necessary - var defaultPrefix = (this.prefixChars.indexOf('-') > -1) ? '-' : this.prefixChars[0]; - if (options.addHelp) { - this.addArgument( - [ defaultPrefix + 'h', defaultPrefix + defaultPrefix + 'help' ], - { - action: 'help', - defaultValue: c.SUPPRESS, - help: 'Show this help message and exit.' - } - ); - } - if (typeof this.version !== 'undefined') { - this.addArgument( - [ defaultPrefix + 'v', defaultPrefix + defaultPrefix + 'version' ], - { - action: 'version', - version: this.version, - defaultValue: c.SUPPRESS, - help: "Show program's version number and exit." - } - ); - } - - // add parent arguments and defaults - options.parents.forEach(function (parent) { - self._addContainerActions(parent); - if (typeof parent._defaults !== 'undefined') { - for (var defaultKey in parent._defaults) { - if (parent._defaults.hasOwnProperty(defaultKey)) { - self._defaults[defaultKey] = parent._defaults[defaultKey]; - } - } - } - }); -} - -util.inherits(ArgumentParser, ActionContainer); - -/** - * ArgumentParser#addSubparsers(options) -> [[ActionSubparsers]] - * - options (object): hash of options see [[ActionSubparsers.new]] - * - * See also [subcommands][1] - * - * [1]:http://docs.python.org/dev/library/argparse.html#sub-commands - **/ -ArgumentParser.prototype.addSubparsers = function (options) { - if (this._subparsers) { - this.error('Cannot have multiple subparser arguments.'); - } - - options = options || {}; - options.debug = (this.debug === true); - options.optionStrings = []; - options.parserClass = (options.parserClass || ArgumentParser); - - - if (!!options.title || !!options.description) { - - this._subparsers = this.addArgumentGroup({ - title: (options.title || 'subcommands'), - description: options.description - }); - delete options.title; - delete options.description; - - } else { - this._subparsers = this._positionals; - } - - // prog defaults to the usage message of this parser, skipping - // optional arguments and with no "usage:" prefix - if (!options.prog) { - var formatter = this._getFormatter(); - var positionals = this._getPositionalActions(); - var groups = this._mutuallyExclusiveGroups; - formatter.addUsage(this.usage, positionals, groups, ''); - options.prog = formatter.formatHelp().trim(); - } - - // create the parsers action and add it to the positionals list - var ParsersClass = this._popActionClass(options, 'parsers'); - var action = new ParsersClass(options); - this._subparsers._addAction(action); - - // return the created parsers action - return action; -}; - -ArgumentParser.prototype._addAction = function (action) { - if (action.isOptional()) { - this._optionals._addAction(action); - } else { - this._positionals._addAction(action); - } - return action; -}; - -ArgumentParser.prototype._getOptionalActions = function () { - return this._actions.filter(function (action) { - return action.isOptional(); - }); -}; - -ArgumentParser.prototype._getPositionalActions = function () { - return this._actions.filter(function (action) { - return action.isPositional(); - }); -}; - - -/** - * ArgumentParser#parseArgs(args, namespace) -> Namespace|Object - * - args (array): input elements - * - namespace (Namespace|Object): result object - * - * Parsed args and throws error if some arguments are not recognized - * - * See also [original guide][1] - * - * [1]:http://docs.python.org/dev/library/argparse.html#the-parse-args-method - **/ -ArgumentParser.prototype.parseArgs = function (args, namespace) { - var argv; - var result = this.parseKnownArgs(args, namespace); - - args = result[0]; - argv = result[1]; - if (argv && argv.length > 0) { - this.error( - format('Unrecognized arguments: %s.', argv.join(' ')) - ); - } - return args; -}; - -/** - * ArgumentParser#parseKnownArgs(args, namespace) -> array - * - args (array): input options - * - namespace (Namespace|Object): result object - * - * Parse known arguments and return tuple of result object - * and unknown args - * - * See also [original guide][1] - * - * [1]:http://docs.python.org/dev/library/argparse.html#partial-parsing - **/ -ArgumentParser.prototype.parseKnownArgs = function (args, namespace) { - var self = this; - - // args default to the system args - args = args || process.argv.slice(2); - - // default Namespace built from parser defaults - namespace = namespace || new Namespace(); - - self._actions.forEach(function (action) { - if (action.dest !== c.SUPPRESS) { - if (!$$.has(namespace, action.dest)) { - if (action.defaultValue !== c.SUPPRESS) { - var defaultValue = action.defaultValue; - if (typeof action.defaultValue === 'string') { - defaultValue = self._getValue(action, defaultValue); - } - namespace[action.dest] = defaultValue; - } - } - } - }); - - Object.keys(self._defaults).forEach(function (dest) { - namespace[dest] = self._defaults[dest]; - }); - - // parse the arguments and exit if there are any errors - try { - var res = this._parseKnownArgs(args, namespace); - - namespace = res[0]; - args = res[1]; - if ($$.has(namespace, c._UNRECOGNIZED_ARGS_ATTR)) { - args = $$.arrayUnion(args, namespace[c._UNRECOGNIZED_ARGS_ATTR]); - delete namespace[c._UNRECOGNIZED_ARGS_ATTR]; - } - return [ namespace, args ]; - } catch (e) { - this.error(e); - } -}; - -ArgumentParser.prototype._parseKnownArgs = function (argStrings, namespace) { - var self = this; - - var extras = []; - - // replace arg strings that are file references - if (this.fromfilePrefixChars !== null) { - argStrings = this._readArgsFromFiles(argStrings); - } - // map all mutually exclusive arguments to the other arguments - // they can't occur with - // Python has 'conflicts = action_conflicts.setdefault(mutex_action, [])' - // though I can't conceive of a way in which an action could be a member - // of two different mutually exclusive groups. - - function actionHash(action) { - // some sort of hashable key for this action - // action itself cannot be a key in actionConflicts - // I think getName() (join of optionStrings) is unique enough - return action.getName(); - } - - var conflicts, key; - var actionConflicts = {}; - - this._mutuallyExclusiveGroups.forEach(function (mutexGroup) { - mutexGroup._groupActions.forEach(function (mutexAction, i, groupActions) { - key = actionHash(mutexAction); - if (!$$.has(actionConflicts, key)) { - actionConflicts[key] = []; - } - conflicts = actionConflicts[key]; - conflicts.push.apply(conflicts, groupActions.slice(0, i)); - conflicts.push.apply(conflicts, groupActions.slice(i + 1)); - }); - }); - - // find all option indices, and determine the arg_string_pattern - // which has an 'O' if there is an option at an index, - // an 'A' if there is an argument, or a '-' if there is a '--' - var optionStringIndices = {}; - - var argStringPatternParts = []; - - argStrings.forEach(function (argString, argStringIndex) { - if (argString === '--') { - argStringPatternParts.push('-'); - while (argStringIndex < argStrings.length) { - argStringPatternParts.push('A'); - argStringIndex++; - } - } else { - // otherwise, add the arg to the arg strings - // and note the index if it was an option - var pattern; - var optionTuple = self._parseOptional(argString); - if (!optionTuple) { - pattern = 'A'; - } else { - optionStringIndices[argStringIndex] = optionTuple; - pattern = 'O'; - } - argStringPatternParts.push(pattern); - } - }); - var argStringsPattern = argStringPatternParts.join(''); - - var seenActions = []; - var seenNonDefaultActions = []; - - - function takeAction(action, argumentStrings, optionString) { - seenActions.push(action); - var argumentValues = self._getValues(action, argumentStrings); - - // error if this argument is not allowed with other previously - // seen arguments, assuming that actions that use the default - // value don't really count as "present" - if (argumentValues !== action.defaultValue) { - seenNonDefaultActions.push(action); - if (actionConflicts[actionHash(action)]) { - actionConflicts[actionHash(action)].forEach(function (actionConflict) { - if (seenNonDefaultActions.indexOf(actionConflict) >= 0) { - throw argumentErrorHelper( - action, - format('Not allowed with argument "%s".', actionConflict.getName()) - ); - } - }); - } - } - - if (argumentValues !== c.SUPPRESS) { - action.call(self, namespace, argumentValues, optionString); - } - } - - function consumeOptional(startIndex) { - // get the optional identified at this index - var optionTuple = optionStringIndices[startIndex]; - var action = optionTuple[0]; - var optionString = optionTuple[1]; - var explicitArg = optionTuple[2]; - - // identify additional optionals in the same arg string - // (e.g. -xyz is the same as -x -y -z if no args are required) - var actionTuples = []; - - var args, argCount, start, stop; - - for (;;) { - if (!action) { - extras.push(argStrings[startIndex]); - return startIndex + 1; - } - if (explicitArg) { - argCount = self._matchArgument(action, 'A'); - - // if the action is a single-dash option and takes no - // arguments, try to parse more single-dash options out - // of the tail of the option string - var chars = self.prefixChars; - if (argCount === 0 && chars.indexOf(optionString[1]) < 0) { - actionTuples.push([ action, [], optionString ]); - optionString = optionString[0] + explicitArg[0]; - var newExplicitArg = explicitArg.slice(1) || null; - var optionalsMap = self._optionStringActions; - - if (Object.keys(optionalsMap).indexOf(optionString) >= 0) { - action = optionalsMap[optionString]; - explicitArg = newExplicitArg; - } else { - throw argumentErrorHelper(action, sprintf('ignored explicit argument %r', explicitArg)); - } - } else if (argCount === 1) { - // if the action expect exactly one argument, we've - // successfully matched the option; exit the loop - stop = startIndex + 1; - args = [ explicitArg ]; - actionTuples.push([ action, args, optionString ]); - break; - } else { - // error if a double-dash option did not use the - // explicit argument - throw argumentErrorHelper(action, sprintf('ignored explicit argument %r', explicitArg)); - } - } else { - // if there is no explicit argument, try to match the - // optional's string arguments with the following strings - // if successful, exit the loop - - start = startIndex + 1; - var selectedPatterns = argStringsPattern.substr(start); - - argCount = self._matchArgument(action, selectedPatterns); - stop = start + argCount; - - - args = argStrings.slice(start, stop); - - actionTuples.push([ action, args, optionString ]); - break; - } - - } - - // add the Optional to the list and return the index at which - // the Optional's string args stopped - if (actionTuples.length < 1) { - throw new Error('length should be > 0'); - } - for (var i = 0; i < actionTuples.length; i++) { - takeAction.apply(self, actionTuples[i]); - } - return stop; - } - - // the list of Positionals left to be parsed; this is modified - // by consume_positionals() - var positionals = self._getPositionalActions(); - - function consumePositionals(startIndex) { - // match as many Positionals as possible - var selectedPattern = argStringsPattern.substr(startIndex); - var argCounts = self._matchArgumentsPartial(positionals, selectedPattern); - - // slice off the appropriate arg strings for each Positional - // and add the Positional and its args to the list - for (var i = 0; i < positionals.length; i++) { - var action = positionals[i]; - var argCount = argCounts[i]; - if (typeof argCount === 'undefined') { - continue; - } - var args = argStrings.slice(startIndex, startIndex + argCount); - - startIndex += argCount; - takeAction(action, args); - } - - // slice off the Positionals that we just parsed and return the - // index at which the Positionals' string args stopped - positionals = positionals.slice(argCounts.length); - return startIndex; - } - - // consume Positionals and Optionals alternately, until we have - // passed the last option string - var startIndex = 0; - var position; - - var maxOptionStringIndex = -1; - - Object.keys(optionStringIndices).forEach(function (position) { - maxOptionStringIndex = Math.max(maxOptionStringIndex, parseInt(position, 10)); - }); - - var positionalsEndIndex, nextOptionStringIndex; - - while (startIndex <= maxOptionStringIndex) { - // consume any Positionals preceding the next option - nextOptionStringIndex = null; - for (position in optionStringIndices) { - if (!optionStringIndices.hasOwnProperty(position)) { continue; } - - position = parseInt(position, 10); - if (position >= startIndex) { - if (nextOptionStringIndex !== null) { - nextOptionStringIndex = Math.min(nextOptionStringIndex, position); - } else { - nextOptionStringIndex = position; - } - } - } - - if (startIndex !== nextOptionStringIndex) { - positionalsEndIndex = consumePositionals(startIndex); - // only try to parse the next optional if we didn't consume - // the option string during the positionals parsing - if (positionalsEndIndex > startIndex) { - startIndex = positionalsEndIndex; - continue; - } else { - startIndex = positionalsEndIndex; - } - } - - // if we consumed all the positionals we could and we're not - // at the index of an option string, there were extra arguments - if (!optionStringIndices[startIndex]) { - var strings = argStrings.slice(startIndex, nextOptionStringIndex); - extras = extras.concat(strings); - startIndex = nextOptionStringIndex; - } - // consume the next optional and any arguments for it - startIndex = consumeOptional(startIndex); - } - - // consume any positionals following the last Optional - var stopIndex = consumePositionals(startIndex); - - // if we didn't consume all the argument strings, there were extras - extras = extras.concat(argStrings.slice(stopIndex)); - - // if we didn't use all the Positional objects, there were too few - // arg strings supplied. - if (positionals.length > 0) { - self.error('too few arguments'); - } - - // make sure all required actions were present - self._actions.forEach(function (action) { - if (action.required) { - if (seenActions.indexOf(action) < 0) { - self.error(format('Argument "%s" is required', action.getName())); - } - } - }); - - // make sure all required groups have one option present - var actionUsed = false; - self._mutuallyExclusiveGroups.forEach(function (group) { - if (group.required) { - actionUsed = group._groupActions.some(function (action) { - return seenNonDefaultActions.indexOf(action) !== -1; - }); - - // if no actions were used, report the error - if (!actionUsed) { - var names = []; - group._groupActions.forEach(function (action) { - if (action.help !== c.SUPPRESS) { - names.push(action.getName()); - } - }); - names = names.join(' '); - var msg = 'one of the arguments ' + names + ' is required'; - self.error(msg); - } - } - }); - - // return the updated namespace and the extra arguments - return [ namespace, extras ]; -}; - -ArgumentParser.prototype._readArgsFromFiles = function (argStrings) { - // expand arguments referencing files - var self = this; - var fs = require('fs'); - var newArgStrings = []; - argStrings.forEach(function (argString) { - if (self.fromfilePrefixChars.indexOf(argString[0]) < 0) { - // for regular arguments, just add them back into the list - newArgStrings.push(argString); - } else { - // replace arguments referencing files with the file content - try { - var argstrs = []; - var filename = argString.slice(1); - var content = fs.readFileSync(filename, 'utf8'); - content = content.trim().split('\n'); - content.forEach(function (argLine) { - self.convertArgLineToArgs(argLine).forEach(function (arg) { - argstrs.push(arg); - }); - argstrs = self._readArgsFromFiles(argstrs); - }); - newArgStrings.push.apply(newArgStrings, argstrs); - } catch (error) { - return self.error(error.message); - } - } - }); - return newArgStrings; -}; - -ArgumentParser.prototype.convertArgLineToArgs = function (argLine) { - return [ argLine ]; -}; - -ArgumentParser.prototype._matchArgument = function (action, regexpArgStrings) { - - // match the pattern for this action to the arg strings - var regexpNargs = new RegExp('^' + this._getNargsPattern(action)); - var matches = regexpArgStrings.match(regexpNargs); - var message; - - // throw an exception if we weren't able to find a match - if (!matches) { - switch (action.nargs) { - /*eslint-disable no-undefined*/ - case undefined: - case null: - message = 'Expected one argument.'; - break; - case c.OPTIONAL: - message = 'Expected at most one argument.'; - break; - case c.ONE_OR_MORE: - message = 'Expected at least one argument.'; - break; - default: - message = 'Expected %s argument(s)'; - } - - throw argumentErrorHelper( - action, - format(message, action.nargs) - ); - } - // return the number of arguments matched - return matches[1].length; -}; - -ArgumentParser.prototype._matchArgumentsPartial = function (actions, regexpArgStrings) { - // progressively shorten the actions list by slicing off the - // final actions until we find a match - var self = this; - var result = []; - var actionSlice, pattern, matches; - var i, j; - - function getLength(string) { - return string.length; - } - - for (i = actions.length; i > 0; i--) { - pattern = ''; - actionSlice = actions.slice(0, i); - for (j = 0; j < actionSlice.length; j++) { - pattern += self._getNargsPattern(actionSlice[j]); - } - - pattern = new RegExp('^' + pattern); - matches = regexpArgStrings.match(pattern); - - if (matches && matches.length > 0) { - // need only groups - matches = matches.splice(1); - result = result.concat(matches.map(getLength)); - break; - } - } - - // return the list of arg string counts - return result; -}; - -ArgumentParser.prototype._parseOptional = function (argString) { - var action, optionString, argExplicit, optionTuples; - - // if it's an empty string, it was meant to be a positional - if (!argString) { - return null; - } - - // if it doesn't start with a prefix, it was meant to be positional - if (this.prefixChars.indexOf(argString[0]) < 0) { - return null; - } - - // if the option string is present in the parser, return the action - if (this._optionStringActions[argString]) { - return [ this._optionStringActions[argString], argString, null ]; - } - - // if it's just a single character, it was meant to be positional - if (argString.length === 1) { - return null; - } - - // if the option string before the "=" is present, return the action - if (argString.indexOf('=') >= 0) { - optionString = argString.split('=', 1)[0]; - argExplicit = argString.slice(optionString.length + 1); - - if (this._optionStringActions[optionString]) { - action = this._optionStringActions[optionString]; - return [ action, optionString, argExplicit ]; - } - } - - // search through all possible prefixes of the option string - // and all actions in the parser for possible interpretations - optionTuples = this._getOptionTuples(argString); - - // if multiple actions match, the option string was ambiguous - if (optionTuples.length > 1) { - var optionStrings = optionTuples.map(function (optionTuple) { - return optionTuple[1]; - }); - this.error(format( - 'Ambiguous option: "%s" could match %s.', - argString, optionStrings.join(', ') - )); - // if exactly one action matched, this segmentation is good, - // so return the parsed action - } else if (optionTuples.length === 1) { - return optionTuples[0]; - } - - // if it was not found as an option, but it looks like a negative - // number, it was meant to be positional - // unless there are negative-number-like options - if (argString.match(this._regexpNegativeNumber)) { - if (!this._hasNegativeNumberOptionals.some(Boolean)) { - return null; - } - } - // if it contains a space, it was meant to be a positional - if (argString.search(' ') >= 0) { - return null; - } - - // it was meant to be an optional but there is no such option - // in this parser (though it might be a valid option in a subparser) - return [ null, argString, null ]; -}; - -ArgumentParser.prototype._getOptionTuples = function (optionString) { - var result = []; - var chars = this.prefixChars; - var optionPrefix; - var argExplicit; - var action; - var actionOptionString; - - // option strings starting with two prefix characters are only split at - // the '=' - if (chars.indexOf(optionString[0]) >= 0 && chars.indexOf(optionString[1]) >= 0) { - if (optionString.indexOf('=') >= 0) { - var optionStringSplit = optionString.split('=', 1); - - optionPrefix = optionStringSplit[0]; - argExplicit = optionStringSplit[1]; - } else { - optionPrefix = optionString; - argExplicit = null; - } - - for (actionOptionString in this._optionStringActions) { - if (actionOptionString.substr(0, optionPrefix.length) === optionPrefix) { - action = this._optionStringActions[actionOptionString]; - result.push([ action, actionOptionString, argExplicit ]); - } - } - - // single character options can be concatenated with their arguments - // but multiple character options always have to have their argument - // separate - } else if (chars.indexOf(optionString[0]) >= 0 && chars.indexOf(optionString[1]) < 0) { - optionPrefix = optionString; - argExplicit = null; - var optionPrefixShort = optionString.substr(0, 2); - var argExplicitShort = optionString.substr(2); - - for (actionOptionString in this._optionStringActions) { - if (!$$.has(this._optionStringActions, actionOptionString)) continue; - - action = this._optionStringActions[actionOptionString]; - if (actionOptionString === optionPrefixShort) { - result.push([ action, actionOptionString, argExplicitShort ]); - } else if (actionOptionString.substr(0, optionPrefix.length) === optionPrefix) { - result.push([ action, actionOptionString, argExplicit ]); - } - } - - // shouldn't ever get here - } else { - throw new Error(format('Unexpected option string: %s.', optionString)); - } - // return the collected option tuples - return result; -}; - -ArgumentParser.prototype._getNargsPattern = function (action) { - // in all examples below, we have to allow for '--' args - // which are represented as '-' in the pattern - var regexpNargs; - - switch (action.nargs) { - // the default (null) is assumed to be a single argument - case undefined: - case null: - regexpNargs = '(-*A-*)'; - break; - // allow zero or more arguments - case c.OPTIONAL: - regexpNargs = '(-*A?-*)'; - break; - // allow zero or more arguments - case c.ZERO_OR_MORE: - regexpNargs = '(-*[A-]*)'; - break; - // allow one or more arguments - case c.ONE_OR_MORE: - regexpNargs = '(-*A[A-]*)'; - break; - // allow any number of options or arguments - case c.REMAINDER: - regexpNargs = '([-AO]*)'; - break; - // allow one argument followed by any number of options or arguments - case c.PARSER: - regexpNargs = '(-*A[-AO]*)'; - break; - // all others should be integers - default: - regexpNargs = '(-*' + $$.repeat('-*A', action.nargs) + '-*)'; - } - - // if this is an optional action, -- is not allowed - if (action.isOptional()) { - regexpNargs = regexpNargs.replace(/-\*/g, ''); - regexpNargs = regexpNargs.replace(/-/g, ''); - } - - // return the pattern - return regexpNargs; -}; - -// -// Value conversion methods -// - -ArgumentParser.prototype._getValues = function (action, argStrings) { - var self = this; - - // for everything but PARSER args, strip out '--' - if (action.nargs !== c.PARSER && action.nargs !== c.REMAINDER) { - argStrings = argStrings.filter(function (arrayElement) { - return arrayElement !== '--'; - }); - } - - var value, argString; - - // optional argument produces a default when not present - if (argStrings.length === 0 && action.nargs === c.OPTIONAL) { - - value = (action.isOptional()) ? action.constant : action.defaultValue; - - if (typeof (value) === 'string') { - value = this._getValue(action, value); - this._checkValue(action, value); - } - - // when nargs='*' on a positional, if there were no command-line - // args, use the default if it is anything other than None - } else if (argStrings.length === 0 && action.nargs === c.ZERO_OR_MORE && - action.optionStrings.length === 0) { - - value = (action.defaultValue || argStrings); - this._checkValue(action, value); - - // single argument or optional argument produces a single value - } else if (argStrings.length === 1 && - (!action.nargs || action.nargs === c.OPTIONAL)) { - - argString = argStrings[0]; - value = this._getValue(action, argString); - this._checkValue(action, value); - - // REMAINDER arguments convert all values, checking none - } else if (action.nargs === c.REMAINDER) { - value = argStrings.map(function (v) { - return self._getValue(action, v); - }); - - // PARSER arguments convert all values, but check only the first - } else if (action.nargs === c.PARSER) { - value = argStrings.map(function (v) { - return self._getValue(action, v); - }); - this._checkValue(action, value[0]); - - // all other types of nargs produce a list - } else { - value = argStrings.map(function (v) { - return self._getValue(action, v); - }); - value.forEach(function (v) { - self._checkValue(action, v); - }); - } - - // return the converted value - return value; -}; - -ArgumentParser.prototype._getValue = function (action, argString) { - var result; - - var typeFunction = this._registryGet('type', action.type, action.type); - if (typeof typeFunction !== 'function') { - var message = format('%s is not callable', typeFunction); - throw argumentErrorHelper(action, message); - } - - // convert the value to the appropriate type - try { - result = typeFunction(argString); - - // ArgumentTypeErrors indicate errors - // If action.type is not a registered string, it is a function - // Try to deduce its name for inclusion in the error message - // Failing that, include the error message it raised. - } catch (e) { - var name = null; - if (typeof action.type === 'string') { - name = action.type; - } else { - name = action.type.name || action.type.displayName || ''; - } - var msg = format('Invalid %s value: %s', name, argString); - if (name === '') { msg += '\n' + e.message; } - throw argumentErrorHelper(action, msg); - } - // return the converted value - return result; -}; - -ArgumentParser.prototype._checkValue = function (action, value) { - // converted value must be one of the choices (if specified) - var choices = action.choices; - if (choices) { - // choise for argument can by array or string - if ((typeof choices === 'string' || Array.isArray(choices)) && - choices.indexOf(value) !== -1) { - return; - } - // choise for subparsers can by only hash - if (typeof choices === 'object' && !Array.isArray(choices) && choices[value]) { - return; - } - - if (typeof choices === 'string') { - choices = choices.split('').join(', '); - } else if (Array.isArray(choices)) { - choices = choices.join(', '); - } else { - choices = Object.keys(choices).join(', '); - } - var message = format('Invalid choice: %s (choose from [%s])', value, choices); - throw argumentErrorHelper(action, message); - } -}; - -// -// Help formatting methods -// - -/** - * ArgumentParser#formatUsage -> string - * - * Return usage string - * - * See also [original guide][1] - * - * [1]:http://docs.python.org/dev/library/argparse.html#printing-help - **/ -ArgumentParser.prototype.formatUsage = function () { - var formatter = this._getFormatter(); - formatter.addUsage(this.usage, this._actions, this._mutuallyExclusiveGroups); - return formatter.formatHelp(); -}; - -/** - * ArgumentParser#formatHelp -> string - * - * Return help - * - * See also [original guide][1] - * - * [1]:http://docs.python.org/dev/library/argparse.html#printing-help - **/ -ArgumentParser.prototype.formatHelp = function () { - var formatter = this._getFormatter(); - - // usage - formatter.addUsage(this.usage, this._actions, this._mutuallyExclusiveGroups); - - // description - formatter.addText(this.description); - - // positionals, optionals and user-defined groups - this._actionGroups.forEach(function (actionGroup) { - formatter.startSection(actionGroup.title); - formatter.addText(actionGroup.description); - formatter.addArguments(actionGroup._groupActions); - formatter.endSection(); - }); - - // epilog - formatter.addText(this.epilog); - - // determine help from format above - return formatter.formatHelp(); -}; - -ArgumentParser.prototype._getFormatter = function () { - var FormatterClass = this.formatterClass; - var formatter = new FormatterClass({ prog: this.prog }); - return formatter; -}; - -// -// Print functions -// - -/** - * ArgumentParser#printUsage() -> Void - * - * Print usage - * - * See also [original guide][1] - * - * [1]:http://docs.python.org/dev/library/argparse.html#printing-help - **/ -ArgumentParser.prototype.printUsage = function () { - this._printMessage(this.formatUsage()); -}; - -/** - * ArgumentParser#printHelp() -> Void - * - * Print help - * - * See also [original guide][1] - * - * [1]:http://docs.python.org/dev/library/argparse.html#printing-help - **/ -ArgumentParser.prototype.printHelp = function () { - this._printMessage(this.formatHelp()); -}; - -ArgumentParser.prototype._printMessage = function (message, stream) { - if (!stream) { - stream = process.stdout; - } - if (message) { - stream.write('' + message); - } -}; - -// -// Exit functions -// - -/** - * ArgumentParser#exit(status=0, message) -> Void - * - status (int): exit status - * - message (string): message - * - * Print message in stderr/stdout and exit program - **/ -ArgumentParser.prototype.exit = function (status, message) { - if (message) { - if (status === 0) { - this._printMessage(message); - } else { - this._printMessage(message, process.stderr); - } - } - - process.exit(status); -}; - -/** - * ArgumentParser#error(message) -> Void - * - err (Error|string): message - * - * Error method Prints a usage message incorporating the message to stderr and - * exits. If you override this in a subclass, - * it should not return -- it should - * either exit or throw an exception. - * - **/ -ArgumentParser.prototype.error = function (err) { - var message; - if (err instanceof Error) { - if (this.debug === true) { - throw err; - } - message = err.message; - } else { - message = err; - } - var msg = format('%s: error: %s', this.prog, message) + c.EOL; - - if (this.debug === true) { - throw new Error(msg); - } - - this.printUsage(process.stderr); - - return this.exit(2, msg); -}; - -module.exports = ArgumentParser; diff --git a/publi/node_modules/argparse/lib/const.js b/publi/node_modules/argparse/lib/const.js deleted file mode 100644 index b1fd4ce..0000000 --- a/publi/node_modules/argparse/lib/const.js +++ /dev/null @@ -1,21 +0,0 @@ -// -// Constants -// - -'use strict'; - -module.exports.EOL = '\n'; - -module.exports.SUPPRESS = '==SUPPRESS=='; - -module.exports.OPTIONAL = '?'; - -module.exports.ZERO_OR_MORE = '*'; - -module.exports.ONE_OR_MORE = '+'; - -module.exports.PARSER = 'A...'; - -module.exports.REMAINDER = '...'; - -module.exports._UNRECOGNIZED_ARGS_ATTR = '_unrecognized_args'; diff --git a/publi/node_modules/argparse/lib/help/added_formatters.js b/publi/node_modules/argparse/lib/help/added_formatters.js deleted file mode 100644 index f8e4299..0000000 --- a/publi/node_modules/argparse/lib/help/added_formatters.js +++ /dev/null @@ -1,87 +0,0 @@ -'use strict'; - -var util = require('util'); - -// Constants -var c = require('../const'); - -var $$ = require('../utils'); -var HelpFormatter = require('./formatter.js'); - -/** - * new RawDescriptionHelpFormatter(options) - * new ArgumentParser({formatterClass: argparse.RawDescriptionHelpFormatter, ...}) - * - * Help message formatter which adds default values to argument help. - * - * Only the name of this class is considered a public API. All the methods - * provided by the class are considered an implementation detail. - **/ - -function ArgumentDefaultsHelpFormatter(options) { - HelpFormatter.call(this, options); -} - -util.inherits(ArgumentDefaultsHelpFormatter, HelpFormatter); - -ArgumentDefaultsHelpFormatter.prototype._getHelpString = function (action) { - var help = action.help; - if (action.help.indexOf('%(defaultValue)s') === -1) { - if (action.defaultValue !== c.SUPPRESS) { - var defaulting_nargs = [ c.OPTIONAL, c.ZERO_OR_MORE ]; - if (action.isOptional() || (defaulting_nargs.indexOf(action.nargs) >= 0)) { - help += ' (default: %(defaultValue)s)'; - } - } - } - return help; -}; - -module.exports.ArgumentDefaultsHelpFormatter = ArgumentDefaultsHelpFormatter; - -/** - * new RawDescriptionHelpFormatter(options) - * new ArgumentParser({formatterClass: argparse.RawDescriptionHelpFormatter, ...}) - * - * Help message formatter which retains any formatting in descriptions. - * - * Only the name of this class is considered a public API. All the methods - * provided by the class are considered an implementation detail. - **/ - -function RawDescriptionHelpFormatter(options) { - HelpFormatter.call(this, options); -} - -util.inherits(RawDescriptionHelpFormatter, HelpFormatter); - -RawDescriptionHelpFormatter.prototype._fillText = function (text, width, indent) { - var lines = text.split('\n'); - lines = lines.map(function (line) { - return $$.trimEnd(indent + line); - }); - return lines.join('\n'); -}; -module.exports.RawDescriptionHelpFormatter = RawDescriptionHelpFormatter; - -/** - * new RawTextHelpFormatter(options) - * new ArgumentParser({formatterClass: argparse.RawTextHelpFormatter, ...}) - * - * Help message formatter which retains formatting of all help text. - * - * Only the name of this class is considered a public API. All the methods - * provided by the class are considered an implementation detail. - **/ - -function RawTextHelpFormatter(options) { - RawDescriptionHelpFormatter.call(this, options); -} - -util.inherits(RawTextHelpFormatter, RawDescriptionHelpFormatter); - -RawTextHelpFormatter.prototype._splitLines = function (text) { - return text.split('\n'); -}; - -module.exports.RawTextHelpFormatter = RawTextHelpFormatter; diff --git a/publi/node_modules/argparse/lib/help/formatter.js b/publi/node_modules/argparse/lib/help/formatter.js deleted file mode 100644 index a8e4148..0000000 --- a/publi/node_modules/argparse/lib/help/formatter.js +++ /dev/null @@ -1,795 +0,0 @@ -/** - * class HelpFormatter - * - * Formatter for generating usage messages and argument help strings. Only the - * name of this class is considered a public API. All the methods provided by - * the class are considered an implementation detail. - * - * Do not call in your code, use this class only for inherits your own forvatter - * - * ToDo add [additonal formatters][1] - * - * [1]:http://docs.python.org/dev/library/argparse.html#formatter-class - **/ -'use strict'; - -var sprintf = require('sprintf-js').sprintf; - -// Constants -var c = require('../const'); - -var $$ = require('../utils'); - - -/*:nodoc:* internal - * new Support(parent, heding) - * - parent (object): parent section - * - heading (string): header string - * - **/ -function Section(parent, heading) { - this._parent = parent; - this._heading = heading; - this._items = []; -} - -/*:nodoc:* internal - * Section#addItem(callback) -> Void - * - callback (array): tuple with function and args - * - * Add function for single element - **/ -Section.prototype.addItem = function (callback) { - this._items.push(callback); -}; - -/*:nodoc:* internal - * Section#formatHelp(formatter) -> string - * - formatter (HelpFormatter): current formatter - * - * Form help section string - * - **/ -Section.prototype.formatHelp = function (formatter) { - var itemHelp, heading; - - // format the indented section - if (this._parent) { - formatter._indent(); - } - - itemHelp = this._items.map(function (item) { - var obj, func, args; - - obj = formatter; - func = item[0]; - args = item[1]; - return func.apply(obj, args); - }); - itemHelp = formatter._joinParts(itemHelp); - - if (this._parent) { - formatter._dedent(); - } - - // return nothing if the section was empty - if (!itemHelp) { - return ''; - } - - // add the heading if the section was non-empty - heading = ''; - if (this._heading && this._heading !== c.SUPPRESS) { - var currentIndent = formatter.currentIndent; - heading = $$.repeat(' ', currentIndent) + this._heading + ':' + c.EOL; - } - - // join the section-initialize newline, the heading and the help - return formatter._joinParts([ c.EOL, heading, itemHelp, c.EOL ]); -}; - -/** - * new HelpFormatter(options) - * - * #### Options: - * - `prog`: program name - * - `indentIncriment`: indent step, default value 2 - * - `maxHelpPosition`: max help position, default value = 24 - * - `width`: line width - * - **/ -var HelpFormatter = module.exports = function HelpFormatter(options) { - options = options || {}; - - this._prog = options.prog; - - this._maxHelpPosition = options.maxHelpPosition || 24; - this._width = (options.width || ((process.env.COLUMNS || 80) - 2)); - - this._currentIndent = 0; - this._indentIncriment = options.indentIncriment || 2; - this._level = 0; - this._actionMaxLength = 0; - - this._rootSection = new Section(null); - this._currentSection = this._rootSection; - - this._whitespaceMatcher = new RegExp('\\s+', 'g'); - this._longBreakMatcher = new RegExp(c.EOL + c.EOL + c.EOL + '+', 'g'); -}; - -HelpFormatter.prototype._indent = function () { - this._currentIndent += this._indentIncriment; - this._level += 1; -}; - -HelpFormatter.prototype._dedent = function () { - this._currentIndent -= this._indentIncriment; - this._level -= 1; - if (this._currentIndent < 0) { - throw new Error('Indent decreased below 0.'); - } -}; - -HelpFormatter.prototype._addItem = function (func, args) { - this._currentSection.addItem([ func, args ]); -}; - -// -// Message building methods -// - -/** - * HelpFormatter#startSection(heading) -> Void - * - heading (string): header string - * - * Start new help section - * - * See alse [code example][1] - * - * ##### Example - * - * formatter.startSection(actionGroup.title); - * formatter.addText(actionGroup.description); - * formatter.addArguments(actionGroup._groupActions); - * formatter.endSection(); - * - **/ -HelpFormatter.prototype.startSection = function (heading) { - this._indent(); - var section = new Section(this._currentSection, heading); - var func = section.formatHelp.bind(section); - this._addItem(func, [ this ]); - this._currentSection = section; -}; - -/** - * HelpFormatter#endSection -> Void - * - * End help section - * - * ##### Example - * - * formatter.startSection(actionGroup.title); - * formatter.addText(actionGroup.description); - * formatter.addArguments(actionGroup._groupActions); - * formatter.endSection(); - **/ -HelpFormatter.prototype.endSection = function () { - this._currentSection = this._currentSection._parent; - this._dedent(); -}; - -/** - * HelpFormatter#addText(text) -> Void - * - text (string): plain text - * - * Add plain text into current section - * - * ##### Example - * - * formatter.startSection(actionGroup.title); - * formatter.addText(actionGroup.description); - * formatter.addArguments(actionGroup._groupActions); - * formatter.endSection(); - * - **/ -HelpFormatter.prototype.addText = function (text) { - if (text && text !== c.SUPPRESS) { - this._addItem(this._formatText, [ text ]); - } -}; - -/** - * HelpFormatter#addUsage(usage, actions, groups, prefix) -> Void - * - usage (string): usage text - * - actions (array): actions list - * - groups (array): groups list - * - prefix (string): usage prefix - * - * Add usage data into current section - * - * ##### Example - * - * formatter.addUsage(this.usage, this._actions, []); - * return formatter.formatHelp(); - * - **/ -HelpFormatter.prototype.addUsage = function (usage, actions, groups, prefix) { - if (usage !== c.SUPPRESS) { - this._addItem(this._formatUsage, [ usage, actions, groups, prefix ]); - } -}; - -/** - * HelpFormatter#addArgument(action) -> Void - * - action (object): action - * - * Add argument into current section - * - * Single variant of [[HelpFormatter#addArguments]] - **/ -HelpFormatter.prototype.addArgument = function (action) { - if (action.help !== c.SUPPRESS) { - var self = this; - - // find all invocations - var invocations = [ this._formatActionInvocation(action) ]; - var invocationLength = invocations[0].length; - - var actionLength; - - if (action._getSubactions) { - this._indent(); - action._getSubactions().forEach(function (subaction) { - - var invocationNew = self._formatActionInvocation(subaction); - invocations.push(invocationNew); - invocationLength = Math.max(invocationLength, invocationNew.length); - - }); - this._dedent(); - } - - // update the maximum item length - actionLength = invocationLength + this._currentIndent; - this._actionMaxLength = Math.max(this._actionMaxLength, actionLength); - - // add the item to the list - this._addItem(this._formatAction, [ action ]); - } -}; - -/** - * HelpFormatter#addArguments(actions) -> Void - * - actions (array): actions list - * - * Mass add arguments into current section - * - * ##### Example - * - * formatter.startSection(actionGroup.title); - * formatter.addText(actionGroup.description); - * formatter.addArguments(actionGroup._groupActions); - * formatter.endSection(); - * - **/ -HelpFormatter.prototype.addArguments = function (actions) { - var self = this; - actions.forEach(function (action) { - self.addArgument(action); - }); -}; - -// -// Help-formatting methods -// - -/** - * HelpFormatter#formatHelp -> string - * - * Format help - * - * ##### Example - * - * formatter.addText(this.epilog); - * return formatter.formatHelp(); - * - **/ -HelpFormatter.prototype.formatHelp = function () { - var help = this._rootSection.formatHelp(this); - if (help) { - help = help.replace(this._longBreakMatcher, c.EOL + c.EOL); - help = $$.trimChars(help, c.EOL) + c.EOL; - } - return help; -}; - -HelpFormatter.prototype._joinParts = function (partStrings) { - return partStrings.filter(function (part) { - return (part && part !== c.SUPPRESS); - }).join(''); -}; - -HelpFormatter.prototype._formatUsage = function (usage, actions, groups, prefix) { - if (!prefix && typeof prefix !== 'string') { - prefix = 'usage: '; - } - - actions = actions || []; - groups = groups || []; - - - // if usage is specified, use that - if (usage) { - usage = sprintf(usage, { prog: this._prog }); - - // if no optionals or positionals are available, usage is just prog - } else if (!usage && actions.length === 0) { - usage = this._prog; - - // if optionals and positionals are available, calculate usage - } else if (!usage) { - var prog = this._prog; - var optionals = []; - var positionals = []; - var actionUsage; - var textWidth; - - // split optionals from positionals - actions.forEach(function (action) { - if (action.isOptional()) { - optionals.push(action); - } else { - positionals.push(action); - } - }); - - // build full usage string - actionUsage = this._formatActionsUsage([].concat(optionals, positionals), groups); - usage = [ prog, actionUsage ].join(' '); - - // wrap the usage parts if it's too long - textWidth = this._width - this._currentIndent; - if ((prefix.length + usage.length) > textWidth) { - - // break usage into wrappable parts - var regexpPart = new RegExp('\\(.*?\\)+|\\[.*?\\]+|\\S+', 'g'); - var optionalUsage = this._formatActionsUsage(optionals, groups); - var positionalUsage = this._formatActionsUsage(positionals, groups); - - - var optionalParts = optionalUsage.match(regexpPart); - var positionalParts = positionalUsage.match(regexpPart) || []; - - if (optionalParts.join(' ') !== optionalUsage) { - throw new Error('assert "optionalParts.join(\' \') === optionalUsage"'); - } - if (positionalParts.join(' ') !== positionalUsage) { - throw new Error('assert "positionalParts.join(\' \') === positionalUsage"'); - } - - // helper for wrapping lines - /*eslint-disable func-style*/ // node 0.10 compat - var _getLines = function (parts, indent, prefix) { - var lines = []; - var line = []; - - var lineLength = prefix ? prefix.length - 1 : indent.length - 1; - - parts.forEach(function (part) { - if (lineLength + 1 + part.length > textWidth) { - lines.push(indent + line.join(' ')); - line = []; - lineLength = indent.length - 1; - } - line.push(part); - lineLength += part.length + 1; - }); - - if (line) { - lines.push(indent + line.join(' ')); - } - if (prefix) { - lines[0] = lines[0].substr(indent.length); - } - return lines; - }; - - var lines, indent, parts; - // if prog is short, follow it with optionals or positionals - if (prefix.length + prog.length <= 0.75 * textWidth) { - indent = $$.repeat(' ', (prefix.length + prog.length + 1)); - if (optionalParts) { - lines = [].concat( - _getLines([ prog ].concat(optionalParts), indent, prefix), - _getLines(positionalParts, indent) - ); - } else if (positionalParts) { - lines = _getLines([ prog ].concat(positionalParts), indent, prefix); - } else { - lines = [ prog ]; - } - - // if prog is long, put it on its own line - } else { - indent = $$.repeat(' ', prefix.length); - parts = optionalParts + positionalParts; - lines = _getLines(parts, indent); - if (lines.length > 1) { - lines = [].concat( - _getLines(optionalParts, indent), - _getLines(positionalParts, indent) - ); - } - lines = [ prog ] + lines; - } - // join lines into usage - usage = lines.join(c.EOL); - } - } - - // prefix with 'usage:' - return prefix + usage + c.EOL + c.EOL; -}; - -HelpFormatter.prototype._formatActionsUsage = function (actions, groups) { - // find group indices and identify actions in groups - var groupActions = []; - var inserts = []; - var self = this; - - groups.forEach(function (group) { - var end; - var i; - - var start = actions.indexOf(group._groupActions[0]); - if (start >= 0) { - end = start + group._groupActions.length; - - //if (actions.slice(start, end) === group._groupActions) { - if ($$.arrayEqual(actions.slice(start, end), group._groupActions)) { - group._groupActions.forEach(function (action) { - groupActions.push(action); - }); - - if (!group.required) { - if (inserts[start]) { - inserts[start] += ' ['; - } else { - inserts[start] = '['; - } - inserts[end] = ']'; - } else { - if (inserts[start]) { - inserts[start] += ' ('; - } else { - inserts[start] = '('; - } - inserts[end] = ')'; - } - for (i = start + 1; i < end; i += 1) { - inserts[i] = '|'; - } - } - } - }); - - // collect all actions format strings - var parts = []; - - actions.forEach(function (action, actionIndex) { - var part; - var optionString; - var argsDefault; - var argsString; - - // suppressed arguments are marked with None - // remove | separators for suppressed arguments - if (action.help === c.SUPPRESS) { - parts.push(null); - if (inserts[actionIndex] === '|') { - inserts.splice(actionIndex, actionIndex); - } else if (inserts[actionIndex + 1] === '|') { - inserts.splice(actionIndex + 1, actionIndex + 1); - } - - // produce all arg strings - } else if (!action.isOptional()) { - part = self._formatArgs(action, action.dest); - - // if it's in a group, strip the outer [] - if (groupActions.indexOf(action) >= 0) { - if (part[0] === '[' && part[part.length - 1] === ']') { - part = part.slice(1, -1); - } - } - // add the action string to the list - parts.push(part); - - // produce the first way to invoke the option in brackets - } else { - optionString = action.optionStrings[0]; - - // if the Optional doesn't take a value, format is: -s or --long - if (action.nargs === 0) { - part = '' + optionString; - - // if the Optional takes a value, format is: -s ARGS or --long ARGS - } else { - argsDefault = action.dest.toUpperCase(); - argsString = self._formatArgs(action, argsDefault); - part = optionString + ' ' + argsString; - } - // make it look optional if it's not required or in a group - if (!action.required && groupActions.indexOf(action) < 0) { - part = '[' + part + ']'; - } - // add the action string to the list - parts.push(part); - } - }); - - // insert things at the necessary indices - for (var i = inserts.length - 1; i >= 0; --i) { - if (inserts[i] !== null) { - parts.splice(i, 0, inserts[i]); - } - } - - // join all the action items with spaces - var text = parts.filter(function (part) { - return !!part; - }).join(' '); - - // clean up separators for mutually exclusive groups - text = text.replace(/([\[(]) /g, '$1'); // remove spaces - text = text.replace(/ ([\])])/g, '$1'); - text = text.replace(/\[ *\]/g, ''); // remove empty groups - text = text.replace(/\( *\)/g, ''); - text = text.replace(/\(([^|]*)\)/g, '$1'); // remove () from single action groups - - text = text.trim(); - - // return the text - return text; -}; - -HelpFormatter.prototype._formatText = function (text) { - text = sprintf(text, { prog: this._prog }); - var textWidth = this._width - this._currentIndent; - var indentIncriment = $$.repeat(' ', this._currentIndent); - return this._fillText(text, textWidth, indentIncriment) + c.EOL + c.EOL; -}; - -HelpFormatter.prototype._formatAction = function (action) { - var self = this; - - var helpText; - var helpLines; - var parts; - var indentFirst; - - // determine the required width and the entry label - var helpPosition = Math.min(this._actionMaxLength + 2, this._maxHelpPosition); - var helpWidth = this._width - helpPosition; - var actionWidth = helpPosition - this._currentIndent - 2; - var actionHeader = this._formatActionInvocation(action); - - // no help; start on same line and add a final newline - if (!action.help) { - actionHeader = $$.repeat(' ', this._currentIndent) + actionHeader + c.EOL; - - // short action name; start on the same line and pad two spaces - } else if (actionHeader.length <= actionWidth) { - actionHeader = $$.repeat(' ', this._currentIndent) + - actionHeader + - ' ' + - $$.repeat(' ', actionWidth - actionHeader.length); - indentFirst = 0; - - // long action name; start on the next line - } else { - actionHeader = $$.repeat(' ', this._currentIndent) + actionHeader + c.EOL; - indentFirst = helpPosition; - } - - // collect the pieces of the action help - parts = [ actionHeader ]; - - // if there was help for the action, add lines of help text - if (action.help) { - helpText = this._expandHelp(action); - helpLines = this._splitLines(helpText, helpWidth); - parts.push($$.repeat(' ', indentFirst) + helpLines[0] + c.EOL); - helpLines.slice(1).forEach(function (line) { - parts.push($$.repeat(' ', helpPosition) + line + c.EOL); - }); - - // or add a newline if the description doesn't end with one - } else if (actionHeader.charAt(actionHeader.length - 1) !== c.EOL) { - parts.push(c.EOL); - } - // if there are any sub-actions, add their help as well - if (action._getSubactions) { - this._indent(); - action._getSubactions().forEach(function (subaction) { - parts.push(self._formatAction(subaction)); - }); - this._dedent(); - } - // return a single string - return this._joinParts(parts); -}; - -HelpFormatter.prototype._formatActionInvocation = function (action) { - if (!action.isOptional()) { - var format_func = this._metavarFormatter(action, action.dest); - var metavars = format_func(1); - return metavars[0]; - } - - var parts = []; - var argsDefault; - var argsString; - - // if the Optional doesn't take a value, format is: -s, --long - if (action.nargs === 0) { - parts = parts.concat(action.optionStrings); - - // if the Optional takes a value, format is: -s ARGS, --long ARGS - } else { - argsDefault = action.dest.toUpperCase(); - argsString = this._formatArgs(action, argsDefault); - action.optionStrings.forEach(function (optionString) { - parts.push(optionString + ' ' + argsString); - }); - } - return parts.join(', '); -}; - -HelpFormatter.prototype._metavarFormatter = function (action, metavarDefault) { - var result; - - if (action.metavar || action.metavar === '') { - result = action.metavar; - } else if (action.choices) { - var choices = action.choices; - - if (typeof choices === 'string') { - choices = choices.split('').join(', '); - } else if (Array.isArray(choices)) { - choices = choices.join(','); - } else { - choices = Object.keys(choices).join(','); - } - result = '{' + choices + '}'; - } else { - result = metavarDefault; - } - - return function (size) { - if (Array.isArray(result)) { - return result; - } - - var metavars = []; - for (var i = 0; i < size; i += 1) { - metavars.push(result); - } - return metavars; - }; -}; - -HelpFormatter.prototype._formatArgs = function (action, metavarDefault) { - var result; - var metavars; - - var buildMetavar = this._metavarFormatter(action, metavarDefault); - - switch (action.nargs) { - /*eslint-disable no-undefined*/ - case undefined: - case null: - metavars = buildMetavar(1); - result = '' + metavars[0]; - break; - case c.OPTIONAL: - metavars = buildMetavar(1); - result = '[' + metavars[0] + ']'; - break; - case c.ZERO_OR_MORE: - metavars = buildMetavar(2); - result = '[' + metavars[0] + ' [' + metavars[1] + ' ...]]'; - break; - case c.ONE_OR_MORE: - metavars = buildMetavar(2); - result = '' + metavars[0] + ' [' + metavars[1] + ' ...]'; - break; - case c.REMAINDER: - result = '...'; - break; - case c.PARSER: - metavars = buildMetavar(1); - result = metavars[0] + ' ...'; - break; - default: - metavars = buildMetavar(action.nargs); - result = metavars.join(' '); - } - return result; -}; - -HelpFormatter.prototype._expandHelp = function (action) { - var params = { prog: this._prog }; - - Object.keys(action).forEach(function (actionProperty) { - var actionValue = action[actionProperty]; - - if (actionValue !== c.SUPPRESS) { - params[actionProperty] = actionValue; - } - }); - - if (params.choices) { - if (typeof params.choices === 'string') { - params.choices = params.choices.split('').join(', '); - } else if (Array.isArray(params.choices)) { - params.choices = params.choices.join(', '); - } else { - params.choices = Object.keys(params.choices).join(', '); - } - } - - return sprintf(this._getHelpString(action), params); -}; - -HelpFormatter.prototype._splitLines = function (text, width) { - var lines = []; - var delimiters = [ ' ', '.', ',', '!', '?' ]; - var re = new RegExp('[' + delimiters.join('') + '][^' + delimiters.join('') + ']*$'); - - text = text.replace(/[\n\|\t]/g, ' '); - - text = text.trim(); - text = text.replace(this._whitespaceMatcher, ' '); - - // Wraps the single paragraph in text (a string) so every line - // is at most width characters long. - text.split(c.EOL).forEach(function (line) { - if (width >= line.length) { - lines.push(line); - return; - } - - var wrapStart = 0; - var wrapEnd = width; - var delimiterIndex = 0; - while (wrapEnd <= line.length) { - if (wrapEnd !== line.length && delimiters.indexOf(line[wrapEnd] < -1)) { - delimiterIndex = (re.exec(line.substring(wrapStart, wrapEnd)) || {}).index; - wrapEnd = wrapStart + delimiterIndex + 1; - } - lines.push(line.substring(wrapStart, wrapEnd)); - wrapStart = wrapEnd; - wrapEnd += width; - } - if (wrapStart < line.length) { - lines.push(line.substring(wrapStart, wrapEnd)); - } - }); - - return lines; -}; - -HelpFormatter.prototype._fillText = function (text, width, indent) { - var lines = this._splitLines(text, width); - lines = lines.map(function (line) { - return indent + line; - }); - return lines.join(c.EOL); -}; - -HelpFormatter.prototype._getHelpString = function (action) { - return action.help; -}; diff --git a/publi/node_modules/argparse/lib/namespace.js b/publi/node_modules/argparse/lib/namespace.js deleted file mode 100644 index a860de9..0000000 --- a/publi/node_modules/argparse/lib/namespace.js +++ /dev/null @@ -1,76 +0,0 @@ -/** - * class Namespace - * - * Simple object for storing attributes. Implements equality by attribute names - * and values, and provides a simple string representation. - * - * See also [original guide][1] - * - * [1]:http://docs.python.org/dev/library/argparse.html#the-namespace-object - **/ -'use strict'; - -var $$ = require('./utils'); - -/** - * new Namespace(options) - * - options(object): predefined propertis for result object - * - **/ -var Namespace = module.exports = function Namespace(options) { - $$.extend(this, options); -}; - -/** - * Namespace#isset(key) -> Boolean - * - key (string|number): property name - * - * Tells whenever `namespace` contains given `key` or not. - **/ -Namespace.prototype.isset = function (key) { - return $$.has(this, key); -}; - -/** - * Namespace#set(key, value) -> self - * -key (string|number|object): propery name - * -value (mixed): new property value - * - * Set the property named key with value. - * If key object then set all key properties to namespace object - **/ -Namespace.prototype.set = function (key, value) { - if (typeof (key) === 'object') { - $$.extend(this, key); - } else { - this[key] = value; - } - return this; -}; - -/** - * Namespace#get(key, defaultValue) -> mixed - * - key (string|number): property name - * - defaultValue (mixed): default value - * - * Return the property key or defaulValue if not set - **/ -Namespace.prototype.get = function (key, defaultValue) { - return !this[key] ? defaultValue : this[key]; -}; - -/** - * Namespace#unset(key, defaultValue) -> mixed - * - key (string|number): property name - * - defaultValue (mixed): default value - * - * Return data[key](and delete it) or defaultValue - **/ -Namespace.prototype.unset = function (key, defaultValue) { - var value = this[key]; - if (value !== null) { - delete this[key]; - return value; - } - return defaultValue; -}; diff --git a/publi/node_modules/argparse/lib/utils.js b/publi/node_modules/argparse/lib/utils.js deleted file mode 100644 index 4a9cf3e..0000000 --- a/publi/node_modules/argparse/lib/utils.js +++ /dev/null @@ -1,57 +0,0 @@ -'use strict'; - -exports.repeat = function (str, num) { - var result = ''; - for (var i = 0; i < num; i++) { result += str; } - return result; -}; - -exports.arrayEqual = function (a, b) { - if (a.length !== b.length) { return false; } - for (var i = 0; i < a.length; i++) { - if (a[i] !== b[i]) { return false; } - } - return true; -}; - -exports.trimChars = function (str, chars) { - var start = 0; - var end = str.length - 1; - while (chars.indexOf(str.charAt(start)) >= 0) { start++; } - while (chars.indexOf(str.charAt(end)) >= 0) { end--; } - return str.slice(start, end + 1); -}; - -exports.capitalize = function (str) { - return str.charAt(0).toUpperCase() + str.slice(1); -}; - -exports.arrayUnion = function () { - var result = []; - for (var i = 0, values = {}; i < arguments.length; i++) { - var arr = arguments[i]; - for (var j = 0; j < arr.length; j++) { - if (!values[arr[j]]) { - values[arr[j]] = true; - result.push(arr[j]); - } - } - } - return result; -}; - -function has(obj, key) { - return Object.prototype.hasOwnProperty.call(obj, key); -} - -exports.has = has; - -exports.extend = function (dest, src) { - for (var i in src) { - if (has(src, i)) { dest[i] = src[i]; } - } -}; - -exports.trimEnd = function (str) { - return str.replace(/\s+$/g, ''); -}; diff --git a/publi/node_modules/argparse/package.json b/publi/node_modules/argparse/package.json deleted file mode 100644 index 8d1c551..0000000 --- a/publi/node_modules/argparse/package.json +++ /dev/null @@ -1,105 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "argparse@^1.0.7", - "scope": null, - "escapedName": "argparse", - "name": "argparse", - "rawSpec": "^1.0.7", - "spec": ">=1.0.7 <2.0.0", - "type": "range" - }, - "/mnt/Data/bach/Documents/ola/OLA#3DOC/sys/node_modules/js-yaml" - ] - ], - "_from": "argparse@>=1.0.7 <2.0.0", - "_id": "argparse@1.0.9", - "_inCache": true, - "_location": "/argparse", - "_nodeVersion": "6.5.0", - "_npmOperationalInternal": { - "host": "packages-12-west.internal.npmjs.com", - "tmp": "tmp/argparse-1.0.9.tgz_1475177461025_0.33920647646300495" - }, - "_npmUser": { - "name": "vitaly", - "email": "vitaly@rcdesign.ru" - }, - "_npmVersion": "3.10.3", - "_phantomChildren": {}, - "_requested": { - "raw": "argparse@^1.0.7", - "scope": null, - "escapedName": "argparse", - "name": "argparse", - "rawSpec": "^1.0.7", - "spec": ">=1.0.7 <2.0.0", - "type": "range" - }, - "_requiredBy": [ - "/js-yaml" - ], - "_resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.9.tgz", - "_shasum": "73d83bc263f86e97f8cc4f6bae1b0e90a7d22c86", - "_shrinkwrap": null, - "_spec": "argparse@^1.0.7", - "_where": "/mnt/Data/bach/Documents/ola/OLA#3DOC/sys/node_modules/js-yaml", - "bugs": { - "url": "https://github.com/nodeca/argparse/issues" - }, - "contributors": [ - { - "name": "Eugene Shkuropat" - }, - { - "name": "Paul Jacobson" - } - ], - "dependencies": { - "sprintf-js": "~1.0.2" - }, - "description": "Very powerful CLI arguments parser. Native port of argparse - python's options parsing library", - "devDependencies": { - "eslint": "^2.13.1", - "istanbul": "^0.4.5", - "mocha": "^3.1.0", - "ndoc": "^5.0.1" - }, - "directories": {}, - "dist": { - "shasum": "73d83bc263f86e97f8cc4f6bae1b0e90a7d22c86", - "tarball": "https://registry.npmjs.org/argparse/-/argparse-1.0.9.tgz" - }, - "files": [ - "index.js", - "lib/" - ], - "gitHead": "acb39f2d726b90d2eadf9e6574a938d6250ad248", - "homepage": "https://github.com/nodeca/argparse#readme", - "keywords": [ - "cli", - "parser", - "argparse", - "option", - "args" - ], - "license": "MIT", - "maintainers": [ - { - "name": "vitaly", - "email": "vitaly@rcdesign.ru" - } - ], - "name": "argparse", - "optionalDependencies": {}, - "readme": "ERROR: No README data found!", - "repository": { - "type": "git", - "url": "git+https://github.com/nodeca/argparse.git" - }, - "scripts": { - "test": "make test" - }, - "version": "1.0.9" -} diff --git a/publi/node_modules/arr-diff/LICENSE b/publi/node_modules/arr-diff/LICENSE deleted file mode 100755 index d734237..0000000 --- a/publi/node_modules/arr-diff/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -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. diff --git a/publi/node_modules/arr-diff/README.md b/publi/node_modules/arr-diff/README.md deleted file mode 100644 index 961f5c3..0000000 --- a/publi/node_modules/arr-diff/README.md +++ /dev/null @@ -1,130 +0,0 @@ -# arr-diff [![NPM version](https://img.shields.io/npm/v/arr-diff.svg?style=flat)](https://www.npmjs.com/package/arr-diff) [![NPM monthly downloads](https://img.shields.io/npm/dm/arr-diff.svg?style=flat)](https://npmjs.org/package/arr-diff) [![Linux Build Status](https://img.shields.io/travis/jonschlinkert/arr-diff.svg?style=flat&label=Travis)](https://travis-ci.org/jonschlinkert/arr-diff) - -> Returns an array with only the unique values from the first array, by excluding all values from additional arrays using strict equality for comparisons. - -## Install - -Install with [npm](https://www.npmjs.com/): - -```sh -$ npm install --save arr-diff -``` - -Install with [yarn](https://yarnpkg.com): - -```sh -$ yarn add arr-diff -``` - -Install with [bower](https://bower.io/) - -```sh -$ bower install arr-diff --save -``` - -## Usage - -Returns the difference between the first array and additional arrays. - -```js -var diff = require('arr-diff'); - -var a = ['a', 'b', 'c', 'd']; -var b = ['b', 'c']; - -console.log(diff(a, b)) -//=> ['a', 'd'] -``` - -## Benchmarks - -This library versus [array-differ](https://github.com/sindresorhus/array-differ), on April 14, 2017: - -``` -Benchmarking: (4 of 4) - · long-dupes - · long - · med - · short - -# benchmark/fixtures/long-dupes.js (100804 bytes) - arr-diff-3.0.0 x 822 ops/sec ±0.67% (86 runs sampled) - arr-diff-4.0.0 x 2,141 ops/sec ±0.42% (89 runs sampled) - array-differ x 708 ops/sec ±0.70% (89 runs sampled) - - fastest is arr-diff-4.0.0 - -# benchmark/fixtures/long.js (94529 bytes) - arr-diff-3.0.0 x 882 ops/sec ±0.60% (87 runs sampled) - arr-diff-4.0.0 x 2,329 ops/sec ±0.97% (83 runs sampled) - array-differ x 769 ops/sec ±0.61% (90 runs sampled) - - fastest is arr-diff-4.0.0 - -# benchmark/fixtures/med.js (708 bytes) - arr-diff-3.0.0 x 856,150 ops/sec ±0.42% (89 runs sampled) - arr-diff-4.0.0 x 4,665,249 ops/sec ±1.06% (89 runs sampled) - array-differ x 653,888 ops/sec ±1.02% (86 runs sampled) - - fastest is arr-diff-4.0.0 - -# benchmark/fixtures/short.js (60 bytes) - arr-diff-3.0.0 x 3,078,467 ops/sec ±0.77% (93 runs sampled) - arr-diff-4.0.0 x 9,213,296 ops/sec ±0.65% (89 runs sampled) - array-differ x 1,337,051 ops/sec ±0.91% (92 runs sampled) - - fastest is arr-diff-4.0.0 -``` - -## About - -### Related projects - -* [arr-flatten](https://www.npmjs.com/package/arr-flatten): Recursively flatten an array or arrays. This is the fastest implementation of array flatten. | [homepage](https://github.com/jonschlinkert/arr-flatten "Recursively flatten an array or arrays. This is the fastest implementation of array flatten.") -* [array-filter](https://www.npmjs.com/package/array-filter): Array#filter for older browsers. | [homepage](https://github.com/juliangruber/array-filter "Array#filter for older browsers.") -* [array-intersection](https://www.npmjs.com/package/array-intersection): Return an array with the unique values present in _all_ given arrays using strict equality… [more](https://github.com/jonschlinkert/array-intersection) | [homepage](https://github.com/jonschlinkert/array-intersection "Return an array with the unique values present in _all_ given arrays using strict equality for comparisons.") - -### Contributing - -Pull requests and stars are always welcome. For bugs and feature requests, [please create an issue](../../issues/new). - -### Contributors - -| **Commits** | **Contributor** | -| --- | --- | -| 33 | [jonschlinkert](https://github.com/jonschlinkert) | -| 2 | [paulmillr](https://github.com/paulmillr) | - -### Building docs - -_(This project's readme.md is generated by [verb](https://github.com/verbose/verb-generate-readme), please don't edit the readme directly. Any changes to the readme must be made in the [.verb.md](.verb.md) readme template.)_ - -To generate the readme, run the following command: - -```sh -$ npm install -g verbose/verb#dev verb-generate-readme && verb -``` - -### Running tests - -Running and reviewing unit tests is a great way to get familiarized with a library and its API. You can install dependencies and run tests with the following command: - -```sh -$ npm install && npm test -``` - -### Author - -**Jon Schlinkert** - -* [github/jonschlinkert](https://github.com/jonschlinkert) -* [twitter/jonschlinkert](https://twitter.com/jonschlinkert) - -### License - -Copyright © 2017, [Jon Schlinkert](https://github.com/jonschlinkert). -Released under the [MIT License](LICENSE). - -*** - -_This file was generated by [verb-generate-readme](https://github.com/verbose/verb-generate-readme), v0.5.0, on April 14, 2017._ \ No newline at end of file diff --git a/publi/node_modules/arr-diff/index.js b/publi/node_modules/arr-diff/index.js deleted file mode 100644 index 90f2807..0000000 --- a/publi/node_modules/arr-diff/index.js +++ /dev/null @@ -1,47 +0,0 @@ -/*! - * arr-diff - * - * Copyright (c) 2014-2017, Jon Schlinkert. - * Released under the MIT License. - */ - -'use strict'; - -module.exports = function diff(arr/*, arrays*/) { - var len = arguments.length; - var idx = 0; - while (++idx < len) { - arr = diffArray(arr, arguments[idx]); - } - return arr; -}; - -function diffArray(one, two) { - if (!Array.isArray(two)) { - return one.slice(); - } - - var tlen = two.length - var olen = one.length; - var idx = -1; - var arr = []; - - while (++idx < olen) { - var ele = one[idx]; - - var hasEle = false; - for (var i = 0; i < tlen; i++) { - var val = two[i]; - - if (ele === val) { - hasEle = true; - break; - } - } - - if (hasEle === false) { - arr.push(ele); - } - } - return arr; -} diff --git a/publi/node_modules/arr-diff/package.json b/publi/node_modules/arr-diff/package.json deleted file mode 100644 index 9c0d48d..0000000 --- a/publi/node_modules/arr-diff/package.json +++ /dev/null @@ -1,109 +0,0 @@ -{ - "_from": "arr-diff@^4.0.0", - "_id": "arr-diff@4.0.0", - "_inBundle": false, - "_integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", - "_location": "/arr-diff", - "_phantomChildren": {}, - "_requested": { - "type": "range", - "registry": true, - "raw": "arr-diff@^4.0.0", - "name": "arr-diff", - "escapedName": "arr-diff", - "rawSpec": "^4.0.0", - "saveSpec": null, - "fetchSpec": "^4.0.0" - }, - "_requiredBy": [ - "/micromatch", - "/nanomatch" - ], - "_resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "_shasum": "d6461074febfec71e7e15235761a329a5dc7c520", - "_spec": "arr-diff@^4.0.0", - "_where": "/mnt/Data/bach/Documents/ola/OLA#5/ola5doc/publi/node_modules/micromatch", - "author": { - "name": "Jon Schlinkert", - "url": "https://github.com/jonschlinkert" - }, - "bugs": { - "url": "https://github.com/jonschlinkert/arr-diff/issues" - }, - "bundleDependencies": false, - "contributors": [ - { - "name": "Jon Schlinkert", - "email": "jon.schlinkert@sellside.com", - "url": "http://twitter.com/jonschlinkert" - }, - { - "name": "Paul Miller", - "email": "paul+gh@paulmillr.com", - "url": "paulmillr.com" - } - ], - "dependencies": {}, - "deprecated": false, - "description": "Returns an array with only the unique values from the first array, by excluding all values from additional arrays using strict equality for comparisons.", - "devDependencies": { - "ansi-bold": "^0.1.1", - "arr-flatten": "^1.0.1", - "array-differ": "^1.0.0", - "benchmarked": "^0.2.4", - "gulp-format-md": "^0.1.9", - "minimist": "^1.2.0", - "mocha": "^2.4.5" - }, - "engines": { - "node": ">=0.10.0" - }, - "files": [ - "index.js" - ], - "homepage": "https://github.com/jonschlinkert/arr-diff", - "keywords": [ - "arr", - "array", - "array differ", - "array-differ", - "diff", - "differ", - "difference" - ], - "license": "MIT", - "main": "index.js", - "name": "arr-diff", - "repository": { - "type": "git", - "url": "git+https://github.com/jonschlinkert/arr-diff.git" - }, - "scripts": { - "test": "mocha" - }, - "verb": { - "toc": false, - "layout": "default", - "tasks": [ - "readme" - ], - "plugins": [ - "gulp-format-md" - ], - "related": { - "list": [ - "arr-flatten", - "array-filter", - "array-intersection" - ] - }, - "reflinks": [ - "array-differ", - "verb" - ], - "lint": { - "reflinks": true - } - }, - "version": "4.0.0" -} diff --git a/publi/node_modules/arr-flatten/LICENSE b/publi/node_modules/arr-flatten/LICENSE deleted file mode 100755 index 3f2eca1..0000000 --- a/publi/node_modules/arr-flatten/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -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. diff --git a/publi/node_modules/arr-flatten/README.md b/publi/node_modules/arr-flatten/README.md deleted file mode 100755 index 7dc7a97..0000000 --- a/publi/node_modules/arr-flatten/README.md +++ /dev/null @@ -1,86 +0,0 @@ -# arr-flatten [![NPM version](https://img.shields.io/npm/v/arr-flatten.svg?style=flat)](https://www.npmjs.com/package/arr-flatten) [![NPM monthly downloads](https://img.shields.io/npm/dm/arr-flatten.svg?style=flat)](https://npmjs.org/package/arr-flatten) [![NPM total downloads](https://img.shields.io/npm/dt/arr-flatten.svg?style=flat)](https://npmjs.org/package/arr-flatten) [![Linux Build Status](https://img.shields.io/travis/jonschlinkert/arr-flatten.svg?style=flat&label=Travis)](https://travis-ci.org/jonschlinkert/arr-flatten) [![Windows Build Status](https://img.shields.io/appveyor/ci/jonschlinkert/arr-flatten.svg?style=flat&label=AppVeyor)](https://ci.appveyor.com/project/jonschlinkert/arr-flatten) - -> Recursively flatten an array or arrays. - -## Install - -Install with [npm](https://www.npmjs.com/): - -```sh -$ npm install --save arr-flatten -``` - -## Install - -Install with [bower](https://bower.io/) - -```sh -$ bower install arr-flatten --save -``` - -## Usage - -```js -var flatten = require('arr-flatten'); - -flatten(['a', ['b', ['c']], 'd', ['e']]); -//=> ['a', 'b', 'c', 'd', 'e'] -``` - -## Why another flatten utility? - -I wanted the fastest implementation I could find, with implementation choices that should work for 95% of use cases, but no cruft to cover the other 5%. - -## About - -### Related projects - -* [arr-filter](https://www.npmjs.com/package/arr-filter): Faster alternative to javascript's native filter method. | [homepage](https://github.com/jonschlinkert/arr-filter "Faster alternative to javascript's native filter method.") -* [arr-union](https://www.npmjs.com/package/arr-union): Combines a list of arrays, returning a single array with unique values, using strict equality… [more](https://github.com/jonschlinkert/arr-union) | [homepage](https://github.com/jonschlinkert/arr-union "Combines a list of arrays, returning a single array with unique values, using strict equality for comparisons.") -* [array-each](https://www.npmjs.com/package/array-each): Loop over each item in an array and call the given function on every element. | [homepage](https://github.com/jonschlinkert/array-each "Loop over each item in an array and call the given function on every element.") -* [array-unique](https://www.npmjs.com/package/array-unique): Remove duplicate values from an array. Fastest ES5 implementation. | [homepage](https://github.com/jonschlinkert/array-unique "Remove duplicate values from an array. Fastest ES5 implementation.") - -### Contributing - -Pull requests and stars are always welcome. For bugs and feature requests, [please create an issue](../../issues/new). - -### Contributors - -| **Commits** | **Contributor** | -| --- | --- | -| 20 | [jonschlinkert](https://github.com/jonschlinkert) | -| 1 | [lukeed](https://github.com/lukeed) | - -### Building docs - -_(This project's readme.md is generated by [verb](https://github.com/verbose/verb-generate-readme), please don't edit the readme directly. Any changes to the readme must be made in the [.verb.md](.verb.md) readme template.)_ - -To generate the readme, run the following command: - -```sh -$ npm install -g verbose/verb#dev verb-generate-readme && verb -``` - -### Running tests - -Running and reviewing unit tests is a great way to get familiarized with a library and its API. You can install dependencies and run tests with the following command: - -```sh -$ npm install && npm test -``` - -### Author - -**Jon Schlinkert** - -* [github/jonschlinkert](https://github.com/jonschlinkert) -* [twitter/jonschlinkert](https://twitter.com/jonschlinkert) - -### License - -Copyright © 2017, [Jon Schlinkert](https://github.com/jonschlinkert). -Released under the [MIT License](LICENSE). - -*** - -_This file was generated by [verb-generate-readme](https://github.com/verbose/verb-generate-readme), v0.6.0, on July 05, 2017._ \ No newline at end of file diff --git a/publi/node_modules/arr-flatten/index.js b/publi/node_modules/arr-flatten/index.js deleted file mode 100644 index 0cb4ea4..0000000 --- a/publi/node_modules/arr-flatten/index.js +++ /dev/null @@ -1,22 +0,0 @@ -/*! - * arr-flatten - * - * Copyright (c) 2014-2017, Jon Schlinkert. - * Released under the MIT License. - */ - -'use strict'; - -module.exports = function (arr) { - return flat(arr, []); -}; - -function flat(arr, res) { - var i = 0, cur; - var len = arr.length; - for (; i < len; i++) { - cur = arr[i]; - Array.isArray(cur) ? flat(cur, res) : res.push(cur); - } - return res; -} diff --git a/publi/node_modules/arr-flatten/package.json b/publi/node_modules/arr-flatten/package.json deleted file mode 100644 index ad47a44..0000000 --- a/publi/node_modules/arr-flatten/package.json +++ /dev/null @@ -1,114 +0,0 @@ -{ - "_from": "arr-flatten@^1.1.0", - "_id": "arr-flatten@1.1.0", - "_inBundle": false, - "_integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", - "_location": "/arr-flatten", - "_phantomChildren": {}, - "_requested": { - "type": "range", - "registry": true, - "raw": "arr-flatten@^1.1.0", - "name": "arr-flatten", - "escapedName": "arr-flatten", - "rawSpec": "^1.1.0", - "saveSpec": null, - "fetchSpec": "^1.1.0" - }, - "_requiredBy": [ - "/anymatch/arr-diff", - "/braces" - ], - "_resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", - "_shasum": "36048bbff4e7b47e136644316c99669ea5ae91f1", - "_spec": "arr-flatten@^1.1.0", - "_where": "/mnt/Data/bach/Documents/ola/OLA#5/ola5doc/publi/node_modules/braces", - "author": { - "name": "Jon Schlinkert", - "url": "https://github.com/jonschlinkert" - }, - "bugs": { - "url": "https://github.com/jonschlinkert/arr-flatten/issues" - }, - "bundleDependencies": false, - "contributors": [ - { - "name": "Jon Schlinkert", - "url": "http://twitter.com/jonschlinkert" - }, - { - "name": "Luke Edwards", - "url": "https://lukeed.com" - } - ], - "deprecated": false, - "description": "Recursively flatten an array or arrays.", - "devDependencies": { - "ansi-bold": "^0.1.1", - "array-flatten": "^2.1.1", - "array-slice": "^1.0.0", - "benchmarked": "^1.0.0", - "compute-flatten": "^1.0.0", - "flatit": "^1.1.1", - "flatten": "^1.0.2", - "flatten-array": "^1.0.0", - "glob": "^7.1.1", - "gulp-format-md": "^0.1.12", - "just-flatten-it": "^1.1.23", - "lodash.flattendeep": "^4.4.0", - "m_flattened": "^1.0.1", - "mocha": "^3.2.0", - "utils-flatten": "^1.0.0", - "write": "^0.3.3" - }, - "engines": { - "node": ">=0.10.0" - }, - "files": [ - "index.js" - ], - "homepage": "https://github.com/jonschlinkert/arr-flatten", - "keywords": [ - "arr", - "array", - "elements", - "flat", - "flatten", - "nested", - "recurse", - "recursive", - "recursively" - ], - "license": "MIT", - "main": "index.js", - "name": "arr-flatten", - "repository": { - "type": "git", - "url": "git+https://github.com/jonschlinkert/arr-flatten.git" - }, - "scripts": { - "test": "mocha" - }, - "verb": { - "toc": false, - "layout": "default", - "tasks": [ - "readme" - ], - "plugins": [ - "gulp-format-md" - ], - "related": { - "list": [ - "arr-filter", - "arr-union", - "array-each", - "array-unique" - ] - }, - "lint": { - "reflinks": true - } - }, - "version": "1.1.0" -} diff --git a/publi/node_modules/arr-union/LICENSE b/publi/node_modules/arr-union/LICENSE deleted file mode 100644 index 39245ac..0000000 --- a/publi/node_modules/arr-union/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -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. diff --git a/publi/node_modules/arr-union/README.md b/publi/node_modules/arr-union/README.md deleted file mode 100644 index b3cd4f4..0000000 --- a/publi/node_modules/arr-union/README.md +++ /dev/null @@ -1,99 +0,0 @@ -# arr-union [![NPM version](https://img.shields.io/npm/v/arr-union.svg)](https://www.npmjs.com/package/arr-union) [![Build Status](https://img.shields.io/travis/jonschlinkert/arr-union.svg)](https://travis-ci.org/jonschlinkert/arr-union) - -> Combines a list of arrays, returning a single array with unique values, using strict equality for comparisons. - -## Install - -Install with [npm](https://www.npmjs.com/): - -```sh -$ npm i arr-union --save -``` - -## Benchmarks - -This library is **10-20 times faster** and more performant than [array-union](https://github.com/sindresorhus/array-union). - -See the [benchmarks](./benchmark). - -```sh -#1: five-arrays - array-union x 511,121 ops/sec ±0.80% (96 runs sampled) - arr-union x 5,716,039 ops/sec ±0.86% (93 runs sampled) - -#2: ten-arrays - array-union x 245,196 ops/sec ±0.69% (94 runs sampled) - arr-union x 1,850,786 ops/sec ±0.84% (97 runs sampled) - -#3: two-arrays - array-union x 563,869 ops/sec ±0.97% (94 runs sampled) - arr-union x 9,602,852 ops/sec ±0.87% (92 runs sampled) -``` - -## Usage - -```js -var union = require('arr-union'); - -union(['a'], ['b', 'c'], ['d', 'e', 'f']); -//=> ['a', 'b', 'c', 'd', 'e', 'f'] -``` - -Returns only unique elements: - -```js -union(['a', 'a'], ['b', 'c']); -//=> ['a', 'b', 'c'] -``` - -## Related projects - -* [arr-diff](https://www.npmjs.com/package/arr-diff): Returns an array with only the unique values from the first array, by excluding all… [more](https://www.npmjs.com/package/arr-diff) | [homepage](https://github.com/jonschlinkert/arr-diff) -* [arr-filter](https://www.npmjs.com/package/arr-filter): Faster alternative to javascript's native filter method. | [homepage](https://github.com/jonschlinkert/arr-filter) -* [arr-flatten](https://www.npmjs.com/package/arr-flatten): Recursively flatten an array or arrays. This is the fastest implementation of array flatten. | [homepage](https://github.com/jonschlinkert/arr-flatten) -* [arr-map](https://www.npmjs.com/package/arr-map): Faster, node.js focused alternative to JavaScript's native array map. | [homepage](https://github.com/jonschlinkert/arr-map) -* [arr-pluck](https://www.npmjs.com/package/arr-pluck): Retrieves the value of a specified property from all elements in the collection. | [homepage](https://github.com/jonschlinkert/arr-pluck) -* [arr-reduce](https://www.npmjs.com/package/arr-reduce): Fast array reduce that also loops over sparse elements. | [homepage](https://github.com/jonschlinkert/arr-reduce) -* [array-unique](https://www.npmjs.com/package/array-unique): Return an array free of duplicate values. Fastest ES5 implementation. | [homepage](https://github.com/jonschlinkert/array-unique) - -## Contributing - -Pull requests and stars are always welcome. For bugs and feature requests, [please create an issue](https://github.com/jonschlinkert/arr-union/issues/new). - -## Building docs - -Generate readme and API documentation with [verb](https://github.com/verbose/verb): - -```sh -$ npm i verb && npm run docs -``` - -Or, if [verb](https://github.com/verbose/verb) is installed globally: - -```sh -$ verb -``` - -## Running tests - -Install dev dependencies: - -```sh -$ npm i -d && npm test -``` - -## Author - -**Jon Schlinkert** - -* [github/jonschlinkert](https://github.com/jonschlinkert) -* [twitter/jonschlinkert](http://twitter.com/jonschlinkert) - -## License - -Copyright © 2016 [Jon Schlinkert](https://github.com/jonschlinkert) -Released under the [MIT license](https://github.com/jonschlinkert/arr-union/blob/master/LICENSE). - -*** - -_This file was generated by [verb](https://github.com/verbose/verb), v0.9.0, on February 23, 2016._ \ No newline at end of file diff --git a/publi/node_modules/arr-union/index.js b/publi/node_modules/arr-union/index.js deleted file mode 100644 index 5ae6c4a..0000000 --- a/publi/node_modules/arr-union/index.js +++ /dev/null @@ -1,29 +0,0 @@ -'use strict'; - -module.exports = function union(init) { - if (!Array.isArray(init)) { - throw new TypeError('arr-union expects the first argument to be an array.'); - } - - var len = arguments.length; - var i = 0; - - while (++i < len) { - var arg = arguments[i]; - if (!arg) continue; - - if (!Array.isArray(arg)) { - arg = [arg]; - } - - for (var j = 0; j < arg.length; j++) { - var ele = arg[j]; - - if (init.indexOf(ele) >= 0) { - continue; - } - init.push(ele); - } - } - return init; -}; diff --git a/publi/node_modules/arr-union/package.json b/publi/node_modules/arr-union/package.json deleted file mode 100644 index a701669..0000000 --- a/publi/node_modules/arr-union/package.json +++ /dev/null @@ -1,108 +0,0 @@ -{ - "_from": "arr-union@^3.1.0", - "_id": "arr-union@3.1.0", - "_inBundle": false, - "_integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", - "_location": "/arr-union", - "_phantomChildren": {}, - "_requested": { - "type": "range", - "registry": true, - "raw": "arr-union@^3.1.0", - "name": "arr-union", - "escapedName": "arr-union", - "rawSpec": "^3.1.0", - "saveSpec": null, - "fetchSpec": "^3.1.0" - }, - "_requiredBy": [ - "/class-utils", - "/union-value" - ], - "_resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", - "_shasum": "e39b09aea9def866a8f206e288af63919bae39c4", - "_spec": "arr-union@^3.1.0", - "_where": "/mnt/Data/bach/Documents/ola/OLA#5/ola5doc/publi/node_modules/union-value", - "author": { - "name": "Jon Schlinkert", - "url": "https://github.com/jonschlinkert" - }, - "bugs": { - "url": "https://github.com/jonschlinkert/arr-union/issues" - }, - "bundleDependencies": false, - "deprecated": false, - "description": "Combines a list of arrays, returning a single array with unique values, using strict equality for comparisons.", - "devDependencies": { - "ansi-bold": "^0.1.1", - "array-union": "^1.0.1", - "array-unique": "^0.2.1", - "benchmarked": "^0.1.4", - "gulp-format-md": "^0.1.7", - "minimist": "^1.1.1", - "mocha": "*", - "should": "*" - }, - "engines": { - "node": ">=0.10.0" - }, - "files": [ - "index.js" - ], - "homepage": "https://github.com/jonschlinkert/arr-union", - "keywords": [ - "add", - "append", - "array", - "arrays", - "combine", - "concat", - "extend", - "union", - "uniq", - "unique", - "util", - "utility", - "utils" - ], - "license": "MIT", - "main": "index.js", - "name": "arr-union", - "repository": { - "type": "git", - "url": "git+https://github.com/jonschlinkert/arr-union.git" - }, - "scripts": { - "test": "mocha" - }, - "verb": { - "run": true, - "toc": false, - "layout": "default", - "tasks": [ - "readme" - ], - "plugins": [ - "gulp-format-md" - ], - "related": { - "list": [ - "arr-diff", - "arr-flatten", - "arr-filter", - "arr-map", - "arr-pluck", - "arr-reduce", - "array-unique" - ] - }, - "reflinks": [ - "verb", - "array-union" - ], - "lint": { - "reflinks": true - } - }, - "version": "3.1.0" -} diff --git a/publi/node_modules/array-differ/index.js b/publi/node_modules/array-differ/index.js deleted file mode 100644 index fbe2ed2..0000000 --- a/publi/node_modules/array-differ/index.js +++ /dev/null @@ -1,7 +0,0 @@ -'use strict'; -module.exports = function (arr) { - var rest = [].concat.apply([], [].slice.call(arguments, 1)); - return arr.filter(function (el) { - return rest.indexOf(el) === -1; - }); -}; diff --git a/publi/node_modules/array-differ/package.json b/publi/node_modules/array-differ/package.json deleted file mode 100644 index 9059c9d..0000000 --- a/publi/node_modules/array-differ/package.json +++ /dev/null @@ -1,95 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "array-differ@^1.0.0", - "scope": null, - "escapedName": "array-differ", - "name": "array-differ", - "rawSpec": "^1.0.0", - "spec": ">=1.0.0 <2.0.0", - "type": "range" - }, - "/mnt/Data/bach/Documents/ola/OLA#3DOC/sys/node_modules/gulp-util" - ] - ], - "_from": "array-differ@>=1.0.0 <2.0.0", - "_id": "array-differ@1.0.0", - "_inCache": true, - "_location": "/array-differ", - "_npmUser": { - "name": "sindresorhus", - "email": "sindresorhus@gmail.com" - }, - "_npmVersion": "1.4.14", - "_phantomChildren": {}, - "_requested": { - "raw": "array-differ@^1.0.0", - "scope": null, - "escapedName": "array-differ", - "name": "array-differ", - "rawSpec": "^1.0.0", - "spec": ">=1.0.0 <2.0.0", - "type": "range" - }, - "_requiredBy": [ - "/gulp-util" - ], - "_resolved": "https://registry.npmjs.org/array-differ/-/array-differ-1.0.0.tgz", - "_shasum": "eff52e3758249d33be402b8bb8e564bb2b5d4031", - "_shrinkwrap": null, - "_spec": "array-differ@^1.0.0", - "_where": "/mnt/Data/bach/Documents/ola/OLA#3DOC/sys/node_modules/gulp-util", - "author": { - "name": "Sindre Sorhus", - "email": "sindresorhus@gmail.com", - "url": "http://sindresorhus.com" - }, - "bugs": { - "url": "https://github.com/sindresorhus/array-differ/issues" - }, - "dependencies": {}, - "description": "Create an array with values that are present in the first input array but not additional ones", - "devDependencies": { - "mocha": "*" - }, - "directories": {}, - "dist": { - "shasum": "eff52e3758249d33be402b8bb8e564bb2b5d4031", - "tarball": "https://registry.npmjs.org/array-differ/-/array-differ-1.0.0.tgz" - }, - "engines": { - "node": ">=0.10.0" - }, - "files": [ - "index.js" - ], - "gitHead": "e91802976c4710eef8dea2090d48e48525cf41b1", - "homepage": "https://github.com/sindresorhus/array-differ", - "keywords": [ - "array", - "difference", - "diff", - "differ", - "filter", - "exclude" - ], - "license": "MIT", - "maintainers": [ - { - "name": "sindresorhus", - "email": "sindresorhus@gmail.com" - } - ], - "name": "array-differ", - "optionalDependencies": {}, - "readme": "ERROR: No README data found!", - "repository": { - "type": "git", - "url": "git://github.com/sindresorhus/array-differ.git" - }, - "scripts": { - "test": "mocha" - }, - "version": "1.0.0" -} diff --git a/publi/node_modules/array-differ/readme.md b/publi/node_modules/array-differ/readme.md deleted file mode 100644 index 68f5d36..0000000 --- a/publi/node_modules/array-differ/readme.md +++ /dev/null @@ -1,41 +0,0 @@ -# array-differ [![Build Status](https://travis-ci.org/sindresorhus/array-differ.svg?branch=master)](https://travis-ci.org/sindresorhus/array-differ) - -> Create an array with values that are present in the first input array but not additional ones - - -## Install - -```sh -$ npm install --save array-differ -``` - - -## Usage - -```js -var arrayDiffer = require('array-differ'); - -arrayDiffer([2, 3, 4], [3, 50]); -//=> [2, 4] -``` - -## API - -### arrayDiffer(input, values, [values, ...]) - -Returns the new array. - -#### input - -Type: `array` - -#### values - -Type: `array` - -Arrays of values to exclude. - - -## License - -MIT © [Sindre Sorhus](http://sindresorhus.com) diff --git a/publi/node_modules/array-each/LICENSE b/publi/node_modules/array-each/LICENSE deleted file mode 100644 index ec85897..0000000 --- a/publi/node_modules/array-each/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2015, 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. diff --git a/publi/node_modules/array-each/README.md b/publi/node_modules/array-each/README.md deleted file mode 100644 index e8602a1..0000000 --- a/publi/node_modules/array-each/README.md +++ /dev/null @@ -1,84 +0,0 @@ -# array-each [![NPM version](https://img.shields.io/npm/v/array-each.svg?style=flat)](https://www.npmjs.com/package/array-each) [![NPM monthly downloads](https://img.shields.io/npm/dm/array-each.svg?style=flat)](https://npmjs.org/package/array-each) [![NPM total downloads](https://img.shields.io/npm/dt/array-each.svg?style=flat)](https://npmjs.org/package/array-each) [![Linux Build Status](https://img.shields.io/travis/jonschlinkert/array-each.svg?style=flat&label=Travis)](https://travis-ci.org/jonschlinkert/array-each) - -> Loop over each item in an array and call the given function on every element. - -## Install - -Install with [npm](https://www.npmjs.com/): - -```sh -$ npm install --save array-each -``` - -## Usage - -### [each](index.js#L34) - -Loop over each item in an array and call the given function on every element. - -**Params** - -* `array` **{Array}** -* `fn` **{Function}** -* `thisArg` **{Object}**: (optional) pass a `thisArg` to be used as the context in which to call the function. -* `returns` **{undefined}** - -**Example** - -```js -each(['a', 'b', 'c'], function(ele) { - return ele + ele; -}); -//=> ['aa', 'bb', 'cc'] - -each(['a', 'b', 'c'], function(ele, i) { - return i + ele; -}); -//=> ['0a', '1b', '2c'] -``` - -## About - -### Related projects - -* [arr-filter](https://www.npmjs.com/package/arr-filter): Faster alternative to javascript's native filter method. | [homepage](https://github.com/jonschlinkert/arr-filter "Faster alternative to javascript's native filter method.") -* [arr-map](https://www.npmjs.com/package/arr-map): Faster, node.js focused alternative to JavaScript's native array map. | [homepage](https://github.com/jonschlinkert/arr-map "Faster, node.js focused alternative to JavaScript's native array map.") -* [collection-map](https://www.npmjs.com/package/collection-map): Returns an array of mapped values from an array or object. | [homepage](https://github.com/jonschlinkert/collection-map "Returns an array of mapped values from an array or object.") - -### Contributing - -Pull requests and stars are always welcome. For bugs and feature requests, [please create an issue](../../issues/new). - -### Building docs - -_(This project's readme.md is generated by [verb](https://github.com/verbose/verb-generate-readme), please don't edit the readme directly. Any changes to the readme must be made in the [.verb.md](.verb.md) readme template.)_ - -To generate the readme, run the following command: - -```sh -$ npm install -g verbose/verb#dev verb-generate-readme && verb -``` - -### Running tests - -Running and reviewing unit tests is a great way to get familiarized with a library and its API. You can install dependencies and run tests with the following command: - -```sh -$ npm install && npm test -``` - -### Author - -**Jon Schlinkert** - -* [github/jonschlinkert](https://github.com/jonschlinkert) -* [twitter/jonschlinkert](https://twitter.com/jonschlinkert) - -### License - -Copyright © 2017, [Jon Schlinkert](https://github.com/jonschlinkert). -Released under the [MIT License](LICENSE). - -*** - -_This file was generated by [verb-generate-readme](https://github.com/verbose/verb-generate-readme), v0.4.2, on February 26, 2017._ \ No newline at end of file diff --git a/publi/node_modules/array-each/index.js b/publi/node_modules/array-each/index.js deleted file mode 100644 index 12afef4..0000000 --- a/publi/node_modules/array-each/index.js +++ /dev/null @@ -1,46 +0,0 @@ -/*! - * array-each - * - * Copyright (c) 2015, 2017, Jon Schlinkert. - * Released under the MIT License. - */ - -'use strict'; - -/** - * Loop over each item in an array and call the given function on every element. - * - * ```js - * each(['a', 'b', 'c'], function(ele) { - * return ele + ele; - * }); - * //=> ['aa', 'bb', 'cc'] - * - * each(['a', 'b', 'c'], function(ele, i) { - * return i + ele; - * }); - * //=> ['0a', '1b', '2c'] - * ``` - * - * @name each - * @alias forEach - * @param {Array} `array` - * @param {Function} `fn` - * @param {Object} `thisArg` (optional) pass a `thisArg` to be used as the context in which to call the function. - * @return {undefined} - * @api public - */ - -module.exports = function each(arr, cb, thisArg) { - if (arr == null) return; - - var len = arr.length; - var idx = -1; - - while (++idx < len) { - var ele = arr[idx]; - if (cb.call(thisArg, ele, idx, arr) === false) { - break; - } - } -}; diff --git a/publi/node_modules/array-each/package.json b/publi/node_modules/array-each/package.json deleted file mode 100644 index 917cdb5..0000000 --- a/publi/node_modules/array-each/package.json +++ /dev/null @@ -1,81 +0,0 @@ -{ - "_from": "array-each@^1.0.1", - "_id": "array-each@1.0.1", - "_inBundle": false, - "_integrity": "sha1-p5SvDAWrF1KEbudTofIRoFugxE8=", - "_location": "/array-each", - "_phantomChildren": {}, - "_requested": { - "type": "range", - "registry": true, - "raw": "array-each@^1.0.1", - "name": "array-each", - "escapedName": "array-each", - "rawSpec": "^1.0.1", - "saveSpec": null, - "fetchSpec": "^1.0.1" - }, - "_requiredBy": [ - "/object.defaults" - ], - "_resolved": "https://registry.npmjs.org/array-each/-/array-each-1.0.1.tgz", - "_shasum": "a794af0c05ab1752846ee753a1f211a05ba0c44f", - "_spec": "array-each@^1.0.1", - "_where": "/mnt/Data/bach/Documents/ola/OLA#5/ola5doc/publi/node_modules/object.defaults", - "author": { - "name": "Jon Schlinkert", - "url": "https://github.com/jonschlinkert" - }, - "bugs": { - "url": "https://github.com/jonschlinkert/array-each/issues" - }, - "bundleDependencies": false, - "deprecated": false, - "description": "Loop over each item in an array and call the given function on every element.", - "devDependencies": { - "gulp-format-md": "^0.1.11", - "mocha": "^3.2.0" - }, - "engines": { - "node": ">=0.10.0" - }, - "files": [ - "index.js" - ], - "homepage": "https://github.com/jonschlinkert/array-each", - "keywords": [ - "array", - "each" - ], - "license": "MIT", - "main": "index.js", - "name": "array-each", - "repository": { - "type": "git", - "url": "git+https://github.com/jonschlinkert/array-each.git" - }, - "scripts": { - "test": "mocha" - }, - "verb": { - "toc": false, - "layout": "default", - "tasks": [ - "readme" - ], - "plugins": [ - "gulp-format-md" - ], - "related": { - "list": [ - "collection-map", - "arr-filter", - "arr-map" - ] - }, - "lint": { - "reflinks": true - } - }, - "version": "1.0.1" -} diff --git a/publi/node_modules/array-find-index/index.js b/publi/node_modules/array-find-index/index.js deleted file mode 100644 index e2dcd9a..0000000 --- a/publi/node_modules/array-find-index/index.js +++ /dev/null @@ -1,25 +0,0 @@ -'use strict'; -module.exports = function (arr, predicate, ctx) { - if (typeof Array.prototype.findIndex === 'function') { - return arr.findIndex(predicate, ctx); - } - - if (typeof predicate !== 'function') { - throw new TypeError('predicate must be a function'); - } - - var list = Object(arr); - var len = list.length; - - if (len === 0) { - return -1; - } - - for (var i = 0; i < len; i++) { - if (predicate.call(ctx, list[i], i, list)) { - return i; - } - } - - return -1; -}; diff --git a/publi/node_modules/array-find-index/license b/publi/node_modules/array-find-index/license deleted file mode 100644 index 654d0bf..0000000 --- a/publi/node_modules/array-find-index/license +++ /dev/null @@ -1,21 +0,0 @@ -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. diff --git a/publi/node_modules/array-find-index/package.json b/publi/node_modules/array-find-index/package.json deleted file mode 100644 index b52f1f7..0000000 --- a/publi/node_modules/array-find-index/package.json +++ /dev/null @@ -1,103 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "array-find-index@^1.0.1", - "scope": null, - "escapedName": "array-find-index", - "name": "array-find-index", - "rawSpec": "^1.0.1", - "spec": ">=1.0.1 <2.0.0", - "type": "range" - }, - "/mnt/Data/bach/Documents/ola/OLA#3DOC/sys/node_modules/currently-unhandled" - ] - ], - "_from": "array-find-index@>=1.0.1 <2.0.0", - "_id": "array-find-index@1.0.2", - "_inCache": true, - "_location": "/array-find-index", - "_nodeVersion": "4.5.0", - "_npmOperationalInternal": { - "host": "packages-12-west.internal.npmjs.com", - "tmp": "tmp/array-find-index-1.0.2.tgz_1475224789159_0.7274378235451877" - }, - "_npmUser": { - "name": "sindresorhus", - "email": "sindresorhus@gmail.com" - }, - "_npmVersion": "2.15.9", - "_phantomChildren": {}, - "_requested": { - "raw": "array-find-index@^1.0.1", - "scope": null, - "escapedName": "array-find-index", - "name": "array-find-index", - "rawSpec": "^1.0.1", - "spec": ">=1.0.1 <2.0.0", - "type": "range" - }, - "_requiredBy": [ - "/currently-unhandled" - ], - "_resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", - "_shasum": "df010aa1287e164bbda6f9723b0a96a1ec4187a1", - "_shrinkwrap": null, - "_spec": "array-find-index@^1.0.1", - "_where": "/mnt/Data/bach/Documents/ola/OLA#3DOC/sys/node_modules/currently-unhandled", - "author": { - "name": "Sindre Sorhus", - "email": "sindresorhus@gmail.com", - "url": "sindresorhus.com" - }, - "bugs": { - "url": "https://github.com/sindresorhus/array-find-index/issues" - }, - "dependencies": {}, - "description": "ES2015 `Array#findIndex()` ponyfill", - "devDependencies": { - "ava": "*", - "xo": "*" - }, - "directories": {}, - "dist": { - "shasum": "df010aa1287e164bbda6f9723b0a96a1ec4187a1", - "tarball": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz" - }, - "engines": { - "node": ">=0.10.0" - }, - "files": [ - "index.js" - ], - "gitHead": "983f4c827ad22fa0353182b1ddcbfaecd4412859", - "homepage": "https://github.com/sindresorhus/array-find-index#readme", - "keywords": [ - "es2015", - "ponyfill", - "polyfill", - "shim", - "find", - "index", - "findindex", - "array" - ], - "license": "MIT", - "maintainers": [ - { - "name": "sindresorhus", - "email": "sindresorhus@gmail.com" - } - ], - "name": "array-find-index", - "optionalDependencies": {}, - "readme": "ERROR: No README data found!", - "repository": { - "type": "git", - "url": "git+https://github.com/sindresorhus/array-find-index.git" - }, - "scripts": { - "test": "xo && ava" - }, - "version": "1.0.2" -} diff --git a/publi/node_modules/array-find-index/readme.md b/publi/node_modules/array-find-index/readme.md deleted file mode 100644 index 3166341..0000000 --- a/publi/node_modules/array-find-index/readme.md +++ /dev/null @@ -1,30 +0,0 @@ -# array-find-index [![Build Status](https://travis-ci.org/sindresorhus/array-find-index.svg?branch=master)](https://travis-ci.org/sindresorhus/array-find-index) - -> ES2015 [`Array#findIndex()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/findIndex) [ponyfill](https://ponyfill.com) - - -## Install - -``` -$ npm install --save array-find-index -``` - - -## Usage - -```js -const arrayFindIndex = require('array-find-index'); - -arrayFindIndex(['rainbow', 'unicorn', 'pony'], x => x === 'unicorn'); -//=> 1 -``` - - -## API - -Same as `Array#findIndex()`, but with the input array as the first argument. - - -## License - -MIT © [Sindre Sorhus](https://sindresorhus.com) diff --git a/publi/node_modules/array-slice/LICENSE b/publi/node_modules/array-slice/LICENSE deleted file mode 100755 index 3f2eca1..0000000 --- a/publi/node_modules/array-slice/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -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. diff --git a/publi/node_modules/array-slice/README.md b/publi/node_modules/array-slice/README.md deleted file mode 100755 index e175ca0..0000000 --- a/publi/node_modules/array-slice/README.md +++ /dev/null @@ -1,82 +0,0 @@ -# array-slice [![NPM version](https://img.shields.io/npm/v/array-slice.svg?style=flat)](https://www.npmjs.com/package/array-slice) [![NPM monthly downloads](https://img.shields.io/npm/dm/array-slice.svg?style=flat)](https://npmjs.org/package/array-slice) [![NPM total downloads](https://img.shields.io/npm/dt/array-slice.svg?style=flat)](https://npmjs.org/package/array-slice) [![Linux Build Status](https://img.shields.io/travis/jonschlinkert/array-slice.svg?style=flat&label=Travis)](https://travis-ci.org/jonschlinkert/array-slice) - -> Array-slice method. Slices `array` from the `start` index up to, but not including, the `end` index. - -Please consider following this project's author, [Jon Schlinkert](https://github.com/jonschlinkert), and consider starring the project to show your :heart: and support. - -## Install - -Install with [npm](https://www.npmjs.com/): - -```sh -$ npm install --save array-slice -``` - -This function is used instead of `Array#slice` to support node lists in IE < 9 and to ensure dense arrays are returned. This is also faster than native slice in some cases. - -## Usage - -```js -var slice = require('array-slice'); -var arr = ['a', 'b', 'd', 'e', 'f', 'g', 'h', 'i', 'j']; - -slice(arr, 3, 6); -//=> ['e', 'f', 'g'] -``` - -## About - -
-Contributing - -Pull requests and stars are always welcome. For bugs and feature requests, [please create an issue](../../issues/new). - -
- -
-Running Tests - -Running and reviewing unit tests is a great way to get familiarized with a library and its API. You can install dependencies and run tests with the following command: - -```sh -$ npm install && npm test -``` - -
- -
-Building docs - -_(This project's readme.md is generated by [verb](https://github.com/verbose/verb-generate-readme), please don't edit the readme directly. Any changes to the readme must be made in the [.verb.md](.verb.md) readme template.)_ - -To generate the readme, run the following command: - -```sh -$ npm install -g verbose/verb#dev verb-generate-readme && verb -``` - -
- -### Related projects - -You might also be interested in these projects: - -* [arr-flatten](https://www.npmjs.com/package/arr-flatten): Recursively flatten an array or arrays. | [homepage](https://github.com/jonschlinkert/arr-flatten "Recursively flatten an array or arrays.") -* [array-unique](https://www.npmjs.com/package/array-unique): Remove duplicate values from an array. Fastest ES5 implementation. | [homepage](https://github.com/jonschlinkert/array-unique "Remove duplicate values from an array. Fastest ES5 implementation.") -* [array-xor](https://www.npmjs.com/package/array-xor): Returns the symmetric difference (exclusive-or) of an array of elements (elements that are present in… [more](https://github.com/jonschlinkert/array-xor) | [homepage](https://github.com/jonschlinkert/array-xor "Returns the symmetric difference (exclusive-or) of an array of elements (elements that are present in all given arrays and not in their intersections).") - -### Author - -**Jon Schlinkert** - -* [github/jonschlinkert](https://github.com/jonschlinkert) -* [twitter/jonschlinkert](https://twitter.com/jonschlinkert) - -### License - -Copyright © 2017, [Jon Schlinkert](https://github.com/jonschlinkert). -Released under the [MIT License](LICENSE). - -*** - -_This file was generated by [verb-generate-readme](https://github.com/verbose/verb-generate-readme), v0.6.0, on November 30, 2017._ \ No newline at end of file diff --git a/publi/node_modules/array-slice/index.js b/publi/node_modules/array-slice/index.js deleted file mode 100644 index 15cdb77..0000000 --- a/publi/node_modules/array-slice/index.js +++ /dev/null @@ -1,33 +0,0 @@ -/*! - * array-slice - * - * Copyright (c) 2014-2017, Jon Schlinkert. - * Released under the MIT License. - */ - -'use strict'; - -module.exports = function slice(arr, start, end) { - var len = arr.length; - var range = []; - - start = idx(len, start); - end = idx(len, end, len); - - while (start < end) { - range.push(arr[start++]); - } - return range; -}; - -function idx(len, pos, end) { - if (pos == null) { - pos = end || 0; - } else if (pos < 0) { - pos = Math.max(len + pos, 0); - } else { - pos = Math.min(pos, len); - } - - return pos; -} diff --git a/publi/node_modules/array-slice/package.json b/publi/node_modules/array-slice/package.json deleted file mode 100644 index 1d61a32..0000000 --- a/publi/node_modules/array-slice/package.json +++ /dev/null @@ -1,85 +0,0 @@ -{ - "_from": "array-slice@^1.0.0", - "_id": "array-slice@1.1.0", - "_inBundle": false, - "_integrity": "sha512-B1qMD3RBP7O8o0H2KbrXDyB0IccejMF15+87Lvlor12ONPRHP6gTjXMNkt/d3ZuOGbAe66hFmaCfECI24Ufp6w==", - "_location": "/array-slice", - "_phantomChildren": {}, - "_requested": { - "type": "range", - "registry": true, - "raw": "array-slice@^1.0.0", - "name": "array-slice", - "escapedName": "array-slice", - "rawSpec": "^1.0.0", - "saveSpec": null, - "fetchSpec": "^1.0.0" - }, - "_requiredBy": [ - "/object.defaults" - ], - "_resolved": "https://registry.npmjs.org/array-slice/-/array-slice-1.1.0.tgz", - "_shasum": "e368ea15f89bc7069f7ffb89aec3a6c7d4ac22d4", - "_spec": "array-slice@^1.0.0", - "_where": "/mnt/Data/bach/Documents/ola/OLA#5/ola5doc/publi/node_modules/object.defaults", - "author": { - "name": "Jon Schlinkert", - "url": "https://github.com/jonschlinkert" - }, - "bugs": { - "url": "https://github.com/jonschlinkert/array-slice/issues" - }, - "bundleDependencies": false, - "deprecated": false, - "description": "Array-slice method. Slices `array` from the `start` index up to, but not including, the `end` index.", - "devDependencies": { - "gulp-format-md": "^1.0.0", - "mocha": "^3.5.3" - }, - "engines": { - "node": ">=0.10.0" - }, - "files": [ - "index.js" - ], - "homepage": "https://github.com/jonschlinkert/array-slice", - "keywords": [ - "array", - "javascript", - "js", - "slice", - "util", - "utils" - ], - "license": "MIT", - "main": "index.js", - "name": "array-slice", - "repository": { - "type": "git", - "url": "git+https://github.com/jonschlinkert/array-slice.git" - }, - "scripts": { - "test": "mocha" - }, - "verb": { - "toc": false, - "layout": "default", - "tasks": [ - "readme" - ], - "plugins": [ - "gulp-format-md" - ], - "related": { - "list": [ - "arr-flatten", - "array-unique", - "array-xor" - ] - }, - "lint": { - "reflinks": true - } - }, - "version": "1.1.0" -} diff --git a/publi/node_modules/array-uniq/index.js b/publi/node_modules/array-uniq/index.js deleted file mode 100644 index edd09f8..0000000 --- a/publi/node_modules/array-uniq/index.js +++ /dev/null @@ -1,62 +0,0 @@ -'use strict'; - -// there's 3 implementations written in increasing order of efficiency - -// 1 - no Set type is defined -function uniqNoSet(arr) { - var ret = []; - - for (var i = 0; i < arr.length; i++) { - if (ret.indexOf(arr[i]) === -1) { - ret.push(arr[i]); - } - } - - return ret; -} - -// 2 - a simple Set type is defined -function uniqSet(arr) { - var seen = new Set(); - return arr.filter(function (el) { - if (!seen.has(el)) { - seen.add(el); - return true; - } - - return false; - }); -} - -// 3 - a standard Set type is defined and it has a forEach method -function uniqSetWithForEach(arr) { - var ret = []; - - (new Set(arr)).forEach(function (el) { - ret.push(el); - }); - - return ret; -} - -// V8 currently has a broken implementation -// https://github.com/joyent/node/issues/8449 -function doesForEachActuallyWork() { - var ret = false; - - (new Set([true])).forEach(function (el) { - ret = el; - }); - - return ret === true; -} - -if ('Set' in global) { - if (typeof Set.prototype.forEach === 'function' && doesForEachActuallyWork()) { - module.exports = uniqSetWithForEach; - } else { - module.exports = uniqSet; - } -} else { - module.exports = uniqNoSet; -} diff --git a/publi/node_modules/array-uniq/license b/publi/node_modules/array-uniq/license deleted file mode 100644 index 654d0bf..0000000 --- a/publi/node_modules/array-uniq/license +++ /dev/null @@ -1,21 +0,0 @@ -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. diff --git a/publi/node_modules/array-uniq/package.json b/publi/node_modules/array-uniq/package.json deleted file mode 100644 index d16db18..0000000 --- a/publi/node_modules/array-uniq/package.json +++ /dev/null @@ -1,105 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "array-uniq@^1.0.2", - "scope": null, - "escapedName": "array-uniq", - "name": "array-uniq", - "rawSpec": "^1.0.2", - "spec": ">=1.0.2 <2.0.0", - "type": "range" - }, - "/mnt/Data/bach/Documents/ola/OLA#3DOC/sys/node_modules/gulp-util" - ] - ], - "_from": "array-uniq@>=1.0.2 <2.0.0", - "_id": "array-uniq@1.0.3", - "_inCache": true, - "_location": "/array-uniq", - "_nodeVersion": "4.4.2", - "_npmOperationalInternal": { - "host": "packages-12-west.internal.npmjs.com", - "tmp": "tmp/array-uniq-1.0.3.tgz_1466079716839_0.9139188586268574" - }, - "_npmUser": { - "name": "sindresorhus", - "email": "sindresorhus@gmail.com" - }, - "_npmVersion": "2.15.0", - "_phantomChildren": {}, - "_requested": { - "raw": "array-uniq@^1.0.2", - "scope": null, - "escapedName": "array-uniq", - "name": "array-uniq", - "rawSpec": "^1.0.2", - "spec": ">=1.0.2 <2.0.0", - "type": "range" - }, - "_requiredBy": [ - "/gulp-util" - ], - "_resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", - "_shasum": "af6ac877a25cc7f74e058894753858dfdb24fdb6", - "_shrinkwrap": null, - "_spec": "array-uniq@^1.0.2", - "_where": "/mnt/Data/bach/Documents/ola/OLA#3DOC/sys/node_modules/gulp-util", - "author": { - "name": "Sindre Sorhus", - "email": "sindresorhus@gmail.com", - "url": "sindresorhus.com" - }, - "bugs": { - "url": "https://github.com/sindresorhus/array-uniq/issues" - }, - "dependencies": {}, - "description": "Create an array without duplicates", - "devDependencies": { - "ava": "*", - "es6-set": "^0.1.0", - "require-uncached": "^1.0.2", - "xo": "*" - }, - "directories": {}, - "dist": { - "shasum": "af6ac877a25cc7f74e058894753858dfdb24fdb6", - "tarball": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz" - }, - "engines": { - "node": ">=0.10.0" - }, - "files": [ - "index.js" - ], - "gitHead": "3b5bf5a90a585b3950284d575f33d09663f6083a", - "homepage": "https://github.com/sindresorhus/array-uniq#readme", - "keywords": [ - "array", - "arr", - "set", - "uniq", - "unique", - "es6", - "duplicate", - "remove" - ], - "license": "MIT", - "maintainers": [ - { - "name": "sindresorhus", - "email": "sindresorhus@gmail.com" - } - ], - "name": "array-uniq", - "optionalDependencies": {}, - "readme": "ERROR: No README data found!", - "repository": { - "type": "git", - "url": "git+https://github.com/sindresorhus/array-uniq.git" - }, - "scripts": { - "test": "xo && ava" - }, - "version": "1.0.3" -} diff --git a/publi/node_modules/array-uniq/readme.md b/publi/node_modules/array-uniq/readme.md deleted file mode 100644 index f0bd98c..0000000 --- a/publi/node_modules/array-uniq/readme.md +++ /dev/null @@ -1,30 +0,0 @@ -# array-uniq [![Build Status](https://travis-ci.org/sindresorhus/array-uniq.svg?branch=master)](https://travis-ci.org/sindresorhus/array-uniq) - -> Create an array without duplicates - -It's already pretty fast, but will be much faster when [Set](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set) becomes available in V8 (especially with large arrays). - - -## Install - -``` -$ npm install --save array-uniq -``` - - -## Usage - -```js -const arrayUniq = require('array-uniq'); - -arrayUniq([1, 1, 2, 3, 3]); -//=> [1, 2, 3] - -arrayUniq(['foo', 'foo', 'bar', 'foo']); -//=> ['foo', 'bar'] -``` - - -## License - -MIT © [Sindre Sorhus](https://sindresorhus.com) diff --git a/publi/node_modules/array-unique/LICENSE b/publi/node_modules/array-unique/LICENSE deleted file mode 100755 index 842218c..0000000 --- a/publi/node_modules/array-unique/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -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. diff --git a/publi/node_modules/array-unique/README.md b/publi/node_modules/array-unique/README.md deleted file mode 100755 index 41c8c90..0000000 --- a/publi/node_modules/array-unique/README.md +++ /dev/null @@ -1,77 +0,0 @@ -# array-unique [![NPM version](https://img.shields.io/npm/v/array-unique.svg?style=flat)](https://www.npmjs.com/package/array-unique) [![NPM downloads](https://img.shields.io/npm/dm/array-unique.svg?style=flat)](https://npmjs.org/package/array-unique) [![Build Status](https://img.shields.io/travis/jonschlinkert/array-unique.svg?style=flat)](https://travis-ci.org/jonschlinkert/array-unique) - -Remove duplicate values from an array. Fastest ES5 implementation. - -## Install - -Install with [npm](https://www.npmjs.com/): - -```sh -$ npm install --save array-unique -``` - -## Usage - -```js -var unique = require('array-unique'); - -var arr = ['a', 'b', 'c', 'c']; -console.log(unique(arr)) //=> ['a', 'b', 'c'] -console.log(arr) //=> ['a', 'b', 'c'] - -/* The above modifies the input array. To prevent that at a slight performance cost: */ -var unique = require("array-unique").immutable; - -var arr = ['a', 'b', 'c', 'c']; -console.log(unique(arr)) //=> ['a', 'b', 'c'] -console.log(arr) //=> ['a', 'b', 'c', 'c'] -``` - -## About - -### Related projects - -* [arr-diff](https://www.npmjs.com/package/arr-diff): Returns an array with only the unique values from the first array, by excluding all… [more](https://github.com/jonschlinkert/arr-diff) | [homepage](https://github.com/jonschlinkert/arr-diff "Returns an array with only the unique values from the first array, by excluding all values from additional arrays using strict equality for comparisons.") -* [arr-flatten](https://www.npmjs.com/package/arr-flatten): Recursively flatten an array or arrays. This is the fastest implementation of array flatten. | [homepage](https://github.com/jonschlinkert/arr-flatten "Recursively flatten an array or arrays. This is the fastest implementation of array flatten.") -* [arr-map](https://www.npmjs.com/package/arr-map): Faster, node.js focused alternative to JavaScript's native array map. | [homepage](https://github.com/jonschlinkert/arr-map "Faster, node.js focused alternative to JavaScript's native array map.") -* [arr-pluck](https://www.npmjs.com/package/arr-pluck): Retrieves the value of a specified property from all elements in the collection. | [homepage](https://github.com/jonschlinkert/arr-pluck "Retrieves the value of a specified property from all elements in the collection.") -* [arr-reduce](https://www.npmjs.com/package/arr-reduce): Fast array reduce that also loops over sparse elements. | [homepage](https://github.com/jonschlinkert/arr-reduce "Fast array reduce that also loops over sparse elements.") -* [arr-union](https://www.npmjs.com/package/arr-union): Combines a list of arrays, returning a single array with unique values, using strict equality… [more](https://github.com/jonschlinkert/arr-union) | [homepage](https://github.com/jonschlinkert/arr-union "Combines a list of arrays, returning a single array with unique values, using strict equality for comparisons.") - -### Contributing - -Pull requests and stars are always welcome. For bugs and feature requests, [please create an issue](../../issues/new). - -### Building docs - -_(This document was generated by [verb-generate-readme](https://github.com/verbose/verb-generate-readme) (a [verb](https://github.com/verbose/verb) generator), please don't edit the readme directly. Any changes to the readme must be made in [.verb.md](.verb.md).)_ - -To generate the readme and API documentation with [verb](https://github.com/verbose/verb): - -```sh -$ npm install -g verb verb-generate-readme && verb -``` - -### Running tests - -Install dev dependencies: - -```sh -$ npm install -d && npm test -``` - -### Author - -**Jon Schlinkert** - -* [github/jonschlinkert](https://github.com/jonschlinkert) -* [twitter/jonschlinkert](http://twitter.com/jonschlinkert) - -### License - -Copyright © 2016, [Jon Schlinkert](https://github.com/jonschlinkert). -Released under the [MIT license](https://github.com/jonschlinkert/array-unique/blob/master/LICENSE). - -*** - -_This file was generated by [verb-generate-readme](https://github.com/verbose/verb-generate-readme), v0.1.28, on July 31, 2016._ \ No newline at end of file diff --git a/publi/node_modules/array-unique/index.js b/publi/node_modules/array-unique/index.js deleted file mode 100644 index 7e481e0..0000000 --- a/publi/node_modules/array-unique/index.js +++ /dev/null @@ -1,43 +0,0 @@ -/*! - * array-unique - * - * Copyright (c) 2014-2015, Jon Schlinkert. - * Licensed under the MIT License. - */ - -'use strict'; - -module.exports = function unique(arr) { - if (!Array.isArray(arr)) { - throw new TypeError('array-unique expects an array.'); - } - - var len = arr.length; - var i = -1; - - while (i++ < len) { - var j = i + 1; - - for (; j < arr.length; ++j) { - if (arr[i] === arr[j]) { - arr.splice(j--, 1); - } - } - } - return arr; -}; - -module.exports.immutable = function uniqueImmutable(arr) { - if (!Array.isArray(arr)) { - throw new TypeError('array-unique expects an array.'); - } - - var arrLen = arr.length; - var newArr = new Array(arrLen); - - for (var i = 0; i < arrLen; i++) { - newArr[i] = arr[i]; - } - - return module.exports(newArr); -}; diff --git a/publi/node_modules/array-unique/package.json b/publi/node_modules/array-unique/package.json deleted file mode 100644 index 3c97b8f..0000000 --- a/publi/node_modules/array-unique/package.json +++ /dev/null @@ -1,96 +0,0 @@ -{ - "_from": "array-unique@^0.3.2", - "_id": "array-unique@0.3.2", - "_inBundle": false, - "_integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", - "_location": "/array-unique", - "_phantomChildren": {}, - "_requested": { - "type": "range", - "registry": true, - "raw": "array-unique@^0.3.2", - "name": "array-unique", - "escapedName": "array-unique", - "rawSpec": "^0.3.2", - "saveSpec": null, - "fetchSpec": "^0.3.2" - }, - "_requiredBy": [ - "/braces", - "/extglob", - "/micromatch", - "/nanomatch" - ], - "_resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "_shasum": "a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428", - "_spec": "array-unique@^0.3.2", - "_where": "/mnt/Data/bach/Documents/ola/OLA#5/ola5doc/publi/node_modules/micromatch", - "author": { - "name": "Jon Schlinkert", - "url": "https://github.com/jonschlinkert" - }, - "bugs": { - "url": "https://github.com/jonschlinkert/array-unique/issues" - }, - "bundleDependencies": false, - "deprecated": false, - "description": "Remove duplicate values from an array. Fastest ES5 implementation.", - "devDependencies": { - "array-uniq": "^1.0.2", - "benchmarked": "^0.1.3", - "gulp-format-md": "^0.1.9", - "mocha": "^2.5.3", - "should": "^10.0.0" - }, - "engines": { - "node": ">=0.10.0" - }, - "files": [ - "index.js", - "LICENSE", - "README.md" - ], - "homepage": "https://github.com/jonschlinkert/array-unique", - "keywords": [ - "array", - "unique" - ], - "license": "MIT", - "main": "index.js", - "name": "array-unique", - "repository": { - "type": "git", - "url": "git+https://github.com/jonschlinkert/array-unique.git" - }, - "scripts": { - "test": "mocha" - }, - "verb": { - "toc": false, - "layout": "default", - "tasks": [ - "readme" - ], - "plugins": [ - "gulp-format-md" - ], - "related": { - "list": [ - "arr-diff", - "arr-union", - "arr-flatten", - "arr-reduce", - "arr-map", - "arr-pluck" - ] - }, - "reflinks": [ - "verb", - "verb-generate-readme" - ], - "lint": { - "reflinks": true - } - }, - "version": "0.3.2" -} diff --git a/publi/node_modules/asn1/.npmignore b/publi/node_modules/asn1/.npmignore deleted file mode 100644 index eb03e3e..0000000 --- a/publi/node_modules/asn1/.npmignore +++ /dev/null @@ -1,2 +0,0 @@ -node_modules -*.log diff --git a/publi/node_modules/asn1/.travis.yml b/publi/node_modules/asn1/.travis.yml deleted file mode 100644 index 09d3ef3..0000000 --- a/publi/node_modules/asn1/.travis.yml +++ /dev/null @@ -1,4 +0,0 @@ -language: node_js -node_js: - - 0.8 - - 0.10 diff --git a/publi/node_modules/asn1/LICENSE b/publi/node_modules/asn1/LICENSE deleted file mode 100644 index 9b5dcdb..0000000 --- a/publi/node_modules/asn1/LICENSE +++ /dev/null @@ -1,19 +0,0 @@ -Copyright (c) 2011 Mark Cavage, 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 diff --git a/publi/node_modules/asn1/README.md b/publi/node_modules/asn1/README.md deleted file mode 100644 index 7cebf7a..0000000 --- a/publi/node_modules/asn1/README.md +++ /dev/null @@ -1,50 +0,0 @@ -node-asn1 is a library for encoding and decoding ASN.1 datatypes in pure JS. -Currently BER encoding is supported; at some point I'll likely have to do DER. - -## Usage - -Mostly, if you're *actually* needing to read and write ASN.1, you probably don't -need this readme to explain what and why. If you have no idea what ASN.1 is, -see this: ftp://ftp.rsa.com/pub/pkcs/ascii/layman.asc - -The source is pretty much self-explanatory, and has read/write methods for the -common types out there. - -### Decoding - -The following reads an ASN.1 sequence with a boolean. - - var Ber = require('asn1').Ber; - - var reader = new Ber.Reader(new Buffer([0x30, 0x03, 0x01, 0x01, 0xff])); - - reader.readSequence(); - console.log('Sequence len: ' + reader.length); - if (reader.peek() === Ber.Boolean) - console.log(reader.readBoolean()); - -### Encoding - -The following generates the same payload as above. - - var Ber = require('asn1').Ber; - - var writer = new Ber.Writer(); - - writer.startSequence(); - writer.writeBoolean(true); - writer.endSequence(); - - console.log(writer.buffer); - -## Installation - - npm install asn1 - -## License - -MIT. - -## Bugs - -See . diff --git a/publi/node_modules/asn1/lib/ber/errors.js b/publi/node_modules/asn1/lib/ber/errors.js deleted file mode 100644 index ff21d4f..0000000 --- a/publi/node_modules/asn1/lib/ber/errors.js +++ /dev/null @@ -1,13 +0,0 @@ -// Copyright 2011 Mark Cavage All rights reserved. - - -module.exports = { - - newInvalidAsn1Error: function(msg) { - var e = new Error(); - e.name = 'InvalidAsn1Error'; - e.message = msg || ''; - return e; - } - -}; diff --git a/publi/node_modules/asn1/lib/ber/index.js b/publi/node_modules/asn1/lib/ber/index.js deleted file mode 100644 index 4fb90ae..0000000 --- a/publi/node_modules/asn1/lib/ber/index.js +++ /dev/null @@ -1,27 +0,0 @@ -// Copyright 2011 Mark Cavage All rights reserved. - -var errors = require('./errors'); -var types = require('./types'); - -var Reader = require('./reader'); -var Writer = require('./writer'); - - -///--- Exports - -module.exports = { - - Reader: Reader, - - Writer: Writer - -}; - -for (var t in types) { - if (types.hasOwnProperty(t)) - module.exports[t] = types[t]; -} -for (var e in errors) { - if (errors.hasOwnProperty(e)) - module.exports[e] = errors[e]; -} diff --git a/publi/node_modules/asn1/lib/ber/reader.js b/publi/node_modules/asn1/lib/ber/reader.js deleted file mode 100644 index 0a00e98..0000000 --- a/publi/node_modules/asn1/lib/ber/reader.js +++ /dev/null @@ -1,261 +0,0 @@ -// Copyright 2011 Mark Cavage All rights reserved. - -var assert = require('assert'); - -var ASN1 = require('./types'); -var errors = require('./errors'); - - -///--- Globals - -var newInvalidAsn1Error = errors.newInvalidAsn1Error; - - - -///--- API - -function Reader(data) { - if (!data || !Buffer.isBuffer(data)) - throw new TypeError('data must be a node Buffer'); - - this._buf = data; - this._size = data.length; - - // These hold the "current" state - this._len = 0; - this._offset = 0; -} - -Object.defineProperty(Reader.prototype, 'length', { - enumerable: true, - get: function () { return (this._len); } -}); - -Object.defineProperty(Reader.prototype, 'offset', { - enumerable: true, - get: function () { return (this._offset); } -}); - -Object.defineProperty(Reader.prototype, 'remain', { - get: function () { return (this._size - this._offset); } -}); - -Object.defineProperty(Reader.prototype, 'buffer', { - get: function () { return (this._buf.slice(this._offset)); } -}); - - -/** - * Reads a single byte and advances offset; you can pass in `true` to make this - * a "peek" operation (i.e., get the byte, but don't advance the offset). - * - * @param {Boolean} peek true means don't move offset. - * @return {Number} the next byte, null if not enough data. - */ -Reader.prototype.readByte = function(peek) { - if (this._size - this._offset < 1) - return null; - - var b = this._buf[this._offset] & 0xff; - - if (!peek) - this._offset += 1; - - return b; -}; - - -Reader.prototype.peek = function() { - return this.readByte(true); -}; - - -/** - * Reads a (potentially) variable length off the BER buffer. This call is - * not really meant to be called directly, as callers have to manipulate - * the internal buffer afterwards. - * - * As a result of this call, you can call `Reader.length`, until the - * next thing called that does a readLength. - * - * @return {Number} the amount of offset to advance the buffer. - * @throws {InvalidAsn1Error} on bad ASN.1 - */ -Reader.prototype.readLength = function(offset) { - if (offset === undefined) - offset = this._offset; - - if (offset >= this._size) - return null; - - var lenB = this._buf[offset++] & 0xff; - if (lenB === null) - return null; - - if ((lenB & 0x80) == 0x80) { - lenB &= 0x7f; - - if (lenB == 0) - throw newInvalidAsn1Error('Indefinite length not supported'); - - if (lenB > 4) - throw newInvalidAsn1Error('encoding too long'); - - if (this._size - offset < lenB) - return null; - - this._len = 0; - for (var i = 0; i < lenB; i++) - this._len = (this._len << 8) + (this._buf[offset++] & 0xff); - - } else { - // Wasn't a variable length - this._len = lenB; - } - - return offset; -}; - - -/** - * Parses the next sequence in this BER buffer. - * - * To get the length of the sequence, call `Reader.length`. - * - * @return {Number} the sequence's tag. - */ -Reader.prototype.readSequence = function(tag) { - var seq = this.peek(); - if (seq === null) - return null; - if (tag !== undefined && tag !== seq) - throw newInvalidAsn1Error('Expected 0x' + tag.toString(16) + - ': got 0x' + seq.toString(16)); - - var o = this.readLength(this._offset + 1); // stored in `length` - if (o === null) - return null; - - this._offset = o; - return seq; -}; - - -Reader.prototype.readInt = function() { - return this._readTag(ASN1.Integer); -}; - - -Reader.prototype.readBoolean = function() { - return (this._readTag(ASN1.Boolean) === 0 ? false : true); -}; - - -Reader.prototype.readEnumeration = function() { - return this._readTag(ASN1.Enumeration); -}; - - -Reader.prototype.readString = function(tag, retbuf) { - if (!tag) - tag = ASN1.OctetString; - - var b = this.peek(); - if (b === null) - return null; - - if (b !== tag) - throw newInvalidAsn1Error('Expected 0x' + tag.toString(16) + - ': got 0x' + b.toString(16)); - - var o = this.readLength(this._offset + 1); // stored in `length` - - if (o === null) - return null; - - if (this.length > this._size - o) - return null; - - this._offset = o; - - if (this.length === 0) - return retbuf ? new Buffer(0) : ''; - - var str = this._buf.slice(this._offset, this._offset + this.length); - this._offset += this.length; - - return retbuf ? str : str.toString('utf8'); -}; - -Reader.prototype.readOID = function(tag) { - if (!tag) - tag = ASN1.OID; - - var b = this.readString(tag, true); - if (b === null) - return null; - - var values = []; - var value = 0; - - for (var i = 0; i < b.length; i++) { - var byte = b[i] & 0xff; - - value <<= 7; - value += byte & 0x7f; - if ((byte & 0x80) == 0) { - values.push(value); - value = 0; - } - } - - value = values.shift(); - values.unshift(value % 40); - values.unshift((value / 40) >> 0); - - return values.join('.'); -}; - - -Reader.prototype._readTag = function(tag) { - assert.ok(tag !== undefined); - - var b = this.peek(); - - if (b === null) - return null; - - if (b !== tag) - throw newInvalidAsn1Error('Expected 0x' + tag.toString(16) + - ': got 0x' + b.toString(16)); - - var o = this.readLength(this._offset + 1); // stored in `length` - if (o === null) - return null; - - if (this.length > 4) - throw newInvalidAsn1Error('Integer too long: ' + this.length); - - if (this.length > this._size - o) - return null; - this._offset = o; - - var fb = this._buf[this._offset]; - var value = 0; - - for (var i = 0; i < this.length; i++) { - value <<= 8; - value |= (this._buf[this._offset++] & 0xff); - } - - if ((fb & 0x80) == 0x80 && i !== 4) - value -= (1 << (i * 8)); - - return value >> 0; -}; - - - -///--- Exported API - -module.exports = Reader; diff --git a/publi/node_modules/asn1/lib/ber/types.js b/publi/node_modules/asn1/lib/ber/types.js deleted file mode 100644 index 8aea000..0000000 --- a/publi/node_modules/asn1/lib/ber/types.js +++ /dev/null @@ -1,36 +0,0 @@ -// Copyright 2011 Mark Cavage All rights reserved. - - -module.exports = { - EOC: 0, - Boolean: 1, - Integer: 2, - BitString: 3, - OctetString: 4, - Null: 5, - OID: 6, - ObjectDescriptor: 7, - External: 8, - Real: 9, // float - Enumeration: 10, - PDV: 11, - Utf8String: 12, - RelativeOID: 13, - Sequence: 16, - Set: 17, - NumericString: 18, - PrintableString: 19, - T61String: 20, - VideotexString: 21, - IA5String: 22, - UTCTime: 23, - GeneralizedTime: 24, - GraphicString: 25, - VisibleString: 26, - GeneralString: 28, - UniversalString: 29, - CharacterString: 30, - BMPString: 31, - Constructor: 32, - Context: 128 -}; diff --git a/publi/node_modules/asn1/lib/ber/writer.js b/publi/node_modules/asn1/lib/ber/writer.js deleted file mode 100644 index d9d99af..0000000 --- a/publi/node_modules/asn1/lib/ber/writer.js +++ /dev/null @@ -1,316 +0,0 @@ -// Copyright 2011 Mark Cavage All rights reserved. - -var assert = require('assert'); -var ASN1 = require('./types'); -var errors = require('./errors'); - - -///--- Globals - -var newInvalidAsn1Error = errors.newInvalidAsn1Error; - -var DEFAULT_OPTS = { - size: 1024, - growthFactor: 8 -}; - - -///--- Helpers - -function merge(from, to) { - assert.ok(from); - assert.equal(typeof(from), 'object'); - assert.ok(to); - assert.equal(typeof(to), 'object'); - - var keys = Object.getOwnPropertyNames(from); - keys.forEach(function(key) { - if (to[key]) - return; - - var value = Object.getOwnPropertyDescriptor(from, key); - Object.defineProperty(to, key, value); - }); - - return to; -} - - - -///--- API - -function Writer(options) { - options = merge(DEFAULT_OPTS, options || {}); - - this._buf = new Buffer(options.size || 1024); - this._size = this._buf.length; - this._offset = 0; - this._options = options; - - // A list of offsets in the buffer where we need to insert - // sequence tag/len pairs. - this._seq = []; -} - -Object.defineProperty(Writer.prototype, 'buffer', { - get: function () { - if (this._seq.length) - throw new InvalidAsn1Error(this._seq.length + ' unended sequence(s)'); - - return (this._buf.slice(0, this._offset)); - } -}); - -Writer.prototype.writeByte = function(b) { - if (typeof(b) !== 'number') - throw new TypeError('argument must be a Number'); - - this._ensure(1); - this._buf[this._offset++] = b; -}; - - -Writer.prototype.writeInt = function(i, tag) { - if (typeof(i) !== 'number') - throw new TypeError('argument must be a Number'); - if (typeof(tag) !== 'number') - tag = ASN1.Integer; - - var sz = 4; - - while ((((i & 0xff800000) === 0) || ((i & 0xff800000) === 0xff800000 >> 0)) && - (sz > 1)) { - sz--; - i <<= 8; - } - - if (sz > 4) - throw new InvalidAsn1Error('BER ints cannot be > 0xffffffff'); - - this._ensure(2 + sz); - this._buf[this._offset++] = tag; - this._buf[this._offset++] = sz; - - while (sz-- > 0) { - this._buf[this._offset++] = ((i & 0xff000000) >>> 24); - i <<= 8; - } - -}; - - -Writer.prototype.writeNull = function() { - this.writeByte(ASN1.Null); - this.writeByte(0x00); -}; - - -Writer.prototype.writeEnumeration = function(i, tag) { - if (typeof(i) !== 'number') - throw new TypeError('argument must be a Number'); - if (typeof(tag) !== 'number') - tag = ASN1.Enumeration; - - return this.writeInt(i, tag); -}; - - -Writer.prototype.writeBoolean = function(b, tag) { - if (typeof(b) !== 'boolean') - throw new TypeError('argument must be a Boolean'); - if (typeof(tag) !== 'number') - tag = ASN1.Boolean; - - this._ensure(3); - this._buf[this._offset++] = tag; - this._buf[this._offset++] = 0x01; - this._buf[this._offset++] = b ? 0xff : 0x00; -}; - - -Writer.prototype.writeString = function(s, tag) { - if (typeof(s) !== 'string') - throw new TypeError('argument must be a string (was: ' + typeof(s) + ')'); - if (typeof(tag) !== 'number') - tag = ASN1.OctetString; - - var len = Buffer.byteLength(s); - this.writeByte(tag); - this.writeLength(len); - if (len) { - this._ensure(len); - this._buf.write(s, this._offset); - this._offset += len; - } -}; - - -Writer.prototype.writeBuffer = function(buf, tag) { - if (typeof(tag) !== 'number') - throw new TypeError('tag must be a number'); - if (!Buffer.isBuffer(buf)) - throw new TypeError('argument must be a buffer'); - - this.writeByte(tag); - this.writeLength(buf.length); - this._ensure(buf.length); - buf.copy(this._buf, this._offset, 0, buf.length); - this._offset += buf.length; -}; - - -Writer.prototype.writeStringArray = function(strings) { - if ((!strings instanceof Array)) - throw new TypeError('argument must be an Array[String]'); - - var self = this; - strings.forEach(function(s) { - self.writeString(s); - }); -}; - -// This is really to solve DER cases, but whatever for now -Writer.prototype.writeOID = function(s, tag) { - if (typeof(s) !== 'string') - throw new TypeError('argument must be a string'); - if (typeof(tag) !== 'number') - tag = ASN1.OID; - - if (!/^([0-9]+\.){3,}[0-9]+$/.test(s)) - throw new Error('argument is not a valid OID string'); - - function encodeOctet(bytes, octet) { - if (octet < 128) { - bytes.push(octet); - } else if (octet < 16384) { - bytes.push((octet >>> 7) | 0x80); - bytes.push(octet & 0x7F); - } else if (octet < 2097152) { - bytes.push((octet >>> 14) | 0x80); - bytes.push(((octet >>> 7) | 0x80) & 0xFF); - bytes.push(octet & 0x7F); - } else if (octet < 268435456) { - bytes.push((octet >>> 21) | 0x80); - bytes.push(((octet >>> 14) | 0x80) & 0xFF); - bytes.push(((octet >>> 7) | 0x80) & 0xFF); - bytes.push(octet & 0x7F); - } else { - bytes.push(((octet >>> 28) | 0x80) & 0xFF); - bytes.push(((octet >>> 21) | 0x80) & 0xFF); - bytes.push(((octet >>> 14) | 0x80) & 0xFF); - bytes.push(((octet >>> 7) | 0x80) & 0xFF); - bytes.push(octet & 0x7F); - } - } - - var tmp = s.split('.'); - var bytes = []; - bytes.push(parseInt(tmp[0], 10) * 40 + parseInt(tmp[1], 10)); - tmp.slice(2).forEach(function(b) { - encodeOctet(bytes, parseInt(b, 10)); - }); - - var self = this; - this._ensure(2 + bytes.length); - this.writeByte(tag); - this.writeLength(bytes.length); - bytes.forEach(function(b) { - self.writeByte(b); - }); -}; - - -Writer.prototype.writeLength = function(len) { - if (typeof(len) !== 'number') - throw new TypeError('argument must be a Number'); - - this._ensure(4); - - if (len <= 0x7f) { - this._buf[this._offset++] = len; - } else if (len <= 0xff) { - this._buf[this._offset++] = 0x81; - this._buf[this._offset++] = len; - } else if (len <= 0xffff) { - this._buf[this._offset++] = 0x82; - this._buf[this._offset++] = len >> 8; - this._buf[this._offset++] = len; - } else if (len <= 0xffffff) { - this._buf[this._offset++] = 0x83; - this._buf[this._offset++] = len >> 16; - this._buf[this._offset++] = len >> 8; - this._buf[this._offset++] = len; - } else { - throw new InvalidAsn1ERror('Length too long (> 4 bytes)'); - } -}; - -Writer.prototype.startSequence = function(tag) { - if (typeof(tag) !== 'number') - tag = ASN1.Sequence | ASN1.Constructor; - - this.writeByte(tag); - this._seq.push(this._offset); - this._ensure(3); - this._offset += 3; -}; - - -Writer.prototype.endSequence = function() { - var seq = this._seq.pop(); - var start = seq + 3; - var len = this._offset - start; - - if (len <= 0x7f) { - this._shift(start, len, -2); - this._buf[seq] = len; - } else if (len <= 0xff) { - this._shift(start, len, -1); - this._buf[seq] = 0x81; - this._buf[seq + 1] = len; - } else if (len <= 0xffff) { - this._buf[seq] = 0x82; - this._buf[seq + 1] = len >> 8; - this._buf[seq + 2] = len; - } else if (len <= 0xffffff) { - this._shift(start, len, 1); - this._buf[seq] = 0x83; - this._buf[seq + 1] = len >> 16; - this._buf[seq + 2] = len >> 8; - this._buf[seq + 3] = len; - } else { - throw new InvalidAsn1Error('Sequence too long'); - } -}; - - -Writer.prototype._shift = function(start, len, shift) { - assert.ok(start !== undefined); - assert.ok(len !== undefined); - assert.ok(shift); - - this._buf.copy(this._buf, start + shift, start, start + len); - this._offset += shift; -}; - -Writer.prototype._ensure = function(len) { - assert.ok(len); - - if (this._size - this._offset < len) { - var sz = this._size * this._options.growthFactor; - if (sz - this._offset < len) - sz += len; - - var buf = new Buffer(sz); - - this._buf.copy(buf, 0, 0, this._offset); - this._buf = buf; - this._size = sz; - } -}; - - - -///--- Exported API - -module.exports = Writer; diff --git a/publi/node_modules/asn1/lib/index.js b/publi/node_modules/asn1/lib/index.js deleted file mode 100644 index d1766e7..0000000 --- a/publi/node_modules/asn1/lib/index.js +++ /dev/null @@ -1,20 +0,0 @@ -// Copyright 2011 Mark Cavage All rights reserved. - -// If you have no idea what ASN.1 or BER is, see this: -// ftp://ftp.rsa.com/pub/pkcs/ascii/layman.asc - -var Ber = require('./ber/index'); - - - -///--- Exported API - -module.exports = { - - Ber: Ber, - - BerReader: Ber.Reader, - - BerWriter: Ber.Writer - -}; diff --git a/publi/node_modules/asn1/package.json b/publi/node_modules/asn1/package.json deleted file mode 100644 index 5acdf19..0000000 --- a/publi/node_modules/asn1/package.json +++ /dev/null @@ -1,99 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "asn1@~0.2.3", - "scope": null, - "escapedName": "asn1", - "name": "asn1", - "rawSpec": "~0.2.3", - "spec": ">=0.2.3 <0.3.0", - "type": "range" - }, - "/mnt/Data/bach/Documents/ola/OLA#4/OLA#4DOC/sys/node_modules/sshpk" - ] - ], - "_from": "asn1@>=0.2.3 <0.3.0", - "_id": "asn1@0.2.3", - "_inCache": true, - "_location": "/asn1", - "_npmUser": { - "name": "pfmooney", - "email": "patrick.f.mooney@gmail.com" - }, - "_npmVersion": "1.4.28", - "_phantomChildren": {}, - "_requested": { - "raw": "asn1@~0.2.3", - "scope": null, - "escapedName": "asn1", - "name": "asn1", - "rawSpec": "~0.2.3", - "spec": ">=0.2.3 <0.3.0", - "type": "range" - }, - "_requiredBy": [ - "/sshpk" - ], - "_resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz", - "_shasum": "dac8787713c9966849fc8180777ebe9c1ddf3b86", - "_shrinkwrap": null, - "_spec": "asn1@~0.2.3", - "_where": "/mnt/Data/bach/Documents/ola/OLA#4/OLA#4DOC/sys/node_modules/sshpk", - "author": { - "name": "Mark Cavage", - "email": "mcavage@gmail.com" - }, - "bugs": { - "url": "https://github.com/mcavage/node-asn1/issues" - }, - "contributors": [ - { - "name": "David Gwynne", - "email": "loki@animata.net" - }, - { - "name": "Yunong Xiao", - "email": "yunong@joyent.com" - }, - { - "name": "Alex Wilson", - "email": "alex.wilson@joyent.com" - } - ], - "dependencies": {}, - "description": "Contains parsers and serializers for ASN.1 (currently BER only)", - "devDependencies": { - "tap": "0.4.8" - }, - "directories": {}, - "dist": { - "shasum": "dac8787713c9966849fc8180777ebe9c1ddf3b86", - "tarball": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz" - }, - "homepage": "https://github.com/mcavage/node-asn1#readme", - "license": "MIT", - "main": "lib/index.js", - "maintainers": [ - { - "name": "mcavage", - "email": "mcavage@gmail.com" - }, - { - "name": "pfmooney", - "email": "patrick.f.mooney@gmail.com" - } - ], - "name": "asn1", - "optionalDependencies": {}, - "readme": "node-asn1 is a library for encoding and decoding ASN.1 datatypes in pure JS.\nCurrently BER encoding is supported; at some point I'll likely have to do DER.\n\n## Usage\n\nMostly, if you're *actually* needing to read and write ASN.1, you probably don't\nneed this readme to explain what and why. If you have no idea what ASN.1 is,\nsee this: ftp://ftp.rsa.com/pub/pkcs/ascii/layman.asc\n\nThe source is pretty much self-explanatory, and has read/write methods for the\ncommon types out there.\n\n### Decoding\n\nThe following reads an ASN.1 sequence with a boolean.\n\n var Ber = require('asn1').Ber;\n\n var reader = new Ber.Reader(new Buffer([0x30, 0x03, 0x01, 0x01, 0xff]));\n\n reader.readSequence();\n console.log('Sequence len: ' + reader.length);\n if (reader.peek() === Ber.Boolean)\n console.log(reader.readBoolean());\n\n### Encoding\n\nThe following generates the same payload as above.\n\n var Ber = require('asn1').Ber;\n\n var writer = new Ber.Writer();\n\n writer.startSequence();\n writer.writeBoolean(true);\n writer.endSequence();\n\n console.log(writer.buffer);\n\n## Installation\n\n npm install asn1\n\n## License\n\nMIT.\n\n## Bugs\n\nSee .\n", - "readmeFilename": "README.md", - "repository": { - "type": "git", - "url": "git://github.com/mcavage/node-asn1.git" - }, - "scripts": { - "test": "tap ./tst" - }, - "version": "0.2.3" -} diff --git a/publi/node_modules/asn1/tst/ber/reader.test.js b/publi/node_modules/asn1/tst/ber/reader.test.js deleted file mode 100644 index 062fd7e..0000000 --- a/publi/node_modules/asn1/tst/ber/reader.test.js +++ /dev/null @@ -1,208 +0,0 @@ -// Copyright 2011 Mark Cavage All rights reserved. - -var test = require('tap').test; - - - -///--- Globals - -var BerReader; - - - -///--- Tests - -test('load library', function(t) { - BerReader = require('../../lib/index').BerReader; - t.ok(BerReader); - try { - new BerReader(); - t.fail('Should have thrown'); - } catch (e) { - t.ok(e instanceof TypeError, 'Should have been a type error'); - } - t.end(); -}); - - -test('read byte', function(t) { - var reader = new BerReader(new Buffer([0xde])); - t.ok(reader); - t.equal(reader.readByte(), 0xde, 'wrong value'); - t.end(); -}); - - -test('read 1 byte int', function(t) { - var reader = new BerReader(new Buffer([0x02, 0x01, 0x03])); - t.ok(reader); - t.equal(reader.readInt(), 0x03, 'wrong value'); - t.equal(reader.length, 0x01, 'wrong length'); - t.end(); -}); - - -test('read 2 byte int', function(t) { - var reader = new BerReader(new Buffer([0x02, 0x02, 0x7e, 0xde])); - t.ok(reader); - t.equal(reader.readInt(), 0x7ede, 'wrong value'); - t.equal(reader.length, 0x02, 'wrong length'); - t.end(); -}); - - -test('read 3 byte int', function(t) { - var reader = new BerReader(new Buffer([0x02, 0x03, 0x7e, 0xde, 0x03])); - t.ok(reader); - t.equal(reader.readInt(), 0x7ede03, 'wrong value'); - t.equal(reader.length, 0x03, 'wrong length'); - t.end(); -}); - - -test('read 4 byte int', function(t) { - var reader = new BerReader(new Buffer([0x02, 0x04, 0x7e, 0xde, 0x03, 0x01])); - t.ok(reader); - t.equal(reader.readInt(), 0x7ede0301, 'wrong value'); - t.equal(reader.length, 0x04, 'wrong length'); - t.end(); -}); - - -test('read 1 byte negative int', function(t) { - var reader = new BerReader(new Buffer([0x02, 0x01, 0xdc])); - t.ok(reader); - t.equal(reader.readInt(), -36, 'wrong value'); - t.equal(reader.length, 0x01, 'wrong length'); - t.end(); -}); - - -test('read 2 byte negative int', function(t) { - var reader = new BerReader(new Buffer([0x02, 0x02, 0xc0, 0x4e])); - t.ok(reader); - t.equal(reader.readInt(), -16306, 'wrong value'); - t.equal(reader.length, 0x02, 'wrong length'); - t.end(); -}); - - -test('read 3 byte negative int', function(t) { - var reader = new BerReader(new Buffer([0x02, 0x03, 0xff, 0x00, 0x19])); - t.ok(reader); - t.equal(reader.readInt(), -65511, 'wrong value'); - t.equal(reader.length, 0x03, 'wrong length'); - t.end(); -}); - - -test('read 4 byte negative int', function(t) { - var reader = new BerReader(new Buffer([0x02, 0x04, 0x91, 0x7c, 0x22, 0x1f])); - t.ok(reader); - t.equal(reader.readInt(), -1854135777, 'wrong value'); - t.equal(reader.length, 0x04, 'wrong length'); - t.end(); -}); - - -test('read boolean true', function(t) { - var reader = new BerReader(new Buffer([0x01, 0x01, 0xff])); - t.ok(reader); - t.equal(reader.readBoolean(), true, 'wrong value'); - t.equal(reader.length, 0x01, 'wrong length'); - t.end(); -}); - - -test('read boolean false', function(t) { - var reader = new BerReader(new Buffer([0x01, 0x01, 0x00])); - t.ok(reader); - t.equal(reader.readBoolean(), false, 'wrong value'); - t.equal(reader.length, 0x01, 'wrong length'); - t.end(); -}); - - -test('read enumeration', function(t) { - var reader = new BerReader(new Buffer([0x0a, 0x01, 0x20])); - t.ok(reader); - t.equal(reader.readEnumeration(), 0x20, 'wrong value'); - t.equal(reader.length, 0x01, 'wrong length'); - t.end(); -}); - - -test('read string', function(t) { - var dn = 'cn=foo,ou=unit,o=test'; - var buf = new Buffer(dn.length + 2); - buf[0] = 0x04; - buf[1] = Buffer.byteLength(dn); - buf.write(dn, 2); - var reader = new BerReader(buf); - t.ok(reader); - t.equal(reader.readString(), dn, 'wrong value'); - t.equal(reader.length, dn.length, 'wrong length'); - t.end(); -}); - - -test('read sequence', function(t) { - var reader = new BerReader(new Buffer([0x30, 0x03, 0x01, 0x01, 0xff])); - t.ok(reader); - t.equal(reader.readSequence(), 0x30, 'wrong value'); - t.equal(reader.length, 0x03, 'wrong length'); - t.equal(reader.readBoolean(), true, 'wrong value'); - t.equal(reader.length, 0x01, 'wrong length'); - t.end(); -}); - - -test('anonymous LDAPv3 bind', function(t) { - var BIND = new Buffer(14); - BIND[0] = 0x30; // Sequence - BIND[1] = 12; // len - BIND[2] = 0x02; // ASN.1 Integer - BIND[3] = 1; // len - BIND[4] = 0x04; // msgid (make up 4) - BIND[5] = 0x60; // Bind Request - BIND[6] = 7; // len - BIND[7] = 0x02; // ASN.1 Integer - BIND[8] = 1; // len - BIND[9] = 0x03; // v3 - BIND[10] = 0x04; // String (bind dn) - BIND[11] = 0; // len - BIND[12] = 0x80; // ContextSpecific (choice) - BIND[13] = 0; // simple bind - - // Start testing ^^ - var ber = new BerReader(BIND); - t.equal(ber.readSequence(), 48, 'Not an ASN.1 Sequence'); - t.equal(ber.length, 12, 'Message length should be 12'); - t.equal(ber.readInt(), 4, 'Message id should have been 4'); - t.equal(ber.readSequence(), 96, 'Bind Request should have been 96'); - t.equal(ber.length, 7, 'Bind length should have been 7'); - t.equal(ber.readInt(), 3, 'LDAP version should have been 3'); - t.equal(ber.readString(), '', 'Bind DN should have been empty'); - t.equal(ber.length, 0, 'string length should have been 0'); - t.equal(ber.readByte(), 0x80, 'Should have been ContextSpecific (choice)'); - t.equal(ber.readByte(), 0, 'Should have been simple bind'); - t.equal(null, ber.readByte(), 'Should be out of data'); - t.end(); -}); - - -test('long string', function(t) { - var buf = new Buffer(256); - var o; - var s = - '2;649;CN=Red Hat CS 71GA Demo,O=Red Hat CS 71GA Demo,C=US;' + - 'CN=RHCS Agent - admin01,UID=admin01,O=redhat,C=US [1] This is ' + - 'Teena Vradmin\'s description.'; - buf[0] = 0x04; - buf[1] = 0x81; - buf[2] = 0x94; - buf.write(s, 3); - var ber = new BerReader(buf.slice(0, 3 + s.length)); - t.equal(ber.readString(), s); - t.end(); -}); diff --git a/publi/node_modules/asn1/tst/ber/writer.test.js b/publi/node_modules/asn1/tst/ber/writer.test.js deleted file mode 100644 index d87cb7b..0000000 --- a/publi/node_modules/asn1/tst/ber/writer.test.js +++ /dev/null @@ -1,370 +0,0 @@ -// Copyright 2011 Mark Cavage All rights reserved. - -var test = require('tap').test; -var sys = require('sys'); - -///--- Globals - -var BerWriter; - -var BerReader; - - -///--- Tests - -test('load library', function(t) { - BerWriter = require('../../lib/index').BerWriter; - t.ok(BerWriter); - t.ok(new BerWriter()); - t.end(); -}); - - -test('write byte', function(t) { - var writer = new BerWriter(); - - writer.writeByte(0xC2); - var ber = writer.buffer; - - t.ok(ber); - t.equal(ber.length, 1, 'Wrong length'); - t.equal(ber[0], 0xC2, 'value wrong'); - - t.end(); -}); - - -test('write 1 byte int', function(t) { - var writer = new BerWriter(); - - writer.writeInt(0x7f); - var ber = writer.buffer; - - t.ok(ber); - t.equal(ber.length, 3, 'Wrong length for an int: ' + ber.length); - t.equal(ber[0], 0x02, 'ASN.1 tag wrong (2) -> ' + ber[0]); - t.equal(ber[1], 0x01, 'length wrong(1) -> ' + ber[1]); - t.equal(ber[2], 0x7f, 'value wrong(3) -> ' + ber[2]); - - t.end(); -}); - - -test('write 2 byte int', function(t) { - var writer = new BerWriter(); - - writer.writeInt(0x7ffe); - var ber = writer.buffer; - - t.ok(ber); - t.equal(ber.length, 4, 'Wrong length for an int'); - t.equal(ber[0], 0x02, 'ASN.1 tag wrong'); - t.equal(ber[1], 0x02, 'length wrong'); - t.equal(ber[2], 0x7f, 'value wrong (byte 1)'); - t.equal(ber[3], 0xfe, 'value wrong (byte 2)'); - - t.end(); -}); - - -test('write 3 byte int', function(t) { - var writer = new BerWriter(); - - writer.writeInt(0x7ffffe); - var ber = writer.buffer; - - t.ok(ber); - t.equal(ber.length, 5, 'Wrong length for an int'); - t.equal(ber[0], 0x02, 'ASN.1 tag wrong'); - t.equal(ber[1], 0x03, 'length wrong'); - t.equal(ber[2], 0x7f, 'value wrong (byte 1)'); - t.equal(ber[3], 0xff, 'value wrong (byte 2)'); - t.equal(ber[4], 0xfe, 'value wrong (byte 3)'); - - t.end(); -}); - - -test('write 4 byte int', function(t) { - var writer = new BerWriter(); - - writer.writeInt(0x7ffffffe); - var ber = writer.buffer; - - t.ok(ber); - - t.equal(ber.length, 6, 'Wrong length for an int'); - t.equal(ber[0], 0x02, 'ASN.1 tag wrong'); - t.equal(ber[1], 0x04, 'length wrong'); - t.equal(ber[2], 0x7f, 'value wrong (byte 1)'); - t.equal(ber[3], 0xff, 'value wrong (byte 2)'); - t.equal(ber[4], 0xff, 'value wrong (byte 3)'); - t.equal(ber[5], 0xfe, 'value wrong (byte 4)'); - - t.end(); -}); - - -test('write 1 byte negative int', function(t) { - var writer = new BerWriter(); - - writer.writeInt(-128); - var ber = writer.buffer; - - t.ok(ber); - - t.equal(ber.length, 3, 'Wrong length for an int'); - t.equal(ber[0], 0x02, 'ASN.1 tag wrong'); - t.equal(ber[1], 0x01, 'length wrong'); - t.equal(ber[2], 0x80, 'value wrong (byte 1)'); - - t.end(); -}); - - -test('write 2 byte negative int', function(t) { - var writer = new BerWriter(); - - writer.writeInt(-22400); - var ber = writer.buffer; - - t.ok(ber); - - t.equal(ber.length, 4, 'Wrong length for an int'); - t.equal(ber[0], 0x02, 'ASN.1 tag wrong'); - t.equal(ber[1], 0x02, 'length wrong'); - t.equal(ber[2], 0xa8, 'value wrong (byte 1)'); - t.equal(ber[3], 0x80, 'value wrong (byte 2)'); - - t.end(); -}); - - -test('write 3 byte negative int', function(t) { - var writer = new BerWriter(); - - writer.writeInt(-481653); - var ber = writer.buffer; - - t.ok(ber); - - t.equal(ber.length, 5, 'Wrong length for an int'); - t.equal(ber[0], 0x02, 'ASN.1 tag wrong'); - t.equal(ber[1], 0x03, 'length wrong'); - t.equal(ber[2], 0xf8, 'value wrong (byte 1)'); - t.equal(ber[3], 0xa6, 'value wrong (byte 2)'); - t.equal(ber[4], 0x8b, 'value wrong (byte 3)'); - - t.end(); -}); - - -test('write 4 byte negative int', function(t) { - var writer = new BerWriter(); - - writer.writeInt(-1522904131); - var ber = writer.buffer; - - t.ok(ber); - - t.equal(ber.length, 6, 'Wrong length for an int'); - t.equal(ber[0], 0x02, 'ASN.1 tag wrong'); - t.equal(ber[1], 0x04, 'length wrong'); - t.equal(ber[2], 0xa5, 'value wrong (byte 1)'); - t.equal(ber[3], 0x3a, 'value wrong (byte 2)'); - t.equal(ber[4], 0x53, 'value wrong (byte 3)'); - t.equal(ber[5], 0xbd, 'value wrong (byte 4)'); - - t.end(); -}); - - -test('write boolean', function(t) { - var writer = new BerWriter(); - - writer.writeBoolean(true); - writer.writeBoolean(false); - var ber = writer.buffer; - - t.ok(ber); - t.equal(ber.length, 6, 'Wrong length'); - t.equal(ber[0], 0x01, 'tag wrong'); - t.equal(ber[1], 0x01, 'length wrong'); - t.equal(ber[2], 0xff, 'value wrong'); - t.equal(ber[3], 0x01, 'tag wrong'); - t.equal(ber[4], 0x01, 'length wrong'); - t.equal(ber[5], 0x00, 'value wrong'); - - t.end(); -}); - - -test('write string', function(t) { - var writer = new BerWriter(); - writer.writeString('hello world'); - var ber = writer.buffer; - - t.ok(ber); - t.equal(ber.length, 13, 'wrong length'); - t.equal(ber[0], 0x04, 'wrong tag'); - t.equal(ber[1], 11, 'wrong length'); - t.equal(ber.slice(2).toString('utf8'), 'hello world', 'wrong value'); - - t.end(); -}); - -test('write buffer', function(t) { - var writer = new BerWriter(); - // write some stuff to start with - writer.writeString('hello world'); - var ber = writer.buffer; - var buf = new Buffer([0x04, 0x0b, 0x30, 0x09, 0x02, 0x01, 0x0f, 0x01, 0x01, - 0xff, 0x01, 0x01, 0xff]); - writer.writeBuffer(buf.slice(2, buf.length), 0x04); - ber = writer.buffer; - - t.ok(ber); - t.equal(ber.length, 26, 'wrong length'); - t.equal(ber[0], 0x04, 'wrong tag'); - t.equal(ber[1], 11, 'wrong length'); - t.equal(ber.slice(2, 13).toString('utf8'), 'hello world', 'wrong value'); - t.equal(ber[13], buf[0], 'wrong tag'); - t.equal(ber[14], buf[1], 'wrong length'); - for (var i = 13, j = 0; i < ber.length && j < buf.length; i++, j++) { - t.equal(ber[i], buf[j], 'buffer contents not identical'); - } - t.end(); -}); - -test('write string array', function(t) { - var writer = new BerWriter(); - writer.writeStringArray(['hello world', 'fubar!']); - var ber = writer.buffer; - - t.ok(ber); - - t.equal(ber.length, 21, 'wrong length'); - t.equal(ber[0], 0x04, 'wrong tag'); - t.equal(ber[1], 11, 'wrong length'); - t.equal(ber.slice(2, 13).toString('utf8'), 'hello world', 'wrong value'); - - t.equal(ber[13], 0x04, 'wrong tag'); - t.equal(ber[14], 6, 'wrong length'); - t.equal(ber.slice(15).toString('utf8'), 'fubar!', 'wrong value'); - - t.end(); -}); - - -test('resize internal buffer', function(t) { - var writer = new BerWriter({size: 2}); - writer.writeString('hello world'); - var ber = writer.buffer; - - t.ok(ber); - t.equal(ber.length, 13, 'wrong length'); - t.equal(ber[0], 0x04, 'wrong tag'); - t.equal(ber[1], 11, 'wrong length'); - t.equal(ber.slice(2).toString('utf8'), 'hello world', 'wrong value'); - - t.end(); -}); - - -test('sequence', function(t) { - var writer = new BerWriter({size: 25}); - writer.startSequence(); - writer.writeString('hello world'); - writer.endSequence(); - var ber = writer.buffer; - - t.ok(ber); - console.log(ber); - t.equal(ber.length, 15, 'wrong length'); - t.equal(ber[0], 0x30, 'wrong tag'); - t.equal(ber[1], 13, 'wrong length'); - t.equal(ber[2], 0x04, 'wrong tag'); - t.equal(ber[3], 11, 'wrong length'); - t.equal(ber.slice(4).toString('utf8'), 'hello world', 'wrong value'); - - t.end(); -}); - - -test('nested sequence', function(t) { - var writer = new BerWriter({size: 25}); - writer.startSequence(); - writer.writeString('hello world'); - writer.startSequence(); - writer.writeString('hello world'); - writer.endSequence(); - writer.endSequence(); - var ber = writer.buffer; - - t.ok(ber); - t.equal(ber.length, 30, 'wrong length'); - t.equal(ber[0], 0x30, 'wrong tag'); - t.equal(ber[1], 28, 'wrong length'); - t.equal(ber[2], 0x04, 'wrong tag'); - t.equal(ber[3], 11, 'wrong length'); - t.equal(ber.slice(4, 15).toString('utf8'), 'hello world', 'wrong value'); - t.equal(ber[15], 0x30, 'wrong tag'); - t.equal(ber[16], 13, 'wrong length'); - t.equal(ber[17], 0x04, 'wrong tag'); - t.equal(ber[18], 11, 'wrong length'); - t.equal(ber.slice(19, 30).toString('utf8'), 'hello world', 'wrong value'); - - t.end(); -}); - - -test('LDAP bind message', function(t) { - var dn = 'cn=foo,ou=unit,o=test'; - var writer = new BerWriter(); - writer.startSequence(); - writer.writeInt(3); // msgid = 3 - writer.startSequence(0x60); // ldap bind - writer.writeInt(3); // ldap v3 - writer.writeString(dn); - writer.writeByte(0x80); - writer.writeByte(0x00); - writer.endSequence(); - writer.endSequence(); - var ber = writer.buffer; - - t.ok(ber); - t.equal(ber.length, 35, 'wrong length (buffer)'); - t.equal(ber[0], 0x30, 'wrong tag'); - t.equal(ber[1], 33, 'wrong length'); - t.equal(ber[2], 0x02, 'wrong tag'); - t.equal(ber[3], 1, 'wrong length'); - t.equal(ber[4], 0x03, 'wrong value'); - t.equal(ber[5], 0x60, 'wrong tag'); - t.equal(ber[6], 28, 'wrong length'); - t.equal(ber[7], 0x02, 'wrong tag'); - t.equal(ber[8], 1, 'wrong length'); - t.equal(ber[9], 0x03, 'wrong value'); - t.equal(ber[10], 0x04, 'wrong tag'); - t.equal(ber[11], dn.length, 'wrong length'); - t.equal(ber.slice(12, 33).toString('utf8'), dn, 'wrong value'); - t.equal(ber[33], 0x80, 'wrong tag'); - t.equal(ber[34], 0x00, 'wrong len'); - - t.end(); -}); - - -test('Write OID', function(t) { - var oid = '1.2.840.113549.1.1.1'; - var writer = new BerWriter(); - writer.writeOID(oid); - - var ber = writer.buffer; - t.ok(ber); - console.log(require('util').inspect(ber)); - console.log(require('util').inspect(new Buffer([0x06, 0x09, 0x2a, 0x86, - 0x48, 0x86, 0xf7, 0x0d, - 0x01, 0x01, 0x01]))); - - t.end(); -}); diff --git a/publi/node_modules/assert-plus/AUTHORS b/publi/node_modules/assert-plus/AUTHORS deleted file mode 100644 index 1923524..0000000 --- a/publi/node_modules/assert-plus/AUTHORS +++ /dev/null @@ -1,6 +0,0 @@ -Dave Eddy -Fred Kuo -Lars-Magnus Skog -Mark Cavage -Patrick Mooney -Rob Gulewich diff --git a/publi/node_modules/assert-plus/CHANGES.md b/publi/node_modules/assert-plus/CHANGES.md deleted file mode 100644 index d249d9b..0000000 --- a/publi/node_modules/assert-plus/CHANGES.md +++ /dev/null @@ -1,8 +0,0 @@ -# assert-plus Changelog - -## 0.2.0 - -- Fix `assert.object(null)` so it throws -- Fix optional/arrayOf exports for non-type-of asserts -- Add optiona/arrayOf exports for Stream/Date/Regex/uuid -- Add basic unit test coverage diff --git a/publi/node_modules/assert-plus/README.md b/publi/node_modules/assert-plus/README.md deleted file mode 100644 index 0b39593..0000000 --- a/publi/node_modules/assert-plus/README.md +++ /dev/null @@ -1,155 +0,0 @@ -# assert-plus - -This library is a super small wrapper over node's assert module that has two -things: (1) the ability to disable assertions with the environment variable -NODE\_NDEBUG, and (2) some API wrappers for argument testing. Like -`assert.string(myArg, 'myArg')`. As a simple example, most of my code looks -like this: - -```javascript - var assert = require('assert-plus'); - - function fooAccount(options, callback) { - assert.object(options, 'options'); - assert.number(options.id, 'options.id'); - assert.bool(options.isManager, 'options.isManager'); - assert.string(options.name, 'options.name'); - assert.arrayOfString(options.email, 'options.email'); - assert.func(callback, 'callback'); - - // Do stuff - callback(null, {}); - } -``` - -# API - -All methods that *aren't* part of node's core assert API are simply assumed to -take an argument, and then a string 'name' that's not a message; `AssertionError` -will be thrown if the assertion fails with a message like: - - AssertionError: foo (string) is required - at test (/home/mark/work/foo/foo.js:3:9) - at Object. (/home/mark/work/foo/foo.js:15:1) - at Module._compile (module.js:446:26) - at Object..js (module.js:464:10) - at Module.load (module.js:353:31) - at Function._load (module.js:311:12) - at Array.0 (module.js:484:10) - at EventEmitter._tickCallback (node.js:190:38) - -from: - -```javascript - function test(foo) { - assert.string(foo, 'foo'); - } -``` - -There you go. You can check that arrays are of a homogeneous type with `Arrayof$Type`: - -```javascript - function test(foo) { - assert.arrayOfString(foo, 'foo'); - } -``` - -You can assert IFF an argument is not `undefined` (i.e., an optional arg): - -```javascript - assert.optionalString(foo, 'foo'); -``` - -Lastly, you can opt-out of assertion checking altogether by setting the -environment variable `NODE_NDEBUG=1`. This is pseudo-useful if you have -lots of assertions, and don't want to pay `typeof ()` taxes to v8 in -production. Be advised: The standard functions re-exported from `assert` are -also disabled in assert-plus if NDEBUG is specified. Using them directly from -the `assert` module avoids this behavior. - -The complete list of APIs is: - -* assert.array -* assert.bool -* assert.buffer -* assert.func -* assert.number -* assert.object -* assert.string -* assert.stream -* assert.date -* assert.regex -* assert.uuid -* assert.arrayOfArray -* assert.arrayOfBool -* assert.arrayOfBuffer -* assert.arrayOfFunc -* assert.arrayOfNumber -* assert.arrayOfObject -* assert.arrayOfString -* assert.arrayOfStream -* assert.arrayOfDate -* assert.arrayOfUuid -* assert.optionalArray -* assert.optionalBool -* assert.optionalBuffer -* assert.optionalFunc -* assert.optionalNumber -* assert.optionalObject -* assert.optionalString -* assert.optionalStream -* assert.optionalDate -* assert.optionalUuid -* assert.optionalArrayOfArray -* assert.optionalArrayOfBool -* assert.optionalArrayOfBuffer -* assert.optionalArrayOfFunc -* assert.optionalArrayOfNumber -* assert.optionalArrayOfObject -* assert.optionalArrayOfString -* assert.optionalArrayOfStream -* assert.optionalArrayOfDate -* assert.optionalArrayOfUuid -* assert.AssertionError -* assert.fail -* assert.ok -* assert.equal -* assert.notEqual -* assert.deepEqual -* assert.notDeepEqual -* assert.strictEqual -* assert.notStrictEqual -* assert.throws -* assert.doesNotThrow -* assert.ifError - -# Installation - - npm install assert-plus - -## License - -The MIT License (MIT) -Copyright (c) 2012 Mark Cavage - -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. - -## Bugs - -See . diff --git a/publi/node_modules/assert-plus/assert.js b/publi/node_modules/assert-plus/assert.js deleted file mode 100644 index 6bce4d8..0000000 --- a/publi/node_modules/assert-plus/assert.js +++ /dev/null @@ -1,206 +0,0 @@ -// Copyright (c) 2012, Mark Cavage. All rights reserved. -// Copyright 2015 Joyent, Inc. - -var assert = require('assert'); -var Stream = require('stream').Stream; -var util = require('util'); - - -///--- Globals - -/* JSSTYLED */ -var UUID_REGEXP = /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/; - - -///--- Internal - -function _capitalize(str) { - return (str.charAt(0).toUpperCase() + str.slice(1)); -} - -function _toss(name, expected, oper, arg, actual) { - throw new assert.AssertionError({ - message: util.format('%s (%s) is required', name, expected), - actual: (actual === undefined) ? typeof (arg) : actual(arg), - expected: expected, - operator: oper || '===', - stackStartFunction: _toss.caller - }); -} - -function _getClass(arg) { - return (Object.prototype.toString.call(arg).slice(8, -1)); -} - -function noop() { - // Why even bother with asserts? -} - - -///--- Exports - -var types = { - bool: { - check: function (arg) { return typeof (arg) === 'boolean'; } - }, - func: { - check: function (arg) { return typeof (arg) === 'function'; } - }, - string: { - check: function (arg) { return typeof (arg) === 'string'; } - }, - object: { - check: function (arg) { - return typeof (arg) === 'object' && arg !== null; - } - }, - number: { - check: function (arg) { - return typeof (arg) === 'number' && !isNaN(arg) && isFinite(arg); - } - }, - buffer: { - check: function (arg) { return Buffer.isBuffer(arg); }, - operator: 'Buffer.isBuffer' - }, - array: { - check: function (arg) { return Array.isArray(arg); }, - operator: 'Array.isArray' - }, - stream: { - check: function (arg) { return arg instanceof Stream; }, - operator: 'instanceof', - actual: _getClass - }, - date: { - check: function (arg) { return arg instanceof Date; }, - operator: 'instanceof', - actual: _getClass - }, - regexp: { - check: function (arg) { return arg instanceof RegExp; }, - operator: 'instanceof', - actual: _getClass - }, - uuid: { - check: function (arg) { - return typeof (arg) === 'string' && UUID_REGEXP.test(arg); - }, - operator: 'isUUID' - } -}; - -function _setExports(ndebug) { - var keys = Object.keys(types); - var out; - - /* re-export standard assert */ - if (process.env.NODE_NDEBUG) { - out = noop; - } else { - out = function (arg, msg) { - if (!arg) { - _toss(msg, 'true', arg); - } - }; - } - - /* standard checks */ - keys.forEach(function (k) { - if (ndebug) { - out[k] = noop; - return; - } - var type = types[k]; - out[k] = function (arg, msg) { - if (!type.check(arg)) { - _toss(msg, k, type.operator, arg, type.actual); - } - }; - }); - - /* optional checks */ - keys.forEach(function (k) { - var name = 'optional' + _capitalize(k); - if (ndebug) { - out[name] = noop; - return; - } - var type = types[k]; - out[name] = function (arg, msg) { - if (arg === undefined || arg === null) { - return; - } - if (!type.check(arg)) { - _toss(msg, k, type.operator, arg, type.actual); - } - }; - }); - - /* arrayOf checks */ - keys.forEach(function (k) { - var name = 'arrayOf' + _capitalize(k); - if (ndebug) { - out[name] = noop; - return; - } - var type = types[k]; - var expected = '[' + k + ']'; - out[name] = function (arg, msg) { - if (!Array.isArray(arg)) { - _toss(msg, expected, type.operator, arg, type.actual); - } - var i; - for (i = 0; i < arg.length; i++) { - if (!type.check(arg[i])) { - _toss(msg, expected, type.operator, arg, type.actual); - } - } - }; - }); - - /* optionalArrayOf checks */ - keys.forEach(function (k) { - var name = 'optionalArrayOf' + _capitalize(k); - if (ndebug) { - out[name] = noop; - return; - } - var type = types[k]; - var expected = '[' + k + ']'; - out[name] = function (arg, msg) { - if (arg === undefined || arg === null) { - return; - } - if (!Array.isArray(arg)) { - _toss(msg, expected, type.operator, arg, type.actual); - } - var i; - for (i = 0; i < arg.length; i++) { - if (!type.check(arg[i])) { - _toss(msg, expected, type.operator, arg, type.actual); - } - } - }; - }); - - /* re-export built-in assertions */ - Object.keys(assert).forEach(function (k) { - if (k === 'AssertionError') { - out[k] = assert[k]; - return; - } - if (ndebug) { - out[k] = noop; - return; - } - out[k] = assert[k]; - }); - - /* export ourselves (for unit tests _only_) */ - out._setExports = _setExports; - - return out; -} - -module.exports = _setExports(process.env.NODE_NDEBUG); diff --git a/publi/node_modules/assert-plus/package.json b/publi/node_modules/assert-plus/package.json deleted file mode 100644 index 08e7e3a..0000000 --- a/publi/node_modules/assert-plus/package.json +++ /dev/null @@ -1,116 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "assert-plus@^0.2.0", - "scope": null, - "escapedName": "assert-plus", - "name": "assert-plus", - "rawSpec": "^0.2.0", - "spec": ">=0.2.0 <0.3.0", - "type": "range" - }, - "/mnt/Data/bach/Documents/ola/OLA#4/OLA#4DOC/sys/node_modules/http-signature" - ] - ], - "_from": "assert-plus@>=0.2.0 <0.3.0", - "_id": "assert-plus@0.2.0", - "_inCache": true, - "_location": "/assert-plus", - "_nodeVersion": "0.10.36", - "_npmUser": { - "name": "pfmooney", - "email": "patrick.f.mooney@gmail.com" - }, - "_npmVersion": "3.3.8", - "_phantomChildren": {}, - "_requested": { - "raw": "assert-plus@^0.2.0", - "scope": null, - "escapedName": "assert-plus", - "name": "assert-plus", - "rawSpec": "^0.2.0", - "spec": ">=0.2.0 <0.3.0", - "type": "range" - }, - "_requiredBy": [ - "/http-signature" - ], - "_resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz", - "_shasum": "d74e1b87e7affc0db8aadb7021f3fe48101ab234", - "_shrinkwrap": null, - "_spec": "assert-plus@^0.2.0", - "_where": "/mnt/Data/bach/Documents/ola/OLA#4/OLA#4DOC/sys/node_modules/http-signature", - "author": { - "name": "Mark Cavage", - "email": "mcavage@gmail.com" - }, - "bugs": { - "url": "https://github.com/mcavage/node-assert-plus/issues" - }, - "contributors": [ - { - "name": "Dave Eddy", - "email": "dave@daveeddy.com" - }, - { - "name": "Fred Kuo", - "email": "fred.kuo@joyent.com" - }, - { - "name": "Lars-Magnus Skog", - "email": "ralphtheninja@riseup.net" - }, - { - "name": "Mark Cavage", - "email": "mcavage@gmail.com" - }, - { - "name": "Patrick Mooney", - "email": "pmooney@pfmooney.com" - }, - { - "name": "Rob Gulewich", - "email": "robert.gulewich@joyent.com" - } - ], - "dependencies": {}, - "description": "Extra assertions on top of node's assert module", - "devDependencies": { - "faucet": "0.0.1", - "tape": "4.2.2" - }, - "directories": {}, - "dist": { - "shasum": "d74e1b87e7affc0db8aadb7021f3fe48101ab234", - "tarball": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz" - }, - "engines": { - "node": ">=0.8" - }, - "homepage": "https://github.com/mcavage/node-assert-plus#readme", - "license": "MIT", - "main": "./assert.js", - "maintainers": [ - { - "name": "mcavage", - "email": "mcavage@gmail.com" - }, - { - "name": "pfmooney", - "email": "patrick.f.mooney@gmail.com" - } - ], - "name": "assert-plus", - "optionalDependencies": {}, - "readme": "# assert-plus\n\nThis library is a super small wrapper over node's assert module that has two\nthings: (1) the ability to disable assertions with the environment variable\nNODE\\_NDEBUG, and (2) some API wrappers for argument testing. Like\n`assert.string(myArg, 'myArg')`. As a simple example, most of my code looks\nlike this:\n\n```javascript\n var assert = require('assert-plus');\n\n function fooAccount(options, callback) {\n assert.object(options, 'options');\n assert.number(options.id, 'options.id');\n assert.bool(options.isManager, 'options.isManager');\n assert.string(options.name, 'options.name');\n assert.arrayOfString(options.email, 'options.email');\n assert.func(callback, 'callback');\n\n // Do stuff\n callback(null, {});\n }\n```\n\n# API\n\nAll methods that *aren't* part of node's core assert API are simply assumed to\ntake an argument, and then a string 'name' that's not a message; `AssertionError`\nwill be thrown if the assertion fails with a message like:\n\n AssertionError: foo (string) is required\n at test (/home/mark/work/foo/foo.js:3:9)\n at Object. (/home/mark/work/foo/foo.js:15:1)\n at Module._compile (module.js:446:26)\n at Object..js (module.js:464:10)\n at Module.load (module.js:353:31)\n at Function._load (module.js:311:12)\n at Array.0 (module.js:484:10)\n at EventEmitter._tickCallback (node.js:190:38)\n\nfrom:\n\n```javascript\n function test(foo) {\n assert.string(foo, 'foo');\n }\n```\n\nThere you go. You can check that arrays are of a homogeneous type with `Arrayof$Type`:\n\n```javascript\n function test(foo) {\n assert.arrayOfString(foo, 'foo');\n }\n```\n\nYou can assert IFF an argument is not `undefined` (i.e., an optional arg):\n\n```javascript\n assert.optionalString(foo, 'foo');\n```\n\nLastly, you can opt-out of assertion checking altogether by setting the\nenvironment variable `NODE_NDEBUG=1`. This is pseudo-useful if you have\nlots of assertions, and don't want to pay `typeof ()` taxes to v8 in\nproduction. Be advised: The standard functions re-exported from `assert` are\nalso disabled in assert-plus if NDEBUG is specified. Using them directly from\nthe `assert` module avoids this behavior.\n\nThe complete list of APIs is:\n\n* assert.array\n* assert.bool\n* assert.buffer\n* assert.func\n* assert.number\n* assert.object\n* assert.string\n* assert.stream\n* assert.date\n* assert.regex\n* assert.uuid\n* assert.arrayOfArray\n* assert.arrayOfBool\n* assert.arrayOfBuffer\n* assert.arrayOfFunc\n* assert.arrayOfNumber\n* assert.arrayOfObject\n* assert.arrayOfString\n* assert.arrayOfStream\n* assert.arrayOfDate\n* assert.arrayOfUuid\n* assert.optionalArray\n* assert.optionalBool\n* assert.optionalBuffer\n* assert.optionalFunc\n* assert.optionalNumber\n* assert.optionalObject\n* assert.optionalString\n* assert.optionalStream\n* assert.optionalDate\n* assert.optionalUuid\n* assert.optionalArrayOfArray\n* assert.optionalArrayOfBool\n* assert.optionalArrayOfBuffer\n* assert.optionalArrayOfFunc\n* assert.optionalArrayOfNumber\n* assert.optionalArrayOfObject\n* assert.optionalArrayOfString\n* assert.optionalArrayOfStream\n* assert.optionalArrayOfDate\n* assert.optionalArrayOfUuid\n* assert.AssertionError\n* assert.fail\n* assert.ok\n* assert.equal\n* assert.notEqual\n* assert.deepEqual\n* assert.notDeepEqual\n* assert.strictEqual\n* assert.notStrictEqual\n* assert.throws\n* assert.doesNotThrow\n* assert.ifError\n\n# Installation\n\n npm install assert-plus\n\n## License\n\nThe MIT License (MIT)\nCopyright (c) 2012 Mark Cavage\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of\nthis software and associated documentation files (the \"Software\"), to deal in\nthe Software without restriction, including without limitation the rights to\nuse, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\nthe Software, and to permit persons to whom the Software is furnished to do so,\nsubject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n\n## Bugs\n\nSee .\n", - "readmeFilename": "README.md", - "repository": { - "type": "git", - "url": "git+https://github.com/mcavage/node-assert-plus.git" - }, - "scripts": { - "test": "tape tests/*.js | ./node_modules/.bin/faucet" - }, - "version": "0.2.0" -} diff --git a/publi/node_modules/async-each/.npmignore b/publi/node_modules/async-each/.npmignore deleted file mode 100644 index 3887b2b..0000000 --- a/publi/node_modules/async-each/.npmignore +++ /dev/null @@ -1,3 +0,0 @@ -bower.json -component.json -CHANGELOG.md diff --git a/publi/node_modules/async-each/CHANGELOG.md b/publi/node_modules/async-each/CHANGELOG.md deleted file mode 100644 index bee2548..0000000 --- a/publi/node_modules/async-each/CHANGELOG.md +++ /dev/null @@ -1,23 +0,0 @@ -# async-each 1.0.0 (26 November 2015) -* Bumped version to 1.0.0 (no functional changes) - -# async-each 0.1.6 (5 November 2014) -* Add license to package.json - -# async-each 0.1.5 (22 October 2014) -* Clean up package.json to fix npm warning about `repo` - -# async-each 0.1.4 (12 November 2013) -* Fixed AMD definition. - -# async-each 0.1.3 (25 July 2013) -* Fixed double wrapping of errors. - -# async-each 0.1.2 (7 July 2013) -* Fixed behaviour on empty arrays. - -# async-each 0.1.1 (14 June 2013) -* Wrapped function in closure, enabled strict mode. - -# async-each 0.1.0 (14 June 2013) -* Initial release. diff --git a/publi/node_modules/async-each/README.md b/publi/node_modules/async-each/README.md deleted file mode 100644 index a79cbd7..0000000 --- a/publi/node_modules/async-each/README.md +++ /dev/null @@ -1,38 +0,0 @@ -# async-each - -No-bullshit, ultra-simple, 35-lines-of-code async parallel forEach function for JavaScript. - -We don't need junky 30K async libs. Really. - -For browsers and node.js. - -## Installation -* Just include async-each before your scripts. -* `npm install async-each` if you’re using node.js. -* `bower install async-each` if you’re using [Bower](http://bower.io). - -## Usage - -* `each(array, iterator, callback);` — `Array`, `Function`, `(optional) Function` -* `iterator(item, next)` receives current item and a callback that will mark the item as done. `next` callback receives optional `error, transformedItem` arguments. -* `callback(error, transformedArray)` optionally receives first error and transformed result `Array`. - -Node.js: - -```javascript -var each = require('async-each'); -each(['a.js', 'b.js', 'c.js'], fs.readFile, function(error, contents) { - if (error) console.error(error); - console.log('Contents for a, b and c:', contents); -}); -``` - -Browser: - -```javascript -window.asyncEach(list, fn, callback); -``` - -## License - -[The MIT License](https://raw.githubusercontent.com/paulmillr/mit/master/README.md) diff --git a/publi/node_modules/async-each/index.js b/publi/node_modules/async-each/index.js deleted file mode 100644 index 1c51c95..0000000 --- a/publi/node_modules/async-each/index.js +++ /dev/null @@ -1,38 +0,0 @@ -// async-each MIT license (by Paul Miller from http://paulmillr.com). -(function(globals) { - 'use strict'; - var each = function(items, next, callback) { - if (!Array.isArray(items)) throw new TypeError('each() expects array as first argument'); - if (typeof next !== 'function') throw new TypeError('each() expects function as second argument'); - if (typeof callback !== 'function') callback = Function.prototype; // no-op - - if (items.length === 0) return callback(undefined, items); - - var transformed = new Array(items.length); - var count = 0; - var returned = false; - - items.forEach(function(item, index) { - next(item, function(error, transformedItem) { - if (returned) return; - if (error) { - returned = true; - return callback(error); - } - transformed[index] = transformedItem; - count += 1; - if (count === items.length) return callback(undefined, transformed); - }); - }); - }; - - if (typeof define !== 'undefined' && define.amd) { - define([], function() { - return each; - }); // RequireJS - } else if (typeof module !== 'undefined' && module.exports) { - module.exports = each; // CommonJS - } else { - globals.asyncEach = each; // - -``` - -In the browser, you can attach the forEach method to any object. - -```html - - - -``` - -## The General Idea (Why I thought this was worth sharing) - -The idea is to allow the callback to decide _at runtime_ whether the loop will be synchronous or asynchronous. By using `this` in a creative way (in situations where that value isn't already spoken for), an entire control API can be offered without over-complicating function signatures. - -```javascript -forEach(arr, function(item, index) { - // Synchronous. -}); - -forEach(arr, function(item, index) { - // Only when `this.async` is called does iteration becomes asynchronous. The - // loop won't be continued until the `done` function is executed. - var done = this.async(); - // Continue in one second. - setTimeout(done, 1000); -}); - -forEach(arr, function(item, index) { - // Break out of synchronous iteration early by returning false. - return index !== 1; -}); - -forEach(arr, function(item, index) { - // Break out of asynchronous iteration early... - var done = this.async(); - // ...by passing false to the done function. - setTimeout(function() { - done(index !== 1); - }); -}); -``` - -## Examples -See the unit tests for more examples. - -```javascript -// Generic "done" callback. -function allDone(notAborted, arr) { - console.log("done", notAborted, arr); -} - -// Synchronous. -forEach(["a", "b", "c"], function(item, index, arr) { - console.log("each", item, index, arr); -}, allDone); -// logs: -// each a 0 ["a", "b", "c"] -// each b 1 ["a", "b", "c"] -// each c 2 ["a", "b", "c"] -// done true ["a", "b", "c"] - -// Synchronous with early abort. -forEach(["a", "b", "c"], function(item, index, arr) { - console.log("each", item, index, arr); - if (item === "b") { return false; } -}, allDone); -// logs: -// each a 0 ["a", "b", "c"] -// each b 1 ["a", "b", "c"] -// done false ["a", "b", "c"] - -// Asynchronous. -forEach(["a", "b", "c"], function(item, index, arr) { - console.log("each", item, index, arr); - var done = this.async(); - setTimeout(function() { - done(); - }, 500); -}, allDone); -// logs: -// each a 0 ["a", "b", "c"] -// each b 1 ["a", "b", "c"] -// each c 2 ["a", "b", "c"] -// done true ["a", "b", "c"] - -// Asynchronous with early abort. -forEach(["a", "b", "c"], function(item, index, arr) { - console.log("each", item, index, arr); - var done = this.async(); - setTimeout(function() { - done(item !== "b"); - }, 500); -}, allDone); -// logs: -// each a 0 ["a", "b", "c"] -// each b 1 ["a", "b", "c"] -// done false ["a", "b", "c"] - -// Not actually asynchronous. -forEach(["a", "b", "c"], function(item, index, arr) { - console.log("each", item, index, arr); - var done = this.async() - done(); -}, allDone); -// logs: -// each a 0 ["a", "b", "c"] -// each b 1 ["a", "b", "c"] -// each c 2 ["a", "b", "c"] -// done true ["a", "b", "c"] - -// Not actually asynchronous with early abort. -forEach(["a", "b", "c"], function(item, index, arr) { - console.log("each", item, index, arr); - var done = this.async(); - done(item !== "b"); -}, allDone); -// logs: -// each a 0 ["a", "b", "c"] -// each b 1 ["a", "b", "c"] -// done false ["a", "b", "c"] -``` - -## Contributing -In lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code using [grunt](https://github.com/cowboy/grunt). - -_Also, please don't edit files in the "dist" subdirectory as they are generated via grunt. You'll find source code in the "lib" subdirectory!_ - -## Release History - -04/29/2013 -v0.1.3 -Removed hard Node.js version dependency. - -11/17/2011 -v0.1.2 -Adding sparse array support. -Invalid length properties are now sanitized. -This closes issue #1 (like a boss). - -11/11/2011 -v0.1.1 -Refactored code to be much simpler. Yay for unit tests! - -11/11/2011 -v0.1.0 -Initial Release. - -## License -Copyright (c) 2012 "Cowboy" Ben Alman -Licensed under the MIT license. - diff --git a/publi/node_modules/async-foreach/dist/ba-foreach.js b/publi/node_modules/async-foreach/dist/ba-foreach.js deleted file mode 100644 index 64c6eb8..0000000 --- a/publi/node_modules/async-foreach/dist/ba-foreach.js +++ /dev/null @@ -1,58 +0,0 @@ -/* JavaScript Sync/Async forEach - v0.1.2 - 1/10/2012 - * http://github.com/cowboy/javascript-sync-async-foreach - * Copyright (c) 2012 "Cowboy" Ben Alman; Licensed MIT */ - -(function(exports) { - - // Iterate synchronously or asynchronously. - exports.forEach = function(arr, eachFn, doneFn) { - var i = -1; - // Resolve array length to a valid (ToUint32) number. - var len = arr.length >>> 0; - - // This IIFE is called once now, and then again, by name, for each loop - // iteration. - (function next(result) { - // This flag will be set to true if `this.async` is called inside the - // eachFn` callback. - var async; - // Was false returned from the `eachFn` callback or passed to the - // `this.async` done function? - var abort = result === false; - - // Increment counter variable and skip any indices that don't exist. This - // allows sparse arrays to be iterated. - do { ++i; } while (!(i in arr) && i !== len); - - // Exit if result passed to `this.async` done function or returned from - // the `eachFn` callback was false, or when done iterating. - if (abort || i === len) { - // If a `doneFn` callback was specified, invoke that now. Pass in a - // boolean value representing "not aborted" state along with the array. - if (doneFn) { - doneFn(!abort, arr); - } - return; - } - - // Invoke the `eachFn` callback, setting `this` inside the callback to a - // custom object that contains one method, and passing in the array item, - // index, and the array. - result = eachFn.call({ - // If `this.async` is called inside the `eachFn` callback, set the async - // flag and return a function that can be used to continue iterating. - async: function() { - async = true; - return next; - } - }, arr[i], i, arr); - - // If the async flag wasn't set, continue by calling `next` synchronously, - // passing in the result of the `eachFn` callback. - if (!async) { - next(result); - } - }()); - }; - -}(typeof exports === "object" && exports || this)); \ No newline at end of file diff --git a/publi/node_modules/async-foreach/dist/ba-foreach.min.js b/publi/node_modules/async-foreach/dist/ba-foreach.min.js deleted file mode 100644 index c218a91..0000000 --- a/publi/node_modules/async-foreach/dist/ba-foreach.min.js +++ /dev/null @@ -1,4 +0,0 @@ -/* JavaScript Sync/Async forEach - v0.1.2 - 1/10/2012 - * http://github.com/cowboy/javascript-sync-async-foreach - * Copyright (c) 2012 "Cowboy" Ben Alman; Licensed MIT */ -(function(a){a.forEach=function(a,b,c){var d=-1,e=a.length>>>0;(function f(g){var h,j=g===!1;do++d;while(!(d in a)&&d!==e);if(j||d===e){c&&c(!j,a);return}g=b.call({async:function(){return h=!0,f}},a[d],d,a),h||f(g)})()}})(typeof exports=="object"&&exports||this) \ No newline at end of file diff --git a/publi/node_modules/async-foreach/grunt.js b/publi/node_modules/async-foreach/grunt.js deleted file mode 100644 index 079a23a..0000000 --- a/publi/node_modules/async-foreach/grunt.js +++ /dev/null @@ -1,48 +0,0 @@ -/*global config:true, task:true*/ -config.init({ - pkg: '', - meta: { - title: 'JavaScript Sync/Async forEach', - license: ['MIT'], - copyright: 'Copyright (c) 2012 "Cowboy" Ben Alman', - banner: '/* {{meta.title}} - v{{pkg.version}} - {{today "m/d/yyyy"}}\n' + - ' * {{pkg.homepage}}\n' + - ' * {{{meta.copyright}}}; Licensed {{join meta.license}} */' - }, - concat: { - 'dist/ba-foreach.js': ['', ''] - }, - min: { - 'dist/ba-foreach.min.js': ['', 'dist/ba-foreach.js'] - }, - test: { - files: ['test/**/*.js'] - }, - lint: { - files: ['grunt.js', 'lib/**/*.js', 'test/**/*.js'] - }, - watch: { - files: '', - tasks: 'lint:files test:files' - }, - jshint: { - options: { - curly: true, - eqeqeq: true, - immed: true, - latedef: true, - newcap: true, - noarg: true, - sub: true, - undef: true, - eqnull: true - }, - globals: { - exports: true - } - }, - uglify: {} -}); - -// Default task. -task.registerTask('default', 'lint:files test:files concat min'); diff --git a/publi/node_modules/async-foreach/lib/foreach.js b/publi/node_modules/async-foreach/lib/foreach.js deleted file mode 100644 index 9ee98b0..0000000 --- a/publi/node_modules/async-foreach/lib/foreach.js +++ /dev/null @@ -1,63 +0,0 @@ -/*! - * Sync/Async forEach - * https://github.com/cowboy/javascript-sync-async-foreach - * - * Copyright (c) 2012 "Cowboy" Ben Alman - * Licensed under the MIT license. - * http://benalman.com/about/license/ - */ - -(function(exports) { - - // Iterate synchronously or asynchronously. - exports.forEach = function(arr, eachFn, doneFn) { - var i = -1; - // Resolve array length to a valid (ToUint32) number. - var len = arr.length >>> 0; - - // This IIFE is called once now, and then again, by name, for each loop - // iteration. - (function next(result) { - // This flag will be set to true if `this.async` is called inside the - // eachFn` callback. - var async; - // Was false returned from the `eachFn` callback or passed to the - // `this.async` done function? - var abort = result === false; - - // Increment counter variable and skip any indices that don't exist. This - // allows sparse arrays to be iterated. - do { ++i; } while (!(i in arr) && i !== len); - - // Exit if result passed to `this.async` done function or returned from - // the `eachFn` callback was false, or when done iterating. - if (abort || i === len) { - // If a `doneFn` callback was specified, invoke that now. Pass in a - // boolean value representing "not aborted" state along with the array. - if (doneFn) { - doneFn(!abort, arr); - } - return; - } - - // Invoke the `eachFn` callback, setting `this` inside the callback to a - // custom object that contains one method, and passing in the array item, - // index, and the array. - result = eachFn.call({ - // If `this.async` is called inside the `eachFn` callback, set the async - // flag and return a function that can be used to continue iterating. - async: function() { - async = true; - return next; - } - }, arr[i], i, arr); - - // If the async flag wasn't set, continue by calling `next` synchronously, - // passing in the result of the `eachFn` callback. - if (!async) { - next(result); - } - }()); - }; - -}(typeof exports === "object" && exports || this)); \ No newline at end of file diff --git a/publi/node_modules/async-foreach/package.json b/publi/node_modules/async-foreach/package.json deleted file mode 100644 index e11f817..0000000 --- a/publi/node_modules/async-foreach/package.json +++ /dev/null @@ -1,85 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "async-foreach@^0.1.3", - "scope": null, - "escapedName": "async-foreach", - "name": "async-foreach", - "rawSpec": "^0.1.3", - "spec": ">=0.1.3 <0.2.0", - "type": "range" - }, - "/mnt/Data/bach/Documents/ola/OLA#4/OLA#4DOC/sys/node_modules/node-sass" - ] - ], - "_from": "async-foreach@>=0.1.3 <0.2.0", - "_id": "async-foreach@0.1.3", - "_inCache": true, - "_location": "/async-foreach", - "_npmUser": { - "name": "cowboy", - "email": "cowboy@rj3.net" - }, - "_npmVersion": "1.1.70", - "_phantomChildren": {}, - "_requested": { - "raw": "async-foreach@^0.1.3", - "scope": null, - "escapedName": "async-foreach", - "name": "async-foreach", - "rawSpec": "^0.1.3", - "spec": ">=0.1.3 <0.2.0", - "type": "range" - }, - "_requiredBy": [ - "/node-sass" - ], - "_resolved": "https://registry.npmjs.org/async-foreach/-/async-foreach-0.1.3.tgz", - "_shasum": "36121f845c0578172de419a97dbeb1d16ec34542", - "_shrinkwrap": null, - "_spec": "async-foreach@^0.1.3", - "_where": "/mnt/Data/bach/Documents/ola/OLA#4/OLA#4DOC/sys/node_modules/node-sass", - "author": { - "name": "\"Cowboy\" Ben Alman", - "url": "http://benalman.com/" - }, - "bugs": { - "url": "https://github.com/cowboy/javascript-sync-async-foreach/issues" - }, - "dependencies": {}, - "description": "An optionally-asynchronous forEach with an interesting interface.", - "devDependencies": {}, - "directories": {}, - "dist": { - "shasum": "36121f845c0578172de419a97dbeb1d16ec34542", - "tarball": "https://registry.npmjs.org/async-foreach/-/async-foreach-0.1.3.tgz" - }, - "engines": { - "node": "*" - }, - "homepage": "http://github.com/cowboy/javascript-sync-async-foreach", - "keywords": [ - "array", - "loop", - "sync", - "async", - "foreach" - ], - "main": "lib/foreach", - "maintainers": [ - { - "name": "cowboy", - "email": "cowboy@rj3.net" - } - ], - "name": "async-foreach", - "optionalDependencies": {}, - "readme": "# JavaScript Sync/Async forEach\n\nAn optionally-asynchronous forEach with an interesting interface.\n\n## Getting Started\n\nThis code should work just fine in Node.js:\n\nFirst, install the module with: `npm install async-foreach`\n\n```javascript\nvar forEach = require('async-foreach').forEach;\nforEach([\"a\", \"b\", \"c\"], function(item, index, arr) {\n console.log(\"each\", item, index, arr);\n});\n// logs:\n// each a 0 [\"a\", \"b\", \"c\"]\n// each b 1 [\"a\", \"b\", \"c\"]\n// each c 2 [\"a\", \"b\", \"c\"]\n```\n\nOr in the browser:\n\n```html\n\n\n```\n\nIn the browser, you can attach the forEach method to any object.\n\n```html\n\n\n\n```\n\n## The General Idea (Why I thought this was worth sharing)\n\nThe idea is to allow the callback to decide _at runtime_ whether the loop will be synchronous or asynchronous. By using `this` in a creative way (in situations where that value isn't already spoken for), an entire control API can be offered without over-complicating function signatures.\n\n```javascript\nforEach(arr, function(item, index) {\n // Synchronous.\n});\n\nforEach(arr, function(item, index) {\n // Only when `this.async` is called does iteration becomes asynchronous. The\n // loop won't be continued until the `done` function is executed.\n var done = this.async();\n // Continue in one second.\n setTimeout(done, 1000);\n});\n\nforEach(arr, function(item, index) {\n // Break out of synchronous iteration early by returning false.\n return index !== 1;\n});\n\nforEach(arr, function(item, index) {\n // Break out of asynchronous iteration early...\n var done = this.async();\n // ...by passing false to the done function.\n setTimeout(function() {\n done(index !== 1);\n });\n});\n```\n\n## Examples\nSee the unit tests for more examples.\n\n```javascript\n// Generic \"done\" callback.\nfunction allDone(notAborted, arr) {\n console.log(\"done\", notAborted, arr);\n}\n\n// Synchronous.\nforEach([\"a\", \"b\", \"c\"], function(item, index, arr) {\n console.log(\"each\", item, index, arr);\n}, allDone);\n// logs:\n// each a 0 [\"a\", \"b\", \"c\"]\n// each b 1 [\"a\", \"b\", \"c\"]\n// each c 2 [\"a\", \"b\", \"c\"]\n// done true [\"a\", \"b\", \"c\"]\n\n// Synchronous with early abort.\nforEach([\"a\", \"b\", \"c\"], function(item, index, arr) {\n console.log(\"each\", item, index, arr);\n if (item === \"b\") { return false; }\n}, allDone);\n// logs:\n// each a 0 [\"a\", \"b\", \"c\"]\n// each b 1 [\"a\", \"b\", \"c\"]\n// done false [\"a\", \"b\", \"c\"]\n\n// Asynchronous.\nforEach([\"a\", \"b\", \"c\"], function(item, index, arr) {\n console.log(\"each\", item, index, arr);\n var done = this.async();\n setTimeout(function() {\n done();\n }, 500);\n}, allDone);\n// logs:\n// each a 0 [\"a\", \"b\", \"c\"]\n// each b 1 [\"a\", \"b\", \"c\"]\n// each c 2 [\"a\", \"b\", \"c\"]\n// done true [\"a\", \"b\", \"c\"]\n\n// Asynchronous with early abort.\nforEach([\"a\", \"b\", \"c\"], function(item, index, arr) {\n console.log(\"each\", item, index, arr);\n var done = this.async();\n setTimeout(function() {\n done(item !== \"b\");\n }, 500);\n}, allDone);\n// logs:\n// each a 0 [\"a\", \"b\", \"c\"]\n// each b 1 [\"a\", \"b\", \"c\"]\n// done false [\"a\", \"b\", \"c\"]\n\n// Not actually asynchronous.\nforEach([\"a\", \"b\", \"c\"], function(item, index, arr) {\n console.log(\"each\", item, index, arr);\n var done = this.async()\n done();\n}, allDone);\n// logs:\n// each a 0 [\"a\", \"b\", \"c\"]\n// each b 1 [\"a\", \"b\", \"c\"]\n// each c 2 [\"a\", \"b\", \"c\"]\n// done true [\"a\", \"b\", \"c\"]\n\n// Not actually asynchronous with early abort.\nforEach([\"a\", \"b\", \"c\"], function(item, index, arr) {\n console.log(\"each\", item, index, arr);\n var done = this.async();\n done(item !== \"b\");\n}, allDone);\n// logs:\n// each a 0 [\"a\", \"b\", \"c\"]\n// each b 1 [\"a\", \"b\", \"c\"]\n// done false [\"a\", \"b\", \"c\"]\n```\n\n## Contributing\nIn lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code using [grunt](https://github.com/cowboy/grunt).\n\n_Also, please don't edit files in the \"dist\" subdirectory as they are generated via grunt. You'll find source code in the \"lib\" subdirectory!_\n\n## Release History\n\n04/29/2013\nv0.1.3\nRemoved hard Node.js version dependency.\n\n11/17/2011\nv0.1.2\nAdding sparse array support.\nInvalid length properties are now sanitized.\nThis closes issue #1 (like a boss).\n\n11/11/2011\nv0.1.1\nRefactored code to be much simpler. Yay for unit tests!\n\n11/11/2011\nv0.1.0\nInitial Release.\n\n## License\nCopyright (c) 2012 \"Cowboy\" Ben Alman \nLicensed under the MIT license. \n\n", - "readmeFilename": "README.md", - "repository": { - "type": "git", - "url": "git://github.com/cowboy/javascript-sync-async-foreach.git" - }, - "version": "0.1.3" -} diff --git a/publi/node_modules/async-foreach/test/foreach_test.js b/publi/node_modules/async-foreach/test/foreach_test.js deleted file mode 100644 index be18c43..0000000 --- a/publi/node_modules/async-foreach/test/foreach_test.js +++ /dev/null @@ -1,200 +0,0 @@ -/*global require:true, setTimeout:true */ -var forEach = require('../lib/foreach').forEach; - -exports['foreach'] = { - setUp: function(done) { - this.order = []; - this.track = function() { - [].push.apply(this.order, arguments); - }; - done(); - }, - 'Synchronous': function(test) { - test.expect(1); - var that = this; - - var arr = ["a", "b", "c"]; - forEach(arr, function(item, index, arr) { - that.track("each", item, index, arr); - }); - - test.deepEqual(that.order, [ - "each", "a", 0, arr, - "each", "b", 1, arr, - "each", "c", 2, arr - ], "should call eachFn for each array item, in order."); - test.done(); - }, - 'Synchronous, done': function(test) { - test.expect(1); - var that = this; - - var arr = ["a", "b", "c"]; - forEach(arr, function(item, index, arr) { - that.track("each", item, index, arr); - }, function(notAborted, arr) { - that.track("done", notAborted, arr); - }); - - test.deepEqual(that.order, [ - "each", "a", 0, arr, - "each", "b", 1, arr, - "each", "c", 2, arr, - "done", true, arr - ], "should call eachFn for each array item, in order, followed by doneFn."); - test.done(); - }, - 'Synchronous, early abort': function(test) { - test.expect(1); - var that = this; - - var arr = ["a", "b", "c"]; - forEach(arr, function(item, index, arr) { - that.track("each", item, index, arr); - if (item === "b") { return false; } - }, function(notAborted, arr) { - that.track("done", notAborted, arr); - }); - - test.deepEqual(that.order, [ - "each", "a", 0, arr, - "each", "b", 1, arr, - "done", false, arr - ], "should call eachFn for each array item, in order, followed by doneFn."); - test.done(); - }, - 'Asynchronous': function(test) { - test.expect(1); - var that = this; - - var arr = ["a", "b", "c"]; - forEach(arr, function(item, index, arr) { - that.track("each", item, index, arr); - var done = this.async(); - setTimeout(done, 10); - }); - - setTimeout(function() { - test.deepEqual(that.order, [ - "each", "a", 0, arr, - "each", "b", 1, arr, - "each", "c", 2, arr - ], "should call eachFn for each array item, in order."); - test.done(); - }, 100); - }, - 'Asynchronous, done': function(test) { - test.expect(1); - var that = this; - - var arr = ["a", "b", "c"]; - forEach(arr, function(item, index, arr) { - that.track("each", item, index, arr); - var done = this.async(); - setTimeout(done, 10); - }, function(notAborted, arr) { - that.track("done", notAborted, arr); - test.deepEqual(that.order, [ - "each", "a", 0, arr, - "each", "b", 1, arr, - "each", "c", 2, arr, - "done", true, arr - ], "should call eachFn for each array item, in order, followed by doneFn."); - test.done(); - }); - }, - 'Asynchronous, early abort': function(test) { - test.expect(1); - var that = this; - - var arr = ["a", "b", "c"]; - forEach(arr, function(item, index, arr) { - that.track("each", item, index, arr); - var done = this.async(); - setTimeout(function() { - done(item !== "b"); - }, 10); - }, function(notAborted, arr) { - that.track("done", notAborted, arr); - test.deepEqual(that.order, [ - "each", "a", 0, arr, - "each", "b", 1, arr, - "done", false, arr - ], "should call eachFn for each array item, in order, followed by doneFn."); - test.done(); - }); - }, - 'Not actually asynchronous': function(test) { - test.expect(1); - var that = this; - - var arr = ["a", "b", "c"]; - forEach(arr, function(item, index, arr) { - that.track("each", item, index, arr); - var done = this.async(); - done(); - }, function(notAborted, arr) { - that.track("done", notAborted, arr); - test.deepEqual(that.order, [ - "each", "a", 0, arr, - "each", "b", 1, arr, - "each", "c", 2, arr, - "done", true, arr - ], "should call eachFn for each array item, in order, followed by doneFn."); - test.done(); - }); - }, - 'Not actually asynchronous, early abort': function(test) { - test.expect(1); - var that = this; - - var arr = ["a", "b", "c"]; - forEach(arr, function(item, index, arr) { - that.track("each", item, index, arr); - var done = this.async(); - done(item !== "b"); - }, function(notAborted, arr) { - that.track("done", notAborted, arr); - test.deepEqual(that.order, [ - "each", "a", 0, arr, - "each", "b", 1, arr, - "done", false, arr - ], "should call eachFn for each array item, in order, followed by doneFn."); - test.done(); - }); - }, - 'Sparse array support': function(test) { - test.expect(1); - var that = this; - - var arr = []; - arr[0] = "a"; - arr[9] = "z"; - - forEach(arr, function(item, index, arr) { - that.track("each", item, index, arr); - }); - - test.deepEqual(that.order, [ - "each", "a", 0, arr, - "each", "z", 9, arr - ], "should skip nonexistent array items."); - test.done(); - }, - 'Invalid length sanitization': function(test) { - test.expect(1); - var that = this; - - var obj = {length: 4294967299, 0: "a", 2: "b", 3: "c" }; - - forEach(obj, function(item, index, arr) { - that.track("each", item, index, arr); - }); - - test.deepEqual(that.order, [ - "each", "a", 0, obj, - "each", "b", 2, obj - ], "should sanitize length property (ToUint32)."); - test.done(); - } -}; diff --git a/publi/node_modules/asynckit/LICENSE b/publi/node_modules/asynckit/LICENSE deleted file mode 100644 index c9eca5d..0000000 --- a/publi/node_modules/asynckit/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2016 Alex Indigo - -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/publi/node_modules/asynckit/README.md b/publi/node_modules/asynckit/README.md deleted file mode 100644 index ddcc7e6..0000000 --- a/publi/node_modules/asynckit/README.md +++ /dev/null @@ -1,233 +0,0 @@ -# asynckit [![NPM Module](https://img.shields.io/npm/v/asynckit.svg?style=flat)](https://www.npmjs.com/package/asynckit) - -Minimal async jobs utility library, with streams support. - -[![PhantomJS Build](https://img.shields.io/travis/alexindigo/asynckit/v0.4.0.svg?label=browser&style=flat)](https://travis-ci.org/alexindigo/asynckit) -[![Linux Build](https://img.shields.io/travis/alexindigo/asynckit/v0.4.0.svg?label=linux:0.12-6.x&style=flat)](https://travis-ci.org/alexindigo/asynckit) -[![Windows Build](https://img.shields.io/appveyor/ci/alexindigo/asynckit/v0.4.0.svg?label=windows:0.12-6.x&style=flat)](https://ci.appveyor.com/project/alexindigo/asynckit) - -[![Coverage Status](https://img.shields.io/coveralls/alexindigo/asynckit/v0.4.0.svg?label=code+coverage&style=flat)](https://coveralls.io/github/alexindigo/asynckit?branch=master) -[![Dependency Status](https://img.shields.io/david/alexindigo/asynckit/v0.4.0.svg?style=flat)](https://david-dm.org/alexindigo/asynckit) -[![bitHound Overall Score](https://www.bithound.io/github/alexindigo/asynckit/badges/score.svg)](https://www.bithound.io/github/alexindigo/asynckit) - - - -AsyncKit provides harness for `parallel` and `serial` iterators over list of items represented by arrays or objects. -Optionally it accepts abort function (should be synchronously return by iterator for each item), and terminates left over jobs upon an error event. For specific iteration order built-in (`ascending` and `descending`) and custom sort helpers also supported, via `asynckit.serialOrdered` method. - -It ensures async operations to keep behavior more stable and prevent `Maximum call stack size exceeded` errors, from sync iterators. - -| compression | size | -| :----------------- | -------: | -| asynckit.js | 12.34 kB | -| asynckit.min.js | 4.11 kB | -| asynckit.min.js.gz | 1.47 kB | - - -## Install - -```sh -$ npm install --save asynckit -``` - -## Examples - -### Parallel Jobs - -Runs iterator over provided array in parallel. Stores output in the `result` array, -on the matching positions. In unlikely event of an error from one of the jobs, -will terminate rest of the active jobs (if abort function is provided) -and return error along with salvaged data to the main callback function. - -#### Input Array - -```javascript -var parallel = require('asynckit').parallel - , assert = require('assert') - ; - -var source = [ 1, 1, 4, 16, 64, 32, 8, 2 ] - , expectedResult = [ 2, 2, 8, 32, 128, 64, 16, 4 ] - , expectedTarget = [ 1, 1, 2, 4, 8, 16, 32, 64 ] - , target = [] - ; - -parallel(source, asyncJob, function(err, result) -{ - assert.deepEqual(result, expectedResult); - assert.deepEqual(target, expectedTarget); -}); - -// async job accepts one element from the array -// and a callback function -function asyncJob(item, cb) -{ - // different delays (in ms) per item - var delay = item * 25; - - // pretend different jobs take different time to finish - // and not in consequential order - var timeoutId = setTimeout(function() { - target.push(item); - cb(null, item * 2); - }, delay); - - // allow to cancel "leftover" jobs upon error - // return function, invoking of which will abort this job - return clearTimeout.bind(null, timeoutId); -} -``` - -More examples could be found in [test/test-parallel-array.js](test/test-parallel-array.js). - -#### Input Object - -Also it supports named jobs, listed via object. - -```javascript -var parallel = require('asynckit/parallel') - , assert = require('assert') - ; - -var source = { first: 1, one: 1, four: 4, sixteen: 16, sixtyFour: 64, thirtyTwo: 32, eight: 8, two: 2 } - , expectedResult = { first: 2, one: 2, four: 8, sixteen: 32, sixtyFour: 128, thirtyTwo: 64, eight: 16, two: 4 } - , expectedTarget = [ 1, 1, 2, 4, 8, 16, 32, 64 ] - , expectedKeys = [ 'first', 'one', 'two', 'four', 'eight', 'sixteen', 'thirtyTwo', 'sixtyFour' ] - , target = [] - , keys = [] - ; - -parallel(source, asyncJob, function(err, result) -{ - assert.deepEqual(result, expectedResult); - assert.deepEqual(target, expectedTarget); - assert.deepEqual(keys, expectedKeys); -}); - -// supports full value, key, callback (shortcut) interface -function asyncJob(item, key, cb) -{ - // different delays (in ms) per item - var delay = item * 25; - - // pretend different jobs take different time to finish - // and not in consequential order - var timeoutId = setTimeout(function() { - keys.push(key); - target.push(item); - cb(null, item * 2); - }, delay); - - // allow to cancel "leftover" jobs upon error - // return function, invoking of which will abort this job - return clearTimeout.bind(null, timeoutId); -} -``` - -More examples could be found in [test/test-parallel-object.js](test/test-parallel-object.js). - -### Serial Jobs - -Runs iterator over provided array sequentially. Stores output in the `result` array, -on the matching positions. In unlikely event of an error from one of the jobs, -will not proceed to the rest of the items in the list -and return error along with salvaged data to the main callback function. - -#### Input Array - -```javascript -var serial = require('asynckit/serial') - , assert = require('assert') - ; - -var source = [ 1, 1, 4, 16, 64, 32, 8, 2 ] - , expectedResult = [ 2, 2, 8, 32, 128, 64, 16, 4 ] - , expectedTarget = [ 0, 1, 2, 3, 4, 5, 6, 7 ] - , target = [] - ; - -serial(source, asyncJob, function(err, result) -{ - assert.deepEqual(result, expectedResult); - assert.deepEqual(target, expectedTarget); -}); - -// extended interface (item, key, callback) -// also supported for arrays -function asyncJob(item, key, cb) -{ - target.push(key); - - // it will be automatically made async - // even it iterator "returns" in the same event loop - cb(null, item * 2); -} -``` - -More examples could be found in [test/test-serial-array.js](test/test-serial-array.js). - -#### Input Object - -Also it supports named jobs, listed via object. - -```javascript -var serial = require('asynckit').serial - , assert = require('assert') - ; - -var source = [ 1, 1, 4, 16, 64, 32, 8, 2 ] - , expectedResult = [ 2, 2, 8, 32, 128, 64, 16, 4 ] - , expectedTarget = [ 0, 1, 2, 3, 4, 5, 6, 7 ] - , target = [] - ; - -var source = { first: 1, one: 1, four: 4, sixteen: 16, sixtyFour: 64, thirtyTwo: 32, eight: 8, two: 2 } - , expectedResult = { first: 2, one: 2, four: 8, sixteen: 32, sixtyFour: 128, thirtyTwo: 64, eight: 16, two: 4 } - , expectedTarget = [ 1, 1, 4, 16, 64, 32, 8, 2 ] - , target = [] - ; - - -serial(source, asyncJob, function(err, result) -{ - assert.deepEqual(result, expectedResult); - assert.deepEqual(target, expectedTarget); -}); - -// shortcut interface (item, callback) -// works for object as well as for the arrays -function asyncJob(item, cb) -{ - target.push(item); - - // it will be automatically made async - // even it iterator "returns" in the same event loop - cb(null, item * 2); -} -``` - -More examples could be found in [test/test-serial-object.js](test/test-serial-object.js). - -_Note: Since _object_ is an _unordered_ collection of properties, -it may produce unexpected results with sequential iterations. -Whenever order of the jobs' execution is important please use `serialOrdered` method._ - -### Ordered Serial Iterations - -TBD - -For example [compare-property](compare-property) package. - -### Streaming interface - -TBD - -## Want to Know More? - -More examples can be found in [test folder](test/). - -Or open an [issue](https://github.com/alexindigo/asynckit/issues) with questions and/or suggestions. - -## License - -AsyncKit is licensed under the MIT license. diff --git a/publi/node_modules/asynckit/bench.js b/publi/node_modules/asynckit/bench.js deleted file mode 100644 index c612f1a..0000000 --- a/publi/node_modules/asynckit/bench.js +++ /dev/null @@ -1,76 +0,0 @@ -/* eslint no-console: "off" */ - -var asynckit = require('./') - , async = require('async') - , assert = require('assert') - , expected = 0 - ; - -var Benchmark = require('benchmark'); -var suite = new Benchmark.Suite; - -var source = []; -for (var z = 1; z < 100; z++) -{ - source.push(z); - expected += z; -} - -suite -// add tests - -.add('async.map', function(deferred) -{ - var total = 0; - - async.map(source, - function(i, cb) - { - setImmediate(function() - { - total += i; - cb(null, total); - }); - }, - function(err, result) - { - assert.ifError(err); - assert.equal(result[result.length - 1], expected); - deferred.resolve(); - }); -}, {'defer': true}) - - -.add('asynckit.parallel', function(deferred) -{ - var total = 0; - - asynckit.parallel(source, - function(i, cb) - { - setImmediate(function() - { - total += i; - cb(null, total); - }); - }, - function(err, result) - { - assert.ifError(err); - assert.equal(result[result.length - 1], expected); - deferred.resolve(); - }); -}, {'defer': true}) - - -// add listeners -.on('cycle', function(ev) -{ - console.log(String(ev.target)); -}) -.on('complete', function() -{ - console.log('Fastest is ' + this.filter('fastest').map('name')); -}) -// run async -.run({ 'async': true }); diff --git a/publi/node_modules/asynckit/index.js b/publi/node_modules/asynckit/index.js deleted file mode 100644 index 455f945..0000000 --- a/publi/node_modules/asynckit/index.js +++ /dev/null @@ -1,6 +0,0 @@ -module.exports = -{ - parallel : require('./parallel.js'), - serial : require('./serial.js'), - serialOrdered : require('./serialOrdered.js') -}; diff --git a/publi/node_modules/asynckit/lib/abort.js b/publi/node_modules/asynckit/lib/abort.js deleted file mode 100644 index 114367e..0000000 --- a/publi/node_modules/asynckit/lib/abort.js +++ /dev/null @@ -1,29 +0,0 @@ -// API -module.exports = abort; - -/** - * Aborts leftover active jobs - * - * @param {object} state - current state object - */ -function abort(state) -{ - Object.keys(state.jobs).forEach(clean.bind(state)); - - // reset leftover jobs - state.jobs = {}; -} - -/** - * Cleans up leftover job by invoking abort function for the provided job id - * - * @this state - * @param {string|number} key - job id to abort - */ -function clean(key) -{ - if (typeof this.jobs[key] == 'function') - { - this.jobs[key](); - } -} diff --git a/publi/node_modules/asynckit/lib/async.js b/publi/node_modules/asynckit/lib/async.js deleted file mode 100644 index 7f1288a..0000000 --- a/publi/node_modules/asynckit/lib/async.js +++ /dev/null @@ -1,34 +0,0 @@ -var defer = require('./defer.js'); - -// API -module.exports = async; - -/** - * Runs provided callback asynchronously - * even if callback itself is not - * - * @param {function} callback - callback to invoke - * @returns {function} - augmented callback - */ -function async(callback) -{ - var isAsync = false; - - // check if async happened - defer(function() { isAsync = true; }); - - return function async_callback(err, result) - { - if (isAsync) - { - callback(err, result); - } - else - { - defer(function nextTick_callback() - { - callback(err, result); - }); - } - }; -} diff --git a/publi/node_modules/asynckit/lib/defer.js b/publi/node_modules/asynckit/lib/defer.js deleted file mode 100644 index b67110c..0000000 --- a/publi/node_modules/asynckit/lib/defer.js +++ /dev/null @@ -1,26 +0,0 @@ -module.exports = defer; - -/** - * Runs provided function on next iteration of the event loop - * - * @param {function} fn - function to run - */ -function defer(fn) -{ - var nextTick = typeof setImmediate == 'function' - ? setImmediate - : ( - typeof process == 'object' && typeof process.nextTick == 'function' - ? process.nextTick - : null - ); - - if (nextTick) - { - nextTick(fn); - } - else - { - setTimeout(fn, 0); - } -} diff --git a/publi/node_modules/asynckit/lib/iterate.js b/publi/node_modules/asynckit/lib/iterate.js deleted file mode 100644 index 5d2839a..0000000 --- a/publi/node_modules/asynckit/lib/iterate.js +++ /dev/null @@ -1,75 +0,0 @@ -var async = require('./async.js') - , abort = require('./abort.js') - ; - -// API -module.exports = iterate; - -/** - * Iterates over each job object - * - * @param {array|object} list - array or object (named list) to iterate over - * @param {function} iterator - iterator to run - * @param {object} state - current job status - * @param {function} callback - invoked when all elements processed - */ -function iterate(list, iterator, state, callback) -{ - // store current index - var key = state['keyedList'] ? state['keyedList'][state.index] : state.index; - - state.jobs[key] = runJob(iterator, key, list[key], function(error, output) - { - // don't repeat yourself - // skip secondary callbacks - if (!(key in state.jobs)) - { - return; - } - - // clean up jobs - delete state.jobs[key]; - - if (error) - { - // don't process rest of the results - // stop still active jobs - // and reset the list - abort(state); - } - else - { - state.results[key] = output; - } - - // return salvaged results - callback(error, state.results); - }); -} - -/** - * Runs iterator over provided job element - * - * @param {function} iterator - iterator to invoke - * @param {string|number} key - key/index of the element in the list of jobs - * @param {mixed} item - job description - * @param {function} callback - invoked after iterator is done with the job - * @returns {function|mixed} - job abort function or something else - */ -function runJob(iterator, key, item, callback) -{ - var aborter; - - // allow shortcut if iterator expects only two arguments - if (iterator.length == 2) - { - aborter = iterator(item, async(callback)); - } - // otherwise go with full three arguments - else - { - aborter = iterator(item, key, async(callback)); - } - - return aborter; -} diff --git a/publi/node_modules/asynckit/lib/readable_asynckit.js b/publi/node_modules/asynckit/lib/readable_asynckit.js deleted file mode 100644 index 78ad240..0000000 --- a/publi/node_modules/asynckit/lib/readable_asynckit.js +++ /dev/null @@ -1,91 +0,0 @@ -var streamify = require('./streamify.js') - , defer = require('./defer.js') - ; - -// API -module.exports = ReadableAsyncKit; - -/** - * Base constructor for all streams - * used to hold properties/methods - */ -function ReadableAsyncKit() -{ - ReadableAsyncKit.super_.apply(this, arguments); - - // list of active jobs - this.jobs = {}; - - // add stream methods - this.destroy = destroy; - this._start = _start; - this._read = _read; -} - -/** - * Destroys readable stream, - * by aborting outstanding jobs - * - * @returns {void} - */ -function destroy() -{ - if (this.destroyed) - { - return; - } - - this.destroyed = true; - - if (typeof this.terminator == 'function') - { - this.terminator(); - } -} - -/** - * Starts provided jobs in async manner - * - * @private - */ -function _start() -{ - // first argument – runner function - var runner = arguments[0] - // take away first argument - , args = Array.prototype.slice.call(arguments, 1) - // second argument - input data - , input = args[0] - // last argument - result callback - , endCb = streamify.callback.call(this, args[args.length - 1]) - ; - - args[args.length - 1] = endCb; - // third argument - iterator - args[1] = streamify.iterator.call(this, args[1]); - - // allow time for proper setup - defer(function() - { - if (!this.destroyed) - { - this.terminator = runner.apply(null, args); - } - else - { - endCb(null, Array.isArray(input) ? [] : {}); - } - }.bind(this)); -} - - -/** - * Implement _read to comply with Readable streams - * Doesn't really make sense for flowing object mode - * - * @private - */ -function _read() -{ - -} diff --git a/publi/node_modules/asynckit/lib/readable_parallel.js b/publi/node_modules/asynckit/lib/readable_parallel.js deleted file mode 100644 index 5d2929f..0000000 --- a/publi/node_modules/asynckit/lib/readable_parallel.js +++ /dev/null @@ -1,25 +0,0 @@ -var parallel = require('../parallel.js'); - -// API -module.exports = ReadableParallel; - -/** - * Streaming wrapper to `asynckit.parallel` - * - * @param {array|object} list - array or object (named list) to iterate over - * @param {function} iterator - iterator to run - * @param {function} callback - invoked when all elements processed - * @returns {stream.Readable#} - */ -function ReadableParallel(list, iterator, callback) -{ - if (!(this instanceof ReadableParallel)) - { - return new ReadableParallel(list, iterator, callback); - } - - // turn on object mode - ReadableParallel.super_.call(this, {objectMode: true}); - - this._start(parallel, list, iterator, callback); -} diff --git a/publi/node_modules/asynckit/lib/readable_serial.js b/publi/node_modules/asynckit/lib/readable_serial.js deleted file mode 100644 index 7822698..0000000 --- a/publi/node_modules/asynckit/lib/readable_serial.js +++ /dev/null @@ -1,25 +0,0 @@ -var serial = require('../serial.js'); - -// API -module.exports = ReadableSerial; - -/** - * Streaming wrapper to `asynckit.serial` - * - * @param {array|object} list - array or object (named list) to iterate over - * @param {function} iterator - iterator to run - * @param {function} callback - invoked when all elements processed - * @returns {stream.Readable#} - */ -function ReadableSerial(list, iterator, callback) -{ - if (!(this instanceof ReadableSerial)) - { - return new ReadableSerial(list, iterator, callback); - } - - // turn on object mode - ReadableSerial.super_.call(this, {objectMode: true}); - - this._start(serial, list, iterator, callback); -} diff --git a/publi/node_modules/asynckit/lib/readable_serial_ordered.js b/publi/node_modules/asynckit/lib/readable_serial_ordered.js deleted file mode 100644 index 3de89c4..0000000 --- a/publi/node_modules/asynckit/lib/readable_serial_ordered.js +++ /dev/null @@ -1,29 +0,0 @@ -var serialOrdered = require('../serialOrdered.js'); - -// API -module.exports = ReadableSerialOrdered; -// expose sort helpers -module.exports.ascending = serialOrdered.ascending; -module.exports.descending = serialOrdered.descending; - -/** - * Streaming wrapper to `asynckit.serialOrdered` - * - * @param {array|object} list - array or object (named list) to iterate over - * @param {function} iterator - iterator to run - * @param {function} sortMethod - custom sort function - * @param {function} callback - invoked when all elements processed - * @returns {stream.Readable#} - */ -function ReadableSerialOrdered(list, iterator, sortMethod, callback) -{ - if (!(this instanceof ReadableSerialOrdered)) - { - return new ReadableSerialOrdered(list, iterator, sortMethod, callback); - } - - // turn on object mode - ReadableSerialOrdered.super_.call(this, {objectMode: true}); - - this._start(serialOrdered, list, iterator, sortMethod, callback); -} diff --git a/publi/node_modules/asynckit/lib/state.js b/publi/node_modules/asynckit/lib/state.js deleted file mode 100644 index cbea7ad..0000000 --- a/publi/node_modules/asynckit/lib/state.js +++ /dev/null @@ -1,37 +0,0 @@ -// API -module.exports = state; - -/** - * Creates initial state object - * for iteration over list - * - * @param {array|object} list - list to iterate over - * @param {function|null} sortMethod - function to use for keys sort, - * or `null` to keep them as is - * @returns {object} - initial state object - */ -function state(list, sortMethod) -{ - var isNamedList = !Array.isArray(list) - , initState = - { - index : 0, - keyedList: isNamedList || sortMethod ? Object.keys(list) : null, - jobs : {}, - results : isNamedList ? {} : [], - size : isNamedList ? Object.keys(list).length : list.length - } - ; - - if (sortMethod) - { - // sort array keys based on it's values - // sort object's keys just on own merit - initState.keyedList.sort(isNamedList ? sortMethod : function(a, b) - { - return sortMethod(list[a], list[b]); - }); - } - - return initState; -} diff --git a/publi/node_modules/asynckit/lib/streamify.js b/publi/node_modules/asynckit/lib/streamify.js deleted file mode 100644 index f56a1c9..0000000 --- a/publi/node_modules/asynckit/lib/streamify.js +++ /dev/null @@ -1,141 +0,0 @@ -var async = require('./async.js'); - -// API -module.exports = { - iterator: wrapIterator, - callback: wrapCallback -}; - -/** - * Wraps iterators with long signature - * - * @this ReadableAsyncKit# - * @param {function} iterator - function to wrap - * @returns {function} - wrapped function - */ -function wrapIterator(iterator) -{ - var stream = this; - - return function(item, key, cb) - { - var aborter - , wrappedCb = async(wrapIteratorCallback.call(stream, cb, key)) - ; - - stream.jobs[key] = wrappedCb; - - // it's either shortcut (item, cb) - if (iterator.length == 2) - { - aborter = iterator(item, wrappedCb); - } - // or long format (item, key, cb) - else - { - aborter = iterator(item, key, wrappedCb); - } - - return aborter; - }; -} - -/** - * Wraps provided callback function - * allowing to execute snitch function before - * real callback - * - * @this ReadableAsyncKit# - * @param {function} callback - function to wrap - * @returns {function} - wrapped function - */ -function wrapCallback(callback) -{ - var stream = this; - - var wrapped = function(error, result) - { - return finisher.call(stream, error, result, callback); - }; - - return wrapped; -} - -/** - * Wraps provided iterator callback function - * makes sure snitch only called once, - * but passes secondary calls to the original callback - * - * @this ReadableAsyncKit# - * @param {function} callback - callback to wrap - * @param {number|string} key - iteration key - * @returns {function} wrapped callback - */ -function wrapIteratorCallback(callback, key) -{ - var stream = this; - - return function(error, output) - { - // don't repeat yourself - if (!(key in stream.jobs)) - { - callback(error, output); - return; - } - - // clean up jobs - delete stream.jobs[key]; - - return streamer.call(stream, error, {key: key, value: output}, callback); - }; -} - -/** - * Stream wrapper for iterator callback - * - * @this ReadableAsyncKit# - * @param {mixed} error - error response - * @param {mixed} output - iterator output - * @param {function} callback - callback that expects iterator results - */ -function streamer(error, output, callback) -{ - if (error && !this.error) - { - this.error = error; - this.pause(); - this.emit('error', error); - // send back value only, as expected - callback(error, output && output.value); - return; - } - - // stream stuff - this.push(output); - - // back to original track - // send back value only, as expected - callback(error, output && output.value); -} - -/** - * Stream wrapper for finishing callback - * - * @this ReadableAsyncKit# - * @param {mixed} error - error response - * @param {mixed} output - iterator output - * @param {function} callback - callback that expects final results - */ -function finisher(error, output, callback) -{ - // signal end of the stream - // only for successfully finished streams - if (!error) - { - this.push(null); - } - - // back to original track - callback(error, output); -} diff --git a/publi/node_modules/asynckit/lib/terminator.js b/publi/node_modules/asynckit/lib/terminator.js deleted file mode 100644 index d6eb992..0000000 --- a/publi/node_modules/asynckit/lib/terminator.js +++ /dev/null @@ -1,29 +0,0 @@ -var abort = require('./abort.js') - , async = require('./async.js') - ; - -// API -module.exports = terminator; - -/** - * Terminates jobs in the attached state context - * - * @this AsyncKitState# - * @param {function} callback - final callback to invoke after termination - */ -function terminator(callback) -{ - if (!Object.keys(this.jobs).length) - { - return; - } - - // fast forward iteration index - this.index = this.size; - - // abort jobs - abort(this); - - // send back results we have so far - async(callback)(null, this.results); -} diff --git a/publi/node_modules/asynckit/package.json b/publi/node_modules/asynckit/package.json deleted file mode 100644 index ccaf6ed..0000000 --- a/publi/node_modules/asynckit/package.json +++ /dev/null @@ -1,127 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "asynckit@^0.4.0", - "scope": null, - "escapedName": "asynckit", - "name": "asynckit", - "rawSpec": "^0.4.0", - "spec": ">=0.4.0 <0.5.0", - "type": "range" - }, - "/mnt/Data/bach/Documents/ola/OLA#4/OLA#4DOC/sys/node_modules/form-data" - ] - ], - "_from": "asynckit@>=0.4.0 <0.5.0", - "_id": "asynckit@0.4.0", - "_inCache": true, - "_location": "/asynckit", - "_nodeVersion": "0.12.11", - "_npmOperationalInternal": { - "host": "packages-16-east.internal.npmjs.com", - "tmp": "tmp/asynckit-0.4.0.tgz_1465928940169_0.8008207362145185" - }, - "_npmUser": { - "name": "alexindigo", - "email": "iam@alexindigo.com" - }, - "_npmVersion": "2.15.6", - "_phantomChildren": {}, - "_requested": { - "raw": "asynckit@^0.4.0", - "scope": null, - "escapedName": "asynckit", - "name": "asynckit", - "rawSpec": "^0.4.0", - "spec": ">=0.4.0 <0.5.0", - "type": "range" - }, - "_requiredBy": [ - "/form-data" - ], - "_resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "_shasum": "c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79", - "_shrinkwrap": null, - "_spec": "asynckit@^0.4.0", - "_where": "/mnt/Data/bach/Documents/ola/OLA#4/OLA#4DOC/sys/node_modules/form-data", - "author": { - "name": "Alex Indigo", - "email": "iam@alexindigo.com" - }, - "bugs": { - "url": "https://github.com/alexindigo/asynckit/issues" - }, - "dependencies": {}, - "description": "Minimal async jobs utility library, with streams support", - "devDependencies": { - "browserify": "^13.0.0", - "browserify-istanbul": "^2.0.0", - "coveralls": "^2.11.9", - "eslint": "^2.9.0", - "istanbul": "^0.4.3", - "obake": "^0.1.2", - "phantomjs-prebuilt": "^2.1.7", - "pre-commit": "^1.1.3", - "reamde": "^1.1.0", - "rimraf": "^2.5.2", - "size-table": "^0.2.0", - "tap-spec": "^4.1.1", - "tape": "^4.5.1" - }, - "directories": {}, - "dist": { - "shasum": "c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79", - "tarball": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz" - }, - "gitHead": "583a75ed4fe41761b66416bb6e703ebb1f8963bf", - "homepage": "https://github.com/alexindigo/asynckit#readme", - "keywords": [ - "async", - "jobs", - "parallel", - "serial", - "iterator", - "array", - "object", - "stream", - "destroy", - "terminate", - "abort" - ], - "license": "MIT", - "main": "index.js", - "maintainers": [ - { - "name": "alexindigo", - "email": "iam@alexindigo.com" - } - ], - "name": "asynckit", - "optionalDependencies": {}, - "pre-commit": [ - "clean", - "lint", - "test", - "browser", - "report", - "size" - ], - "readme": "# asynckit [![NPM Module](https://img.shields.io/npm/v/asynckit.svg?style=flat)](https://www.npmjs.com/package/asynckit)\n\nMinimal async jobs utility library, with streams support.\n\n[![PhantomJS Build](https://img.shields.io/travis/alexindigo/asynckit/v0.4.0.svg?label=browser&style=flat)](https://travis-ci.org/alexindigo/asynckit)\n[![Linux Build](https://img.shields.io/travis/alexindigo/asynckit/v0.4.0.svg?label=linux:0.12-6.x&style=flat)](https://travis-ci.org/alexindigo/asynckit)\n[![Windows Build](https://img.shields.io/appveyor/ci/alexindigo/asynckit/v0.4.0.svg?label=windows:0.12-6.x&style=flat)](https://ci.appveyor.com/project/alexindigo/asynckit)\n\n[![Coverage Status](https://img.shields.io/coveralls/alexindigo/asynckit/v0.4.0.svg?label=code+coverage&style=flat)](https://coveralls.io/github/alexindigo/asynckit?branch=master)\n[![Dependency Status](https://img.shields.io/david/alexindigo/asynckit/v0.4.0.svg?style=flat)](https://david-dm.org/alexindigo/asynckit)\n[![bitHound Overall Score](https://www.bithound.io/github/alexindigo/asynckit/badges/score.svg)](https://www.bithound.io/github/alexindigo/asynckit)\n\n\n\nAsyncKit provides harness for `parallel` and `serial` iterators over list of items represented by arrays or objects.\nOptionally it accepts abort function (should be synchronously return by iterator for each item), and terminates left over jobs upon an error event. For specific iteration order built-in (`ascending` and `descending`) and custom sort helpers also supported, via `asynckit.serialOrdered` method.\n\nIt ensures async operations to keep behavior more stable and prevent `Maximum call stack size exceeded` errors, from sync iterators.\n\n| compression | size |\n| :----------------- | -------: |\n| asynckit.js | 12.34 kB |\n| asynckit.min.js | 4.11 kB |\n| asynckit.min.js.gz | 1.47 kB |\n\n\n## Install\n\n```sh\n$ npm install --save asynckit\n```\n\n## Examples\n\n### Parallel Jobs\n\nRuns iterator over provided array in parallel. Stores output in the `result` array,\non the matching positions. In unlikely event of an error from one of the jobs,\nwill terminate rest of the active jobs (if abort function is provided)\nand return error along with salvaged data to the main callback function.\n\n#### Input Array\n\n```javascript\nvar parallel = require('asynckit').parallel\n , assert = require('assert')\n ;\n\nvar source = [ 1, 1, 4, 16, 64, 32, 8, 2 ]\n , expectedResult = [ 2, 2, 8, 32, 128, 64, 16, 4 ]\n , expectedTarget = [ 1, 1, 2, 4, 8, 16, 32, 64 ]\n , target = []\n ;\n\nparallel(source, asyncJob, function(err, result)\n{\n assert.deepEqual(result, expectedResult);\n assert.deepEqual(target, expectedTarget);\n});\n\n// async job accepts one element from the array\n// and a callback function\nfunction asyncJob(item, cb)\n{\n // different delays (in ms) per item\n var delay = item * 25;\n\n // pretend different jobs take different time to finish\n // and not in consequential order\n var timeoutId = setTimeout(function() {\n target.push(item);\n cb(null, item * 2);\n }, delay);\n\n // allow to cancel \"leftover\" jobs upon error\n // return function, invoking of which will abort this job\n return clearTimeout.bind(null, timeoutId);\n}\n```\n\nMore examples could be found in [test/test-parallel-array.js](test/test-parallel-array.js).\n\n#### Input Object\n\nAlso it supports named jobs, listed via object.\n\n```javascript\nvar parallel = require('asynckit/parallel')\n , assert = require('assert')\n ;\n\nvar source = { first: 1, one: 1, four: 4, sixteen: 16, sixtyFour: 64, thirtyTwo: 32, eight: 8, two: 2 }\n , expectedResult = { first: 2, one: 2, four: 8, sixteen: 32, sixtyFour: 128, thirtyTwo: 64, eight: 16, two: 4 }\n , expectedTarget = [ 1, 1, 2, 4, 8, 16, 32, 64 ]\n , expectedKeys = [ 'first', 'one', 'two', 'four', 'eight', 'sixteen', 'thirtyTwo', 'sixtyFour' ]\n , target = []\n , keys = []\n ;\n\nparallel(source, asyncJob, function(err, result)\n{\n assert.deepEqual(result, expectedResult);\n assert.deepEqual(target, expectedTarget);\n assert.deepEqual(keys, expectedKeys);\n});\n\n// supports full value, key, callback (shortcut) interface\nfunction asyncJob(item, key, cb)\n{\n // different delays (in ms) per item\n var delay = item * 25;\n\n // pretend different jobs take different time to finish\n // and not in consequential order\n var timeoutId = setTimeout(function() {\n keys.push(key);\n target.push(item);\n cb(null, item * 2);\n }, delay);\n\n // allow to cancel \"leftover\" jobs upon error\n // return function, invoking of which will abort this job\n return clearTimeout.bind(null, timeoutId);\n}\n```\n\nMore examples could be found in [test/test-parallel-object.js](test/test-parallel-object.js).\n\n### Serial Jobs\n\nRuns iterator over provided array sequentially. Stores output in the `result` array,\non the matching positions. In unlikely event of an error from one of the jobs,\nwill not proceed to the rest of the items in the list\nand return error along with salvaged data to the main callback function.\n\n#### Input Array\n\n```javascript\nvar serial = require('asynckit/serial')\n , assert = require('assert')\n ;\n\nvar source = [ 1, 1, 4, 16, 64, 32, 8, 2 ]\n , expectedResult = [ 2, 2, 8, 32, 128, 64, 16, 4 ]\n , expectedTarget = [ 0, 1, 2, 3, 4, 5, 6, 7 ]\n , target = []\n ;\n\nserial(source, asyncJob, function(err, result)\n{\n assert.deepEqual(result, expectedResult);\n assert.deepEqual(target, expectedTarget);\n});\n\n// extended interface (item, key, callback)\n// also supported for arrays\nfunction asyncJob(item, key, cb)\n{\n target.push(key);\n\n // it will be automatically made async\n // even it iterator \"returns\" in the same event loop\n cb(null, item * 2);\n}\n```\n\nMore examples could be found in [test/test-serial-array.js](test/test-serial-array.js).\n\n#### Input Object\n\nAlso it supports named jobs, listed via object.\n\n```javascript\nvar serial = require('asynckit').serial\n , assert = require('assert')\n ;\n\nvar source = [ 1, 1, 4, 16, 64, 32, 8, 2 ]\n , expectedResult = [ 2, 2, 8, 32, 128, 64, 16, 4 ]\n , expectedTarget = [ 0, 1, 2, 3, 4, 5, 6, 7 ]\n , target = []\n ;\n\nvar source = { first: 1, one: 1, four: 4, sixteen: 16, sixtyFour: 64, thirtyTwo: 32, eight: 8, two: 2 }\n , expectedResult = { first: 2, one: 2, four: 8, sixteen: 32, sixtyFour: 128, thirtyTwo: 64, eight: 16, two: 4 }\n , expectedTarget = [ 1, 1, 4, 16, 64, 32, 8, 2 ]\n , target = []\n ;\n\n\nserial(source, asyncJob, function(err, result)\n{\n assert.deepEqual(result, expectedResult);\n assert.deepEqual(target, expectedTarget);\n});\n\n// shortcut interface (item, callback)\n// works for object as well as for the arrays\nfunction asyncJob(item, cb)\n{\n target.push(item);\n\n // it will be automatically made async\n // even it iterator \"returns\" in the same event loop\n cb(null, item * 2);\n}\n```\n\nMore examples could be found in [test/test-serial-object.js](test/test-serial-object.js).\n\n_Note: Since _object_ is an _unordered_ collection of properties,\nit may produce unexpected results with sequential iterations.\nWhenever order of the jobs' execution is important please use `serialOrdered` method._\n\n### Ordered Serial Iterations\n\nTBD\n\nFor example [compare-property](compare-property) package.\n\n### Streaming interface\n\nTBD\n\n## Want to Know More?\n\nMore examples can be found in [test folder](test/).\n\nOr open an [issue](https://github.com/alexindigo/asynckit/issues) with questions and/or suggestions.\n\n## License\n\nAsyncKit is licensed under the MIT license.\n", - "readmeFilename": "README.md", - "repository": { - "type": "git", - "url": "git+https://github.com/alexindigo/asynckit.git" - }, - "scripts": { - "browser": "browserify -t browserify-istanbul test/lib/browserify_adjustment.js test/test-*.js | obake --coverage | tap-spec", - "clean": "rimraf coverage", - "debug": "tape test/test-*.js", - "lint": "eslint *.js lib/*.js test/*.js", - "report": "istanbul report", - "size": "browserify index.js | size-table asynckit", - "test": "istanbul cover --reporter=json tape -- 'test/test-*.js' | tap-spec", - "win-test": "tape test/test-*.js" - }, - "version": "0.4.0" -} diff --git a/publi/node_modules/asynckit/parallel.js b/publi/node_modules/asynckit/parallel.js deleted file mode 100644 index 3c50344..0000000 --- a/publi/node_modules/asynckit/parallel.js +++ /dev/null @@ -1,43 +0,0 @@ -var iterate = require('./lib/iterate.js') - , initState = require('./lib/state.js') - , terminator = require('./lib/terminator.js') - ; - -// Public API -module.exports = parallel; - -/** - * Runs iterator over provided array elements in parallel - * - * @param {array|object} list - array or object (named list) to iterate over - * @param {function} iterator - iterator to run - * @param {function} callback - invoked when all elements processed - * @returns {function} - jobs terminator - */ -function parallel(list, iterator, callback) -{ - var state = initState(list); - - while (state.index < (state['keyedList'] || list).length) - { - iterate(list, iterator, state, function(error, result) - { - if (error) - { - callback(error, result); - return; - } - - // looks like it's the last one - if (Object.keys(state.jobs).length === 0) - { - callback(null, state.results); - return; - } - }); - - state.index++; - } - - return terminator.bind(state, callback); -} diff --git a/publi/node_modules/asynckit/serial.js b/publi/node_modules/asynckit/serial.js deleted file mode 100644 index 6cd949a..0000000 --- a/publi/node_modules/asynckit/serial.js +++ /dev/null @@ -1,17 +0,0 @@ -var serialOrdered = require('./serialOrdered.js'); - -// Public API -module.exports = serial; - -/** - * Runs iterator over provided array elements in series - * - * @param {array|object} list - array or object (named list) to iterate over - * @param {function} iterator - iterator to run - * @param {function} callback - invoked when all elements processed - * @returns {function} - jobs terminator - */ -function serial(list, iterator, callback) -{ - return serialOrdered(list, iterator, null, callback); -} diff --git a/publi/node_modules/asynckit/serialOrdered.js b/publi/node_modules/asynckit/serialOrdered.js deleted file mode 100644 index 607eafe..0000000 --- a/publi/node_modules/asynckit/serialOrdered.js +++ /dev/null @@ -1,75 +0,0 @@ -var iterate = require('./lib/iterate.js') - , initState = require('./lib/state.js') - , terminator = require('./lib/terminator.js') - ; - -// Public API -module.exports = serialOrdered; -// sorting helpers -module.exports.ascending = ascending; -module.exports.descending = descending; - -/** - * Runs iterator over provided sorted array elements in series - * - * @param {array|object} list - array or object (named list) to iterate over - * @param {function} iterator - iterator to run - * @param {function} sortMethod - custom sort function - * @param {function} callback - invoked when all elements processed - * @returns {function} - jobs terminator - */ -function serialOrdered(list, iterator, sortMethod, callback) -{ - var state = initState(list, sortMethod); - - iterate(list, iterator, state, function iteratorHandler(error, result) - { - if (error) - { - callback(error, result); - return; - } - - state.index++; - - // are we there yet? - if (state.index < (state['keyedList'] || list).length) - { - iterate(list, iterator, state, iteratorHandler); - return; - } - - // done here - callback(null, state.results); - }); - - return terminator.bind(state, callback); -} - -/* - * -- Sort methods - */ - -/** - * sort helper to sort array elements in ascending order - * - * @param {mixed} a - an item to compare - * @param {mixed} b - an item to compare - * @returns {number} - comparison result - */ -function ascending(a, b) -{ - return a < b ? -1 : a > b ? 1 : 0; -} - -/** - * sort helper to sort array elements in descending order - * - * @param {mixed} a - an item to compare - * @param {mixed} b - an item to compare - * @returns {number} - comparison result - */ -function descending(a, b) -{ - return -1 * ascending(a, b); -} diff --git a/publi/node_modules/asynckit/stream.js b/publi/node_modules/asynckit/stream.js deleted file mode 100644 index d43465f..0000000 --- a/publi/node_modules/asynckit/stream.js +++ /dev/null @@ -1,21 +0,0 @@ -var inherits = require('util').inherits - , Readable = require('stream').Readable - , ReadableAsyncKit = require('./lib/readable_asynckit.js') - , ReadableParallel = require('./lib/readable_parallel.js') - , ReadableSerial = require('./lib/readable_serial.js') - , ReadableSerialOrdered = require('./lib/readable_serial_ordered.js') - ; - -// API -module.exports = -{ - parallel : ReadableParallel, - serial : ReadableSerial, - serialOrdered : ReadableSerialOrdered, -}; - -inherits(ReadableAsyncKit, Readable); - -inherits(ReadableParallel, ReadableAsyncKit); -inherits(ReadableSerial, ReadableAsyncKit); -inherits(ReadableSerialOrdered, ReadableAsyncKit); diff --git a/publi/node_modules/atob/LICENSE b/publi/node_modules/atob/LICENSE deleted file mode 100644 index 2d9338b..0000000 --- a/publi/node_modules/atob/LICENSE +++ /dev/null @@ -1,230 +0,0 @@ -At your option you may choose either of the following licenses: - - * The MIT License (MIT) - * The Apache License 2.0 (Apache-2.0) - - -The MIT License (MIT) - -Copyright (c) 2015 AJ ONeal - -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. - - - 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 2015 AJ ONeal - - 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. diff --git a/publi/node_modules/atob/LICENSE.DOCS b/publi/node_modules/atob/LICENSE.DOCS deleted file mode 100644 index 1d658d6..0000000 --- a/publi/node_modules/atob/LICENSE.DOCS +++ /dev/null @@ -1,319 +0,0 @@ -Creative Commons Legal Code - -Attribution 3.0 Unported - - CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE - LEGAL SERVICES. DISTRIBUTION OF THIS LICENSE DOES NOT CREATE AN - ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS - INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES - REGARDING THE INFORMATION PROVIDED, AND DISCLAIMS LIABILITY FOR - DAMAGES RESULTING FROM ITS USE. - -License - -THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE -COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY -COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS -AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED. - -BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE -TO BE BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS LICENSE MAY -BE CONSIDERED TO BE A CONTRACT, THE LICENSOR GRANTS YOU THE RIGHTS -CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND -CONDITIONS. - -1. Definitions - - a. "Adaptation" means a work based upon the Work, or upon the Work and - other pre-existing works, such as a translation, adaptation, - derivative work, arrangement of music or other alterations of a - literary or artistic work, or phonogram or performance and includes - cinematographic adaptations or any other form in which the Work may be - recast, transformed, or adapted including in any form recognizably - derived from the original, except that a work that constitutes a - Collection will not be considered an Adaptation for the purpose of - this License. For the avoidance of doubt, where the Work is a musical - work, performance or phonogram, the synchronization of the Work in - timed-relation with a moving image ("synching") will be considered an - Adaptation for the purpose of this License. - b. "Collection" means a collection of literary or artistic works, such as - encyclopedias and anthologies, or performances, phonograms or - broadcasts, or other works or subject matter other than works listed - in Section 1(f) below, which, by reason of the selection and - arrangement of their contents, constitute intellectual creations, in - which the Work is included in its entirety in unmodified form along - with one or more other contributions, each constituting separate and - independent works in themselves, which together are assembled into a - collective whole. A work that constitutes a Collection will not be - considered an Adaptation (as defined above) for the purposes of this - License. - c. "Distribute" means to make available to the public the original and - copies of the Work or Adaptation, as appropriate, through sale or - other transfer of ownership. - d. "Licensor" means the individual, individuals, entity or entities that - offer(s) the Work under the terms of this License. - e. "Original Author" means, in the case of a literary or artistic work, - the individual, individuals, entity or entities who created the Work - or if no individual or entity can be identified, the publisher; and in - addition (i) in the case of a performance the actors, singers, - musicians, dancers, and other persons who act, sing, deliver, declaim, - play in, interpret or otherwise perform literary or artistic works or - expressions of folklore; (ii) in the case of a phonogram the producer - being the person or legal entity who first fixes the sounds of a - performance or other sounds; and, (iii) in the case of broadcasts, the - organization that transmits the broadcast. - f. "Work" means the literary and/or artistic work offered under the terms - of this License including without limitation any production in the - literary, scientific and artistic domain, whatever may be the mode or - form of its expression including digital form, such as a book, - pamphlet and other writing; a lecture, address, sermon or other work - of the same nature; a dramatic or dramatico-musical work; a - choreographic work or entertainment in dumb show; a musical - composition with or without words; a cinematographic work to which are - assimilated works expressed by a process analogous to cinematography; - a work of drawing, painting, architecture, sculpture, engraving or - lithography; a photographic work to which are assimilated works - expressed by a process analogous to photography; a work of applied - art; an illustration, map, plan, sketch or three-dimensional work - relative to geography, topography, architecture or science; a - performance; a broadcast; a phonogram; a compilation of data to the - extent it is protected as a copyrightable work; or a work performed by - a variety or circus performer to the extent it is not otherwise - considered a literary or artistic work. - g. "You" means an individual or entity exercising rights under this - License who has not previously violated the terms of this License with - respect to the Work, or who has received express permission from the - Licensor to exercise rights under this License despite a previous - violation. - h. "Publicly Perform" means to perform public recitations of the Work and - to communicate to the public those public recitations, by any means or - process, including by wire or wireless means or public digital - performances; to make available to the public Works in such a way that - members of the public may access these Works from a place and at a - place individually chosen by them; to perform the Work to the public - by any means or process and the communication to the public of the - performances of the Work, including by public digital performance; to - broadcast and rebroadcast the Work by any means including signs, - sounds or images. - i. "Reproduce" means to make copies of the Work by any means including - without limitation by sound or visual recordings and the right of - fixation and reproducing fixations of the Work, including storage of a - protected performance or phonogram in digital form or other electronic - medium. - -2. Fair Dealing Rights. Nothing in this License is intended to reduce, -limit, or restrict any uses free from copyright or rights arising from -limitations or exceptions that are provided for in connection with the -copyright protection under copyright law or other applicable laws. - -3. License Grant. Subject to the terms and conditions of this License, -Licensor hereby grants You a worldwide, royalty-free, non-exclusive, -perpetual (for the duration of the applicable copyright) license to -exercise the rights in the Work as stated below: - - a. to Reproduce the Work, to incorporate the Work into one or more - Collections, and to Reproduce the Work as incorporated in the - Collections; - b. to create and Reproduce Adaptations provided that any such Adaptation, - including any translation in any medium, takes reasonable steps to - clearly label, demarcate or otherwise identify that changes were made - to the original Work. For example, a translation could be marked "The - original work was translated from English to Spanish," or a - modification could indicate "The original work has been modified."; - c. to Distribute and Publicly Perform the Work including as incorporated - in Collections; and, - d. to Distribute and Publicly Perform Adaptations. - e. For the avoidance of doubt: - - i. Non-waivable Compulsory License Schemes. In those jurisdictions in - which the right to collect royalties through any statutory or - compulsory licensing scheme cannot be waived, the Licensor - reserves the exclusive right to collect such royalties for any - exercise by You of the rights granted under this License; - ii. Waivable Compulsory License Schemes. In those jurisdictions in - which the right to collect royalties through any statutory or - compulsory licensing scheme can be waived, the Licensor waives the - exclusive right to collect such royalties for any exercise by You - of the rights granted under this License; and, - iii. Voluntary License Schemes. The Licensor waives the right to - collect royalties, whether individually or, in the event that the - Licensor is a member of a collecting society that administers - voluntary licensing schemes, via that society, from any exercise - by You of the rights granted under this License. - -The above rights may be exercised in all media and formats whether now -known or hereafter devised. The above rights include the right to make -such modifications as are technically necessary to exercise the rights in -other media and formats. Subject to Section 8(f), all rights not expressly -granted by Licensor are hereby reserved. - -4. Restrictions. The license granted in Section 3 above is expressly made -subject to and limited by the following restrictions: - - a. You may Distribute or Publicly Perform the Work only under the terms - of this License. You must include a copy of, or the Uniform Resource - Identifier (URI) for, this License with every copy of the Work You - Distribute or Publicly Perform. You may not offer or impose any terms - on the Work that restrict the terms of this License or the ability of - the recipient of the Work to exercise the rights granted to that - recipient under the terms of the License. You may not sublicense the - Work. You must keep intact all notices that refer to this License and - to the disclaimer of warranties with every copy of the Work You - Distribute or Publicly Perform. When You Distribute or Publicly - Perform the Work, You may not impose any effective technological - measures on the Work that restrict the ability of a recipient of the - Work from You to exercise the rights granted to that recipient under - the terms of the License. This Section 4(a) applies to the Work as - incorporated in a Collection, but this does not require the Collection - apart from the Work itself to be made subject to the terms of this - License. If You create a Collection, upon notice from any Licensor You - must, to the extent practicable, remove from the Collection any credit - as required by Section 4(b), as requested. If You create an - Adaptation, upon notice from any Licensor You must, to the extent - practicable, remove from the Adaptation any credit as required by - Section 4(b), as requested. - b. If You Distribute, or Publicly Perform the Work or any Adaptations or - Collections, You must, unless a request has been made pursuant to - Section 4(a), keep intact all copyright notices for the Work and - provide, reasonable to the medium or means You are utilizing: (i) the - name of the Original Author (or pseudonym, if applicable) if supplied, - and/or if the Original Author and/or Licensor designate another party - or parties (e.g., a sponsor institute, publishing entity, journal) for - attribution ("Attribution Parties") in Licensor's copyright notice, - terms of service or by other reasonable means, the name of such party - or parties; (ii) the title of the Work if supplied; (iii) to the - extent reasonably practicable, the URI, if any, that Licensor - specifies to be associated with the Work, unless such URI does not - refer to the copyright notice or licensing information for the Work; - and (iv) , consistent with Section 3(b), in the case of an Adaptation, - a credit identifying the use of the Work in the Adaptation (e.g., - "French translation of the Work by Original Author," or "Screenplay - based on original Work by Original Author"). The credit required by - this Section 4 (b) may be implemented in any reasonable manner; - provided, however, that in the case of a Adaptation or Collection, at - a minimum such credit will appear, if a credit for all contributing - authors of the Adaptation or Collection appears, then as part of these - credits and in a manner at least as prominent as the credits for the - other contributing authors. For the avoidance of doubt, You may only - use the credit required by this Section for the purpose of attribution - in the manner set out above and, by exercising Your rights under this - License, You may not implicitly or explicitly assert or imply any - connection with, sponsorship or endorsement by the Original Author, - Licensor and/or Attribution Parties, as appropriate, of You or Your - use of the Work, without the separate, express prior written - permission of the Original Author, Licensor and/or Attribution - Parties. - c. Except as otherwise agreed in writing by the Licensor or as may be - otherwise permitted by applicable law, if You Reproduce, Distribute or - Publicly Perform the Work either by itself or as part of any - Adaptations or Collections, You must not distort, mutilate, modify or - take other derogatory action in relation to the Work which would be - prejudicial to the Original Author's honor or reputation. Licensor - agrees that in those jurisdictions (e.g. Japan), in which any exercise - of the right granted in Section 3(b) of this License (the right to - make Adaptations) would be deemed to be a distortion, mutilation, - modification or other derogatory action prejudicial to the Original - Author's honor and reputation, the Licensor will waive or not assert, - as appropriate, this Section, to the fullest extent permitted by the - applicable national law, to enable You to reasonably exercise Your - right under Section 3(b) of this License (right to make Adaptations) - but not otherwise. - -5. Representations, Warranties and Disclaimer - -UNLESS OTHERWISE MUTUALLY AGREED TO BY THE PARTIES IN WRITING, LICENSOR -OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY -KIND CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, -INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY, -FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF -LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS, -WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION -OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU. - -6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE -LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR -ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES -ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS -BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. - -7. Termination - - a. This License and the rights granted hereunder will terminate - automatically upon any breach by You of the terms of this License. - Individuals or entities who have received Adaptations or Collections - from You under this License, however, will not have their licenses - terminated provided such individuals or entities remain in full - compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will - survive any termination of this License. - b. Subject to the above terms and conditions, the license granted here is - perpetual (for the duration of the applicable copyright in the Work). - Notwithstanding the above, Licensor reserves the right to release the - Work under different license terms or to stop distributing the Work at - any time; provided, however that any such election will not serve to - withdraw this License (or any other license that has been, or is - required to be, granted under the terms of this License), and this - License will continue in full force and effect unless terminated as - stated above. - -8. Miscellaneous - - a. Each time You Distribute or Publicly Perform the Work or a Collection, - the Licensor offers to the recipient a license to the Work on the same - terms and conditions as the license granted to You under this License. - b. Each time You Distribute or Publicly Perform an Adaptation, Licensor - offers to the recipient a license to the original Work on the same - terms and conditions as the license granted to You under this License. - c. If any provision of this License is invalid or unenforceable under - applicable law, it shall not affect the validity or enforceability of - the remainder of the terms of this License, and without further action - by the parties to this agreement, such provision shall be reformed to - the minimum extent necessary to make such provision valid and - enforceable. - d. No term or provision of this License shall be deemed waived and no - breach consented to unless such waiver or consent shall be in writing - and signed by the party to be charged with such waiver or consent. - e. This License constitutes the entire agreement between the parties with - respect to the Work licensed here. There are no understandings, - agreements or representations with respect to the Work not specified - here. Licensor shall not be bound by any additional provisions that - may appear in any communication from You. This License may not be - modified without the mutual written agreement of the Licensor and You. - f. The rights granted under, and the subject matter referenced, in this - License were drafted utilizing the terminology of the Berne Convention - for the Protection of Literary and Artistic Works (as amended on - September 28, 1979), the Rome Convention of 1961, the WIPO Copyright - Treaty of 1996, the WIPO Performances and Phonograms Treaty of 1996 - and the Universal Copyright Convention (as revised on July 24, 1971). - These rights and subject matter take effect in the relevant - jurisdiction in which the License terms are sought to be enforced - according to the corresponding provisions of the implementation of - those treaty provisions in the applicable national law. If the - standard suite of rights granted under applicable copyright law - includes additional rights not granted under this License, such - additional rights are deemed to be included in the License; this - License is not intended to restrict the license of any rights under - applicable law. - - -Creative Commons Notice - - Creative Commons is not a party to this License, and makes no warranty - whatsoever in connection with the Work. Creative Commons will not be - liable to You or any party on any legal theory for any damages - whatsoever, including without limitation any general, special, - incidental or consequential damages arising in connection to this - license. Notwithstanding the foregoing two (2) sentences, if Creative - Commons has expressly identified itself as the Licensor hereunder, it - shall have all rights and obligations of Licensor. - - Except for the limited purpose of indicating to the public that the - Work is licensed under the CCPL, Creative Commons does not authorize - the use by either party of the trademark "Creative Commons" or any - related trademark or logo of Creative Commons without the prior - written consent of Creative Commons. Any permitted use will be in - compliance with Creative Commons' then-current trademark usage - guidelines, as may be published on its website or otherwise made - available upon request from time to time. For the avoidance of doubt, - this trademark restriction does not form part of this License. - - Creative Commons may be contacted at http://creativecommons.org/. diff --git a/publi/node_modules/atob/README.md b/publi/node_modules/atob/README.md deleted file mode 100644 index b8cffda..0000000 --- a/publi/node_modules/atob/README.md +++ /dev/null @@ -1,43 +0,0 @@ -atob -=== - -Uses `Buffer` to emulate the exact functionality of the browser's atob. - -Note: Unicode may be handled incorrectly (like the browser). - -It turns base64-encoded ascii data back **to** binary. - -```javascript -(function () { - "use strict"; - - var atob = require('atob'); - var b64 = "SGVsbG8gV29ybGQ="; - var bin = atob(b64); - - console.log(bin); // "Hello World" -}()); -``` - -### Need Unicode and Binary Support in the Browser? - -Check out [unibabel.js](https://github.com/coolaj86/unibabel-js) - -Changelog -======= - - * v2.0.0 provide browser version for ios web workers - * v1.2.0 provide (empty) browser version - * v1.1.3 add MIT license (see [#4](https://github.com/node-browser-compat/atob/issues/4)) - * v1.1.2 node only - -LICENSE -======= - -Code copyright 2012-2015 AJ ONeal - -Dual-licensed MIT and Apache-2.0 - -Docs copyright 2012-2015 AJ ONeal - -Docs released under [Creative Commons](https://github.com/node-browser-compat/atob/blob/master/LICENSE.DOCS). diff --git a/publi/node_modules/atob/bin/atob.js b/publi/node_modules/atob/bin/atob.js deleted file mode 100755 index a56ac2e..0000000 --- a/publi/node_modules/atob/bin/atob.js +++ /dev/null @@ -1,6 +0,0 @@ -#!/usr/bin/env node -'use strict'; - -var atob = require('../node-atob'); -var str = process.argv[2]; -console.log(atob(str)); diff --git a/publi/node_modules/atob/bower.json b/publi/node_modules/atob/bower.json deleted file mode 100644 index f1e3f44..0000000 --- a/publi/node_modules/atob/bower.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "name": "atob", - "description": "atob for isomorphic environments", - "main": "browser-atob.js", - "authors": [ - "AJ ONeal (https://coolaj86.com)" - ], - "license": "(MIT OR Apache-2.0)", - "keywords": [ - "atob", - "browser" - ], - "homepage": "https://github.com/node-browser-compat/atob", - "moduleType": [ - "globals" - ], - "ignore": [ - "**/.*", - "node_modules", - "bower_components", - "test", - "tests" - ], - "version": "2.0.3" -} diff --git a/publi/node_modules/atob/browser-atob.js b/publi/node_modules/atob/browser-atob.js deleted file mode 100644 index f5fc8bc..0000000 --- a/publi/node_modules/atob/browser-atob.js +++ /dev/null @@ -1,36 +0,0 @@ -(function (w) { - "use strict"; - - var a2b = w.atob; - - function atob(str) { - // normal window - if ('function' === typeof a2b) { - return a2b(str); - } - // browserify (web worker) - else if ('function' === typeof Buffer) { - return new Buffer(str, 'base64').toString('binary'); - } - // ios web worker with base64js - else if ('object' === typeof w.base64js) { - // bufferToBinaryString - // https://github.com/coolaj86/unibabel-js/blob/master/index.js#L50 - var buf = w.base64js.b64ToByteArray(str); - - return Array.prototype.map.call(buf, function (ch) { - return String.fromCharCode(ch); - }).join(''); - } - // ios web worker without base64js - else { - throw new Error("you're probably in an ios webworker. please include use beatgammit's base64-js"); - } - } - - w.atob = atob; - - if (typeof module !== 'undefined') { - module.exports = atob; - } -}(window)); diff --git a/publi/node_modules/atob/node-atob.js b/publi/node_modules/atob/node-atob.js deleted file mode 100644 index 9c31eaa..0000000 --- a/publi/node_modules/atob/node-atob.js +++ /dev/null @@ -1,7 +0,0 @@ -"use strict"; - -function atob(str) { - return new Buffer(str, 'base64').toString('binary'); -} - -module.exports = atob.atob = atob; diff --git a/publi/node_modules/atob/package.json b/publi/node_modules/atob/package.json deleted file mode 100644 index 4375ede..0000000 --- a/publi/node_modules/atob/package.json +++ /dev/null @@ -1,53 +0,0 @@ -{ - "_from": "atob@^2.0.0", - "_id": "atob@2.0.3", - "_inBundle": false, - "_integrity": "sha1-GcenYEc3dEaPILLS0DNyrX1Mv10=", - "_location": "/atob", - "_phantomChildren": {}, - "_requested": { - "type": "range", - "registry": true, - "raw": "atob@^2.0.0", - "name": "atob", - "escapedName": "atob", - "rawSpec": "^2.0.0", - "saveSpec": null, - "fetchSpec": "^2.0.0" - }, - "_requiredBy": [ - "/source-map-resolve" - ], - "_resolved": "https://registry.npmjs.org/atob/-/atob-2.0.3.tgz", - "_shasum": "19c7a760473774468f20b2d2d03372ad7d4cbf5d", - "_spec": "atob@^2.0.0", - "_where": "/mnt/Data/bach/Documents/ola/OLA#5/ola5doc/publi/node_modules/source-map-resolve", - "author": { - "name": "AJ ONeal", - "email": "coolaj86@gmail.com", - "url": "https://coolaj86.com" - }, - "bin": { - "atob": "bin/atob.js" - }, - "browser": "browser-atob.js", - "bundleDependencies": false, - "deprecated": false, - "description": "atob for Node.JS and Linux / Mac / Windows CLI (it's a one-liner)", - "engines": { - "node": ">= 0.4.0" - }, - "homepage": "https://github.com/coolaj86/node-browser-compat", - "keywords": [ - "atob", - "browser" - ], - "license": "(MIT OR Apache-2.0)", - "main": "node-atob.js", - "name": "atob", - "repository": { - "type": "git", - "url": "git://github.com/coolaj86/node-browser-compat/atob.git" - }, - "version": "2.0.3" -} diff --git a/publi/node_modules/atob/test.js b/publi/node_modules/atob/test.js deleted file mode 100644 index e499dd5..0000000 --- a/publi/node_modules/atob/test.js +++ /dev/null @@ -1,20 +0,0 @@ -/*jshint strict:true node:true es5:true onevar:true laxcomma:true laxbreak:true eqeqeq:true immed:true latedef:true*/ -(function () { - "use strict"; - - var atob = require('.') - , encoded = "SGVsbG8gV29ybGQ=" - , unencoded = "Hello World" - /* - , encoded = "SGVsbG8sIBZM" - , unencoded = "Hello, 世界" - */ - ; - - if (unencoded !== atob(encoded)) { - console.log('[FAIL]', unencoded, atob(encoded)); - return; - } - - console.log('[PASS] all tests pass'); -}()); diff --git a/publi/node_modules/autoprefixer/AUTHORS b/publi/node_modules/autoprefixer/AUTHORS deleted file mode 100644 index a89237e..0000000 --- a/publi/node_modules/autoprefixer/AUTHORS +++ /dev/null @@ -1,124 +0,0 @@ -# This is the official list of Autoprefixer authors for copyright purposes. -# -# This does not necessarily list everyone who has contributed code, since in -# some cases, their employer may be the copyright holder. To see the full list -# of contributors, see the revision history in source control or -# https://github.com/postcss/autoprefixer/graphs/contributors -# -# Authors who wish to be recognized in this file should add themselves (or -# their employer, as appropriate). - -Aaron -Adam Lynch -Adonis K -Adriaan -Aleksei Androsov -Aleksey Shvayka -Aleks Hudochenkov -Alexey Plutalov -Anders Olsen Sandvik -Andreas Lind -Andrew Rhoads -Andrey Sitnik -Andrey Taritsyn -Andy Trevorah -Anton Khlynovskiy -aruseni -Ben Briggs -bernig -Bogdan Chadkin -brainopia -Brandon Mathis -Chad von Nau -Chi Vinh Le -Cory House -Cory Simmons -Craig Martin -Damon -Daniel Garcia-Carrillo -Daniel Tschinder -David Pike -Denis Sokolov -Dominik Porada -Dominik Schilling -dotch -Dmitry Semigradsky -Efremov Alexey -eitanr -Erik Sundahl -Eugene Datsky -Evilebot Tnawi -Forrest York -Google Inc. -Gregory Eremin -GU Yiling -Hallvord R. M. Steen -heady -Iain Beeston -Igor Adamenko -Jack Moore -Jason Kuhrt -Jeff Escalante -Johannes J. Schmidt -John Kreitlow -Jonathan Ong -Josh Gillies -jvdanilo -Kieran -Kir Shatrov -kizu -Leonya Khachaturov -Lovchikov Anton -L.T -Luciano Battagliero -Luke Page -martco -Matt Smith -Maxime Thirouin -Max Mechanic -Michael Beil -Michael Scott Hertzberg -Michał Gołębiowski -Mikael Jorhult -Morton Fox -mvasilkov -Nick Howes -Nick Schonning -nickspielgist -Niels Dequeker -Nikolay Burlov -Paul Statezny -Peter Zotov -Rafael Silva -Ray Lehnhoff -ReadmeCritic -Reinaldo Schiehll -René Stalder -Richard Wang -Rob Howell -Roland Warmerdam -Sasha Koss -Sean Anderson -Sergey Belov -Sergey Leschina -sethjgore -Šime Vidas -Simon Lydell -Sindre Sorhus -Stephen Edgar -Steve Mao -Stig Otnes Kolstad -Subash Pathak -sunhao -tomdavenport -Tony Ganch -Vegard Andreas Larsen -Vera Surkova -Vincent De Oliveira -Vishnu Ravi -Vladimir Pouzanov -vladkens -Даниил Пронин -一丝 -刘祺 diff --git a/publi/node_modules/autoprefixer/CHANGELOG.md b/publi/node_modules/autoprefixer/CHANGELOG.md deleted file mode 100644 index 3faa553..0000000 --- a/publi/node_modules/autoprefixer/CHANGELOG.md +++ /dev/null @@ -1,751 +0,0 @@ -# Change Log -This project adheres to [Semantic Versioning](http://semver.org/). - -## 7.2.3 -* Fix `grid-template-areas` in `@media` (by Evgeny Petukhov). - -## 7.2.2 -* Fix `_autoprefixerDisabled is undefined` issue. - -## 7.2.1 -* Fix IE and other old JS runtimes support. - -## 7.2 “Ordem e Progresso” -* Add `grid-template-areas` support (by Evgeny Petukhov). -* Add `grid-template` support (by Evgeny Petukhov). -* Add `grid-area` support (by Alexey Komarov). -* Add `autoprefixer-info` CLI tool. -* Add wrong `radial-gradient` properties warning. -* Use current working dir on missed `from` in `info()` (by Phil Dokas). -* Fix `grid-row` and `grid-column` support (by Alexey Komarov). -* Do not prefix `reverse` animation direction. -* Improve test coverage (by Dmitry Semigradsky). - -## 7.1.6 -* Add warning for using `browserslist` option instead of `browsers`. -* Add warning for multiple control comments in the same scope. -* Fix `Invalid array length` error during indent changes. - -## 7.1.5 -* Fix `::placeholder` prefix for Edge. -* Fix `inherit`/`initial`/`unset` values for `flex-direction`. -* Fix RegExp usage in gradients (by Yet Another Minion). - -## 7.1.4 -* Fix `radial-gradient` direction conversion. -* Fix `image-set` in `cursor`. - -## 7.1.3 -* Add warning for old `radial-gradient` direction syntax. - -## 7.1.2 -* Fix `text-decoration` shortcut support. - -## 7.1.1 -* Remove non-`-webkit-` intrinsic prefixes in Grid Layout (by 一丝). - -## 7.1 “Universitas litterarum” -* Add `unicode-bidi` support. -* Add `-webkit-appearance` support for Edge. -* Add `from` option to `info()`. -* Fix intrinsic widths prefixes in Grid Layout. - -## 7.0.1 -* Fix Autoprefixer for old JS runtimes. - -## 7.0 “Coelestem adspicit lucem” -* Remove node.js 0.12 support. -* Use PostCSS 6.0. -* Use Browserslist 2. -* Use `caniuse-lite` instead of `caniuse-db` (by Ben Briggs). -* Use `^` for Browserslist dependencies, instead of `~`. -* Rewrite project from CoffeeScript to Babel (by Dmitry Semigradsky). -* Disable Grid Layout prefixes for IE by default. -* Fix `-ms-grid-column-align`. -* Move tests to Jest. - -## 6.7.7 -* Fix `order` for non-digit values. - -## 6.7.6 -* Fix `font-kerning` (by Chi Vinh Le). - -## 6.7.5 -* Fix `text-decoration-skip` in iOS (by Chi Vinh Le). -* Fix `clip-path` (by Chi Vinh Le). - -## 6.7.4 -* Improve `browsers` option perfomance. -* Update CoffeeScript compiler. - -## 6.7.3 -* Fix compatibility with “Intrinsic & Extrinsic Sizing” spec update. - -## 6.7.2 -* Do not prefix grid/flexbox in `@supports` on `grid: false`/`flexbox: false`. - -## 6.7.1 -* Update Browserslist with `last n version` fix. - -## 6.7 “Krungthep doot thep saang” -* Add Electron support in browsers list (by Kilian Valkhof). -* Add `flex-flow` partial support for Flexbox 2009 specification. -* Fix browsers `0` version issue in some Can I Use data. - -## 6.6.1 -* Add metadata to use Autoprefixer in JSS tests (by Chi Vinh Le). - -## 6.6 “Kaiyuan” -* Add `browserslist` key in `package.json` support. -* Add support for separated environments in browserslist config. -* Add `browserslist-stats.json` file support to load custom usage statistics. - -## 6.5.4 -* Fix unitless 0 basis in IE10/IE11 shorthand flex (by Google). - -## 6.5.3 -* Add error for popular mistake with `browser` option instead of `browsers`. - -## 6.5.2 -* Clean prefixes data (by Reinaldo Schiehll). - -## 6.5.1 -* Fix selectors with `:--` prefix support. - -## 6.5 “Einigkeit und Recht und Freiheit” -* Add `defaults` keyword to browsers requirements. -* Fix CSS Grid Layout support. -* Fix `align-self` cleaning. - -## 6.4.1 -* Fix node cloning after some PostCSS plugins. - -## 6.4 “Hic et ubique terrarum” -* Add `:any-link` selector support. -* Add `text-decoration-skip` support. -* Add `transition: duration property` support. -* Fix `-webkit-` prefix for `backface-visibility`. -* Fix `rad` unit support in gradients (by 刘祺). -* Fix `transition` support in Opera 12. -* Removed Safari TP Grid prefixes support. - -## 6.3.7 -* Fix rare `Cannot read property 'constructor' of null` issue. - -## 6.3.6 -* Add Safari TP prefix support for Grid Layout. - -## 6.3.5 -* Fix duplicate prefixes for `-ms-interpolation-mode`. - -## 6.3.4 -* Show users coverage for selected browsers in `info()`. - -## 6.3.3 -* Fix transition warning. - -## 6.3.2 -* Fix jspm support (by Sean Anderson). - -## 6.3.1 -* Fix compatibility with Flexibility polyfill. - -## 6.3 “Pro rege et lege” -* Add Grid Layout support. -* Add `text-spacing` support. -* Add `> 10% in my stats` browsers query with custom usage statistics. -* Add options to disable `@supports`, Flexbox or Grid support. -* Fix compatibility with other PostCSS plugins. - -## 6.2.3 -* Fix error on broken transition with double comma. - -## 6.2.2 -* Fix issues in broken transitions. - -## 6.2.1 -* Fix AST error in transition warning (by @jvdanilo). - -## 6.2 “Fluctuat nec mergitur” -* Use `fill` instead of `fill-available` according spec changes (by 一丝). -* Add `fill` support for logical dimension properties (by 一丝). -* Add `text-emphasis` support (by 一丝). -* Add prefixes to `@supports` only for compatible browsers. -* Add `rad`, `grad` and `turn` units support to linear gradients. -* Add some `deg` directions support for old WebKit linear gradients. -* Fix `@supports` parenthesis (by @heady). -* Add warning when prefixes could not be generated - for complicated `transition-property` values. -* Add warning for outdated `fill-available` value. -* Add warning for wrong `text-emphasis-position` value. -* Add “time capsule” warning for prefix-less future. -* Normalizes all warning messages. - -## 6.1.2 -* Fix gradient hack on some parameters (by Alexey Efremov). - -## 6.1.1 -* Fix `cursor: grab` and `cursor: grabbing` support. - -## 6.1 “Bil-shaʿb wa lil-shaʿb” -* Change `transition` support to output more robust CSS. -* Add `:read-only` support. -* Add support for `appearance` with any values. -* Add CSS-in-JS support via `postcss-js`. -* Add loud `/*! autoprefixer: off */` control comments support. -* Convert `rotateZ` to `rotate` for `-ms-transform`. -* Use `postcss-value-parser` to carefully work with gradients. -* Remove `-ms-transform-style` and `-o-transform-style` that never existed. - -## 6.0.3 -* Fix old gradient direction warning. - -## 6.0.2 -* Remove unnecessary `-khtml-` prefix too. - -## 6.0.1 -* Fix `cross-fade()` support (by 一丝). - -## 6.0 “Eureka” -* CLI was removed from `autoprefixer` package to `autoprefixer-cli`. -* `autoprefixer-core` and `autoprefixer` packages was merged back. -* Remove `autoprefixer(opt).process(css)`, use `autoprefixer.process(css, opt)`. -* Remove `safe` option. Use separated Safe parser from PostCSS. -* Remove Opera 12.1 from default query. -* Use PostCSS 5.0 API. -* Add custom syntaxes support. -* Add `image-set` support (by 一丝). -* Add `mask-border` support (by 一丝). -* Add `filter()` function support (by Vincent De Oliveira). -* Add `backdrop-filter` support (by Vincent De Oliveira). -* Add `element()` support (by Vincent De Oliveira). -* Add CSS Regions support. -* Add Scroll Snap Points support. -* Add `writing-mode` support. -* Add `::backdrop` support. -* Add `cross-fade()` support. -* Add other `break-` properties support. -* Add Microsoft Edge support (by Andrey Polischuk). -* Add `not` keyword and exclude browsers by query. -* Add version ranges `IE 6-9` (by Ben Briggs). -* Fix `filter` in `transition` support on Safari. -* Fix `url()` parsing. -* Fix `pixelated` cleaning. -* Always show old gradient direction warning. - -## 5.2.1 -* Fix parent-less node issue on some cases (by Josh Gillies). - -## 5.2 “Dont tread on me” -* Add `appearance` support. -* Warn users on old gradient direction or flexbox syntax. -* Add `add: false` option to disable new prefixes adding. -* Make Autoprefixer 30% faster. -* Use PostCSS 4.1 plugin API. -* Add prefixes for `pixelated` instead of `crisp-edges` in `image-rendering`. -* Do not add `::placeholder` prefixes for `:placeholder-shown`. -* Fix `text-decoration` prefixes. -* `autoprefixer.process()` was deprecated. Use PostCSS API. - -## 5.1.11 -* Update `num2fraction` to fix resolution media query (by 一丝). - -## 5.1.10 -* Do not generate `-webkit-image-rendering`. - -## 5.1.9 -* Fix DynJS compatibility (by Nick Howes). - -## 5.1.8 -* Fix gradients in `mask` and `mask-image` properties. -* Fix old webkit prefix on some unsupported gradients. - -## 5.1.7 -* Fix placeholder selector (by Vincent De Oliveira). - -## 5.1.6 -* Use official `::placeholder-shown` selector (by Vincent De Oliveira). - -## 5.1.5 -* Add transition support for CSS Masks properties. - -## 5.1.4 -* Use `-webkit-` prefix for Opera Mobile 24. - -## 5.1.3 -* Add IE support for `image-rendering: crisp-edges`. - -## 5.1.2 -* Add never existed `@-ms-keyframes` to common mistake. - -## 5.1.1 -* Safer value split in `flex` hack. - -## 5.1 “Jianyuan” -* Add support for resolution media query (by 一丝). -* Higher accuracy while removing prefixes in values. -* Add support for logical properties (by 一丝). -* Add `@viewport` support. -* Add `text-overflow` support (by 一丝). -* Add `text-emphasis` support (by 一丝). -* Add `image-rendering: crisp-edges` support. -* Add `text-align-last` support. -* Return `autoprefixer.defaults` as alias to current `browserslist.defaults`. -* Save code style while adding prefixes to `@keyframes` and `@viewport`. -* Do not remove `-webkit-background-clip` with non-spec `text` value. -* Fix `-webkit-filter` in `transition`. -* Better support for browser versions joined on Can I Use - like `ios_saf 7.0-7.1` (by Vincent De Oliveira). -* Fix compatibility with `postcss-import` (by Jason Kuhrt). -* Fix Flexbox prefixes for BlackBerry and UC Browser. -* Fix gradient prefixes for old Chrome. - -## 5.0 “Pravda vítězí” -* Use PostCSS 4.0. -* Use Browserslist to parse browsers queries. -* Use global `browserslist` config. -* Add `> 5% in US` query to select browsers by usage in some country. -* Add `object-fit` and `object-position` properties support. -* Add CSS Shape properties support. -* Fix UC Browser name in debug info. -* Remove `autoprefixer.defaults` and use defaults from Browserslist. - -## 4.0.2 -* Remove `o-border-radius`, which is common mistake in legacy CSS. - -## 4.0.1 -* Fix `@supports` support with brackets in values (by Vincent De Oliveira). - -## 4.0 “Indivisibiliter ac Inseparabiliter” -* Become 2.5 times fatser by new PostCSS 3.0 parser. -* Do not remove outdated prefixes by `remove: false` option. -* `map.inline` and `map.sourcesContent` options are now `true` by default. -* Add `box-decoration-break` support. -* Do not add old `-webkit-` prefix for gradients with `px` units. -* Use previous source map to show origin source of CSS syntax error. -* Use `from` option from previous source map `file` field. -* Set `to` value to `from` if `to` option is missing. -* Trim Unicode BOM on source maps parsing. -* Parse at-rules without spaces like `@import"file"`. -* Better previous `sourceMappingURL` annotation comment cleaning. -* Do not remove previous `sourceMappingURL` comment on `map.annotation: false`. - -## 3.1.2 -* Update Firefox ESR version from 24 to 31. - -## 3.1.1 -* Use Flexbox 2009 spec for Android stock browser < 4.4. - -## 3.1 “Satyameva Jayate” -* Do not remove comments from prefixed values (by Eitan Rousso). -* Allow Safari 6.1 to use final Flexbox spec (by John Kreitlow). -* Fix `filter` value in `transition` in Webkits. -* Show greetings if your browsers don’t require any prefixes. -* Add `<=` and `<` browsers requirement (by Andreas Lind). - -## 3.0.1 -* Fix `autoprefixer.postcss` in callbacks. - -## 3.0 “Liberté, Égalité, Fraternité” -* Project was split to autoprefixer (with CLI) and autoprefixer-core. -* `autoprefixer()` now receives only `options` object with `browsers` key. -* GNU format for syntax error messages from PostCSS 2.2. - -## 2.2 “Mobilis in mobili” -* Allow to disable Autoprefixer for some rule by control comment. -* Use PostCSS 2.1 with Safe Mode option and broken source line - in CSS syntax error messages. - -## 2.1.1 -* Fix `-webkit-background-size` hack for `contain` and `cover` values. -* Don’t add `-webkit-` prefix to `filter` with SVG (by Vincent De Oliveira). - -## 2.1 “Eleftheria i thanatos” -* Add support for `clip-path` and `mask` properties. -* Return `-webkit-` prefix to `filter` with SVG URI. - -## 2.0.2 -* Add readable names for new browsers from 2.0 release. -* Don’t add `-webkit-` prefix to `filter` with SVG URI. -* Don’t add `-o-` prefix 3D transforms. - -## 2.0.1 -* Save declaration style, when clone declaration to prefix. - -## 2.0 “Hongik Ingan” -* Based on PostCSS 1.0. - See [options changes](https://github.com/postcss/postcss/releases/tag/1.0.0). -* Restore visual cascade after declaration removing. -* Enable visual cascade by default. -* Prefix declareation in `@supports` at-rule conditions. -* Add all browsers from Can I Use: `ie_mob`, `and_chr`, `and_ff`, - `op_mob` and `op_mini`. -* Allow to use latest Autoprefixer from GitHub by npm. -* Add `--no-cascade`, `--annotation` and `--sources-content` options to binary. - -## 1.3.1 -* Fix gradient hack, when `background` property contains color. - -## 1.3 “Tenka Fubu” -* Add `text-size-adjust` support. -* Add `background-size` to support Android 2. - -## 1.2 “Meiji” -* Use Can I Use data from official `caniuse-db` npm package. -* Remove package data update from binary. -* Use increment value instead of current date in minor versions. - -## 1.1 “Nutrisco et extingo” -* Add source map annotation comment support. -* Add inline source map support. -* Autodetect previous source map. -* Fix source maps support on Windows. -* Fix source maps support in subdirectory. -* Prefix selector even if it is already prefixed by developer. -* Add option `cascade` to create nice visual cascade of prefixes. -* Fix flexbox support for IE 10 (by Roland Warmerdam). -* Better `break-inside` support. -* Fix prefixing, when two same properties are near. - -### 20140222: -* Add `touch-action` support. - -### 20140226: -* Chrome 33 is moved to released versions. -* Add Chrome 36 data. - -### 20140302: -* Add `text-decoration-*` properties support. -* Update browsers usage statistics. -* Use new PostCSS version. - -### 20140319: -* Check already prefixed properties after current declaration. -* Normalize spaces before already prefixed check. -* Firefox 28 is moved to released versions. -* Add Firefox 31 data. -* Add some Blackberry data. - -### 20140327: -* Don’t use `-ms-transform` in `@keyframes`, because IE 9 doesn’t support - animations. -* Update BlackBerry 10 data. - -### 20140403: -* Update browsers usage statistics. -* Opera 20 is moved to released versions. -* Add Opera 22 data. - -### 20140410: -* Chrome 34 is moved to released versions. -* Add Chrome 37 data. -* Fix Chrome 36 data. - -### 20140429: -* Fix `display: inline-flex` support by 2009 spec. -* Fix old WebKit gradient converter (by Sergey Belov). -* Fix CSS 3 cursors data (by Nick Schonning). - -### 20140430: -* Separate 2D and 3D transform prefixes to clean unnecessary `-ms-` prefixes. -* Firefox 29 is moved to released versions. -* Add Firefox 32 data. - -### 20140510 -* Do not add `-ms-` prefix for `transform` with 3D functions. -* Update browsers global usage statistics. - -### 20140512 -* Remove unnecessary `-moz-` prefix for `wavy` in `text-decoration`. -* Update Safari data for font properties. - -### 20140521 -* Chrome 36 is moved to released versions. -* Add Chrome 38 data. - -### 20140523 -* Opera 21 is moved to released versions. -* Add Opera 23 data. - -### 20140605 -* Allow to parse gradients without space between color and position. -* Add iOS 8, Safari 8 and Android 4.4.3 data. -* Update browsers usage statistics. - -## 1.0 “Plus ultra” -* Source map support. -* Save origin indents and code formatting. -* Change CSS parser to PostCSS. -* Preserve vendor-prefixed properties put right after unprefixed ones. -* Rename `compile()` to `process()` and return result object, - instead of CSS string. -* Rename `inspect()` to `info()`. -* Add in binary `-d` option to specify output directory. -* Binary now will not concat output files. -* Allow to select last versions for specified browser. -* Add full browser names aliases: `firefox`, `explorer` and `blackberry`. -* Ignore case in browser names. -* Change license to MIT. -* Add prefixes inside custom at-rules. -* Add only necessary prefixes to selector inside prefixed at-rule. -* Safer backgrounds list parser in gradient hack. -* Prefix `@keyframes` inside `@media`. -* Don’t prefix values for CSS3 PIE properties. -* Binary now shows file name in syntax error. -* Use browserify to build standalone version. - -### 20131225: -* Fix deprecated API convertor. -* Add `::placeholder` support for Firefix >= 18. -* Fix vendor prefixes order. - -### 20140103: -* Add `-webkit-` prefix for `sticky` position. -* Update browsers popularity statistics. - -### 20140109: -* Add selectors and at-rules sections to debug info. -* Fix outdated prefixes cleaning. - -### 20140110: -* Add `Firefox ESR` browser requirement. -* Opera 18 is moved to released versions. -* Add Opera 20 data. - -### 20140117: -* Chrome 32 is moved to released versions. -* Add Opera 34 data. - -### 20140130: -* Fix flexbox properties names in transitions. -* Add Chrome 35 and Firefox 29 data. - -### 20140203: -* Android 4.4 stock browser and Opera 19 are moved to released versions. -* Add Opera 21 data. -* Update browsers usage statistics. - -### 20140213: -* Add case insensitive to IE’s filter hack (by Dominik Schilling). -* Improve selector prefixing in some rare cases (by Simon Lydell). -* Firefox 27 is moved to released versions. -* Add Firefox 30 data. - -## 0.8 “Unbowed, Unbent, Unbroken” -* Add more browsers to defaults ("> 1%, last 2 versions, ff 17, opera 12.1" - instead of just "last 2 browsers"). -* Keep vendor prefixes without unprefixed version (like vendor-specific hacks). -* Convert gradients to old WebKit syntax (actual for Android 2.3). -* Better support for several syntaxes with one prefix (like Flexbox and - gradients in WebKit). -* Add intrinsic and extrinsic sizing values support. -* Remove never existed prefixes from common mistakes (like -ms-transition). -* Add Opera 17 data. -* Fix selector prefixes order. -* Fix browser versions order in inspect. - -### 20130903: -* Fix old WebKit gradients convertor on rgba() colors. -* Allow to write old direction syntax in gradients. - -### 20130906: -* Fix direction syntax in radial gradients. -* Don’t prefix IE filter with modern syntax. - -### 20130911: -* Fix parsing property name with spaces. - -### 20130919: -* Fix processing custom framework prefixes (by Johannes J. Schmidt). -* Concat outputs if several files compiled to one output. -* Decrease standalone build size by removing unnecessary Binary class. -* iOS 7 is moved to released versions. -* Clean up binary code (by Simon Lydell). - -### 20130923: -* Firefox 24 is moved to released versions. - -### 20131001: -* Add support for grab, grabbing, zoom-in and zoom-out cursor values. - -### 20131006: -* Chrome 30 is moved to released versions. - -### 20131007: -* Don’t add another prefixes in rule with prefixed selector. - -### 20131009: -* Opera 17 is moved to released versions. - -### 20131015: -* Fix converting multiple gradients to old webkit syntax (by Aleksei Androsov). - -### 20131017: -* Fix @host at-rule parsing. - -### 20131020: -* IE 11 and Andrid 4.3 is moved to released versions. -* Add Opera 18 data. -* Add @namespace support. -* Sort browser versions in data file. - -### 20131029: -* Add Safari 6.1 data. -* Add fx alias for Firefox. - -### 20131104: -* Update Android future version to 4.4. -* Google Chrome 32 added to future versions list. -* Firefox 25 now is actual version, 27 and 28 added to future versions. -* Browsers statistics are updated. - -### 20131205: -* Google Chrome 33 added to future releases list. -* Google Chrome 31 moved to current releases list. - -### 20131209: -* Use old webkit gradients for old iOS and Safari (by Chad von Nau). -* Fix direction conversion for old webkit gradients (by Chad von Nau). -* Update browsers popularity statistics. - -### 20131213: -* Firefox ESR in default browsers was changed to 24 version. -* Firefox 26 was moved to current releases list. -* Firefox 28 was added to future releases list. - -## 0.7 “We Do Not Sow” -* Add vendor prefixes to selectors. -* Add ::selection and ::placeholder selectors support. -* Allow to load support data from Can I Use pull requests. -* Remove deprecated API. - -### 20130806: -* Add hyphens support. - -### 20130807: -* Add tab-size support. -* Add :fullscreen support. - -### 20130808: -* Allow to select browser versions by > and >= operator. -* Fix flex properties in transition. - -### 20130810: -* Add Firefox 25 data. - -### 20130824: -* Add Chrome 31 and 30 data. -* Fix CSS comments parsing (by vladkens). - -## 0.6 “As High As Honor” -* New faster API, which cache preprocessed data. Old API is deprecated. -* A lot of perfomance improvements. -* Add Opera 15 -webkit- prefix support. -* Update Chrome 29 and Safari 7 prefixes data. -* Add minor browsers in popularity select. -* Better syntax error messages. - -### 20130721: -* Add Chrome 30 data. - -### 20130728: -* Don’t remove non-standard -webkit-background-clip: text. -* Don’t remove IE hack on CSS parse. - -### 20130729: -* Add Opera 16 data. -* Fix “Invalid range in character class” error on Firefox. - -### 20130730: -* Fix correct clone comments inside keyframes (by Alexey Plutalov). -* Fix angle recalculation in gradients (by Roman Komarov). - -### 20130731: -* Add border-image support. - -## 0.5 “Ours is the Fury” -* Rewrite Autoprefixer to be more flexible. -* Use css, instead of Rework, to fix CSS parsing errors faster. -* Fix a lot of CSS parsing errors. - -### 20130616: -* More useful message for CSS parsing errors. -* Remove old WebKit gradient syntax. -* Fix parsing error on comment with braces. - -### 20130617: -* Remove old Mozilla border-radius. -* Don’t prefix old IE filter. -* Remove old background-clip, background-size and background-origin prefixes. -* Speed up regexps in values. -* Allow to hack property declarations. - -### 20130625: -* Convert flexbox properties to 2009 and 2012 specifications. -* Improve messages on syntax errors. - -### 20130626: -* Add Firefox 24 data. -* Add prefixes for font-feature-settings. - -### 20130629: -* Fix convert flex properties to old box-flex. - -## 0.4 “Winter Is Coming” -* Remove outdated prefixes. -* Add border-radius and box-shadow properties to database. -* Change degrees in webkit gradients. - -### 20130515: -* Add old syntax in gradient direction. -* Add old syntax for display: flex. -* Update browser global usage statistics. - -### 20130521: -* Add Firefox 23 data. - -### 20130524: -* Add Chrome 29 data. - -### 20130528: -* Fix compatibilty with Rework from git master. -* Add minor browsers to data, which can be selected only directly. - -### 20130530: -* Add Opera 15 and iOS 6.1 data. -* Fix iOS versions in properties and values data. - -### 20130603: -* Use latest Rework 0.15 with a lot of CSS parsing fixes. -* Update browsers usage statistics. - -## 0.3 “Growing Strong” -* Rename `autoprefixer.filter()` to `autoprefixer.rework()`. -* Use own filters instead of Rework’s `prefix` and `prefixValue`. -* Smarter value prefixer without false match “order” in “border”. -* 40% faster. -* Don’t add unnecessary properties instead of Rework’s `prefixValue`. -* Don’t change properties order. -* Sort properties and values in inspect output. -* Add main to component config (by Jonathan Ong). -* Fix documentation (by Sergey Leschina and Mark Vasilkov). - -### 20130424: -* Fix value override in prefixer. - -### 20130427: -* Prefix several same values in one property. -* Fix Windows support in binary. -* Improve print errors in binary. - -### 20130502: -* Don’t add -webkit- prefix to IE filter. -* Don’t duplicate prefixes on second run. - -## 0.2 “Hear Me Roar!” -* Update parse libraries. -* Use component package manager to build standalone script. -* Add inspect to standalone script. - -## 0.1 “Fire and Blood” -* Initial release. diff --git a/publi/node_modules/autoprefixer/LICENSE b/publi/node_modules/autoprefixer/LICENSE deleted file mode 100644 index da057b4..0000000 --- a/publi/node_modules/autoprefixer/LICENSE +++ /dev/null @@ -1,20 +0,0 @@ -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. diff --git a/publi/node_modules/autoprefixer/README.md b/publi/node_modules/autoprefixer/README.md deleted file mode 100644 index 259a76b..0000000 --- a/publi/node_modules/autoprefixer/README.md +++ /dev/null @@ -1,617 +0,0 @@ -# Autoprefixer [![Build Status][ci-img]][ci] - - - -[PostCSS] plugin to parse CSS and add vendor prefixes to CSS rules using values -from [Can I Use]. It is [recommended] by Google and used in Twitter and Taobao. - -Write your CSS rules without vendor prefixes (in fact, forget about them -entirely): - -```css -:fullscreen a { - display: flex; -} -``` - -Autoprefixer will use the data based on current browser popularity and property -support to apply prefixes for you. You can try the [interactive demo] -of Autoprefixer. - -```css -:-webkit-full-screen a { - display: -webkit-box; - display: flex; -} -:-moz-full-screen a { - display: flex; -} -:-ms-fullscreen a { - display: -ms-flexbox; - display: flex; -} -:fullscreen a { - display: -webkit-box; - display: -ms-flexbox; - display: flex; -} -``` - -Twitter account for news and releases: [@autoprefixer]. - - -Sponsored by Evil Martians - - -[interactive demo]: http://autoprefixer.github.io/ -[@autoprefixer]: https://twitter.com/autoprefixer -[recommended]: https://developers.google.com/web/tools/setup/setup-buildtools#dont_trip_up_with_vendor_prefixes -[Can I Use]: http://caniuse.com/ -[PostCSS]: https://github.com/postcss/postcss -[ci-img]: https://travis-ci.org/postcss/autoprefixer.svg -[ci]: https://travis-ci.org/postcss/autoprefixer - -## Features - -### Write Pure CSS - -Working with Autoprefixer is simple: just forget about vendor prefixes -and write normal CSS according to the latest W3C specs. You don’t need -a special language (like Sass) or remember where you must use mixins. - -Autoprefixer supports selectors (like `:fullscreen` and `::selection`), -unit function (`calc()`), at‑rules (`@supports` and `@keyframes`) -and properties. - -Because Autoprefixer is a postprocessor for CSS, -you can also use it with preprocessors such as Sass, Stylus or LESS. - -### Flexbox, Filters, etc. - -Just write normal CSS according to the latest W3C specs and Autoprefixer -will produce the code for old browsers. - -```css -a { - display: flex; -} -``` - -compiles to: - -```css -a { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; -} -``` - -Autoprefixer has [27 special hacks] to fix web browser differences. - -[27 special hacks]: https://github.com/postcss/autoprefixer/tree/master/lib/hacks - -### Only Actual Prefixes - -Autoprefixer utilizes the most recent data from [Can I Use] -to add only necessary vendor prefixes. - -It also removes old, unnecessary prefixes from your CSS -(like `border-radius` prefixes, produced by many CSS libraries). - -```css -a { - -webkit-border-radius: 5px; - border-radius: 5px; -} -``` - -compiles to: - -```css -a { - border-radius: 5px; -} -``` - -[Can I Use]: http://caniuse.com/ - -## Browsers - -Autoprefixer uses [Browserslist], so you can specify the browsers -you want to target in your project by queries like `last 2 versions` -or `> 5%`. - -The best way to provide browsers is `browserslist` config -or `package.json` with `browserslist` key. Put it in your project root. - -We recommend to avoid Autoprefixer option and use `browserslist` config -or `package.json`. In this case browsers will be shared with other tools -like [babel-preset-env] or [Stylelint]. - -See [Browserslist docs] for queries, browser names, config format, -and default value. - -[Browserslist docs]: https://github.com/ai/browserslist#queries -[babel-preset-env]: https://github.com/babel/babel-preset-env -[Browserslist]: https://github.com/ai/browserslist -[Stylelint]: http://stylelint.io/ - -## Outdated Prefixes - -By default, Autoprefixer also removes outdated prefixes. - -You can disable this behavior with the `remove: false` option. If you have -no legacy code, this option will make Autoprefixer about 10% faster. - -Also, you can set the `add: false` option. Autoprefixer will only clean outdated -prefixes, but will not add any new prefixes. - -Autoprefixer adds new prefixes between any unprefixed properties and already -written prefixes in your CSS. If it will break the expected prefixes order, -you can clean all prefixes from your CSS and then -add the necessary prefixes again: - -```js -var cleaner = postcss([ autoprefixer({ add: false, browsers: [] }) ]); -var prefixer = postcss([ autoprefixer ]); - -cleaner.process(css).then(function (cleaned) { - return prefixer.process(cleaned.css); -}).then(function (result) { - console.log(result.css); -}); -``` - -## FAQ - -#### No prefixes in production - -Many other tools contain Autoprefixer. For example, webpack uses Autoprefixer -to minify CSS by cleaning unnecessary prefixes. - -If you set browsers list to Autoprefixer by `browsers` option, only first -Autoprefixer will know your browsers. Autoprefixer inside webpack will use -default browsers list. As result, webpack will remove prefixes, that first -Autoprefixer added. - -You need to put your browsers to [`browserslist` config] in project root — -as result all tools (Autoprefixer, cssnano, doiuse, cssnext) will use same -browsers list. - -[`browserslist` config]: https://github.com/ai/browserslist#config-file - -#### What is unprefixed version for `-webkit-min-device-pixel-ratio`? - -```css -@media (min-resolution: 2dppx) { - .image { - background-image: url(image@2x.png); - } -} -``` - -Will be compiled to: - -```css -@media (-webkit-min-device-pixel-ratio: 2), - (-o-min-device-pixel-ratio: 2/1), - (min-resolution: 2dppx) { - .image { - background-image: url(image@2x.png); - } -} -``` - -#### Does it add polyfills? - -No. Autoprefixer only adds prefixes. - -Most new CSS features will require client side JavaScript to handle a new -behavior correctly. - -Depending on what you consider to be a “polyfill”, you can take a look at some -other tools and libraries. If you are just looking for syntax sugar, -you might take a look at: - -- [Oldie], a PostCSS plugin that handles some IE hacks (opacity, rgba, etc). -- [postcss-flexbugs-fixes], a PostCSS plugin to fix flexbox issues. -- [cssnext], a tool that allows you to write standard CSS syntax non-implemented - yet in browsers (custom properties, custom media, color functions, etc). - -[postcss-flexbugs-fixes]: https://github.com/luisrudge/postcss-flexbugs-fixes -[cssnext]: https://github.com/MoOx/postcss-cssnext -[Oldie]: https://github.com/jonathantneal/oldie - -#### Why doesn’t Autoprefixer add prefixes to `border-radius`? - -Developers are often surprised by how few prefixes are required today. -If Autoprefixer doesn’t add prefixes to your CSS, check if they’re still -required on [Can I Use]. - -There is a [list with all supported] properties, values, and selectors. - -[list with all supported]: https://github.com/postcss/autoprefixer/wiki/support-list -[Can I Use]: http://caniuse.com/ - -#### Why Autoprefixer uses unprefixed properties in `@-webkit-keyframes`? - -Browser teams can remove some prefixes before others. So we try to use -all combinations of prefixed/unprefixed values. - -#### How to work with legacy `-webkit-` only code? - -Autoprefixer needs unprefixed property to add prefixes. So if you only -wrote `-webkit-gradient` without W3C’s `gradient`, -Autoprefixer will not add other prefixes. - -But [PostCSS] has a plugins to convert CSS to unprefixed state. -Use [postcss-unprefix] before Autoprefixer. - -[postcss-unprefix]: https://github.com/gucong3000/postcss-unprefix - -#### Does Autoprefixer add `-epub-` prefix? - -No, Autoprefixer works only with browsers prefixes from Can I Use. -But you can use [postcss-epub](https://github.com/Rycochet/postcss-epub) -for prefixing ePub3 properties. - -#### Why doesn’t Autoprefixer transform generic font-family `system-ui`? - -`system-ui` is technically not a prefix and the transformation is not future-proof. But you can use [postcss-font-family-system-ui](https://github.com/JLHwung/postcss-font-family-system-ui) to transform `system-ui` to a practical font-family list. - -## Usage - -### Gulp - -In Gulp you can use [gulp-postcss] with `autoprefixer` npm package. - -```js -gulp.task('autoprefixer', function () { - var postcss = require('gulp-postcss'); - var sourcemaps = require('gulp-sourcemaps'); - var autoprefixer = require('autoprefixer'); - - return gulp.src('./src/*.css') - .pipe(sourcemaps.init()) - .pipe(postcss([ autoprefixer() ])) - .pipe(sourcemaps.write('.')) - .pipe(gulp.dest('./dest')); -}); -``` - -With `gulp-postcss` you also can combine Autoprefixer -with [other PostCSS plugins]. - -[other PostCSS plugins]: https://github.com/postcss/postcss#plugins -[gulp-postcss]: https://github.com/postcss/gulp-postcss - -### Webpack - -In [webpack] you can use [postcss-loader] with `autoprefixer` -and [other PostCSS plugins]. - -```js -module.exports = { - module: { - rules: [ - { - test: /\.css$/, - use: ["style-loader", "css-loader", "postcss-loader"] - } - ] - } -} -``` - -And create a `postcss.config.js` with: - -```js -module.exports = { - plugins: [ - require('autoprefixer') - ] -} -``` - -[other PostCSS plugins]: https://github.com/postcss/postcss#plugins -[postcss-loader]: https://github.com/postcss/postcss-loader -[webpack]: http://webpack.github.io/ - -### Grunt - -In Grunt you can use [grunt-postcss] with `autoprefixer` npm package. - -```js -module.exports = function(grunt) { - grunt.loadNpmTasks('grunt-postcss'); - - grunt.initConfig({ - postcss: { - options: { - map: true, - processors: [ - require('autoprefixer') - ] - }, - dist: { - src: 'css/*.css' - } - } - }); - - grunt.registerTask('default', ['postcss:dist']); -}; -``` - -With `grunt-postcss` you also can combine Autoprefixer -with [other PostCSS plugins]. - -[other PostCSS plugins]: https://github.com/postcss/postcss#plugins -[grunt-postcss]: https://github.com/nDmitry/grunt-postcss - -### Other Build Tools: - -* **Ruby on Rails**: [autoprefixer-rails] -* **Neutrino**: [neutrino-middleware-postcss] -* **Jekyll**: add `autoprefixer-rails` and `jekyll-assets` to `Gemfile` -* **Brunch**: [postcss-brunch] -* **Broccoli**: [broccoli-postcss] -* **Middleman**: [middleman-autoprefixer] -* **Mincer**: add `autoprefixer` npm package and enable it: - `environment.enable('autoprefixer')` - -[neutrino-middleware-postcss]: https://www.npmjs.com/package/neutrino-middleware-postcss -[middleman-autoprefixer]: https://github.com/middleman/middleman-autoprefixer -[autoprefixer-rails]: https://github.com/ai/autoprefixer-rails -[broccoli-postcss]: https://github.com/jeffjewiss/broccoli-postcss -[postcss-brunch]: https://github.com/iamvdo/postcss-brunch - -### Preprocessors - -* **Less**: [less-plugin-autoprefix] -* **Stylus**: [autoprefixer-stylus] -* **Compass**: [autoprefixer-rails#compass] - -[less-plugin-autoprefix]: https://github.com/less/less-plugin-autoprefix -[autoprefixer-stylus]: https://github.com/jenius/autoprefixer-stylus -[autoprefixer-rails#compass]: https://github.com/ai/autoprefixer-rails#compass - -### CSS-in-JS - -There is [postcss-js] to use Autoprefixer in React Inline Styles, [Free Style], -Radium and other CSS-in-JS solutions. - -```js -let prefixer = postcssJs.sync([ autoprefixer ]); -let style = prefixer({ - display: 'flex' -}); -``` - -[postcss-js]: https://github.com/postcss/postcss-js -[Free Style]: https://github.com/blakeembrey/free-style - -### GUI Tools - -* [CodeKit](https://codekitapp.com/help/autoprefixer/) -* [Prepros](https://prepros.io) - -### CLI - -You can use the [postcss-cli] to run Autoprefixer from CLI: - -```sh -npm install postcss-cli autoprefixer -npx postcss *.css --use autoprefixer -d build/ -``` - -See `postcss -h` for help. - -[postcss-cli]: https://github.com/postcss/postcss-cli - -### JavaScript - -You can use Autoprefixer with [PostCSS] in your Node.js application -or if you want to develop an Autoprefixer plugin for new environment. - -```js -var autoprefixer = require('autoprefixer'); -var postcss = require('postcss'); - -postcss([ autoprefixer ]).process(css).then(function (result) { - result.warnings().forEach(function (warn) { - console.warn(warn.toString()); - }); - console.log(result.css); -}); -``` - -There is also [standalone build] for the browser or as a non-Node.js runtime. - -You can use [html-autoprefixer] to process HTML with inlined CSS. - -[html-autoprefixer]: https://github.com/RebelMail/html-autoprefixer -[standalone build]: https://raw.github.com/ai/autoprefixer-rails/master/vendor/autoprefixer.js -[PostCSS]: https://github.com/postcss/postcss - -### Text Editors and IDE - -Autoprefixer should be used in assets build tools. Text editor plugins are not -a good solution, because prefixes decrease code readability and you will need -to change value in all prefixed properties. - -I recommend you to learn how to use build tools like [Gulp]. -They work much better and will open you a whole new world of useful plugins -and automatization. - -But, if you can’t move to a build tool, you can use text editor plugins: - -* [Sublime Text](https://github.com/sindresorhus/sublime-autoprefixer) -* [Brackets](https://github.com/mikaeljorhult/brackets-autoprefixer) -* [Atom Editor](https://github.com/sindresorhus/atom-autoprefixer) -* [Visual Studio](http://vswebessentials.com/) - -[Gulp]: http://gulpjs.com/ - -## Warnings - -Autoprefixer uses the [PostCSS warning API] to warn about really important problems -in your CSS: - -* Old direction syntax in gradients. -* Old unprefixed `display: box` instead of `display: flex` - by latest specification version. - -You can get warnings from `result.warnings()`: - -```js -result.warnings().forEach(function (warn) { - console.warn(warn.toString()); -}); -``` - -Every Autoprefixer runner should display this warnings. - -[PostCSS warning API]: https://github.com/postcss/postcss/blob/master/docs/api.md#warning-class - -## Disabling - -Autoprefixer was designed to have no interface – it just works. -If you need some browser specific hack just write a prefixed property -after the unprefixed one. - -```css -a { - transform: scale(0.5); - -moz-transform: scale(0.6); -} -``` - -If some prefixes were generated in a wrong way, -please create an issue on GitHub. - -Autoprefixer has 4 features, which can be enabled or disabled by options: - -* `supports: false` will disable `@supports` parameters prefixing. -* `flexbox: false` will disable flexbox properties prefixing. - Or `flexbox: "no-2009"` will add prefixes only for final and IE - versions of specification. -* `remove: false` will disable cleaning outdated prefixes. -* `grid: true` will enable Grid Layout prefixes for IE. - -If you do not need Autoprefixer in some part of your CSS, -you can use control comments to disable Autoprefixer. - -```css -a { - transition: 1s; /* it will be prefixed */ -} - -b { - /* autoprefixer: off */ - transition: 1s; /* it will not be prefixed */ -} -``` - -Control comments disable Autoprefixer within the whole rule in which -you place it. In the above example, Autoprefixer will be disabled -in the entire `b` rule scope, not only after the comment. - -You can also use comments recursively: - -```css -/* autoprefixer: off */ -@supports (transition: all) { - /* autoprefixer: on */ - a { - /* autoprefixer: off */ - } -} -``` - -In Sass/SCSS you can use all the disable options above, add an exclamation mark -in the start of comment: `/*! autoprefixer: off */`. - -## Options - -Function `autoprefixer(options)` returns new PostCSS plugin. -See [PostCSS API] for plugin usage documentation. - -```js -var plugin = autoprefixer({ cascade: false }); -``` - -There are 8 options: - -* `browsers` (array): list of browsers query (like `last 2 versions`), - which are supported in your project. We recommend to use `browserslist` - config or `browserslist` key in `package.json`, rather than this option - to share browsers with other tools. See [Browserslist docs] for available - queries and default value. -* `env` (string): environment for Browserslist. -* `cascade` (boolean): should Autoprefixer use Visual Cascade, - if CSS is uncompressed. Default: `true` -* `add` (boolean): should Autoprefixer add prefixes. Default is `true`. -* `remove` (boolean): should Autoprefixer [remove outdated] prefixes. - Default is `true`. -* `supports` (boolean): should Autoprefixer add prefixes for `@supports` - parameters. Default is `true`. -* `flexbox` (boolean|string): should Autoprefixer add prefixes for flexbox - properties. With `"no-2009"` value Autoprefixer will add prefixes only - for final and IE versions of specification. Default is `true`. -* `grid` (boolean): should Autoprefixer add IE prefixes for Grid Layout - properties. Default is `false`. -* `stats` (object): custom [usage statistics] for `> 10% in my stats` - browsers query. - -Plugin object has `info()` method for debugging purpose. - -You can use PostCSS processor to process several CSS files -to increase performance. - -[usage statistics]: https://github.com/ai/browserslist#custom-usage-data -[PostCSS API]: http://api.postcss.org - -## Debug - -Run `npx autoprefixer-info` in your project directory to check -which browsers are selected and which properties will be prefixed: - -``` -$ npx autoprefixer-info -Browsers: - Edge: 16 - -These browsers account for 0.04% of all users globally - -At-Rules: - @viewport: ms - -Selectors: - ::placeholder: ms - -Properties: - user-select: ms - hyphens: ms - appearance: webkit - scroll-snap-type: ms - scroll-snap-coordinate: ms - scroll-snap-destination: ms - scroll-snap-points-x: ms - scroll-snap-points-y: ms - flow-into: ms - flow-from: ms - region-fragment: ms - text-spacing: ms -``` - -JS API is also available: - -```js -var info = autoprefixer().info(); -console.log(info); -``` diff --git a/publi/node_modules/autoprefixer/bin/autoprefixer-info b/publi/node_modules/autoprefixer/bin/autoprefixer-info deleted file mode 100755 index c9f5fbf..0000000 --- a/publi/node_modules/autoprefixer/bin/autoprefixer-info +++ /dev/null @@ -1,3 +0,0 @@ -#!/usr/bin/env node - -process.stdout.write(require('../')().info() + '\n'); diff --git a/publi/node_modules/autoprefixer/data/prefixes.js b/publi/node_modules/autoprefixer/data/prefixes.js deleted file mode 100644 index 229410a..0000000 --- a/publi/node_modules/autoprefixer/data/prefixes.js +++ /dev/null @@ -1,705 +0,0 @@ -'use strict'; - -var unpack = require('caniuse-lite').feature; - -var browsersSort = function browsersSort(a, b) { - a = a.split(' '); - b = b.split(' '); - if (a[0] > b[0]) { - return 1; - } else if (a[0] < b[0]) { - return -1; - } else { - return Math.sign(parseFloat(a[1]) - parseFloat(b[1])); - } -}; - -// Convert Can I Use data -function f(data, opts, callback) { - data = unpack(data); - - if (!callback) { - var _ref = [opts, {}]; - callback = _ref[0]; - opts = _ref[1]; - } - - var match = opts.match || /\sx($|\s)/; - var need = []; - - for (var browser in data.stats) { - var versions = data.stats[browser]; - for (var version in versions) { - var support = versions[version]; - if (support.match(match)) { - need.push(browser + ' ' + version); - } - } - } - - callback(need.sort(browsersSort)); -} - -// Add data for all properties -var result = {}; - -var prefix = function prefix(names, data) { - for (var _iterator = names, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) { - var _ref2; - - if (_isArray) { - if (_i >= _iterator.length) break; - _ref2 = _iterator[_i++]; - } else { - _i = _iterator.next(); - if (_i.done) break; - _ref2 = _i.value; - } - - var name = _ref2; - - result[name] = Object.assign({}, data); - } -}; - -var add = function add(names, data) { - for (var _iterator2 = names, _isArray2 = Array.isArray(_iterator2), _i2 = 0, _iterator2 = _isArray2 ? _iterator2 : _iterator2[Symbol.iterator]();;) { - var _ref3; - - if (_isArray2) { - if (_i2 >= _iterator2.length) break; - _ref3 = _iterator2[_i2++]; - } else { - _i2 = _iterator2.next(); - if (_i2.done) break; - _ref3 = _i2.value; - } - - var name = _ref3; - - result[name].browsers = result[name].browsers.concat(data.browsers).sort(browsersSort); - } -}; - -module.exports = result; - -// Border Radius -f(require('caniuse-lite/data/features/border-radius.js'), function (browsers) { - return prefix(['border-radius', 'border-top-left-radius', 'border-top-right-radius', 'border-bottom-right-radius', 'border-bottom-left-radius'], { - mistakes: ['-khtml-', '-ms-', '-o-'], - feature: 'border-radius', - browsers: browsers - }); -}); - -// Box Shadow -f(require('caniuse-lite/data/features/css-boxshadow.js'), function (browsers) { - return prefix(['box-shadow'], { - mistakes: ['-khtml-'], - feature: 'css-boxshadow', - browsers: browsers - }); -}); - -// Animation -f(require('caniuse-lite/data/features/css-animation.js'), function (browsers) { - return prefix(['animation', 'animation-name', 'animation-duration', 'animation-delay', 'animation-direction', 'animation-fill-mode', 'animation-iteration-count', 'animation-play-state', 'animation-timing-function', '@keyframes'], { - mistakes: ['-khtml-', '-ms-'], - feature: 'css-animation', - browsers: browsers - }); -}); - -// Transition -f(require('caniuse-lite/data/features/css-transitions.js'), function (browsers) { - return prefix(['transition', 'transition-property', 'transition-duration', 'transition-delay', 'transition-timing-function'], { - mistakes: ['-khtml-', '-ms-'], - browsers: browsers, - feature: 'css-transitions' - }); -}); - -// Transform 2D -f(require('caniuse-lite/data/features/transforms2d.js'), function (browsers) { - return prefix(['transform', 'transform-origin'], { - feature: 'transforms2d', - browsers: browsers - }); -}); - -// Transform 3D -var transforms3d = require('caniuse-lite/data/features/transforms3d.js'); - -f(transforms3d, function (browsers) { - prefix(['perspective', 'perspective-origin'], { - feature: 'transforms3d', - browsers: browsers - }); - return prefix(['transform-style'], { - mistakes: ['-ms-', '-o-'], - browsers: browsers, - feature: 'transforms3d' - }); -}); - -f(transforms3d, { match: /y\sx|y\s#2/ }, function (browsers) { - return prefix(['backface-visibility'], { - mistakes: ['-ms-', '-o-'], - feature: 'transforms3d', - browsers: browsers - }); -}); - -// Gradients -var gradients = require('caniuse-lite/data/features/css-gradients.js'); - -f(gradients, { match: /y\sx/ }, function (browsers) { - return prefix(['linear-gradient', 'repeating-linear-gradient', 'radial-gradient', 'repeating-radial-gradient'], { - props: ['background', 'background-image', 'border-image', 'mask', 'list-style', 'list-style-image', 'content', 'mask-image'], - mistakes: ['-ms-'], - feature: 'css-gradients', - browsers: browsers - }); -}); - -f(gradients, { match: /a\sx/ }, function (browsers) { - browsers = browsers.map(function (i) { - if (/op/.test(i)) { - return i; - } else { - return i + ' old'; - } - }); - return add(['linear-gradient', 'repeating-linear-gradient', 'radial-gradient', 'repeating-radial-gradient'], { - feature: 'css-gradients', - browsers: browsers - }); -}); - -// Box sizing -f(require('caniuse-lite/data/features/css3-boxsizing.js'), function (browsers) { - return prefix(['box-sizing'], { - feature: 'css3-boxsizing', - browsers: browsers - }); -}); - -// Filter Effects -f(require('caniuse-lite/data/features/css-filters.js'), function (browsers) { - return prefix(['filter'], { - feature: 'css-filters', - browsers: browsers - }); -}); - -// filter() function -f(require('caniuse-lite/data/features/css-filter-function.js'), function (browsers) { - return prefix(['filter-function'], { - props: ['background', 'background-image', 'border-image', 'mask', 'list-style', 'list-style-image', 'content', 'mask-image'], - feature: 'css-filter-function', - browsers: browsers - }); -}); - -// Backdrop-filter -f(require('caniuse-lite/data/features/css-backdrop-filter.js'), function (browsers) { - return prefix(['backdrop-filter'], { - feature: 'css-backdrop-filter', - browsers: browsers - }); -}); - -// element() function -f(require('caniuse-lite/data/features/css-element-function.js'), function (browsers) { - return prefix(['element'], { - props: ['background', 'background-image', 'border-image', 'mask', 'list-style', 'list-style-image', 'content', 'mask-image'], - feature: 'css-element-function', - browsers: browsers - }); -}); - -// Multicolumns -f(require('caniuse-lite/data/features/multicolumn.js'), function (browsers) { - prefix(['columns', 'column-width', 'column-gap', 'column-rule', 'column-rule-color', 'column-rule-width'], { - feature: 'multicolumn', - browsers: browsers - }); - - prefix(['column-count', 'column-rule-style', 'column-span', 'column-fill', 'break-before', 'break-after', 'break-inside'], { - feature: 'multicolumn', - browsers: browsers - }); -}); - -// User select -f(require('caniuse-lite/data/features/user-select-none.js'), function (browsers) { - return prefix(['user-select'], { - mistakes: ['-khtml-'], - feature: 'user-select-none', - browsers: browsers - }); -}); - -// Flexible Box Layout -var flexbox = require('caniuse-lite/data/features/flexbox.js'); -f(flexbox, { match: /a\sx/ }, function (browsers) { - browsers = browsers.map(function (i) { - if (/ie|firefox/.test(i)) { - return i; - } else { - return i + ' 2009'; - } - }); - prefix(['display-flex', 'inline-flex'], { - props: ['display'], - feature: 'flexbox', - browsers: browsers - }); - prefix(['flex', 'flex-grow', 'flex-shrink', 'flex-basis'], { - feature: 'flexbox', - browsers: browsers - }); - prefix(['flex-direction', 'flex-wrap', 'flex-flow', 'justify-content', 'order', 'align-items', 'align-self', 'align-content'], { - feature: 'flexbox', - browsers: browsers - }); -}); - -f(flexbox, { match: /y\sx/ }, function (browsers) { - add(['display-flex', 'inline-flex'], { - feature: 'flexbox', - browsers: browsers - }); - add(['flex', 'flex-grow', 'flex-shrink', 'flex-basis'], { - feature: 'flexbox', - browsers: browsers - }); - add(['flex-direction', 'flex-wrap', 'flex-flow', 'justify-content', 'order', 'align-items', 'align-self', 'align-content'], { - feature: 'flexbox', - browsers: browsers - }); -}); - -// calc() unit -f(require('caniuse-lite/data/features/calc.js'), function (browsers) { - return prefix(['calc'], { - props: ['*'], - feature: 'calc', - browsers: browsers - }); -}); - -// Background options -f(require('caniuse-lite/data/features/background-img-opts.js'), function (browsers) { - return prefix(['background-clip', 'background-origin', 'background-size'], { - feature: 'background-img-opts', - browsers: browsers - }); -}); - -// Font feature settings -f(require('caniuse-lite/data/features/font-feature.js'), function (browsers) { - return prefix(['font-feature-settings', 'font-variant-ligatures', 'font-language-override'], { - feature: 'font-feature', - browsers: browsers - }); -}); - -// CSS font-kerning property -f(require('caniuse-lite/data/features/font-kerning.js'), function (browsers) { - return prefix(['font-kerning'], { - feature: 'font-kerning', - browsers: browsers - }); -}); - -// Border image -f(require('caniuse-lite/data/features/border-image.js'), function (browsers) { - return prefix(['border-image'], { - feature: 'border-image', - browsers: browsers - }); -}); - -// Selection selector -f(require('caniuse-lite/data/features/css-selection.js'), function (browsers) { - return prefix(['::selection'], { - selector: true, - feature: 'css-selection', - browsers: browsers - }); -}); - -// Placeholder selector -f(require('caniuse-lite/data/features/css-placeholder.js'), function (browsers) { - browsers = browsers.map(function (i) { - var _i$split = i.split(' '), - name = _i$split[0], - version = _i$split[1]; - - if (name === 'firefox' && parseFloat(version) <= 18) { - return i + ' old'; - } else if (name === 'ie') { - return i + ' old'; - } else { - return i; - } - }); - - prefix(['::placeholder'], { - selector: true, - feature: 'css-placeholder', - browsers: browsers - }); -}); - -// Hyphenation -f(require('caniuse-lite/data/features/css-hyphens.js'), function (browsers) { - return prefix(['hyphens'], { - feature: 'css-hyphens', - browsers: browsers - }); -}); - -// Fullscreen selector -var fullscreen = require('caniuse-lite/data/features/fullscreen.js'); - -f(fullscreen, function (browsers) { - return prefix([':fullscreen'], { - selector: true, - feature: 'fullscreen', - browsers: browsers - }); -}); - -f(fullscreen, { match: /x(\s#2|$)/ }, function (browsers) { - return prefix(['::backdrop'], { - selector: true, - feature: 'fullscreen', - browsers: browsers - }); -}); - -// Tab size -f(require('caniuse-lite/data/features/css3-tabsize.js'), function (browsers) { - return prefix(['tab-size'], { - feature: 'css3-tabsize', - browsers: browsers - }); -}); - -// Intrinsic & extrinsic sizing -f(require('caniuse-lite/data/features/intrinsic-width.js'), function (browsers) { - return prefix(['max-content', 'min-content', 'fit-content', 'fill', 'fill-available', 'stretch'], { - props: ['width', 'min-width', 'max-width', 'height', 'min-height', 'max-height', 'inline-size', 'min-inline-size', 'max-inline-size', 'block-size', 'min-block-size', 'max-block-size', 'grid', 'grid-template', 'grid-template-rows', 'grid-template-columns', 'grid-auto-columns', 'grid-auto-rows'], - feature: 'intrinsic-width', - browsers: browsers - }); -}); - -// Zoom cursors -f(require('caniuse-lite/data/features/css3-cursors-newer.js'), function (browsers) { - return prefix(['zoom-in', 'zoom-out'], { - props: ['cursor'], - feature: 'css3-cursors-newer', - browsers: browsers - }); -}); - -// Grab cursors -f(require('caniuse-lite/data/features/css3-cursors-grab.js'), function (browsers) { - return prefix(['grab', 'grabbing'], { - props: ['cursor'], - feature: 'css3-cursors-grab', - browsers: browsers - }); -}); - -// Sticky position -f(require('caniuse-lite/data/features/css-sticky.js'), function (browsers) { - return prefix(['sticky'], { - props: ['position'], - feature: 'css-sticky', - browsers: browsers - }); -}); - -// Pointer Events -f(require('caniuse-lite/data/features/pointer.js'), function (browsers) { - return prefix(['touch-action'], { - feature: 'pointer', - browsers: browsers - }); -}); - -// Text decoration -var decoration = require('caniuse-lite/data/features/text-decoration.js'); - -f(decoration, function (browsers) { - return prefix(['text-decoration-style', 'text-decoration-color', 'text-decoration-line', 'text-decoration'], { - feature: 'text-decoration', - browsers: browsers - }); -}); - -f(decoration, { match: /x.*#[23]/ }, function (browsers) { - return prefix(['text-decoration-skip'], { - feature: 'text-decoration', - browsers: browsers - }); -}); - -// Text Size Adjust -f(require('caniuse-lite/data/features/text-size-adjust.js'), function (browsers) { - return prefix(['text-size-adjust'], { - feature: 'text-size-adjust', - browsers: browsers - }); -}); - -// CSS Masks -f(require('caniuse-lite/data/features/css-masks.js'), function (browsers) { - prefix(['mask-clip', 'mask-composite', 'mask-image', 'mask-origin', 'mask-repeat', 'mask-border-repeat', 'mask-border-source'], { - feature: 'css-masks', - browsers: browsers - }); - prefix(['mask', 'mask-position', 'mask-size', 'mask-border', 'mask-border-outset', 'mask-border-width', 'mask-border-slice'], { - feature: 'css-masks', - browsers: browsers - }); -}); - -// CSS clip-path property -f(require('caniuse-lite/data/features/css-clip-path.js'), function (browsers) { - return prefix(['clip-path'], { - feature: 'css-clip-path', - browsers: browsers - }); -}); - -// Fragmented Borders and Backgrounds -f(require('caniuse-lite/data/features/css-boxdecorationbreak.js'), function (browsers) { - return prefix(['box-decoration-break'], { - feature: 'css-boxdecorationbreak', - browsers: browsers - }); -}); - -// CSS3 object-fit/object-position -f(require('caniuse-lite/data/features/object-fit.js'), function (browsers) { - return prefix(['object-fit', 'object-position'], { - feature: 'object-fit', - browsers: browsers - }); -}); - -// CSS Shapes -f(require('caniuse-lite/data/features/css-shapes.js'), function (browsers) { - return prefix(['shape-margin', 'shape-outside', 'shape-image-threshold'], { - feature: 'css-shapes', - browsers: browsers - }); -}); - -// CSS3 text-overflow -f(require('caniuse-lite/data/features/text-overflow.js'), function (browsers) { - return prefix(['text-overflow'], { - feature: 'text-overflow', - browsers: browsers - }); -}); - -// Viewport at-rule -f(require('caniuse-lite/data/features/css-deviceadaptation.js'), function (browsers) { - return prefix(['@viewport'], { - feature: 'css-deviceadaptation', - browsers: browsers - }); -}); - -// Resolution Media Queries -var resolut = require('caniuse-lite/data/features/css-media-resolution.js'); -f(resolut, { match: /( x($| )|a #3)/ }, function (browsers) { - return prefix(['@resolution'], { - feature: 'css-media-resolution', - browsers: browsers - }); -}); - -// CSS text-align-last -f(require('caniuse-lite/data/features/css-text-align-last.js'), function (browsers) { - return prefix(['text-align-last'], { - feature: 'css-text-align-last', - browsers: browsers - }); -}); - -// Crisp Edges Image Rendering Algorithm -var crispedges = require('caniuse-lite/data/features/css-crisp-edges.js'); - -f(crispedges, { match: /y x|a x #1/ }, function (browsers) { - return prefix(['pixelated'], { - props: ['image-rendering'], - feature: 'css-crisp-edges', - browsers: browsers - }); -}); - -f(crispedges, { match: /a x #2/ }, function (browsers) { - return prefix(['image-rendering'], { - feature: 'css-crisp-edges', - browsers: browsers - }); -}); - -// Logical Properties -var logicalProps = require('caniuse-lite/data/features/css-logical-props.js'); - -f(logicalProps, function (browsers) { - return prefix(['border-inline-start', 'border-inline-end', 'margin-inline-start', 'margin-inline-end', 'padding-inline-start', 'padding-inline-end'], { - feature: 'css-logical-props', - browsers: browsers - }); -}); - -f(logicalProps, { match: /x\s#2/ }, function (browsers) { - return prefix(['border-block-start', 'border-block-end', 'margin-block-start', 'margin-block-end', 'padding-block-start', 'padding-block-end'], { - feature: 'css-logical-props', - browsers: browsers - }); -}); - -// CSS appearance -var appearance = require('caniuse-lite/data/features/css-appearance.js'); -f(appearance, { match: /#2|x/ }, function (browsers) { - return prefix(['appearance'], { - feature: 'css-appearance', - browsers: browsers - }); -}); - -// CSS Scroll snap points -f(require('caniuse-lite/data/features/css-snappoints.js'), function (browsers) { - return prefix(['scroll-snap-type', 'scroll-snap-coordinate', 'scroll-snap-destination', 'scroll-snap-points-x', 'scroll-snap-points-y'], { - feature: 'css-snappoints', - browsers: browsers - }); -}); - -// CSS Regions -f(require('caniuse-lite/data/features/css-regions.js'), function (browsers) { - return prefix(['flow-into', 'flow-from', 'region-fragment'], { - feature: 'css-regions', - browsers: browsers - }); -}); - -// CSS image-set -f(require('caniuse-lite/data/features/css-image-set.js'), function (browsers) { - return prefix(['image-set'], { - props: ['background', 'background-image', 'border-image', 'cursor', 'mask', 'mask-image', 'list-style', 'list-style-image', 'content'], - feature: 'css-image-set', - browsers: browsers - }); -}); - -// Writing Mode -var writingMode = require('caniuse-lite/data/features/css-writing-mode.js'); -f(writingMode, { match: /a|x/ }, function (browsers) { - return prefix(['writing-mode'], { - feature: 'css-writing-mode', - browsers: browsers - }); -}); - -// Cross-Fade Function -f(require('caniuse-lite/data/features/css-cross-fade.js'), function (browsers) { - return prefix(['cross-fade'], { - props: ['background', 'background-image', 'border-image', 'mask', 'list-style', 'list-style-image', 'content', 'mask-image'], - feature: 'css-cross-fade', - browsers: browsers - }); -}); - -// Read Only selector -f(require('caniuse-lite/data/features/css-read-only-write.js'), function (browsers) { - return prefix([':read-only', ':read-write'], { - selector: true, - feature: 'css-read-only-write', - browsers: browsers - }); -}); - -// Text Emphasize -f(require('caniuse-lite/data/features/text-emphasis.js'), function (browsers) { - return prefix(['text-emphasis', 'text-emphasis-position', 'text-emphasis-style', 'text-emphasis-color'], { - feature: 'text-emphasis', - browsers: browsers - }); -}); - -// CSS Grid Layout -var grid = require('caniuse-lite/data/features/css-grid.js'); - -f(grid, function (browsers) { - prefix(['display-grid', 'inline-grid'], { - props: ['display'], - feature: 'css-grid', - browsers: browsers - }); - prefix(['grid-template-columns', 'grid-template-rows', 'grid-row-start', 'grid-column-start', 'grid-row-end', 'grid-column-end', 'grid-row', 'grid-column', 'grid-area', 'grid-template', 'grid-template-areas'], { - feature: 'css-grid', - browsers: browsers - }); -}); - -f(grid, { match: /a x/ }, function (browsers) { - return prefix(['grid-column-align', 'grid-row-align'], { - feature: 'css-grid', - browsers: browsers - }); -}); - -// CSS text-spacing -f(require('caniuse-lite/data/features/css-text-spacing.js'), function (browsers) { - return prefix(['text-spacing'], { - feature: 'css-text-spacing', - browsers: browsers - }); -}); - -// :any-link selector -f(require('caniuse-lite/data/features/css-any-link.js'), function (browsers) { - return prefix([':any-link'], { - selector: true, - feature: 'css-any-link', - browsers: browsers - }); -}); - -// unicode-bidi -var bidi = require('caniuse-lite/data/features/css-unicode-bidi.js'); - -f(bidi, function (browsers) { - return prefix(['isolate'], { - props: ['unicode-bidi'], - feature: 'css-unicode-bidi', - browsers: browsers - }); -}); - -f(bidi, { match: /y x|a x #2/ }, function (browsers) { - return prefix(['plaintext'], { - props: ['unicode-bidi'], - feature: 'css-unicode-bidi', - browsers: browsers - }); -}); - -f(bidi, { match: /y x/ }, function (browsers) { - return prefix(['isolate-override'], { - props: ['unicode-bidi'], - feature: 'css-unicode-bidi', - browsers: browsers - }); -}); \ No newline at end of file diff --git a/publi/node_modules/autoprefixer/lib/at-rule.js b/publi/node_modules/autoprefixer/lib/at-rule.js deleted file mode 100644 index 17689c5..0000000 --- a/publi/node_modules/autoprefixer/lib/at-rule.js +++ /dev/null @@ -1,68 +0,0 @@ -'use strict'; - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - -var Prefixer = require('./prefixer'); - -var AtRule = function (_Prefixer) { - _inherits(AtRule, _Prefixer); - - function AtRule() { - _classCallCheck(this, AtRule); - - return _possibleConstructorReturn(this, _Prefixer.apply(this, arguments)); - } - - /** - * Clone and add prefixes for at-rule - */ - AtRule.prototype.add = function add(rule, prefix) { - var prefixed = prefix + rule.name; - - var already = rule.parent.some(function (i) { - return i.name === prefixed && i.params === rule.params; - }); - if (already) { - return undefined; - } - - var cloned = this.clone(rule, { name: prefixed }); - return rule.parent.insertBefore(rule, cloned); - }; - - /** - * Clone node with prefixes - */ - - - AtRule.prototype.process = function process(node) { - var parent = this.parentPrefix(node); - - for (var _iterator = this.prefixes, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) { - var _ref; - - if (_isArray) { - if (_i >= _iterator.length) break; - _ref = _iterator[_i++]; - } else { - _i = _iterator.next(); - if (_i.done) break; - _ref = _i.value; - } - - var prefix = _ref; - - if (!parent || parent === prefix) { - this.add(node, prefix); - } - } - }; - - return AtRule; -}(Prefixer); - -module.exports = AtRule; \ No newline at end of file diff --git a/publi/node_modules/autoprefixer/lib/autoprefixer.js b/publi/node_modules/autoprefixer/lib/autoprefixer.js deleted file mode 100644 index 3d893c2..0000000 --- a/publi/node_modules/autoprefixer/lib/autoprefixer.js +++ /dev/null @@ -1,126 +0,0 @@ -'use strict'; - -var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; - -var browserslist = require('browserslist'); -var postcss = require('postcss'); - -var Browsers = require('./browsers'); -var Prefixes = require('./prefixes'); - -function isPlainObject(obj) { - return Object.prototype.toString.apply(obj) === '[object Object]'; -} - -var cache = {}; - -function timeCapsule(result, prefixes) { - if (prefixes.browsers.selected.length === 0) { - return; - } - if (prefixes.add.selectors.length > 0) { - return; - } - if (Object.keys(prefixes.add).length > 2) { - return; - } - - /* istanbul ignore next */ - result.warn('Greetings, time traveller. ' + 'We are in the golden age of prefix-less CSS, ' + 'where Autoprefixer is no longer needed for your stylesheet.'); -} - -module.exports = postcss.plugin('autoprefixer', function () { - for (var _len = arguments.length, reqs = Array(_len), _key = 0; _key < _len; _key++) { - reqs[_key] = arguments[_key]; - } - - var options = void 0; - if (reqs.length === 1 && isPlainObject(reqs[0])) { - options = reqs[0]; - reqs = undefined; - } else if (reqs.length === 0 || reqs.length === 1 && !reqs[0]) { - reqs = undefined; - } else if (reqs.length <= 2 && (reqs[0] instanceof Array || !reqs[0])) { - options = reqs[1]; - reqs = reqs[0]; - } else if (_typeof(reqs[reqs.length - 1]) === 'object') { - options = reqs.pop(); - } - - if (!options) { - options = {}; - } - - if (options.browser) { - throw new Error('Change `browser` option to `browsers` in Autoprefixer'); - } else if (options.browserslist) { - throw new Error('Change `browserslist` option to `browsers` in Autoprefixer'); - } - - if (options.browsers) { - reqs = options.browsers; - } - - if (typeof options.grid === 'undefined') { - options.grid = false; - } - - var loadPrefixes = function loadPrefixes(opts) { - var data = module.exports.data; - var browsers = new Browsers(data.browsers, reqs, opts, options.stats); - var key = browsers.selected.join(', ') + JSON.stringify(options); - - if (!cache[key]) { - cache[key] = new Prefixes(data.prefixes, browsers, options); - } - - return cache[key]; - }; - - var plugin = function plugin(css, result) { - var prefixes = loadPrefixes({ - from: css.source && css.source.input.file, - env: options.env - }); - timeCapsule(result, prefixes); - if (options.remove !== false) { - prefixes.processor.remove(css, result); - } - if (options.add !== false) { - prefixes.processor.add(css, result); - } - }; - - plugin.options = options; - - plugin.browsers = reqs; - - plugin.info = function (opts) { - opts = opts || {}; - opts.from = opts.from || process.cwd(); - - return require('./info')(loadPrefixes(opts)); - }; - - return plugin; -}); - -/** - * Autoprefixer data - */ -module.exports.data = { - browsers: require('caniuse-lite').agents, - prefixes: require('../data/prefixes') -}; - -/** - * Autoprefixer default browsers - */ -module.exports.defaults = browserslist.defaults; - -/** - * Inspect with default Autoprefixer - */ -module.exports.info = function () { - return module.exports().info(); -}; \ No newline at end of file diff --git a/publi/node_modules/autoprefixer/lib/brackets.js b/publi/node_modules/autoprefixer/lib/brackets.js deleted file mode 100644 index 7e1ad85..0000000 --- a/publi/node_modules/autoprefixer/lib/brackets.js +++ /dev/null @@ -1,71 +0,0 @@ -'use strict'; - -var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; - -var last = function last(array) { - return array[array.length - 1]; -}; - -var brackets = { - - /** - * Parse string to nodes tree - */ - parse: function parse(str) { - var current = ['']; - var stack = [current]; - - for (var i = 0; i < str.length; i++) { - var sym = str[i]; - if (sym === '(') { - current = ['']; - last(stack).push(current); - stack.push(current); - continue; - } - - if (sym === ')') { - stack.pop(); - current = last(stack); - current.push(''); - continue; - } - - current[current.length - 1] += sym; - } - - return stack[0]; - }, - - - /** - * Generate output string by nodes tree - */ - stringify: function stringify(ast) { - var result = ''; - for (var _iterator = ast, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) { - var _ref; - - if (_isArray) { - if (_i >= _iterator.length) break; - _ref = _iterator[_i++]; - } else { - _i = _iterator.next(); - if (_i.done) break; - _ref = _i.value; - } - - var i = _ref; - - if ((typeof i === 'undefined' ? 'undefined' : _typeof(i)) === 'object') { - result += '(' + brackets.stringify(i) + ')'; - continue; - } - - result += i; - } - return result; - } -}; - -module.exports = brackets; \ No newline at end of file diff --git a/publi/node_modules/autoprefixer/lib/browsers.js b/publi/node_modules/autoprefixer/lib/browsers.js deleted file mode 100644 index c96a72d..0000000 --- a/publi/node_modules/autoprefixer/lib/browsers.js +++ /dev/null @@ -1,99 +0,0 @@ -'use strict'; - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -var browserslist = require('browserslist'); - -var utils = require('./utils'); - -var Browsers = function () { - - /** - * Return all prefixes for default browser data - */ - Browsers.prefixes = function prefixes() { - if (this.prefixesCache) { - return this.prefixesCache; - } - - var data = require('caniuse-lite').agents; - - this.prefixesCache = []; - for (var name in data) { - this.prefixesCache.push('-' + data[name].prefix + '-'); - } - - this.prefixesCache = utils.uniq(this.prefixesCache).sort(function (a, b) { - return b.length - a.length; - }); - - return this.prefixesCache; - }; - - /** - * Check is value contain any possibe prefix - */ - - - Browsers.withPrefix = function withPrefix(value) { - if (!this.prefixesRegexp) { - this.prefixesRegexp = new RegExp(this.prefixes().join('|')); - } - - return this.prefixesRegexp.test(value); - }; - - function Browsers(data, requirements, options, stats) { - _classCallCheck(this, Browsers); - - this.data = data; - this.options = options || {}; - this.stats = stats; - this.selected = this.parse(requirements); - } - - /** - * Return browsers selected by requirements - */ - - - Browsers.prototype.parse = function parse(requirements) { - return browserslist(requirements, { - stats: this.stats, - path: this.options.from, - env: this.options.env - }); - }; - - /** - * Return prefix for selected browser - */ - - - Browsers.prototype.prefix = function prefix(browser) { - var _browser$split = browser.split(' '), - name = _browser$split[0], - version = _browser$split[1]; - - var data = this.data[name]; - - var prefix = data.prefix_exceptions && data.prefix_exceptions[version]; - if (!prefix) { - prefix = data.prefix; - } - return '-' + prefix + '-'; - }; - - /** - * Is browser is selected by requirements - */ - - - Browsers.prototype.isSelected = function isSelected(browser) { - return this.selected.indexOf(browser) !== -1; - }; - - return Browsers; -}(); - -module.exports = Browsers; \ No newline at end of file diff --git a/publi/node_modules/autoprefixer/lib/declaration.js b/publi/node_modules/autoprefixer/lib/declaration.js deleted file mode 100644 index f0cc98c..0000000 --- a/publi/node_modules/autoprefixer/lib/declaration.js +++ /dev/null @@ -1,259 +0,0 @@ -'use strict'; - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - -var Prefixer = require('./prefixer'); -var Browsers = require('./browsers'); -var utils = require('./utils'); - -var Declaration = function (_Prefixer) { - _inherits(Declaration, _Prefixer); - - function Declaration() { - _classCallCheck(this, Declaration); - - return _possibleConstructorReturn(this, _Prefixer.apply(this, arguments)); - } - - /** - * Always true, because we already get prefixer by property name - */ - Declaration.prototype.check = function check() /* decl */{ - return true; - }; - - /** - * Return prefixed version of property - */ - - - Declaration.prototype.prefixed = function prefixed(prop, prefix) { - return prefix + prop; - }; - - /** - * Return unprefixed version of property - */ - - - Declaration.prototype.normalize = function normalize(prop) { - return prop; - }; - - /** - * Check `value`, that it contain other prefixes, rather than `prefix` - */ - - - Declaration.prototype.otherPrefixes = function otherPrefixes(value, prefix) { - for (var _iterator = Browsers.prefixes(), _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) { - var _ref; - - if (_isArray) { - if (_i >= _iterator.length) break; - _ref = _iterator[_i++]; - } else { - _i = _iterator.next(); - if (_i.done) break; - _ref = _i.value; - } - - var other = _ref; - - if (other === prefix) { - continue; - } - if (value.indexOf(other) !== -1) { - return true; - } - } - return false; - }; - - /** - * Set prefix to declaration - */ - - - Declaration.prototype.set = function set(decl, prefix) { - decl.prop = this.prefixed(decl.prop, prefix); - return decl; - }; - - /** - * Should we use visual cascade for prefixes - */ - - - Declaration.prototype.needCascade = function needCascade(decl) { - if (!decl._autoprefixerCascade) { - decl._autoprefixerCascade = this.all.options.cascade !== false && decl.raw('before').indexOf('\n') !== -1; - } - return decl._autoprefixerCascade; - }; - - /** - * Return maximum length of possible prefixed property - */ - - - Declaration.prototype.maxPrefixed = function maxPrefixed(prefixes, decl) { - if (decl._autoprefixerMax) { - return decl._autoprefixerMax; - } - - var max = 0; - for (var _iterator2 = prefixes, _isArray2 = Array.isArray(_iterator2), _i2 = 0, _iterator2 = _isArray2 ? _iterator2 : _iterator2[Symbol.iterator]();;) { - var _ref2; - - if (_isArray2) { - if (_i2 >= _iterator2.length) break; - _ref2 = _iterator2[_i2++]; - } else { - _i2 = _iterator2.next(); - if (_i2.done) break; - _ref2 = _i2.value; - } - - var prefix = _ref2; - - prefix = utils.removeNote(prefix); - if (prefix.length > max) { - max = prefix.length; - } - } - decl._autoprefixerMax = max; - - return decl._autoprefixerMax; - }; - - /** - * Calculate indentation to create visual cascade - */ - - - Declaration.prototype.calcBefore = function calcBefore(prefixes, decl) { - var prefix = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : ''; - - var max = this.maxPrefixed(prefixes, decl); - var diff = max - utils.removeNote(prefix).length; - - var before = decl.raw('before'); - if (diff > 0) { - before += Array(diff).fill(' ').join(''); - } - - return before; - }; - - /** - * Remove visual cascade - */ - - - Declaration.prototype.restoreBefore = function restoreBefore(decl) { - var lines = decl.raw('before').split('\n'); - var min = lines[lines.length - 1]; - - this.all.group(decl).up(function (prefixed) { - var array = prefixed.raw('before').split('\n'); - var last = array[array.length - 1]; - if (last.length < min.length) { - min = last; - } - }); - - lines[lines.length - 1] = min; - decl.raws.before = lines.join('\n'); - }; - - /** - * Clone and insert new declaration - */ - - - Declaration.prototype.insert = function insert(decl, prefix, prefixes) { - var cloned = this.set(this.clone(decl), prefix); - if (!cloned) return undefined; - - var already = decl.parent.some(function (i) { - return i.prop === cloned.prop && i.value === cloned.value; - }); - if (already) { - return undefined; - } - - if (this.needCascade(decl)) { - cloned.raws.before = this.calcBefore(prefixes, decl, prefix); - } - return decl.parent.insertBefore(decl, cloned); - }; - - /** - * Did this declaration has this prefix above - */ - - - Declaration.prototype.isAlready = function isAlready(decl, prefixed) { - var already = this.all.group(decl).up(function (i) { - return i.prop === prefixed; - }); - if (!already) { - already = this.all.group(decl).down(function (i) { - return i.prop === prefixed; - }); - } - return already; - }; - - /** - * Clone and add prefixes for declaration - */ - - - Declaration.prototype.add = function add(decl, prefix, prefixes, result) { - var prefixed = this.prefixed(decl.prop, prefix); - if (this.isAlready(decl, prefixed) || this.otherPrefixes(decl.value, prefix)) { - return undefined; - } - return this.insert(decl, prefix, prefixes, result); - }; - - /** - * Add spaces for visual cascade - */ - - - Declaration.prototype.process = function process(decl, result) { - if (!this.needCascade(decl)) { - _Prefixer.prototype.process.call(this, decl, result); - return; - } - - var prefixes = _Prefixer.prototype.process.call(this, decl, result); - - if (!prefixes || !prefixes.length) { - return; - } - - this.restoreBefore(decl); - decl.raws.before = this.calcBefore(prefixes, decl); - }; - - /** - * Return list of prefixed properties to clean old prefixes - */ - - - Declaration.prototype.old = function old(prop, prefix) { - return [this.prefixed(prop, prefix)]; - }; - - return Declaration; -}(Prefixer); - -module.exports = Declaration; \ No newline at end of file diff --git a/publi/node_modules/autoprefixer/lib/hacks/align-content.js b/publi/node_modules/autoprefixer/lib/hacks/align-content.js deleted file mode 100644 index ac45a02..0000000 --- a/publi/node_modules/autoprefixer/lib/hacks/align-content.js +++ /dev/null @@ -1,84 +0,0 @@ -'use strict'; - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - -var flexSpec = require('./flex-spec'); -var Declaration = require('../declaration'); - -var AlignContent = function (_Declaration) { - _inherits(AlignContent, _Declaration); - - function AlignContent() { - _classCallCheck(this, AlignContent); - - return _possibleConstructorReturn(this, _Declaration.apply(this, arguments)); - } - - /** - * Change property name for 2012 spec - */ - AlignContent.prototype.prefixed = function prefixed(prop, prefix) { - var spec = void 0; - - var _flexSpec = flexSpec(prefix); - - spec = _flexSpec[0]; - prefix = _flexSpec[1]; - - if (spec === 2012) { - return prefix + 'flex-line-pack'; - } else { - return _Declaration.prototype.prefixed.call(this, prop, prefix); - } - }; - - /** - * Return property name by final spec - */ - - - AlignContent.prototype.normalize = function normalize() { - return 'align-content'; - }; - - /** - * Change value for 2012 spec and ignore prefix for 2009 - */ - - - AlignContent.prototype.set = function set(decl, prefix) { - var spec = flexSpec(prefix)[0]; - if (spec === 2012) { - decl.value = AlignContent.oldValues[decl.value] || decl.value; - return _Declaration.prototype.set.call(this, decl, prefix); - } else if (spec === 'final') { - return _Declaration.prototype.set.call(this, decl, prefix); - } - return undefined; - }; - - return AlignContent; -}(Declaration); - -Object.defineProperty(AlignContent, 'names', { - enumerable: true, - writable: true, - value: ['align-content', 'flex-line-pack'] -}); -Object.defineProperty(AlignContent, 'oldValues', { - enumerable: true, - writable: true, - value: { - 'flex-end': 'end', - 'flex-start': 'start', - 'space-between': 'justify', - 'space-around': 'distribute' - } -}); - - -module.exports = AlignContent; \ No newline at end of file diff --git a/publi/node_modules/autoprefixer/lib/hacks/align-items.js b/publi/node_modules/autoprefixer/lib/hacks/align-items.js deleted file mode 100644 index 3bae276..0000000 --- a/publi/node_modules/autoprefixer/lib/hacks/align-items.js +++ /dev/null @@ -1,81 +0,0 @@ -'use strict'; - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - -var flexSpec = require('./flex-spec'); -var Declaration = require('../declaration'); - -var AlignItems = function (_Declaration) { - _inherits(AlignItems, _Declaration); - - function AlignItems() { - _classCallCheck(this, AlignItems); - - return _possibleConstructorReturn(this, _Declaration.apply(this, arguments)); - } - - /** - * Change property name for 2009 and 2012 specs - */ - AlignItems.prototype.prefixed = function prefixed(prop, prefix) { - var spec = void 0; - - var _flexSpec = flexSpec(prefix); - - spec = _flexSpec[0]; - prefix = _flexSpec[1]; - - if (spec === 2009) { - return prefix + 'box-align'; - } else if (spec === 2012) { - return prefix + 'flex-align'; - } else { - return _Declaration.prototype.prefixed.call(this, prop, prefix); - } - }; - - /** - * Return property name by final spec - */ - - - AlignItems.prototype.normalize = function normalize() { - return 'align-items'; - }; - - /** - * Change value for 2009 and 2012 specs - */ - - - AlignItems.prototype.set = function set(decl, prefix) { - var spec = flexSpec(prefix)[0]; - if (spec === 2009 || spec === 2012) { - decl.value = AlignItems.oldValues[decl.value] || decl.value; - } - return _Declaration.prototype.set.call(this, decl, prefix); - }; - - return AlignItems; -}(Declaration); - -Object.defineProperty(AlignItems, 'names', { - enumerable: true, - writable: true, - value: ['align-items', 'flex-align', 'box-align'] -}); -Object.defineProperty(AlignItems, 'oldValues', { - enumerable: true, - writable: true, - value: { - 'flex-end': 'end', - 'flex-start': 'start' - } -}); - - -module.exports = AlignItems; \ No newline at end of file diff --git a/publi/node_modules/autoprefixer/lib/hacks/align-self.js b/publi/node_modules/autoprefixer/lib/hacks/align-self.js deleted file mode 100644 index 7a8220b..0000000 --- a/publi/node_modules/autoprefixer/lib/hacks/align-self.js +++ /dev/null @@ -1,82 +0,0 @@ -'use strict'; - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - -var flexSpec = require('./flex-spec'); -var Declaration = require('../declaration'); - -var AlignSelf = function (_Declaration) { - _inherits(AlignSelf, _Declaration); - - function AlignSelf() { - _classCallCheck(this, AlignSelf); - - return _possibleConstructorReturn(this, _Declaration.apply(this, arguments)); - } - - /** - * Change property name for 2012 specs - */ - AlignSelf.prototype.prefixed = function prefixed(prop, prefix) { - var spec = void 0; - - var _flexSpec = flexSpec(prefix); - - spec = _flexSpec[0]; - prefix = _flexSpec[1]; - - if (spec === 2012) { - return prefix + 'flex-item-align'; - } else { - return _Declaration.prototype.prefixed.call(this, prop, prefix); - } - }; - - /** - * Return property name by final spec - */ - - - AlignSelf.prototype.normalize = function normalize() { - return 'align-self'; - }; - - /** - * Change value for 2012 spec and ignore prefix for 2009 - */ - - - AlignSelf.prototype.set = function set(decl, prefix) { - var spec = flexSpec(prefix)[0]; - if (spec === 2012) { - decl.value = AlignSelf.oldValues[decl.value] || decl.value; - return _Declaration.prototype.set.call(this, decl, prefix); - } else if (spec === 'final') { - return _Declaration.prototype.set.call(this, decl, prefix); - } - return undefined; - }; - - return AlignSelf; -}(Declaration); - -Object.defineProperty(AlignSelf, 'names', { - enumerable: true, - writable: true, - value: ['align-self', 'flex-item-align'] -}); -Object.defineProperty(AlignSelf, 'oldValues', { - enumerable: true, - writable: true, - value: { - 'flex-end': 'end', - 'flex-start': 'start' - } -}); - - -module.exports = AlignSelf; \ No newline at end of file diff --git a/publi/node_modules/autoprefixer/lib/hacks/animation.js b/publi/node_modules/autoprefixer/lib/hacks/animation.js deleted file mode 100644 index 684f131..0000000 --- a/publi/node_modules/autoprefixer/lib/hacks/animation.js +++ /dev/null @@ -1,40 +0,0 @@ -'use strict'; - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - -var Declaration = require('../declaration'); - -var Animation = function (_Declaration) { - _inherits(Animation, _Declaration); - - function Animation() { - _classCallCheck(this, Animation); - - return _possibleConstructorReturn(this, _Declaration.apply(this, arguments)); - } - - /** - * Don’t add prefixes for modern values. - */ - Animation.prototype.check = function check(decl) { - return !decl.value.split(/\s+/).some(function (i) { - var lower = i.toLowerCase(); - return lower === 'reverse' || lower === 'alternate-reverse'; - }); - }; - - return Animation; -}(Declaration); - -Object.defineProperty(Animation, 'names', { - enumerable: true, - writable: true, - value: ['animation', 'animation-direction'] -}); - - -module.exports = Animation; \ No newline at end of file diff --git a/publi/node_modules/autoprefixer/lib/hacks/appearance.js b/publi/node_modules/autoprefixer/lib/hacks/appearance.js deleted file mode 100644 index 9858fa7..0000000 --- a/publi/node_modules/autoprefixer/lib/hacks/appearance.js +++ /dev/null @@ -1,42 +0,0 @@ -'use strict'; - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - -var Declaration = require('../declaration'); -var utils = require('../utils'); - -var Appearance = function (_Declaration) { - _inherits(Appearance, _Declaration); - - function Appearance(name, prefixes, all) { - _classCallCheck(this, Appearance); - - var _this = _possibleConstructorReturn(this, _Declaration.call(this, name, prefixes, all)); - - if (_this.prefixes) { - _this.prefixes = utils.uniq(_this.prefixes.map(function (i) { - if (i === '-ms-') { - return '-webkit-'; - } else { - return i; - } - })); - } - return _this; - } - - return Appearance; -}(Declaration); - -Object.defineProperty(Appearance, 'names', { - enumerable: true, - writable: true, - value: ['appearance'] -}); - - -module.exports = Appearance; \ No newline at end of file diff --git a/publi/node_modules/autoprefixer/lib/hacks/background-size.js b/publi/node_modules/autoprefixer/lib/hacks/background-size.js deleted file mode 100644 index 9b492d3..0000000 --- a/publi/node_modules/autoprefixer/lib/hacks/background-size.js +++ /dev/null @@ -1,41 +0,0 @@ -'use strict'; - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - -var Declaration = require('../declaration'); - -var BackgroundSize = function (_Declaration) { - _inherits(BackgroundSize, _Declaration); - - function BackgroundSize() { - _classCallCheck(this, BackgroundSize); - - return _possibleConstructorReturn(this, _Declaration.apply(this, arguments)); - } - - /** - * Duplication parameter for -webkit- browsers - */ - BackgroundSize.prototype.set = function set(decl, prefix) { - var value = decl.value.toLowerCase(); - if (prefix === '-webkit-' && value.indexOf(' ') === -1 && value !== 'contain' && value !== 'cover') { - decl.value = decl.value + ' ' + decl.value; - } - return _Declaration.prototype.set.call(this, decl, prefix); - }; - - return BackgroundSize; -}(Declaration); - -Object.defineProperty(BackgroundSize, 'names', { - enumerable: true, - writable: true, - value: ['background-size'] -}); - - -module.exports = BackgroundSize; \ No newline at end of file diff --git a/publi/node_modules/autoprefixer/lib/hacks/block-logical.js b/publi/node_modules/autoprefixer/lib/hacks/block-logical.js deleted file mode 100644 index 0464d55..0000000 --- a/publi/node_modules/autoprefixer/lib/hacks/block-logical.js +++ /dev/null @@ -1,50 +0,0 @@ -'use strict'; - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - -var Declaration = require('../declaration'); - -var BlockLogical = function (_Declaration) { - _inherits(BlockLogical, _Declaration); - - function BlockLogical() { - _classCallCheck(this, BlockLogical); - - return _possibleConstructorReturn(this, _Declaration.apply(this, arguments)); - } - - /** - * Use old syntax for -moz- and -webkit- - */ - BlockLogical.prototype.prefixed = function prefixed(prop, prefix) { - return prefix + (prop.indexOf('-start') !== -1 ? prop.replace('-block-start', '-before') : prop.replace('-block-end', '-after')); - }; - - /** - * Return property name by spec - */ - - - BlockLogical.prototype.normalize = function normalize(prop) { - if (prop.indexOf('-before') !== -1) { - return prop.replace('-before', '-block-start'); - } else { - return prop.replace('-after', '-block-end'); - } - }; - - return BlockLogical; -}(Declaration); - -Object.defineProperty(BlockLogical, 'names', { - enumerable: true, - writable: true, - value: ['border-block-start', 'border-block-end', 'margin-block-start', 'margin-block-end', 'padding-block-start', 'padding-block-end', 'border-before', 'border-after', 'margin-before', 'margin-after', 'padding-before', 'padding-after'] -}); - - -module.exports = BlockLogical; \ No newline at end of file diff --git a/publi/node_modules/autoprefixer/lib/hacks/border-image.js b/publi/node_modules/autoprefixer/lib/hacks/border-image.js deleted file mode 100644 index 3a10993..0000000 --- a/publi/node_modules/autoprefixer/lib/hacks/border-image.js +++ /dev/null @@ -1,38 +0,0 @@ -'use strict'; - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - -var Declaration = require('../declaration'); - -var BorderImage = function (_Declaration) { - _inherits(BorderImage, _Declaration); - - function BorderImage() { - _classCallCheck(this, BorderImage); - - return _possibleConstructorReturn(this, _Declaration.apply(this, arguments)); - } - - /** - * Remove fill parameter for prefixed declarations - */ - BorderImage.prototype.set = function set(decl, prefix) { - decl.value = decl.value.replace(/\s+fill(\s)/, '$1'); - return _Declaration.prototype.set.call(this, decl, prefix); - }; - - return BorderImage; -}(Declaration); - -Object.defineProperty(BorderImage, 'names', { - enumerable: true, - writable: true, - value: ['border-image'] -}); - - -module.exports = BorderImage; \ No newline at end of file diff --git a/publi/node_modules/autoprefixer/lib/hacks/border-radius.js b/publi/node_modules/autoprefixer/lib/hacks/border-radius.js deleted file mode 100644 index 0af07dd..0000000 --- a/publi/node_modules/autoprefixer/lib/hacks/border-radius.js +++ /dev/null @@ -1,77 +0,0 @@ -'use strict'; - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - -var Declaration = require('../declaration'); - -var BorderRadius = function (_Declaration) { - _inherits(BorderRadius, _Declaration); - - function BorderRadius() { - _classCallCheck(this, BorderRadius); - - return _possibleConstructorReturn(this, _Declaration.apply(this, arguments)); - } - - /** - * Change syntax, when add Mozilla prefix - */ - BorderRadius.prototype.prefixed = function prefixed(prop, prefix) { - if (prefix === '-moz-') { - return prefix + (BorderRadius.toMozilla[prop] || prop); - } else { - return _Declaration.prototype.prefixed.call(this, prop, prefix); - } - }; - - /** - * Return unprefixed version of property - */ - - - BorderRadius.prototype.normalize = function normalize(prop) { - return BorderRadius.toNormal[prop] || prop; - }; - - return BorderRadius; -}(Declaration); - -Object.defineProperty(BorderRadius, 'names', { - enumerable: true, - writable: true, - value: ['border-radius'] -}); -Object.defineProperty(BorderRadius, 'toMozilla', { - enumerable: true, - writable: true, - value: {} -}); -Object.defineProperty(BorderRadius, 'toNormal', { - enumerable: true, - writable: true, - value: {} -}); -var _arr = ['top', 'bottom']; - - -for (var _i = 0; _i < _arr.length; _i++) { - var ver = _arr[_i];var _arr2 = ['left', 'right']; - - for (var _i2 = 0; _i2 < _arr2.length; _i2++) { - var hor = _arr2[_i2]; - var normal = 'border-' + ver + '-' + hor + '-radius'; - var mozilla = 'border-radius-' + ver + hor; - - BorderRadius.names.push(normal); - BorderRadius.names.push(mozilla); - - BorderRadius.toMozilla[normal] = mozilla; - BorderRadius.toNormal[mozilla] = normal; - } -} - -module.exports = BorderRadius; \ No newline at end of file diff --git a/publi/node_modules/autoprefixer/lib/hacks/break-props.js b/publi/node_modules/autoprefixer/lib/hacks/break-props.js deleted file mode 100644 index b8fd537..0000000 --- a/publi/node_modules/autoprefixer/lib/hacks/break-props.js +++ /dev/null @@ -1,85 +0,0 @@ -'use strict'; - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - -var Declaration = require('../declaration'); - -var BreakProps = function (_Declaration) { - _inherits(BreakProps, _Declaration); - - function BreakProps() { - _classCallCheck(this, BreakProps); - - return _possibleConstructorReturn(this, _Declaration.apply(this, arguments)); - } - - /** - * Change name for -webkit- and -moz- prefix - */ - BreakProps.prototype.prefixed = function prefixed(prop, prefix) { - if (prefix === '-moz-') { - return 'page-' + prop; - } else { - return prefix + 'column-' + prop; - } - }; - - /** - * Return property name by final spec - */ - - - BreakProps.prototype.normalize = function normalize(prop) { - if (prop.indexOf('inside') !== -1) { - return 'break-inside'; - } else if (prop.indexOf('before') !== -1) { - return 'break-before'; - } else { - return 'break-after'; - } - }; - - /** - * Change prefixed value for avoid-column and avoid-page - */ - - - BreakProps.prototype.set = function set(decl, prefix) { - if (decl.prop === 'break-inside' && decl.value === 'avoid-column' || decl.value === 'avoid-page') { - decl.value = 'avoid'; - } - return _Declaration.prototype.set.call(this, decl, prefix); - }; - - /** - * Don’t prefix some values - */ - - - BreakProps.prototype.insert = function insert(decl, prefix, prefixes) { - if (decl.prop !== 'break-inside') { - return _Declaration.prototype.insert.call(this, decl, prefix, prefixes); - } else if (decl.value === 'avoid-region') { - return undefined; - } else if (decl.value === 'avoid-page' && prefix === '-webkit-') { - return undefined; - } else { - return _Declaration.prototype.insert.call(this, decl, prefix, prefixes); - } - }; - - return BreakProps; -}(Declaration); - -Object.defineProperty(BreakProps, 'names', { - enumerable: true, - writable: true, - value: ['break-inside', 'page-break-inside', 'column-break-inside', 'break-before', 'page-break-before', 'column-break-before', 'break-after', 'page-break-after', 'column-break-after'] -}); - - -module.exports = BreakProps; \ No newline at end of file diff --git a/publi/node_modules/autoprefixer/lib/hacks/cross-fade.js b/publi/node_modules/autoprefixer/lib/hacks/cross-fade.js deleted file mode 100644 index 772cb77..0000000 --- a/publi/node_modules/autoprefixer/lib/hacks/cross-fade.js +++ /dev/null @@ -1,56 +0,0 @@ -'use strict'; - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - -var Value = require('../value'); -var list = require('postcss/lib/list'); - -var CrossFade = function (_Value) { - _inherits(CrossFade, _Value); - - function CrossFade() { - _classCallCheck(this, CrossFade); - - return _possibleConstructorReturn(this, _Value.apply(this, arguments)); - } - - CrossFade.prototype.replace = function replace(string, prefix) { - var _this2 = this; - - return list.space(string).map(function (value) { - if (value.slice(0, +_this2.name.length + 1) !== _this2.name + '(') { - return value; - } - - var close = value.lastIndexOf(')'); - var after = value.slice(close + 1); - var args = value.slice(_this2.name.length + 1, close); - - if (prefix === '-webkit-') { - var match = args.match(/\d*.?\d+%?/); - if (match) { - args = args.slice(match[0].length).trim(); - args += ', ' + match[0]; - } else { - args += ', 0.5'; - } - } - return prefix + _this2.name + '(' + args + ')' + after; - }).join(' '); - }; - - return CrossFade; -}(Value); - -Object.defineProperty(CrossFade, 'names', { - enumerable: true, - writable: true, - value: ['cross-fade'] -}); - - -module.exports = CrossFade; \ No newline at end of file diff --git a/publi/node_modules/autoprefixer/lib/hacks/display-flex.js b/publi/node_modules/autoprefixer/lib/hacks/display-flex.js deleted file mode 100644 index 0d74204..0000000 --- a/publi/node_modules/autoprefixer/lib/hacks/display-flex.js +++ /dev/null @@ -1,100 +0,0 @@ -'use strict'; - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - -var flexSpec = require('./flex-spec'); -var OldValue = require('../old-value'); -var Value = require('../value'); - -var DisplayFlex = function (_Value) { - _inherits(DisplayFlex, _Value); - - function DisplayFlex(name, prefixes) { - _classCallCheck(this, DisplayFlex); - - var _this = _possibleConstructorReturn(this, _Value.call(this, name, prefixes)); - - if (name === 'display-flex') { - _this.name = 'flex'; - } - return _this; - } - - /** - * Faster check for flex value - */ - - - DisplayFlex.prototype.check = function check(decl) { - return decl.prop === 'display' && decl.value === this.name; - }; - - /** - * Return value by spec - */ - - - DisplayFlex.prototype.prefixed = function prefixed(prefix) { - var spec = void 0, - value = void 0; - - var _flexSpec = flexSpec(prefix); - - spec = _flexSpec[0]; - prefix = _flexSpec[1]; - - - if (spec === 2009) { - if (this.name === 'flex') { - value = 'box'; - } else { - value = 'inline-box'; - } - } else if (spec === 2012) { - if (this.name === 'flex') { - value = 'flexbox'; - } else { - value = 'inline-flexbox'; - } - } else if (spec === 'final') { - value = this.name; - } - - return prefix + value; - }; - - /** - * Add prefix to value depend on flebox spec version - */ - - - DisplayFlex.prototype.replace = function replace(string, prefix) { - return this.prefixed(prefix); - }; - - /** - * Change value for old specs - */ - - - DisplayFlex.prototype.old = function old(prefix) { - var prefixed = this.prefixed(prefix); - if (!prefixed) return undefined; - return new OldValue(this.name, prefixed); - }; - - return DisplayFlex; -}(Value); - -Object.defineProperty(DisplayFlex, 'names', { - enumerable: true, - writable: true, - value: ['display-flex', 'inline-flex'] -}); - - -module.exports = DisplayFlex; \ No newline at end of file diff --git a/publi/node_modules/autoprefixer/lib/hacks/display-grid.js b/publi/node_modules/autoprefixer/lib/hacks/display-grid.js deleted file mode 100644 index 53704b2..0000000 --- a/publi/node_modules/autoprefixer/lib/hacks/display-grid.js +++ /dev/null @@ -1,44 +0,0 @@ -'use strict'; - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - -var Value = require('../value'); - -var DisplayGrid = function (_Value) { - _inherits(DisplayGrid, _Value); - - function DisplayGrid(name, prefixes) { - _classCallCheck(this, DisplayGrid); - - var _this = _possibleConstructorReturn(this, _Value.call(this, name, prefixes)); - - if (name === 'display-grid') { - _this.name = 'grid'; - } - return _this; - } - - /** - * Faster check for flex value - */ - - - DisplayGrid.prototype.check = function check(decl) { - return decl.prop === 'display' && decl.value === this.name; - }; - - return DisplayGrid; -}(Value); - -Object.defineProperty(DisplayGrid, 'names', { - enumerable: true, - writable: true, - value: ['display-grid', 'inline-grid'] -}); - - -module.exports = DisplayGrid; \ No newline at end of file diff --git a/publi/node_modules/autoprefixer/lib/hacks/filter-value.js b/publi/node_modules/autoprefixer/lib/hacks/filter-value.js deleted file mode 100644 index fecdae5..0000000 --- a/publi/node_modules/autoprefixer/lib/hacks/filter-value.js +++ /dev/null @@ -1,35 +0,0 @@ -'use strict'; - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - -var Value = require('../value'); - -var FilterValue = function (_Value) { - _inherits(FilterValue, _Value); - - function FilterValue(name, prefixes) { - _classCallCheck(this, FilterValue); - - var _this = _possibleConstructorReturn(this, _Value.call(this, name, prefixes)); - - if (name === 'filter-function') { - _this.name = 'filter'; - } - return _this; - } - - return FilterValue; -}(Value); - -Object.defineProperty(FilterValue, 'names', { - enumerable: true, - writable: true, - value: ['filter', 'filter-function'] -}); - - -module.exports = FilterValue; \ No newline at end of file diff --git a/publi/node_modules/autoprefixer/lib/hacks/filter.js b/publi/node_modules/autoprefixer/lib/hacks/filter.js deleted file mode 100644 index a99e4ef..0000000 --- a/publi/node_modules/autoprefixer/lib/hacks/filter.js +++ /dev/null @@ -1,38 +0,0 @@ -'use strict'; - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - -var Declaration = require('../declaration'); - -var Filter = function (_Declaration) { - _inherits(Filter, _Declaration); - - function Filter() { - _classCallCheck(this, Filter); - - return _possibleConstructorReturn(this, _Declaration.apply(this, arguments)); - } - - /** - * Check is it Internet Explorer filter - */ - Filter.prototype.check = function check(decl) { - var v = decl.value; - return v.toLowerCase().indexOf('alpha(') === -1 && v.indexOf('DXImageTransform.Microsoft') === -1 && v.indexOf('data:image/svg+xml') === -1; - }; - - return Filter; -}(Declaration); - -Object.defineProperty(Filter, 'names', { - enumerable: true, - writable: true, - value: ['filter'] -}); - - -module.exports = Filter; \ No newline at end of file diff --git a/publi/node_modules/autoprefixer/lib/hacks/flex-basis.js b/publi/node_modules/autoprefixer/lib/hacks/flex-basis.js deleted file mode 100644 index deda8f1..0000000 --- a/publi/node_modules/autoprefixer/lib/hacks/flex-basis.js +++ /dev/null @@ -1,77 +0,0 @@ -'use strict'; - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - -var flexSpec = require('./flex-spec'); -var Declaration = require('../declaration'); - -var FlexBasis = function (_Declaration) { - _inherits(FlexBasis, _Declaration); - - function FlexBasis() { - _classCallCheck(this, FlexBasis); - - return _possibleConstructorReturn(this, _Declaration.apply(this, arguments)); - } - - /** - * Return property name by final spec - */ - FlexBasis.prototype.normalize = function normalize() { - return 'flex-basis'; - }; - - /** - * Return flex property for 2012 spec - */ - - - FlexBasis.prototype.prefixed = function prefixed(prop, prefix) { - var spec = void 0; - - var _flexSpec = flexSpec(prefix); - - spec = _flexSpec[0]; - prefix = _flexSpec[1]; - - if (spec === 2012) { - return prefix + 'flex-preferred-size'; - } else { - return _Declaration.prototype.prefixed.call(this, prop, prefix); - } - }; - - /** - * Ignore 2009 spec and use flex property for 2012 - */ - - - FlexBasis.prototype.set = function set(decl, prefix) { - var spec = void 0; - - var _flexSpec2 = flexSpec(prefix); - - spec = _flexSpec2[0]; - prefix = _flexSpec2[1]; - - if (spec === 2012 || spec === 'final') { - return _Declaration.prototype.set.call(this, decl, prefix); - } - return undefined; - }; - - return FlexBasis; -}(Declaration); - -Object.defineProperty(FlexBasis, 'names', { - enumerable: true, - writable: true, - value: ['flex-basis', 'flex-preferred-size'] -}); - - -module.exports = FlexBasis; \ No newline at end of file diff --git a/publi/node_modules/autoprefixer/lib/hacks/flex-direction.js b/publi/node_modules/autoprefixer/lib/hacks/flex-direction.js deleted file mode 100644 index b14dbcf..0000000 --- a/publi/node_modules/autoprefixer/lib/hacks/flex-direction.js +++ /dev/null @@ -1,110 +0,0 @@ -'use strict'; - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - -var flexSpec = require('./flex-spec'); -var Declaration = require('../declaration'); - -var FlexDirection = function (_Declaration) { - _inherits(FlexDirection, _Declaration); - - function FlexDirection() { - _classCallCheck(this, FlexDirection); - - return _possibleConstructorReturn(this, _Declaration.apply(this, arguments)); - } - - /** - * Return property name by final spec - */ - FlexDirection.prototype.normalize = function normalize() { - return 'flex-direction'; - }; - - /** - * Use two properties for 2009 spec - */ - - - FlexDirection.prototype.insert = function insert(decl, prefix, prefixes) { - var spec = void 0; - - var _flexSpec = flexSpec(prefix); - - spec = _flexSpec[0]; - prefix = _flexSpec[1]; - - if (spec !== 2009) { - return _Declaration.prototype.insert.call(this, decl, prefix, prefixes); - } else { - var already = decl.parent.some(function (i) { - return i.prop === prefix + 'box-orient' || i.prop === prefix + 'box-direction'; - }); - if (already) { - return undefined; - } - - var v = decl.value; - var orient = void 0, - dir = void 0; - if (v === 'inherit' || v === 'initial' || v === 'unset') { - orient = v; - dir = v; - } else { - orient = v.indexOf('row') !== -1 ? 'horizontal' : 'vertical'; - dir = v.indexOf('reverse') !== -1 ? 'reverse' : 'normal'; - } - - var cloned = this.clone(decl); - cloned.prop = prefix + 'box-orient'; - cloned.value = orient; - if (this.needCascade(decl)) { - cloned.raws.before = this.calcBefore(prefixes, decl, prefix); - } - decl.parent.insertBefore(decl, cloned); - - cloned = this.clone(decl); - cloned.prop = prefix + 'box-direction'; - cloned.value = dir; - if (this.needCascade(decl)) { - cloned.raws.before = this.calcBefore(prefixes, decl, prefix); - } - return decl.parent.insertBefore(decl, cloned); - } - }; - - /** - * Clean two properties for 2009 spec - */ - - - FlexDirection.prototype.old = function old(prop, prefix) { - var spec = void 0; - - var _flexSpec2 = flexSpec(prefix); - - spec = _flexSpec2[0]; - prefix = _flexSpec2[1]; - - if (spec === 2009) { - return [prefix + 'box-orient', prefix + 'box-direction']; - } else { - return _Declaration.prototype.old.call(this, prop, prefix); - } - }; - - return FlexDirection; -}(Declaration); - -Object.defineProperty(FlexDirection, 'names', { - enumerable: true, - writable: true, - value: ['flex-direction', 'box-direction', 'box-orient'] -}); - - -module.exports = FlexDirection; \ No newline at end of file diff --git a/publi/node_modules/autoprefixer/lib/hacks/flex-flow.js b/publi/node_modules/autoprefixer/lib/hacks/flex-flow.js deleted file mode 100644 index e4b6abe..0000000 --- a/publi/node_modules/autoprefixer/lib/hacks/flex-flow.js +++ /dev/null @@ -1,81 +0,0 @@ -'use strict'; - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - -var flexSpec = require('./flex-spec'); -var Declaration = require('../declaration'); - -var FlexFlow = function (_Declaration) { - _inherits(FlexFlow, _Declaration); - - function FlexFlow() { - _classCallCheck(this, FlexFlow); - - return _possibleConstructorReturn(this, _Declaration.apply(this, arguments)); - } - - /** - * Use two properties for 2009 spec - */ - FlexFlow.prototype.insert = function insert(decl, prefix, prefixes) { - var spec = void 0; - - var _flexSpec = flexSpec(prefix); - - spec = _flexSpec[0]; - prefix = _flexSpec[1]; - - if (spec !== 2009) { - return _Declaration.prototype.insert.call(this, decl, prefix, prefixes); - } else { - var values = decl.value.split(/\s+/).filter(function (i) { - return i !== 'wrap' && i !== 'nowrap' && 'wrap-reverse'; - }); - if (values.length === 0) { - return undefined; - } - - var already = decl.parent.some(function (i) { - return i.prop === prefix + 'box-orient' || i.prop === prefix + 'box-direction'; - }); - if (already) { - return undefined; - } - - var value = values[0]; - var orient = value.indexOf('row') !== -1 ? 'horizontal' : 'vertical'; - var dir = value.indexOf('reverse') !== -1 ? 'reverse' : 'normal'; - - var cloned = this.clone(decl); - cloned.prop = prefix + 'box-orient'; - cloned.value = orient; - if (this.needCascade(decl)) { - cloned.raws.before = this.calcBefore(prefixes, decl, prefix); - } - decl.parent.insertBefore(decl, cloned); - - cloned = this.clone(decl); - cloned.prop = prefix + 'box-direction'; - cloned.value = dir; - if (this.needCascade(decl)) { - cloned.raws.before = this.calcBefore(prefixes, decl, prefix); - } - return decl.parent.insertBefore(decl, cloned); - } - }; - - return FlexFlow; -}(Declaration); - -Object.defineProperty(FlexFlow, 'names', { - enumerable: true, - writable: true, - value: ['flex-flow', 'box-direction', 'box-orient'] -}); - - -module.exports = FlexFlow; \ No newline at end of file diff --git a/publi/node_modules/autoprefixer/lib/hacks/flex-grow.js b/publi/node_modules/autoprefixer/lib/hacks/flex-grow.js deleted file mode 100644 index 355c6a0..0000000 --- a/publi/node_modules/autoprefixer/lib/hacks/flex-grow.js +++ /dev/null @@ -1,60 +0,0 @@ -'use strict'; - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - -var flexSpec = require('./flex-spec'); -var Declaration = require('../declaration'); - -var Flex = function (_Declaration) { - _inherits(Flex, _Declaration); - - function Flex() { - _classCallCheck(this, Flex); - - return _possibleConstructorReturn(this, _Declaration.apply(this, arguments)); - } - - /** - * Return property name by final spec - */ - Flex.prototype.normalize = function normalize() { - return 'flex'; - }; - - /** - * Return flex property for 2009 and 2012 specs - */ - - - Flex.prototype.prefixed = function prefixed(prop, prefix) { - var spec = void 0; - - var _flexSpec = flexSpec(prefix); - - spec = _flexSpec[0]; - prefix = _flexSpec[1]; - - if (spec === 2009) { - return prefix + 'box-flex'; - } else if (spec === 2012) { - return prefix + 'flex-positive'; - } else { - return _Declaration.prototype.prefixed.call(this, prop, prefix); - } - }; - - return Flex; -}(Declaration); - -Object.defineProperty(Flex, 'names', { - enumerable: true, - writable: true, - value: ['flex-grow', 'flex-positive'] -}); - - -module.exports = Flex; \ No newline at end of file diff --git a/publi/node_modules/autoprefixer/lib/hacks/flex-shrink.js b/publi/node_modules/autoprefixer/lib/hacks/flex-shrink.js deleted file mode 100644 index 42dda40..0000000 --- a/publi/node_modules/autoprefixer/lib/hacks/flex-shrink.js +++ /dev/null @@ -1,77 +0,0 @@ -'use strict'; - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - -var flexSpec = require('./flex-spec'); -var Declaration = require('../declaration'); - -var FlexShrink = function (_Declaration) { - _inherits(FlexShrink, _Declaration); - - function FlexShrink() { - _classCallCheck(this, FlexShrink); - - return _possibleConstructorReturn(this, _Declaration.apply(this, arguments)); - } - - /** - * Return property name by final spec - */ - FlexShrink.prototype.normalize = function normalize() { - return 'flex-shrink'; - }; - - /** - * Return flex property for 2012 spec - */ - - - FlexShrink.prototype.prefixed = function prefixed(prop, prefix) { - var spec = void 0; - - var _flexSpec = flexSpec(prefix); - - spec = _flexSpec[0]; - prefix = _flexSpec[1]; - - if (spec === 2012) { - return prefix + 'flex-negative'; - } else { - return _Declaration.prototype.prefixed.call(this, prop, prefix); - } - }; - - /** - * Ignore 2009 spec and use flex property for 2012 - */ - - - FlexShrink.prototype.set = function set(decl, prefix) { - var spec = void 0; - - var _flexSpec2 = flexSpec(prefix); - - spec = _flexSpec2[0]; - prefix = _flexSpec2[1]; - - if (spec === 2012 || spec === 'final') { - return _Declaration.prototype.set.call(this, decl, prefix); - } - return undefined; - }; - - return FlexShrink; -}(Declaration); - -Object.defineProperty(FlexShrink, 'names', { - enumerable: true, - writable: true, - value: ['flex-shrink', 'flex-negative'] -}); - - -module.exports = FlexShrink; \ No newline at end of file diff --git a/publi/node_modules/autoprefixer/lib/hacks/flex-spec.js b/publi/node_modules/autoprefixer/lib/hacks/flex-spec.js deleted file mode 100644 index 06ebd10..0000000 --- a/publi/node_modules/autoprefixer/lib/hacks/flex-spec.js +++ /dev/null @@ -1,21 +0,0 @@ -'use strict'; - -/** - * Return flexbox spec versions by prefix - */ -module.exports = function (prefix) { - var spec = void 0; - if (prefix === '-webkit- 2009' || prefix === '-moz-') { - spec = 2009; - } else if (prefix === '-ms-') { - spec = 2012; - } else if (prefix === '-webkit-') { - spec = 'final'; - } - - if (prefix === '-webkit- 2009') { - prefix = '-webkit-'; - } - - return [spec, prefix]; -}; \ No newline at end of file diff --git a/publi/node_modules/autoprefixer/lib/hacks/flex-wrap.js b/publi/node_modules/autoprefixer/lib/hacks/flex-wrap.js deleted file mode 100644 index 5f820eb..0000000 --- a/publi/node_modules/autoprefixer/lib/hacks/flex-wrap.js +++ /dev/null @@ -1,42 +0,0 @@ -'use strict'; - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - -var flexSpec = require('./flex-spec'); -var Declaration = require('../declaration'); - -var FlexWrap = function (_Declaration) { - _inherits(FlexWrap, _Declaration); - - function FlexWrap() { - _classCallCheck(this, FlexWrap); - - return _possibleConstructorReturn(this, _Declaration.apply(this, arguments)); - } - - /** - * Don't add prefix for 2009 spec - */ - FlexWrap.prototype.set = function set(decl, prefix) { - var spec = flexSpec(prefix)[0]; - if (spec !== 2009) { - return _Declaration.prototype.set.call(this, decl, prefix); - } - return undefined; - }; - - return FlexWrap; -}(Declaration); - -Object.defineProperty(FlexWrap, 'names', { - enumerable: true, - writable: true, - value: ['flex-wrap'] -}); - - -module.exports = FlexWrap; \ No newline at end of file diff --git a/publi/node_modules/autoprefixer/lib/hacks/flex.js b/publi/node_modules/autoprefixer/lib/hacks/flex.js deleted file mode 100644 index bddfe4a..0000000 --- a/publi/node_modules/autoprefixer/lib/hacks/flex.js +++ /dev/null @@ -1,89 +0,0 @@ -'use strict'; - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - -var flexSpec = require('./flex-spec'); -var Declaration = require('../declaration'); - -var list = require('postcss/lib/list'); - -var Flex = function (_Declaration) { - _inherits(Flex, _Declaration); - - function Flex() { - _classCallCheck(this, Flex); - - return _possibleConstructorReturn(this, _Declaration.apply(this, arguments)); - } - - /** - * Change property name for 2009 spec - */ - Flex.prototype.prefixed = function prefixed(prop, prefix) { - var spec = void 0; - - var _flexSpec = flexSpec(prefix); - - spec = _flexSpec[0]; - prefix = _flexSpec[1]; - - if (spec === 2009) { - return prefix + 'box-flex'; - } else { - return _Declaration.prototype.prefixed.call(this, prop, prefix); - } - }; - - /** - * Return property name by final spec - */ - - - Flex.prototype.normalize = function normalize() { - return 'flex'; - }; - - /** - * Spec 2009 supports only first argument - * Spec 2012 disallows unitless basis - */ - - - Flex.prototype.set = function set(decl, prefix) { - var spec = flexSpec(prefix)[0]; - if (spec === 2009) { - decl.value = list.space(decl.value)[0]; - decl.value = Flex.oldValues[decl.value] || decl.value; - return _Declaration.prototype.set.call(this, decl, prefix); - } else if (spec === 2012) { - var components = list.space(decl.value); - if (components.length === 3 && components[2] === '0') { - decl.value = components.slice(0, 2).concat('0px').join(' '); - } - } - return _Declaration.prototype.set.call(this, decl, prefix); - }; - - return Flex; -}(Declaration); - -Object.defineProperty(Flex, 'names', { - enumerable: true, - writable: true, - value: ['flex', 'box-flex'] -}); -Object.defineProperty(Flex, 'oldValues', { - enumerable: true, - writable: true, - value: { - auto: '1', - none: '0' - } -}); - - -module.exports = Flex; \ No newline at end of file diff --git a/publi/node_modules/autoprefixer/lib/hacks/fullscreen.js b/publi/node_modules/autoprefixer/lib/hacks/fullscreen.js deleted file mode 100644 index c0196db..0000000 --- a/publi/node_modules/autoprefixer/lib/hacks/fullscreen.js +++ /dev/null @@ -1,43 +0,0 @@ -'use strict'; - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - -var Selector = require('../selector'); - -var Fullscreen = function (_Selector) { - _inherits(Fullscreen, _Selector); - - function Fullscreen() { - _classCallCheck(this, Fullscreen); - - return _possibleConstructorReturn(this, _Selector.apply(this, arguments)); - } - - /** - * Return different selectors depend on prefix - */ - Fullscreen.prototype.prefixed = function prefixed(prefix) { - if (prefix === '-webkit-') { - return ':-webkit-full-screen'; - } else if (prefix === '-moz-') { - return ':-moz-full-screen'; - } else { - return ':' + prefix + 'fullscreen'; - } - }; - - return Fullscreen; -}(Selector); - -Object.defineProperty(Fullscreen, 'names', { - enumerable: true, - writable: true, - value: [':fullscreen'] -}); - - -module.exports = Fullscreen; \ No newline at end of file diff --git a/publi/node_modules/autoprefixer/lib/hacks/gradient.js b/publi/node_modules/autoprefixer/lib/hacks/gradient.js deleted file mode 100644 index a29e493..0000000 --- a/publi/node_modules/autoprefixer/lib/hacks/gradient.js +++ /dev/null @@ -1,523 +0,0 @@ -'use strict'; - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - -var OldValue = require('../old-value'); -var Value = require('../value'); -var utils = require('../utils'); - -var parser = require('postcss-value-parser'); -var range = require('normalize-range'); - -var isDirection = /top|left|right|bottom/gi; - -var Gradient = function (_Value) { - _inherits(Gradient, _Value); - - function Gradient() { - var _temp, _this, _ret; - - _classCallCheck(this, Gradient); - - for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) { - args[_key] = arguments[_key]; - } - - return _ret = (_temp = (_this = _possibleConstructorReturn(this, _Value.call.apply(_Value, [this].concat(args))), _this), Object.defineProperty(_this, 'directions', { - enumerable: true, - writable: true, - value: { - top: 'bottom', - left: 'right', - bottom: 'top', - right: 'left' - } - }), Object.defineProperty(_this, 'oldDirections', { - enumerable: true, - writable: true, - value: { - 'top': 'left bottom, left top', - 'left': 'right top, left top', - 'bottom': 'left top, left bottom', - 'right': 'left top, right top', - - 'top right': 'left bottom, right top', - 'top left': 'right bottom, left top', - 'right top': 'left bottom, right top', - 'right bottom': 'left top, right bottom', - 'bottom right': 'left top, right bottom', - 'bottom left': 'right top, left bottom', - 'left top': 'right bottom, left top', - 'left bottom': 'right top, left bottom' - } - }), _temp), _possibleConstructorReturn(_this, _ret); - } - - // Direction to replace - - - // Direction to replace - - - /** - * Change degrees for webkit prefix - */ - Gradient.prototype.replace = function replace(string, prefix) { - var ast = parser(string); - for (var _iterator = ast.nodes, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) { - var _ref; - - if (_isArray) { - if (_i >= _iterator.length) break; - _ref = _iterator[_i++]; - } else { - _i = _iterator.next(); - if (_i.done) break; - _ref = _i.value; - } - - var node = _ref; - - if (node.type === 'function' && node.value === this.name) { - node.nodes = this.newDirection(node.nodes); - node.nodes = this.normalize(node.nodes); - if (prefix === '-webkit- old') { - var changes = this.oldWebkit(node); - if (!changes) { - return undefined; - } - } else { - node.nodes = this.convertDirection(node.nodes); - node.value = prefix + node.value; - } - } - } - return ast.toString(); - }; - - /** - * Replace first token - */ - - - Gradient.prototype.replaceFirst = function replaceFirst(params) { - for (var _len2 = arguments.length, words = Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) { - words[_key2 - 1] = arguments[_key2]; - } - - var prefix = words.map(function (i) { - if (i === ' ') { - return { type: 'space', value: i }; - } else { - return { type: 'word', value: i }; - } - }); - return prefix.concat(params.slice(1)); - }; - - /** - * Convert angle unit to deg - */ - - - Gradient.prototype.normalizeUnit = function normalizeUnit(str, full) { - var num = parseFloat(str); - var deg = num / full * 360; - return deg + 'deg'; - }; - - /** - * Normalize angle - */ - - - Gradient.prototype.normalize = function normalize(nodes) { - if (!nodes[0]) return nodes; - - if (/-?\d+(.\d+)?grad/.test(nodes[0].value)) { - nodes[0].value = this.normalizeUnit(nodes[0].value, 400); - } else if (/-?\d+(.\d+)?rad/.test(nodes[0].value)) { - nodes[0].value = this.normalizeUnit(nodes[0].value, 2 * Math.PI); - } else if (/-?\d+(.\d+)?turn/.test(nodes[0].value)) { - nodes[0].value = this.normalizeUnit(nodes[0].value, 1); - } else if (nodes[0].value.indexOf('deg') !== -1) { - var num = parseFloat(nodes[0].value); - num = range.wrap(0, 360, num); - nodes[0].value = num + 'deg'; - } - - if (nodes[0].value === '0deg') { - nodes = this.replaceFirst(nodes, 'to', ' ', 'top'); - } else if (nodes[0].value === '90deg') { - nodes = this.replaceFirst(nodes, 'to', ' ', 'right'); - } else if (nodes[0].value === '180deg') { - nodes = this.replaceFirst(nodes, 'to', ' ', 'bottom'); - } else if (nodes[0].value === '270deg') { - nodes = this.replaceFirst(nodes, 'to', ' ', 'left'); - } - - return nodes; - }; - - /** - * Replace old direction to new - */ - - - Gradient.prototype.newDirection = function newDirection(params) { - if (params[0].value === 'to') { - return params; - } - isDirection.lastIndex = 0; // reset search index of global regexp - if (!isDirection.test(params[0].value)) { - return params; - } - - params.unshift({ - type: 'word', - value: 'to' - }, { - type: 'space', - value: ' ' - }); - - for (var i = 2; i < params.length; i++) { - if (params[i].type === 'div') { - break; - } - if (params[i].type === 'word') { - params[i].value = this.revertDirection(params[i].value); - } - } - - return params; - }; - - /** - * Change new direction to old - */ - - - Gradient.prototype.convertDirection = function convertDirection(params) { - if (params.length > 0) { - if (params[0].value === 'to') { - this.fixDirection(params); - } else if (params[0].value.indexOf('deg') !== -1) { - this.fixAngle(params); - } else if (params[2] && params[2].value === 'at') { - this.fixRadial(params); - } - } - return params; - }; - - /** - * Replace `to top left` to `bottom right` - */ - - - Gradient.prototype.fixDirection = function fixDirection(params) { - params.splice(0, 2); - - for (var _iterator2 = params, _isArray2 = Array.isArray(_iterator2), _i2 = 0, _iterator2 = _isArray2 ? _iterator2 : _iterator2[Symbol.iterator]();;) { - var _ref2; - - if (_isArray2) { - if (_i2 >= _iterator2.length) break; - _ref2 = _iterator2[_i2++]; - } else { - _i2 = _iterator2.next(); - if (_i2.done) break; - _ref2 = _i2.value; - } - - var param = _ref2; - - if (param.type === 'div') { - break; - } - if (param.type === 'word') { - param.value = this.revertDirection(param.value); - } - } - }; - - /** - * Add 90 degrees - */ - - - Gradient.prototype.fixAngle = function fixAngle(params) { - var first = params[0].value; - first = parseFloat(first); - first = Math.abs(450 - first) % 360; - first = this.roundFloat(first, 3); - params[0].value = first + 'deg'; - }; - - /** - * Fix radial direction syntax - */ - - - Gradient.prototype.fixRadial = function fixRadial(params) { - var first = params[0]; - var second = []; - var i = void 0; - - var div = void 0; - for (i = 4; i < params.length; i++) { - if (params[i].type === 'div') { - div = params[i]; - break; - } else { - second.push(params[i]); - } - } - - params.splice.apply(params, [0, i].concat(second, [div, first])); - }; - - Gradient.prototype.revertDirection = function revertDirection(word) { - return this.directions[word.toLowerCase()] || word; - }; - - /** - * Round float and save digits under dot - */ - - - Gradient.prototype.roundFloat = function roundFloat(float, digits) { - return parseFloat(float.toFixed(digits)); - }; - - /** - * Convert to old webkit syntax - */ - - - Gradient.prototype.oldWebkit = function oldWebkit(node) { - var nodes = node.nodes; - - var string = parser.stringify(node.nodes); - - if (this.name !== 'linear-gradient') { - return false; - } - if (nodes[0] && nodes[0].value.indexOf('deg') !== -1) { - return false; - } - if (string.indexOf('px') !== -1 || string.indexOf('-corner') !== -1 || string.indexOf('-side') !== -1) { - return false; - } - - var params = [[]]; - for (var _iterator3 = nodes, _isArray3 = Array.isArray(_iterator3), _i3 = 0, _iterator3 = _isArray3 ? _iterator3 : _iterator3[Symbol.iterator]();;) { - var _ref3; - - if (_isArray3) { - if (_i3 >= _iterator3.length) break; - _ref3 = _iterator3[_i3++]; - } else { - _i3 = _iterator3.next(); - if (_i3.done) break; - _ref3 = _i3.value; - } - - var i = _ref3; - - params[params.length - 1].push(i); - if (i.type === 'div' && i.value === ',') { - params.push([]); - } - } - - this.oldDirection(params); - this.colorStops(params); - - node.nodes = []; - for (var _iterator4 = params, _isArray4 = Array.isArray(_iterator4), _i4 = 0, _iterator4 = _isArray4 ? _iterator4 : _iterator4[Symbol.iterator]();;) { - var _ref4; - - if (_isArray4) { - if (_i4 >= _iterator4.length) break; - _ref4 = _iterator4[_i4++]; - } else { - _i4 = _iterator4.next(); - if (_i4.done) break; - _ref4 = _i4.value; - } - - var param = _ref4; - - node.nodes = node.nodes.concat(param); - } - - node.nodes.unshift({ type: 'word', value: 'linear' }, this.cloneDiv(node.nodes)); - node.value = '-webkit-gradient'; - - return true; - }; - - /** - * Change direction syntax to old webkit - */ - - - Gradient.prototype.oldDirection = function oldDirection(params) { - var div = this.cloneDiv(params[0]); - - if (params[0][0].value !== 'to') { - return params.unshift([{ type: 'word', value: this.oldDirections.bottom }, div]); - } else { - var _words = []; - for (var _iterator5 = params[0].slice(2), _isArray5 = Array.isArray(_iterator5), _i5 = 0, _iterator5 = _isArray5 ? _iterator5 : _iterator5[Symbol.iterator]();;) { - var _ref5; - - if (_isArray5) { - if (_i5 >= _iterator5.length) break; - _ref5 = _iterator5[_i5++]; - } else { - _i5 = _iterator5.next(); - if (_i5.done) break; - _ref5 = _i5.value; - } - - var node = _ref5; - - if (node.type === 'word') { - _words.push(node.value.toLowerCase()); - } - } - - _words = _words.join(' '); - var old = this.oldDirections[_words] || _words; - - params[0] = [{ type: 'word', value: old }, div]; - return params[0]; - } - }; - - /** - * Get div token from exists parameters - */ - - - Gradient.prototype.cloneDiv = function cloneDiv(params) { - for (var _iterator6 = params, _isArray6 = Array.isArray(_iterator6), _i6 = 0, _iterator6 = _isArray6 ? _iterator6 : _iterator6[Symbol.iterator]();;) { - var _ref6; - - if (_isArray6) { - if (_i6 >= _iterator6.length) break; - _ref6 = _iterator6[_i6++]; - } else { - _i6 = _iterator6.next(); - if (_i6.done) break; - _ref6 = _i6.value; - } - - var i = _ref6; - - if (i.type === 'div' && i.value === ',') { - return i; - } - } - return { type: 'div', value: ',', after: ' ' }; - }; - - /** - * Change colors syntax to old webkit - */ - - - Gradient.prototype.colorStops = function colorStops(params) { - var result = []; - for (var i = 0; i < params.length; i++) { - var pos = void 0; - var param = params[i]; - var item = void 0; - if (i === 0) { - continue; - } - - var color = parser.stringify(param[0]); - if (param[1] && param[1].type === 'word') { - pos = param[1].value; - } else if (param[2] && param[2].type === 'word') { - pos = param[2].value; - } - - var stop = void 0; - if (i === 1 && (!pos || pos === '0%')) { - stop = 'from(' + color + ')'; - } else if (i === params.length - 1 && (!pos || pos === '100%')) { - stop = 'to(' + color + ')'; - } else if (pos) { - stop = 'color-stop(' + pos + ', ' + color + ')'; - } else { - stop = 'color-stop(' + color + ')'; - } - - var div = param[param.length - 1]; - params[i] = [{ type: 'word', value: stop }]; - if (div.type === 'div' && div.value === ',') { - item = params[i].push(div); - } - result.push(item); - } - return result; - }; - - /** - * Remove old WebKit gradient too - */ - - - Gradient.prototype.old = function old(prefix) { - if (prefix === '-webkit-') { - var type = this.name === 'linear-gradient' ? 'linear' : 'radial'; - var string = '-gradient'; - var regexp = utils.regexp('-webkit-(' + type + '-gradient|gradient\\(\\s*' + type + ')', false); - - return new OldValue(this.name, prefix + this.name, string, regexp); - } else { - return _Value.prototype.old.call(this, prefix); - } - }; - - /** - * Do not add non-webkit prefixes for list-style and object - */ - - - Gradient.prototype.add = function add(decl, prefix) { - var p = decl.prop; - if (p.indexOf('mask') !== -1) { - if (prefix === '-webkit-' || prefix === '-webkit- old') { - return _Value.prototype.add.call(this, decl, prefix); - } - } else if (p === 'list-style' || p === 'list-style-image' || p === 'content') { - if (prefix === '-webkit-' || prefix === '-webkit- old') { - return _Value.prototype.add.call(this, decl, prefix); - } - } else { - return _Value.prototype.add.call(this, decl, prefix); - } - return undefined; - }; - - return Gradient; -}(Value); - -Object.defineProperty(Gradient, 'names', { - enumerable: true, - writable: true, - value: ['linear-gradient', 'repeating-linear-gradient', 'radial-gradient', 'repeating-radial-gradient'] -}); - - -module.exports = Gradient; \ No newline at end of file diff --git a/publi/node_modules/autoprefixer/lib/hacks/grid-area.js b/publi/node_modules/autoprefixer/lib/hacks/grid-area.js deleted file mode 100644 index cc25a27..0000000 --- a/publi/node_modules/autoprefixer/lib/hacks/grid-area.js +++ /dev/null @@ -1,84 +0,0 @@ -'use strict'; - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - -var Declaration = require('../declaration'); -var shorthand = require('./grid-shorthand'); - -var GridArea = function (_Declaration) { - _inherits(GridArea, _Declaration); - - function GridArea() { - _classCallCheck(this, GridArea); - - return _possibleConstructorReturn(this, _Declaration.apply(this, arguments)); - } - - /** - * Translate grid-area to separate -ms- prefixed properties - */ - GridArea.prototype.insert = function insert(decl, prefix, prefixes) { - if (prefix !== '-ms-') return _Declaration.prototype.insert.call(this, decl, prefix, prefixes); - - if (decl.parent.some(function (i) { - return i.prop === '-ms-grid-row'; - })) { - return undefined; - } - - var values = shorthand.parse(decl); - - var _shorthand$translate = shorthand.translate(values, 0, 2), - rowStart = _shorthand$translate[0], - rowSpan = _shorthand$translate[1]; - - var _shorthand$translate2 = shorthand.translate(values, 1, 3), - columnStart = _shorthand$translate2[0], - columnSpan = _shorthand$translate2[1]; - - if (rowStart) { - decl.cloneBefore({ - prop: '-ms-grid-row', - value: rowStart.toString() - }); - } - - if (rowSpan) { - decl.cloneBefore({ - prop: '-ms-grid-row-span', - value: rowSpan.toString() - }); - } - - if (columnStart) { - decl.cloneBefore({ - prop: '-ms-grid-column', - value: columnStart.toString() - }); - } - - if (columnSpan) { - decl.cloneBefore({ - prop: '-ms-grid-column-span', - value: columnSpan.toString() - }); - } - - return undefined; - }; - - return GridArea; -}(Declaration); - -Object.defineProperty(GridArea, 'names', { - enumerable: true, - writable: true, - value: ['grid-area'] -}); - - -module.exports = GridArea; \ No newline at end of file diff --git a/publi/node_modules/autoprefixer/lib/hacks/grid-column-align.js b/publi/node_modules/autoprefixer/lib/hacks/grid-column-align.js deleted file mode 100644 index 8cca237..0000000 --- a/publi/node_modules/autoprefixer/lib/hacks/grid-column-align.js +++ /dev/null @@ -1,55 +0,0 @@ -'use strict'; - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - -var Declaration = require('../declaration'); - -var GridColumnAlign = function (_Declaration) { - _inherits(GridColumnAlign, _Declaration); - - function GridColumnAlign() { - _classCallCheck(this, GridColumnAlign); - - return _possibleConstructorReturn(this, _Declaration.apply(this, arguments)); - } - - /** - * Do not prefix flexbox values - */ - GridColumnAlign.prototype.check = function check(decl) { - return decl.value.indexOf('flex-') === -1 && decl.value !== 'baseline'; - }; - - /** - * Change property name for IE - */ - - - GridColumnAlign.prototype.prefixed = function prefixed(prop, prefix) { - return prefix + 'grid-column-align'; - }; - - /** - * Change IE property back - */ - - - GridColumnAlign.prototype.normalize = function normalize() { - return 'justify-self'; - }; - - return GridColumnAlign; -}(Declaration); - -Object.defineProperty(GridColumnAlign, 'names', { - enumerable: true, - writable: true, - value: ['grid-column-align'] -}); - - -module.exports = GridColumnAlign; \ No newline at end of file diff --git a/publi/node_modules/autoprefixer/lib/hacks/grid-end.js b/publi/node_modules/autoprefixer/lib/hacks/grid-end.js deleted file mode 100644 index 567c8a8..0000000 --- a/publi/node_modules/autoprefixer/lib/hacks/grid-end.js +++ /dev/null @@ -1,71 +0,0 @@ -'use strict'; - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - -var Declaration = require('../declaration'); - -var GridEnd = function (_Declaration) { - _inherits(GridEnd, _Declaration); - - function GridEnd() { - _classCallCheck(this, GridEnd); - - return _possibleConstructorReturn(this, _Declaration.apply(this, arguments)); - } - - /** - * Do not add prefix for unsupported value in IE - */ - GridEnd.prototype.check = function check(decl) { - return decl.value.indexOf('span') !== -1; - }; - - /** - * Return a final spec property - */ - - - GridEnd.prototype.normalize = function normalize(prop) { - return prop.replace(/(-span|-end)/, ''); - }; - - /** - * Change property name for IE - */ - - - GridEnd.prototype.prefixed = function prefixed(prop, prefix) { - var result = _Declaration.prototype.prefixed.call(this, prop, prefix); - if (prefix === '-ms-') { - result = result.replace('-end', '-span'); - } - return result; - }; - - /** - * Change repeating syntax for IE - */ - - - GridEnd.prototype.set = function set(decl, prefix) { - if (prefix === '-ms-') { - decl.value = decl.value.replace(/span\s/i, ''); - } - return _Declaration.prototype.set.call(this, decl, prefix); - }; - - return GridEnd; -}(Declaration); - -Object.defineProperty(GridEnd, 'names', { - enumerable: true, - writable: true, - value: ['grid-row-end', 'grid-column-end', 'grid-row-span', 'grid-column-span'] -}); - - -module.exports = GridEnd; \ No newline at end of file diff --git a/publi/node_modules/autoprefixer/lib/hacks/grid-row-align.js b/publi/node_modules/autoprefixer/lib/hacks/grid-row-align.js deleted file mode 100644 index ebbcdb5..0000000 --- a/publi/node_modules/autoprefixer/lib/hacks/grid-row-align.js +++ /dev/null @@ -1,55 +0,0 @@ -'use strict'; - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - -var Declaration = require('../declaration'); - -var GridRowAlign = function (_Declaration) { - _inherits(GridRowAlign, _Declaration); - - function GridRowAlign() { - _classCallCheck(this, GridRowAlign); - - return _possibleConstructorReturn(this, _Declaration.apply(this, arguments)); - } - - /** - * Do not prefix flexbox values - */ - GridRowAlign.prototype.check = function check(decl) { - return decl.value.indexOf('flex-') === -1 && decl.value !== 'baseline'; - }; - - /** - * Change property name for IE - */ - - - GridRowAlign.prototype.prefixed = function prefixed(prop, prefix) { - return prefix + 'grid-row-align'; - }; - - /** - * Change IE property back - */ - - - GridRowAlign.prototype.normalize = function normalize() { - return 'align-self'; - }; - - return GridRowAlign; -}(Declaration); - -Object.defineProperty(GridRowAlign, 'names', { - enumerable: true, - writable: true, - value: ['grid-row-align'] -}); - - -module.exports = GridRowAlign; \ No newline at end of file diff --git a/publi/node_modules/autoprefixer/lib/hacks/grid-row-column.js b/publi/node_modules/autoprefixer/lib/hacks/grid-row-column.js deleted file mode 100644 index 09656fa..0000000 --- a/publi/node_modules/autoprefixer/lib/hacks/grid-row-column.js +++ /dev/null @@ -1,60 +0,0 @@ -'use strict'; - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - -var Declaration = require('../declaration'); -var shorthand = require('./grid-shorthand'); - -var GridRowColumn = function (_Declaration) { - _inherits(GridRowColumn, _Declaration); - - function GridRowColumn() { - _classCallCheck(this, GridRowColumn); - - return _possibleConstructorReturn(this, _Declaration.apply(this, arguments)); - } - - /** - * Translate grid-row / grid-column to separate -ms- prefixed properties - */ - GridRowColumn.prototype.insert = function insert(decl, prefix, prefixes) { - if (prefix !== '-ms-') return _Declaration.prototype.insert.call(this, decl, prefix, prefixes); - - var values = shorthand.parse(decl); - - var _shorthand$translate = shorthand.translate(values, 0, 1), - start = _shorthand$translate[0], - span = _shorthand$translate[1]; - - if (start) { - decl.cloneBefore({ - prop: '-ms-' + decl.prop, - value: start.toString() - }); - } - - if (span) { - decl.cloneBefore({ - prop: '-ms-' + decl.prop + '-span', - value: span.toString() - }); - } - - return undefined; - }; - - return GridRowColumn; -}(Declaration); - -Object.defineProperty(GridRowColumn, 'names', { - enumerable: true, - writable: true, - value: ['grid-row', 'grid-column'] -}); - - -module.exports = GridRowColumn; \ No newline at end of file diff --git a/publi/node_modules/autoprefixer/lib/hacks/grid-rows-columns.js b/publi/node_modules/autoprefixer/lib/hacks/grid-rows-columns.js deleted file mode 100644 index 86cf1cd..0000000 --- a/publi/node_modules/autoprefixer/lib/hacks/grid-rows-columns.js +++ /dev/null @@ -1,63 +0,0 @@ -'use strict'; - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - -var Declaration = require('../declaration'); -var shorthand = require('./grid-shorthand'); - -var GridRowsColumns = function (_Declaration) { - _inherits(GridRowsColumns, _Declaration); - - function GridRowsColumns() { - _classCallCheck(this, GridRowsColumns); - - return _possibleConstructorReturn(this, _Declaration.apply(this, arguments)); - } - - /** - * Change property name for IE - */ - GridRowsColumns.prototype.prefixed = function prefixed(prop, prefix) { - if (prefix === '-ms-') { - return prefix + prop.replace('template-', ''); - } else { - return _Declaration.prototype.prefixed.call(this, prop, prefix); - } - }; - - /** - * Change IE property back - */ - - - GridRowsColumns.prototype.normalize = function normalize(prop) { - return prop.replace(/^grid-(rows|columns)/, 'grid-template-$1'); - }; - - /** - * Change repeating syntax for IE - */ - - - GridRowsColumns.prototype.set = function set(decl, prefix) { - if (prefix === '-ms-' && decl.value.indexOf('repeat(') !== -1) { - decl.value = shorthand.changeRepeat(decl.value); - } - return _Declaration.prototype.set.call(this, decl, prefix); - }; - - return GridRowsColumns; -}(Declaration); - -Object.defineProperty(GridRowsColumns, 'names', { - enumerable: true, - writable: true, - value: ['grid-template-rows', 'grid-template-columns', 'grid-rows', 'grid-columns'] -}); - - -module.exports = GridRowsColumns; \ No newline at end of file diff --git a/publi/node_modules/autoprefixer/lib/hacks/grid-shorthand.js b/publi/node_modules/autoprefixer/lib/hacks/grid-shorthand.js deleted file mode 100644 index 8cdcd5b..0000000 --- a/publi/node_modules/autoprefixer/lib/hacks/grid-shorthand.js +++ /dev/null @@ -1,160 +0,0 @@ -'use strict'; - -var parser = require('postcss-value-parser'); - -function convert(value) { - if (value && value.length === 2 && value[0] === 'span' && parseInt(value[1], 10) > 0) { - return [false, parseInt(value[1], 10)]; - } - - if (value && value.length === 1 && parseInt(value[0], 10) > 0) { - return [parseInt(value[0], 10), false]; - } - - return [false, false]; -} - -function translate(values, startIndex, endIndex) { - var startValue = values[startIndex]; - var endValue = values[endIndex]; - - if (!startValue) { - return [false, false]; - } - - var _convert = convert(startValue), - start = _convert[0], - spanStart = _convert[1]; - - var _convert2 = convert(endValue), - end = _convert2[0], - spanEnd = _convert2[1]; - - if (start && !endValue) { - return [start, false]; - } - - if (spanStart && end) { - return [end - spanStart, spanStart]; - } - - if (start && spanEnd) { - return [start, spanEnd]; - } - - if (start && end) { - return [start, end - start]; - } - - return [false, false]; -} - -function parse(decl) { - var node = parser(decl.value); - - var values = []; - var current = 0; - values[current] = []; - - for (var _iterator = node.nodes, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) { - var _ref; - - if (_isArray) { - if (_i >= _iterator.length) break; - _ref = _iterator[_i++]; - } else { - _i = _iterator.next(); - if (_i.done) break; - _ref = _i.value; - } - - var i = _ref; - - if (i.type === 'div') { - current += 1; - values[current] = []; - } else if (i.type === 'word') { - values[current].push(i.value); - } - } - - return values; -} - -function parseTemplateShortcut(decl) { - var node = parser(decl.value, { loose: true }); - - var values = []; - var current = 0; - values[current] = []; - - for (var _iterator2 = node.nodes, _isArray2 = Array.isArray(_iterator2), _i2 = 0, _iterator2 = _isArray2 ? _iterator2 : _iterator2[Symbol.iterator]();;) { - var _ref2; - - if (_isArray2) { - if (_i2 >= _iterator2.length) break; - _ref2 = _iterator2[_i2++]; - } else { - _i2 = _iterator2.next(); - if (_i2.done) break; - _ref2 = _i2.value; - } - - var i = _ref2; - - if (i.type === 'div') { - current += 1; - values[current] = []; - } else { - values[current].push(parser.stringify(i)); - } - } - - return values; -} - -function walkRepeat(node) { - var fixed = []; - for (var _iterator3 = node.nodes, _isArray3 = Array.isArray(_iterator3), _i3 = 0, _iterator3 = _isArray3 ? _iterator3 : _iterator3[Symbol.iterator]();;) { - var _ref3; - - if (_isArray3) { - if (_i3 >= _iterator3.length) break; - _ref3 = _iterator3[_i3++]; - } else { - _i3 = _iterator3.next(); - if (_i3.done) break; - _ref3 = _i3.value; - } - - var i = _ref3; - - if (i.nodes) { - walkRepeat(i); - } - fixed.push(i); - if (i.type === 'function' && i.value === 'repeat') { - var first = i.nodes.shift(); - if (first) { - var count = first.value; - i.nodes.shift(); - i.value = ''; - fixed.push({ type: 'word', value: '[' + count + ']' }); - } - } - } - node.nodes = fixed; -} - -function changeRepeat(value) { - var ast = parser(value); - walkRepeat(ast); - return ast.toString(); -} - -module.exports = { - parse: parse, - translate: translate, - changeRepeat: changeRepeat, - parseTemplateShortcut: parseTemplateShortcut -}; \ No newline at end of file diff --git a/publi/node_modules/autoprefixer/lib/hacks/grid-start.js b/publi/node_modules/autoprefixer/lib/hacks/grid-start.js deleted file mode 100644 index de785b8..0000000 --- a/publi/node_modules/autoprefixer/lib/hacks/grid-start.js +++ /dev/null @@ -1,60 +0,0 @@ -'use strict'; - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - -var Declaration = require('../declaration'); - -var GridStart = function (_Declaration) { - _inherits(GridStart, _Declaration); - - function GridStart() { - _classCallCheck(this, GridStart); - - return _possibleConstructorReturn(this, _Declaration.apply(this, arguments)); - } - - /** - * Do not add prefix for unsupported value in IE - */ - GridStart.prototype.check = function check(decl) { - var value = decl.value; - return value.indexOf('/') === -1 || value.indexOf('span') !== -1; - }; - - /** - * Return a final spec property - */ - - - GridStart.prototype.normalize = function normalize(prop) { - return prop.replace('-start', ''); - }; - - /** - * Change property name for IE - */ - - - GridStart.prototype.prefixed = function prefixed(prop, prefix) { - var result = _Declaration.prototype.prefixed.call(this, prop, prefix); - if (prefix === '-ms-') { - result = result.replace('-start', ''); - } - return result; - }; - - return GridStart; -}(Declaration); - -Object.defineProperty(GridStart, 'names', { - enumerable: true, - writable: true, - value: ['grid-row-start', 'grid-column-start'] -}); - - -module.exports = GridStart; \ No newline at end of file diff --git a/publi/node_modules/autoprefixer/lib/hacks/grid-template-areas.js b/publi/node_modules/autoprefixer/lib/hacks/grid-template-areas.js deleted file mode 100644 index a32e6a7..0000000 --- a/publi/node_modules/autoprefixer/lib/hacks/grid-template-areas.js +++ /dev/null @@ -1,133 +0,0 @@ -'use strict'; - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - -var Declaration = require('../declaration'); - -var DOTS = /^\.+$/; - -function track(start, end) { - return { start: start, end: end, span: end - start }; -} - -function getRows(tpl) { - return tpl.trim().slice(1, -1).split(/['"]\s*['"]?/g); -} - -function getColumns(line) { - return line.trim().split(/\s+/g); -} - -function parseGridAreas(tpl) { - return getRows(tpl).reduce(function (areas, line, rowIndex) { - if (line.trim() === '') return areas; - getColumns(line).forEach(function (area, columnIndex) { - if (DOTS.test(area)) return; - if (typeof areas[area] === 'undefined') { - areas[area] = { - column: track(columnIndex + 1, columnIndex + 2), - row: track(rowIndex + 1, rowIndex + 2) - }; - } else { - var _areas$area = areas[area], - column = _areas$area.column, - row = _areas$area.row; - - - column.start = Math.min(column.start, columnIndex + 1); - column.end = Math.max(column.end, columnIndex + 2); - column.span = column.end - column.start; - - row.start = Math.min(row.start, rowIndex + 1); - row.end = Math.max(row.end, rowIndex + 2); - row.span = row.end - row.start; - } - }); - return areas; - }, {}); -} - -var GridTemplateAreas = function (_Declaration) { - _inherits(GridTemplateAreas, _Declaration); - - function GridTemplateAreas() { - _classCallCheck(this, GridTemplateAreas); - - return _possibleConstructorReturn(this, _Declaration.apply(this, arguments)); - } - - GridTemplateAreas.prototype.getRoot = function getRoot(parent) { - if (parent.type === 'atrule' || !parent.parent) { - return parent; - } - return this.getRoot(parent.parent); - }; - - /** - * Translate grid-template-areas to separate -ms- prefixed properties - */ - - - GridTemplateAreas.prototype.insert = function insert(decl, prefix, prefixes, result) { - if (prefix !== '-ms-') return _Declaration.prototype.insert.call(this, decl, prefix, prefixes); - - var areas = parseGridAreas(decl.value); - this.getRoot(decl.parent).walkDecls('grid-area', function (gridArea) { - var value = gridArea.value; - var area = areas[value]; - delete areas[value]; - - if (gridArea.parent.some(function (i) { - return i.prop === '-ms-grid-row'; - })) { - return undefined; - } - - if (area) { - gridArea.cloneBefore({ - prop: '-ms-grid-row', - value: String(area.row.start) - }); - if (area.row.span > 1) { - gridArea.cloneBefore({ - prop: '-ms-grid-row-span', - value: String(area.row.span) - }); - } - gridArea.cloneBefore({ - prop: '-ms-grid-column', - value: String(area.column.start) - }); - if (area.column.span > 1) { - gridArea.cloneBefore({ - prop: '-ms-grid-column-span', - value: String(area.column.span) - }); - } - } - return undefined; - }); - - var missed = Object.keys(areas); - if (missed.length > 0) { - decl.warn(result, 'Can not find grid areas: ' + missed.join(', ')); - } - - return decl; - }; - - return GridTemplateAreas; -}(Declaration); - -Object.defineProperty(GridTemplateAreas, 'names', { - enumerable: true, - writable: true, - value: ['grid-template-areas'] -}); - - -module.exports = GridTemplateAreas; \ No newline at end of file diff --git a/publi/node_modules/autoprefixer/lib/hacks/grid-template.js b/publi/node_modules/autoprefixer/lib/hacks/grid-template.js deleted file mode 100644 index ba594d8..0000000 --- a/publi/node_modules/autoprefixer/lib/hacks/grid-template.js +++ /dev/null @@ -1,73 +0,0 @@ -'use strict'; - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - -var Declaration = require('../declaration'); -var shorthand = require('./grid-shorthand'); - -var GridTemplate = function (_Declaration) { - _inherits(GridTemplate, _Declaration); - - function GridTemplate() { - _classCallCheck(this, GridTemplate); - - return _possibleConstructorReturn(this, _Declaration.apply(this, arguments)); - } - - /** - * Do not add prefix for unsupported value in IE - */ - GridTemplate.prototype.check = function check(decl) { - return decl.value.includes('/') && !decl.value.includes('[') && !decl.value.includes('"') && !decl.value.includes('\''); - }; - - /** - * Translate grid-template to separate -ms- prefixed properties - */ - - - GridTemplate.prototype.insert = function insert(decl, prefix, prefixes) { - if (prefix !== '-ms-') return _Declaration.prototype.insert.call(this, decl, prefix, prefixes); - - if (decl.parent.some(function (i) { - return i.prop === '-ms-grid-rows'; - })) { - return undefined; - } - - var _shorthand$parseTempl = shorthand.parseTemplateShortcut(decl), - templateRows = _shorthand$parseTempl[0], - templateColumns = _shorthand$parseTempl[1]; - - if (templateRows) { - decl.cloneBefore({ - prop: '-ms-grid-rows', - value: shorthand.changeRepeat(templateRows.join('')) - }); - } - - if (templateColumns) { - decl.cloneBefore({ - prop: '-ms-grid-columns', - value: shorthand.changeRepeat(templateColumns.join('')) - }); - } - - return decl; - }; - - return GridTemplate; -}(Declaration); - -Object.defineProperty(GridTemplate, 'names', { - enumerable: true, - writable: true, - value: ['grid-template'] -}); - - -module.exports = GridTemplate; \ No newline at end of file diff --git a/publi/node_modules/autoprefixer/lib/hacks/image-rendering.js b/publi/node_modules/autoprefixer/lib/hacks/image-rendering.js deleted file mode 100644 index 9a936e0..0000000 --- a/publi/node_modules/autoprefixer/lib/hacks/image-rendering.js +++ /dev/null @@ -1,80 +0,0 @@ -'use strict'; - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - -var Declaration = require('../declaration'); - -var ImageRendering = function (_Declaration) { - _inherits(ImageRendering, _Declaration); - - function ImageRendering() { - _classCallCheck(this, ImageRendering); - - return _possibleConstructorReturn(this, _Declaration.apply(this, arguments)); - } - - /** - * Add hack only for crisp-edges - */ - ImageRendering.prototype.check = function check(decl) { - return decl.value === 'pixelated'; - }; - - /** - * Change property name for IE - */ - - - ImageRendering.prototype.prefixed = function prefixed(prop, prefix) { - if (prefix === '-ms-') { - return '-ms-interpolation-mode'; - } else { - return _Declaration.prototype.prefixed.call(this, prop, prefix); - } - }; - - /** - * Change property and value for IE - */ - - - ImageRendering.prototype.set = function set(decl, prefix) { - if (prefix !== '-ms-') return _Declaration.prototype.set.call(this, decl, prefix); - decl.prop = '-ms-interpolation-mode'; - decl.value = 'nearest-neighbor'; - return decl; - }; - - /** - * Return property name by spec - */ - - - ImageRendering.prototype.normalize = function normalize() { - return 'image-rendering'; - }; - - /** - * Warn on old value - */ - - - ImageRendering.prototype.process = function process(node, result) { - return _Declaration.prototype.process.call(this, node, result); - }; - - return ImageRendering; -}(Declaration); - -Object.defineProperty(ImageRendering, 'names', { - enumerable: true, - writable: true, - value: ['image-rendering', 'interpolation-mode'] -}); - - -module.exports = ImageRendering; \ No newline at end of file diff --git a/publi/node_modules/autoprefixer/lib/hacks/image-set.js b/publi/node_modules/autoprefixer/lib/hacks/image-set.js deleted file mode 100644 index 3f0c9ff..0000000 --- a/publi/node_modules/autoprefixer/lib/hacks/image-set.js +++ /dev/null @@ -1,41 +0,0 @@ -'use strict'; - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - -var Value = require('../value'); - -var ImageSet = function (_Value) { - _inherits(ImageSet, _Value); - - function ImageSet() { - _classCallCheck(this, ImageSet); - - return _possibleConstructorReturn(this, _Value.apply(this, arguments)); - } - - /** - * Use non-standard name for WebKit and Firefox - */ - ImageSet.prototype.replace = function replace(string, prefix) { - var fixed = _Value.prototype.replace.call(this, string, prefix); - if (prefix === '-webkit-') { - fixed = fixed.replace(/("[^"]+"|'[^']+')(\s+\d+\w)/gi, 'url($1)$2'); - } - return fixed; - }; - - return ImageSet; -}(Value); - -Object.defineProperty(ImageSet, 'names', { - enumerable: true, - writable: true, - value: ['image-set'] -}); - - -module.exports = ImageSet; \ No newline at end of file diff --git a/publi/node_modules/autoprefixer/lib/hacks/inline-logical.js b/publi/node_modules/autoprefixer/lib/hacks/inline-logical.js deleted file mode 100644 index 9e264d2..0000000 --- a/publi/node_modules/autoprefixer/lib/hacks/inline-logical.js +++ /dev/null @@ -1,46 +0,0 @@ -'use strict'; - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - -var Declaration = require('../declaration'); - -var InlineLogical = function (_Declaration) { - _inherits(InlineLogical, _Declaration); - - function InlineLogical() { - _classCallCheck(this, InlineLogical); - - return _possibleConstructorReturn(this, _Declaration.apply(this, arguments)); - } - - /** - * Use old syntax for -moz- and -webkit- - */ - InlineLogical.prototype.prefixed = function prefixed(prop, prefix) { - return prefix + prop.replace('-inline', ''); - }; - - /** - * Return property name by spec - */ - - - InlineLogical.prototype.normalize = function normalize(prop) { - return prop.replace(/(margin|padding|border)-(start|end)/, '$1-inline-$2'); - }; - - return InlineLogical; -}(Declaration); - -Object.defineProperty(InlineLogical, 'names', { - enumerable: true, - writable: true, - value: ['border-inline-start', 'border-inline-end', 'margin-inline-start', 'margin-inline-end', 'padding-inline-start', 'padding-inline-end', 'border-start', 'border-end', 'margin-start', 'margin-end', 'padding-start', 'padding-end'] -}); - - -module.exports = InlineLogical; \ No newline at end of file diff --git a/publi/node_modules/autoprefixer/lib/hacks/intrinsic.js b/publi/node_modules/autoprefixer/lib/hacks/intrinsic.js deleted file mode 100644 index b8b4c8b..0000000 --- a/publi/node_modules/autoprefixer/lib/hacks/intrinsic.js +++ /dev/null @@ -1,73 +0,0 @@ -'use strict'; - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - -var OldValue = require('../old-value'); -var Value = require('../value'); - -function _regexp(name) { - return new RegExp('(^|[\\s,(])(' + name + '($|[\\s),]))', 'gi'); -} - -var Intrinsic = function (_Value) { - _inherits(Intrinsic, _Value); - - function Intrinsic() { - _classCallCheck(this, Intrinsic); - - return _possibleConstructorReturn(this, _Value.apply(this, arguments)); - } - - Intrinsic.prototype.regexp = function regexp() { - if (!this.regexpCache) this.regexpCache = _regexp(this.name); - return this.regexpCache; - }; - - Intrinsic.prototype.isStretch = function isStretch() { - return this.name === 'stretch' || this.name === 'fill' || this.name === 'fill-available'; - }; - - Intrinsic.prototype.replace = function replace(string, prefix) { - if (prefix === '-moz-' && this.isStretch()) { - return string.replace(this.regexp(), '$1-moz-available$3'); - } else if (prefix === '-webkit-' && this.isStretch()) { - return string.replace(this.regexp(), '$1-webkit-fill-available$3'); - } else { - return _Value.prototype.replace.call(this, string, prefix); - } - }; - - Intrinsic.prototype.old = function old(prefix) { - var prefixed = prefix + this.name; - if (this.isStretch()) { - if (prefix === '-moz-') { - prefixed = '-moz-available'; - } else if (prefix === '-webkit-') { - prefixed = '-webkit-fill-available'; - } - } - return new OldValue(this.name, prefixed, prefixed, _regexp(prefixed)); - }; - - Intrinsic.prototype.add = function add(decl, prefix) { - if (decl.prop.indexOf('grid') !== -1 && prefix !== '-webkit-') { - return undefined; - } - return _Value.prototype.add.call(this, decl, prefix); - }; - - return Intrinsic; -}(Value); - -Object.defineProperty(Intrinsic, 'names', { - enumerable: true, - writable: true, - value: ['max-content', 'min-content', 'fit-content', 'fill', 'fill-available', 'stretch'] -}); - - -module.exports = Intrinsic; \ No newline at end of file diff --git a/publi/node_modules/autoprefixer/lib/hacks/justify-content.js b/publi/node_modules/autoprefixer/lib/hacks/justify-content.js deleted file mode 100644 index 9838fbc..0000000 --- a/publi/node_modules/autoprefixer/lib/hacks/justify-content.js +++ /dev/null @@ -1,89 +0,0 @@ -'use strict'; - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - -var flexSpec = require('./flex-spec'); -var Declaration = require('../declaration'); - -var JustifyContent = function (_Declaration) { - _inherits(JustifyContent, _Declaration); - - function JustifyContent() { - _classCallCheck(this, JustifyContent); - - return _possibleConstructorReturn(this, _Declaration.apply(this, arguments)); - } - - /** - * Change property name for 2009 and 2012 specs - */ - JustifyContent.prototype.prefixed = function prefixed(prop, prefix) { - var spec = void 0; - - var _flexSpec = flexSpec(prefix); - - spec = _flexSpec[0]; - prefix = _flexSpec[1]; - - if (spec === 2009) { - return prefix + 'box-pack'; - } else if (spec === 2012) { - return prefix + 'flex-pack'; - } else { - return _Declaration.prototype.prefixed.call(this, prop, prefix); - } - }; - - /** - * Return property name by final spec - */ - - - JustifyContent.prototype.normalize = function normalize() { - return 'justify-content'; - }; - - /** - * Change value for 2009 and 2012 specs - */ - - - JustifyContent.prototype.set = function set(decl, prefix) { - var spec = flexSpec(prefix)[0]; - if (spec === 2009 || spec === 2012) { - var value = JustifyContent.oldValues[decl.value] || decl.value; - decl.value = value; - if (spec !== 2009 || value !== 'distribute') { - return _Declaration.prototype.set.call(this, decl, prefix); - } - } else if (spec === 'final') { - return _Declaration.prototype.set.call(this, decl, prefix); - } - return undefined; - }; - - return JustifyContent; -}(Declaration); - -Object.defineProperty(JustifyContent, 'names', { - enumerable: true, - writable: true, - value: ['justify-content', 'flex-pack', 'box-pack'] -}); -Object.defineProperty(JustifyContent, 'oldValues', { - enumerable: true, - writable: true, - value: { - 'flex-end': 'end', - 'flex-start': 'start', - 'space-between': 'justify', - 'space-around': 'distribute' - } -}); - - -module.exports = JustifyContent; \ No newline at end of file diff --git a/publi/node_modules/autoprefixer/lib/hacks/mask-border.js b/publi/node_modules/autoprefixer/lib/hacks/mask-border.js deleted file mode 100644 index a531448..0000000 --- a/publi/node_modules/autoprefixer/lib/hacks/mask-border.js +++ /dev/null @@ -1,50 +0,0 @@ -'use strict'; - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - -var Declaration = require('../declaration'); - -var MaskBorder = function (_Declaration) { - _inherits(MaskBorder, _Declaration); - - function MaskBorder() { - _classCallCheck(this, MaskBorder); - - return _possibleConstructorReturn(this, _Declaration.apply(this, arguments)); - } - - /** - * Return property name by final spec - */ - MaskBorder.prototype.normalize = function normalize() { - return this.name.replace('box-image', 'border'); - }; - - /** - * Return flex property for 2012 spec - */ - - - MaskBorder.prototype.prefixed = function prefixed(prop, prefix) { - var result = _Declaration.prototype.prefixed.call(this, prop, prefix); - if (prefix === '-webkit-') { - result = result.replace('border', 'box-image'); - } - return result; - }; - - return MaskBorder; -}(Declaration); - -Object.defineProperty(MaskBorder, 'names', { - enumerable: true, - writable: true, - value: ['mask-border', 'mask-border-source', 'mask-border-slice', 'mask-border-width', 'mask-border-outset', 'mask-border-repeat', 'mask-box-image', 'mask-box-image-source', 'mask-box-image-slice', 'mask-box-image-width', 'mask-box-image-outset', 'mask-box-image-repeat'] -}); - - -module.exports = MaskBorder; \ No newline at end of file diff --git a/publi/node_modules/autoprefixer/lib/hacks/order.js b/publi/node_modules/autoprefixer/lib/hacks/order.js deleted file mode 100644 index e346b94..0000000 --- a/publi/node_modules/autoprefixer/lib/hacks/order.js +++ /dev/null @@ -1,75 +0,0 @@ -'use strict'; - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - -var flexSpec = require('./flex-spec'); -var Declaration = require('../declaration'); - -var Order = function (_Declaration) { - _inherits(Order, _Declaration); - - function Order() { - _classCallCheck(this, Order); - - return _possibleConstructorReturn(this, _Declaration.apply(this, arguments)); - } - - /** - * Change property name for 2009 and 2012 specs - */ - Order.prototype.prefixed = function prefixed(prop, prefix) { - var spec = void 0; - - var _flexSpec = flexSpec(prefix); - - spec = _flexSpec[0]; - prefix = _flexSpec[1]; - - if (spec === 2009) { - return prefix + 'box-ordinal-group'; - } else if (spec === 2012) { - return prefix + 'flex-order'; - } else { - return _Declaration.prototype.prefixed.call(this, prop, prefix); - } - }; - - /** - * Return property name by final spec - */ - - - Order.prototype.normalize = function normalize() { - return 'order'; - }; - - /** - * Fix value for 2009 spec - */ - - - Order.prototype.set = function set(decl, prefix) { - var spec = flexSpec(prefix)[0]; - if (spec === 2009 && /\d/.test(decl.value)) { - decl.value = (parseInt(decl.value) + 1).toString(); - return _Declaration.prototype.set.call(this, decl, prefix); - } else { - return _Declaration.prototype.set.call(this, decl, prefix); - } - }; - - return Order; -}(Declaration); - -Object.defineProperty(Order, 'names', { - enumerable: true, - writable: true, - value: ['order', 'flex-order', 'box-ordinal-group'] -}); - - -module.exports = Order; \ No newline at end of file diff --git a/publi/node_modules/autoprefixer/lib/hacks/pixelated.js b/publi/node_modules/autoprefixer/lib/hacks/pixelated.js deleted file mode 100644 index 00a623b..0000000 --- a/publi/node_modules/autoprefixer/lib/hacks/pixelated.js +++ /dev/null @@ -1,59 +0,0 @@ -'use strict'; - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - -var OldValue = require('../old-value'); -var Value = require('../value'); - -var Pixelated = function (_Value) { - _inherits(Pixelated, _Value); - - function Pixelated() { - _classCallCheck(this, Pixelated); - - return _possibleConstructorReturn(this, _Value.apply(this, arguments)); - } - - /** - * Use non-standard name for WebKit and Firefox - */ - Pixelated.prototype.replace = function replace(string, prefix) { - if (prefix === '-webkit-') { - return string.replace(this.regexp(), '$1-webkit-optimize-contrast'); - } else if (prefix === '-moz-') { - return string.replace(this.regexp(), '$1-moz-crisp-edges'); - } else { - return _Value.prototype.replace.call(this, string, prefix); - } - }; - - /** - * Different name for WebKit and Firefox - */ - - - Pixelated.prototype.old = function old(prefix) { - if (prefix === '-webkit-') { - return new OldValue(this.name, '-webkit-optimize-contrast'); - } else if (prefix === '-moz-') { - return new OldValue(this.name, '-moz-crisp-edges'); - } else { - return _Value.prototype.old.call(this, prefix); - } - }; - - return Pixelated; -}(Value); - -Object.defineProperty(Pixelated, 'names', { - enumerable: true, - writable: true, - value: ['pixelated'] -}); - - -module.exports = Pixelated; \ No newline at end of file diff --git a/publi/node_modules/autoprefixer/lib/hacks/placeholder.js b/publi/node_modules/autoprefixer/lib/hacks/placeholder.js deleted file mode 100644 index f6765ff..0000000 --- a/publi/node_modules/autoprefixer/lib/hacks/placeholder.js +++ /dev/null @@ -1,56 +0,0 @@ -'use strict'; - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - -var Selector = require('../selector'); - -var Placeholder = function (_Selector) { - _inherits(Placeholder, _Selector); - - function Placeholder() { - _classCallCheck(this, Placeholder); - - return _possibleConstructorReturn(this, _Selector.apply(this, arguments)); - } - - /** - * Add old mozilla to possible prefixes - */ - Placeholder.prototype.possible = function possible() { - return _Selector.prototype.possible.call(this).concat(['-moz- old', '-ms- old']); - }; - - /** - * Return different selectors depend on prefix - */ - - - Placeholder.prototype.prefixed = function prefixed(prefix) { - if (prefix === '-webkit-') { - return '::-webkit-input-placeholder'; - } else if (prefix === '-ms-') { - return '::-ms-input-placeholder'; - } else if (prefix === '-ms- old') { - return ':-ms-input-placeholder'; - } else if (prefix === '-moz- old') { - return ':-moz-placeholder'; - } else { - return '::' + prefix + 'placeholder'; - } - }; - - return Placeholder; -}(Selector); - -Object.defineProperty(Placeholder, 'names', { - enumerable: true, - writable: true, - value: ['::placeholder'] -}); - - -module.exports = Placeholder; \ No newline at end of file diff --git a/publi/node_modules/autoprefixer/lib/hacks/text-decoration.js b/publi/node_modules/autoprefixer/lib/hacks/text-decoration.js deleted file mode 100644 index ca42ca0..0000000 --- a/publi/node_modules/autoprefixer/lib/hacks/text-decoration.js +++ /dev/null @@ -1,41 +0,0 @@ -'use strict'; - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - -var Declaration = require('../declaration'); - -var BASIC = ['none', 'underline', 'overline', 'line-through', 'blink', 'inherit', 'initial', 'unset']; - -var TextDecoration = function (_Declaration) { - _inherits(TextDecoration, _Declaration); - - function TextDecoration() { - _classCallCheck(this, TextDecoration); - - return _possibleConstructorReturn(this, _Declaration.apply(this, arguments)); - } - - /** - * Do not add prefixes for basic values. - */ - TextDecoration.prototype.check = function check(decl) { - return decl.value.split(/\s+/).some(function (i) { - return BASIC.indexOf(i) === -1; - }); - }; - - return TextDecoration; -}(Declaration); - -Object.defineProperty(TextDecoration, 'names', { - enumerable: true, - writable: true, - value: ['text-decoration'] -}); - - -module.exports = TextDecoration; \ No newline at end of file diff --git a/publi/node_modules/autoprefixer/lib/hacks/text-emphasis-position.js b/publi/node_modules/autoprefixer/lib/hacks/text-emphasis-position.js deleted file mode 100644 index 4965d5c..0000000 --- a/publi/node_modules/autoprefixer/lib/hacks/text-emphasis-position.js +++ /dev/null @@ -1,37 +0,0 @@ -'use strict'; - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - -var Declaration = require('../declaration'); - -var TextEmphasisPosition = function (_Declaration) { - _inherits(TextEmphasisPosition, _Declaration); - - function TextEmphasisPosition() { - _classCallCheck(this, TextEmphasisPosition); - - return _possibleConstructorReturn(this, _Declaration.apply(this, arguments)); - } - - TextEmphasisPosition.prototype.set = function set(decl, prefix) { - if (prefix === '-webkit-') { - decl.value = decl.value.replace(/\s*(right|left)\s*/i, ''); - } - return _Declaration.prototype.set.call(this, decl, prefix); - }; - - return TextEmphasisPosition; -}(Declaration); - -Object.defineProperty(TextEmphasisPosition, 'names', { - enumerable: true, - writable: true, - value: ['text-emphasis-position'] -}); - - -module.exports = TextEmphasisPosition; \ No newline at end of file diff --git a/publi/node_modules/autoprefixer/lib/hacks/transform-decl.js b/publi/node_modules/autoprefixer/lib/hacks/transform-decl.js deleted file mode 100644 index 084e9cf..0000000 --- a/publi/node_modules/autoprefixer/lib/hacks/transform-decl.js +++ /dev/null @@ -1,116 +0,0 @@ -'use strict'; - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - -var Declaration = require('../declaration'); - -var TransformDecl = function (_Declaration) { - _inherits(TransformDecl, _Declaration); - - function TransformDecl() { - _classCallCheck(this, TransformDecl); - - return _possibleConstructorReturn(this, _Declaration.apply(this, arguments)); - } - - /** - * Recursively check all parents for @keyframes - */ - TransformDecl.prototype.keyframeParents = function keyframeParents(decl) { - var parent = decl.parent; - - while (parent) { - if (parent.type === 'atrule' && parent.name === 'keyframes') { - return true; - } - var _parent = parent; - parent = _parent.parent; - } - return false; - }; - - /** - * Is transform contain 3D commands - */ - - - TransformDecl.prototype.contain3d = function contain3d(decl) { - if (decl.prop === 'transform-origin') { - return false; - } - - for (var _iterator = TransformDecl.functions3d, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) { - var _ref; - - if (_isArray) { - if (_i >= _iterator.length) break; - _ref = _iterator[_i++]; - } else { - _i = _iterator.next(); - if (_i.done) break; - _ref = _i.value; - } - - var func = _ref; - - if (decl.value.indexOf(func + '(') !== -1) { - return true; - } - } - - return false; - }; - - /** - * Replace rotateZ to rotate for IE 9 - */ - - - TransformDecl.prototype.set = function set(decl, prefix) { - decl = _Declaration.prototype.set.call(this, decl, prefix); - if (prefix === '-ms-') { - decl.value = decl.value.replace(/rotateZ/gi, 'rotate'); - } - return decl; - }; - - /** - * Don't add prefix for IE in keyframes - */ - - - TransformDecl.prototype.insert = function insert(decl, prefix, prefixes) { - if (prefix === '-ms-') { - if (!this.contain3d(decl) && !this.keyframeParents(decl)) { - return _Declaration.prototype.insert.call(this, decl, prefix, prefixes); - } - } else if (prefix === '-o-') { - if (!this.contain3d(decl)) { - return _Declaration.prototype.insert.call(this, decl, prefix, prefixes); - } - } else { - return _Declaration.prototype.insert.call(this, decl, prefix, prefixes); - } - return undefined; - }; - - return TransformDecl; -}(Declaration); - -Object.defineProperty(TransformDecl, 'names', { - enumerable: true, - writable: true, - value: ['transform', 'transform-origin'] -}); -Object.defineProperty(TransformDecl, 'functions3d', { - enumerable: true, - writable: true, - value: ['matrix3d', 'translate3d', 'translateZ', 'scale3d', 'scaleZ', 'rotate3d', 'rotateX', 'rotateY', 'perspective'] -}); - - -module.exports = TransformDecl; \ No newline at end of file diff --git a/publi/node_modules/autoprefixer/lib/hacks/writing-mode.js b/publi/node_modules/autoprefixer/lib/hacks/writing-mode.js deleted file mode 100644 index e4b9906..0000000 --- a/publi/node_modules/autoprefixer/lib/hacks/writing-mode.js +++ /dev/null @@ -1,48 +0,0 @@ -'use strict'; - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - -var Declaration = require('../declaration'); - -var WritingMode = function (_Declaration) { - _inherits(WritingMode, _Declaration); - - function WritingMode() { - _classCallCheck(this, WritingMode); - - return _possibleConstructorReturn(this, _Declaration.apply(this, arguments)); - } - - WritingMode.prototype.set = function set(decl, prefix) { - if (prefix === '-ms-') { - decl.value = WritingMode.msValues[decl.value] || decl.value; - return _Declaration.prototype.set.call(this, decl, prefix); - } else { - return _Declaration.prototype.set.call(this, decl, prefix); - } - }; - - return WritingMode; -}(Declaration); - -Object.defineProperty(WritingMode, 'names', { - enumerable: true, - writable: true, - value: ['writing-mode'] -}); -Object.defineProperty(WritingMode, 'msValues', { - enumerable: true, - writable: true, - value: { - 'horizontal-tb': 'lr-tb', - 'vertical-rl': 'tb-rl', - 'vertical-lr': 'tb-lr' - } -}); - - -module.exports = WritingMode; \ No newline at end of file diff --git a/publi/node_modules/autoprefixer/lib/info.js b/publi/node_modules/autoprefixer/lib/info.js deleted file mode 100644 index f744002..0000000 --- a/publi/node_modules/autoprefixer/lib/info.js +++ /dev/null @@ -1,152 +0,0 @@ -'use strict'; - -var browserslist = require('browserslist'); - -function capitalize(str) { - return str.slice(0, 1).toUpperCase() + str.slice(1); -} - -var names = { - ie: 'IE', - ie_mob: 'IE Mobile', - ios_saf: 'iOS', - op_mini: 'Opera Mini', - op_mob: 'Opera Mobile', - and_chr: 'Chrome for Android', - and_ff: 'Firefox for Android', - and_uc: 'UC for Android' -}; - -var prefix = function prefix(name, prefixes) { - var out = ' ' + name + ': '; - out += prefixes.map(function (i) { - return i.replace(/^-(.*)-$/g, '$1'); - }).join(', '); - out += '\n'; - return out; -}; - -module.exports = function (prefixes) { - if (prefixes.browsers.selected.length === 0) { - return 'No browsers selected'; - } - - var versions = {}; - for (var _iterator = prefixes.browsers.selected, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) { - var _ref; - - if (_isArray) { - if (_i >= _iterator.length) break; - _ref = _iterator[_i++]; - } else { - _i = _iterator.next(); - if (_i.done) break; - _ref = _i.value; - } - - var browser = _ref; - - var _browser$split = browser.split(' '), - name = _browser$split[0], - version = _browser$split[1]; - - name = names[name] || capitalize(name); - if (versions[name]) { - versions[name].push(version); - } else { - versions[name] = [version]; - } - } - - var out = 'Browsers:\n'; - for (var _browser in versions) { - var list = versions[_browser]; - list = list.sort(function (a, b) { - return parseFloat(b) - parseFloat(a); - }); - out += ' ' + _browser + ': ' + list.join(', ') + '\n'; - } - - var coverage = browserslist.coverage(prefixes.browsers.selected); - var round = Math.round(coverage * 100) / 100.0; - out += '\nThese browsers account for ' + round + '% of all users globally\n'; - - var atrules = ''; - for (var name in prefixes.add) { - var data = prefixes.add[name]; - if (name[0] === '@' && data.prefixes) { - atrules += prefix(name, data.prefixes); - } - } - if (atrules !== '') { - out += '\nAt-Rules:\n' + atrules; - } - - var selectors = ''; - for (var _iterator2 = prefixes.add.selectors, _isArray2 = Array.isArray(_iterator2), _i2 = 0, _iterator2 = _isArray2 ? _iterator2 : _iterator2[Symbol.iterator]();;) { - var _ref2; - - if (_isArray2) { - if (_i2 >= _iterator2.length) break; - _ref2 = _iterator2[_i2++]; - } else { - _i2 = _iterator2.next(); - if (_i2.done) break; - _ref2 = _i2.value; - } - - var selector = _ref2; - - if (selector.prefixes) { - selectors += prefix(selector.name, selector.prefixes); - } - } - if (selectors !== '') { - out += '\nSelectors:\n' + selectors; - } - - var values = ''; - var props = ''; - for (var _name in prefixes.add) { - var _data = prefixes.add[_name]; - if (_name[0] !== '@' && _data.prefixes) { - props += prefix(_name, _data.prefixes); - } - - if (!_data.values) { - continue; - } - for (var _iterator3 = _data.values, _isArray3 = Array.isArray(_iterator3), _i3 = 0, _iterator3 = _isArray3 ? _iterator3 : _iterator3[Symbol.iterator]();;) { - var _ref3; - - if (_isArray3) { - if (_i3 >= _iterator3.length) break; - _ref3 = _iterator3[_i3++]; - } else { - _i3 = _iterator3.next(); - if (_i3.done) break; - _ref3 = _i3.value; - } - - var value = _ref3; - - var string = prefix(value.name, value.prefixes); - if (values.indexOf(string) === -1) { - values += string; - } - } - } - - if (props !== '') { - out += '\nProperties:\n' + props; - } - if (values !== '') { - out += '\nValues:\n' + values; - } - - if (atrules === '' && selectors === '' && props === '' && values === '') { - out += '\nAwesome! Your browsers don\'t require any vendor prefixes.' + '\nNow you can remove Autoprefixer from build steps.'; - } - - return out; -}; \ No newline at end of file diff --git a/publi/node_modules/autoprefixer/lib/old-selector.js b/publi/node_modules/autoprefixer/lib/old-selector.js deleted file mode 100644 index e129fdd..0000000 --- a/publi/node_modules/autoprefixer/lib/old-selector.js +++ /dev/null @@ -1,94 +0,0 @@ -"use strict"; - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -var OldSelector = function () { - function OldSelector(selector, prefix) { - _classCallCheck(this, OldSelector); - - this.prefix = prefix; - this.prefixed = selector.prefixed(this.prefix); - this.regexp = selector.regexp(this.prefix); - - this.prefixeds = selector.possible().map(function (x) { - return [selector.prefixed(x), selector.regexp(x)]; - }); - - this.unprefixed = selector.name; - this.nameRegexp = selector.regexp(); - } - - /** - * Is rule a hack without unprefixed version bottom - */ - - - OldSelector.prototype.isHack = function isHack(rule) { - var index = rule.parent.index(rule) + 1; - var rules = rule.parent.nodes; - - while (index < rules.length) { - var before = rules[index].selector; - if (!before) { - return true; - } - - if (before.indexOf(this.unprefixed) !== -1 && before.match(this.nameRegexp)) { - return false; - } - - var some = false; - for (var _iterator = this.prefixeds, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) { - var _ref2; - - if (_isArray) { - if (_i >= _iterator.length) break; - _ref2 = _iterator[_i++]; - } else { - _i = _iterator.next(); - if (_i.done) break; - _ref2 = _i.value; - } - - var _ref = _ref2; - var string = _ref[0]; - var regexp = _ref[1]; - - if (before.indexOf(string) !== -1 && before.match(regexp)) { - some = true; - break; - } - } - - if (!some) { - return true; - } - - index += 1; - } - - return true; - }; - - /** - * Does rule contain an unnecessary prefixed selector - */ - - - OldSelector.prototype.check = function check(rule) { - if (rule.selector.indexOf(this.prefixed) === -1) { - return false; - } - if (!rule.selector.match(this.regexp)) { - return false; - } - if (this.isHack(rule)) { - return false; - } - return true; - }; - - return OldSelector; -}(); - -module.exports = OldSelector; \ No newline at end of file diff --git a/publi/node_modules/autoprefixer/lib/old-value.js b/publi/node_modules/autoprefixer/lib/old-value.js deleted file mode 100644 index c8ffd9b..0000000 --- a/publi/node_modules/autoprefixer/lib/old-value.js +++ /dev/null @@ -1,32 +0,0 @@ -'use strict'; - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -var utils = require('./utils'); - -var OldValue = function () { - function OldValue(unprefixed, prefixed, string, regexp) { - _classCallCheck(this, OldValue); - - this.unprefixed = unprefixed; - this.prefixed = prefixed; - this.string = string || prefixed; - this.regexp = regexp || utils.regexp(prefixed); - } - - /** - * Check, that value contain old value - */ - - - OldValue.prototype.check = function check(value) { - if (value.indexOf(this.string) !== -1) { - return !!value.match(this.regexp); - } - return false; - }; - - return OldValue; -}(); - -module.exports = OldValue; \ No newline at end of file diff --git a/publi/node_modules/autoprefixer/lib/prefixer.js b/publi/node_modules/autoprefixer/lib/prefixer.js deleted file mode 100644 index bafef2e..0000000 --- a/publi/node_modules/autoprefixer/lib/prefixer.js +++ /dev/null @@ -1,188 +0,0 @@ -'use strict'; - -var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -var Browsers = require('./browsers'); -var utils = require('./utils'); - -var vendor = require('postcss/lib/vendor'); - -/** - * Recursivly clone objects - */ -function _clone(obj, parent) { - var cloned = new obj.constructor(); - - for (var _iterator = Object.keys(obj || {}), _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) { - var _ref; - - if (_isArray) { - if (_i >= _iterator.length) break; - _ref = _iterator[_i++]; - } else { - _i = _iterator.next(); - if (_i.done) break; - _ref = _i.value; - } - - var i = _ref; - - var value = obj[i]; - if (i === 'parent' && (typeof value === 'undefined' ? 'undefined' : _typeof(value)) === 'object') { - if (parent) { - cloned[i] = parent; - } - } else if (i === 'source' || i === null) { - cloned[i] = value; - } else if (value instanceof Array) { - cloned[i] = value.map(function (x) { - return _clone(x, cloned); - }); - } else if (i !== '_autoprefixerPrefix' && i !== '_autoprefixerValues') { - if ((typeof value === 'undefined' ? 'undefined' : _typeof(value)) === 'object' && value !== null) { - value = _clone(value, cloned); - } - cloned[i] = value; - } - } - - return cloned; -} - -var Prefixer = function () { - - /** - * Add hack to selected names - */ - Prefixer.hack = function hack(klass) { - var _this = this; - - if (!this.hacks) { - this.hacks = {}; - } - return klass.names.map(function (name) { - _this.hacks[name] = klass; - return _this.hacks[name]; - }); - }; - - /** - * Load hacks for some names - */ - - - Prefixer.load = function load(name, prefixes, all) { - var Klass = this.hacks && this.hacks[name]; - if (Klass) { - return new Klass(name, prefixes, all); - } else { - return new this(name, prefixes, all); - } - }; - - /** - * Clone node and clean autprefixer custom caches - */ - - - Prefixer.clone = function clone(node, overrides) { - var cloned = _clone(node); - for (var name in overrides) { - cloned[name] = overrides[name]; - } - return cloned; - }; - - function Prefixer(name, prefixes, all) { - _classCallCheck(this, Prefixer); - - this.name = name; - this.prefixes = prefixes; - this.all = all; - } - - /** - * Find prefix in node parents - */ - - - Prefixer.prototype.parentPrefix = function parentPrefix(node) { - var prefix = void 0; - - if (typeof node._autoprefixerPrefix !== 'undefined') { - prefix = node._autoprefixerPrefix; - } else if (node.type === 'decl' && node.prop[0] === '-') { - prefix = vendor.prefix(node.prop); - } else if (node.type === 'root') { - prefix = false; - } else if (node.type === 'rule' && node.selector.indexOf(':-') !== -1 && /:(-\w+-)/.test(node.selector)) { - prefix = node.selector.match(/:(-\w+-)/)[1]; - } else if (node.type === 'atrule' && node.name[0] === '-') { - prefix = vendor.prefix(node.name); - } else { - prefix = this.parentPrefix(node.parent); - } - - if (Browsers.prefixes().indexOf(prefix) === -1) { - prefix = false; - } - - node._autoprefixerPrefix = prefix; - - return node._autoprefixerPrefix; - }; - - /** - * Clone node with prefixes - */ - - - Prefixer.prototype.process = function process(node, result) { - if (!this.check(node)) { - return undefined; - } - - var parent = this.parentPrefix(node); - - var prefixes = this.prefixes.filter(function (prefix) { - return !parent || parent === utils.removeNote(prefix); - }); - - var added = []; - for (var _iterator2 = prefixes, _isArray2 = Array.isArray(_iterator2), _i2 = 0, _iterator2 = _isArray2 ? _iterator2 : _iterator2[Symbol.iterator]();;) { - var _ref2; - - if (_isArray2) { - if (_i2 >= _iterator2.length) break; - _ref2 = _iterator2[_i2++]; - } else { - _i2 = _iterator2.next(); - if (_i2.done) break; - _ref2 = _i2.value; - } - - var prefix = _ref2; - - if (this.add(node, prefix, added.concat([prefix]), result)) { - added.push(prefix); - } - } - - return added; - }; - - /** - * Shortcut for Prefixer.clone - */ - - - Prefixer.prototype.clone = function clone(node, overrides) { - return Prefixer.clone(node, overrides); - }; - - return Prefixer; -}(); - -module.exports = Prefixer; \ No newline at end of file diff --git a/publi/node_modules/autoprefixer/lib/prefixes.js b/publi/node_modules/autoprefixer/lib/prefixes.js deleted file mode 100644 index 64a5a1e..0000000 --- a/publi/node_modules/autoprefixer/lib/prefixes.js +++ /dev/null @@ -1,510 +0,0 @@ -'use strict'; - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -var Declaration = require('./declaration'); -var Resolution = require('./resolution'); -var Transition = require('./transition'); -var Processor = require('./processor'); -var Supports = require('./supports'); -var Browsers = require('./browsers'); -var Selector = require('./selector'); -var AtRule = require('./at-rule'); -var Value = require('./value'); -var utils = require('./utils'); - -var vendor = require('postcss/lib/vendor'); - -Selector.hack(require('./hacks/fullscreen')); -Selector.hack(require('./hacks/placeholder')); - -Declaration.hack(require('./hacks/flex')); -Declaration.hack(require('./hacks/order')); -Declaration.hack(require('./hacks/filter')); -Declaration.hack(require('./hacks/grid-end')); -Declaration.hack(require('./hacks/animation')); -Declaration.hack(require('./hacks/flex-flow')); -Declaration.hack(require('./hacks/flex-grow')); -Declaration.hack(require('./hacks/flex-wrap')); -Declaration.hack(require('./hacks/grid-area')); -Declaration.hack(require('./hacks/grid-start')); -Declaration.hack(require('./hacks/align-self')); -Declaration.hack(require('./hacks/appearance')); -Declaration.hack(require('./hacks/flex-basis')); -Declaration.hack(require('./hacks/mask-border')); -Declaration.hack(require('./hacks/align-items')); -Declaration.hack(require('./hacks/flex-shrink')); -Declaration.hack(require('./hacks/break-props')); -Declaration.hack(require('./hacks/writing-mode')); -Declaration.hack(require('./hacks/border-image')); -Declaration.hack(require('./hacks/align-content')); -Declaration.hack(require('./hacks/border-radius')); -Declaration.hack(require('./hacks/block-logical')); -Declaration.hack(require('./hacks/grid-template')); -Declaration.hack(require('./hacks/inline-logical')); -Declaration.hack(require('./hacks/grid-row-align')); -Declaration.hack(require('./hacks/transform-decl')); -Declaration.hack(require('./hacks/flex-direction')); -Declaration.hack(require('./hacks/image-rendering')); -Declaration.hack(require('./hacks/text-decoration')); -Declaration.hack(require('./hacks/justify-content')); -Declaration.hack(require('./hacks/background-size')); -Declaration.hack(require('./hacks/grid-row-column')); -Declaration.hack(require('./hacks/grid-rows-columns')); -Declaration.hack(require('./hacks/grid-column-align')); -Declaration.hack(require('./hacks/grid-template-areas')); -Declaration.hack(require('./hacks/text-emphasis-position')); - -Value.hack(require('./hacks/gradient')); -Value.hack(require('./hacks/intrinsic')); -Value.hack(require('./hacks/pixelated')); -Value.hack(require('./hacks/image-set')); -Value.hack(require('./hacks/cross-fade')); -Value.hack(require('./hacks/display-flex')); -Value.hack(require('./hacks/display-grid')); -Value.hack(require('./hacks/filter-value')); - -var declsCache = {}; - -var Prefixes = function () { - function Prefixes(data, browsers) { - var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; - - _classCallCheck(this, Prefixes); - - this.data = data; - this.browsers = browsers; - this.options = options; - - var _preprocess = this.preprocess(this.select(this.data)); - - this.add = _preprocess[0]; - this.remove = _preprocess[1]; - - this.transition = new Transition(this); - this.processor = new Processor(this); - } - - /** - * Return clone instance to remove all prefixes - */ - - - Prefixes.prototype.cleaner = function cleaner() { - if (this.cleanerCache) { - return this.cleanerCache; - } - - if (this.browsers.selected.length) { - var empty = new Browsers(this.browsers.data, []); - this.cleanerCache = new Prefixes(this.data, empty, this.options); - } else { - return this; - } - - return this.cleanerCache; - }; - - /** - * Select prefixes from data, which is necessary for selected browsers - */ - - - Prefixes.prototype.select = function select(list) { - var _this = this; - - var selected = { add: {}, remove: {} }; - - var _loop = function _loop(name) { - var data = list[name]; - var add = data.browsers.map(function (i) { - var params = i.split(' '); - return { - browser: params[0] + ' ' + params[1], - note: params[2] - }; - }); - - var notes = add.filter(function (i) { - return i.note; - }).map(function (i) { - return _this.browsers.prefix(i.browser) + ' ' + i.note; - }); - notes = utils.uniq(notes); - - add = add.filter(function (i) { - return _this.browsers.isSelected(i.browser); - }).map(function (i) { - var prefix = _this.browsers.prefix(i.browser); - if (i.note) { - return prefix + ' ' + i.note; - } else { - return prefix; - } - }); - add = _this.sort(utils.uniq(add)); - - if (_this.options.flexbox === 'no-2009') { - add = add.filter(function (i) { - return i.indexOf('2009') === -1; - }); - } - - var all = data.browsers.map(function (i) { - return _this.browsers.prefix(i); - }); - if (data.mistakes) { - all = all.concat(data.mistakes); - } - all = all.concat(notes); - all = utils.uniq(all); - - if (add.length) { - selected.add[name] = add; - if (add.length < all.length) { - selected.remove[name] = all.filter(function (i) { - return add.indexOf(i) === -1; - }); - } - } else { - selected.remove[name] = all; - } - }; - - for (var name in list) { - _loop(name); - } - - return selected; - }; - - /** - * Sort vendor prefixes - */ - - - Prefixes.prototype.sort = function sort(prefixes) { - return prefixes.sort(function (a, b) { - var aLength = utils.removeNote(a).length; - var bLength = utils.removeNote(b).length; - - if (aLength === bLength) { - return b.length - a.length; - } else { - return bLength - aLength; - } - }); - }; - - /** - * Cache prefixes data to fast CSS processing - */ - - - Prefixes.prototype.preprocess = function preprocess(selected) { - var add = { - 'selectors': [], - '@supports': new Supports(Prefixes, this) - }; - for (var name in selected.add) { - var prefixes = selected.add[name]; - if (name === '@keyframes' || name === '@viewport') { - add[name] = new AtRule(name, prefixes, this); - } else if (name === '@resolution') { - add[name] = new Resolution(name, prefixes, this); - } else if (this.data[name].selector) { - add.selectors.push(Selector.load(name, prefixes, this)); - } else { - var props = this.data[name].props; - - if (props) { - var value = Value.load(name, prefixes, this); - for (var _iterator = props, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) { - var _ref; - - if (_isArray) { - if (_i >= _iterator.length) break; - _ref = _iterator[_i++]; - } else { - _i = _iterator.next(); - if (_i.done) break; - _ref = _i.value; - } - - var prop = _ref; - - if (!add[prop]) { - add[prop] = { values: [] }; - } - add[prop].values.push(value); - } - } else { - var values = add[name] && add[name].values || []; - add[name] = Declaration.load(name, prefixes, this); - add[name].values = values; - } - } - } - - var remove = { selectors: [] }; - for (var _name in selected.remove) { - var _prefixes = selected.remove[_name]; - if (this.data[_name].selector) { - var selector = Selector.load(_name, _prefixes); - for (var _iterator2 = _prefixes, _isArray2 = Array.isArray(_iterator2), _i2 = 0, _iterator2 = _isArray2 ? _iterator2 : _iterator2[Symbol.iterator]();;) { - var _ref2; - - if (_isArray2) { - if (_i2 >= _iterator2.length) break; - _ref2 = _iterator2[_i2++]; - } else { - _i2 = _iterator2.next(); - if (_i2.done) break; - _ref2 = _i2.value; - } - - var prefix = _ref2; - - remove.selectors.push(selector.old(prefix)); - } - } else if (_name === '@keyframes' || _name === '@viewport') { - for (var _iterator3 = _prefixes, _isArray3 = Array.isArray(_iterator3), _i3 = 0, _iterator3 = _isArray3 ? _iterator3 : _iterator3[Symbol.iterator]();;) { - var _ref3; - - if (_isArray3) { - if (_i3 >= _iterator3.length) break; - _ref3 = _iterator3[_i3++]; - } else { - _i3 = _iterator3.next(); - if (_i3.done) break; - _ref3 = _i3.value; - } - - var _prefix = _ref3; - - var prefixed = '@' + _prefix + _name.slice(1); - remove[prefixed] = { remove: true }; - } - } else if (_name === '@resolution') { - remove[_name] = new Resolution(_name, _prefixes, this); - } else { - var _props = this.data[_name].props; - if (_props) { - var _value = Value.load(_name, [], this); - for (var _iterator4 = _prefixes, _isArray4 = Array.isArray(_iterator4), _i4 = 0, _iterator4 = _isArray4 ? _iterator4 : _iterator4[Symbol.iterator]();;) { - var _ref4; - - if (_isArray4) { - if (_i4 >= _iterator4.length) break; - _ref4 = _iterator4[_i4++]; - } else { - _i4 = _iterator4.next(); - if (_i4.done) break; - _ref4 = _i4.value; - } - - var _prefix2 = _ref4; - - var old = _value.old(_prefix2); - if (old) { - for (var _iterator5 = _props, _isArray5 = Array.isArray(_iterator5), _i5 = 0, _iterator5 = _isArray5 ? _iterator5 : _iterator5[Symbol.iterator]();;) { - var _ref5; - - if (_isArray5) { - if (_i5 >= _iterator5.length) break; - _ref5 = _iterator5[_i5++]; - } else { - _i5 = _iterator5.next(); - if (_i5.done) break; - _ref5 = _i5.value; - } - - var _prop = _ref5; - - if (!remove[_prop]) { - remove[_prop] = {}; - } - if (!remove[_prop].values) { - remove[_prop].values = []; - } - remove[_prop].values.push(old); - } - } - } - } else { - for (var _iterator6 = _prefixes, _isArray6 = Array.isArray(_iterator6), _i6 = 0, _iterator6 = _isArray6 ? _iterator6 : _iterator6[Symbol.iterator]();;) { - var _ref6; - - if (_isArray6) { - if (_i6 >= _iterator6.length) break; - _ref6 = _iterator6[_i6++]; - } else { - _i6 = _iterator6.next(); - if (_i6.done) break; - _ref6 = _i6.value; - } - - var _prefix3 = _ref6; - - var olds = this.decl(_name).old(_name, _prefix3); - if (_name === 'align-self') { - var a = add[_name] && add[_name].prefixes; - if (a) { - if (_prefix3 === '-webkit- 2009' && a.indexOf('-webkit-') !== -1) { - continue; - } else if (_prefix3 === '-webkit-' && a.indexOf('-webkit- 2009') !== -1) { - continue; - } - } - } - for (var _iterator7 = olds, _isArray7 = Array.isArray(_iterator7), _i7 = 0, _iterator7 = _isArray7 ? _iterator7 : _iterator7[Symbol.iterator]();;) { - var _ref7; - - if (_isArray7) { - if (_i7 >= _iterator7.length) break; - _ref7 = _iterator7[_i7++]; - } else { - _i7 = _iterator7.next(); - if (_i7.done) break; - _ref7 = _i7.value; - } - - var _prefixed = _ref7; - - if (!remove[_prefixed]) { - remove[_prefixed] = {}; - } - remove[_prefixed].remove = true; - } - } - } - } - } - - return [add, remove]; - }; - - /** - * Declaration loader with caching - */ - - - Prefixes.prototype.decl = function decl(prop) { - var decl = declsCache[prop]; - - if (decl) { - return decl; - } else { - declsCache[prop] = Declaration.load(prop); - return declsCache[prop]; - } - }; - - /** - * Return unprefixed version of property - */ - - - Prefixes.prototype.unprefixed = function unprefixed(prop) { - var value = this.normalize(vendor.unprefixed(prop)); - if (value === 'flex-direction') { - value = 'flex-flow'; - } - return value; - }; - - /** - * Normalize prefix for remover - */ - - - Prefixes.prototype.normalize = function normalize(prop) { - return this.decl(prop).normalize(prop); - }; - - /** - * Return prefixed version of property - */ - - - Prefixes.prototype.prefixed = function prefixed(prop, prefix) { - prop = vendor.unprefixed(prop); - return this.decl(prop).prefixed(prop, prefix); - }; - - /** - * Return values, which must be prefixed in selected property - */ - - - Prefixes.prototype.values = function values(type, prop) { - var data = this[type]; - - var global = data['*'] && data['*'].values; - var values = data[prop] && data[prop].values; - - if (global && values) { - return utils.uniq(global.concat(values)); - } else { - return global || values || []; - } - }; - - /** - * Group declaration by unprefixed property to check them - */ - - - Prefixes.prototype.group = function group(decl) { - var _this2 = this; - - var rule = decl.parent; - var index = rule.index(decl); - var length = rule.nodes.length; - - var unprefixed = this.unprefixed(decl.prop); - - var checker = function checker(step, callback) { - index += step; - while (index >= 0 && index < length) { - var other = rule.nodes[index]; - if (other.type === 'decl') { - - if (step === -1 && other.prop === unprefixed) { - if (!Browsers.withPrefix(other.value)) { - break; - } - } - - if (_this2.unprefixed(other.prop) !== unprefixed) { - break; - } else if (callback(other) === true) { - return true; - } - - if (step === +1 && other.prop === unprefixed) { - if (!Browsers.withPrefix(other.value)) { - break; - } - } - } - - index += step; - } - return false; - }; - - return { - up: function up(callback) { - return checker(-1, callback); - }, - down: function down(callback) { - return checker(+1, callback); - } - }; - }; - - return Prefixes; -}(); - -module.exports = Prefixes; \ No newline at end of file diff --git a/publi/node_modules/autoprefixer/lib/processor.js b/publi/node_modules/autoprefixer/lib/processor.js deleted file mode 100644 index 93b424d..0000000 --- a/publi/node_modules/autoprefixer/lib/processor.js +++ /dev/null @@ -1,438 +0,0 @@ -'use strict'; - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -var Value = require('./value'); - -var OLD_LINEAR = /(^|[^-])linear-gradient\(\s*(top|left|right|bottom)/i; -var OLD_RADIAL = /(^|[^-])radial-gradient\(\s*\d+(\w*|%)\s+\d+(\w*|%)\s*,/i; - -var SIZES = ['width', 'height', 'min-width', 'max-width', 'min-height', 'max-height', 'inline-size', 'min-inline-size', 'max-inline-size', 'block-size', 'min-block-size', 'max-block-size']; - -var Processor = function () { - function Processor(prefixes) { - _classCallCheck(this, Processor); - - this.prefixes = prefixes; - } - - /** - * Add necessary prefixes - */ - - - Processor.prototype.add = function add(css, result) { - var _this = this; - - // At-rules - var resolution = this.prefixes.add['@resolution']; - var keyframes = this.prefixes.add['@keyframes']; - var viewport = this.prefixes.add['@viewport']; - var supports = this.prefixes.add['@supports']; - - css.walkAtRules(function (rule) { - if (rule.name === 'keyframes') { - if (!_this.disabled(rule, result)) { - return keyframes && keyframes.process(rule); - } - } else if (rule.name === 'viewport') { - if (!_this.disabled(rule, result)) { - return viewport && viewport.process(rule); - } - } else if (rule.name === 'supports') { - if (_this.prefixes.options.supports !== false && !_this.disabled(rule, result)) { - return supports.process(rule); - } - } else if (rule.name === 'media' && rule.params.indexOf('-resolution') !== -1) { - if (!_this.disabled(rule, result)) { - return resolution && resolution.process(rule); - } - } - - return undefined; - }); - - // Selectors - css.walkRules(function (rule) { - if (_this.disabled(rule, result)) return undefined; - - return _this.prefixes.add.selectors.map(function (selector) { - return selector.process(rule, result); - }); - }); - - css.walkDecls(function (decl) { - if (_this.disabledDecl(decl, result)) return undefined; - - if (decl.prop === 'display' && decl.value === 'box') { - result.warn('You should write display: flex by final spec ' + 'instead of display: box', { node: decl }); - return undefined; - } - if (decl.value.indexOf('linear-gradient') !== -1) { - if (OLD_LINEAR.test(decl.value)) { - result.warn('Gradient has outdated direction syntax. ' + 'New syntax is like `to left` instead of `right`.', { node: decl }); - } - } - if (decl.value.indexOf('radial-gradient') !== -1) { - if (OLD_RADIAL.test(decl.value)) { - result.warn('Gradient has outdated direction syntax. ' + 'New syntax is like `closest-side at 0 0` ' + 'instead of `0 0, closest-side`.', { node: decl }); - } else if (/[^-]cover/.test(decl.value)) { - result.warn('Gradient has outdated direction syntax. ' + 'Replace `cover` to `farthest-corner`.', { node: decl }); - } else if (/[^-]contain/.test(decl.value)) { - result.warn('Gradient has outdated direction syntax. ' + 'Replace `contain` to `closest-side`.', { node: decl }); - } - } - if (decl.prop === 'text-emphasis-position') { - if (decl.value === 'under' || decl.value === 'over') { - result.warn('You should use 2 values for text-emphasis-position ' + 'For example, `under left` instead of just `under`.', { node: decl }); - } - } - - if (SIZES.indexOf(decl.prop) !== -1) { - if (decl.value.indexOf('fill-available') !== -1) { - result.warn('Replace fill-available to stretch, ' + 'because spec had been changed', { node: decl }); - } else if (decl.value.indexOf('fill') !== -1) { - result.warn('Replace fill to stretch, ' + 'because spec had been changed', { node: decl }); - } - } - - var prefixer = void 0; - - if (decl.prop === 'transition' || decl.prop === 'transition-property') { - // Transition - return _this.prefixes.transition.add(decl, result); - } else if (decl.prop === 'align-self') { - // align-self flexbox or grid - var display = _this.displayType(decl); - if (display !== 'grid' && _this.prefixes.options.flexbox !== false) { - prefixer = _this.prefixes.add['align-self']; - if (prefixer && prefixer.prefixes) { - prefixer.process(decl); - } - } - if (display !== 'flex' && _this.prefixes.options.grid !== false) { - prefixer = _this.prefixes.add['grid-row-align']; - if (prefixer && prefixer.prefixes) { - return prefixer.process(decl, result); - } - } - } else if (decl.prop === 'justify-self') { - // justify-self flexbox or grid - var _display = _this.displayType(decl); - if (_display !== 'flex' && _this.prefixes.options.grid !== false) { - prefixer = _this.prefixes.add['grid-column-align']; - if (prefixer && prefixer.prefixes) { - return prefixer.process(decl, result); - } - } - } else { - // Properties - prefixer = _this.prefixes.add[decl.prop]; - if (prefixer && prefixer.prefixes) { - return prefixer.process(decl, result); - } - } - - return undefined; - }); - - // Values - return css.walkDecls(function (decl) { - if (_this.disabledValue(decl, result)) return; - - var unprefixed = _this.prefixes.unprefixed(decl.prop); - for (var _iterator = _this.prefixes.values('add', unprefixed), _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) { - var _ref; - - if (_isArray) { - if (_i >= _iterator.length) break; - _ref = _iterator[_i++]; - } else { - _i = _iterator.next(); - if (_i.done) break; - _ref = _i.value; - } - - var value = _ref; - - value.process(decl, result); - } - Value.save(_this.prefixes, decl); - }); - }; - - /** - * Remove unnecessary pefixes - */ - - - Processor.prototype.remove = function remove(css, result) { - var _this2 = this; - - // At-rules - var resolution = this.prefixes.remove['@resolution']; - - css.walkAtRules(function (rule, i) { - if (_this2.prefixes.remove['@' + rule.name]) { - if (!_this2.disabled(rule, result)) { - rule.parent.removeChild(i); - } - } else if (rule.name === 'media' && rule.params.indexOf('-resolution') !== -1 && resolution) { - resolution.clean(rule); - } - }); - - // Selectors - - var _loop = function _loop(checker) { - css.walkRules(function (rule, i) { - if (checker.check(rule)) { - if (!_this2.disabled(rule, result)) { - rule.parent.removeChild(i); - } - } - }); - }; - - for (var _iterator2 = this.prefixes.remove.selectors, _isArray2 = Array.isArray(_iterator2), _i2 = 0, _iterator2 = _isArray2 ? _iterator2 : _iterator2[Symbol.iterator]();;) { - var _ref2; - - if (_isArray2) { - if (_i2 >= _iterator2.length) break; - _ref2 = _iterator2[_i2++]; - } else { - _i2 = _iterator2.next(); - if (_i2.done) break; - _ref2 = _i2.value; - } - - var checker = _ref2; - - _loop(checker); - } - - return css.walkDecls(function (decl, i) { - if (_this2.disabled(decl, result)) return; - - var rule = decl.parent; - var unprefixed = _this2.prefixes.unprefixed(decl.prop); - - // Transition - if (decl.prop === 'transition' || decl.prop === 'transition-property') { - _this2.prefixes.transition.remove(decl); - } - - // Properties - if (_this2.prefixes.remove[decl.prop] && _this2.prefixes.remove[decl.prop].remove) { - var notHack = _this2.prefixes.group(decl).down(function (other) { - return _this2.prefixes.normalize(other.prop) === unprefixed; - }); - - if (unprefixed === 'flex-flow') { - notHack = true; - } - - if (notHack && !_this2.withHackValue(decl)) { - if (decl.raw('before').indexOf('\n') > -1) { - _this2.reduceSpaces(decl); - } - rule.removeChild(i); - return; - } - } - - // Values - for (var _iterator3 = _this2.prefixes.values('remove', unprefixed), _isArray3 = Array.isArray(_iterator3), _i3 = 0, _iterator3 = _isArray3 ? _iterator3 : _iterator3[Symbol.iterator]();;) { - var _ref3; - - if (_isArray3) { - if (_i3 >= _iterator3.length) break; - _ref3 = _iterator3[_i3++]; - } else { - _i3 = _iterator3.next(); - if (_i3.done) break; - _ref3 = _i3.value; - } - - var checker = _ref3; - - if (!checker.check(decl.value)) { - continue; - } - - unprefixed = checker.unprefixed; - var _notHack = _this2.prefixes.group(decl).down(function (other) { - return other.value.indexOf(unprefixed) !== -1; - }); - - if (_notHack) { - rule.removeChild(i); - return; - } - } - }); - }; - - /** - * Some rare old values, which is not in standard - */ - - - Processor.prototype.withHackValue = function withHackValue(decl) { - return decl.prop === '-webkit-background-clip' && decl.value === 'text'; - }; - - /** - * Check for grid/flexbox options. - */ - - - Processor.prototype.disabledValue = function disabledValue(node, result) { - if (this.prefixes.options.grid === false && node.type === 'decl') { - if (node.prop === 'display' && node.value.indexOf('grid') !== -1) { - return true; - } - } - if (this.prefixes.options.flexbox === false && node.type === 'decl') { - if (node.prop === 'display' && node.value.indexOf('flex') !== -1) { - return true; - } - } - - return this.disabled(node, result); - }; - - /** - * Check for grid/flexbox options. - */ - - - Processor.prototype.disabledDecl = function disabledDecl(node, result) { - if (this.prefixes.options.grid === false && node.type === 'decl') { - if (node.prop.indexOf('grid') !== -1 || node.prop === 'justify-items') { - return true; - } - } - if (this.prefixes.options.flexbox === false && node.type === 'decl') { - var other = ['order', 'justify-content', 'align-items', 'align-content']; - if (node.prop.indexOf('flex') !== -1 || other.indexOf(node.prop) !== -1) { - return true; - } - } - - return this.disabled(node, result); - }; - - /** - * Check for control comment and global options - */ - - - Processor.prototype.disabled = function disabled(node, result) { - if (!node) return false; - if (node._autoprefixerDisabled !== undefined) { - return node._autoprefixerDisabled; - } - - if (node.nodes) { - var status = undefined; - node.each(function (i) { - if (i.type !== 'comment') return; - if (/(!\s*)?autoprefixer:\s*(off|on)/i.test(i.text)) { - if (typeof status !== 'undefined') { - result.warn('Second Autoprefixer control comment ' + 'was ignored. Autoprefixer applies control ' + 'comment to whole block, not to next rules.', { node: i }); - } else { - status = /on/i.test(i.text); - } - } - }); - - var value = false; - if (status !== undefined) { - value = !status; - } else if (node.parent) { - value = this.disabled(node.parent, result); - } - - node._autoprefixerDisabled = value; - return node._autoprefixerDisabled; - } else { - node._autoprefixerDisabled = this.disabled(node.parent, result); - return node._autoprefixerDisabled; - } - }; - - /** - * Normalize spaces in cascade declaration group - */ - - - Processor.prototype.reduceSpaces = function reduceSpaces(decl) { - var stop = false; - this.prefixes.group(decl).up(function () { - stop = true; - return true; - }); - if (stop) { - return; - } - - var parts = decl.raw('before').split('\n'); - var prevMin = parts[parts.length - 1].length; - var diff = false; - - this.prefixes.group(decl).down(function (other) { - parts = other.raw('before').split('\n'); - var last = parts.length - 1; - - if (parts[last].length > prevMin) { - if (diff === false) { - diff = parts[last].length - prevMin; - } - - parts[last] = parts[last].slice(0, -diff); - other.raws.before = parts.join('\n'); - } - }); - }; - - /** - * Is it flebox or grid rule - */ - - - Processor.prototype.displayType = function displayType(decl) { - for (var _iterator4 = decl.parent.nodes, _isArray4 = Array.isArray(_iterator4), _i4 = 0, _iterator4 = _isArray4 ? _iterator4 : _iterator4[Symbol.iterator]();;) { - var _ref4; - - if (_isArray4) { - if (_i4 >= _iterator4.length) break; - _ref4 = _iterator4[_i4++]; - } else { - _i4 = _iterator4.next(); - if (_i4.done) break; - _ref4 = _i4.value; - } - - var i = _ref4; - - if (i.prop !== 'display') { - continue; - } - - if (i.value.indexOf('flex') !== -1) { - return 'flex'; - } - - if (i.value.indexOf('grid') !== -1) { - return 'grid'; - } - } - - return false; - }; - - return Processor; -}(); - -module.exports = Processor; \ No newline at end of file diff --git a/publi/node_modules/autoprefixer/lib/resolution.js b/publi/node_modules/autoprefixer/lib/resolution.js deleted file mode 100644 index aa05890..0000000 --- a/publi/node_modules/autoprefixer/lib/resolution.js +++ /dev/null @@ -1,152 +0,0 @@ -'use strict'; - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - -var Prefixer = require('./prefixer'); -var utils = require('./utils'); - -var n2f = require('num2fraction'); - -var regexp = /(min|max)-resolution\s*:\s*\d*\.?\d+(dppx|dpi)/gi; -var split = /(min|max)-resolution(\s*:\s*)(\d*\.?\d+)(dppx|dpi)/i; - -var Resolution = function (_Prefixer) { - _inherits(Resolution, _Prefixer); - - function Resolution() { - _classCallCheck(this, Resolution); - - return _possibleConstructorReturn(this, _Prefixer.apply(this, arguments)); - } - - /** - * Return prefixed query name - */ - Resolution.prototype.prefixName = function prefixName(prefix, name) { - var newName = prefix === '-moz-' ? name + '--moz-device-pixel-ratio' : prefix + name + '-device-pixel-ratio'; - return newName; - }; - - /** - * Return prefixed query - */ - - - Resolution.prototype.prefixQuery = function prefixQuery(prefix, name, colon, value, units) { - if (units === 'dpi') { - value = Number(value / 96); - } - if (prefix === '-o-') { - value = n2f(value); - } - return this.prefixName(prefix, name) + colon + value; - }; - - /** - * Remove prefixed queries - */ - - - Resolution.prototype.clean = function clean(rule) { - var _this2 = this; - - if (!this.bad) { - this.bad = []; - for (var _iterator = this.prefixes, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) { - var _ref; - - if (_isArray) { - if (_i >= _iterator.length) break; - _ref = _iterator[_i++]; - } else { - _i = _iterator.next(); - if (_i.done) break; - _ref = _i.value; - } - - var prefix = _ref; - - this.bad.push(this.prefixName(prefix, 'min')); - this.bad.push(this.prefixName(prefix, 'max')); - } - } - - rule.params = utils.editList(rule.params, function (queries) { - return queries.filter(function (query) { - return _this2.bad.every(function (i) { - return query.indexOf(i) === -1; - }); - }); - }); - }; - - /** - * Add prefixed queries - */ - - - Resolution.prototype.process = function process(rule) { - var _this3 = this; - - var parent = this.parentPrefix(rule); - var prefixes = parent ? [parent] : this.prefixes; - - rule.params = utils.editList(rule.params, function (origin, prefixed) { - for (var _iterator2 = origin, _isArray2 = Array.isArray(_iterator2), _i2 = 0, _iterator2 = _isArray2 ? _iterator2 : _iterator2[Symbol.iterator]();;) { - var _ref2; - - if (_isArray2) { - if (_i2 >= _iterator2.length) break; - _ref2 = _iterator2[_i2++]; - } else { - _i2 = _iterator2.next(); - if (_i2.done) break; - _ref2 = _i2.value; - } - - var query = _ref2; - - if (query.indexOf('min-resolution') === -1 && query.indexOf('max-resolution') === -1) { - prefixed.push(query); - continue; - } - - var _loop = function _loop(prefix) { - var processed = query.replace(regexp, function (str) { - var parts = str.match(split); - return _this3.prefixQuery(prefix, parts[1], parts[2], parts[3], parts[4]); - }); - prefixed.push(processed); - }; - - for (var _iterator3 = prefixes, _isArray3 = Array.isArray(_iterator3), _i3 = 0, _iterator3 = _isArray3 ? _iterator3 : _iterator3[Symbol.iterator]();;) { - var _ref3; - - if (_isArray3) { - if (_i3 >= _iterator3.length) break; - _ref3 = _iterator3[_i3++]; - } else { - _i3 = _iterator3.next(); - if (_i3.done) break; - _ref3 = _i3.value; - } - - var prefix = _ref3; - - _loop(prefix); - } - prefixed.push(query); - } - - return utils.uniq(prefixed); - }); - }; - - return Resolution; -}(Prefixer); - -module.exports = Resolution; \ No newline at end of file diff --git a/publi/node_modules/autoprefixer/lib/selector.js b/publi/node_modules/autoprefixer/lib/selector.js deleted file mode 100644 index a038fac..0000000 --- a/publi/node_modules/autoprefixer/lib/selector.js +++ /dev/null @@ -1,178 +0,0 @@ -'use strict'; - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - -var OldSelector = require('./old-selector'); -var Prefixer = require('./prefixer'); -var Browsers = require('./browsers'); -var utils = require('./utils'); - -var Selector = function (_Prefixer) { - _inherits(Selector, _Prefixer); - - function Selector(name, prefixes, all) { - _classCallCheck(this, Selector); - - var _this = _possibleConstructorReturn(this, _Prefixer.call(this, name, prefixes, all)); - - _this.regexpCache = {}; - return _this; - } - - /** - * Is rule selectors need to be prefixed - */ - - - Selector.prototype.check = function check(rule) { - if (rule.selector.indexOf(this.name) !== -1) { - return !!rule.selector.match(this.regexp()); - } - - return false; - }; - - /** - * Return prefixed version of selector - */ - - - Selector.prototype.prefixed = function prefixed(prefix) { - return this.name.replace(/^([^\w]*)/, '$1' + prefix); - }; - - /** - * Lazy loadRegExp for name - */ - - - Selector.prototype.regexp = function regexp(prefix) { - if (this.regexpCache[prefix]) { - return this.regexpCache[prefix]; - } - - var name = prefix ? this.prefixed(prefix) : this.name; - this.regexpCache[prefix] = new RegExp('(^|[^:"\'=])' + utils.escapeRegexp(name), 'gi'); - return this.regexpCache[prefix]; - }; - - /** - * All possible prefixes - */ - - - Selector.prototype.possible = function possible() { - return Browsers.prefixes(); - }; - - /** - * Return all possible selector prefixes - */ - - - Selector.prototype.prefixeds = function prefixeds(rule) { - if (rule._autoprefixerPrefixeds) { - return rule._autoprefixerPrefixeds; - } - - var prefixeds = {}; - for (var _iterator = this.possible(), _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) { - var _ref; - - if (_isArray) { - if (_i >= _iterator.length) break; - _ref = _iterator[_i++]; - } else { - _i = _iterator.next(); - if (_i.done) break; - _ref = _i.value; - } - - var prefix = _ref; - - prefixeds[prefix] = this.replace(rule.selector, prefix); - } - - rule._autoprefixerPrefixeds = prefixeds; - return rule._autoprefixerPrefixeds; - }; - - /** - * Is rule already prefixed before - */ - - - Selector.prototype.already = function already(rule, prefixeds, prefix) { - var index = rule.parent.index(rule) - 1; - - while (index >= 0) { - var before = rule.parent.nodes[index]; - - if (before.type !== 'rule') { - return false; - } - - var some = false; - for (var key in prefixeds) { - var prefixed = prefixeds[key]; - if (before.selector === prefixed) { - if (prefix === key) { - return true; - } else { - some = true; - break; - } - } - } - if (!some) { - return false; - } - - index -= 1; - } - - return false; - }; - - /** - * Replace selectors by prefixed one - */ - - - Selector.prototype.replace = function replace(selector, prefix) { - return selector.replace(this.regexp(), '$1' + this.prefixed(prefix)); - }; - - /** - * Clone and add prefixes for at-rule - */ - - - Selector.prototype.add = function add(rule, prefix) { - var prefixeds = this.prefixeds(rule); - - if (this.already(rule, prefixeds, prefix)) { - return; - } - - var cloned = this.clone(rule, { selector: prefixeds[prefix] }); - rule.parent.insertBefore(rule, cloned); - }; - - /** - * Return function to fast find prefixed selector - */ - - - Selector.prototype.old = function old(prefix) { - return new OldSelector(this, prefix); - }; - - return Selector; -}(Prefixer); - -module.exports = Selector; \ No newline at end of file diff --git a/publi/node_modules/autoprefixer/lib/supports.js b/publi/node_modules/autoprefixer/lib/supports.js deleted file mode 100644 index e4224d3..0000000 --- a/publi/node_modules/autoprefixer/lib/supports.js +++ /dev/null @@ -1,380 +0,0 @@ -'use strict'; - -var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -var Browsers = require('./browsers'); -var brackets = require('./brackets'); -var Value = require('./value'); -var utils = require('./utils'); - -var postcss = require('postcss'); - -var supported = []; -var data = require('caniuse-lite').feature(require('caniuse-lite/data/features/css-featurequeries.js')); -for (var browser in data.stats) { - var versions = data.stats[browser]; - for (var version in versions) { - var support = versions[version]; - if (/y/.test(support)) { - supported.push(browser + ' ' + version); - } - } -} - -var Supports = function () { - function Supports(Prefixes, all) { - _classCallCheck(this, Supports); - - this.Prefixes = Prefixes; - this.all = all; - } - - /** - * Return prefixer only with @supports supported browsers - */ - - - Supports.prototype.prefixer = function prefixer() { - if (this.prefixerCache) { - return this.prefixerCache; - } - - var filtered = this.all.browsers.selected.filter(function (i) { - return supported.indexOf(i) !== -1; - }); - - var browsers = new Browsers(this.all.browsers.data, filtered, this.all.options); - this.prefixerCache = new this.Prefixes(this.all.data, browsers, this.all.options); - return this.prefixerCache; - }; - - /** - * Parse string into declaration property and value - */ - - - Supports.prototype.parse = function parse(str) { - var _str$split = str.split(':'), - prop = _str$split[0], - value = _str$split[1]; - - if (!value) value = ''; - return [prop.trim(), value.trim()]; - }; - - /** - * Create virtual rule to process it by prefixer - */ - - - Supports.prototype.virtual = function virtual(str) { - var _parse = this.parse(str), - prop = _parse[0], - value = _parse[1]; - - var rule = postcss.parse('a{}').first; - rule.append({ prop: prop, value: value, raws: { before: '' } }); - return rule; - }; - - /** - * Return array of Declaration with all necessary prefixes - */ - - - Supports.prototype.prefixed = function prefixed(str) { - var rule = this.virtual(str); - if (this.disabled(rule.first)) { - return rule.nodes; - } - - var prefixer = this.prefixer().add[rule.first.prop]; - prefixer && prefixer.process && prefixer.process(rule.first); - - for (var _iterator = rule.nodes, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) { - var _ref; - - if (_isArray) { - if (_i >= _iterator.length) break; - _ref = _iterator[_i++]; - } else { - _i = _iterator.next(); - if (_i.done) break; - _ref = _i.value; - } - - var decl = _ref; - - for (var _iterator2 = this.prefixer().values('add', rule.first.prop), _isArray2 = Array.isArray(_iterator2), _i2 = 0, _iterator2 = _isArray2 ? _iterator2 : _iterator2[Symbol.iterator]();;) { - var _ref2; - - if (_isArray2) { - if (_i2 >= _iterator2.length) break; - _ref2 = _iterator2[_i2++]; - } else { - _i2 = _iterator2.next(); - if (_i2.done) break; - _ref2 = _i2.value; - } - - var value = _ref2; - - value.process(decl); - } - Value.save(this.all, decl); - } - - return rule.nodes; - }; - - /** - * Return true if brackets node is "not" word - */ - - - Supports.prototype.isNot = function isNot(node) { - return typeof node === 'string' && /not\s*/i.test(node); - }; - - /** - * Return true if brackets node is "or" word - */ - - - Supports.prototype.isOr = function isOr(node) { - return typeof node === 'string' && /\s*or\s*/i.test(node); - }; - - /** - * Return true if brackets node is (prop: value) - */ - - - Supports.prototype.isProp = function isProp(node) { - return (typeof node === 'undefined' ? 'undefined' : _typeof(node)) === 'object' && node.length === 1 && typeof node[0] === 'string'; - }; - - /** - * Return true if prefixed property has no unprefixed - */ - - - Supports.prototype.isHack = function isHack(all, unprefixed) { - var check = new RegExp('(\\(|\\s)' + utils.escapeRegexp(unprefixed) + ':'); - return !check.test(all); - }; - - /** - * Return true if we need to remove node - */ - - - Supports.prototype.toRemove = function toRemove(str, all) { - var _parse2 = this.parse(str), - prop = _parse2[0], - value = _parse2[1]; - - var unprefixed = this.all.unprefixed(prop); - - var cleaner = this.all.cleaner(); - - if (cleaner.remove[prop] && cleaner.remove[prop].remove && !this.isHack(all, unprefixed)) { - return true; - } - - for (var _iterator3 = cleaner.values('remove', unprefixed), _isArray3 = Array.isArray(_iterator3), _i3 = 0, _iterator3 = _isArray3 ? _iterator3 : _iterator3[Symbol.iterator]();;) { - var _ref3; - - if (_isArray3) { - if (_i3 >= _iterator3.length) break; - _ref3 = _iterator3[_i3++]; - } else { - _i3 = _iterator3.next(); - if (_i3.done) break; - _ref3 = _i3.value; - } - - var checker = _ref3; - - if (checker.check(value)) { - return true; - } - } - - return false; - }; - - /** - * Remove all unnecessary prefixes - */ - - - Supports.prototype.remove = function remove(nodes, all) { - var i = 0; - while (i < nodes.length) { - if (!this.isNot(nodes[i - 1]) && this.isProp(nodes[i]) && this.isOr(nodes[i + 1])) { - if (this.toRemove(nodes[i][0], all)) { - nodes.splice(i, 2); - continue; - } - - i += 2; - continue; - } - - if (_typeof(nodes[i]) === 'object') { - nodes[i] = this.remove(nodes[i], all); - } - - i += 1; - } - return nodes; - }; - - /** - * Clean brackets with one child - */ - - - Supports.prototype.cleanBrackets = function cleanBrackets(nodes) { - var _this = this; - - return nodes.map(function (i) { - if ((typeof i === 'undefined' ? 'undefined' : _typeof(i)) !== 'object') { - return i; - } - - if (i.length === 1 && _typeof(i[0]) === 'object') { - return _this.cleanBrackets(i[0]); - } - - return _this.cleanBrackets(i); - }); - }; - - /** - * Add " or " between properties and convert it to brackets format - */ - - - Supports.prototype.convert = function convert(progress) { - var result = ['']; - for (var _iterator4 = progress, _isArray4 = Array.isArray(_iterator4), _i4 = 0, _iterator4 = _isArray4 ? _iterator4 : _iterator4[Symbol.iterator]();;) { - var _ref4; - - if (_isArray4) { - if (_i4 >= _iterator4.length) break; - _ref4 = _iterator4[_i4++]; - } else { - _i4 = _iterator4.next(); - if (_i4.done) break; - _ref4 = _i4.value; - } - - var i = _ref4; - - result.push([i.prop + ': ' + i.value]); - result.push(' or '); - } - result[result.length - 1] = ''; - return result; - }; - - /** - * Compress value functions into a string nodes - */ - - - Supports.prototype.normalize = function normalize(nodes) { - var _this2 = this; - - if ((typeof nodes === 'undefined' ? 'undefined' : _typeof(nodes)) !== 'object') { - return nodes; - } - - nodes = nodes.filter(function (i) { - return i !== ''; - }); - if (typeof nodes[0] === 'string' && nodes[0].indexOf(':') !== -1) { - return [brackets.stringify(nodes)]; - } - - return nodes.map(function (i) { - return _this2.normalize(i); - }); - }; - - /** - * Add prefixes - */ - - - Supports.prototype.add = function add(nodes, all) { - var _this3 = this; - - return nodes.map(function (i) { - if (_this3.isProp(i)) { - var prefixed = _this3.prefixed(i[0]); - if (prefixed.length > 1) { - return _this3.convert(prefixed); - } - - return i; - } - - if ((typeof i === 'undefined' ? 'undefined' : _typeof(i)) === 'object') { - return _this3.add(i, all); - } - - return i; - }); - }; - - /** - * Add prefixed declaration - */ - - - Supports.prototype.process = function process(rule) { - var ast = brackets.parse(rule.params); - ast = this.normalize(ast); - ast = this.remove(ast, rule.params); - ast = this.add(ast, rule.params); - ast = this.cleanBrackets(ast); - rule.params = brackets.stringify(ast); - }; - - /** - * Check global options - */ - - - Supports.prototype.disabled = function disabled(node) { - if (!this.all.options.grid) { - if (node.prop === 'display' && node.value.indexOf('grid') !== -1) { - return true; - } - if (node.prop.indexOf('grid') !== -1 || node.prop === 'justify-items') { - return true; - } - } - - if (this.all.options.flexbox === false) { - if (node.prop === 'display' && node.value.indexOf('flex') !== -1) { - return true; - } - var other = ['order', 'justify-content', 'align-items', 'align-content']; - if (node.prop.indexOf('flex') !== -1 || other.indexOf(node.prop) !== -1) { - return true; - } - } - - return false; - }; - - return Supports; -}(); - -module.exports = Supports; \ No newline at end of file diff --git a/publi/node_modules/autoprefixer/lib/transition.js b/publi/node_modules/autoprefixer/lib/transition.js deleted file mode 100644 index 485f2a0..0000000 --- a/publi/node_modules/autoprefixer/lib/transition.js +++ /dev/null @@ -1,446 +0,0 @@ -'use strict'; - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -var parser = require('postcss-value-parser'); -var vendor = require('postcss/lib/vendor'); -var list = require('postcss/lib/list'); - -var Transition = function () { - function Transition(prefixes) { - _classCallCheck(this, Transition); - - Object.defineProperty(this, 'props', { - enumerable: true, - writable: true, - value: ['transition', 'transition-property'] - }); - - this.prefixes = prefixes; - } - - /** - * Process transition and add prefies for all necessary properties - */ - - - Transition.prototype.add = function add(decl, result) { - var _this = this; - - var prefix = void 0, - prop = void 0; - var declPrefixes = this.prefixes.add[decl.prop] && this.prefixes.add[decl.prop].prefixes || []; - - var params = this.parse(decl.value); - var names = params.map(function (i) { - return _this.findProp(i); - }); - var added = []; - - if (names.some(function (i) { - return i[0] === '-'; - })) { - return; - } - - for (var _iterator = params, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) { - var _ref; - - if (_isArray) { - if (_i >= _iterator.length) break; - _ref = _iterator[_i++]; - } else { - _i = _iterator.next(); - if (_i.done) break; - _ref = _i.value; - } - - var param = _ref; - - prop = this.findProp(param); - if (prop[0] === '-') continue; - - var prefixer = this.prefixes.add[prop]; - if (!prefixer || !prefixer.prefixes) continue; - - for (var _iterator3 = prefixer.prefixes, _isArray3 = Array.isArray(_iterator3), _i3 = 0, _iterator3 = _isArray3 ? _iterator3 : _iterator3[Symbol.iterator]();;) { - if (_isArray3) { - if (_i3 >= _iterator3.length) break; - prefix = _iterator3[_i3++]; - } else { - _i3 = _iterator3.next(); - if (_i3.done) break; - prefix = _i3.value; - } - - var prefixed = this.prefixes.prefixed(prop, prefix); - if (prefixed !== '-ms-transform' && names.indexOf(prefixed) === -1) { - if (!this.disabled(prop, prefix)) { - added.push(this.clone(prop, prefixed, param)); - } - } - } - } - - params = params.concat(added); - var value = this.stringify(params); - - var webkitClean = this.stringify(this.cleanFromUnprefixed(params, '-webkit-')); - if (declPrefixes.indexOf('-webkit-') !== -1) { - this.cloneBefore(decl, '-webkit-' + decl.prop, webkitClean); - } - this.cloneBefore(decl, decl.prop, webkitClean); - if (declPrefixes.indexOf('-o-') !== -1) { - var operaClean = this.stringify(this.cleanFromUnprefixed(params, '-o-')); - this.cloneBefore(decl, '-o-' + decl.prop, operaClean); - } - - for (var _iterator2 = declPrefixes, _isArray2 = Array.isArray(_iterator2), _i2 = 0, _iterator2 = _isArray2 ? _iterator2 : _iterator2[Symbol.iterator]();;) { - if (_isArray2) { - if (_i2 >= _iterator2.length) break; - prefix = _iterator2[_i2++]; - } else { - _i2 = _iterator2.next(); - if (_i2.done) break; - prefix = _i2.value; - } - - if (prefix !== '-webkit-' && prefix !== '-o-') { - var prefixValue = this.stringify(this.cleanOtherPrefixes(params, prefix)); - this.cloneBefore(decl, prefix + decl.prop, prefixValue); - } - } - - if (value !== decl.value && !this.already(decl, decl.prop, value)) { - this.checkForWarning(result, decl); - decl.cloneBefore(); - decl.value = value; - } - }; - - /** - * Find property name - */ - - - Transition.prototype.findProp = function findProp(param) { - var prop = param[0].value; - if (/^\d/.test(prop)) { - for (var i = 0; i < param.length; i++) { - var token = param[i]; - if (i !== 0 && token.type === 'word') { - return token.value; - } - } - } - return prop; - }; - - /** - * Does we aready have this declaration - */ - - - Transition.prototype.already = function already(decl, prop, value) { - return decl.parent.some(function (i) { - return i.prop === prop && i.value === value; - }); - }; - - /** - * Add declaration if it is not exist - */ - - - Transition.prototype.cloneBefore = function cloneBefore(decl, prop, value) { - if (!this.already(decl, prop, value)) { - decl.cloneBefore({ prop: prop, value: value }); - } - }; - - /** - * Show transition-property warning - */ - - - Transition.prototype.checkForWarning = function checkForWarning(result, decl) { - if (decl.prop !== 'transition-property') { - return; - } - - decl.parent.each(function (i) { - if (i.type !== 'decl') { - return undefined; - } - if (i.prop.indexOf('transition-') !== 0) { - return undefined; - } - if (i.prop === 'transition-property') { - return undefined; - } - - if (list.comma(i.value).length > 1) { - decl.warn(result, 'Replace transition-property to transition, ' + 'because Autoprefixer could not support ' + 'any cases of transition-property ' + 'and other transition-*'); - } - return false; - }); - }; - - /** - * Process transition and remove all unnecessary properties - */ - - - Transition.prototype.remove = function remove(decl) { - var _this2 = this; - - var params = this.parse(decl.value); - params = params.filter(function (i) { - var prop = _this2.prefixes.remove[_this2.findProp(i)]; - return !prop || !prop.remove; - }); - var value = this.stringify(params); - - if (decl.value === value) { - return; - } - - if (params.length === 0) { - decl.remove(); - return; - } - - var double = decl.parent.some(function (i) { - return i.prop === decl.prop && i.value === value; - }); - var smaller = decl.parent.some(function (i) { - return i !== decl && i.prop === decl.prop && i.value.length > value.length; - }); - - if (double || smaller) { - decl.remove(); - return; - } - - decl.value = value; - }; - - /** - * Parse properties list to array - */ - - - Transition.prototype.parse = function parse(value) { - var ast = parser(value); - var result = []; - var param = []; - for (var _iterator4 = ast.nodes, _isArray4 = Array.isArray(_iterator4), _i4 = 0, _iterator4 = _isArray4 ? _iterator4 : _iterator4[Symbol.iterator]();;) { - var _ref2; - - if (_isArray4) { - if (_i4 >= _iterator4.length) break; - _ref2 = _iterator4[_i4++]; - } else { - _i4 = _iterator4.next(); - if (_i4.done) break; - _ref2 = _i4.value; - } - - var node = _ref2; - - param.push(node); - if (node.type === 'div' && node.value === ',') { - result.push(param); - param = []; - } - } - result.push(param); - return result.filter(function (i) { - return i.length > 0; - }); - }; - - /** - * Return properties string from array - */ - - - Transition.prototype.stringify = function stringify(params) { - if (params.length === 0) { - return ''; - } - var nodes = []; - for (var _iterator5 = params, _isArray5 = Array.isArray(_iterator5), _i5 = 0, _iterator5 = _isArray5 ? _iterator5 : _iterator5[Symbol.iterator]();;) { - var _ref3; - - if (_isArray5) { - if (_i5 >= _iterator5.length) break; - _ref3 = _iterator5[_i5++]; - } else { - _i5 = _iterator5.next(); - if (_i5.done) break; - _ref3 = _i5.value; - } - - var param = _ref3; - - if (param[param.length - 1].type !== 'div') { - param.push(this.div(params)); - } - nodes = nodes.concat(param); - } - if (nodes[0].type === 'div') { - nodes = nodes.slice(1); - } - if (nodes[nodes.length - 1].type === 'div') { - nodes = nodes.slice(0, +-2 + 1 || undefined); - } - return parser.stringify({ nodes: nodes }); - }; - - /** - * Return new param array with different name - */ - - - Transition.prototype.clone = function clone(origin, name, param) { - var result = []; - var changed = false; - for (var _iterator6 = param, _isArray6 = Array.isArray(_iterator6), _i6 = 0, _iterator6 = _isArray6 ? _iterator6 : _iterator6[Symbol.iterator]();;) { - var _ref4; - - if (_isArray6) { - if (_i6 >= _iterator6.length) break; - _ref4 = _iterator6[_i6++]; - } else { - _i6 = _iterator6.next(); - if (_i6.done) break; - _ref4 = _i6.value; - } - - var i = _ref4; - - if (!changed && i.type === 'word' && i.value === origin) { - result.push({ type: 'word', value: name }); - changed = true; - } else { - result.push(i); - } - } - return result; - }; - - /** - * Find or create seperator - */ - - - Transition.prototype.div = function div(params) { - for (var _iterator7 = params, _isArray7 = Array.isArray(_iterator7), _i7 = 0, _iterator7 = _isArray7 ? _iterator7 : _iterator7[Symbol.iterator]();;) { - var _ref5; - - if (_isArray7) { - if (_i7 >= _iterator7.length) break; - _ref5 = _iterator7[_i7++]; - } else { - _i7 = _iterator7.next(); - if (_i7.done) break; - _ref5 = _i7.value; - } - - var param = _ref5; - - for (var _iterator8 = param, _isArray8 = Array.isArray(_iterator8), _i8 = 0, _iterator8 = _isArray8 ? _iterator8 : _iterator8[Symbol.iterator]();;) { - var _ref6; - - if (_isArray8) { - if (_i8 >= _iterator8.length) break; - _ref6 = _iterator8[_i8++]; - } else { - _i8 = _iterator8.next(); - if (_i8.done) break; - _ref6 = _i8.value; - } - - var node = _ref6; - - if (node.type === 'div' && node.value === ',') { - return node; - } - } - } - return { type: 'div', value: ',', after: ' ' }; - }; - - Transition.prototype.cleanOtherPrefixes = function cleanOtherPrefixes(params, prefix) { - var _this3 = this; - - return params.filter(function (param) { - var current = vendor.prefix(_this3.findProp(param)); - return current === '' || current === prefix; - }); - }; - - /** - * Remove all non-webkit prefixes and unprefixed params if we have prefixed - */ - - - Transition.prototype.cleanFromUnprefixed = function cleanFromUnprefixed(params, prefix) { - var _this4 = this; - - var remove = params.map(function (i) { - return _this4.findProp(i); - }).filter(function (i) { - return i.slice(0, prefix.length) === prefix; - }).map(function (i) { - return _this4.prefixes.unprefixed(i); - }); - - var result = []; - for (var _iterator9 = params, _isArray9 = Array.isArray(_iterator9), _i9 = 0, _iterator9 = _isArray9 ? _iterator9 : _iterator9[Symbol.iterator]();;) { - var _ref7; - - if (_isArray9) { - if (_i9 >= _iterator9.length) break; - _ref7 = _iterator9[_i9++]; - } else { - _i9 = _iterator9.next(); - if (_i9.done) break; - _ref7 = _i9.value; - } - - var param = _ref7; - - var prop = this.findProp(param); - var p = vendor.prefix(prop); - if (remove.indexOf(prop) === -1 && (p === prefix || p === '')) { - result.push(param); - } - } - return result; - }; - - /** - * Check property for disabled by option - */ - - - Transition.prototype.disabled = function disabled(prop, prefix) { - var other = ['order', 'justify-content', 'align-self', 'align-content']; - if (prop.indexOf('flex') !== -1 || other.indexOf(prop) !== -1) { - if (this.prefixes.options.flexbox === false) { - return true; - } - - if (this.prefixes.options.flexbox === 'no-2009') { - return prefix.indexOf('2009') !== -1; - } - } - return undefined; - }; - - return Transition; -}(); - -module.exports = Transition; \ No newline at end of file diff --git a/publi/node_modules/autoprefixer/lib/utils.js b/publi/node_modules/autoprefixer/lib/utils.js deleted file mode 100644 index 17813db..0000000 --- a/publi/node_modules/autoprefixer/lib/utils.js +++ /dev/null @@ -1,93 +0,0 @@ -'use strict'; - -var list = require('postcss/lib/list'); - -module.exports = { - - /** - * Throw special error, to tell beniary, - * that this error is from Autoprefixer. - */ - error: function error(text) { - var err = new Error(text); - err.autoprefixer = true; - throw err; - }, - - - /** - * Return array, that doesn’t contain duplicates. - */ - uniq: function uniq(array) { - var filtered = []; - for (var _iterator = array, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) { - var _ref; - - if (_isArray) { - if (_i >= _iterator.length) break; - _ref = _iterator[_i++]; - } else { - _i = _iterator.next(); - if (_i.done) break; - _ref = _i.value; - } - - var i = _ref; - - if (filtered.indexOf(i) === -1) { - filtered.push(i); - } - } - return filtered; - }, - - - /** - * Return "-webkit-" on "-webkit- old" - */ - removeNote: function removeNote(string) { - if (string.indexOf(' ') === -1) { - return string; - } - - return string.split(' ')[0]; - }, - - - /** - * Escape RegExp symbols - */ - escapeRegexp: function escapeRegexp(string) { - return string.replace(/[.?*+\^\$\[\]\\(){}|\-]/g, '\\$&'); - }, - - - /** - * Return regexp to check, that CSS string contain word - */ - regexp: function regexp(word) { - var escape = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true; - - if (escape) { - word = this.escapeRegexp(word); - } - return new RegExp('(^|[\\s,(])(' + word + '($|[\\s(,]))', 'gi'); - }, - - - /** - * Change comma list - */ - editList: function editList(value, callback) { - var origin = list.comma(value); - var changed = callback(origin, []); - - if (origin === changed) { - return value; - } - - var join = value.match(/,\s*/); - join = join ? join[0] : ', '; - return changed.join(join); - } -}; \ No newline at end of file diff --git a/publi/node_modules/autoprefixer/lib/value.js b/publi/node_modules/autoprefixer/lib/value.js deleted file mode 100644 index 484509c..0000000 --- a/publi/node_modules/autoprefixer/lib/value.js +++ /dev/null @@ -1,161 +0,0 @@ -'use strict'; - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - -var Prefixer = require('./prefixer'); -var OldValue = require('./old-value'); -var utils = require('./utils'); - -var vendor = require('postcss/lib/vendor'); - -var Value = function (_Prefixer) { - _inherits(Value, _Prefixer); - - function Value() { - _classCallCheck(this, Value); - - return _possibleConstructorReturn(this, _Prefixer.apply(this, arguments)); - } - - /** - * Clone decl for each prefixed values - */ - Value.save = function save(prefixes, decl) { - var _this2 = this; - - var prop = decl.prop; - var result = []; - - var _loop = function _loop(prefix) { - var value = decl._autoprefixerValues[prefix]; - - if (value === decl.value) { - return 'continue'; - } - - var item = void 0; - var propPrefix = vendor.prefix(prop); - - if (propPrefix === '-pie-') { - return 'continue'; - } - - if (propPrefix === prefix) { - item = decl.value = value; - result.push(item); - return 'continue'; - } - - var prefixed = prefixes.prefixed(prop, prefix); - var rule = decl.parent; - - if (!rule.every(function (i) { - return i.prop !== prefixed; - })) { - result.push(item); - return 'continue'; - } - - var trimmed = value.replace(/\s+/, ' '); - var already = rule.some(function (i) { - return i.prop === decl.prop && i.value.replace(/\s+/, ' ') === trimmed; - }); - - if (already) { - result.push(item); - return 'continue'; - } - - var cloned = _this2.clone(decl, { value: value }); - item = decl.parent.insertBefore(decl, cloned); - - result.push(item); - }; - - for (var prefix in decl._autoprefixerValues) { - var _ret = _loop(prefix); - - if (_ret === 'continue') continue; - } - - return result; - }; - - /** - * Is declaration need to be prefixed - */ - - - Value.prototype.check = function check(decl) { - var value = decl.value; - if (value.indexOf(this.name) === -1) { - return false; - } - - return !!value.match(this.regexp()); - }; - - /** - * Lazy regexp loading - */ - - - Value.prototype.regexp = function regexp() { - return this.regexpCache || (this.regexpCache = utils.regexp(this.name)); - }; - - /** - * Add prefix to values in string - */ - - - Value.prototype.replace = function replace(string, prefix) { - return string.replace(this.regexp(), '$1' + prefix + '$2'); - }; - - /** - * Get value with comments if it was not changed - */ - - - Value.prototype.value = function value(decl) { - if (decl.raws.value && decl.raws.value.value === decl.value) { - return decl.raws.value.raw; - } else { - return decl.value; - } - }; - - /** - * Save values with next prefixed token - */ - - - Value.prototype.add = function add(decl, prefix) { - if (!decl._autoprefixerValues) { - decl._autoprefixerValues = {}; - } - var value = decl._autoprefixerValues[prefix] || this.value(decl); - value = this.replace(value, prefix); - if (value) { - decl._autoprefixerValues[prefix] = value; - } - }; - - /** - * Return function to fast find prefixed value - */ - - - Value.prototype.old = function old(prefix) { - return new OldValue(this.name, prefix + this.name); - }; - - return Value; -}(Prefixer); - -module.exports = Value; \ No newline at end of file diff --git a/publi/node_modules/autoprefixer/package.json b/publi/node_modules/autoprefixer/package.json deleted file mode 100644 index a82e8e2..0000000 --- a/publi/node_modules/autoprefixer/package.json +++ /dev/null @@ -1,604 +0,0 @@ -{ - "_from": "autoprefixer@^7.0.0", - "_id": "autoprefixer@7.2.3", - "_inBundle": false, - "_integrity": "sha512-dqzVGiz3v934+s3YZA6nk7tAs9xuTz5wMJbX1M+L4cY/MTNkOUqP61c1GWkEVlUL/PEy1pKRSCFuoRZrXYx9qA==", - "_location": "/autoprefixer", - "_phantomChildren": {}, - "_requested": { - "type": "range", - "registry": true, - "raw": "autoprefixer@^7.0.0", - "name": "autoprefixer", - "escapedName": "autoprefixer", - "rawSpec": "^7.0.0", - "saveSpec": null, - "fetchSpec": "^7.0.0" - }, - "_requiredBy": [ - "/gulp-autoprefixer" - ], - "_resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-7.2.3.tgz", - "_shasum": "c2841e38b7940c2d0a9bbffd72c75f33637854f8", - "_spec": "autoprefixer@^7.0.0", - "_where": "/mnt/Data/bach/Documents/ola/OLA#5/ola5doc/publi/node_modules/gulp-autoprefixer", - "author": { - "name": "Andrey Sitnik", - "email": "andrey@sitnik.ru" - }, - "babel": { - "presets": [ - [ - "env", - { - "targets": { - "browsers": "last 1 version", - "node": 4 - }, - "loose": true - } - ] - ], - "plugins": [ - [ - "transform-class-properties", - { - "spec": true - } - ] - ] - }, - "bin": { - "autoprefixer-info": "./bin/autoprefixer-info" - }, - "browserslist": [ - "last 1 edge version" - ], - "bugs": { - "url": "https://github.com/postcss/autoprefixer/issues" - }, - "bundleDependencies": false, - "contributors": [ - { - "name": "Aaron", - "email": "me@aaron.md" - }, - { - "name": "Adam Lynch", - "email": "contact@adamlynch.ie" - }, - { - "name": "Adonis K", - "email": "aklp08@gmail.com" - }, - { - "name": "Adriaan", - "email": "https://github.com/harianus" - }, - { - "name": "Aleksei Androsov", - "email": "aandrosov@yandex-team.ru" - }, - { - "name": "Aleksey Shvayka", - "email": "shvaikalesh@gmail.com" - }, - { - "name": "Aleks Hudochenkov", - "email": "aleks@hudochenkov.com" - }, - { - "name": "Alexey Plutalov", - "email": "demiazz.py@gmail.com" - }, - { - "name": "Anders Olsen Sandvik", - "email": "https://github.com/Andersos" - }, - { - "name": "Andreas Lind", - "email": "andreas@one.com" - }, - { - "name": "Andrew Rhoads" - }, - { - "name": "Andrey Deryabin", - "email": "deriabin@gmail.com" - }, - { - "name": "Andrey Sitnik", - "email": "andrey@sitnik.ru" - }, - { - "name": "Andrey Taritsyn", - "email": "taritsyn@gmail.com" - }, - { - "name": "Andy Trevorah", - "email": "a.trevorah@gmail.com" - }, - { - "name": "Anton Khlynovskiy", - "email": "subzey@gmail.com" - }, - { - "name": "aruseni", - "email": "aruseni.magiku@gmail.com" - }, - { - "name": "Ben Briggs", - "email": "beneb.info@gmail.com" - }, - { - "name": "bernig", - "email": "https://github.com/bernig" - }, - { - "name": "Bogdan Chadkin", - "email": "trysound@yandex.ru" - }, - { - "name": "brainopia", - "email": "brainopia@evilmartians.com" - }, - { - "name": "Brandon Mathis", - "email": "brandon@imathis.com" - }, - { - "name": "Chad von Nau", - "email": "chad@vonnau.com" - }, - { - "name": "Chi Vinh Le", - "email": "vinh@wikiwi.io" - }, - { - "name": "Cory House", - "email": "housecor@gmail.com" - }, - { - "name": "Cory Simmons", - "email": "cory@mojotech.com" - }, - { - "name": "Craig Martin", - "email": "https://github.com/craigmichaelmartin" - }, - { - "name": "Damon", - "email": "motoxer4533@gmail.com" - }, - { - "name": "Daniel Garcia-Carrillo", - "email": "garciacarrillo.daniel@gmail.com" - }, - { - "name": "Daniel Tschinder", - "email": "daniel@tschinder.de" - }, - { - "name": "David Pike", - "email": "david@evolution7.com.au" - }, - { - "name": "Denis Sokolov", - "email": "denis@sokolov.cc" - }, - { - "name": "Dominik Porada", - "email": "dominik@porada.co" - }, - { - "name": "Dominik Schilling", - "email": "dominikschilling+git@gmail.com" - }, - { - "name": "dotch", - "email": "ch.weiss@hotmail.de" - }, - { - "name": "Dmitry Semigradsky", - "email": "semigradskyd@gmail.com" - }, - { - "name": "Efremov Alexey", - "email": "lexich121@gmail.com" - }, - { - "name": "eitanr", - "email": "eitanr@wix.com" - }, - { - "name": "Erik Sundahl", - "email": "esundahl@gmail.com" - }, - { - "name": "Eugene Datsky", - "email": "eugene@datsky.ru" - }, - { - "name": "Evilebot Tnawi", - "email": "sheo13666q@gmail.com" - }, - { - "name": "Forrest York", - "email": "https://github.com/badisa" - }, - { - "name": "Google Inc." - }, - { - "name": "Gregory Eremin", - "email": "magnolia_fan@me.com" - }, - { - "name": "GU Yiling", - "email": "justice360@gmail.com" - }, - { - "name": "Hallvord R. M. Steen", - "email": "hallvord@hallvord.com" - }, - { - "name": "heady", - "email": "https://github.com/heady" - }, - { - "name": "Iain Beeston", - "email": "iain.beeston@gmail.com" - }, - { - "name": "Igor Adamenko", - "email": "https://github.com/igoradamenko" - }, - { - "name": "Jack Moore", - "email": "hello@jacklmoore.com" - }, - { - "name": "Jason Kuhrt", - "email": "jasonkuhrt@me.com" - }, - { - "name": "Jeff Escalante", - "email": "hello@jenius.me" - }, - { - "name": "Johannes J. Schmidt", - "email": "schmidt@netzmerk.com" - }, - { - "name": "John Kreitlow", - "email": "jkreitlow@deepfocus.net" - }, - { - "name": "Jonathan Ong", - "email": "jonathanrichardong@gmail.com" - }, - { - "name": "Josh Gillies", - "email": "github@joshgilli.es" - }, - { - "name": "jvdanilo", - "email": "jvdanilo@gmail.com" - }, - { - "name": "Kieran", - "email": "Kieranju@gmail.com" - }, - { - "name": "Kir Shatrov", - "email": "shatrov@me.com" - }, - { - "name": "kizu", - "email": "kizmarh@gmail.com" - }, - { - "name": "Leonya Khachaturov", - "email": "leonidkhachaturov@gmail.com" - }, - { - "name": "Lovchikov Anton", - "email": "besyanya@yandex.ru" - }, - { - "name": "L.T", - "email": "ec.huyinghuan@gmail.com" - }, - { - "name": "Luciano Battagliero", - "email": "lucianobattagliero+git@gmail.com" - }, - { - "name": "Luke Page", - "email": "luke.a.page@gmail.com" - }, - { - "name": "martco", - "email": "martco@gmail.com" - }, - { - "name": "Matt Smith", - "email": "runner_28@hotmail.com" - }, - { - "name": "Maxime Thirouin", - "email": "m@moox.io" - }, - { - "name": "Max Mechanic", - "email": "max@philo.com" - }, - { - "name": "Michael Beil", - "email": "michaelbeil@me.com" - }, - { - "name": "Michael Scott Hertzberg", - "email": "mshertzberg@gmail.com" - }, - { - "name": "Michał Gołębiowski", - "email": "m.goleb@gmail.com" - }, - { - "name": "Mikael Jorhult", - "email": "mikael@jorhult.se" - }, - { - "name": "Morton Fox", - "email": "github@qslw.com" - }, - { - "name": "mvasilkov", - "email": "mvasilkov@gmail.com" - }, - { - "name": "Nick Howes", - "email": "nick@nickhowes.co.uk" - }, - { - "name": "Nick Schonning", - "email": "nschonni@gmail.com" - }, - { - "name": "nickspielgist", - "email": "dev@nickspiel.me" - }, - { - "name": "Niels Dequeker", - "email": "niels.dequeker@gmail.com" - }, - { - "name": "Nikolay Burlov", - "email": "kohgpat@gmail.com" - }, - { - "name": "Paul Statezny", - "email": "Paulstatezny@gmail.com" - }, - { - "name": "Peter Zotov", - "email": "whitequark@whitequark.org" - }, - { - "name": "Rafael Silva", - "email": "rafael@rafaelsilva.net" - }, - { - "name": "Ray Lehnhoff", - "email": "raymond.lehnhoff@gmail.com" - }, - { - "name": "ReadmeCritic", - "email": "frankensteinbot@gmail.com" - }, - { - "name": "Reinaldo Schiehll", - "email": "rn.schiehll@gmail.com" - }, - { - "name": "René Stalder", - "email": "rene@whatwedo.ch" - }, - { - "name": "Richard Wang", - "email": "richardwa@google.com" - }, - { - "name": "Rob Howell", - "email": "rob@robhowell.com" - }, - { - "name": "Roland Warmerdam", - "email": "rowno@webspirited.com" - }, - { - "name": "Sasha Koss", - "email": "koss@nocorp.me" - }, - { - "name": "Sean Anderson", - "email": "Sean.Palmer.Anderson@gmail.com" - }, - { - "name": "Sergey Belov", - "email": "peimei@ya.ru" - }, - { - "name": "Sergey Leschina", - "email": "mail@putnik.ws" - }, - { - "name": "sethjgore", - "email": "sethjgore@gmail.com" - }, - { - "name": "Šime Vidas", - "email": "sime.vidas@gmail.com" - }, - { - "name": "Simon Lydell", - "email": "simon.lydell@gmail.com" - }, - { - "name": "Sindre Sorhus", - "email": "sindresorhus@gmail.com" - }, - { - "name": "Stephen Edgar", - "email": "stephen@netweb.com.au" - }, - { - "name": "Steve Mao", - "email": "https://github.com/stevemao" - }, - { - "name": "Stig Otnes Kolstad", - "email": "stig@stigok.net" - }, - { - "name": "Subash Pathak", - "email": "sbspk@msn.com" - }, - { - "name": "sunhao", - "email": "sunhao_1988@msn.cn" - }, - { - "name": "tomdavenport", - "email": "playmusic@me.com" - }, - { - "name": "Tony Ganch", - "email": "tonyganch@gmail.com" - }, - { - "name": "Vegard Andreas Larsen", - "email": "vegard@xaltra.net" - }, - { - "name": "Vera Surkova", - "email": "vera@surkova.se" - }, - { - "name": "Vincent De Oliveira", - "email": "vincent@iamvdo.me" - }, - { - "name": "Vishnu Ravi", - "email": "vishnu@vishnu.io" - }, - { - "name": "Vladimir Pouzanov", - "email": "farcaller@gmail.com" - }, - { - "name": "vladkens", - "email": "vladkens@yandex.ru" - }, - { - "name": "Даниил Пронин", - "email": "mail@grawl.ru" - }, - { - "name": "一丝", - "email": "jie.lijie@alibaba-inc.com" - }, - { - "name": "刘祺", - "email": "gucong@gmail.com" - } - ], - "dependencies": { - "browserslist": "^2.10.0", - "caniuse-lite": "^1.0.30000783", - "normalize-range": "^0.1.2", - "num2fraction": "^1.2.2", - "postcss": "^6.0.14", - "postcss-value-parser": "^3.2.3" - }, - "deprecated": false, - "description": "Parse CSS and add vendor prefixes to CSS rules using values from the Can I Use website", - "devDependencies": { - "babel-core": "^6.26.0", - "babel-eslint": "^8.0.3", - "babel-plugin-transform-class-properties": "^6.24.1", - "babel-preset-env": "^1.6.1", - "babel-register": "^6.26.0", - "babelify": "^8.0.0", - "browserify": "^14.5.0", - "eslint": "^4.13.1", - "eslint-ci": "^0.1.1", - "eslint-config-postcss": "^2.0.2", - "fs-extra": "^5.0.0", - "gulp": "^3.9.1", - "gulp-babel": "^7.0.0", - "gulp-coffee": "^2.3.5", - "gulp-json-editor": "^2.2.1", - "gulp-replace": "^0.6.1", - "jest": "^21.2.1", - "lint-staged": "^6.0.0", - "pre-commit": "^1.2.2", - "size-limit": "^0.13.2", - "vinyl-source-stream": "^1.1.0" - }, - "eslintConfig": { - "extends": "eslint-config-postcss", - "parser": "babel-eslint", - "rules": { - "complexity": "off", - "camelcase": "off" - }, - "env": { - "jest": true - } - }, - "homepage": "https://github.com/postcss/autoprefixer#readme", - "jest": { - "coverageThreshold": { - "global": { - "lines": 100 - } - }, - "modulePathIgnorePatterns": [ - "build/" - ] - }, - "keywords": [ - "autoprefixer", - "css", - "prefix", - "postcss", - "postcss-plugin" - ], - "license": "MIT", - "lint-staged": { - "*.js": "eslint" - }, - "main": "lib/autoprefixer", - "name": "autoprefixer", - "pre-commit": [ - "lint-staged" - ], - "repository": { - "type": "git", - "url": "git+https://github.com/postcss/autoprefixer.git" - }, - "scripts": { - "lint": "eslint-ci *.js lib/*.js data/*.js test/*.js", - "lint-staged": "lint-staged", - "test": "jest --coverage && npm run lint && gulp && size-limit" - }, - "size-limit": [ - { - "path": "build/lib/autoprefixer.js", - "limit": "250 KB" - } - ], - "version": "7.2.3" -} diff --git a/publi/node_modules/aws-sign2/LICENSE b/publi/node_modules/aws-sign2/LICENSE deleted file mode 100644 index a4a9aee..0000000 --- a/publi/node_modules/aws-sign2/LICENSE +++ /dev/null @@ -1,55 +0,0 @@ -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 \ No newline at end of file diff --git a/publi/node_modules/aws-sign2/README.md b/publi/node_modules/aws-sign2/README.md deleted file mode 100644 index 763564e..0000000 --- a/publi/node_modules/aws-sign2/README.md +++ /dev/null @@ -1,4 +0,0 @@ -aws-sign -======== - -AWS signing. Originally pulled from LearnBoost/knox, maintained as vendor in request, now a standalone module. diff --git a/publi/node_modules/aws-sign2/index.js b/publi/node_modules/aws-sign2/index.js deleted file mode 100644 index ac72093..0000000 --- a/publi/node_modules/aws-sign2/index.js +++ /dev/null @@ -1,212 +0,0 @@ - -/*! - * Copyright 2010 LearnBoost - * - * 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. - */ - -/** - * Module dependencies. - */ - -var crypto = require('crypto') - , parse = require('url').parse - ; - -/** - * Valid keys. - */ - -var keys = - [ 'acl' - , 'location' - , 'logging' - , 'notification' - , 'partNumber' - , 'policy' - , 'requestPayment' - , 'torrent' - , 'uploadId' - , 'uploads' - , 'versionId' - , 'versioning' - , 'versions' - , 'website' - ] - -/** - * Return an "Authorization" header value with the given `options` - * in the form of "AWS :" - * - * @param {Object} options - * @return {String} - * @api private - */ - -function authorization (options) { - return 'AWS ' + options.key + ':' + sign(options) -} - -module.exports = authorization -module.exports.authorization = authorization - -/** - * Simple HMAC-SHA1 Wrapper - * - * @param {Object} options - * @return {String} - * @api private - */ - -function hmacSha1 (options) { - return crypto.createHmac('sha1', options.secret).update(options.message).digest('base64') -} - -module.exports.hmacSha1 = hmacSha1 - -/** - * Create a base64 sha1 HMAC for `options`. - * - * @param {Object} options - * @return {String} - * @api private - */ - -function sign (options) { - options.message = stringToSign(options) - return hmacSha1(options) -} -module.exports.sign = sign - -/** - * Create a base64 sha1 HMAC for `options`. - * - * Specifically to be used with S3 presigned URLs - * - * @param {Object} options - * @return {String} - * @api private - */ - -function signQuery (options) { - options.message = queryStringToSign(options) - return hmacSha1(options) -} -module.exports.signQuery= signQuery - -/** - * Return a string for sign() with the given `options`. - * - * Spec: - * - * \n - * \n - * \n - * \n - * [headers\n] - * - * - * @param {Object} options - * @return {String} - * @api private - */ - -function stringToSign (options) { - var headers = options.amazonHeaders || '' - if (headers) headers += '\n' - var r = - [ options.verb - , options.md5 - , options.contentType - , options.date ? options.date.toUTCString() : '' - , headers + options.resource - ] - return r.join('\n') -} -module.exports.queryStringToSign = stringToSign - -/** - * Return a string for sign() with the given `options`, but is meant exclusively - * for S3 presigned URLs - * - * Spec: - * - * \n - * - * - * @param {Object} options - * @return {String} - * @api private - */ - -function queryStringToSign (options){ - return 'GET\n\n\n' + options.date + '\n' + options.resource -} -module.exports.queryStringToSign = queryStringToSign - -/** - * Perform the following: - * - * - ignore non-amazon headers - * - lowercase fields - * - sort lexicographically - * - trim whitespace between ":" - * - join with newline - * - * @param {Object} headers - * @return {String} - * @api private - */ - -function canonicalizeHeaders (headers) { - var buf = [] - , fields = Object.keys(headers) - ; - for (var i = 0, len = fields.length; i < len; ++i) { - var field = fields[i] - , val = headers[field] - , field = field.toLowerCase() - ; - if (0 !== field.indexOf('x-amz')) continue - buf.push(field + ':' + val) - } - return buf.sort().join('\n') -} -module.exports.canonicalizeHeaders = canonicalizeHeaders - -/** - * Perform the following: - * - * - ignore non sub-resources - * - sort lexicographically - * - * @param {String} resource - * @return {String} - * @api private - */ - -function canonicalizeResource (resource) { - var url = parse(resource, true) - , path = url.pathname - , buf = [] - ; - - Object.keys(url.query).forEach(function(key){ - if (!~keys.indexOf(key)) return - var val = '' == url.query[key] ? '' : '=' + encodeURIComponent(url.query[key]) - buf.push(key + val) - }) - - return path + (buf.length ? '?' + buf.sort().join('&') : '') -} -module.exports.canonicalizeResource = canonicalizeResource diff --git a/publi/node_modules/aws-sign2/package.json b/publi/node_modules/aws-sign2/package.json deleted file mode 100644 index d4387fc..0000000 --- a/publi/node_modules/aws-sign2/package.json +++ /dev/null @@ -1,82 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "aws-sign2@~0.6.0", - "scope": null, - "escapedName": "aws-sign2", - "name": "aws-sign2", - "rawSpec": "~0.6.0", - "spec": ">=0.6.0 <0.7.0", - "type": "range" - }, - "/mnt/Data/bach/Documents/ola/OLA#4/OLA#4DOC/sys/node_modules/request" - ] - ], - "_from": "aws-sign2@>=0.6.0 <0.7.0", - "_id": "aws-sign2@0.6.0", - "_inCache": true, - "_location": "/aws-sign2", - "_nodeVersion": "4.1.2", - "_npmUser": { - "name": "mikeal", - "email": "mikeal.rogers@gmail.com" - }, - "_npmVersion": "2.14.4", - "_phantomChildren": {}, - "_requested": { - "raw": "aws-sign2@~0.6.0", - "scope": null, - "escapedName": "aws-sign2", - "name": "aws-sign2", - "rawSpec": "~0.6.0", - "spec": ">=0.6.0 <0.7.0", - "type": "range" - }, - "_requiredBy": [ - "/request" - ], - "_resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz", - "_shasum": "14342dd38dbcc94d0e5b87d763cd63612c0e794f", - "_shrinkwrap": null, - "_spec": "aws-sign2@~0.6.0", - "_where": "/mnt/Data/bach/Documents/ola/OLA#4/OLA#4DOC/sys/node_modules/request", - "author": { - "name": "Mikeal Rogers", - "email": "mikeal.rogers@gmail.com", - "url": "http://www.futurealoof.com" - }, - "bugs": { - "url": "https://github.com/mikeal/aws-sign/issues" - }, - "dependencies": {}, - "description": "AWS signing. Originally pulled from LearnBoost/knox, maintained as vendor in request, now a standalone module.", - "devDependencies": {}, - "directories": {}, - "dist": { - "shasum": "14342dd38dbcc94d0e5b87d763cd63612c0e794f", - "tarball": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz" - }, - "engines": { - "node": "*" - }, - "gitHead": "8554bdb41268fa295eb1ee300f4adaa9f7f07fec", - "homepage": "https://github.com/mikeal/aws-sign#readme", - "license": "Apache-2.0", - "main": "index.js", - "maintainers": [ - { - "name": "mikeal", - "email": "mikeal.rogers@gmail.com" - } - ], - "name": "aws-sign2", - "optionalDependencies": {}, - "readme": "aws-sign\n========\n\nAWS signing. Originally pulled from LearnBoost/knox, maintained as vendor in request, now a standalone module.\n", - "readmeFilename": "README.md", - "repository": { - "url": "git+https://github.com/mikeal/aws-sign.git" - }, - "scripts": {}, - "version": "0.6.0" -} diff --git a/publi/node_modules/aws4/.npmignore b/publi/node_modules/aws4/.npmignore deleted file mode 100644 index 6c6ade6..0000000 --- a/publi/node_modules/aws4/.npmignore +++ /dev/null @@ -1,4 +0,0 @@ -test -examples -example.js -browser diff --git a/publi/node_modules/aws4/.tern-port b/publi/node_modules/aws4/.tern-port deleted file mode 100644 index 7fd1b52..0000000 --- a/publi/node_modules/aws4/.tern-port +++ /dev/null @@ -1 +0,0 @@ -62638 \ No newline at end of file diff --git a/publi/node_modules/aws4/.travis.yml b/publi/node_modules/aws4/.travis.yml deleted file mode 100644 index 61d0634..0000000 --- a/publi/node_modules/aws4/.travis.yml +++ /dev/null @@ -1,5 +0,0 @@ -language: node_js -node_js: - - "0.10" - - "0.12" - - "4.2" diff --git a/publi/node_modules/aws4/LICENSE b/publi/node_modules/aws4/LICENSE deleted file mode 100644 index 4f321e5..0000000 --- a/publi/node_modules/aws4/LICENSE +++ /dev/null @@ -1,19 +0,0 @@ -Copyright 2013 Michael Hart (michael.hart.au@gmail.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 --git a/publi/node_modules/aws4/README.md b/publi/node_modules/aws4/README.md deleted file mode 100644 index 6b002d0..0000000 --- a/publi/node_modules/aws4/README.md +++ /dev/null @@ -1,523 +0,0 @@ -aws4 ----- - -[![Build Status](https://secure.travis-ci.org/mhart/aws4.png?branch=master)](http://travis-ci.org/mhart/aws4) - -A small utility to sign vanilla node.js http(s) request options using Amazon's -[AWS Signature Version 4](http://docs.amazonwebservices.com/general/latest/gr/signature-version-4.html). - -Can also be used [in the browser](./browser). - -This signature is supported by nearly all Amazon services, including -[S3](http://docs.aws.amazon.com/AmazonS3/latest/API/), -[EC2](http://docs.aws.amazon.com/AWSEC2/latest/APIReference/), -[DynamoDB](http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/API.html), -[Kinesis](http://docs.aws.amazon.com/kinesis/latest/APIReference/), -[Lambda](http://docs.aws.amazon.com/lambda/latest/dg/API_Reference.html), -[SQS](http://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/), -[SNS](http://docs.aws.amazon.com/sns/latest/api/), -[IAM](http://docs.aws.amazon.com/IAM/latest/APIReference/), -[STS](http://docs.aws.amazon.com/STS/latest/APIReference/), -[RDS](http://docs.aws.amazon.com/AmazonRDS/latest/APIReference/), -[CloudWatch](http://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/), -[CloudWatch Logs](http://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/), -[CodeDeploy](http://docs.aws.amazon.com/codedeploy/latest/APIReference/), -[CloudFront](http://docs.aws.amazon.com/AmazonCloudFront/latest/APIReference/), -[CloudTrail](http://docs.aws.amazon.com/awscloudtrail/latest/APIReference/), -[ElastiCache](http://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/), -[EMR](http://docs.aws.amazon.com/ElasticMapReduce/latest/API/), -[Glacier](http://docs.aws.amazon.com/amazonglacier/latest/dev/amazon-glacier-api.html), -[CloudSearch](http://docs.aws.amazon.com/cloudsearch/latest/developerguide/APIReq.html), -[Elastic Load Balancing](http://docs.aws.amazon.com/ElasticLoadBalancing/latest/APIReference/), -[Elastic Transcoder](http://docs.aws.amazon.com/elastictranscoder/latest/developerguide/api-reference.html), -[CloudFormation](http://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/), -[Elastic Beanstalk](http://docs.aws.amazon.com/elasticbeanstalk/latest/api/), -[Storage Gateway](http://docs.aws.amazon.com/storagegateway/latest/userguide/AWSStorageGatewayAPI.html), -[Data Pipeline](http://docs.aws.amazon.com/datapipeline/latest/APIReference/), -[Direct Connect](http://docs.aws.amazon.com/directconnect/latest/APIReference/), -[Redshift](http://docs.aws.amazon.com/redshift/latest/APIReference/), -[OpsWorks](http://docs.aws.amazon.com/opsworks/latest/APIReference/), -[SES](http://docs.aws.amazon.com/ses/latest/APIReference/), -[SWF](http://docs.aws.amazon.com/amazonswf/latest/apireference/), -[AutoScaling](http://docs.aws.amazon.com/AutoScaling/latest/APIReference/), -[Mobile Analytics](http://docs.aws.amazon.com/mobileanalytics/latest/ug/server-reference.html), -[Cognito Identity](http://docs.aws.amazon.com/cognitoidentity/latest/APIReference/), -[Cognito Sync](http://docs.aws.amazon.com/cognitosync/latest/APIReference/), -[Container Service](http://docs.aws.amazon.com/AmazonECS/latest/APIReference/), -[AppStream](http://docs.aws.amazon.com/appstream/latest/developerguide/appstream-api-rest.html), -[Key Management Service](http://docs.aws.amazon.com/kms/latest/APIReference/), -[Config](http://docs.aws.amazon.com/config/latest/APIReference/), -[CloudHSM](http://docs.aws.amazon.com/cloudhsm/latest/dg/api-ref.html), -[Route53](http://docs.aws.amazon.com/Route53/latest/APIReference/requests-rest.html) and -[Route53 Domains](http://docs.aws.amazon.com/Route53/latest/APIReference/requests-rpc.html). - -Indeed, the only AWS services that *don't* support v4 as of 2014-12-30 are -[Import/Export](http://docs.aws.amazon.com/AWSImportExport/latest/DG/api-reference.html) and -[SimpleDB](http://docs.aws.amazon.com/AmazonSimpleDB/latest/DeveloperGuide/SDB_API.html) -(they only support [AWS Signature Version 2](https://github.com/mhart/aws2)). - -It also provides defaults for a number of core AWS headers and -request parameters, making it very easy to query AWS services, or -build out a fully-featured AWS library. - -Example -------- - -```javascript -var http = require('http'), - https = require('https'), - aws4 = require('aws4') - -// given an options object you could pass to http.request -var opts = {host: 'sqs.us-east-1.amazonaws.com', path: '/?Action=ListQueues'} - -// alternatively (as aws4 can infer the host): -opts = {service: 'sqs', region: 'us-east-1', path: '/?Action=ListQueues'} - -// alternatively (as us-east-1 is default): -opts = {service: 'sqs', path: '/?Action=ListQueues'} - -aws4.sign(opts) // assumes AWS credentials are available in process.env - -console.log(opts) -/* -{ - host: 'sqs.us-east-1.amazonaws.com', - path: '/?Action=ListQueues', - headers: { - Host: 'sqs.us-east-1.amazonaws.com', - 'X-Amz-Date': '20121226T061030Z', - Authorization: 'AWS4-HMAC-SHA256 Credential=ABCDEF/20121226/us-east-1/sqs/aws4_request, ...' - } -} -*/ - -// we can now use this to query AWS using the standard node.js http API -http.request(opts, function(res) { res.pipe(process.stdout) }).end() -/* - - -... -*/ -``` - -More options ------------- - -```javascript -// you can also pass AWS credentials in explicitly (otherwise taken from process.env) -aws4.sign(opts, {accessKeyId: '', secretAccessKey: ''}) - -// can also add the signature to query strings -aws4.sign({service: 's3', path: '/my-bucket?X-Amz-Expires=12345', signQuery: true}) - -// create a utility function to pipe to stdout (with https this time) -function request(o) { https.request(o, function(res) { res.pipe(process.stdout) }).end(o.body || '') } - -// aws4 can infer the HTTP method if a body is passed in -// method will be POST and Content-Type: 'application/x-www-form-urlencoded; charset=utf-8' -request(aws4.sign({service: 'iam', body: 'Action=ListGroups&Version=2010-05-08'})) -/* - -... -*/ - -// can specify any custom option or header as per usual -request(aws4.sign({ - service: 'dynamodb', - region: 'ap-southeast-2', - method: 'POST', - path: '/', - headers: { - 'Content-Type': 'application/x-amz-json-1.0', - 'X-Amz-Target': 'DynamoDB_20120810.ListTables' - }, - body: '{}' -})) -/* -{"TableNames":[]} -... -*/ - -// works with all other services that support Signature Version 4 - -request(aws4.sign({service: 's3', path: '/', signQuery: true})) -/* - -... -*/ - -request(aws4.sign({service: 'ec2', path: '/?Action=DescribeRegions&Version=2014-06-15'})) -/* - -... -*/ - -request(aws4.sign({service: 'sns', path: '/?Action=ListTopics&Version=2010-03-31'})) -/* - -... -*/ - -request(aws4.sign({service: 'sts', path: '/?Action=GetSessionToken&Version=2011-06-15'})) -/* - -... -*/ - -request(aws4.sign({service: 'cloudsearch', path: '/?Action=ListDomainNames&Version=2013-01-01'})) -/* - -... -*/ - -request(aws4.sign({service: 'ses', path: '/?Action=ListIdentities&Version=2010-12-01'})) -/* - -... -*/ - -request(aws4.sign({service: 'autoscaling', path: '/?Action=DescribeAutoScalingInstances&Version=2011-01-01'})) -/* - -... -*/ - -request(aws4.sign({service: 'elasticloadbalancing', path: '/?Action=DescribeLoadBalancers&Version=2012-06-01'})) -/* - -... -*/ - -request(aws4.sign({service: 'cloudformation', path: '/?Action=ListStacks&Version=2010-05-15'})) -/* - -... -*/ - -request(aws4.sign({service: 'elasticbeanstalk', path: '/?Action=ListAvailableSolutionStacks&Version=2010-12-01'})) -/* - -... -*/ - -request(aws4.sign({service: 'rds', path: '/?Action=DescribeDBInstances&Version=2012-09-17'})) -/* - -... -*/ - -request(aws4.sign({service: 'monitoring', path: '/?Action=ListMetrics&Version=2010-08-01'})) -/* - -... -*/ - -request(aws4.sign({service: 'redshift', path: '/?Action=DescribeClusters&Version=2012-12-01'})) -/* - -... -*/ - -request(aws4.sign({service: 'cloudfront', path: '/2014-05-31/distribution'})) -/* - -... -*/ - -request(aws4.sign({service: 'elasticache', path: '/?Action=DescribeCacheClusters&Version=2014-07-15'})) -/* - -... -*/ - -request(aws4.sign({service: 'elasticmapreduce', path: '/?Action=DescribeJobFlows&Version=2009-03-31'})) -/* - -... -*/ - -request(aws4.sign({service: 'route53', path: '/2013-04-01/hostedzone'})) -/* - -... -*/ - -request(aws4.sign({service: 'appstream', path: '/applications'})) -/* -{"_links":{"curie":[{"href":"http://docs.aws.amazon.com/appstream/latest/... -... -*/ - -request(aws4.sign({service: 'cognito-sync', path: '/identitypools'})) -/* -{"Count":0,"IdentityPoolUsages":[],"MaxResults":16,"NextToken":null} -... -*/ - -request(aws4.sign({service: 'elastictranscoder', path: '/2012-09-25/pipelines'})) -/* -{"NextPageToken":null,"Pipelines":[]} -... -*/ - -request(aws4.sign({service: 'lambda', path: '/2014-11-13/functions/'})) -/* -{"Functions":[],"NextMarker":null} -... -*/ - -request(aws4.sign({service: 'ecs', path: '/?Action=ListClusters&Version=2014-11-13'})) -/* - -... -*/ - -request(aws4.sign({service: 'glacier', path: '/-/vaults', headers: {'X-Amz-Glacier-Version': '2012-06-01'}})) -/* -{"Marker":null,"VaultList":[]} -... -*/ - -request(aws4.sign({service: 'storagegateway', body: '{}', headers: { - 'Content-Type': 'application/x-amz-json-1.1', - 'X-Amz-Target': 'StorageGateway_20120630.ListGateways' -}})) -/* -{"Gateways":[]} -... -*/ - -request(aws4.sign({service: 'datapipeline', body: '{}', headers: { - 'Content-Type': 'application/x-amz-json-1.1', - 'X-Amz-Target': 'DataPipeline.ListPipelines' -}})) -/* -{"hasMoreResults":false,"pipelineIdList":[]} -... -*/ - -request(aws4.sign({service: 'opsworks', body: '{}', headers: { - 'Content-Type': 'application/x-amz-json-1.1', - 'X-Amz-Target': 'OpsWorks_20130218.DescribeStacks' -}})) -/* -{"Stacks":[]} -... -*/ - -request(aws4.sign({service: 'route53domains', body: '{}', headers: { - 'Content-Type': 'application/x-amz-json-1.1', - 'X-Amz-Target': 'Route53Domains_v20140515.ListDomains' -}})) -/* -{"Domains":[]} -... -*/ - -request(aws4.sign({service: 'kinesis', body: '{}', headers: { - 'Content-Type': 'application/x-amz-json-1.1', - 'X-Amz-Target': 'Kinesis_20131202.ListStreams' -}})) -/* -{"HasMoreStreams":false,"StreamNames":[]} -... -*/ - -request(aws4.sign({service: 'cloudtrail', body: '{}', headers: { - 'Content-Type': 'application/x-amz-json-1.1', - 'X-Amz-Target': 'CloudTrail_20131101.DescribeTrails' -}})) -/* -{"trailList":[]} -... -*/ - -request(aws4.sign({service: 'logs', body: '{}', headers: { - 'Content-Type': 'application/x-amz-json-1.1', - 'X-Amz-Target': 'Logs_20140328.DescribeLogGroups' -}})) -/* -{"logGroups":[]} -... -*/ - -request(aws4.sign({service: 'codedeploy', body: '{}', headers: { - 'Content-Type': 'application/x-amz-json-1.1', - 'X-Amz-Target': 'CodeDeploy_20141006.ListApplications' -}})) -/* -{"applications":[]} -... -*/ - -request(aws4.sign({service: 'directconnect', body: '{}', headers: { - 'Content-Type': 'application/x-amz-json-1.1', - 'X-Amz-Target': 'OvertureService.DescribeConnections' -}})) -/* -{"connections":[]} -... -*/ - -request(aws4.sign({service: 'kms', body: '{}', headers: { - 'Content-Type': 'application/x-amz-json-1.1', - 'X-Amz-Target': 'TrentService.ListKeys' -}})) -/* -{"Keys":[],"Truncated":false} -... -*/ - -request(aws4.sign({service: 'config', body: '{}', headers: { - 'Content-Type': 'application/x-amz-json-1.1', - 'X-Amz-Target': 'StarlingDoveService.DescribeDeliveryChannels' -}})) -/* -{"DeliveryChannels":[]} -... -*/ - -request(aws4.sign({service: 'cloudhsm', body: '{}', headers: { - 'Content-Type': 'application/x-amz-json-1.1', - 'X-Amz-Target': 'CloudHsmFrontendService.ListAvailableZones' -}})) -/* -{"AZList":["us-east-1a","us-east-1b","us-east-1c"]} -... -*/ - -request(aws4.sign({ - service: 'swf', - body: '{"registrationStatus":"REGISTERED"}', - headers: { - 'Content-Type': 'application/x-amz-json-1.0', - 'X-Amz-Target': 'SimpleWorkflowService.ListDomains' - } -})) -/* -{"domainInfos":[]} -... -*/ - -request(aws4.sign({ - service: 'cognito-identity', - body: '{"MaxResults": 1}', - headers: { - 'Content-Type': 'application/x-amz-json-1.1', - 'X-Amz-Target': 'AWSCognitoIdentityService.ListIdentityPools' - } -})) -/* -{"IdentityPools":[]} -... -*/ - -request(aws4.sign({ - service: 'mobileanalytics', - path: '/2014-06-05/events', - body: JSON.stringify({events:[{ - eventType: 'a', - timestamp: new Date().toISOString(), - session: {}, - }]}), - headers: { - 'Content-Type': 'application/json', - 'X-Amz-Client-Context': JSON.stringify({ - client: {client_id: 'a', app_title: 'a'}, - custom: {}, - env: {platform: 'a'}, - services: {}, - }), - } -})) -/* -(HTTP 202, empty response) -*/ - -// Generate CodeCommit Git access password -var signer = new aws4.RequestSigner({ - service: 'codecommit', - host: 'git-codecommit.us-east-1.amazonaws.com', - method: 'GIT', - path: '/v1/repos/MyAwesomeRepo', -}) -var password = signer.getDateTime() + 'Z' + signer.signature() -``` - -API ---- - -### aws4.sign(requestOptions, [credentials]) - -This calculates and populates the `Authorization` header of -`requestOptions`, and any other necessary AWS headers and/or request -options. Returns `requestOptions` as a convenience for chaining. - -`requestOptions` is an object holding the same options that the node.js -[http.request](http://nodejs.org/docs/latest/api/http.html#http_http_request_options_callback) -function takes. - -The following properties of `requestOptions` are used in the signing or -populated if they don't already exist: - -- `hostname` or `host` (will be determined from `service` and `region` if not given) -- `method` (will use `'GET'` if not given or `'POST'` if there is a `body`) -- `path` (will use `'/'` if not given) -- `body` (will use `''` if not given) -- `service` (will be calculated from `hostname` or `host` if not given) -- `region` (will be calculated from `hostname` or `host` or use `'us-east-1'` if not given) -- `headers['Host']` (will use `hostname` or `host` or be calculated if not given) -- `headers['Content-Type']` (will use `'application/x-www-form-urlencoded; charset=utf-8'` - if not given and there is a `body`) -- `headers['Date']` (used to calculate the signature date if given, otherwise `new Date` is used) - -Your AWS credentials (which can be found in your -[AWS console](https://portal.aws.amazon.com/gp/aws/securityCredentials)) -can be specified in one of two ways: - -- As the second argument, like this: - -```javascript -aws4.sign(requestOptions, { - secretAccessKey: "", - accessKeyId: "", - sessionToken: "" -}) -``` - -- From `process.env`, such as this: - -``` -export AWS_SECRET_ACCESS_KEY="" -export AWS_ACCESS_KEY_ID="" -export AWS_SESSION_TOKEN="" -``` - -(will also use `AWS_ACCESS_KEY` and `AWS_SECRET_KEY` if available) - -The `sessionToken` property and `AWS_SESSION_TOKEN` environment variable are optional for signing -with [IAM STS temporary credentials](http://docs.aws.amazon.com/STS/latest/UsingSTS/using-temp-creds.html). - -Installation ------------- - -With [npm](http://npmjs.org/) do: - -``` -npm install aws4 -``` - -Can also be used [in the browser](./browser). - -Thanks ------- - -Thanks to [@jed](https://github.com/jed) for his -[dynamo-client](https://github.com/jed/dynamo-client) lib where I first -committed and subsequently extracted this code. - -Also thanks to the -[official node.js AWS SDK](https://github.com/aws/aws-sdk-js) for giving -me a start on implementing the v4 signature. - diff --git a/publi/node_modules/aws4/aws4.js b/publi/node_modules/aws4/aws4.js deleted file mode 100644 index 0cff0f0..0000000 --- a/publi/node_modules/aws4/aws4.js +++ /dev/null @@ -1,332 +0,0 @@ -var aws4 = exports, - url = require('url'), - querystring = require('querystring'), - crypto = require('crypto'), - lru = require('./lru'), - credentialsCache = lru(1000) - -// http://docs.amazonwebservices.com/general/latest/gr/signature-version-4.html - -function hmac(key, string, encoding) { - return crypto.createHmac('sha256', key).update(string, 'utf8').digest(encoding) -} - -function hash(string, encoding) { - return crypto.createHash('sha256').update(string, 'utf8').digest(encoding) -} - -// This function assumes the string has already been percent encoded -function encodeRfc3986(urlEncodedString) { - return urlEncodedString.replace(/[!'()*]/g, function(c) { - return '%' + c.charCodeAt(0).toString(16).toUpperCase() - }) -} - -// request: { path | body, [host], [method], [headers], [service], [region] } -// credentials: { accessKeyId, secretAccessKey, [sessionToken] } -function RequestSigner(request, credentials) { - - if (typeof request === 'string') request = url.parse(request) - - var headers = request.headers = (request.headers || {}), - hostParts = this.matchHost(request.hostname || request.host || headers.Host || headers.host) - - this.request = request - this.credentials = credentials || this.defaultCredentials() - - this.service = request.service || hostParts[0] || '' - this.region = request.region || hostParts[1] || 'us-east-1' - - // SES uses a different domain from the service name - if (this.service === 'email') this.service = 'ses' - - if (!request.method && request.body) - request.method = 'POST' - - if (!headers.Host && !headers.host) { - headers.Host = request.hostname || request.host || this.createHost() - - // If a port is specified explicitly, use it as is - if (request.port) - headers.Host += ':' + request.port - } - if (!request.hostname && !request.host) - request.hostname = headers.Host || headers.host - - this.isCodeCommitGit = this.service === 'codecommit' && request.method === 'GIT' -} - -RequestSigner.prototype.matchHost = function(host) { - var match = (host || '').match(/([^\.]+)\.(?:([^\.]*)\.)?amazonaws\.com$/) - var hostParts = (match || []).slice(1, 3) - - // ES's hostParts are sometimes the other way round, if the value that is expected - // to be region equals ‘es’ switch them back - // e.g. search-cluster-name-aaaa00aaaa0aaa0aaaaaaa0aaa.us-east-1.es.amazonaws.com - if (hostParts[1] === 'es') - hostParts = hostParts.reverse() - - return hostParts -} - -// http://docs.aws.amazon.com/general/latest/gr/rande.html -RequestSigner.prototype.isSingleRegion = function() { - // Special case for S3 and SimpleDB in us-east-1 - if (['s3', 'sdb'].indexOf(this.service) >= 0 && this.region === 'us-east-1') return true - - return ['cloudfront', 'ls', 'route53', 'iam', 'importexport', 'sts'] - .indexOf(this.service) >= 0 -} - -RequestSigner.prototype.createHost = function() { - var region = this.isSingleRegion() ? '' : - (this.service === 's3' && this.region !== 'us-east-1' ? '-' : '.') + this.region, - service = this.service === 'ses' ? 'email' : this.service - return service + region + '.amazonaws.com' -} - -RequestSigner.prototype.prepareRequest = function() { - this.parsePath() - - var request = this.request, headers = request.headers, query - - if (request.signQuery) { - - this.parsedPath.query = query = this.parsedPath.query || {} - - if (this.credentials.sessionToken) - query['X-Amz-Security-Token'] = this.credentials.sessionToken - - if (this.service === 's3' && !query['X-Amz-Expires']) - query['X-Amz-Expires'] = 86400 - - if (query['X-Amz-Date']) - this.datetime = query['X-Amz-Date'] - else - query['X-Amz-Date'] = this.getDateTime() - - query['X-Amz-Algorithm'] = 'AWS4-HMAC-SHA256' - query['X-Amz-Credential'] = this.credentials.accessKeyId + '/' + this.credentialString() - query['X-Amz-SignedHeaders'] = this.signedHeaders() - - } else { - - if (!request.doNotModifyHeaders && !this.isCodeCommitGit) { - if (request.body && !headers['Content-Type'] && !headers['content-type']) - headers['Content-Type'] = 'application/x-www-form-urlencoded; charset=utf-8' - - if (request.body && !headers['Content-Length'] && !headers['content-length']) - headers['Content-Length'] = Buffer.byteLength(request.body) - - if (this.credentials.sessionToken && !headers['X-Amz-Security-Token'] && !headers['x-amz-security-token']) - headers['X-Amz-Security-Token'] = this.credentials.sessionToken - - if (this.service === 's3' && !headers['X-Amz-Content-Sha256'] && !headers['x-amz-content-sha256']) - headers['X-Amz-Content-Sha256'] = hash(this.request.body || '', 'hex') - - if (headers['X-Amz-Date'] || headers['x-amz-date']) - this.datetime = headers['X-Amz-Date'] || headers['x-amz-date'] - else - headers['X-Amz-Date'] = this.getDateTime() - } - - delete headers.Authorization - delete headers.authorization - } -} - -RequestSigner.prototype.sign = function() { - if (!this.parsedPath) this.prepareRequest() - - if (this.request.signQuery) { - this.parsedPath.query['X-Amz-Signature'] = this.signature() - } else { - this.request.headers.Authorization = this.authHeader() - } - - this.request.path = this.formatPath() - - return this.request -} - -RequestSigner.prototype.getDateTime = function() { - if (!this.datetime) { - var headers = this.request.headers, - date = new Date(headers.Date || headers.date || new Date) - - this.datetime = date.toISOString().replace(/[:\-]|\.\d{3}/g, '') - - // Remove the trailing 'Z' on the timestamp string for CodeCommit git access - if (this.isCodeCommitGit) this.datetime = this.datetime.slice(0, -1) - } - return this.datetime -} - -RequestSigner.prototype.getDate = function() { - return this.getDateTime().substr(0, 8) -} - -RequestSigner.prototype.authHeader = function() { - return [ - 'AWS4-HMAC-SHA256 Credential=' + this.credentials.accessKeyId + '/' + this.credentialString(), - 'SignedHeaders=' + this.signedHeaders(), - 'Signature=' + this.signature(), - ].join(', ') -} - -RequestSigner.prototype.signature = function() { - var date = this.getDate(), - cacheKey = [this.credentials.secretAccessKey, date, this.region, this.service].join(), - kDate, kRegion, kService, kCredentials = credentialsCache.get(cacheKey) - if (!kCredentials) { - kDate = hmac('AWS4' + this.credentials.secretAccessKey, date) - kRegion = hmac(kDate, this.region) - kService = hmac(kRegion, this.service) - kCredentials = hmac(kService, 'aws4_request') - credentialsCache.set(cacheKey, kCredentials) - } - return hmac(kCredentials, this.stringToSign(), 'hex') -} - -RequestSigner.prototype.stringToSign = function() { - return [ - 'AWS4-HMAC-SHA256', - this.getDateTime(), - this.credentialString(), - hash(this.canonicalString(), 'hex'), - ].join('\n') -} - -RequestSigner.prototype.canonicalString = function() { - if (!this.parsedPath) this.prepareRequest() - - var pathStr = this.parsedPath.path, - query = this.parsedPath.query, - headers = this.request.headers, - queryStr = '', - normalizePath = this.service !== 's3', - decodePath = this.service === 's3' || this.request.doNotEncodePath, - decodeSlashesInPath = this.service === 's3', - firstValOnly = this.service === 's3', - bodyHash - - if (this.service === 's3' && this.request.signQuery) { - bodyHash = 'UNSIGNED-PAYLOAD' - } else if (this.isCodeCommitGit) { - bodyHash = '' - } else { - bodyHash = headers['X-Amz-Content-Sha256'] || headers['x-amz-content-sha256'] || - hash(this.request.body || '', 'hex') - } - - if (query) { - queryStr = encodeRfc3986(querystring.stringify(Object.keys(query).sort().reduce(function(obj, key) { - if (!key) return obj - obj[key] = !Array.isArray(query[key]) ? query[key] : - (firstValOnly ? query[key][0] : query[key].slice().sort()) - return obj - }, {}))) - } - if (pathStr !== '/') { - if (normalizePath) pathStr = pathStr.replace(/\/{2,}/g, '/') - pathStr = pathStr.split('/').reduce(function(path, piece) { - if (normalizePath && piece === '..') { - path.pop() - } else if (!normalizePath || piece !== '.') { - if (decodePath) piece = querystring.unescape(piece) - path.push(encodeRfc3986(querystring.escape(piece))) - } - return path - }, []).join('/') - if (pathStr[0] !== '/') pathStr = '/' + pathStr - if (decodeSlashesInPath) pathStr = pathStr.replace(/%2F/g, '/') - } - - return [ - this.request.method || 'GET', - pathStr, - queryStr, - this.canonicalHeaders() + '\n', - this.signedHeaders(), - bodyHash, - ].join('\n') -} - -RequestSigner.prototype.canonicalHeaders = function() { - var headers = this.request.headers - function trimAll(header) { - return header.toString().trim().replace(/\s+/g, ' ') - } - return Object.keys(headers) - .sort(function(a, b) { return a.toLowerCase() < b.toLowerCase() ? -1 : 1 }) - .map(function(key) { return key.toLowerCase() + ':' + trimAll(headers[key]) }) - .join('\n') -} - -RequestSigner.prototype.signedHeaders = function() { - return Object.keys(this.request.headers) - .map(function(key) { return key.toLowerCase() }) - .sort() - .join(';') -} - -RequestSigner.prototype.credentialString = function() { - return [ - this.getDate(), - this.region, - this.service, - 'aws4_request', - ].join('/') -} - -RequestSigner.prototype.defaultCredentials = function() { - var env = process.env - return { - accessKeyId: env.AWS_ACCESS_KEY_ID || env.AWS_ACCESS_KEY, - secretAccessKey: env.AWS_SECRET_ACCESS_KEY || env.AWS_SECRET_KEY, - sessionToken: env.AWS_SESSION_TOKEN, - } -} - -RequestSigner.prototype.parsePath = function() { - var path = this.request.path || '/', - queryIx = path.indexOf('?'), - query = null - - if (queryIx >= 0) { - query = querystring.parse(path.slice(queryIx + 1)) - path = path.slice(0, queryIx) - } - - // S3 doesn't always encode characters > 127 correctly and - // all services don't encode characters > 255 correctly - // So if there are non-reserved chars (and it's not already all % encoded), just encode them all - if (/[^0-9A-Za-z!'()*\-._~%/]/.test(path)) { - path = path.split('/').map(function(piece) { - return querystring.escape(querystring.unescape(piece)) - }).join('/') - } - - this.parsedPath = { - path: path, - query: query, - } -} - -RequestSigner.prototype.formatPath = function() { - var path = this.parsedPath.path, - query = this.parsedPath.query - - if (!query) return path - - // Services don't support empty query string keys - if (query[''] != null) delete query[''] - - return path + '?' + encodeRfc3986(querystring.stringify(query)) -} - -aws4.RequestSigner = RequestSigner - -aws4.sign = function(request, credentials) { - return new RequestSigner(request, credentials).sign() -} diff --git a/publi/node_modules/aws4/lru.js b/publi/node_modules/aws4/lru.js deleted file mode 100644 index 333f66a..0000000 --- a/publi/node_modules/aws4/lru.js +++ /dev/null @@ -1,96 +0,0 @@ -module.exports = function(size) { - return new LruCache(size) -} - -function LruCache(size) { - this.capacity = size | 0 - this.map = Object.create(null) - this.list = new DoublyLinkedList() -} - -LruCache.prototype.get = function(key) { - var node = this.map[key] - if (node == null) return undefined - this.used(node) - return node.val -} - -LruCache.prototype.set = function(key, val) { - var node = this.map[key] - if (node != null) { - node.val = val - } else { - if (!this.capacity) this.prune() - if (!this.capacity) return false - node = new DoublyLinkedNode(key, val) - this.map[key] = node - this.capacity-- - } - this.used(node) - return true -} - -LruCache.prototype.used = function(node) { - this.list.moveToFront(node) -} - -LruCache.prototype.prune = function() { - var node = this.list.pop() - if (node != null) { - delete this.map[node.key] - this.capacity++ - } -} - - -function DoublyLinkedList() { - this.firstNode = null - this.lastNode = null -} - -DoublyLinkedList.prototype.moveToFront = function(node) { - if (this.firstNode == node) return - - this.remove(node) - - if (this.firstNode == null) { - this.firstNode = node - this.lastNode = node - node.prev = null - node.next = null - } else { - node.prev = null - node.next = this.firstNode - node.next.prev = node - this.firstNode = node - } -} - -DoublyLinkedList.prototype.pop = function() { - var lastNode = this.lastNode - if (lastNode != null) { - this.remove(lastNode) - } - return lastNode -} - -DoublyLinkedList.prototype.remove = function(node) { - if (this.firstNode == node) { - this.firstNode = node.next - } else if (node.prev != null) { - node.prev.next = node.next - } - if (this.lastNode == node) { - this.lastNode = node.prev - } else if (node.next != null) { - node.next.prev = node.prev - } -} - - -function DoublyLinkedNode(key, val) { - this.key = key - this.val = val - this.prev = null - this.next = null -} diff --git a/publi/node_modules/aws4/package.json b/publi/node_modules/aws4/package.json deleted file mode 100644 index 6e1799c..0000000 --- a/publi/node_modules/aws4/package.json +++ /dev/null @@ -1,141 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "aws4@^1.2.1", - "scope": null, - "escapedName": "aws4", - "name": "aws4", - "rawSpec": "^1.2.1", - "spec": ">=1.2.1 <2.0.0", - "type": "range" - }, - "/mnt/Data/bach/Documents/ola/OLA#4/OLA#4DOC/sys/node_modules/request" - ] - ], - "_from": "aws4@>=1.2.1 <2.0.0", - "_id": "aws4@1.6.0", - "_inCache": true, - "_location": "/aws4", - "_nodeVersion": "4.5.0", - "_npmOperationalInternal": { - "host": "packages-18-east.internal.npmjs.com", - "tmp": "tmp/aws4-1.6.0.tgz_1486481933920_0.6127187723759562" - }, - "_npmUser": { - "name": "hichaelmart", - "email": "michael.hart.au@gmail.com" - }, - "_npmVersion": "4.0.5", - "_phantomChildren": {}, - "_requested": { - "raw": "aws4@^1.2.1", - "scope": null, - "escapedName": "aws4", - "name": "aws4", - "rawSpec": "^1.2.1", - "spec": ">=1.2.1 <2.0.0", - "type": "range" - }, - "_requiredBy": [ - "/request" - ], - "_resolved": "https://registry.npmjs.org/aws4/-/aws4-1.6.0.tgz", - "_shasum": "83ef5ca860b2b32e4a0deedee8c771b9db57471e", - "_shrinkwrap": null, - "_spec": "aws4@^1.2.1", - "_where": "/mnt/Data/bach/Documents/ola/OLA#4/OLA#4DOC/sys/node_modules/request", - "author": { - "name": "Michael Hart", - "email": "michael.hart.au@gmail.com", - "url": "http://github.com/mhart" - }, - "bugs": { - "url": "https://github.com/mhart/aws4/issues" - }, - "dependencies": {}, - "description": "Signs and prepares requests using AWS Signature Version 4", - "devDependencies": { - "mocha": "^2.4.5", - "should": "^8.2.2" - }, - "directories": {}, - "dist": { - "shasum": "83ef5ca860b2b32e4a0deedee8c771b9db57471e", - "tarball": "https://registry.npmjs.org/aws4/-/aws4-1.6.0.tgz" - }, - "gitHead": "74bf0b64d1e8cbcd184964999c7ef53f52d7ad32", - "homepage": "https://github.com/mhart/aws4#readme", - "keywords": [ - "amazon", - "aws", - "signature", - "s3", - "ec2", - "autoscaling", - "cloudformation", - "elasticloadbalancing", - "elb", - "elasticbeanstalk", - "cloudsearch", - "dynamodb", - "kinesis", - "lambda", - "glacier", - "sqs", - "sns", - "iam", - "sts", - "ses", - "swf", - "storagegateway", - "datapipeline", - "directconnect", - "redshift", - "opsworks", - "rds", - "monitoring", - "cloudtrail", - "cloudfront", - "codedeploy", - "elasticache", - "elasticmapreduce", - "elastictranscoder", - "emr", - "cloudwatch", - "mobileanalytics", - "cognitoidentity", - "cognitosync", - "cognito", - "containerservice", - "ecs", - "appstream", - "keymanagementservice", - "kms", - "config", - "cloudhsm", - "route53", - "route53domains", - "logs" - ], - "license": "MIT", - "main": "aws4.js", - "maintainers": [ - { - "name": "hichaelmart", - "email": "michael.hart.au@gmail.com" - } - ], - "name": "aws4", - "optionalDependencies": {}, - "readme": "aws4\n----\n\n[![Build Status](https://secure.travis-ci.org/mhart/aws4.png?branch=master)](http://travis-ci.org/mhart/aws4)\n\nA small utility to sign vanilla node.js http(s) request options using Amazon's\n[AWS Signature Version 4](http://docs.amazonwebservices.com/general/latest/gr/signature-version-4.html).\n\nCan also be used [in the browser](./browser).\n\nThis signature is supported by nearly all Amazon services, including\n[S3](http://docs.aws.amazon.com/AmazonS3/latest/API/),\n[EC2](http://docs.aws.amazon.com/AWSEC2/latest/APIReference/),\n[DynamoDB](http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/API.html),\n[Kinesis](http://docs.aws.amazon.com/kinesis/latest/APIReference/),\n[Lambda](http://docs.aws.amazon.com/lambda/latest/dg/API_Reference.html),\n[SQS](http://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/),\n[SNS](http://docs.aws.amazon.com/sns/latest/api/),\n[IAM](http://docs.aws.amazon.com/IAM/latest/APIReference/),\n[STS](http://docs.aws.amazon.com/STS/latest/APIReference/),\n[RDS](http://docs.aws.amazon.com/AmazonRDS/latest/APIReference/),\n[CloudWatch](http://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/),\n[CloudWatch Logs](http://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/),\n[CodeDeploy](http://docs.aws.amazon.com/codedeploy/latest/APIReference/),\n[CloudFront](http://docs.aws.amazon.com/AmazonCloudFront/latest/APIReference/),\n[CloudTrail](http://docs.aws.amazon.com/awscloudtrail/latest/APIReference/),\n[ElastiCache](http://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/),\n[EMR](http://docs.aws.amazon.com/ElasticMapReduce/latest/API/),\n[Glacier](http://docs.aws.amazon.com/amazonglacier/latest/dev/amazon-glacier-api.html),\n[CloudSearch](http://docs.aws.amazon.com/cloudsearch/latest/developerguide/APIReq.html),\n[Elastic Load Balancing](http://docs.aws.amazon.com/ElasticLoadBalancing/latest/APIReference/),\n[Elastic Transcoder](http://docs.aws.amazon.com/elastictranscoder/latest/developerguide/api-reference.html),\n[CloudFormation](http://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/),\n[Elastic Beanstalk](http://docs.aws.amazon.com/elasticbeanstalk/latest/api/),\n[Storage Gateway](http://docs.aws.amazon.com/storagegateway/latest/userguide/AWSStorageGatewayAPI.html),\n[Data Pipeline](http://docs.aws.amazon.com/datapipeline/latest/APIReference/),\n[Direct Connect](http://docs.aws.amazon.com/directconnect/latest/APIReference/),\n[Redshift](http://docs.aws.amazon.com/redshift/latest/APIReference/),\n[OpsWorks](http://docs.aws.amazon.com/opsworks/latest/APIReference/),\n[SES](http://docs.aws.amazon.com/ses/latest/APIReference/),\n[SWF](http://docs.aws.amazon.com/amazonswf/latest/apireference/),\n[AutoScaling](http://docs.aws.amazon.com/AutoScaling/latest/APIReference/),\n[Mobile Analytics](http://docs.aws.amazon.com/mobileanalytics/latest/ug/server-reference.html),\n[Cognito Identity](http://docs.aws.amazon.com/cognitoidentity/latest/APIReference/),\n[Cognito Sync](http://docs.aws.amazon.com/cognitosync/latest/APIReference/),\n[Container Service](http://docs.aws.amazon.com/AmazonECS/latest/APIReference/),\n[AppStream](http://docs.aws.amazon.com/appstream/latest/developerguide/appstream-api-rest.html),\n[Key Management Service](http://docs.aws.amazon.com/kms/latest/APIReference/),\n[Config](http://docs.aws.amazon.com/config/latest/APIReference/),\n[CloudHSM](http://docs.aws.amazon.com/cloudhsm/latest/dg/api-ref.html),\n[Route53](http://docs.aws.amazon.com/Route53/latest/APIReference/requests-rest.html) and\n[Route53 Domains](http://docs.aws.amazon.com/Route53/latest/APIReference/requests-rpc.html).\n\nIndeed, the only AWS services that *don't* support v4 as of 2014-12-30 are\n[Import/Export](http://docs.aws.amazon.com/AWSImportExport/latest/DG/api-reference.html) and\n[SimpleDB](http://docs.aws.amazon.com/AmazonSimpleDB/latest/DeveloperGuide/SDB_API.html)\n(they only support [AWS Signature Version 2](https://github.com/mhart/aws2)).\n\nIt also provides defaults for a number of core AWS headers and\nrequest parameters, making it very easy to query AWS services, or\nbuild out a fully-featured AWS library.\n\nExample\n-------\n\n```javascript\nvar http = require('http'),\n https = require('https'),\n aws4 = require('aws4')\n\n// given an options object you could pass to http.request\nvar opts = {host: 'sqs.us-east-1.amazonaws.com', path: '/?Action=ListQueues'}\n\n// alternatively (as aws4 can infer the host):\nopts = {service: 'sqs', region: 'us-east-1', path: '/?Action=ListQueues'}\n\n// alternatively (as us-east-1 is default):\nopts = {service: 'sqs', path: '/?Action=ListQueues'}\n\naws4.sign(opts) // assumes AWS credentials are available in process.env\n\nconsole.log(opts)\n/*\n{\n host: 'sqs.us-east-1.amazonaws.com',\n path: '/?Action=ListQueues',\n headers: {\n Host: 'sqs.us-east-1.amazonaws.com',\n 'X-Amz-Date': '20121226T061030Z',\n Authorization: 'AWS4-HMAC-SHA256 Credential=ABCDEF/20121226/us-east-1/sqs/aws4_request, ...'\n }\n}\n*/\n\n// we can now use this to query AWS using the standard node.js http API\nhttp.request(opts, function(res) { res.pipe(process.stdout) }).end()\n/*\n\n\n...\n*/\n```\n\nMore options\n------------\n\n```javascript\n// you can also pass AWS credentials in explicitly (otherwise taken from process.env)\naws4.sign(opts, {accessKeyId: '', secretAccessKey: ''})\n\n// can also add the signature to query strings\naws4.sign({service: 's3', path: '/my-bucket?X-Amz-Expires=12345', signQuery: true})\n\n// create a utility function to pipe to stdout (with https this time)\nfunction request(o) { https.request(o, function(res) { res.pipe(process.stdout) }).end(o.body || '') }\n\n// aws4 can infer the HTTP method if a body is passed in\n// method will be POST and Content-Type: 'application/x-www-form-urlencoded; charset=utf-8'\nrequest(aws4.sign({service: 'iam', body: 'Action=ListGroups&Version=2010-05-08'}))\n/*\n\n...\n*/\n\n// can specify any custom option or header as per usual\nrequest(aws4.sign({\n service: 'dynamodb',\n region: 'ap-southeast-2',\n method: 'POST',\n path: '/',\n headers: {\n 'Content-Type': 'application/x-amz-json-1.0',\n 'X-Amz-Target': 'DynamoDB_20120810.ListTables'\n },\n body: '{}'\n}))\n/*\n{\"TableNames\":[]}\n...\n*/\n\n// works with all other services that support Signature Version 4\n\nrequest(aws4.sign({service: 's3', path: '/', signQuery: true}))\n/*\n\n...\n*/\n\nrequest(aws4.sign({service: 'ec2', path: '/?Action=DescribeRegions&Version=2014-06-15'}))\n/*\n\n...\n*/\n\nrequest(aws4.sign({service: 'sns', path: '/?Action=ListTopics&Version=2010-03-31'}))\n/*\n\n...\n*/\n\nrequest(aws4.sign({service: 'sts', path: '/?Action=GetSessionToken&Version=2011-06-15'}))\n/*\n\n...\n*/\n\nrequest(aws4.sign({service: 'cloudsearch', path: '/?Action=ListDomainNames&Version=2013-01-01'}))\n/*\n\n...\n*/\n\nrequest(aws4.sign({service: 'ses', path: '/?Action=ListIdentities&Version=2010-12-01'}))\n/*\n\n...\n*/\n\nrequest(aws4.sign({service: 'autoscaling', path: '/?Action=DescribeAutoScalingInstances&Version=2011-01-01'}))\n/*\n\n...\n*/\n\nrequest(aws4.sign({service: 'elasticloadbalancing', path: '/?Action=DescribeLoadBalancers&Version=2012-06-01'}))\n/*\n\n...\n*/\n\nrequest(aws4.sign({service: 'cloudformation', path: '/?Action=ListStacks&Version=2010-05-15'}))\n/*\n\n...\n*/\n\nrequest(aws4.sign({service: 'elasticbeanstalk', path: '/?Action=ListAvailableSolutionStacks&Version=2010-12-01'}))\n/*\n\n...\n*/\n\nrequest(aws4.sign({service: 'rds', path: '/?Action=DescribeDBInstances&Version=2012-09-17'}))\n/*\n\n...\n*/\n\nrequest(aws4.sign({service: 'monitoring', path: '/?Action=ListMetrics&Version=2010-08-01'}))\n/*\n\n...\n*/\n\nrequest(aws4.sign({service: 'redshift', path: '/?Action=DescribeClusters&Version=2012-12-01'}))\n/*\n\n...\n*/\n\nrequest(aws4.sign({service: 'cloudfront', path: '/2014-05-31/distribution'}))\n/*\n\n...\n*/\n\nrequest(aws4.sign({service: 'elasticache', path: '/?Action=DescribeCacheClusters&Version=2014-07-15'}))\n/*\n\n...\n*/\n\nrequest(aws4.sign({service: 'elasticmapreduce', path: '/?Action=DescribeJobFlows&Version=2009-03-31'}))\n/*\n\n...\n*/\n\nrequest(aws4.sign({service: 'route53', path: '/2013-04-01/hostedzone'}))\n/*\n\n...\n*/\n\nrequest(aws4.sign({service: 'appstream', path: '/applications'}))\n/*\n{\"_links\":{\"curie\":[{\"href\":\"http://docs.aws.amazon.com/appstream/latest/...\n...\n*/\n\nrequest(aws4.sign({service: 'cognito-sync', path: '/identitypools'}))\n/*\n{\"Count\":0,\"IdentityPoolUsages\":[],\"MaxResults\":16,\"NextToken\":null}\n...\n*/\n\nrequest(aws4.sign({service: 'elastictranscoder', path: '/2012-09-25/pipelines'}))\n/*\n{\"NextPageToken\":null,\"Pipelines\":[]}\n...\n*/\n\nrequest(aws4.sign({service: 'lambda', path: '/2014-11-13/functions/'}))\n/*\n{\"Functions\":[],\"NextMarker\":null}\n...\n*/\n\nrequest(aws4.sign({service: 'ecs', path: '/?Action=ListClusters&Version=2014-11-13'}))\n/*\n\n...\n*/\n\nrequest(aws4.sign({service: 'glacier', path: '/-/vaults', headers: {'X-Amz-Glacier-Version': '2012-06-01'}}))\n/*\n{\"Marker\":null,\"VaultList\":[]}\n...\n*/\n\nrequest(aws4.sign({service: 'storagegateway', body: '{}', headers: {\n 'Content-Type': 'application/x-amz-json-1.1',\n 'X-Amz-Target': 'StorageGateway_20120630.ListGateways'\n}}))\n/*\n{\"Gateways\":[]}\n...\n*/\n\nrequest(aws4.sign({service: 'datapipeline', body: '{}', headers: {\n 'Content-Type': 'application/x-amz-json-1.1',\n 'X-Amz-Target': 'DataPipeline.ListPipelines'\n}}))\n/*\n{\"hasMoreResults\":false,\"pipelineIdList\":[]}\n...\n*/\n\nrequest(aws4.sign({service: 'opsworks', body: '{}', headers: {\n 'Content-Type': 'application/x-amz-json-1.1',\n 'X-Amz-Target': 'OpsWorks_20130218.DescribeStacks'\n}}))\n/*\n{\"Stacks\":[]}\n...\n*/\n\nrequest(aws4.sign({service: 'route53domains', body: '{}', headers: {\n 'Content-Type': 'application/x-amz-json-1.1',\n 'X-Amz-Target': 'Route53Domains_v20140515.ListDomains'\n}}))\n/*\n{\"Domains\":[]}\n...\n*/\n\nrequest(aws4.sign({service: 'kinesis', body: '{}', headers: {\n 'Content-Type': 'application/x-amz-json-1.1',\n 'X-Amz-Target': 'Kinesis_20131202.ListStreams'\n}}))\n/*\n{\"HasMoreStreams\":false,\"StreamNames\":[]}\n...\n*/\n\nrequest(aws4.sign({service: 'cloudtrail', body: '{}', headers: {\n 'Content-Type': 'application/x-amz-json-1.1',\n 'X-Amz-Target': 'CloudTrail_20131101.DescribeTrails'\n}}))\n/*\n{\"trailList\":[]}\n...\n*/\n\nrequest(aws4.sign({service: 'logs', body: '{}', headers: {\n 'Content-Type': 'application/x-amz-json-1.1',\n 'X-Amz-Target': 'Logs_20140328.DescribeLogGroups'\n}}))\n/*\n{\"logGroups\":[]}\n...\n*/\n\nrequest(aws4.sign({service: 'codedeploy', body: '{}', headers: {\n 'Content-Type': 'application/x-amz-json-1.1',\n 'X-Amz-Target': 'CodeDeploy_20141006.ListApplications'\n}}))\n/*\n{\"applications\":[]}\n...\n*/\n\nrequest(aws4.sign({service: 'directconnect', body: '{}', headers: {\n 'Content-Type': 'application/x-amz-json-1.1',\n 'X-Amz-Target': 'OvertureService.DescribeConnections'\n}}))\n/*\n{\"connections\":[]}\n...\n*/\n\nrequest(aws4.sign({service: 'kms', body: '{}', headers: {\n 'Content-Type': 'application/x-amz-json-1.1',\n 'X-Amz-Target': 'TrentService.ListKeys'\n}}))\n/*\n{\"Keys\":[],\"Truncated\":false}\n...\n*/\n\nrequest(aws4.sign({service: 'config', body: '{}', headers: {\n 'Content-Type': 'application/x-amz-json-1.1',\n 'X-Amz-Target': 'StarlingDoveService.DescribeDeliveryChannels'\n}}))\n/*\n{\"DeliveryChannels\":[]}\n...\n*/\n\nrequest(aws4.sign({service: 'cloudhsm', body: '{}', headers: {\n 'Content-Type': 'application/x-amz-json-1.1',\n 'X-Amz-Target': 'CloudHsmFrontendService.ListAvailableZones'\n}}))\n/*\n{\"AZList\":[\"us-east-1a\",\"us-east-1b\",\"us-east-1c\"]}\n...\n*/\n\nrequest(aws4.sign({\n service: 'swf',\n body: '{\"registrationStatus\":\"REGISTERED\"}',\n headers: {\n 'Content-Type': 'application/x-amz-json-1.0',\n 'X-Amz-Target': 'SimpleWorkflowService.ListDomains'\n }\n}))\n/*\n{\"domainInfos\":[]}\n...\n*/\n\nrequest(aws4.sign({\n service: 'cognito-identity',\n body: '{\"MaxResults\": 1}',\n headers: {\n 'Content-Type': 'application/x-amz-json-1.1',\n 'X-Amz-Target': 'AWSCognitoIdentityService.ListIdentityPools'\n }\n}))\n/*\n{\"IdentityPools\":[]}\n...\n*/\n\nrequest(aws4.sign({\n service: 'mobileanalytics',\n path: '/2014-06-05/events',\n body: JSON.stringify({events:[{\n eventType: 'a',\n timestamp: new Date().toISOString(),\n session: {},\n }]}),\n headers: {\n 'Content-Type': 'application/json',\n 'X-Amz-Client-Context': JSON.stringify({\n client: {client_id: 'a', app_title: 'a'},\n custom: {},\n env: {platform: 'a'},\n services: {},\n }),\n }\n}))\n/*\n(HTTP 202, empty response)\n*/\n\n// Generate CodeCommit Git access password\nvar signer = new aws4.RequestSigner({\n service: 'codecommit',\n host: 'git-codecommit.us-east-1.amazonaws.com',\n method: 'GIT',\n path: '/v1/repos/MyAwesomeRepo',\n})\nvar password = signer.getDateTime() + 'Z' + signer.signature()\n```\n\nAPI\n---\n\n### aws4.sign(requestOptions, [credentials])\n\nThis calculates and populates the `Authorization` header of\n`requestOptions`, and any other necessary AWS headers and/or request\noptions. Returns `requestOptions` as a convenience for chaining.\n\n`requestOptions` is an object holding the same options that the node.js\n[http.request](http://nodejs.org/docs/latest/api/http.html#http_http_request_options_callback)\nfunction takes.\n\nThe following properties of `requestOptions` are used in the signing or\npopulated if they don't already exist:\n\n- `hostname` or `host` (will be determined from `service` and `region` if not given)\n- `method` (will use `'GET'` if not given or `'POST'` if there is a `body`)\n- `path` (will use `'/'` if not given)\n- `body` (will use `''` if not given)\n- `service` (will be calculated from `hostname` or `host` if not given)\n- `region` (will be calculated from `hostname` or `host` or use `'us-east-1'` if not given)\n- `headers['Host']` (will use `hostname` or `host` or be calculated if not given)\n- `headers['Content-Type']` (will use `'application/x-www-form-urlencoded; charset=utf-8'`\n if not given and there is a `body`)\n- `headers['Date']` (used to calculate the signature date if given, otherwise `new Date` is used)\n\nYour AWS credentials (which can be found in your\n[AWS console](https://portal.aws.amazon.com/gp/aws/securityCredentials))\ncan be specified in one of two ways:\n\n- As the second argument, like this:\n\n```javascript\naws4.sign(requestOptions, {\n secretAccessKey: \"\",\n accessKeyId: \"\",\n sessionToken: \"\"\n})\n```\n\n- From `process.env`, such as this:\n\n```\nexport AWS_SECRET_ACCESS_KEY=\"\"\nexport AWS_ACCESS_KEY_ID=\"\"\nexport AWS_SESSION_TOKEN=\"\"\n```\n\n(will also use `AWS_ACCESS_KEY` and `AWS_SECRET_KEY` if available)\n\nThe `sessionToken` property and `AWS_SESSION_TOKEN` environment variable are optional for signing\nwith [IAM STS temporary credentials](http://docs.aws.amazon.com/STS/latest/UsingSTS/using-temp-creds.html).\n\nInstallation\n------------\n\nWith [npm](http://npmjs.org/) do:\n\n```\nnpm install aws4\n```\n\nCan also be used [in the browser](./browser).\n\nThanks\n------\n\nThanks to [@jed](https://github.com/jed) for his\n[dynamo-client](https://github.com/jed/dynamo-client) lib where I first\ncommitted and subsequently extracted this code.\n\nAlso thanks to the\n[official node.js AWS SDK](https://github.com/aws/aws-sdk-js) for giving\nme a start on implementing the v4 signature.\n\n", - "readmeFilename": "README.md", - "repository": { - "type": "git", - "url": "git+https://github.com/mhart/aws4.git" - }, - "scripts": { - "test": "mocha ./test/fast.js ./test/slow.js -b -t 100s -R list" - }, - "version": "1.6.0" -} diff --git a/publi/node_modules/balanced-match/.npmignore b/publi/node_modules/balanced-match/.npmignore deleted file mode 100644 index ae5d8c3..0000000 --- a/publi/node_modules/balanced-match/.npmignore +++ /dev/null @@ -1,5 +0,0 @@ -test -.gitignore -.travis.yml -Makefile -example.js diff --git a/publi/node_modules/balanced-match/LICENSE.md b/publi/node_modules/balanced-match/LICENSE.md deleted file mode 100644 index 2cdc8e4..0000000 --- a/publi/node_modules/balanced-match/LICENSE.md +++ /dev/null @@ -1,21 +0,0 @@ -(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. diff --git a/publi/node_modules/balanced-match/README.md b/publi/node_modules/balanced-match/README.md deleted file mode 100644 index 08e918c..0000000 --- a/publi/node_modules/balanced-match/README.md +++ /dev/null @@ -1,91 +0,0 @@ -# balanced-match - -Match balanced string pairs, like `{` and `}` or `` and ``. Supports regular expressions as well! - -[![build status](https://secure.travis-ci.org/juliangruber/balanced-match.svg)](http://travis-ci.org/juliangruber/balanced-match) -[![downloads](https://img.shields.io/npm/dm/balanced-match.svg)](https://www.npmjs.org/package/balanced-match) - -[![testling badge](https://ci.testling.com/juliangruber/balanced-match.png)](https://ci.testling.com/juliangruber/balanced-match) - -## Example - -Get the first matching pair of braces: - -```js -var balanced = require('balanced-match'); - -console.log(balanced('{', '}', 'pre{in{nested}}post')); -console.log(balanced('{', '}', 'pre{first}between{second}post')); -console.log(balanced(/\s+\{\s+/, /\s+\}\s+/, 'pre { in{nest} } post')); -``` - -The matches are: - -```bash -$ node example.js -{ start: 3, end: 14, pre: 'pre', body: 'in{nested}', post: 'post' } -{ start: 3, - end: 9, - pre: 'pre', - body: 'first', - post: 'between{second}post' } -{ start: 3, end: 17, pre: 'pre', body: 'in{nest}', post: 'post' } -``` - -## API - -### var m = balanced(a, b, str) - -For the first non-nested matching pair of `a` and `b` in `str`, return an -object with those keys: - -* **start** the index of the first match of `a` -* **end** the index of the matching `b` -* **pre** the preamble, `a` and `b` not included -* **body** the match, `a` and `b` not included -* **post** the postscript, `a` and `b` not included - -If there's no match, `undefined` will be returned. - -If the `str` contains more `a` than `b` / there are unmatched pairs, the first match that was closed will be used. For example, `{{a}` will match `['{', 'a', '']` and `{a}}` will match `['', 'a', '}']`. - -### var r = balanced.range(a, b, str) - -For the first non-nested matching pair of `a` and `b` in `str`, return an -array with indexes: `[ , ]`. - -If there's no match, `undefined` will be returned. - -If the `str` contains more `a` than `b` / there are unmatched pairs, the first match that was closed will be used. For example, `{{a}` will match `[ 1, 3 ]` and `{a}}` will match `[0, 2]`. - -## Installation - -With [npm](https://npmjs.org) do: - -```bash -npm install balanced-match -``` - -## License - -(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. diff --git a/publi/node_modules/balanced-match/index.js b/publi/node_modules/balanced-match/index.js deleted file mode 100644 index e8d8587..0000000 --- a/publi/node_modules/balanced-match/index.js +++ /dev/null @@ -1,58 +0,0 @@ -module.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) { - 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; -} diff --git a/publi/node_modules/balanced-match/package.json b/publi/node_modules/balanced-match/package.json deleted file mode 100644 index 0544e62..0000000 --- a/publi/node_modules/balanced-match/package.json +++ /dev/null @@ -1,110 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "balanced-match@^0.4.1", - "scope": null, - "escapedName": "balanced-match", - "name": "balanced-match", - "rawSpec": "^0.4.1", - "spec": ">=0.4.1 <0.5.0", - "type": "range" - }, - "/mnt/Data/bach/Documents/ola/OLA#3DOC/sys/node_modules/brace-expansion" - ] - ], - "_from": "balanced-match@>=0.4.1 <0.5.0", - "_id": "balanced-match@0.4.2", - "_inCache": true, - "_location": "/balanced-match", - "_nodeVersion": "4.4.7", - "_npmOperationalInternal": { - "host": "packages-16-east.internal.npmjs.com", - "tmp": "tmp/balanced-match-0.4.2.tgz_1468834991581_0.6590619895141572" - }, - "_npmUser": { - "name": "juliangruber", - "email": "julian@juliangruber.com" - }, - "_npmVersion": "2.15.8", - "_phantomChildren": {}, - "_requested": { - "raw": "balanced-match@^0.4.1", - "scope": null, - "escapedName": "balanced-match", - "name": "balanced-match", - "rawSpec": "^0.4.1", - "spec": ">=0.4.1 <0.5.0", - "type": "range" - }, - "_requiredBy": [ - "/brace-expansion" - ], - "_resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz", - "_shasum": "cb3f3e3c732dc0f01ee70b403f302e61d7709838", - "_shrinkwrap": null, - "_spec": "balanced-match@^0.4.1", - "_where": "/mnt/Data/bach/Documents/ola/OLA#3DOC/sys/node_modules/brace-expansion", - "author": { - "name": "Julian Gruber", - "email": "mail@juliangruber.com", - "url": "http://juliangruber.com" - }, - "bugs": { - "url": "https://github.com/juliangruber/balanced-match/issues" - }, - "dependencies": {}, - "description": "Match balanced character pairs, like \"{\" and \"}\"", - "devDependencies": { - "tape": "^4.6.0" - }, - "directories": {}, - "dist": { - "shasum": "cb3f3e3c732dc0f01ee70b403f302e61d7709838", - "tarball": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz" - }, - "gitHead": "57c2ea29d89a2844ae3bdcc637c6e2cbb73725e2", - "homepage": "https://github.com/juliangruber/balanced-match", - "keywords": [ - "match", - "regexp", - "test", - "balanced", - "parse" - ], - "license": "MIT", - "main": "index.js", - "maintainers": [ - { - "name": "juliangruber", - "email": "julian@juliangruber.com" - } - ], - "name": "balanced-match", - "optionalDependencies": {}, - "readme": "ERROR: No README data found!", - "repository": { - "type": "git", - "url": "git://github.com/juliangruber/balanced-match.git" - }, - "scripts": { - "test": "make test" - }, - "testling": { - "files": "test/*.js", - "browsers": [ - "ie/8..latest", - "firefox/20..latest", - "firefox/nightly", - "chrome/25..latest", - "chrome/canary", - "opera/12..latest", - "opera/next", - "safari/5.1..latest", - "ipad/6.0..latest", - "iphone/6.0..latest", - "android-browser/4.2..latest" - ] - }, - "version": "0.4.2" -} diff --git a/publi/node_modules/base/LICENSE b/publi/node_modules/base/LICENSE deleted file mode 100644 index e33d14b..0000000 --- a/publi/node_modules/base/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2015-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. diff --git a/publi/node_modules/base/README.md b/publi/node_modules/base/README.md deleted file mode 100644 index c77cdaf..0000000 --- a/publi/node_modules/base/README.md +++ /dev/null @@ -1,491 +0,0 @@ -

- - - -

- -# base [![NPM version](https://img.shields.io/npm/v/base.svg?style=flat)](https://www.npmjs.com/package/base) [![NPM monthly downloads](https://img.shields.io/npm/dm/base.svg?style=flat)](https://npmjs.org/package/base) [![NPM total downloads](https://img.shields.io/npm/dt/base.svg?style=flat)](https://npmjs.org/package/base) [![Linux Build Status](https://img.shields.io/travis/node-base/base.svg?style=flat&label=Travis)](https://travis-ci.org/node-base/base) - -> base is the foundation for creating modular, unit testable and highly pluggable node.js applications, starting with a handful of common methods, like `set`, `get`, `del` and `use`. - -## Install - -Install with [npm](https://www.npmjs.com/): - -```sh -$ npm install --save base -``` - -## What is Base? - -Base is a framework for rapidly creating high quality node.js applications, using plugins like building blocks. - -### Guiding principles - -The core team follows these principles to help guide API decisions: - -* **Compact API surface**: The smaller the API surface, the easier the library will be to learn and use. -* **Easy to extend**: Implementors can use any npm package, and write plugins in pure JavaScript. If you're building complex apps, Base simplifies inheritance. -* **Easy to test**: No special setup should be required to unit test `Base` or base plugins - -### Minimal API surface - -[The API](#api) was designed to provide only the minimum necessary functionality for creating a useful application, with or without [plugins](#plugins). - -**Base core** - -Base itself ships with only a handful of [useful methods](#api), such as: - -* `.set`: for setting values on the instance -* `.get`: for getting values from the instance -* `.has`: to check if a property exists on the instance -* `.define`: for setting non-enumerable values on the instance -* `.use`: for adding plugins - -**Be generic** - -When deciding on method to add or remove, we try to answer these questions: - -1. Will all or most Base applications need this method? -2. Will this method encourage practices or enforce conventions that are beneficial to implementors? -3. Can or should this be done in a plugin instead? - -### Composability - -**Plugin system** - -It couldn't be easier to extend Base with any features or custom functionality you can think of. - -Base plugins are just functions that take an instance of `Base`: - -```js -var base = new Base(); - -function plugin(base) { - // do plugin stuff, in pure JavaScript -} -// use the plugin -base.use(plugin); -``` - -**Inheritance** - -Easily inherit Base using `.extend`: - -```js -var Base = require('base'); - -function MyApp() { - Base.call(this); -} -Base.extend(MyApp); - -var app = new MyApp(); -app.set('a', 'b'); -app.get('a'); -//=> 'b'; -``` - -**Inherit or instantiate with a namespace** - -By default, the `.get`, `.set` and `.has` methods set and get values from the root of the `base` instance. You can customize this using the `.namespace` method exposed on the exported function. For example: - -```js -var Base = require('base'); -// get and set values on the `base.cache` object -var base = Base.namespace('cache'); - -var app = base(); -app.set('foo', 'bar'); -console.log(app.cache.foo); -//=> 'bar' -``` - -## API - -**Usage** - -```js -var Base = require('base'); -var app = new Base(); -app.set('foo', 'bar'); -console.log(app.foo); -//=> 'bar' -``` - -### [Base](index.js#L44) - -Create an instance of `Base` with the given `config` and `options`. - -**Params** - -* `config` **{Object}**: If supplied, this object is passed to [cache-base](https://github.com/jonschlinkert/cache-base) to merge onto the the instance upon instantiation. -* `options` **{Object}**: If supplied, this object is used to initialize the `base.options` object. - -**Example** - -```js -// initialize with `config` and `options` -var app = new Base({isApp: true}, {abc: true}); -app.set('foo', 'bar'); - -// values defined with the given `config` object will be on the root of the instance -console.log(app.baz); //=> undefined -console.log(app.foo); //=> 'bar' -// or use `.get` -console.log(app.get('isApp')); //=> true -console.log(app.get('foo')); //=> 'bar' - -// values defined with the given `options` object will be on `app.options -console.log(app.options.abc); //=> true -``` - -### [.is](index.js#L107) - -Set the given `name` on `app._name` and `app.is*` properties. Used for doing lookups in plugins. - -**Params** - -* `name` **{String}** -* `returns` **{Boolean}** - -**Example** - -```js -app.is('foo'); -console.log(app._name); -//=> 'foo' -console.log(app.isFoo); -//=> true -app.is('bar'); -console.log(app.isFoo); -//=> true -console.log(app.isBar); -//=> true -console.log(app._name); -//=> 'bar' -``` - -### [.isRegistered](index.js#L145) - -Returns true if a plugin has already been registered on an instance. - -Plugin implementors are encouraged to use this first thing in a plugin -to prevent the plugin from being called more than once on the same -instance. - -**Params** - -* `name` **{String}**: The plugin name. -* `register` **{Boolean}**: If the plugin if not already registered, to record it as being registered pass `true` as the second argument. -* `returns` **{Boolean}**: Returns true if a plugin is already registered. - -**Events** - -* `emits`: `plugin` Emits the name of the plugin being registered. Useful for unit tests, to ensure plugins are only registered once. - -**Example** - -```js -var base = new Base(); -base.use(function(app) { - if (app.isRegistered('myPlugin')) return; - // do stuff to `app` -}); - -// to also record the plugin as being registered -base.use(function(app) { - if (app.isRegistered('myPlugin', true)) return; - // do stuff to `app` -}); -``` - -### [.use](index.js#L175) - -Define a plugin function to be called immediately upon init. Plugins are chainable and expose the following arguments to the plugin function: - -* `app`: the current instance of `Base` -* `base`: the [first ancestor instance](#base) of `Base` - -**Params** - -* `fn` **{Function}**: plugin function to call -* `returns` **{Object}**: Returns the item instance for chaining. - -**Example** - -```js -var app = new Base() - .use(foo) - .use(bar) - .use(baz) -``` - -### [.define](index.js#L197) - -The `.define` method is used for adding non-enumerable property on the instance. Dot-notation is **not supported** with `define`. - -**Params** - -* `key` **{String}**: The name of the property to define. -* `value` **{any}** -* `returns` **{Object}**: Returns the instance for chaining. - -**Example** - -```js -// arbitrary `render` function using lodash `template` -app.define('render', function(str, locals) { - return _.template(str)(locals); -}); -``` - -### [.mixin](index.js#L222) - -Mix property `key` onto the Base prototype. If base is inherited using `Base.extend` this method will be overridden by a new `mixin` method that will only add properties to the prototype of the inheriting application. - -**Params** - -* `key` **{String}** -* `val` **{Object|Array}** -* `returns` **{Object}**: Returns the `base` instance for chaining. - -**Example** - -```js -app.mixin('foo', function() { - // do stuff -}); -``` - -### [.base](index.js#L268) - -Getter/setter used when creating nested instances of `Base`, for storing a reference to the first ancestor instance. This works by setting an instance of `Base` on the `parent` property of a "child" instance. The `base` property defaults to the current instance if no `parent` property is defined. - -**Example** - -```js -// create an instance of `Base`, this is our first ("base") instance -var first = new Base(); -first.foo = 'bar'; // arbitrary property, to make it easier to see what's happening later - -// create another instance -var second = new Base(); -// create a reference to the first instance (`first`) -second.parent = first; - -// create another instance -var third = new Base(); -// create a reference to the previous instance (`second`) -// repeat this pattern every time a "child" instance is created -third.parent = second; - -// we can always access the first instance using the `base` property -console.log(first.base.foo); -//=> 'bar' -console.log(second.base.foo); -//=> 'bar' -console.log(third.base.foo); -//=> 'bar' -// and now you know how to get to third base ;) -``` - -### [#use](index.js#L293) - -Static method for adding global plugin functions that will be added to an instance when created. - -**Params** - -* `fn` **{Function}**: Plugin function to use on each instance. -* `returns` **{Object}**: Returns the `Base` constructor for chaining - -**Example** - -```js -Base.use(function(app) { - app.foo = 'bar'; -}); -var app = new Base(); -console.log(app.foo); -//=> 'bar' -``` - -### [#extend](index.js#L337) - -Static method for inheriting the prototype and static methods of the `Base` class. This method greatly simplifies the process of creating inheritance-based applications. See [static-extend](https://github.com/jonschlinkert/static-extend) for more details. - -**Params** - -* `Ctor` **{Function}**: constructor to extend -* `methods` **{Object}**: Optional prototype properties to mix in. -* `returns` **{Object}**: Returns the `Base` constructor for chaining - -**Example** - -```js -var extend = cu.extend(Parent); -Parent.extend(Child); - -// optional methods -Parent.extend(Child, { - foo: function() {}, - bar: function() {} -}); -``` - -### [#mixin](index.js#L379) - -Used for adding methods to the `Base` prototype, and/or to the prototype of child instances. When a mixin function returns a function, the returned function is pushed onto the `.mixins` array, making it available to be used on inheriting classes whenever `Base.mixins()` is called (e.g. `Base.mixins(Child)`). - -**Params** - -* `fn` **{Function}**: Function to call -* `returns` **{Object}**: Returns the `Base` constructor for chaining - -**Example** - -```js -Base.mixin(function(proto) { - proto.foo = function(msg) { - return 'foo ' + msg; - }; -}); -``` - -### [#mixins](index.js#L401) - -Static method for running global mixin functions against a child constructor. Mixins must be registered before calling this method. - -**Params** - -* `Child` **{Function}**: Constructor function of a child class -* `returns` **{Object}**: Returns the `Base` constructor for chaining - -**Example** - -```js -Base.extend(Child); -Base.mixins(Child); -``` - -### [#inherit](index.js#L420) - -Similar to `util.inherit`, but copies all static properties, prototype properties, and getters/setters from `Provider` to `Receiver`. See [class-utils](https://github.com/jonschlinkert/class-utils#inherit) for more details. - -**Params** - -* `Receiver` **{Function}**: Receiving (child) constructor -* `Provider` **{Function}**: Providing (parent) constructor -* `returns` **{Object}**: Returns the `Base` constructor for chaining - -**Example** - -```js -Base.inherit(Foo, Bar); -``` - -## In the wild - -The following node.js applications were built with `Base`: - -* [assemble](https://github.com/assemble/assemble) -* [verb](https://github.com/verbose/verb) -* [generate](https://github.com/generate/generate) -* [scaffold](https://github.com/jonschlinkert/scaffold) -* [boilerplate](https://github.com/jonschlinkert/boilerplate) - -## Test coverage - -``` -Statements : 98.91% ( 91/92 ) -Branches : 92.86% ( 26/28 ) -Functions : 100% ( 17/17 ) -Lines : 98.9% ( 90/91 ) -``` - -## History - -### v0.11.2 - -* fixes https://github.com/micromatch/micromatch/issues/99 - -### v0.11.0 - -**Breaking changes** - -* Static `.use` and `.run` methods are now non-enumerable - -### v0.9.0 - -**Breaking changes** - -* `.is` no longer takes a function, a string must be passed -* all remaining `.debug` code has been removed -* `app._namespace` was removed (related to `debug`) -* `.plugin`, `.use`, and `.define` no longer emit events -* `.assertPlugin` was removed -* `.lazy` was removed - -## About - -### Related projects - -* [base-cwd](https://www.npmjs.com/package/base-cwd): Base plugin that adds a getter/setter for the current working directory. | [homepage](https://github.com/node-base/base-cwd "Base plugin that adds a getter/setter for the current working directory.") -* [base-data](https://www.npmjs.com/package/base-data): adds a `data` method to base-methods. | [homepage](https://github.com/node-base/base-data "adds a `data` method to base-methods.") -* [base-fs](https://www.npmjs.com/package/base-fs): base-methods plugin that adds vinyl-fs methods to your 'base' application for working with the file… [more](https://github.com/node-base/base-fs) | [homepage](https://github.com/node-base/base-fs "base-methods plugin that adds vinyl-fs methods to your 'base' application for working with the file system, like src, dest, copy and symlink.") -* [base-generators](https://www.npmjs.com/package/base-generators): Adds project-generator support to your `base` application. | [homepage](https://github.com/node-base/base-generators "Adds project-generator support to your `base` application.") -* [base-option](https://www.npmjs.com/package/base-option): Adds a few options methods to base, like `option`, `enable` and `disable`. See the readme… [more](https://github.com/node-base/base-option) | [homepage](https://github.com/node-base/base-option "Adds a few options methods to base, like `option`, `enable` and `disable`. See the readme for the full API.") -* [base-pipeline](https://www.npmjs.com/package/base-pipeline): base-methods plugin that adds pipeline and plugin methods for dynamically composing streaming plugin pipelines. | [homepage](https://github.com/node-base/base-pipeline "base-methods plugin that adds pipeline and plugin methods for dynamically composing streaming plugin pipelines.") -* [base-pkg](https://www.npmjs.com/package/base-pkg): Plugin for adding a `pkg` method that exposes pkg-store to your base application. | [homepage](https://github.com/node-base/base-pkg "Plugin for adding a `pkg` method that exposes pkg-store to your base application.") -* [base-plugins](https://www.npmjs.com/package/base-plugins): Adds 'smart plugin' support to your base application. | [homepage](https://github.com/node-base/base-plugins "Adds 'smart plugin' support to your base application.") -* [base-questions](https://www.npmjs.com/package/base-questions): Plugin for base-methods that adds methods for prompting the user and storing the answers on… [more](https://github.com/node-base/base-questions) | [homepage](https://github.com/node-base/base-questions "Plugin for base-methods that adds methods for prompting the user and storing the answers on a project-by-project basis.") -* [base-store](https://www.npmjs.com/package/base-store): Plugin for getting and persisting config values with your base-methods application. Adds a 'store' object… [more](https://github.com/node-base/base-store) | [homepage](https://github.com/node-base/base-store "Plugin for getting and persisting config values with your base-methods application. Adds a 'store' object that exposes all of the methods from the data-store library. Also now supports sub-stores!") -* [base-task](https://www.npmjs.com/package/base-task): base plugin that provides a very thin wrapper around [https://github.com/doowb/composer](https://github.com/doowb/composer) for adding task methods to… [more](https://github.com/node-base/base-task) | [homepage](https://github.com/node-base/base-task "base plugin that provides a very thin wrapper around for adding task methods to your application.") - -### Contributing - -Pull requests and stars are always welcome. For bugs and feature requests, [please create an issue](../../issues/new). - -### Contributors - -| **Commits** | **Contributor** | -| --- | --- | -| 141 | [jonschlinkert](https://github.com/jonschlinkert) | -| 30 | [doowb](https://github.com/doowb) | -| 3 | [charlike](https://github.com/charlike) | -| 1 | [criticalmash](https://github.com/criticalmash) | -| 1 | [wtgtybhertgeghgtwtg](https://github.com/wtgtybhertgeghgtwtg) | - -### Building docs - -_(This project's readme.md is generated by [verb](https://github.com/verbose/verb-generate-readme), please don't edit the readme directly. Any changes to the readme must be made in the [.verb.md](.verb.md) readme template.)_ - -To generate the readme, run the following command: - -```sh -$ npm install -g verbose/verb#dev verb-generate-readme && verb -``` - -### Running tests - -Running and reviewing unit tests is a great way to get familiarized with a library and its API. You can install dependencies and run tests with the following command: - -```sh -$ npm install && npm test -``` - -### Author - -**Jon Schlinkert** - -* [github/jonschlinkert](https://github.com/jonschlinkert) -* [twitter/jonschlinkert](https://twitter.com/jonschlinkert) - -### License - -Copyright © 2017, [Jon Schlinkert](https://github.com/jonschlinkert). -Released under the [MIT License](LICENSE). - -*** - -_This file was generated by [verb-generate-readme](https://github.com/verbose/verb-generate-readme), v0.6.0, on September 07, 2017._ \ No newline at end of file diff --git a/publi/node_modules/base/index.js b/publi/node_modules/base/index.js deleted file mode 100644 index fb68048..0000000 --- a/publi/node_modules/base/index.js +++ /dev/null @@ -1,435 +0,0 @@ -'use strict'; - -var util = require('util'); -var define = require('define-property'); -var CacheBase = require('cache-base'); -var Emitter = require('component-emitter'); -var isObject = require('isobject'); -var merge = require('mixin-deep'); -var pascal = require('pascalcase'); -var cu = require('class-utils'); - -/** - * Optionally define a custom `cache` namespace to use. - */ - -function namespace(name) { - var Cache = name ? CacheBase.namespace(name) : CacheBase; - var fns = []; - - /** - * Create an instance of `Base` with the given `config` and `options`. - * - * ```js - * // initialize with `config` and `options` - * var app = new Base({isApp: true}, {abc: true}); - * app.set('foo', 'bar'); - * - * // values defined with the given `config` object will be on the root of the instance - * console.log(app.baz); //=> undefined - * console.log(app.foo); //=> 'bar' - * // or use `.get` - * console.log(app.get('isApp')); //=> true - * console.log(app.get('foo')); //=> 'bar' - * - * // values defined with the given `options` object will be on `app.options - * console.log(app.options.abc); //=> true - * ``` - * - * @param {Object} `config` If supplied, this object is passed to [cache-base][] to merge onto the the instance upon instantiation. - * @param {Object} `options` If supplied, this object is used to initialize the `base.options` object. - * @api public - */ - - function Base(config, options) { - if (!(this instanceof Base)) { - return new Base(config, options); - } - Cache.call(this, config); - this.is('base'); - this.initBase(config, options); - } - - /** - * Inherit cache-base - */ - - util.inherits(Base, Cache); - - /** - * Add static emitter methods - */ - - Emitter(Base); - - /** - * Initialize `Base` defaults with the given `config` object - */ - - Base.prototype.initBase = function(config, options) { - this.options = merge({}, this.options, options); - this.cache = this.cache || {}; - this.define('registered', {}); - if (name) this[name] = {}; - - // make `app._callbacks` non-enumerable - this.define('_callbacks', this._callbacks); - if (isObject(config)) { - this.visit('set', config); - } - Base.run(this, 'use', fns); - }; - - /** - * Set the given `name` on `app._name` and `app.is*` properties. Used for doing - * lookups in plugins. - * - * ```js - * app.is('foo'); - * console.log(app._name); - * //=> 'foo' - * console.log(app.isFoo); - * //=> true - * app.is('bar'); - * console.log(app.isFoo); - * //=> true - * console.log(app.isBar); - * //=> true - * console.log(app._name); - * //=> 'bar' - * ``` - * @name .is - * @param {String} `name` - * @return {Boolean} - * @api public - */ - - Base.prototype.is = function(name) { - if (typeof name !== 'string') { - throw new TypeError('expected name to be a string'); - } - this.define('is' + pascal(name), true); - this.define('_name', name); - this.define('_appname', name); - return this; - }; - - /** - * Returns true if a plugin has already been registered on an instance. - * - * Plugin implementors are encouraged to use this first thing in a plugin - * to prevent the plugin from being called more than once on the same - * instance. - * - * ```js - * var base = new Base(); - * base.use(function(app) { - * if (app.isRegistered('myPlugin')) return; - * // do stuff to `app` - * }); - * - * // to also record the plugin as being registered - * base.use(function(app) { - * if (app.isRegistered('myPlugin', true)) return; - * // do stuff to `app` - * }); - * ``` - * @name .isRegistered - * @emits `plugin` Emits the name of the plugin being registered. Useful for unit tests, to ensure plugins are only registered once. - * @param {String} `name` The plugin name. - * @param {Boolean} `register` If the plugin if not already registered, to record it as being registered pass `true` as the second argument. - * @return {Boolean} Returns true if a plugin is already registered. - * @api public - */ - - Base.prototype.isRegistered = function(name, register) { - if (this.registered.hasOwnProperty(name)) { - return true; - } - if (register !== false) { - this.registered[name] = true; - this.emit('plugin', name); - } - return false; - }; - - /** - * Define a plugin function to be called immediately upon init. Plugins are chainable - * and expose the following arguments to the plugin function: - * - * - `app`: the current instance of `Base` - * - `base`: the [first ancestor instance](#base) of `Base` - * - * ```js - * var app = new Base() - * .use(foo) - * .use(bar) - * .use(baz) - * ``` - * @name .use - * @param {Function} `fn` plugin function to call - * @return {Object} Returns the item instance for chaining. - * @api public - */ - - Base.prototype.use = function(fn) { - fn.call(this, this); - return this; - }; - - /** - * The `.define` method is used for adding non-enumerable property on the instance. - * Dot-notation is **not supported** with `define`. - * - * ```js - * // arbitrary `render` function using lodash `template` - * app.define('render', function(str, locals) { - * return _.template(str)(locals); - * }); - * ``` - * @name .define - * @param {String} `key` The name of the property to define. - * @param {any} `value` - * @return {Object} Returns the instance for chaining. - * @api public - */ - - Base.prototype.define = function(key, val) { - if (isObject(key)) { - return this.visit('define', key); - } - define(this, key, val); - return this; - }; - - /** - * Mix property `key` onto the Base prototype. If base is inherited using - * `Base.extend` this method will be overridden by a new `mixin` method that will - * only add properties to the prototype of the inheriting application. - * - * ```js - * app.mixin('foo', function() { - * // do stuff - * }); - * ``` - * @name .mixin - * @param {String} `key` - * @param {Object|Array} `val` - * @return {Object} Returns the `base` instance for chaining. - * @api public - */ - - Base.prototype.mixin = function(key, val) { - Base.prototype[key] = val; - return this; - }; - - /** - * Non-enumberable mixin array, used by the static [Base.mixin]() method. - */ - - Base.prototype.mixins = Base.prototype.mixins || []; - - /** - * Getter/setter used when creating nested instances of `Base`, for storing a reference - * to the first ancestor instance. This works by setting an instance of `Base` on the `parent` - * property of a "child" instance. The `base` property defaults to the current instance if - * no `parent` property is defined. - * - * ```js - * // create an instance of `Base`, this is our first ("base") instance - * var first = new Base(); - * first.foo = 'bar'; // arbitrary property, to make it easier to see what's happening later - * - * // create another instance - * var second = new Base(); - * // create a reference to the first instance (`first`) - * second.parent = first; - * - * // create another instance - * var third = new Base(); - * // create a reference to the previous instance (`second`) - * // repeat this pattern every time a "child" instance is created - * third.parent = second; - * - * // we can always access the first instance using the `base` property - * console.log(first.base.foo); - * //=> 'bar' - * console.log(second.base.foo); - * //=> 'bar' - * console.log(third.base.foo); - * //=> 'bar' - * // and now you know how to get to third base ;) - * ``` - * @name .base - * @api public - */ - - Object.defineProperty(Base.prototype, 'base', { - configurable: true, - get: function() { - return this.parent ? this.parent.base : this; - } - }); - - /** - * Static method for adding global plugin functions that will - * be added to an instance when created. - * - * ```js - * Base.use(function(app) { - * app.foo = 'bar'; - * }); - * var app = new Base(); - * console.log(app.foo); - * //=> 'bar' - * ``` - * @name #use - * @param {Function} `fn` Plugin function to use on each instance. - * @return {Object} Returns the `Base` constructor for chaining - * @api public - */ - - define(Base, 'use', function(fn) { - fns.push(fn); - return Base; - }); - - /** - * Run an array of functions by passing each function - * to a method on the given object specified by the given property. - * - * @param {Object} `obj` Object containing method to use. - * @param {String} `prop` Name of the method on the object to use. - * @param {Array} `arr` Array of functions to pass to the method. - */ - - define(Base, 'run', function(obj, prop, arr) { - var len = arr.length, i = 0; - while (len--) { - obj[prop](arr[i++]); - } - return Base; - }); - - /** - * Static method for inheriting the prototype and static methods of the `Base` class. - * This method greatly simplifies the process of creating inheritance-based applications. - * See [static-extend][] for more details. - * - * ```js - * var extend = cu.extend(Parent); - * Parent.extend(Child); - * - * // optional methods - * Parent.extend(Child, { - * foo: function() {}, - * bar: function() {} - * }); - * ``` - * @name #extend - * @param {Function} `Ctor` constructor to extend - * @param {Object} `methods` Optional prototype properties to mix in. - * @return {Object} Returns the `Base` constructor for chaining - * @api public - */ - - define(Base, 'extend', cu.extend(Base, function(Ctor, Parent) { - Ctor.prototype.mixins = Ctor.prototype.mixins || []; - - define(Ctor, 'mixin', function(fn) { - var mixin = fn(Ctor.prototype, Ctor); - if (typeof mixin === 'function') { - Ctor.prototype.mixins.push(mixin); - } - return Ctor; - }); - - define(Ctor, 'mixins', function(Child) { - Base.run(Child, 'mixin', Ctor.prototype.mixins); - return Ctor; - }); - - Ctor.prototype.mixin = function(key, value) { - Ctor.prototype[key] = value; - return this; - }; - return Base; - })); - - /** - * Used for adding methods to the `Base` prototype, and/or to the prototype of child instances. - * When a mixin function returns a function, the returned function is pushed onto the `.mixins` - * array, making it available to be used on inheriting classes whenever `Base.mixins()` is - * called (e.g. `Base.mixins(Child)`). - * - * ```js - * Base.mixin(function(proto) { - * proto.foo = function(msg) { - * return 'foo ' + msg; - * }; - * }); - * ``` - * @name #mixin - * @param {Function} `fn` Function to call - * @return {Object} Returns the `Base` constructor for chaining - * @api public - */ - - define(Base, 'mixin', function(fn) { - var mixin = fn(Base.prototype, Base); - if (typeof mixin === 'function') { - Base.prototype.mixins.push(mixin); - } - return Base; - }); - - /** - * Static method for running global mixin functions against a child constructor. - * Mixins must be registered before calling this method. - * - * ```js - * Base.extend(Child); - * Base.mixins(Child); - * ``` - * @name #mixins - * @param {Function} `Child` Constructor function of a child class - * @return {Object} Returns the `Base` constructor for chaining - * @api public - */ - - define(Base, 'mixins', function(Child) { - Base.run(Child, 'mixin', Base.prototype.mixins); - return Base; - }); - - /** - * Similar to `util.inherit`, but copies all static properties, prototype properties, and - * getters/setters from `Provider` to `Receiver`. See [class-utils][]{#inherit} for more details. - * - * ```js - * Base.inherit(Foo, Bar); - * ``` - * @name #inherit - * @param {Function} `Receiver` Receiving (child) constructor - * @param {Function} `Provider` Providing (parent) constructor - * @return {Object} Returns the `Base` constructor for chaining - * @api public - */ - - define(Base, 'inherit', cu.inherit); - define(Base, 'bubble', cu.bubble); - return Base; -} - -/** - * Expose `Base` with default settings - */ - -module.exports = namespace(); - -/** - * Allow users to define a namespace - */ - -module.exports.namespace = namespace; diff --git a/publi/node_modules/base/package.json b/publi/node_modules/base/package.json deleted file mode 100644 index 2167682..0000000 --- a/publi/node_modules/base/package.json +++ /dev/null @@ -1,162 +0,0 @@ -{ - "_from": "base@^0.11.1", - "_id": "base@0.11.2", - "_inBundle": false, - "_integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", - "_location": "/base", - "_phantomChildren": {}, - "_requested": { - "type": "range", - "registry": true, - "raw": "base@^0.11.1", - "name": "base", - "escapedName": "base", - "rawSpec": "^0.11.1", - "saveSpec": null, - "fetchSpec": "^0.11.1" - }, - "_requiredBy": [ - "/snapdragon" - ], - "_resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", - "_shasum": "7bde5ced145b6d551a90db87f83c558b4eb48a8f", - "_spec": "base@^0.11.1", - "_where": "/mnt/Data/bach/Documents/ola/OLA#5/ola5doc/publi/node_modules/snapdragon", - "author": { - "name": "Jon Schlinkert", - "url": "https://github.com/jonschlinkert" - }, - "bugs": { - "url": "https://github.com/node-base/base/issues" - }, - "bundleDependencies": false, - "contributors": [ - { - "name": "Brian Woodward", - "url": "https://twitter.com/doowb" - }, - { - "name": "John O'Donnell", - "url": "https://github.com/criticalmash" - }, - { - "name": "Jon Schlinkert", - "url": "http://twitter.com/jonschlinkert" - }, - { - "name": "tunnckoCore", - "url": "https://i.am.charlike.online" - }, - { - "url": "https://github.com/wtgtybhertgeghgtwtg" - } - ], - "dependencies": { - "cache-base": "^1.0.1", - "class-utils": "^0.3.5", - "component-emitter": "^1.2.1", - "define-property": "^1.0.0", - "isobject": "^3.0.1", - "mixin-deep": "^1.2.0", - "pascalcase": "^0.1.1" - }, - "deprecated": false, - "description": "base is the foundation for creating modular, unit testable and highly pluggable node.js applications, starting with a handful of common methods, like `set`, `get`, `del` and `use`.", - "devDependencies": { - "gulp": "^3.9.1", - "gulp-eslint": "^4.0.0", - "gulp-format-md": "^1.0.0", - "gulp-istanbul": "^1.1.2", - "gulp-mocha": "^3.0.1", - "helper-coverage": "^0.1.3", - "mocha": "^3.5.0", - "should": "^13.0.1", - "through2": "^2.0.3", - "verb-generate-readme": "^0.6.0" - }, - "engines": { - "node": ">=0.10.0" - }, - "files": [ - "index.js" - ], - "homepage": "https://github.com/node-base/base", - "keywords": [ - "base", - "boilerplate", - "cache", - "del", - "get", - "inherit", - "methods", - "set", - "starter", - "unset", - "visit" - ], - "license": "MIT", - "main": "index.js", - "maintainers": [ - { - "name": "Brian Woodward", - "url": "https://github.com/doowb" - }, - { - "name": "Jon Schlinkert", - "url": "https://github.com/jonschlinkert" - } - ], - "name": "base", - "repository": { - "type": "git", - "url": "git+https://github.com/node-base/base.git" - }, - "scripts": { - "test": "mocha" - }, - "verb": { - "run": true, - "toc": false, - "layout": "default", - "tasks": [ - "readme" - ], - "plugins": [ - "gulp-format-md" - ], - "helpers": [ - "helper-coverage" - ], - "related": { - "description": "There are a number of different plugins available for extending base. Let us know if you create your own!", - "hightlight": "generate", - "list": [ - "base-cwd", - "base-data", - "base-fs", - "base-generators", - "base-option", - "base-pipeline", - "base-pkg", - "base-plugins", - "base-questions", - "base-store", - "base-task" - ] - }, - "reflinks": [ - "assemble", - "boilerplate", - "cache-base", - "class-utils", - "generate", - "scaffold", - "static-extend", - "verb" - ], - "lint": { - "reflinks": true - } - }, - "version": "0.11.2" -} diff --git a/publi/node_modules/bcrypt-pbkdf/README.md b/publi/node_modules/bcrypt-pbkdf/README.md deleted file mode 100644 index 1201809..0000000 --- a/publi/node_modules/bcrypt-pbkdf/README.md +++ /dev/null @@ -1,39 +0,0 @@ -Port of the OpenBSD `bcrypt_pbkdf` function to pure Javascript. `npm`-ified -version of [Devi Mandiri's port] -(https://github.com/devi/tmp/blob/master/js/bcrypt_pbkdf.js), -with some minor performance improvements. The code is copied verbatim (and -un-styled) from Devi's work. - -This product includes software developed by Niels Provos. - -## API - -### `bcrypt_pbkdf.pbkdf(pass, passlen, salt, saltlen, key, keylen, rounds)` - -Derive a cryptographic key of arbitrary length from a given password and salt, -using the OpenBSD `bcrypt_pbkdf` function. This is a combination of Blowfish and -SHA-512. - -See [this article](http://www.tedunangst.com/flak/post/bcrypt-pbkdf) for -further information. - -Parameters: - - * `pass`, a Uint8Array of length `passlen` - * `passlen`, an integer Number - * `salt`, a Uint8Array of length `saltlen` - * `saltlen`, an integer Number - * `key`, a Uint8Array of length `keylen`, will be filled with output - * `keylen`, an integer Number - * `rounds`, an integer Number, number of rounds of the PBKDF to run - -### `bcrypt_pbkdf.hash(sha2pass, sha2salt, out)` - -Calculate a Blowfish hash, given SHA2-512 output of a password and salt. Used as -part of the inner round function in the PBKDF. - -Parameters: - - * `sha2pass`, a Uint8Array of length 64 - * `sha2salt`, a Uint8Array of length 64 - * `out`, a Uint8Array of length 32, will be filled with output diff --git a/publi/node_modules/bcrypt-pbkdf/index.js b/publi/node_modules/bcrypt-pbkdf/index.js deleted file mode 100644 index b1b5ad4..0000000 --- a/publi/node_modules/bcrypt-pbkdf/index.js +++ /dev/null @@ -1,556 +0,0 @@ -'use strict'; - -var crypto_hash_sha512 = require('tweetnacl').lowlevel.crypto_hash; - -/* - * This file is a 1:1 port from the OpenBSD blowfish.c and bcrypt_pbkdf.c. As a - * result, it retains the original copyright and license. The two files are - * under slightly different (but compatible) licenses, and are here combined in - * one file. - * - * Credit for the actual porting work goes to: - * Devi Mandiri - */ - -/* - * The Blowfish portions are under the following license: - * - * Blowfish block cipher for OpenBSD - * Copyright 1997 Niels Provos - * All rights reserved. - * - * Implementation advice by David Mazieres . - * - * 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. - * 3. The name of the author may not be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 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. - */ - -/* - * The bcrypt_pbkdf portions are under the following license: - * - * Copyright (c) 2013 Ted Unangst - * - * Permission to use, copy, modify, and 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. - */ - -/* - * Performance improvements (Javascript-specific): - * - * Copyright 2016, Joyent Inc - * Author: Alex Wilson - * - * Permission to use, copy, modify, and 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. - */ - -// Ported from OpenBSD bcrypt_pbkdf.c v1.9 - -var BLF_J = 0; - -var Blowfish = function() { - this.S = [ - new Uint32Array([ - 0xd1310ba6, 0x98dfb5ac, 0x2ffd72db, 0xd01adfb7, - 0xb8e1afed, 0x6a267e96, 0xba7c9045, 0xf12c7f99, - 0x24a19947, 0xb3916cf7, 0x0801f2e2, 0x858efc16, - 0x636920d8, 0x71574e69, 0xa458fea3, 0xf4933d7e, - 0x0d95748f, 0x728eb658, 0x718bcd58, 0x82154aee, - 0x7b54a41d, 0xc25a59b5, 0x9c30d539, 0x2af26013, - 0xc5d1b023, 0x286085f0, 0xca417918, 0xb8db38ef, - 0x8e79dcb0, 0x603a180e, 0x6c9e0e8b, 0xb01e8a3e, - 0xd71577c1, 0xbd314b27, 0x78af2fda, 0x55605c60, - 0xe65525f3, 0xaa55ab94, 0x57489862, 0x63e81440, - 0x55ca396a, 0x2aab10b6, 0xb4cc5c34, 0x1141e8ce, - 0xa15486af, 0x7c72e993, 0xb3ee1411, 0x636fbc2a, - 0x2ba9c55d, 0x741831f6, 0xce5c3e16, 0x9b87931e, - 0xafd6ba33, 0x6c24cf5c, 0x7a325381, 0x28958677, - 0x3b8f4898, 0x6b4bb9af, 0xc4bfe81b, 0x66282193, - 0x61d809cc, 0xfb21a991, 0x487cac60, 0x5dec8032, - 0xef845d5d, 0xe98575b1, 0xdc262302, 0xeb651b88, - 0x23893e81, 0xd396acc5, 0x0f6d6ff3, 0x83f44239, - 0x2e0b4482, 0xa4842004, 0x69c8f04a, 0x9e1f9b5e, - 0x21c66842, 0xf6e96c9a, 0x670c9c61, 0xabd388f0, - 0x6a51a0d2, 0xd8542f68, 0x960fa728, 0xab5133a3, - 0x6eef0b6c, 0x137a3be4, 0xba3bf050, 0x7efb2a98, - 0xa1f1651d, 0x39af0176, 0x66ca593e, 0x82430e88, - 0x8cee8619, 0x456f9fb4, 0x7d84a5c3, 0x3b8b5ebe, - 0xe06f75d8, 0x85c12073, 0x401a449f, 0x56c16aa6, - 0x4ed3aa62, 0x363f7706, 0x1bfedf72, 0x429b023d, - 0x37d0d724, 0xd00a1248, 0xdb0fead3, 0x49f1c09b, - 0x075372c9, 0x80991b7b, 0x25d479d8, 0xf6e8def7, - 0xe3fe501a, 0xb6794c3b, 0x976ce0bd, 0x04c006ba, - 0xc1a94fb6, 0x409f60c4, 0x5e5c9ec2, 0x196a2463, - 0x68fb6faf, 0x3e6c53b5, 0x1339b2eb, 0x3b52ec6f, - 0x6dfc511f, 0x9b30952c, 0xcc814544, 0xaf5ebd09, - 0xbee3d004, 0xde334afd, 0x660f2807, 0x192e4bb3, - 0xc0cba857, 0x45c8740f, 0xd20b5f39, 0xb9d3fbdb, - 0x5579c0bd, 0x1a60320a, 0xd6a100c6, 0x402c7279, - 0x679f25fe, 0xfb1fa3cc, 0x8ea5e9f8, 0xdb3222f8, - 0x3c7516df, 0xfd616b15, 0x2f501ec8, 0xad0552ab, - 0x323db5fa, 0xfd238760, 0x53317b48, 0x3e00df82, - 0x9e5c57bb, 0xca6f8ca0, 0x1a87562e, 0xdf1769db, - 0xd542a8f6, 0x287effc3, 0xac6732c6, 0x8c4f5573, - 0x695b27b0, 0xbbca58c8, 0xe1ffa35d, 0xb8f011a0, - 0x10fa3d98, 0xfd2183b8, 0x4afcb56c, 0x2dd1d35b, - 0x9a53e479, 0xb6f84565, 0xd28e49bc, 0x4bfb9790, - 0xe1ddf2da, 0xa4cb7e33, 0x62fb1341, 0xcee4c6e8, - 0xef20cada, 0x36774c01, 0xd07e9efe, 0x2bf11fb4, - 0x95dbda4d, 0xae909198, 0xeaad8e71, 0x6b93d5a0, - 0xd08ed1d0, 0xafc725e0, 0x8e3c5b2f, 0x8e7594b7, - 0x8ff6e2fb, 0xf2122b64, 0x8888b812, 0x900df01c, - 0x4fad5ea0, 0x688fc31c, 0xd1cff191, 0xb3a8c1ad, - 0x2f2f2218, 0xbe0e1777, 0xea752dfe, 0x8b021fa1, - 0xe5a0cc0f, 0xb56f74e8, 0x18acf3d6, 0xce89e299, - 0xb4a84fe0, 0xfd13e0b7, 0x7cc43b81, 0xd2ada8d9, - 0x165fa266, 0x80957705, 0x93cc7314, 0x211a1477, - 0xe6ad2065, 0x77b5fa86, 0xc75442f5, 0xfb9d35cf, - 0xebcdaf0c, 0x7b3e89a0, 0xd6411bd3, 0xae1e7e49, - 0x00250e2d, 0x2071b35e, 0x226800bb, 0x57b8e0af, - 0x2464369b, 0xf009b91e, 0x5563911d, 0x59dfa6aa, - 0x78c14389, 0xd95a537f, 0x207d5ba2, 0x02e5b9c5, - 0x83260376, 0x6295cfa9, 0x11c81968, 0x4e734a41, - 0xb3472dca, 0x7b14a94a, 0x1b510052, 0x9a532915, - 0xd60f573f, 0xbc9bc6e4, 0x2b60a476, 0x81e67400, - 0x08ba6fb5, 0x571be91f, 0xf296ec6b, 0x2a0dd915, - 0xb6636521, 0xe7b9f9b6, 0xff34052e, 0xc5855664, - 0x53b02d5d, 0xa99f8fa1, 0x08ba4799, 0x6e85076a]), - new Uint32Array([ - 0x4b7a70e9, 0xb5b32944, 0xdb75092e, 0xc4192623, - 0xad6ea6b0, 0x49a7df7d, 0x9cee60b8, 0x8fedb266, - 0xecaa8c71, 0x699a17ff, 0x5664526c, 0xc2b19ee1, - 0x193602a5, 0x75094c29, 0xa0591340, 0xe4183a3e, - 0x3f54989a, 0x5b429d65, 0x6b8fe4d6, 0x99f73fd6, - 0xa1d29c07, 0xefe830f5, 0x4d2d38e6, 0xf0255dc1, - 0x4cdd2086, 0x8470eb26, 0x6382e9c6, 0x021ecc5e, - 0x09686b3f, 0x3ebaefc9, 0x3c971814, 0x6b6a70a1, - 0x687f3584, 0x52a0e286, 0xb79c5305, 0xaa500737, - 0x3e07841c, 0x7fdeae5c, 0x8e7d44ec, 0x5716f2b8, - 0xb03ada37, 0xf0500c0d, 0xf01c1f04, 0x0200b3ff, - 0xae0cf51a, 0x3cb574b2, 0x25837a58, 0xdc0921bd, - 0xd19113f9, 0x7ca92ff6, 0x94324773, 0x22f54701, - 0x3ae5e581, 0x37c2dadc, 0xc8b57634, 0x9af3dda7, - 0xa9446146, 0x0fd0030e, 0xecc8c73e, 0xa4751e41, - 0xe238cd99, 0x3bea0e2f, 0x3280bba1, 0x183eb331, - 0x4e548b38, 0x4f6db908, 0x6f420d03, 0xf60a04bf, - 0x2cb81290, 0x24977c79, 0x5679b072, 0xbcaf89af, - 0xde9a771f, 0xd9930810, 0xb38bae12, 0xdccf3f2e, - 0x5512721f, 0x2e6b7124, 0x501adde6, 0x9f84cd87, - 0x7a584718, 0x7408da17, 0xbc9f9abc, 0xe94b7d8c, - 0xec7aec3a, 0xdb851dfa, 0x63094366, 0xc464c3d2, - 0xef1c1847, 0x3215d908, 0xdd433b37, 0x24c2ba16, - 0x12a14d43, 0x2a65c451, 0x50940002, 0x133ae4dd, - 0x71dff89e, 0x10314e55, 0x81ac77d6, 0x5f11199b, - 0x043556f1, 0xd7a3c76b, 0x3c11183b, 0x5924a509, - 0xf28fe6ed, 0x97f1fbfa, 0x9ebabf2c, 0x1e153c6e, - 0x86e34570, 0xeae96fb1, 0x860e5e0a, 0x5a3e2ab3, - 0x771fe71c, 0x4e3d06fa, 0x2965dcb9, 0x99e71d0f, - 0x803e89d6, 0x5266c825, 0x2e4cc978, 0x9c10b36a, - 0xc6150eba, 0x94e2ea78, 0xa5fc3c53, 0x1e0a2df4, - 0xf2f74ea7, 0x361d2b3d, 0x1939260f, 0x19c27960, - 0x5223a708, 0xf71312b6, 0xebadfe6e, 0xeac31f66, - 0xe3bc4595, 0xa67bc883, 0xb17f37d1, 0x018cff28, - 0xc332ddef, 0xbe6c5aa5, 0x65582185, 0x68ab9802, - 0xeecea50f, 0xdb2f953b, 0x2aef7dad, 0x5b6e2f84, - 0x1521b628, 0x29076170, 0xecdd4775, 0x619f1510, - 0x13cca830, 0xeb61bd96, 0x0334fe1e, 0xaa0363cf, - 0xb5735c90, 0x4c70a239, 0xd59e9e0b, 0xcbaade14, - 0xeecc86bc, 0x60622ca7, 0x9cab5cab, 0xb2f3846e, - 0x648b1eaf, 0x19bdf0ca, 0xa02369b9, 0x655abb50, - 0x40685a32, 0x3c2ab4b3, 0x319ee9d5, 0xc021b8f7, - 0x9b540b19, 0x875fa099, 0x95f7997e, 0x623d7da8, - 0xf837889a, 0x97e32d77, 0x11ed935f, 0x16681281, - 0x0e358829, 0xc7e61fd6, 0x96dedfa1, 0x7858ba99, - 0x57f584a5, 0x1b227263, 0x9b83c3ff, 0x1ac24696, - 0xcdb30aeb, 0x532e3054, 0x8fd948e4, 0x6dbc3128, - 0x58ebf2ef, 0x34c6ffea, 0xfe28ed61, 0xee7c3c73, - 0x5d4a14d9, 0xe864b7e3, 0x42105d14, 0x203e13e0, - 0x45eee2b6, 0xa3aaabea, 0xdb6c4f15, 0xfacb4fd0, - 0xc742f442, 0xef6abbb5, 0x654f3b1d, 0x41cd2105, - 0xd81e799e, 0x86854dc7, 0xe44b476a, 0x3d816250, - 0xcf62a1f2, 0x5b8d2646, 0xfc8883a0, 0xc1c7b6a3, - 0x7f1524c3, 0x69cb7492, 0x47848a0b, 0x5692b285, - 0x095bbf00, 0xad19489d, 0x1462b174, 0x23820e00, - 0x58428d2a, 0x0c55f5ea, 0x1dadf43e, 0x233f7061, - 0x3372f092, 0x8d937e41, 0xd65fecf1, 0x6c223bdb, - 0x7cde3759, 0xcbee7460, 0x4085f2a7, 0xce77326e, - 0xa6078084, 0x19f8509e, 0xe8efd855, 0x61d99735, - 0xa969a7aa, 0xc50c06c2, 0x5a04abfc, 0x800bcadc, - 0x9e447a2e, 0xc3453484, 0xfdd56705, 0x0e1e9ec9, - 0xdb73dbd3, 0x105588cd, 0x675fda79, 0xe3674340, - 0xc5c43465, 0x713e38d8, 0x3d28f89e, 0xf16dff20, - 0x153e21e7, 0x8fb03d4a, 0xe6e39f2b, 0xdb83adf7]), - new Uint32Array([ - 0xe93d5a68, 0x948140f7, 0xf64c261c, 0x94692934, - 0x411520f7, 0x7602d4f7, 0xbcf46b2e, 0xd4a20068, - 0xd4082471, 0x3320f46a, 0x43b7d4b7, 0x500061af, - 0x1e39f62e, 0x97244546, 0x14214f74, 0xbf8b8840, - 0x4d95fc1d, 0x96b591af, 0x70f4ddd3, 0x66a02f45, - 0xbfbc09ec, 0x03bd9785, 0x7fac6dd0, 0x31cb8504, - 0x96eb27b3, 0x55fd3941, 0xda2547e6, 0xabca0a9a, - 0x28507825, 0x530429f4, 0x0a2c86da, 0xe9b66dfb, - 0x68dc1462, 0xd7486900, 0x680ec0a4, 0x27a18dee, - 0x4f3ffea2, 0xe887ad8c, 0xb58ce006, 0x7af4d6b6, - 0xaace1e7c, 0xd3375fec, 0xce78a399, 0x406b2a42, - 0x20fe9e35, 0xd9f385b9, 0xee39d7ab, 0x3b124e8b, - 0x1dc9faf7, 0x4b6d1856, 0x26a36631, 0xeae397b2, - 0x3a6efa74, 0xdd5b4332, 0x6841e7f7, 0xca7820fb, - 0xfb0af54e, 0xd8feb397, 0x454056ac, 0xba489527, - 0x55533a3a, 0x20838d87, 0xfe6ba9b7, 0xd096954b, - 0x55a867bc, 0xa1159a58, 0xcca92963, 0x99e1db33, - 0xa62a4a56, 0x3f3125f9, 0x5ef47e1c, 0x9029317c, - 0xfdf8e802, 0x04272f70, 0x80bb155c, 0x05282ce3, - 0x95c11548, 0xe4c66d22, 0x48c1133f, 0xc70f86dc, - 0x07f9c9ee, 0x41041f0f, 0x404779a4, 0x5d886e17, - 0x325f51eb, 0xd59bc0d1, 0xf2bcc18f, 0x41113564, - 0x257b7834, 0x602a9c60, 0xdff8e8a3, 0x1f636c1b, - 0x0e12b4c2, 0x02e1329e, 0xaf664fd1, 0xcad18115, - 0x6b2395e0, 0x333e92e1, 0x3b240b62, 0xeebeb922, - 0x85b2a20e, 0xe6ba0d99, 0xde720c8c, 0x2da2f728, - 0xd0127845, 0x95b794fd, 0x647d0862, 0xe7ccf5f0, - 0x5449a36f, 0x877d48fa, 0xc39dfd27, 0xf33e8d1e, - 0x0a476341, 0x992eff74, 0x3a6f6eab, 0xf4f8fd37, - 0xa812dc60, 0xa1ebddf8, 0x991be14c, 0xdb6e6b0d, - 0xc67b5510, 0x6d672c37, 0x2765d43b, 0xdcd0e804, - 0xf1290dc7, 0xcc00ffa3, 0xb5390f92, 0x690fed0b, - 0x667b9ffb, 0xcedb7d9c, 0xa091cf0b, 0xd9155ea3, - 0xbb132f88, 0x515bad24, 0x7b9479bf, 0x763bd6eb, - 0x37392eb3, 0xcc115979, 0x8026e297, 0xf42e312d, - 0x6842ada7, 0xc66a2b3b, 0x12754ccc, 0x782ef11c, - 0x6a124237, 0xb79251e7, 0x06a1bbe6, 0x4bfb6350, - 0x1a6b1018, 0x11caedfa, 0x3d25bdd8, 0xe2e1c3c9, - 0x44421659, 0x0a121386, 0xd90cec6e, 0xd5abea2a, - 0x64af674e, 0xda86a85f, 0xbebfe988, 0x64e4c3fe, - 0x9dbc8057, 0xf0f7c086, 0x60787bf8, 0x6003604d, - 0xd1fd8346, 0xf6381fb0, 0x7745ae04, 0xd736fccc, - 0x83426b33, 0xf01eab71, 0xb0804187, 0x3c005e5f, - 0x77a057be, 0xbde8ae24, 0x55464299, 0xbf582e61, - 0x4e58f48f, 0xf2ddfda2, 0xf474ef38, 0x8789bdc2, - 0x5366f9c3, 0xc8b38e74, 0xb475f255, 0x46fcd9b9, - 0x7aeb2661, 0x8b1ddf84, 0x846a0e79, 0x915f95e2, - 0x466e598e, 0x20b45770, 0x8cd55591, 0xc902de4c, - 0xb90bace1, 0xbb8205d0, 0x11a86248, 0x7574a99e, - 0xb77f19b6, 0xe0a9dc09, 0x662d09a1, 0xc4324633, - 0xe85a1f02, 0x09f0be8c, 0x4a99a025, 0x1d6efe10, - 0x1ab93d1d, 0x0ba5a4df, 0xa186f20f, 0x2868f169, - 0xdcb7da83, 0x573906fe, 0xa1e2ce9b, 0x4fcd7f52, - 0x50115e01, 0xa70683fa, 0xa002b5c4, 0x0de6d027, - 0x9af88c27, 0x773f8641, 0xc3604c06, 0x61a806b5, - 0xf0177a28, 0xc0f586e0, 0x006058aa, 0x30dc7d62, - 0x11e69ed7, 0x2338ea63, 0x53c2dd94, 0xc2c21634, - 0xbbcbee56, 0x90bcb6de, 0xebfc7da1, 0xce591d76, - 0x6f05e409, 0x4b7c0188, 0x39720a3d, 0x7c927c24, - 0x86e3725f, 0x724d9db9, 0x1ac15bb4, 0xd39eb8fc, - 0xed545578, 0x08fca5b5, 0xd83d7cd3, 0x4dad0fc4, - 0x1e50ef5e, 0xb161e6f8, 0xa28514d9, 0x6c51133c, - 0x6fd5c7e7, 0x56e14ec4, 0x362abfce, 0xddc6c837, - 0xd79a3234, 0x92638212, 0x670efa8e, 0x406000e0]), - new Uint32Array([ - 0x3a39ce37, 0xd3faf5cf, 0xabc27737, 0x5ac52d1b, - 0x5cb0679e, 0x4fa33742, 0xd3822740, 0x99bc9bbe, - 0xd5118e9d, 0xbf0f7315, 0xd62d1c7e, 0xc700c47b, - 0xb78c1b6b, 0x21a19045, 0xb26eb1be, 0x6a366eb4, - 0x5748ab2f, 0xbc946e79, 0xc6a376d2, 0x6549c2c8, - 0x530ff8ee, 0x468dde7d, 0xd5730a1d, 0x4cd04dc6, - 0x2939bbdb, 0xa9ba4650, 0xac9526e8, 0xbe5ee304, - 0xa1fad5f0, 0x6a2d519a, 0x63ef8ce2, 0x9a86ee22, - 0xc089c2b8, 0x43242ef6, 0xa51e03aa, 0x9cf2d0a4, - 0x83c061ba, 0x9be96a4d, 0x8fe51550, 0xba645bd6, - 0x2826a2f9, 0xa73a3ae1, 0x4ba99586, 0xef5562e9, - 0xc72fefd3, 0xf752f7da, 0x3f046f69, 0x77fa0a59, - 0x80e4a915, 0x87b08601, 0x9b09e6ad, 0x3b3ee593, - 0xe990fd5a, 0x9e34d797, 0x2cf0b7d9, 0x022b8b51, - 0x96d5ac3a, 0x017da67d, 0xd1cf3ed6, 0x7c7d2d28, - 0x1f9f25cf, 0xadf2b89b, 0x5ad6b472, 0x5a88f54c, - 0xe029ac71, 0xe019a5e6, 0x47b0acfd, 0xed93fa9b, - 0xe8d3c48d, 0x283b57cc, 0xf8d56629, 0x79132e28, - 0x785f0191, 0xed756055, 0xf7960e44, 0xe3d35e8c, - 0x15056dd4, 0x88f46dba, 0x03a16125, 0x0564f0bd, - 0xc3eb9e15, 0x3c9057a2, 0x97271aec, 0xa93a072a, - 0x1b3f6d9b, 0x1e6321f5, 0xf59c66fb, 0x26dcf319, - 0x7533d928, 0xb155fdf5, 0x03563482, 0x8aba3cbb, - 0x28517711, 0xc20ad9f8, 0xabcc5167, 0xccad925f, - 0x4de81751, 0x3830dc8e, 0x379d5862, 0x9320f991, - 0xea7a90c2, 0xfb3e7bce, 0x5121ce64, 0x774fbe32, - 0xa8b6e37e, 0xc3293d46, 0x48de5369, 0x6413e680, - 0xa2ae0810, 0xdd6db224, 0x69852dfd, 0x09072166, - 0xb39a460a, 0x6445c0dd, 0x586cdecf, 0x1c20c8ae, - 0x5bbef7dd, 0x1b588d40, 0xccd2017f, 0x6bb4e3bb, - 0xdda26a7e, 0x3a59ff45, 0x3e350a44, 0xbcb4cdd5, - 0x72eacea8, 0xfa6484bb, 0x8d6612ae, 0xbf3c6f47, - 0xd29be463, 0x542f5d9e, 0xaec2771b, 0xf64e6370, - 0x740e0d8d, 0xe75b1357, 0xf8721671, 0xaf537d5d, - 0x4040cb08, 0x4eb4e2cc, 0x34d2466a, 0x0115af84, - 0xe1b00428, 0x95983a1d, 0x06b89fb4, 0xce6ea048, - 0x6f3f3b82, 0x3520ab82, 0x011a1d4b, 0x277227f8, - 0x611560b1, 0xe7933fdc, 0xbb3a792b, 0x344525bd, - 0xa08839e1, 0x51ce794b, 0x2f32c9b7, 0xa01fbac9, - 0xe01cc87e, 0xbcc7d1f6, 0xcf0111c3, 0xa1e8aac7, - 0x1a908749, 0xd44fbd9a, 0xd0dadecb, 0xd50ada38, - 0x0339c32a, 0xc6913667, 0x8df9317c, 0xe0b12b4f, - 0xf79e59b7, 0x43f5bb3a, 0xf2d519ff, 0x27d9459c, - 0xbf97222c, 0x15e6fc2a, 0x0f91fc71, 0x9b941525, - 0xfae59361, 0xceb69ceb, 0xc2a86459, 0x12baa8d1, - 0xb6c1075e, 0xe3056a0c, 0x10d25065, 0xcb03a442, - 0xe0ec6e0e, 0x1698db3b, 0x4c98a0be, 0x3278e964, - 0x9f1f9532, 0xe0d392df, 0xd3a0342b, 0x8971f21e, - 0x1b0a7441, 0x4ba3348c, 0xc5be7120, 0xc37632d8, - 0xdf359f8d, 0x9b992f2e, 0xe60b6f47, 0x0fe3f11d, - 0xe54cda54, 0x1edad891, 0xce6279cf, 0xcd3e7e6f, - 0x1618b166, 0xfd2c1d05, 0x848fd2c5, 0xf6fb2299, - 0xf523f357, 0xa6327623, 0x93a83531, 0x56cccd02, - 0xacf08162, 0x5a75ebb5, 0x6e163697, 0x88d273cc, - 0xde966292, 0x81b949d0, 0x4c50901b, 0x71c65614, - 0xe6c6c7bd, 0x327a140a, 0x45e1d006, 0xc3f27b9a, - 0xc9aa53fd, 0x62a80f00, 0xbb25bfe2, 0x35bdd2f6, - 0x71126905, 0xb2040222, 0xb6cbcf7c, 0xcd769c2b, - 0x53113ec0, 0x1640e3d3, 0x38abbd60, 0x2547adf0, - 0xba38209c, 0xf746ce76, 0x77afa1c5, 0x20756060, - 0x85cbfe4e, 0x8ae88dd8, 0x7aaaf9b0, 0x4cf9aa7e, - 0x1948c25c, 0x02fb8a8c, 0x01c36ae4, 0xd6ebe1f9, - 0x90d4f869, 0xa65cdea0, 0x3f09252d, 0xc208e69f, - 0xb74e6132, 0xce77e25b, 0x578fdfe3, 0x3ac372e6]) - ]; - this.P = new Uint32Array([ - 0x243f6a88, 0x85a308d3, 0x13198a2e, 0x03707344, - 0xa4093822, 0x299f31d0, 0x082efa98, 0xec4e6c89, - 0x452821e6, 0x38d01377, 0xbe5466cf, 0x34e90c6c, - 0xc0ac29b7, 0xc97c50dd, 0x3f84d5b5, 0xb5470917, - 0x9216d5d9, 0x8979fb1b]); -}; - -function F(S, x8, i) { - return (((S[0][x8[i+3]] + - S[1][x8[i+2]]) ^ - S[2][x8[i+1]]) + - S[3][x8[i]]); -}; - -Blowfish.prototype.encipher = function(x, x8) { - if (x8 === undefined) { - x8 = new Uint8Array(x.buffer); - if (x.byteOffset !== 0) - x8 = x8.subarray(x.byteOffset); - } - x[0] ^= this.P[0]; - for (var i = 1; i < 16; i += 2) { - x[1] ^= F(this.S, x8, 0) ^ this.P[i]; - x[0] ^= F(this.S, x8, 4) ^ this.P[i+1]; - } - var t = x[0]; - x[0] = x[1] ^ this.P[17]; - x[1] = t; -}; - -Blowfish.prototype.decipher = function(x) { - var x8 = new Uint8Array(x.buffer); - if (x.byteOffset !== 0) - x8 = x8.subarray(x.byteOffset); - x[0] ^= this.P[17]; - for (var i = 16; i > 0; i -= 2) { - x[1] ^= F(this.S, x8, 0) ^ this.P[i]; - x[0] ^= F(this.S, x8, 4) ^ this.P[i-1]; - } - var t = x[0]; - x[0] = x[1] ^ this.P[0]; - x[1] = t; -}; - -function stream2word(data, databytes){ - var i, temp = 0; - for (i = 0; i < 4; i++, BLF_J++) { - if (BLF_J >= databytes) BLF_J = 0; - temp = (temp << 8) | data[BLF_J]; - } - return temp; -}; - -Blowfish.prototype.expand0state = function(key, keybytes) { - var d = new Uint32Array(2), i, k; - var d8 = new Uint8Array(d.buffer); - - for (i = 0, BLF_J = 0; i < 18; i++) { - this.P[i] ^= stream2word(key, keybytes); - } - BLF_J = 0; - - for (i = 0; i < 18; i += 2) { - this.encipher(d, d8); - this.P[i] = d[0]; - this.P[i+1] = d[1]; - } - - for (i = 0; i < 4; i++) { - for (k = 0; k < 256; k += 2) { - this.encipher(d, d8); - this.S[i][k] = d[0]; - this.S[i][k+1] = d[1]; - } - } -}; - -Blowfish.prototype.expandstate = function(data, databytes, key, keybytes) { - var d = new Uint32Array(2), i, k; - - for (i = 0, BLF_J = 0; i < 18; i++) { - this.P[i] ^= stream2word(key, keybytes); - } - - for (i = 0, BLF_J = 0; i < 18; i += 2) { - d[0] ^= stream2word(data, databytes); - d[1] ^= stream2word(data, databytes); - this.encipher(d); - this.P[i] = d[0]; - this.P[i+1] = d[1]; - } - - for (i = 0; i < 4; i++) { - for (k = 0; k < 256; k += 2) { - d[0] ^= stream2word(data, databytes); - d[1] ^= stream2word(data, databytes); - this.encipher(d); - this.S[i][k] = d[0]; - this.S[i][k+1] = d[1]; - } - } - BLF_J = 0; -}; - -Blowfish.prototype.enc = function(data, blocks) { - for (var i = 0; i < blocks; i++) { - this.encipher(data.subarray(i*2)); - } -}; - -Blowfish.prototype.dec = function(data, blocks) { - for (var i = 0; i < blocks; i++) { - this.decipher(data.subarray(i*2)); - } -}; - -var BCRYPT_BLOCKS = 8, - BCRYPT_HASHSIZE = 32; - -function bcrypt_hash(sha2pass, sha2salt, out) { - var state = new Blowfish(), - cdata = new Uint32Array(BCRYPT_BLOCKS), i, - ciphertext = new Uint8Array([79,120,121,99,104,114,111,109,97,116,105, - 99,66,108,111,119,102,105,115,104,83,119,97,116,68,121,110,97,109, - 105,116,101]); //"OxychromaticBlowfishSwatDynamite" - - state.expandstate(sha2salt, 64, sha2pass, 64); - for (i = 0; i < 64; i++) { - state.expand0state(sha2salt, 64); - state.expand0state(sha2pass, 64); - } - - for (i = 0; i < BCRYPT_BLOCKS; i++) - cdata[i] = stream2word(ciphertext, ciphertext.byteLength); - for (i = 0; i < 64; i++) - state.enc(cdata, cdata.byteLength / 8); - - for (i = 0; i < BCRYPT_BLOCKS; i++) { - out[4*i+3] = cdata[i] >>> 24; - out[4*i+2] = cdata[i] >>> 16; - out[4*i+1] = cdata[i] >>> 8; - out[4*i+0] = cdata[i]; - } -}; - -function bcrypt_pbkdf(pass, passlen, salt, saltlen, key, keylen, rounds) { - var sha2pass = new Uint8Array(64), - sha2salt = new Uint8Array(64), - out = new Uint8Array(BCRYPT_HASHSIZE), - tmpout = new Uint8Array(BCRYPT_HASHSIZE), - countsalt = new Uint8Array(saltlen+4), - i, j, amt, stride, dest, count, - origkeylen = keylen; - - if (rounds < 1) - return -1; - if (passlen === 0 || saltlen === 0 || keylen === 0 || - keylen > (out.byteLength * out.byteLength) || saltlen > (1<<20)) - return -1; - - stride = Math.floor((keylen + out.byteLength - 1) / out.byteLength); - amt = Math.floor((keylen + stride - 1) / stride); - - for (i = 0; i < saltlen; i++) - countsalt[i] = salt[i]; - - crypto_hash_sha512(sha2pass, pass, passlen); - - for (count = 1; keylen > 0; count++) { - countsalt[saltlen+0] = count >>> 24; - countsalt[saltlen+1] = count >>> 16; - countsalt[saltlen+2] = count >>> 8; - countsalt[saltlen+3] = count; - - crypto_hash_sha512(sha2salt, countsalt, saltlen + 4); - bcrypt_hash(sha2pass, sha2salt, tmpout); - for (i = out.byteLength; i--;) - out[i] = tmpout[i]; - - for (i = 1; i < rounds; i++) { - crypto_hash_sha512(sha2salt, tmpout, tmpout.byteLength); - bcrypt_hash(sha2pass, sha2salt, tmpout); - for (j = 0; j < out.byteLength; j++) - out[j] ^= tmpout[j]; - } - - amt = Math.min(amt, keylen); - for (i = 0; i < amt; i++) { - dest = i * stride + (count - 1); - if (dest >= origkeylen) - break; - key[dest] = out[i]; - } - keylen -= i; - } - - return 0; -}; - -module.exports = { - BLOCKS: BCRYPT_BLOCKS, - HASHSIZE: BCRYPT_HASHSIZE, - hash: bcrypt_hash, - pbkdf: bcrypt_pbkdf -}; diff --git a/publi/node_modules/bcrypt-pbkdf/package.json b/publi/node_modules/bcrypt-pbkdf/package.json deleted file mode 100644 index 8da9ab5..0000000 --- a/publi/node_modules/bcrypt-pbkdf/package.json +++ /dev/null @@ -1,85 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "bcrypt-pbkdf@^1.0.0", - "scope": null, - "escapedName": "bcrypt-pbkdf", - "name": "bcrypt-pbkdf", - "rawSpec": "^1.0.0", - "spec": ">=1.0.0 <2.0.0", - "type": "range" - }, - "/mnt/Data/bach/Documents/ola/OLA#4/OLA#4DOC/sys/node_modules/sshpk" - ] - ], - "_from": "bcrypt-pbkdf@>=1.0.0 <2.0.0", - "_id": "bcrypt-pbkdf@1.0.1", - "_inCache": true, - "_location": "/bcrypt-pbkdf", - "_nodeVersion": "0.12.9", - "_npmOperationalInternal": { - "host": "packages-18-east.internal.npmjs.com", - "tmp": "tmp/bcrypt-pbkdf-1.0.1.tgz_1486007687899_0.974529881728813" - }, - "_npmUser": { - "name": "arekinath", - "email": "alex@cooperi.net" - }, - "_npmVersion": "2.14.9", - "_phantomChildren": {}, - "_requested": { - "raw": "bcrypt-pbkdf@^1.0.0", - "scope": null, - "escapedName": "bcrypt-pbkdf", - "name": "bcrypt-pbkdf", - "rawSpec": "^1.0.0", - "spec": ">=1.0.0 <2.0.0", - "type": "range" - }, - "_requiredBy": [ - "/sshpk" - ], - "_resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz", - "_shasum": "63bc5dcb61331b92bc05fd528953c33462a06f8d", - "_shrinkwrap": null, - "_spec": "bcrypt-pbkdf@^1.0.0", - "_where": "/mnt/Data/bach/Documents/ola/OLA#4/OLA#4DOC/sys/node_modules/sshpk", - "dependencies": { - "tweetnacl": "^0.14.3" - }, - "description": "Port of the OpenBSD bcrypt_pbkdf function to pure JS", - "devDependencies": {}, - "directories": {}, - "dist": { - "shasum": "63bc5dcb61331b92bc05fd528953c33462a06f8d", - "tarball": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz" - }, - "gitHead": "fa2ab3ae9efa15367264151398635a915c7b411d", - "license": "BSD-3-Clause", - "main": "index.js", - "maintainers": [ - { - "name": "arekinath", - "email": "alex@cooperi.net" - }, - { - "name": "dap", - "email": "dap@cs.brown.edu" - }, - { - "name": "jclulow", - "email": "josh@sysmgr.org" - }, - { - "name": "trentm", - "email": "trentm@gmail.com" - } - ], - "name": "bcrypt-pbkdf", - "optionalDependencies": {}, - "readme": "Port of the OpenBSD `bcrypt_pbkdf` function to pure Javascript. `npm`-ified\nversion of [Devi Mandiri's port]\n(https://github.com/devi/tmp/blob/master/js/bcrypt_pbkdf.js),\nwith some minor performance improvements. The code is copied verbatim (and\nun-styled) from Devi's work.\n\nThis product includes software developed by Niels Provos.\n\n## API\n\n### `bcrypt_pbkdf.pbkdf(pass, passlen, salt, saltlen, key, keylen, rounds)`\n\nDerive a cryptographic key of arbitrary length from a given password and salt,\nusing the OpenBSD `bcrypt_pbkdf` function. This is a combination of Blowfish and\nSHA-512.\n\nSee [this article](http://www.tedunangst.com/flak/post/bcrypt-pbkdf) for\nfurther information.\n\nParameters:\n\n * `pass`, a Uint8Array of length `passlen`\n * `passlen`, an integer Number\n * `salt`, a Uint8Array of length `saltlen`\n * `saltlen`, an integer Number\n * `key`, a Uint8Array of length `keylen`, will be filled with output\n * `keylen`, an integer Number\n * `rounds`, an integer Number, number of rounds of the PBKDF to run\n\n### `bcrypt_pbkdf.hash(sha2pass, sha2salt, out)`\n\nCalculate a Blowfish hash, given SHA2-512 output of a password and salt. Used as\npart of the inner round function in the PBKDF.\n\nParameters:\n\n * `sha2pass`, a Uint8Array of length 64\n * `sha2salt`, a Uint8Array of length 64\n * `out`, a Uint8Array of length 32, will be filled with output\n", - "readmeFilename": "README.md", - "scripts": {}, - "version": "1.0.1" -} diff --git a/publi/node_modules/beeper/index.js b/publi/node_modules/beeper/index.js deleted file mode 100644 index 2bf6503..0000000 --- a/publi/node_modules/beeper/index.js +++ /dev/null @@ -1,60 +0,0 @@ -'use strict'; - -var BEEP_DELAY = 500; - -function beep() { - process.stdout.write('\u0007'); -} - -function melodicalBeep(val, cb) { - if (val.length === 0) { - cb(); - return; - } - - setTimeout(function () { - if (val.shift() === '*') { - beep(); - } - - melodicalBeep(val, cb); - }, BEEP_DELAY); -} - -module.exports = function (val, cb) { - if (!process.stdout.isTTY || - process.argv.indexOf('--no-beep') !== -1 || - process.argv.indexOf('--beep=false') !== -1) { - return; - } - - cb = cb || function () {}; - - if (val === parseInt(val)) { - if (val < 0) { - throw new TypeError('Negative numbers are not accepted'); - } - - if (val === 0) { - cb(); - return; - } - - for (var i = 0; i < val; i++) { - setTimeout(function (i) { - beep(); - - if (i === val - 1) { - cb(); - } - }, BEEP_DELAY * i, i); - } - } else if (!val) { - beep(); - cb(); - } else if (typeof val === 'string') { - melodicalBeep(val.split(''), cb); - } else { - throw new TypeError('Not an accepted type'); - } -}; diff --git a/publi/node_modules/beeper/license b/publi/node_modules/beeper/license deleted file mode 100644 index 654d0bf..0000000 --- a/publi/node_modules/beeper/license +++ /dev/null @@ -1,21 +0,0 @@ -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. diff --git a/publi/node_modules/beeper/package.json b/publi/node_modules/beeper/package.json deleted file mode 100644 index bfcb766..0000000 --- a/publi/node_modules/beeper/package.json +++ /dev/null @@ -1,106 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "beeper@^1.0.0", - "scope": null, - "escapedName": "beeper", - "name": "beeper", - "rawSpec": "^1.0.0", - "spec": ">=1.0.0 <2.0.0", - "type": "range" - }, - "/mnt/Data/bach/Documents/ola/OLA#3DOC/sys/node_modules/gulp-util" - ] - ], - "_from": "beeper@>=1.0.0 <2.0.0", - "_id": "beeper@1.1.1", - "_inCache": true, - "_location": "/beeper", - "_nodeVersion": "6.9.1", - "_npmOperationalInternal": { - "host": "packages-18-east.internal.npmjs.com", - "tmp": "tmp/beeper-1.1.1.tgz_1478779325954_0.4620432916563004" - }, - "_npmUser": { - "name": "sindresorhus", - "email": "sindresorhus@gmail.com" - }, - "_npmVersion": "3.10.8", - "_phantomChildren": {}, - "_requested": { - "raw": "beeper@^1.0.0", - "scope": null, - "escapedName": "beeper", - "name": "beeper", - "rawSpec": "^1.0.0", - "spec": ">=1.0.0 <2.0.0", - "type": "range" - }, - "_requiredBy": [ - "/gulp-util" - ], - "_resolved": "https://registry.npmjs.org/beeper/-/beeper-1.1.1.tgz", - "_shasum": "e6d5ea8c5dad001304a70b22638447f69cb2f809", - "_shrinkwrap": null, - "_spec": "beeper@^1.0.0", - "_where": "/mnt/Data/bach/Documents/ola/OLA#3DOC/sys/node_modules/gulp-util", - "author": { - "name": "Sindre Sorhus", - "email": "sindresorhus@gmail.com", - "url": "sindresorhus.com" - }, - "bugs": { - "url": "https://github.com/sindresorhus/beeper/issues" - }, - "dependencies": {}, - "description": "Make your terminal beep", - "devDependencies": { - "hooker": "^0.2.3", - "tape": "^4.0.0" - }, - "directories": {}, - "dist": { - "shasum": "e6d5ea8c5dad001304a70b22638447f69cb2f809", - "tarball": "https://registry.npmjs.org/beeper/-/beeper-1.1.1.tgz" - }, - "engines": { - "node": ">=0.10.0" - }, - "files": [ - "index.js" - ], - "gitHead": "34f2c73a340f000c9e060f7038362db6782b236e", - "homepage": "https://github.com/sindresorhus/beeper#readme", - "keywords": [ - "beep", - "beeper", - "boop", - "terminal", - "term", - "cli", - "console", - "ding", - "ping", - "alert", - "gulpfriendly" - ], - "license": "MIT", - "maintainers": [ - { - "name": "sindresorhus", - "email": "sindresorhus@gmail.com" - } - ], - "name": "beeper", - "optionalDependencies": {}, - "readme": "ERROR: No README data found!", - "repository": { - "type": "git", - "url": "git+https://github.com/sindresorhus/beeper.git" - }, - "scripts": { - "test": "node test.js" - }, - "version": "1.1.1" -} diff --git a/publi/node_modules/beeper/readme.md b/publi/node_modules/beeper/readme.md deleted file mode 100644 index 55bdd52..0000000 --- a/publi/node_modules/beeper/readme.md +++ /dev/null @@ -1,55 +0,0 @@ -# beeper [![Build Status](https://travis-ci.org/sindresorhus/beeper.svg?branch=master)](https://travis-ci.org/sindresorhus/beeper) - -> Make your terminal beep - -![](https://cloud.githubusercontent.com/assets/170270/5261236/f8471100-7a49-11e4-81af-96cd09a522d9.gif) - -Useful as an attention grabber e.g. when an error happens. - - -## Install - -``` -$ npm install --save beeper -``` - - -## Usage - -```js -var beeper = require('beeper'); - -beeper(); -// beep one time - -beeper(3); -// beep three times - -beeper('****-*-*'); -// beep, beep, beep, beep, pause, beep, pause, beep -``` - - -## API - -It will not beep if stdout is not TTY or if the user supplies the `--no-beep` flag. - -### beeper([count|melody], [callback]) - -#### count - -Type: `number` -Default: `1` - -How many times you want it to beep. - -#### melody - -Type: `string` - -Construct your own melody by supplying a string of `*` for beep `-` for pause. - - -## License - -MIT © [Sindre Sorhus](http://sindresorhus.com) diff --git a/publi/node_modules/binary-extensions/binary-extensions.json b/publi/node_modules/binary-extensions/binary-extensions.json deleted file mode 100644 index 0126061..0000000 --- a/publi/node_modules/binary-extensions/binary-extensions.json +++ /dev/null @@ -1,246 +0,0 @@ -[ - "3ds", - "3g2", - "3gp", - "7z", - "a", - "aac", - "adp", - "ai", - "aif", - "aiff", - "alz", - "ape", - "apk", - "ar", - "arj", - "asf", - "au", - "avi", - "bak", - "baml", - "bh", - "bin", - "bk", - "bmp", - "btif", - "bz2", - "bzip2", - "cab", - "caf", - "cgm", - "class", - "cmx", - "cpio", - "cr2", - "csv", - "cur", - "dat", - "dcm", - "deb", - "dex", - "djvu", - "dll", - "dmg", - "dng", - "doc", - "docm", - "docx", - "dot", - "dotm", - "dra", - "DS_Store", - "dsk", - "dts", - "dtshd", - "dvb", - "dwg", - "dxf", - "ecelp4800", - "ecelp7470", - "ecelp9600", - "egg", - "eol", - "eot", - "epub", - "exe", - "f4v", - "fbs", - "fh", - "fla", - "flac", - "fli", - "flv", - "fpx", - "fst", - "fvt", - "g3", - "gif", - "graffle", - "gz", - "gzip", - "h261", - "h263", - "h264", - "icns", - "ico", - "ief", - "img", - "ipa", - "iso", - "jar", - "jpeg", - "jpg", - "jpgv", - "jpm", - "jxr", - "key", - "ktx", - "lha", - "lib", - "lvp", - "lz", - "lzh", - "lzma", - "lzo", - "m3u", - "m4a", - "m4v", - "mar", - "mdi", - "mht", - "mid", - "midi", - "mj2", - "mka", - "mkv", - "mmr", - "mng", - "mobi", - "mov", - "movie", - "mp3", - "mp4", - "mp4a", - "mpeg", - "mpg", - "mpga", - "mxu", - "nef", - "npx", - "numbers", - "o", - "oga", - "ogg", - "ogv", - "otf", - "pages", - "pbm", - "pcx", - "pdb", - "pdf", - "pea", - "pgm", - "pic", - "png", - "pnm", - "pot", - "potm", - "potx", - "ppa", - "ppam", - "ppm", - "pps", - "ppsm", - "ppsx", - "ppt", - "pptm", - "pptx", - "psd", - "pya", - "pyc", - "pyo", - "pyv", - "qt", - "rar", - "ras", - "raw", - "resources", - "rgb", - "rip", - "rlc", - "rmf", - "rmvb", - "rtf", - "rz", - "s3m", - "s7z", - "scpt", - "sgi", - "shar", - "sil", - "sketch", - "slk", - "smv", - "so", - "sub", - "swf", - "tar", - "tbz", - "tbz2", - "tga", - "tgz", - "thmx", - "tif", - "tiff", - "tlz", - "ttc", - "ttf", - "txz", - "udf", - "uvh", - "uvi", - "uvm", - "uvp", - "uvs", - "uvu", - "viv", - "vob", - "war", - "wav", - "wax", - "wbmp", - "wdp", - "weba", - "webm", - "webp", - "whl", - "wim", - "wm", - "wma", - "wmv", - "wmx", - "woff", - "woff2", - "wvx", - "xbm", - "xif", - "xla", - "xlam", - "xls", - "xlsb", - "xlsm", - "xlsx", - "xlt", - "xltm", - "xltx", - "xm", - "xmind", - "xpi", - "xpm", - "xwd", - "xz", - "z", - "zip", - "zipx" -] diff --git a/publi/node_modules/binary-extensions/license b/publi/node_modules/binary-extensions/license deleted file mode 100644 index e7af2f7..0000000 --- a/publi/node_modules/binary-extensions/license +++ /dev/null @@ -1,9 +0,0 @@ -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 --git a/publi/node_modules/binary-extensions/package.json b/publi/node_modules/binary-extensions/package.json deleted file mode 100644 index 6380aec..0000000 --- a/publi/node_modules/binary-extensions/package.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "_from": "binary-extensions@^1.0.0", - "_id": "binary-extensions@1.11.0", - "_inBundle": false, - "_integrity": "sha1-RqoXUftqL5PuXmibsQh9SxTGwgU=", - "_location": "/binary-extensions", - "_phantomChildren": {}, - "_requested": { - "type": "range", - "registry": true, - "raw": "binary-extensions@^1.0.0", - "name": "binary-extensions", - "escapedName": "binary-extensions", - "rawSpec": "^1.0.0", - "saveSpec": null, - "fetchSpec": "^1.0.0" - }, - "_requiredBy": [ - "/is-binary-path" - ], - "_resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.11.0.tgz", - "_shasum": "46aa1751fb6a2f93ee5e689bb1087d4b14c6c205", - "_spec": "binary-extensions@^1.0.0", - "_where": "/mnt/Data/bach/Documents/ola/OLA#5/ola5doc/publi/node_modules/is-binary-path", - "author": { - "name": "Sindre Sorhus", - "email": "sindresorhus@gmail.com", - "url": "sindresorhus.com" - }, - "bugs": { - "url": "https://github.com/sindresorhus/binary-extensions/issues" - }, - "bundleDependencies": false, - "deprecated": false, - "description": "List of binary file extensions", - "devDependencies": { - "ava": "0.16.0" - }, - "engines": { - "node": ">=0.10.0" - }, - "files": [ - "binary-extensions.json" - ], - "homepage": "https://github.com/sindresorhus/binary-extensions#readme", - "keywords": [ - "bin", - "binary", - "ext", - "extensions", - "extension", - "file", - "json", - "list", - "array" - ], - "license": "MIT", - "main": "binary-extensions.json", - "name": "binary-extensions", - "repository": { - "type": "git", - "url": "git+https://github.com/sindresorhus/binary-extensions.git" - }, - "scripts": { - "test": "ava" - }, - "version": "1.11.0" -} diff --git a/publi/node_modules/binary-extensions/readme.md b/publi/node_modules/binary-extensions/readme.md deleted file mode 100644 index c0b5348..0000000 --- a/publi/node_modules/binary-extensions/readme.md +++ /dev/null @@ -1,33 +0,0 @@ -# binary-extensions [![Build Status](https://travis-ci.org/sindresorhus/binary-extensions.svg?branch=master)](https://travis-ci.org/sindresorhus/binary-extensions) - -> List of binary file extensions - -The list is just a [JSON file](binary-extensions.json) and can be used wherever. - - -## Install - -``` -$ npm install binary-extensions -``` - - -## Usage - -```js -const binaryExtensions = require('binary-extensions'); - -console.log(binaryExtensions); -//=> ['3ds', '3g2', …] -``` - - -## Related - -- [is-binary-path](https://github.com/sindresorhus/is-binary-path) - Check if a filepath is a binary file -- [text-extensions](https://github.com/sindresorhus/text-extensions) - List of text file extensions - - -## License - -MIT © [Sindre Sorhus](https://sindresorhus.com) diff --git a/publi/node_modules/block-stream/LICENCE b/publi/node_modules/block-stream/LICENCE deleted file mode 100644 index 74489e2..0000000 --- a/publi/node_modules/block-stream/LICENCE +++ /dev/null @@ -1,25 +0,0 @@ -Copyright (c) Isaac Z. Schlueter -All rights reserved. - -The BSD License - -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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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. diff --git a/publi/node_modules/block-stream/LICENSE b/publi/node_modules/block-stream/LICENSE deleted file mode 100644 index 19129e3..0000000 --- a/publi/node_modules/block-stream/LICENSE +++ /dev/null @@ -1,15 +0,0 @@ -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. diff --git a/publi/node_modules/block-stream/README.md b/publi/node_modules/block-stream/README.md deleted file mode 100644 index c16e9c4..0000000 --- a/publi/node_modules/block-stream/README.md +++ /dev/null @@ -1,14 +0,0 @@ -# block-stream - -A stream of blocks. - -Write data into it, and it'll output data in buffer blocks the size you -specify, padding with zeroes if necessary. - -```javascript -var block = new BlockStream(512) -fs.createReadStream("some-file").pipe(block) -block.pipe(fs.createWriteStream("block-file")) -``` - -When `.end()` or `.flush()` is called, it'll pad the block with zeroes. diff --git a/publi/node_modules/block-stream/block-stream.js b/publi/node_modules/block-stream/block-stream.js deleted file mode 100644 index 008de03..0000000 --- a/publi/node_modules/block-stream/block-stream.js +++ /dev/null @@ -1,209 +0,0 @@ -// write data to it, and it'll emit data in 512 byte blocks. -// if you .end() or .flush(), it'll emit whatever it's got, -// padded with nulls to 512 bytes. - -module.exports = BlockStream - -var Stream = require("stream").Stream - , inherits = require("inherits") - , assert = require("assert").ok - , debug = process.env.DEBUG ? console.error : function () {} - -function BlockStream (size, opt) { - this.writable = this.readable = true - this._opt = opt || {} - this._chunkSize = size || 512 - this._offset = 0 - this._buffer = [] - this._bufferLength = 0 - if (this._opt.nopad) this._zeroes = false - else { - this._zeroes = new Buffer(this._chunkSize) - for (var i = 0; i < this._chunkSize; i ++) { - this._zeroes[i] = 0 - } - } -} - -inherits(BlockStream, Stream) - -BlockStream.prototype.write = function (c) { - // debug(" BS write", c) - if (this._ended) throw new Error("BlockStream: write after end") - if (c && !Buffer.isBuffer(c)) c = new Buffer(c + "") - if (c.length) { - this._buffer.push(c) - this._bufferLength += c.length - } - // debug("pushed onto buffer", this._bufferLength) - if (this._bufferLength >= this._chunkSize) { - if (this._paused) { - // debug(" BS paused, return false, need drain") - this._needDrain = true - return false - } - this._emitChunk() - } - return true -} - -BlockStream.prototype.pause = function () { - // debug(" BS pausing") - this._paused = true -} - -BlockStream.prototype.resume = function () { - // debug(" BS resume") - this._paused = false - return this._emitChunk() -} - -BlockStream.prototype.end = function (chunk) { - // debug("end", chunk) - if (typeof chunk === "function") cb = chunk, chunk = null - if (chunk) this.write(chunk) - this._ended = true - this.flush() -} - -BlockStream.prototype.flush = function () { - this._emitChunk(true) -} - -BlockStream.prototype._emitChunk = function (flush) { - // debug("emitChunk flush=%j emitting=%j paused=%j", flush, this._emitting, this._paused) - - // emit a chunk - if (flush && this._zeroes) { - // debug(" BS push zeroes", this._bufferLength) - // push a chunk of zeroes - var padBytes = (this._bufferLength % this._chunkSize) - if (padBytes !== 0) padBytes = this._chunkSize - padBytes - if (padBytes > 0) { - // debug("padBytes", padBytes, this._zeroes.slice(0, padBytes)) - this._buffer.push(this._zeroes.slice(0, padBytes)) - this._bufferLength += padBytes - // debug(this._buffer[this._buffer.length - 1].length, this._bufferLength) - } - } - - if (this._emitting || this._paused) return - this._emitting = true - - // debug(" BS entering loops") - var bufferIndex = 0 - while (this._bufferLength >= this._chunkSize && - (flush || !this._paused)) { - // debug(" BS data emission loop", this._bufferLength) - - var out - , outOffset = 0 - , outHas = this._chunkSize - - while (outHas > 0 && (flush || !this._paused) ) { - // debug(" BS data inner emit loop", this._bufferLength) - var cur = this._buffer[bufferIndex] - , curHas = cur.length - this._offset - // debug("cur=", cur) - // debug("curHas=%j", curHas) - // If it's not big enough to fill the whole thing, then we'll need - // to copy multiple buffers into one. However, if it is big enough, - // then just slice out the part we want, to save unnecessary copying. - // Also, need to copy if we've already done some copying, since buffers - // can't be joined like cons strings. - if (out || curHas < outHas) { - out = out || new Buffer(this._chunkSize) - cur.copy(out, outOffset, - this._offset, this._offset + Math.min(curHas, outHas)) - } else if (cur.length === outHas && this._offset === 0) { - // shortcut -- cur is exactly long enough, and no offset. - out = cur - } else { - // slice out the piece of cur that we need. - out = cur.slice(this._offset, this._offset + outHas) - } - - if (curHas > outHas) { - // means that the current buffer couldn't be completely output - // update this._offset to reflect how much WAS written - this._offset += outHas - outHas = 0 - } else { - // output the entire current chunk. - // toss it away - outHas -= curHas - outOffset += curHas - bufferIndex ++ - this._offset = 0 - } - } - - this._bufferLength -= this._chunkSize - assert(out.length === this._chunkSize) - // debug("emitting data", out) - // debug(" BS emitting, paused=%j", this._paused, this._bufferLength) - this.emit("data", out) - out = null - } - // debug(" BS out of loops", this._bufferLength) - - // whatever is left, it's not enough to fill up a block, or we're paused - this._buffer = this._buffer.slice(bufferIndex) - if (this._paused) { - // debug(" BS paused, leaving", this._bufferLength) - this._needsDrain = true - this._emitting = false - return - } - - // if flushing, and not using null-padding, then need to emit the last - // chunk(s) sitting in the queue. We know that it's not enough to - // fill up a whole block, because otherwise it would have been emitted - // above, but there may be some offset. - var l = this._buffer.length - if (flush && !this._zeroes && l) { - if (l === 1) { - if (this._offset) { - this.emit("data", this._buffer[0].slice(this._offset)) - } else { - this.emit("data", this._buffer[0]) - } - } else { - var outHas = this._bufferLength - , out = new Buffer(outHas) - , outOffset = 0 - for (var i = 0; i < l; i ++) { - var cur = this._buffer[i] - , curHas = cur.length - this._offset - cur.copy(out, outOffset, this._offset) - this._offset = 0 - outOffset += curHas - this._bufferLength -= curHas - } - this.emit("data", out) - } - // truncate - this._buffer.length = 0 - this._bufferLength = 0 - this._offset = 0 - } - - // now either drained or ended - // debug("either draining, or ended", this._bufferLength, this._ended) - // means that we've flushed out all that we can so far. - if (this._needDrain) { - // debug("emitting drain", this._bufferLength) - this._needDrain = false - this.emit("drain") - } - - if ((this._bufferLength === 0) && this._ended && !this._endEmitted) { - // debug("emitting end", this._bufferLength) - this._endEmitted = true - this.emit("end") - } - - this._emitting = false - - // debug(" BS no longer emitting", flush, this._paused, this._emitting, this._bufferLength, this._chunkSize) -} diff --git a/publi/node_modules/block-stream/package.json b/publi/node_modules/block-stream/package.json deleted file mode 100644 index a8b2802..0000000 --- a/publi/node_modules/block-stream/package.json +++ /dev/null @@ -1,96 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "block-stream@*", - "scope": null, - "escapedName": "block-stream", - "name": "block-stream", - "rawSpec": "*", - "spec": "*", - "type": "range" - }, - "/mnt/Data/bach/Documents/ola/OLA#4/OLA#4DOC/sys/node_modules/tar" - ] - ], - "_from": "block-stream@*", - "_id": "block-stream@0.0.9", - "_inCache": true, - "_location": "/block-stream", - "_nodeVersion": "5.6.0", - "_npmOperationalInternal": { - "host": "packages-16-east.internal.npmjs.com", - "tmp": "tmp/block-stream-0.0.9.tgz_1462149852620_0.6890447810292244" - }, - "_npmUser": { - "name": "isaacs", - "email": "i@izs.me" - }, - "_npmVersion": "3.8.5", - "_phantomChildren": {}, - "_requested": { - "raw": "block-stream@*", - "scope": null, - "escapedName": "block-stream", - "name": "block-stream", - "rawSpec": "*", - "spec": "*", - "type": "range" - }, - "_requiredBy": [ - "/tar" - ], - "_resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz", - "_shasum": "13ebfe778a03205cfe03751481ebb4b3300c126a", - "_shrinkwrap": null, - "_spec": "block-stream@*", - "_where": "/mnt/Data/bach/Documents/ola/OLA#4/OLA#4DOC/sys/node_modules/tar", - "author": { - "name": "Isaac Z. Schlueter", - "email": "i@izs.me", - "url": "http://blog.izs.me/" - }, - "bugs": { - "url": "https://github.com/isaacs/block-stream/issues" - }, - "dependencies": { - "inherits": "~2.0.0" - }, - "description": "a stream of blocks", - "devDependencies": { - "tap": "^5.7.1" - }, - "directories": {}, - "dist": { - "shasum": "13ebfe778a03205cfe03751481ebb4b3300c126a", - "tarball": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz" - }, - "engines": { - "node": "0.4 || >=0.5.8" - }, - "files": [ - "block-stream.js" - ], - "gitHead": "321cf242ef6d130bb2e59c0565a61ded5dd2673f", - "homepage": "https://github.com/isaacs/block-stream#readme", - "license": "ISC", - "main": "block-stream.js", - "maintainers": [ - { - "name": "isaacs", - "email": "i@izs.me" - } - ], - "name": "block-stream", - "optionalDependencies": {}, - "readme": "# block-stream\n\nA stream of blocks.\n\nWrite data into it, and it'll output data in buffer blocks the size you\nspecify, padding with zeroes if necessary.\n\n```javascript\nvar block = new BlockStream(512)\nfs.createReadStream(\"some-file\").pipe(block)\nblock.pipe(fs.createWriteStream(\"block-file\"))\n```\n\nWhen `.end()` or `.flush()` is called, it'll pad the block with zeroes.\n", - "readmeFilename": "README.md", - "repository": { - "type": "git", - "url": "git://github.com/isaacs/block-stream.git" - }, - "scripts": { - "test": "tap test/*.js --cov" - }, - "version": "0.0.9" -} diff --git a/publi/node_modules/bluebird/LICENSE b/publi/node_modules/bluebird/LICENSE deleted file mode 100644 index ae732d5..0000000 --- a/publi/node_modules/bluebird/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2013-2017 Petka Antonov - -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/publi/node_modules/bluebird/README.md b/publi/node_modules/bluebird/README.md deleted file mode 100644 index ba82f73..0000000 --- a/publi/node_modules/bluebird/README.md +++ /dev/null @@ -1,52 +0,0 @@ - - Promises/A+ logo - - -[![Build Status](https://travis-ci.org/petkaantonov/bluebird.svg?branch=master)](https://travis-ci.org/petkaantonov/bluebird) -[![coverage-98%](https://img.shields.io/badge/coverage-98%25-brightgreen.svg?style=flat)](http://petkaantonov.github.io/bluebird/coverage/debug/index.html) - -**Got a question?** Join us on [stackoverflow](http://stackoverflow.com/questions/tagged/bluebird), the [mailing list](https://groups.google.com/forum/#!forum/bluebird-js) or chat on [IRC](https://webchat.freenode.net/?channels=#promises) - -# Introduction - -Bluebird is a fully featured promise library with focus on innovative features and performance - -See the [**bluebird website**](http://bluebirdjs.com/docs/getting-started.html) for further documentation, references and instructions. See the [**API reference**](http://bluebirdjs.com/docs/api-reference.html) here. - -For bluebird 2.x documentation and files, see the [2.x tree](https://github.com/petkaantonov/bluebird/tree/2.x). - -# Questions and issues - -The [github issue tracker](https://github.com/petkaantonov/bluebird/issues) is **_only_** for bug reports and feature requests. Anything else, such as questions for help in using the library, should be posted in [StackOverflow](http://stackoverflow.com/questions/tagged/bluebird) under tags `promise` and `bluebird`. - - - -## Thanks - -Thanks to BrowserStack for providing us with a free account which lets us support old browsers like IE8. - -# License - -The MIT License (MIT) - -Copyright (c) 2013-2017 Petka Antonov - -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/publi/node_modules/bluebird/changelog.md b/publi/node_modules/bluebird/changelog.md deleted file mode 100644 index 73b2eb6..0000000 --- a/publi/node_modules/bluebird/changelog.md +++ /dev/null @@ -1 +0,0 @@ -[http://bluebirdjs.com/docs/changelog.html](http://bluebirdjs.com/docs/changelog.html) diff --git a/publi/node_modules/bluebird/js/browser/bluebird.core.js b/publi/node_modules/bluebird/js/browser/bluebird.core.js deleted file mode 100644 index 85b7791..0000000 --- a/publi/node_modules/bluebird/js/browser/bluebird.core.js +++ /dev/null @@ -1,3781 +0,0 @@ -/* @preserve - * The MIT License (MIT) - * - * Copyright (c) 2013-2017 Petka Antonov - * - * 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. - * - */ -/** - * bluebird build version 3.5.1 - * Features enabled: core - * Features disabled: race, call_get, generators, map, nodeify, promisify, props, reduce, settle, some, using, timers, filter, any, each -*/ -!function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var f;"undefined"!=typeof window?f=window:"undefined"!=typeof global?f=global:"undefined"!=typeof self&&(f=self),f.Promise=e()}}(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof _dereq_=="function"&&_dereq_;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof _dereq_=="function"&&_dereq_;for(var o=0;o 0) { - var fn = queue.shift(); - if (typeof fn !== "function") { - fn._settlePromises(); - continue; - } - var receiver = queue.shift(); - var arg = queue.shift(); - fn.call(receiver, arg); - } -}; - -Async.prototype._drainQueues = function () { - this._drainQueue(this._normalQueue); - this._reset(); - this._haveDrainedQueues = true; - this._drainQueue(this._lateQueue); -}; - -Async.prototype._queueTick = function () { - if (!this._isTickUsed) { - this._isTickUsed = true; - this._schedule(this.drainQueues); - } -}; - -Async.prototype._reset = function () { - this._isTickUsed = false; -}; - -module.exports = Async; -module.exports.firstLineError = firstLineError; - -},{"./queue":17,"./schedule":18,"./util":21}],2:[function(_dereq_,module,exports){ -"use strict"; -module.exports = function(Promise, INTERNAL, tryConvertToPromise, debug) { -var calledBind = false; -var rejectThis = function(_, e) { - this._reject(e); -}; - -var targetRejected = function(e, context) { - context.promiseRejectionQueued = true; - context.bindingPromise._then(rejectThis, rejectThis, null, this, e); -}; - -var bindingResolved = function(thisArg, context) { - if (((this._bitField & 50397184) === 0)) { - this._resolveCallback(context.target); - } -}; - -var bindingRejected = function(e, context) { - if (!context.promiseRejectionQueued) this._reject(e); -}; - -Promise.prototype.bind = function (thisArg) { - if (!calledBind) { - calledBind = true; - Promise.prototype._propagateFrom = debug.propagateFromFunction(); - Promise.prototype._boundValue = debug.boundValueFunction(); - } - var maybePromise = tryConvertToPromise(thisArg); - var ret = new Promise(INTERNAL); - ret._propagateFrom(this, 1); - var target = this._target(); - ret._setBoundTo(maybePromise); - if (maybePromise instanceof Promise) { - var context = { - promiseRejectionQueued: false, - promise: ret, - target: target, - bindingPromise: maybePromise - }; - target._then(INTERNAL, targetRejected, undefined, ret, context); - maybePromise._then( - bindingResolved, bindingRejected, undefined, ret, context); - ret._setOnCancel(maybePromise); - } else { - ret._resolveCallback(target); - } - return ret; -}; - -Promise.prototype._setBoundTo = function (obj) { - if (obj !== undefined) { - this._bitField = this._bitField | 2097152; - this._boundTo = obj; - } else { - this._bitField = this._bitField & (~2097152); - } -}; - -Promise.prototype._isBound = function () { - return (this._bitField & 2097152) === 2097152; -}; - -Promise.bind = function (thisArg, value) { - return Promise.resolve(value).bind(thisArg); -}; -}; - -},{}],3:[function(_dereq_,module,exports){ -"use strict"; -var old; -if (typeof Promise !== "undefined") old = Promise; -function noConflict() { - try { if (Promise === bluebird) Promise = old; } - catch (e) {} - return bluebird; -} -var bluebird = _dereq_("./promise")(); -bluebird.noConflict = noConflict; -module.exports = bluebird; - -},{"./promise":15}],4:[function(_dereq_,module,exports){ -"use strict"; -module.exports = function(Promise, PromiseArray, apiRejection, debug) { -var util = _dereq_("./util"); -var tryCatch = util.tryCatch; -var errorObj = util.errorObj; -var async = Promise._async; - -Promise.prototype["break"] = Promise.prototype.cancel = function() { - if (!debug.cancellation()) return this._warn("cancellation is disabled"); - - var promise = this; - var child = promise; - while (promise._isCancellable()) { - if (!promise._cancelBy(child)) { - if (child._isFollowing()) { - child._followee().cancel(); - } else { - child._cancelBranched(); - } - break; - } - - var parent = promise._cancellationParent; - if (parent == null || !parent._isCancellable()) { - if (promise._isFollowing()) { - promise._followee().cancel(); - } else { - promise._cancelBranched(); - } - break; - } else { - if (promise._isFollowing()) promise._followee().cancel(); - promise._setWillBeCancelled(); - child = promise; - promise = parent; - } - } -}; - -Promise.prototype._branchHasCancelled = function() { - this._branchesRemainingToCancel--; -}; - -Promise.prototype._enoughBranchesHaveCancelled = function() { - return this._branchesRemainingToCancel === undefined || - this._branchesRemainingToCancel <= 0; -}; - -Promise.prototype._cancelBy = function(canceller) { - if (canceller === this) { - this._branchesRemainingToCancel = 0; - this._invokeOnCancel(); - return true; - } else { - this._branchHasCancelled(); - if (this._enoughBranchesHaveCancelled()) { - this._invokeOnCancel(); - return true; - } - } - return false; -}; - -Promise.prototype._cancelBranched = function() { - if (this._enoughBranchesHaveCancelled()) { - this._cancel(); - } -}; - -Promise.prototype._cancel = function() { - if (!this._isCancellable()) return; - this._setCancelled(); - async.invoke(this._cancelPromises, this, undefined); -}; - -Promise.prototype._cancelPromises = function() { - if (this._length() > 0) this._settlePromises(); -}; - -Promise.prototype._unsetOnCancel = function() { - this._onCancelField = undefined; -}; - -Promise.prototype._isCancellable = function() { - return this.isPending() && !this._isCancelled(); -}; - -Promise.prototype.isCancellable = function() { - return this.isPending() && !this.isCancelled(); -}; - -Promise.prototype._doInvokeOnCancel = function(onCancelCallback, internalOnly) { - if (util.isArray(onCancelCallback)) { - for (var i = 0; i < onCancelCallback.length; ++i) { - this._doInvokeOnCancel(onCancelCallback[i], internalOnly); - } - } else if (onCancelCallback !== undefined) { - if (typeof onCancelCallback === "function") { - if (!internalOnly) { - var e = tryCatch(onCancelCallback).call(this._boundValue()); - if (e === errorObj) { - this._attachExtraTrace(e.e); - async.throwLater(e.e); - } - } - } else { - onCancelCallback._resultCancelled(this); - } - } -}; - -Promise.prototype._invokeOnCancel = function() { - var onCancelCallback = this._onCancel(); - this._unsetOnCancel(); - async.invoke(this._doInvokeOnCancel, this, onCancelCallback); -}; - -Promise.prototype._invokeInternalOnCancel = function() { - if (this._isCancellable()) { - this._doInvokeOnCancel(this._onCancel(), true); - this._unsetOnCancel(); - } -}; - -Promise.prototype._resultCancelled = function() { - this.cancel(); -}; - -}; - -},{"./util":21}],5:[function(_dereq_,module,exports){ -"use strict"; -module.exports = function(NEXT_FILTER) { -var util = _dereq_("./util"); -var getKeys = _dereq_("./es5").keys; -var tryCatch = util.tryCatch; -var errorObj = util.errorObj; - -function catchFilter(instances, cb, promise) { - return function(e) { - var boundTo = promise._boundValue(); - predicateLoop: for (var i = 0; i < instances.length; ++i) { - var item = instances[i]; - - if (item === Error || - (item != null && item.prototype instanceof Error)) { - if (e instanceof item) { - return tryCatch(cb).call(boundTo, e); - } - } else if (typeof item === "function") { - var matchesPredicate = tryCatch(item).call(boundTo, e); - if (matchesPredicate === errorObj) { - return matchesPredicate; - } else if (matchesPredicate) { - return tryCatch(cb).call(boundTo, e); - } - } else if (util.isObject(e)) { - var keys = getKeys(item); - for (var j = 0; j < keys.length; ++j) { - var key = keys[j]; - if (item[key] != e[key]) { - continue predicateLoop; - } - } - return tryCatch(cb).call(boundTo, e); - } - } - return NEXT_FILTER; - }; -} - -return catchFilter; -}; - -},{"./es5":10,"./util":21}],6:[function(_dereq_,module,exports){ -"use strict"; -module.exports = function(Promise) { -var longStackTraces = false; -var contextStack = []; - -Promise.prototype._promiseCreated = function() {}; -Promise.prototype._pushContext = function() {}; -Promise.prototype._popContext = function() {return null;}; -Promise._peekContext = Promise.prototype._peekContext = function() {}; - -function Context() { - this._trace = new Context.CapturedTrace(peekContext()); -} -Context.prototype._pushContext = function () { - if (this._trace !== undefined) { - this._trace._promiseCreated = null; - contextStack.push(this._trace); - } -}; - -Context.prototype._popContext = function () { - if (this._trace !== undefined) { - var trace = contextStack.pop(); - var ret = trace._promiseCreated; - trace._promiseCreated = null; - return ret; - } - return null; -}; - -function createContext() { - if (longStackTraces) return new Context(); -} - -function peekContext() { - var lastIndex = contextStack.length - 1; - if (lastIndex >= 0) { - return contextStack[lastIndex]; - } - return undefined; -} -Context.CapturedTrace = null; -Context.create = createContext; -Context.deactivateLongStackTraces = function() {}; -Context.activateLongStackTraces = function() { - var Promise_pushContext = Promise.prototype._pushContext; - var Promise_popContext = Promise.prototype._popContext; - var Promise_PeekContext = Promise._peekContext; - var Promise_peekContext = Promise.prototype._peekContext; - var Promise_promiseCreated = Promise.prototype._promiseCreated; - Context.deactivateLongStackTraces = function() { - Promise.prototype._pushContext = Promise_pushContext; - Promise.prototype._popContext = Promise_popContext; - Promise._peekContext = Promise_PeekContext; - Promise.prototype._peekContext = Promise_peekContext; - Promise.prototype._promiseCreated = Promise_promiseCreated; - longStackTraces = false; - }; - longStackTraces = true; - Promise.prototype._pushContext = Context.prototype._pushContext; - Promise.prototype._popContext = Context.prototype._popContext; - Promise._peekContext = Promise.prototype._peekContext = peekContext; - Promise.prototype._promiseCreated = function() { - var ctx = this._peekContext(); - if (ctx && ctx._promiseCreated == null) ctx._promiseCreated = this; - }; -}; -return Context; -}; - -},{}],7:[function(_dereq_,module,exports){ -"use strict"; -module.exports = function(Promise, Context) { -var getDomain = Promise._getDomain; -var async = Promise._async; -var Warning = _dereq_("./errors").Warning; -var util = _dereq_("./util"); -var canAttachTrace = util.canAttachTrace; -var unhandledRejectionHandled; -var possiblyUnhandledRejection; -var bluebirdFramePattern = - /[\\\/]bluebird[\\\/]js[\\\/](release|debug|instrumented)/; -var nodeFramePattern = /\((?:timers\.js):\d+:\d+\)/; -var parseLinePattern = /[\/<\(](.+?):(\d+):(\d+)\)?\s*$/; -var stackFramePattern = null; -var formatStack = null; -var indentStackFrames = false; -var printWarning; -var debugging = !!(util.env("BLUEBIRD_DEBUG") != 0 && - (true || - util.env("BLUEBIRD_DEBUG") || - util.env("NODE_ENV") === "development")); - -var warnings = !!(util.env("BLUEBIRD_WARNINGS") != 0 && - (debugging || util.env("BLUEBIRD_WARNINGS"))); - -var longStackTraces = !!(util.env("BLUEBIRD_LONG_STACK_TRACES") != 0 && - (debugging || util.env("BLUEBIRD_LONG_STACK_TRACES"))); - -var wForgottenReturn = util.env("BLUEBIRD_W_FORGOTTEN_RETURN") != 0 && - (warnings || !!util.env("BLUEBIRD_W_FORGOTTEN_RETURN")); - -Promise.prototype.suppressUnhandledRejections = function() { - var target = this._target(); - target._bitField = ((target._bitField & (~1048576)) | - 524288); -}; - -Promise.prototype._ensurePossibleRejectionHandled = function () { - if ((this._bitField & 524288) !== 0) return; - this._setRejectionIsUnhandled(); - var self = this; - setTimeout(function() { - self._notifyUnhandledRejection(); - }, 1); -}; - -Promise.prototype._notifyUnhandledRejectionIsHandled = function () { - fireRejectionEvent("rejectionHandled", - unhandledRejectionHandled, undefined, this); -}; - -Promise.prototype._setReturnedNonUndefined = function() { - this._bitField = this._bitField | 268435456; -}; - -Promise.prototype._returnedNonUndefined = function() { - return (this._bitField & 268435456) !== 0; -}; - -Promise.prototype._notifyUnhandledRejection = function () { - if (this._isRejectionUnhandled()) { - var reason = this._settledValue(); - this._setUnhandledRejectionIsNotified(); - fireRejectionEvent("unhandledRejection", - possiblyUnhandledRejection, reason, this); - } -}; - -Promise.prototype._setUnhandledRejectionIsNotified = function () { - this._bitField = this._bitField | 262144; -}; - -Promise.prototype._unsetUnhandledRejectionIsNotified = function () { - this._bitField = this._bitField & (~262144); -}; - -Promise.prototype._isUnhandledRejectionNotified = function () { - return (this._bitField & 262144) > 0; -}; - -Promise.prototype._setRejectionIsUnhandled = function () { - this._bitField = this._bitField | 1048576; -}; - -Promise.prototype._unsetRejectionIsUnhandled = function () { - this._bitField = this._bitField & (~1048576); - if (this._isUnhandledRejectionNotified()) { - this._unsetUnhandledRejectionIsNotified(); - this._notifyUnhandledRejectionIsHandled(); - } -}; - -Promise.prototype._isRejectionUnhandled = function () { - return (this._bitField & 1048576) > 0; -}; - -Promise.prototype._warn = function(message, shouldUseOwnTrace, promise) { - return warn(message, shouldUseOwnTrace, promise || this); -}; - -Promise.onPossiblyUnhandledRejection = function (fn) { - var domain = getDomain(); - possiblyUnhandledRejection = - typeof fn === "function" ? (domain === null ? - fn : util.domainBind(domain, fn)) - : undefined; -}; - -Promise.onUnhandledRejectionHandled = function (fn) { - var domain = getDomain(); - unhandledRejectionHandled = - typeof fn === "function" ? (domain === null ? - fn : util.domainBind(domain, fn)) - : undefined; -}; - -var disableLongStackTraces = function() {}; -Promise.longStackTraces = function () { - if (async.haveItemsQueued() && !config.longStackTraces) { - throw new Error("cannot enable long stack traces after promises have been created\u000a\u000a See http://goo.gl/MqrFmX\u000a"); - } - if (!config.longStackTraces && longStackTracesIsSupported()) { - var Promise_captureStackTrace = Promise.prototype._captureStackTrace; - var Promise_attachExtraTrace = Promise.prototype._attachExtraTrace; - config.longStackTraces = true; - disableLongStackTraces = function() { - if (async.haveItemsQueued() && !config.longStackTraces) { - throw new Error("cannot enable long stack traces after promises have been created\u000a\u000a See http://goo.gl/MqrFmX\u000a"); - } - Promise.prototype._captureStackTrace = Promise_captureStackTrace; - Promise.prototype._attachExtraTrace = Promise_attachExtraTrace; - Context.deactivateLongStackTraces(); - async.enableTrampoline(); - config.longStackTraces = false; - }; - Promise.prototype._captureStackTrace = longStackTracesCaptureStackTrace; - Promise.prototype._attachExtraTrace = longStackTracesAttachExtraTrace; - Context.activateLongStackTraces(); - async.disableTrampolineIfNecessary(); - } -}; - -Promise.hasLongStackTraces = function () { - return config.longStackTraces && longStackTracesIsSupported(); -}; - -var fireDomEvent = (function() { - try { - if (typeof CustomEvent === "function") { - var event = new CustomEvent("CustomEvent"); - util.global.dispatchEvent(event); - return function(name, event) { - var domEvent = new CustomEvent(name.toLowerCase(), { - detail: event, - cancelable: true - }); - return !util.global.dispatchEvent(domEvent); - }; - } else if (typeof Event === "function") { - var event = new Event("CustomEvent"); - util.global.dispatchEvent(event); - return function(name, event) { - var domEvent = new Event(name.toLowerCase(), { - cancelable: true - }); - domEvent.detail = event; - return !util.global.dispatchEvent(domEvent); - }; - } else { - var event = document.createEvent("CustomEvent"); - event.initCustomEvent("testingtheevent", false, true, {}); - util.global.dispatchEvent(event); - return function(name, event) { - var domEvent = document.createEvent("CustomEvent"); - domEvent.initCustomEvent(name.toLowerCase(), false, true, - event); - return !util.global.dispatchEvent(domEvent); - }; - } - } catch (e) {} - return function() { - return false; - }; -})(); - -var fireGlobalEvent = (function() { - if (util.isNode) { - return function() { - return process.emit.apply(process, arguments); - }; - } else { - if (!util.global) { - return function() { - return false; - }; - } - return function(name) { - var methodName = "on" + name.toLowerCase(); - var method = util.global[methodName]; - if (!method) return false; - method.apply(util.global, [].slice.call(arguments, 1)); - return true; - }; - } -})(); - -function generatePromiseLifecycleEventObject(name, promise) { - return {promise: promise}; -} - -var eventToObjectGenerator = { - promiseCreated: generatePromiseLifecycleEventObject, - promiseFulfilled: generatePromiseLifecycleEventObject, - promiseRejected: generatePromiseLifecycleEventObject, - promiseResolved: generatePromiseLifecycleEventObject, - promiseCancelled: generatePromiseLifecycleEventObject, - promiseChained: function(name, promise, child) { - return {promise: promise, child: child}; - }, - warning: function(name, warning) { - return {warning: warning}; - }, - unhandledRejection: function (name, reason, promise) { - return {reason: reason, promise: promise}; - }, - rejectionHandled: generatePromiseLifecycleEventObject -}; - -var activeFireEvent = function (name) { - var globalEventFired = false; - try { - globalEventFired = fireGlobalEvent.apply(null, arguments); - } catch (e) { - async.throwLater(e); - globalEventFired = true; - } - - var domEventFired = false; - try { - domEventFired = fireDomEvent(name, - eventToObjectGenerator[name].apply(null, arguments)); - } catch (e) { - async.throwLater(e); - domEventFired = true; - } - - return domEventFired || globalEventFired; -}; - -Promise.config = function(opts) { - opts = Object(opts); - if ("longStackTraces" in opts) { - if (opts.longStackTraces) { - Promise.longStackTraces(); - } else if (!opts.longStackTraces && Promise.hasLongStackTraces()) { - disableLongStackTraces(); - } - } - if ("warnings" in opts) { - var warningsOption = opts.warnings; - config.warnings = !!warningsOption; - wForgottenReturn = config.warnings; - - if (util.isObject(warningsOption)) { - if ("wForgottenReturn" in warningsOption) { - wForgottenReturn = !!warningsOption.wForgottenReturn; - } - } - } - if ("cancellation" in opts && opts.cancellation && !config.cancellation) { - if (async.haveItemsQueued()) { - throw new Error( - "cannot enable cancellation after promises are in use"); - } - Promise.prototype._clearCancellationData = - cancellationClearCancellationData; - Promise.prototype._propagateFrom = cancellationPropagateFrom; - Promise.prototype._onCancel = cancellationOnCancel; - Promise.prototype._setOnCancel = cancellationSetOnCancel; - Promise.prototype._attachCancellationCallback = - cancellationAttachCancellationCallback; - Promise.prototype._execute = cancellationExecute; - propagateFromFunction = cancellationPropagateFrom; - config.cancellation = true; - } - if ("monitoring" in opts) { - if (opts.monitoring && !config.monitoring) { - config.monitoring = true; - Promise.prototype._fireEvent = activeFireEvent; - } else if (!opts.monitoring && config.monitoring) { - config.monitoring = false; - Promise.prototype._fireEvent = defaultFireEvent; - } - } - return Promise; -}; - -function defaultFireEvent() { return false; } - -Promise.prototype._fireEvent = defaultFireEvent; -Promise.prototype._execute = function(executor, resolve, reject) { - try { - executor(resolve, reject); - } catch (e) { - return e; - } -}; -Promise.prototype._onCancel = function () {}; -Promise.prototype._setOnCancel = function (handler) { ; }; -Promise.prototype._attachCancellationCallback = function(onCancel) { - ; -}; -Promise.prototype._captureStackTrace = function () {}; -Promise.prototype._attachExtraTrace = function () {}; -Promise.prototype._clearCancellationData = function() {}; -Promise.prototype._propagateFrom = function (parent, flags) { - ; - ; -}; - -function cancellationExecute(executor, resolve, reject) { - var promise = this; - try { - executor(resolve, reject, function(onCancel) { - if (typeof onCancel !== "function") { - throw new TypeError("onCancel must be a function, got: " + - util.toString(onCancel)); - } - promise._attachCancellationCallback(onCancel); - }); - } catch (e) { - return e; - } -} - -function cancellationAttachCancellationCallback(onCancel) { - if (!this._isCancellable()) return this; - - var previousOnCancel = this._onCancel(); - if (previousOnCancel !== undefined) { - if (util.isArray(previousOnCancel)) { - previousOnCancel.push(onCancel); - } else { - this._setOnCancel([previousOnCancel, onCancel]); - } - } else { - this._setOnCancel(onCancel); - } -} - -function cancellationOnCancel() { - return this._onCancelField; -} - -function cancellationSetOnCancel(onCancel) { - this._onCancelField = onCancel; -} - -function cancellationClearCancellationData() { - this._cancellationParent = undefined; - this._onCancelField = undefined; -} - -function cancellationPropagateFrom(parent, flags) { - if ((flags & 1) !== 0) { - this._cancellationParent = parent; - var branchesRemainingToCancel = parent._branchesRemainingToCancel; - if (branchesRemainingToCancel === undefined) { - branchesRemainingToCancel = 0; - } - parent._branchesRemainingToCancel = branchesRemainingToCancel + 1; - } - if ((flags & 2) !== 0 && parent._isBound()) { - this._setBoundTo(parent._boundTo); - } -} - -function bindingPropagateFrom(parent, flags) { - if ((flags & 2) !== 0 && parent._isBound()) { - this._setBoundTo(parent._boundTo); - } -} -var propagateFromFunction = bindingPropagateFrom; - -function boundValueFunction() { - var ret = this._boundTo; - if (ret !== undefined) { - if (ret instanceof Promise) { - if (ret.isFulfilled()) { - return ret.value(); - } else { - return undefined; - } - } - } - return ret; -} - -function longStackTracesCaptureStackTrace() { - this._trace = new CapturedTrace(this._peekContext()); -} - -function longStackTracesAttachExtraTrace(error, ignoreSelf) { - if (canAttachTrace(error)) { - var trace = this._trace; - if (trace !== undefined) { - if (ignoreSelf) trace = trace._parent; - } - if (trace !== undefined) { - trace.attachExtraTrace(error); - } else if (!error.__stackCleaned__) { - var parsed = parseStackAndMessage(error); - util.notEnumerableProp(error, "stack", - parsed.message + "\n" + parsed.stack.join("\n")); - util.notEnumerableProp(error, "__stackCleaned__", true); - } - } -} - -function checkForgottenReturns(returnValue, promiseCreated, name, promise, - parent) { - if (returnValue === undefined && promiseCreated !== null && - wForgottenReturn) { - if (parent !== undefined && parent._returnedNonUndefined()) return; - if ((promise._bitField & 65535) === 0) return; - - if (name) name = name + " "; - var handlerLine = ""; - var creatorLine = ""; - if (promiseCreated._trace) { - var traceLines = promiseCreated._trace.stack.split("\n"); - var stack = cleanStack(traceLines); - for (var i = stack.length - 1; i >= 0; --i) { - var line = stack[i]; - if (!nodeFramePattern.test(line)) { - var lineMatches = line.match(parseLinePattern); - if (lineMatches) { - handlerLine = "at " + lineMatches[1] + - ":" + lineMatches[2] + ":" + lineMatches[3] + " "; - } - break; - } - } - - if (stack.length > 0) { - var firstUserLine = stack[0]; - for (var i = 0; i < traceLines.length; ++i) { - - if (traceLines[i] === firstUserLine) { - if (i > 0) { - creatorLine = "\n" + traceLines[i - 1]; - } - break; - } - } - - } - } - var msg = "a promise was created in a " + name + - "handler " + handlerLine + "but was not returned from it, " + - "see http://goo.gl/rRqMUw" + - creatorLine; - promise._warn(msg, true, promiseCreated); - } -} - -function deprecated(name, replacement) { - var message = name + - " is deprecated and will be removed in a future version."; - if (replacement) message += " Use " + replacement + " instead."; - return warn(message); -} - -function warn(message, shouldUseOwnTrace, promise) { - if (!config.warnings) return; - var warning = new Warning(message); - var ctx; - if (shouldUseOwnTrace) { - promise._attachExtraTrace(warning); - } else if (config.longStackTraces && (ctx = Promise._peekContext())) { - ctx.attachExtraTrace(warning); - } else { - var parsed = parseStackAndMessage(warning); - warning.stack = parsed.message + "\n" + parsed.stack.join("\n"); - } - - if (!activeFireEvent("warning", warning)) { - formatAndLogError(warning, "", true); - } -} - -function reconstructStack(message, stacks) { - for (var i = 0; i < stacks.length - 1; ++i) { - stacks[i].push("From previous event:"); - stacks[i] = stacks[i].join("\n"); - } - if (i < stacks.length) { - stacks[i] = stacks[i].join("\n"); - } - return message + "\n" + stacks.join("\n"); -} - -function removeDuplicateOrEmptyJumps(stacks) { - for (var i = 0; i < stacks.length; ++i) { - if (stacks[i].length === 0 || - ((i + 1 < stacks.length) && stacks[i][0] === stacks[i+1][0])) { - stacks.splice(i, 1); - i--; - } - } -} - -function removeCommonRoots(stacks) { - var current = stacks[0]; - for (var i = 1; i < stacks.length; ++i) { - var prev = stacks[i]; - var currentLastIndex = current.length - 1; - var currentLastLine = current[currentLastIndex]; - var commonRootMeetPoint = -1; - - for (var j = prev.length - 1; j >= 0; --j) { - if (prev[j] === currentLastLine) { - commonRootMeetPoint = j; - break; - } - } - - for (var j = commonRootMeetPoint; j >= 0; --j) { - var line = prev[j]; - if (current[currentLastIndex] === line) { - current.pop(); - currentLastIndex--; - } else { - break; - } - } - current = prev; - } -} - -function cleanStack(stack) { - var ret = []; - for (var i = 0; i < stack.length; ++i) { - var line = stack[i]; - var isTraceLine = " (No stack trace)" === line || - stackFramePattern.test(line); - var isInternalFrame = isTraceLine && shouldIgnore(line); - if (isTraceLine && !isInternalFrame) { - if (indentStackFrames && line.charAt(0) !== " ") { - line = " " + line; - } - ret.push(line); - } - } - return ret; -} - -function stackFramesAsArray(error) { - var stack = error.stack.replace(/\s+$/g, "").split("\n"); - for (var i = 0; i < stack.length; ++i) { - var line = stack[i]; - if (" (No stack trace)" === line || stackFramePattern.test(line)) { - break; - } - } - if (i > 0 && error.name != "SyntaxError") { - stack = stack.slice(i); - } - return stack; -} - -function parseStackAndMessage(error) { - var stack = error.stack; - var message = error.toString(); - stack = typeof stack === "string" && stack.length > 0 - ? stackFramesAsArray(error) : [" (No stack trace)"]; - return { - message: message, - stack: error.name == "SyntaxError" ? stack : cleanStack(stack) - }; -} - -function formatAndLogError(error, title, isSoft) { - if (typeof console !== "undefined") { - var message; - if (util.isObject(error)) { - var stack = error.stack; - message = title + formatStack(stack, error); - } else { - message = title + String(error); - } - if (typeof printWarning === "function") { - printWarning(message, isSoft); - } else if (typeof console.log === "function" || - typeof console.log === "object") { - console.log(message); - } - } -} - -function fireRejectionEvent(name, localHandler, reason, promise) { - var localEventFired = false; - try { - if (typeof localHandler === "function") { - localEventFired = true; - if (name === "rejectionHandled") { - localHandler(promise); - } else { - localHandler(reason, promise); - } - } - } catch (e) { - async.throwLater(e); - } - - if (name === "unhandledRejection") { - if (!activeFireEvent(name, reason, promise) && !localEventFired) { - formatAndLogError(reason, "Unhandled rejection "); - } - } else { - activeFireEvent(name, promise); - } -} - -function formatNonError(obj) { - var str; - if (typeof obj === "function") { - str = "[function " + - (obj.name || "anonymous") + - "]"; - } else { - str = obj && typeof obj.toString === "function" - ? obj.toString() : util.toString(obj); - var ruselessToString = /\[object [a-zA-Z0-9$_]+\]/; - if (ruselessToString.test(str)) { - try { - var newStr = JSON.stringify(obj); - str = newStr; - } - catch(e) { - - } - } - if (str.length === 0) { - str = "(empty array)"; - } - } - return ("(<" + snip(str) + ">, no stack trace)"); -} - -function snip(str) { - var maxChars = 41; - if (str.length < maxChars) { - return str; - } - return str.substr(0, maxChars - 3) + "..."; -} - -function longStackTracesIsSupported() { - return typeof captureStackTrace === "function"; -} - -var shouldIgnore = function() { return false; }; -var parseLineInfoRegex = /[\/<\(]([^:\/]+):(\d+):(?:\d+)\)?\s*$/; -function parseLineInfo(line) { - var matches = line.match(parseLineInfoRegex); - if (matches) { - return { - fileName: matches[1], - line: parseInt(matches[2], 10) - }; - } -} - -function setBounds(firstLineError, lastLineError) { - if (!longStackTracesIsSupported()) return; - var firstStackLines = firstLineError.stack.split("\n"); - var lastStackLines = lastLineError.stack.split("\n"); - var firstIndex = -1; - var lastIndex = -1; - var firstFileName; - var lastFileName; - for (var i = 0; i < firstStackLines.length; ++i) { - var result = parseLineInfo(firstStackLines[i]); - if (result) { - firstFileName = result.fileName; - firstIndex = result.line; - break; - } - } - for (var i = 0; i < lastStackLines.length; ++i) { - var result = parseLineInfo(lastStackLines[i]); - if (result) { - lastFileName = result.fileName; - lastIndex = result.line; - break; - } - } - if (firstIndex < 0 || lastIndex < 0 || !firstFileName || !lastFileName || - firstFileName !== lastFileName || firstIndex >= lastIndex) { - return; - } - - shouldIgnore = function(line) { - if (bluebirdFramePattern.test(line)) return true; - var info = parseLineInfo(line); - if (info) { - if (info.fileName === firstFileName && - (firstIndex <= info.line && info.line <= lastIndex)) { - return true; - } - } - return false; - }; -} - -function CapturedTrace(parent) { - this._parent = parent; - this._promisesCreated = 0; - var length = this._length = 1 + (parent === undefined ? 0 : parent._length); - captureStackTrace(this, CapturedTrace); - if (length > 32) this.uncycle(); -} -util.inherits(CapturedTrace, Error); -Context.CapturedTrace = CapturedTrace; - -CapturedTrace.prototype.uncycle = function() { - var length = this._length; - if (length < 2) return; - var nodes = []; - var stackToIndex = {}; - - for (var i = 0, node = this; node !== undefined; ++i) { - nodes.push(node); - node = node._parent; - } - length = this._length = i; - for (var i = length - 1; i >= 0; --i) { - var stack = nodes[i].stack; - if (stackToIndex[stack] === undefined) { - stackToIndex[stack] = i; - } - } - for (var i = 0; i < length; ++i) { - var currentStack = nodes[i].stack; - var index = stackToIndex[currentStack]; - if (index !== undefined && index !== i) { - if (index > 0) { - nodes[index - 1]._parent = undefined; - nodes[index - 1]._length = 1; - } - nodes[i]._parent = undefined; - nodes[i]._length = 1; - var cycleEdgeNode = i > 0 ? nodes[i - 1] : this; - - if (index < length - 1) { - cycleEdgeNode._parent = nodes[index + 1]; - cycleEdgeNode._parent.uncycle(); - cycleEdgeNode._length = - cycleEdgeNode._parent._length + 1; - } else { - cycleEdgeNode._parent = undefined; - cycleEdgeNode._length = 1; - } - var currentChildLength = cycleEdgeNode._length + 1; - for (var j = i - 2; j >= 0; --j) { - nodes[j]._length = currentChildLength; - currentChildLength++; - } - return; - } - } -}; - -CapturedTrace.prototype.attachExtraTrace = function(error) { - if (error.__stackCleaned__) return; - this.uncycle(); - var parsed = parseStackAndMessage(error); - var message = parsed.message; - var stacks = [parsed.stack]; - - var trace = this; - while (trace !== undefined) { - stacks.push(cleanStack(trace.stack.split("\n"))); - trace = trace._parent; - } - removeCommonRoots(stacks); - removeDuplicateOrEmptyJumps(stacks); - util.notEnumerableProp(error, "stack", reconstructStack(message, stacks)); - util.notEnumerableProp(error, "__stackCleaned__", true); -}; - -var captureStackTrace = (function stackDetection() { - var v8stackFramePattern = /^\s*at\s*/; - var v8stackFormatter = function(stack, error) { - if (typeof stack === "string") return stack; - - if (error.name !== undefined && - error.message !== undefined) { - return error.toString(); - } - return formatNonError(error); - }; - - if (typeof Error.stackTraceLimit === "number" && - typeof Error.captureStackTrace === "function") { - Error.stackTraceLimit += 6; - stackFramePattern = v8stackFramePattern; - formatStack = v8stackFormatter; - var captureStackTrace = Error.captureStackTrace; - - shouldIgnore = function(line) { - return bluebirdFramePattern.test(line); - }; - return function(receiver, ignoreUntil) { - Error.stackTraceLimit += 6; - captureStackTrace(receiver, ignoreUntil); - Error.stackTraceLimit -= 6; - }; - } - var err = new Error(); - - if (typeof err.stack === "string" && - err.stack.split("\n")[0].indexOf("stackDetection@") >= 0) { - stackFramePattern = /@/; - formatStack = v8stackFormatter; - indentStackFrames = true; - return function captureStackTrace(o) { - o.stack = new Error().stack; - }; - } - - var hasStackAfterThrow; - try { throw new Error(); } - catch(e) { - hasStackAfterThrow = ("stack" in e); - } - if (!("stack" in err) && hasStackAfterThrow && - typeof Error.stackTraceLimit === "number") { - stackFramePattern = v8stackFramePattern; - formatStack = v8stackFormatter; - return function captureStackTrace(o) { - Error.stackTraceLimit += 6; - try { throw new Error(); } - catch(e) { o.stack = e.stack; } - Error.stackTraceLimit -= 6; - }; - } - - formatStack = function(stack, error) { - if (typeof stack === "string") return stack; - - if ((typeof error === "object" || - typeof error === "function") && - error.name !== undefined && - error.message !== undefined) { - return error.toString(); - } - return formatNonError(error); - }; - - return null; - -})([]); - -if (typeof console !== "undefined" && typeof console.warn !== "undefined") { - printWarning = function (message) { - console.warn(message); - }; - if (util.isNode && process.stderr.isTTY) { - printWarning = function(message, isSoft) { - var color = isSoft ? "\u001b[33m" : "\u001b[31m"; - console.warn(color + message + "\u001b[0m\n"); - }; - } else if (!util.isNode && typeof (new Error().stack) === "string") { - printWarning = function(message, isSoft) { - console.warn("%c" + message, - isSoft ? "color: darkorange" : "color: red"); - }; - } -} - -var config = { - warnings: warnings, - longStackTraces: false, - cancellation: false, - monitoring: false -}; - -if (longStackTraces) Promise.longStackTraces(); - -return { - longStackTraces: function() { - return config.longStackTraces; - }, - warnings: function() { - return config.warnings; - }, - cancellation: function() { - return config.cancellation; - }, - monitoring: function() { - return config.monitoring; - }, - propagateFromFunction: function() { - return propagateFromFunction; - }, - boundValueFunction: function() { - return boundValueFunction; - }, - checkForgottenReturns: checkForgottenReturns, - setBounds: setBounds, - warn: warn, - deprecated: deprecated, - CapturedTrace: CapturedTrace, - fireDomEvent: fireDomEvent, - fireGlobalEvent: fireGlobalEvent -}; -}; - -},{"./errors":9,"./util":21}],8:[function(_dereq_,module,exports){ -"use strict"; -module.exports = function(Promise) { -function returner() { - return this.value; -} -function thrower() { - throw this.reason; -} - -Promise.prototype["return"] = -Promise.prototype.thenReturn = function (value) { - if (value instanceof Promise) value.suppressUnhandledRejections(); - return this._then( - returner, undefined, undefined, {value: value}, undefined); -}; - -Promise.prototype["throw"] = -Promise.prototype.thenThrow = function (reason) { - return this._then( - thrower, undefined, undefined, {reason: reason}, undefined); -}; - -Promise.prototype.catchThrow = function (reason) { - if (arguments.length <= 1) { - return this._then( - undefined, thrower, undefined, {reason: reason}, undefined); - } else { - var _reason = arguments[1]; - var handler = function() {throw _reason;}; - return this.caught(reason, handler); - } -}; - -Promise.prototype.catchReturn = function (value) { - if (arguments.length <= 1) { - if (value instanceof Promise) value.suppressUnhandledRejections(); - return this._then( - undefined, returner, undefined, {value: value}, undefined); - } else { - var _value = arguments[1]; - if (_value instanceof Promise) _value.suppressUnhandledRejections(); - var handler = function() {return _value;}; - return this.caught(value, handler); - } -}; -}; - -},{}],9:[function(_dereq_,module,exports){ -"use strict"; -var es5 = _dereq_("./es5"); -var Objectfreeze = es5.freeze; -var util = _dereq_("./util"); -var inherits = util.inherits; -var notEnumerableProp = util.notEnumerableProp; - -function subError(nameProperty, defaultMessage) { - function SubError(message) { - if (!(this instanceof SubError)) return new SubError(message); - notEnumerableProp(this, "message", - typeof message === "string" ? message : defaultMessage); - notEnumerableProp(this, "name", nameProperty); - if (Error.captureStackTrace) { - Error.captureStackTrace(this, this.constructor); - } else { - Error.call(this); - } - } - inherits(SubError, Error); - return SubError; -} - -var _TypeError, _RangeError; -var Warning = subError("Warning", "warning"); -var CancellationError = subError("CancellationError", "cancellation error"); -var TimeoutError = subError("TimeoutError", "timeout error"); -var AggregateError = subError("AggregateError", "aggregate error"); -try { - _TypeError = TypeError; - _RangeError = RangeError; -} catch(e) { - _TypeError = subError("TypeError", "type error"); - _RangeError = subError("RangeError", "range error"); -} - -var methods = ("join pop push shift unshift slice filter forEach some " + - "every map indexOf lastIndexOf reduce reduceRight sort reverse").split(" "); - -for (var i = 0; i < methods.length; ++i) { - if (typeof Array.prototype[methods[i]] === "function") { - AggregateError.prototype[methods[i]] = Array.prototype[methods[i]]; - } -} - -es5.defineProperty(AggregateError.prototype, "length", { - value: 0, - configurable: false, - writable: true, - enumerable: true -}); -AggregateError.prototype["isOperational"] = true; -var level = 0; -AggregateError.prototype.toString = function() { - var indent = Array(level * 4 + 1).join(" "); - var ret = "\n" + indent + "AggregateError of:" + "\n"; - level++; - indent = Array(level * 4 + 1).join(" "); - for (var i = 0; i < this.length; ++i) { - var str = this[i] === this ? "[Circular AggregateError]" : this[i] + ""; - var lines = str.split("\n"); - for (var j = 0; j < lines.length; ++j) { - lines[j] = indent + lines[j]; - } - str = lines.join("\n"); - ret += str + "\n"; - } - level--; - return ret; -}; - -function OperationalError(message) { - if (!(this instanceof OperationalError)) - return new OperationalError(message); - notEnumerableProp(this, "name", "OperationalError"); - notEnumerableProp(this, "message", message); - this.cause = message; - this["isOperational"] = true; - - if (message instanceof Error) { - notEnumerableProp(this, "message", message.message); - notEnumerableProp(this, "stack", message.stack); - } else if (Error.captureStackTrace) { - Error.captureStackTrace(this, this.constructor); - } - -} -inherits(OperationalError, Error); - -var errorTypes = Error["__BluebirdErrorTypes__"]; -if (!errorTypes) { - errorTypes = Objectfreeze({ - CancellationError: CancellationError, - TimeoutError: TimeoutError, - OperationalError: OperationalError, - RejectionError: OperationalError, - AggregateError: AggregateError - }); - es5.defineProperty(Error, "__BluebirdErrorTypes__", { - value: errorTypes, - writable: false, - enumerable: false, - configurable: false - }); -} - -module.exports = { - Error: Error, - TypeError: _TypeError, - RangeError: _RangeError, - CancellationError: errorTypes.CancellationError, - OperationalError: errorTypes.OperationalError, - TimeoutError: errorTypes.TimeoutError, - AggregateError: errorTypes.AggregateError, - Warning: Warning -}; - -},{"./es5":10,"./util":21}],10:[function(_dereq_,module,exports){ -var isES5 = (function(){ - "use strict"; - return this === undefined; -})(); - -if (isES5) { - module.exports = { - freeze: Object.freeze, - defineProperty: Object.defineProperty, - getDescriptor: Object.getOwnPropertyDescriptor, - keys: Object.keys, - names: Object.getOwnPropertyNames, - getPrototypeOf: Object.getPrototypeOf, - isArray: Array.isArray, - isES5: isES5, - propertyIsWritable: function(obj, prop) { - var descriptor = Object.getOwnPropertyDescriptor(obj, prop); - return !!(!descriptor || descriptor.writable || descriptor.set); - } - }; -} else { - var has = {}.hasOwnProperty; - var str = {}.toString; - var proto = {}.constructor.prototype; - - var ObjectKeys = function (o) { - var ret = []; - for (var key in o) { - if (has.call(o, key)) { - ret.push(key); - } - } - return ret; - }; - - var ObjectGetDescriptor = function(o, key) { - return {value: o[key]}; - }; - - var ObjectDefineProperty = function (o, key, desc) { - o[key] = desc.value; - return o; - }; - - var ObjectFreeze = function (obj) { - return obj; - }; - - var ObjectGetPrototypeOf = function (obj) { - try { - return Object(obj).constructor.prototype; - } - catch (e) { - return proto; - } - }; - - var ArrayIsArray = function (obj) { - try { - return str.call(obj) === "[object Array]"; - } - catch(e) { - return false; - } - }; - - module.exports = { - isArray: ArrayIsArray, - keys: ObjectKeys, - names: ObjectKeys, - defineProperty: ObjectDefineProperty, - getDescriptor: ObjectGetDescriptor, - freeze: ObjectFreeze, - getPrototypeOf: ObjectGetPrototypeOf, - isES5: isES5, - propertyIsWritable: function() { - return true; - } - }; -} - -},{}],11:[function(_dereq_,module,exports){ -"use strict"; -module.exports = function(Promise, tryConvertToPromise, NEXT_FILTER) { -var util = _dereq_("./util"); -var CancellationError = Promise.CancellationError; -var errorObj = util.errorObj; -var catchFilter = _dereq_("./catch_filter")(NEXT_FILTER); - -function PassThroughHandlerContext(promise, type, handler) { - this.promise = promise; - this.type = type; - this.handler = handler; - this.called = false; - this.cancelPromise = null; -} - -PassThroughHandlerContext.prototype.isFinallyHandler = function() { - return this.type === 0; -}; - -function FinallyHandlerCancelReaction(finallyHandler) { - this.finallyHandler = finallyHandler; -} - -FinallyHandlerCancelReaction.prototype._resultCancelled = function() { - checkCancel(this.finallyHandler); -}; - -function checkCancel(ctx, reason) { - if (ctx.cancelPromise != null) { - if (arguments.length > 1) { - ctx.cancelPromise._reject(reason); - } else { - ctx.cancelPromise._cancel(); - } - ctx.cancelPromise = null; - return true; - } - return false; -} - -function succeed() { - return finallyHandler.call(this, this.promise._target()._settledValue()); -} -function fail(reason) { - if (checkCancel(this, reason)) return; - errorObj.e = reason; - return errorObj; -} -function finallyHandler(reasonOrValue) { - var promise = this.promise; - var handler = this.handler; - - if (!this.called) { - this.called = true; - var ret = this.isFinallyHandler() - ? handler.call(promise._boundValue()) - : handler.call(promise._boundValue(), reasonOrValue); - if (ret === NEXT_FILTER) { - return ret; - } else if (ret !== undefined) { - promise._setReturnedNonUndefined(); - var maybePromise = tryConvertToPromise(ret, promise); - if (maybePromise instanceof Promise) { - if (this.cancelPromise != null) { - if (maybePromise._isCancelled()) { - var reason = - new CancellationError("late cancellation observer"); - promise._attachExtraTrace(reason); - errorObj.e = reason; - return errorObj; - } else if (maybePromise.isPending()) { - maybePromise._attachCancellationCallback( - new FinallyHandlerCancelReaction(this)); - } - } - return maybePromise._then( - succeed, fail, undefined, this, undefined); - } - } - } - - if (promise.isRejected()) { - checkCancel(this); - errorObj.e = reasonOrValue; - return errorObj; - } else { - checkCancel(this); - return reasonOrValue; - } -} - -Promise.prototype._passThrough = function(handler, type, success, fail) { - if (typeof handler !== "function") return this.then(); - return this._then(success, - fail, - undefined, - new PassThroughHandlerContext(this, type, handler), - undefined); -}; - -Promise.prototype.lastly = -Promise.prototype["finally"] = function (handler) { - return this._passThrough(handler, - 0, - finallyHandler, - finallyHandler); -}; - - -Promise.prototype.tap = function (handler) { - return this._passThrough(handler, 1, finallyHandler); -}; - -Promise.prototype.tapCatch = function (handlerOrPredicate) { - var len = arguments.length; - if(len === 1) { - return this._passThrough(handlerOrPredicate, - 1, - undefined, - finallyHandler); - } else { - var catchInstances = new Array(len - 1), - j = 0, i; - for (i = 0; i < len - 1; ++i) { - var item = arguments[i]; - if (util.isObject(item)) { - catchInstances[j++] = item; - } else { - return Promise.reject(new TypeError( - "tapCatch statement predicate: " - + "expecting an object but got " + util.classString(item) - )); - } - } - catchInstances.length = j; - var handler = arguments[i]; - return this._passThrough(catchFilter(catchInstances, handler, this), - 1, - undefined, - finallyHandler); - } - -}; - -return PassThroughHandlerContext; -}; - -},{"./catch_filter":5,"./util":21}],12:[function(_dereq_,module,exports){ -"use strict"; -module.exports = -function(Promise, PromiseArray, tryConvertToPromise, INTERNAL, async, - getDomain) { -var util = _dereq_("./util"); -var canEvaluate = util.canEvaluate; -var tryCatch = util.tryCatch; -var errorObj = util.errorObj; -var reject; - -if (!true) { -if (canEvaluate) { - var thenCallback = function(i) { - return new Function("value", "holder", " \n\ - 'use strict'; \n\ - holder.pIndex = value; \n\ - holder.checkFulfillment(this); \n\ - ".replace(/Index/g, i)); - }; - - var promiseSetter = function(i) { - return new Function("promise", "holder", " \n\ - 'use strict'; \n\ - holder.pIndex = promise; \n\ - ".replace(/Index/g, i)); - }; - - var generateHolderClass = function(total) { - var props = new Array(total); - for (var i = 0; i < props.length; ++i) { - props[i] = "this.p" + (i+1); - } - var assignment = props.join(" = ") + " = null;"; - var cancellationCode= "var promise;\n" + props.map(function(prop) { - return " \n\ - promise = " + prop + "; \n\ - if (promise instanceof Promise) { \n\ - promise.cancel(); \n\ - } \n\ - "; - }).join("\n"); - var passedArguments = props.join(", "); - var name = "Holder$" + total; - - - var code = "return function(tryCatch, errorObj, Promise, async) { \n\ - 'use strict'; \n\ - function [TheName](fn) { \n\ - [TheProperties] \n\ - this.fn = fn; \n\ - this.asyncNeeded = true; \n\ - this.now = 0; \n\ - } \n\ - \n\ - [TheName].prototype._callFunction = function(promise) { \n\ - promise._pushContext(); \n\ - var ret = tryCatch(this.fn)([ThePassedArguments]); \n\ - promise._popContext(); \n\ - if (ret === errorObj) { \n\ - promise._rejectCallback(ret.e, false); \n\ - } else { \n\ - promise._resolveCallback(ret); \n\ - } \n\ - }; \n\ - \n\ - [TheName].prototype.checkFulfillment = function(promise) { \n\ - var now = ++this.now; \n\ - if (now === [TheTotal]) { \n\ - if (this.asyncNeeded) { \n\ - async.invoke(this._callFunction, this, promise); \n\ - } else { \n\ - this._callFunction(promise); \n\ - } \n\ - \n\ - } \n\ - }; \n\ - \n\ - [TheName].prototype._resultCancelled = function() { \n\ - [CancellationCode] \n\ - }; \n\ - \n\ - return [TheName]; \n\ - }(tryCatch, errorObj, Promise, async); \n\ - "; - - code = code.replace(/\[TheName\]/g, name) - .replace(/\[TheTotal\]/g, total) - .replace(/\[ThePassedArguments\]/g, passedArguments) - .replace(/\[TheProperties\]/g, assignment) - .replace(/\[CancellationCode\]/g, cancellationCode); - - return new Function("tryCatch", "errorObj", "Promise", "async", code) - (tryCatch, errorObj, Promise, async); - }; - - var holderClasses = []; - var thenCallbacks = []; - var promiseSetters = []; - - for (var i = 0; i < 8; ++i) { - holderClasses.push(generateHolderClass(i + 1)); - thenCallbacks.push(thenCallback(i + 1)); - promiseSetters.push(promiseSetter(i + 1)); - } - - reject = function (reason) { - this._reject(reason); - }; -}} - -Promise.join = function () { - var last = arguments.length - 1; - var fn; - if (last > 0 && typeof arguments[last] === "function") { - fn = arguments[last]; - if (!true) { - if (last <= 8 && canEvaluate) { - var ret = new Promise(INTERNAL); - ret._captureStackTrace(); - var HolderClass = holderClasses[last - 1]; - var holder = new HolderClass(fn); - var callbacks = thenCallbacks; - - for (var i = 0; i < last; ++i) { - var maybePromise = tryConvertToPromise(arguments[i], ret); - if (maybePromise instanceof Promise) { - maybePromise = maybePromise._target(); - var bitField = maybePromise._bitField; - ; - if (((bitField & 50397184) === 0)) { - maybePromise._then(callbacks[i], reject, - undefined, ret, holder); - promiseSetters[i](maybePromise, holder); - holder.asyncNeeded = false; - } else if (((bitField & 33554432) !== 0)) { - callbacks[i].call(ret, - maybePromise._value(), holder); - } else if (((bitField & 16777216) !== 0)) { - ret._reject(maybePromise._reason()); - } else { - ret._cancel(); - } - } else { - callbacks[i].call(ret, maybePromise, holder); - } - } - - if (!ret._isFateSealed()) { - if (holder.asyncNeeded) { - var domain = getDomain(); - if (domain !== null) { - holder.fn = util.domainBind(domain, holder.fn); - } - } - ret._setAsyncGuaranteed(); - ret._setOnCancel(holder); - } - return ret; - } - } - } - var args = [].slice.call(arguments);; - if (fn) args.pop(); - var ret = new PromiseArray(args).promise(); - return fn !== undefined ? ret.spread(fn) : ret; -}; - -}; - -},{"./util":21}],13:[function(_dereq_,module,exports){ -"use strict"; -module.exports = -function(Promise, INTERNAL, tryConvertToPromise, apiRejection, debug) { -var util = _dereq_("./util"); -var tryCatch = util.tryCatch; - -Promise.method = function (fn) { - if (typeof fn !== "function") { - throw new Promise.TypeError("expecting a function but got " + util.classString(fn)); - } - return function () { - var ret = new Promise(INTERNAL); - ret._captureStackTrace(); - ret._pushContext(); - var value = tryCatch(fn).apply(this, arguments); - var promiseCreated = ret._popContext(); - debug.checkForgottenReturns( - value, promiseCreated, "Promise.method", ret); - ret._resolveFromSyncValue(value); - return ret; - }; -}; - -Promise.attempt = Promise["try"] = function (fn) { - if (typeof fn !== "function") { - return apiRejection("expecting a function but got " + util.classString(fn)); - } - var ret = new Promise(INTERNAL); - ret._captureStackTrace(); - ret._pushContext(); - var value; - if (arguments.length > 1) { - debug.deprecated("calling Promise.try with more than 1 argument"); - var arg = arguments[1]; - var ctx = arguments[2]; - value = util.isArray(arg) ? tryCatch(fn).apply(ctx, arg) - : tryCatch(fn).call(ctx, arg); - } else { - value = tryCatch(fn)(); - } - var promiseCreated = ret._popContext(); - debug.checkForgottenReturns( - value, promiseCreated, "Promise.try", ret); - ret._resolveFromSyncValue(value); - return ret; -}; - -Promise.prototype._resolveFromSyncValue = function (value) { - if (value === util.errorObj) { - this._rejectCallback(value.e, false); - } else { - this._resolveCallback(value, true); - } -}; -}; - -},{"./util":21}],14:[function(_dereq_,module,exports){ -"use strict"; -var util = _dereq_("./util"); -var maybeWrapAsError = util.maybeWrapAsError; -var errors = _dereq_("./errors"); -var OperationalError = errors.OperationalError; -var es5 = _dereq_("./es5"); - -function isUntypedError(obj) { - return obj instanceof Error && - es5.getPrototypeOf(obj) === Error.prototype; -} - -var rErrorKey = /^(?:name|message|stack|cause)$/; -function wrapAsOperationalError(obj) { - var ret; - if (isUntypedError(obj)) { - ret = new OperationalError(obj); - ret.name = obj.name; - ret.message = obj.message; - ret.stack = obj.stack; - var keys = es5.keys(obj); - for (var i = 0; i < keys.length; ++i) { - var key = keys[i]; - if (!rErrorKey.test(key)) { - ret[key] = obj[key]; - } - } - return ret; - } - util.markAsOriginatingFromRejection(obj); - return obj; -} - -function nodebackForPromise(promise, multiArgs) { - return function(err, value) { - if (promise === null) return; - if (err) { - var wrapped = wrapAsOperationalError(maybeWrapAsError(err)); - promise._attachExtraTrace(wrapped); - promise._reject(wrapped); - } else if (!multiArgs) { - promise._fulfill(value); - } else { - var args = [].slice.call(arguments, 1);; - promise._fulfill(args); - } - promise = null; - }; -} - -module.exports = nodebackForPromise; - -},{"./errors":9,"./es5":10,"./util":21}],15:[function(_dereq_,module,exports){ -"use strict"; -module.exports = function() { -var makeSelfResolutionError = function () { - return new TypeError("circular promise resolution chain\u000a\u000a See http://goo.gl/MqrFmX\u000a"); -}; -var reflectHandler = function() { - return new Promise.PromiseInspection(this._target()); -}; -var apiRejection = function(msg) { - return Promise.reject(new TypeError(msg)); -}; -function Proxyable() {} -var UNDEFINED_BINDING = {}; -var util = _dereq_("./util"); - -var getDomain; -if (util.isNode) { - getDomain = function() { - var ret = process.domain; - if (ret === undefined) ret = null; - return ret; - }; -} else { - getDomain = function() { - return null; - }; -} -util.notEnumerableProp(Promise, "_getDomain", getDomain); - -var es5 = _dereq_("./es5"); -var Async = _dereq_("./async"); -var async = new Async(); -es5.defineProperty(Promise, "_async", {value: async}); -var errors = _dereq_("./errors"); -var TypeError = Promise.TypeError = errors.TypeError; -Promise.RangeError = errors.RangeError; -var CancellationError = Promise.CancellationError = errors.CancellationError; -Promise.TimeoutError = errors.TimeoutError; -Promise.OperationalError = errors.OperationalError; -Promise.RejectionError = errors.OperationalError; -Promise.AggregateError = errors.AggregateError; -var INTERNAL = function(){}; -var APPLY = {}; -var NEXT_FILTER = {}; -var tryConvertToPromise = _dereq_("./thenables")(Promise, INTERNAL); -var PromiseArray = - _dereq_("./promise_array")(Promise, INTERNAL, - tryConvertToPromise, apiRejection, Proxyable); -var Context = _dereq_("./context")(Promise); - /*jshint unused:false*/ -var createContext = Context.create; -var debug = _dereq_("./debuggability")(Promise, Context); -var CapturedTrace = debug.CapturedTrace; -var PassThroughHandlerContext = - _dereq_("./finally")(Promise, tryConvertToPromise, NEXT_FILTER); -var catchFilter = _dereq_("./catch_filter")(NEXT_FILTER); -var nodebackForPromise = _dereq_("./nodeback"); -var errorObj = util.errorObj; -var tryCatch = util.tryCatch; -function check(self, executor) { - if (self == null || self.constructor !== Promise) { - throw new TypeError("the promise constructor cannot be invoked directly\u000a\u000a See http://goo.gl/MqrFmX\u000a"); - } - if (typeof executor !== "function") { - throw new TypeError("expecting a function but got " + util.classString(executor)); - } - -} - -function Promise(executor) { - if (executor !== INTERNAL) { - check(this, executor); - } - this._bitField = 0; - this._fulfillmentHandler0 = undefined; - this._rejectionHandler0 = undefined; - this._promise0 = undefined; - this._receiver0 = undefined; - this._resolveFromExecutor(executor); - this._promiseCreated(); - this._fireEvent("promiseCreated", this); -} - -Promise.prototype.toString = function () { - return "[object Promise]"; -}; - -Promise.prototype.caught = Promise.prototype["catch"] = function (fn) { - var len = arguments.length; - if (len > 1) { - var catchInstances = new Array(len - 1), - j = 0, i; - for (i = 0; i < len - 1; ++i) { - var item = arguments[i]; - if (util.isObject(item)) { - catchInstances[j++] = item; - } else { - return apiRejection("Catch statement predicate: " + - "expecting an object but got " + util.classString(item)); - } - } - catchInstances.length = j; - fn = arguments[i]; - return this.then(undefined, catchFilter(catchInstances, fn, this)); - } - return this.then(undefined, fn); -}; - -Promise.prototype.reflect = function () { - return this._then(reflectHandler, - reflectHandler, undefined, this, undefined); -}; - -Promise.prototype.then = function (didFulfill, didReject) { - if (debug.warnings() && arguments.length > 0 && - typeof didFulfill !== "function" && - typeof didReject !== "function") { - var msg = ".then() only accepts functions but was passed: " + - util.classString(didFulfill); - if (arguments.length > 1) { - msg += ", " + util.classString(didReject); - } - this._warn(msg); - } - return this._then(didFulfill, didReject, undefined, undefined, undefined); -}; - -Promise.prototype.done = function (didFulfill, didReject) { - var promise = - this._then(didFulfill, didReject, undefined, undefined, undefined); - promise._setIsFinal(); -}; - -Promise.prototype.spread = function (fn) { - if (typeof fn !== "function") { - return apiRejection("expecting a function but got " + util.classString(fn)); - } - return this.all()._then(fn, undefined, undefined, APPLY, undefined); -}; - -Promise.prototype.toJSON = function () { - var ret = { - isFulfilled: false, - isRejected: false, - fulfillmentValue: undefined, - rejectionReason: undefined - }; - if (this.isFulfilled()) { - ret.fulfillmentValue = this.value(); - ret.isFulfilled = true; - } else if (this.isRejected()) { - ret.rejectionReason = this.reason(); - ret.isRejected = true; - } - return ret; -}; - -Promise.prototype.all = function () { - if (arguments.length > 0) { - this._warn(".all() was passed arguments but it does not take any"); - } - return new PromiseArray(this).promise(); -}; - -Promise.prototype.error = function (fn) { - return this.caught(util.originatesFromRejection, fn); -}; - -Promise.getNewLibraryCopy = module.exports; - -Promise.is = function (val) { - return val instanceof Promise; -}; - -Promise.fromNode = Promise.fromCallback = function(fn) { - var ret = new Promise(INTERNAL); - ret._captureStackTrace(); - var multiArgs = arguments.length > 1 ? !!Object(arguments[1]).multiArgs - : false; - var result = tryCatch(fn)(nodebackForPromise(ret, multiArgs)); - if (result === errorObj) { - ret._rejectCallback(result.e, true); - } - if (!ret._isFateSealed()) ret._setAsyncGuaranteed(); - return ret; -}; - -Promise.all = function (promises) { - return new PromiseArray(promises).promise(); -}; - -Promise.cast = function (obj) { - var ret = tryConvertToPromise(obj); - if (!(ret instanceof Promise)) { - ret = new Promise(INTERNAL); - ret._captureStackTrace(); - ret._setFulfilled(); - ret._rejectionHandler0 = obj; - } - return ret; -}; - -Promise.resolve = Promise.fulfilled = Promise.cast; - -Promise.reject = Promise.rejected = function (reason) { - var ret = new Promise(INTERNAL); - ret._captureStackTrace(); - ret._rejectCallback(reason, true); - return ret; -}; - -Promise.setScheduler = function(fn) { - if (typeof fn !== "function") { - throw new TypeError("expecting a function but got " + util.classString(fn)); - } - return async.setScheduler(fn); -}; - -Promise.prototype._then = function ( - didFulfill, - didReject, - _, receiver, - internalData -) { - var haveInternalData = internalData !== undefined; - var promise = haveInternalData ? internalData : new Promise(INTERNAL); - var target = this._target(); - var bitField = target._bitField; - - if (!haveInternalData) { - promise._propagateFrom(this, 3); - promise._captureStackTrace(); - if (receiver === undefined && - ((this._bitField & 2097152) !== 0)) { - if (!((bitField & 50397184) === 0)) { - receiver = this._boundValue(); - } else { - receiver = target === this ? undefined : this._boundTo; - } - } - this._fireEvent("promiseChained", this, promise); - } - - var domain = getDomain(); - if (!((bitField & 50397184) === 0)) { - var handler, value, settler = target._settlePromiseCtx; - if (((bitField & 33554432) !== 0)) { - value = target._rejectionHandler0; - handler = didFulfill; - } else if (((bitField & 16777216) !== 0)) { - value = target._fulfillmentHandler0; - handler = didReject; - target._unsetRejectionIsUnhandled(); - } else { - settler = target._settlePromiseLateCancellationObserver; - value = new CancellationError("late cancellation observer"); - target._attachExtraTrace(value); - handler = didReject; - } - - async.invoke(settler, target, { - handler: domain === null ? handler - : (typeof handler === "function" && - util.domainBind(domain, handler)), - promise: promise, - receiver: receiver, - value: value - }); - } else { - target._addCallbacks(didFulfill, didReject, promise, receiver, domain); - } - - return promise; -}; - -Promise.prototype._length = function () { - return this._bitField & 65535; -}; - -Promise.prototype._isFateSealed = function () { - return (this._bitField & 117506048) !== 0; -}; - -Promise.prototype._isFollowing = function () { - return (this._bitField & 67108864) === 67108864; -}; - -Promise.prototype._setLength = function (len) { - this._bitField = (this._bitField & -65536) | - (len & 65535); -}; - -Promise.prototype._setFulfilled = function () { - this._bitField = this._bitField | 33554432; - this._fireEvent("promiseFulfilled", this); -}; - -Promise.prototype._setRejected = function () { - this._bitField = this._bitField | 16777216; - this._fireEvent("promiseRejected", this); -}; - -Promise.prototype._setFollowing = function () { - this._bitField = this._bitField | 67108864; - this._fireEvent("promiseResolved", this); -}; - -Promise.prototype._setIsFinal = function () { - this._bitField = this._bitField | 4194304; -}; - -Promise.prototype._isFinal = function () { - return (this._bitField & 4194304) > 0; -}; - -Promise.prototype._unsetCancelled = function() { - this._bitField = this._bitField & (~65536); -}; - -Promise.prototype._setCancelled = function() { - this._bitField = this._bitField | 65536; - this._fireEvent("promiseCancelled", this); -}; - -Promise.prototype._setWillBeCancelled = function() { - this._bitField = this._bitField | 8388608; -}; - -Promise.prototype._setAsyncGuaranteed = function() { - if (async.hasCustomScheduler()) return; - this._bitField = this._bitField | 134217728; -}; - -Promise.prototype._receiverAt = function (index) { - var ret = index === 0 ? this._receiver0 : this[ - index * 4 - 4 + 3]; - if (ret === UNDEFINED_BINDING) { - return undefined; - } else if (ret === undefined && this._isBound()) { - return this._boundValue(); - } - return ret; -}; - -Promise.prototype._promiseAt = function (index) { - return this[ - index * 4 - 4 + 2]; -}; - -Promise.prototype._fulfillmentHandlerAt = function (index) { - return this[ - index * 4 - 4 + 0]; -}; - -Promise.prototype._rejectionHandlerAt = function (index) { - return this[ - index * 4 - 4 + 1]; -}; - -Promise.prototype._boundValue = function() {}; - -Promise.prototype._migrateCallback0 = function (follower) { - var bitField = follower._bitField; - var fulfill = follower._fulfillmentHandler0; - var reject = follower._rejectionHandler0; - var promise = follower._promise0; - var receiver = follower._receiverAt(0); - if (receiver === undefined) receiver = UNDEFINED_BINDING; - this._addCallbacks(fulfill, reject, promise, receiver, null); -}; - -Promise.prototype._migrateCallbackAt = function (follower, index) { - var fulfill = follower._fulfillmentHandlerAt(index); - var reject = follower._rejectionHandlerAt(index); - var promise = follower._promiseAt(index); - var receiver = follower._receiverAt(index); - if (receiver === undefined) receiver = UNDEFINED_BINDING; - this._addCallbacks(fulfill, reject, promise, receiver, null); -}; - -Promise.prototype._addCallbacks = function ( - fulfill, - reject, - promise, - receiver, - domain -) { - var index = this._length(); - - if (index >= 65535 - 4) { - index = 0; - this._setLength(0); - } - - if (index === 0) { - this._promise0 = promise; - this._receiver0 = receiver; - if (typeof fulfill === "function") { - this._fulfillmentHandler0 = - domain === null ? fulfill : util.domainBind(domain, fulfill); - } - if (typeof reject === "function") { - this._rejectionHandler0 = - domain === null ? reject : util.domainBind(domain, reject); - } - } else { - var base = index * 4 - 4; - this[base + 2] = promise; - this[base + 3] = receiver; - if (typeof fulfill === "function") { - this[base + 0] = - domain === null ? fulfill : util.domainBind(domain, fulfill); - } - if (typeof reject === "function") { - this[base + 1] = - domain === null ? reject : util.domainBind(domain, reject); - } - } - this._setLength(index + 1); - return index; -}; - -Promise.prototype._proxy = function (proxyable, arg) { - this._addCallbacks(undefined, undefined, arg, proxyable, null); -}; - -Promise.prototype._resolveCallback = function(value, shouldBind) { - if (((this._bitField & 117506048) !== 0)) return; - if (value === this) - return this._rejectCallback(makeSelfResolutionError(), false); - var maybePromise = tryConvertToPromise(value, this); - if (!(maybePromise instanceof Promise)) return this._fulfill(value); - - if (shouldBind) this._propagateFrom(maybePromise, 2); - - var promise = maybePromise._target(); - - if (promise === this) { - this._reject(makeSelfResolutionError()); - return; - } - - var bitField = promise._bitField; - if (((bitField & 50397184) === 0)) { - var len = this._length(); - if (len > 0) promise._migrateCallback0(this); - for (var i = 1; i < len; ++i) { - promise._migrateCallbackAt(this, i); - } - this._setFollowing(); - this._setLength(0); - this._setFollowee(promise); - } else if (((bitField & 33554432) !== 0)) { - this._fulfill(promise._value()); - } else if (((bitField & 16777216) !== 0)) { - this._reject(promise._reason()); - } else { - var reason = new CancellationError("late cancellation observer"); - promise._attachExtraTrace(reason); - this._reject(reason); - } -}; - -Promise.prototype._rejectCallback = -function(reason, synchronous, ignoreNonErrorWarnings) { - var trace = util.ensureErrorObject(reason); - var hasStack = trace === reason; - if (!hasStack && !ignoreNonErrorWarnings && debug.warnings()) { - var message = "a promise was rejected with a non-error: " + - util.classString(reason); - this._warn(message, true); - } - this._attachExtraTrace(trace, synchronous ? hasStack : false); - this._reject(reason); -}; - -Promise.prototype._resolveFromExecutor = function (executor) { - if (executor === INTERNAL) return; - var promise = this; - this._captureStackTrace(); - this._pushContext(); - var synchronous = true; - var r = this._execute(executor, function(value) { - promise._resolveCallback(value); - }, function (reason) { - promise._rejectCallback(reason, synchronous); - }); - synchronous = false; - this._popContext(); - - if (r !== undefined) { - promise._rejectCallback(r, true); - } -}; - -Promise.prototype._settlePromiseFromHandler = function ( - handler, receiver, value, promise -) { - var bitField = promise._bitField; - if (((bitField & 65536) !== 0)) return; - promise._pushContext(); - var x; - if (receiver === APPLY) { - if (!value || typeof value.length !== "number") { - x = errorObj; - x.e = new TypeError("cannot .spread() a non-array: " + - util.classString(value)); - } else { - x = tryCatch(handler).apply(this._boundValue(), value); - } - } else { - x = tryCatch(handler).call(receiver, value); - } - var promiseCreated = promise._popContext(); - bitField = promise._bitField; - if (((bitField & 65536) !== 0)) return; - - if (x === NEXT_FILTER) { - promise._reject(value); - } else if (x === errorObj) { - promise._rejectCallback(x.e, false); - } else { - debug.checkForgottenReturns(x, promiseCreated, "", promise, this); - promise._resolveCallback(x); - } -}; - -Promise.prototype._target = function() { - var ret = this; - while (ret._isFollowing()) ret = ret._followee(); - return ret; -}; - -Promise.prototype._followee = function() { - return this._rejectionHandler0; -}; - -Promise.prototype._setFollowee = function(promise) { - this._rejectionHandler0 = promise; -}; - -Promise.prototype._settlePromise = function(promise, handler, receiver, value) { - var isPromise = promise instanceof Promise; - var bitField = this._bitField; - var asyncGuaranteed = ((bitField & 134217728) !== 0); - if (((bitField & 65536) !== 0)) { - if (isPromise) promise._invokeInternalOnCancel(); - - if (receiver instanceof PassThroughHandlerContext && - receiver.isFinallyHandler()) { - receiver.cancelPromise = promise; - if (tryCatch(handler).call(receiver, value) === errorObj) { - promise._reject(errorObj.e); - } - } else if (handler === reflectHandler) { - promise._fulfill(reflectHandler.call(receiver)); - } else if (receiver instanceof Proxyable) { - receiver._promiseCancelled(promise); - } else if (isPromise || promise instanceof PromiseArray) { - promise._cancel(); - } else { - receiver.cancel(); - } - } else if (typeof handler === "function") { - if (!isPromise) { - handler.call(receiver, value, promise); - } else { - if (asyncGuaranteed) promise._setAsyncGuaranteed(); - this._settlePromiseFromHandler(handler, receiver, value, promise); - } - } else if (receiver instanceof Proxyable) { - if (!receiver._isResolved()) { - if (((bitField & 33554432) !== 0)) { - receiver._promiseFulfilled(value, promise); - } else { - receiver._promiseRejected(value, promise); - } - } - } else if (isPromise) { - if (asyncGuaranteed) promise._setAsyncGuaranteed(); - if (((bitField & 33554432) !== 0)) { - promise._fulfill(value); - } else { - promise._reject(value); - } - } -}; - -Promise.prototype._settlePromiseLateCancellationObserver = function(ctx) { - var handler = ctx.handler; - var promise = ctx.promise; - var receiver = ctx.receiver; - var value = ctx.value; - if (typeof handler === "function") { - if (!(promise instanceof Promise)) { - handler.call(receiver, value, promise); - } else { - this._settlePromiseFromHandler(handler, receiver, value, promise); - } - } else if (promise instanceof Promise) { - promise._reject(value); - } -}; - -Promise.prototype._settlePromiseCtx = function(ctx) { - this._settlePromise(ctx.promise, ctx.handler, ctx.receiver, ctx.value); -}; - -Promise.prototype._settlePromise0 = function(handler, value, bitField) { - var promise = this._promise0; - var receiver = this._receiverAt(0); - this._promise0 = undefined; - this._receiver0 = undefined; - this._settlePromise(promise, handler, receiver, value); -}; - -Promise.prototype._clearCallbackDataAtIndex = function(index) { - var base = index * 4 - 4; - this[base + 2] = - this[base + 3] = - this[base + 0] = - this[base + 1] = undefined; -}; - -Promise.prototype._fulfill = function (value) { - var bitField = this._bitField; - if (((bitField & 117506048) >>> 16)) return; - if (value === this) { - var err = makeSelfResolutionError(); - this._attachExtraTrace(err); - return this._reject(err); - } - this._setFulfilled(); - this._rejectionHandler0 = value; - - if ((bitField & 65535) > 0) { - if (((bitField & 134217728) !== 0)) { - this._settlePromises(); - } else { - async.settlePromises(this); - } - } -}; - -Promise.prototype._reject = function (reason) { - var bitField = this._bitField; - if (((bitField & 117506048) >>> 16)) return; - this._setRejected(); - this._fulfillmentHandler0 = reason; - - if (this._isFinal()) { - return async.fatalError(reason, util.isNode); - } - - if ((bitField & 65535) > 0) { - async.settlePromises(this); - } else { - this._ensurePossibleRejectionHandled(); - } -}; - -Promise.prototype._fulfillPromises = function (len, value) { - for (var i = 1; i < len; i++) { - var handler = this._fulfillmentHandlerAt(i); - var promise = this._promiseAt(i); - var receiver = this._receiverAt(i); - this._clearCallbackDataAtIndex(i); - this._settlePromise(promise, handler, receiver, value); - } -}; - -Promise.prototype._rejectPromises = function (len, reason) { - for (var i = 1; i < len; i++) { - var handler = this._rejectionHandlerAt(i); - var promise = this._promiseAt(i); - var receiver = this._receiverAt(i); - this._clearCallbackDataAtIndex(i); - this._settlePromise(promise, handler, receiver, reason); - } -}; - -Promise.prototype._settlePromises = function () { - var bitField = this._bitField; - var len = (bitField & 65535); - - if (len > 0) { - if (((bitField & 16842752) !== 0)) { - var reason = this._fulfillmentHandler0; - this._settlePromise0(this._rejectionHandler0, reason, bitField); - this._rejectPromises(len, reason); - } else { - var value = this._rejectionHandler0; - this._settlePromise0(this._fulfillmentHandler0, value, bitField); - this._fulfillPromises(len, value); - } - this._setLength(0); - } - this._clearCancellationData(); -}; - -Promise.prototype._settledValue = function() { - var bitField = this._bitField; - if (((bitField & 33554432) !== 0)) { - return this._rejectionHandler0; - } else if (((bitField & 16777216) !== 0)) { - return this._fulfillmentHandler0; - } -}; - -function deferResolve(v) {this.promise._resolveCallback(v);} -function deferReject(v) {this.promise._rejectCallback(v, false);} - -Promise.defer = Promise.pending = function() { - debug.deprecated("Promise.defer", "new Promise"); - var promise = new Promise(INTERNAL); - return { - promise: promise, - resolve: deferResolve, - reject: deferReject - }; -}; - -util.notEnumerableProp(Promise, - "_makeSelfResolutionError", - makeSelfResolutionError); - -_dereq_("./method")(Promise, INTERNAL, tryConvertToPromise, apiRejection, - debug); -_dereq_("./bind")(Promise, INTERNAL, tryConvertToPromise, debug); -_dereq_("./cancel")(Promise, PromiseArray, apiRejection, debug); -_dereq_("./direct_resolve")(Promise); -_dereq_("./synchronous_inspection")(Promise); -_dereq_("./join")( - Promise, PromiseArray, tryConvertToPromise, INTERNAL, async, getDomain); -Promise.Promise = Promise; -Promise.version = "3.5.1"; - - util.toFastProperties(Promise); - util.toFastProperties(Promise.prototype); - function fillTypes(value) { - var p = new Promise(INTERNAL); - p._fulfillmentHandler0 = value; - p._rejectionHandler0 = value; - p._promise0 = value; - p._receiver0 = value; - } - // Complete slack tracking, opt out of field-type tracking and - // stabilize map - fillTypes({a: 1}); - fillTypes({b: 2}); - fillTypes({c: 3}); - fillTypes(1); - fillTypes(function(){}); - fillTypes(undefined); - fillTypes(false); - fillTypes(new Promise(INTERNAL)); - debug.setBounds(Async.firstLineError, util.lastLineError); - return Promise; - -}; - -},{"./async":1,"./bind":2,"./cancel":4,"./catch_filter":5,"./context":6,"./debuggability":7,"./direct_resolve":8,"./errors":9,"./es5":10,"./finally":11,"./join":12,"./method":13,"./nodeback":14,"./promise_array":16,"./synchronous_inspection":19,"./thenables":20,"./util":21}],16:[function(_dereq_,module,exports){ -"use strict"; -module.exports = function(Promise, INTERNAL, tryConvertToPromise, - apiRejection, Proxyable) { -var util = _dereq_("./util"); -var isArray = util.isArray; - -function toResolutionValue(val) { - switch(val) { - case -2: return []; - case -3: return {}; - case -6: return new Map(); - } -} - -function PromiseArray(values) { - var promise = this._promise = new Promise(INTERNAL); - if (values instanceof Promise) { - promise._propagateFrom(values, 3); - } - promise._setOnCancel(this); - this._values = values; - this._length = 0; - this._totalResolved = 0; - this._init(undefined, -2); -} -util.inherits(PromiseArray, Proxyable); - -PromiseArray.prototype.length = function () { - return this._length; -}; - -PromiseArray.prototype.promise = function () { - return this._promise; -}; - -PromiseArray.prototype._init = function init(_, resolveValueIfEmpty) { - var values = tryConvertToPromise(this._values, this._promise); - if (values instanceof Promise) { - values = values._target(); - var bitField = values._bitField; - ; - this._values = values; - - if (((bitField & 50397184) === 0)) { - this._promise._setAsyncGuaranteed(); - return values._then( - init, - this._reject, - undefined, - this, - resolveValueIfEmpty - ); - } else if (((bitField & 33554432) !== 0)) { - values = values._value(); - } else if (((bitField & 16777216) !== 0)) { - return this._reject(values._reason()); - } else { - return this._cancel(); - } - } - values = util.asArray(values); - if (values === null) { - var err = apiRejection( - "expecting an array or an iterable object but got " + util.classString(values)).reason(); - this._promise._rejectCallback(err, false); - return; - } - - if (values.length === 0) { - if (resolveValueIfEmpty === -5) { - this._resolveEmptyArray(); - } - else { - this._resolve(toResolutionValue(resolveValueIfEmpty)); - } - return; - } - this._iterate(values); -}; - -PromiseArray.prototype._iterate = function(values) { - var len = this.getActualLength(values.length); - this._length = len; - this._values = this.shouldCopyValues() ? new Array(len) : this._values; - var result = this._promise; - var isResolved = false; - var bitField = null; - for (var i = 0; i < len; ++i) { - var maybePromise = tryConvertToPromise(values[i], result); - - if (maybePromise instanceof Promise) { - maybePromise = maybePromise._target(); - bitField = maybePromise._bitField; - } else { - bitField = null; - } - - if (isResolved) { - if (bitField !== null) { - maybePromise.suppressUnhandledRejections(); - } - } else if (bitField !== null) { - if (((bitField & 50397184) === 0)) { - maybePromise._proxy(this, i); - this._values[i] = maybePromise; - } else if (((bitField & 33554432) !== 0)) { - isResolved = this._promiseFulfilled(maybePromise._value(), i); - } else if (((bitField & 16777216) !== 0)) { - isResolved = this._promiseRejected(maybePromise._reason(), i); - } else { - isResolved = this._promiseCancelled(i); - } - } else { - isResolved = this._promiseFulfilled(maybePromise, i); - } - } - if (!isResolved) result._setAsyncGuaranteed(); -}; - -PromiseArray.prototype._isResolved = function () { - return this._values === null; -}; - -PromiseArray.prototype._resolve = function (value) { - this._values = null; - this._promise._fulfill(value); -}; - -PromiseArray.prototype._cancel = function() { - if (this._isResolved() || !this._promise._isCancellable()) return; - this._values = null; - this._promise._cancel(); -}; - -PromiseArray.prototype._reject = function (reason) { - this._values = null; - this._promise._rejectCallback(reason, false); -}; - -PromiseArray.prototype._promiseFulfilled = function (value, index) { - this._values[index] = value; - var totalResolved = ++this._totalResolved; - if (totalResolved >= this._length) { - this._resolve(this._values); - return true; - } - return false; -}; - -PromiseArray.prototype._promiseCancelled = function() { - this._cancel(); - return true; -}; - -PromiseArray.prototype._promiseRejected = function (reason) { - this._totalResolved++; - this._reject(reason); - return true; -}; - -PromiseArray.prototype._resultCancelled = function() { - if (this._isResolved()) return; - var values = this._values; - this._cancel(); - if (values instanceof Promise) { - values.cancel(); - } else { - for (var i = 0; i < values.length; ++i) { - if (values[i] instanceof Promise) { - values[i].cancel(); - } - } - } -}; - -PromiseArray.prototype.shouldCopyValues = function () { - return true; -}; - -PromiseArray.prototype.getActualLength = function (len) { - return len; -}; - -return PromiseArray; -}; - -},{"./util":21}],17:[function(_dereq_,module,exports){ -"use strict"; -function arrayMove(src, srcIndex, dst, dstIndex, len) { - for (var j = 0; j < len; ++j) { - dst[j + dstIndex] = src[j + srcIndex]; - src[j + srcIndex] = void 0; - } -} - -function Queue(capacity) { - this._capacity = capacity; - this._length = 0; - this._front = 0; -} - -Queue.prototype._willBeOverCapacity = function (size) { - return this._capacity < size; -}; - -Queue.prototype._pushOne = function (arg) { - var length = this.length(); - this._checkCapacity(length + 1); - var i = (this._front + length) & (this._capacity - 1); - this[i] = arg; - this._length = length + 1; -}; - -Queue.prototype.push = function (fn, receiver, arg) { - var length = this.length() + 3; - if (this._willBeOverCapacity(length)) { - this._pushOne(fn); - this._pushOne(receiver); - this._pushOne(arg); - return; - } - var j = this._front + length - 3; - this._checkCapacity(length); - var wrapMask = this._capacity - 1; - this[(j + 0) & wrapMask] = fn; - this[(j + 1) & wrapMask] = receiver; - this[(j + 2) & wrapMask] = arg; - this._length = length; -}; - -Queue.prototype.shift = function () { - var front = this._front, - ret = this[front]; - - this[front] = undefined; - this._front = (front + 1) & (this._capacity - 1); - this._length--; - return ret; -}; - -Queue.prototype.length = function () { - return this._length; -}; - -Queue.prototype._checkCapacity = function (size) { - if (this._capacity < size) { - this._resizeTo(this._capacity << 1); - } -}; - -Queue.prototype._resizeTo = function (capacity) { - var oldCapacity = this._capacity; - this._capacity = capacity; - var front = this._front; - var length = this._length; - var moveItemsCount = (front + length) & (oldCapacity - 1); - arrayMove(this, 0, this, oldCapacity, moveItemsCount); -}; - -module.exports = Queue; - -},{}],18:[function(_dereq_,module,exports){ -"use strict"; -var util = _dereq_("./util"); -var schedule; -var noAsyncScheduler = function() { - throw new Error("No async scheduler available\u000a\u000a See http://goo.gl/MqrFmX\u000a"); -}; -var NativePromise = util.getNativePromise(); -if (util.isNode && typeof MutationObserver === "undefined") { - var GlobalSetImmediate = global.setImmediate; - var ProcessNextTick = process.nextTick; - schedule = util.isRecentNode - ? function(fn) { GlobalSetImmediate.call(global, fn); } - : function(fn) { ProcessNextTick.call(process, fn); }; -} else if (typeof NativePromise === "function" && - typeof NativePromise.resolve === "function") { - var nativePromise = NativePromise.resolve(); - schedule = function(fn) { - nativePromise.then(fn); - }; -} else if ((typeof MutationObserver !== "undefined") && - !(typeof window !== "undefined" && - window.navigator && - (window.navigator.standalone || window.cordova))) { - schedule = (function() { - var div = document.createElement("div"); - var opts = {attributes: true}; - var toggleScheduled = false; - var div2 = document.createElement("div"); - var o2 = new MutationObserver(function() { - div.classList.toggle("foo"); - toggleScheduled = false; - }); - o2.observe(div2, opts); - - var scheduleToggle = function() { - if (toggleScheduled) return; - toggleScheduled = true; - div2.classList.toggle("foo"); - }; - - return function schedule(fn) { - var o = new MutationObserver(function() { - o.disconnect(); - fn(); - }); - o.observe(div, opts); - scheduleToggle(); - }; - })(); -} else if (typeof setImmediate !== "undefined") { - schedule = function (fn) { - setImmediate(fn); - }; -} else if (typeof setTimeout !== "undefined") { - schedule = function (fn) { - setTimeout(fn, 0); - }; -} else { - schedule = noAsyncScheduler; -} -module.exports = schedule; - -},{"./util":21}],19:[function(_dereq_,module,exports){ -"use strict"; -module.exports = function(Promise) { -function PromiseInspection(promise) { - if (promise !== undefined) { - promise = promise._target(); - this._bitField = promise._bitField; - this._settledValueField = promise._isFateSealed() - ? promise._settledValue() : undefined; - } - else { - this._bitField = 0; - this._settledValueField = undefined; - } -} - -PromiseInspection.prototype._settledValue = function() { - return this._settledValueField; -}; - -var value = PromiseInspection.prototype.value = function () { - if (!this.isFulfilled()) { - throw new TypeError("cannot get fulfillment value of a non-fulfilled promise\u000a\u000a See http://goo.gl/MqrFmX\u000a"); - } - return this._settledValue(); -}; - -var reason = PromiseInspection.prototype.error = -PromiseInspection.prototype.reason = function () { - if (!this.isRejected()) { - throw new TypeError("cannot get rejection reason of a non-rejected promise\u000a\u000a See http://goo.gl/MqrFmX\u000a"); - } - return this._settledValue(); -}; - -var isFulfilled = PromiseInspection.prototype.isFulfilled = function() { - return (this._bitField & 33554432) !== 0; -}; - -var isRejected = PromiseInspection.prototype.isRejected = function () { - return (this._bitField & 16777216) !== 0; -}; - -var isPending = PromiseInspection.prototype.isPending = function () { - return (this._bitField & 50397184) === 0; -}; - -var isResolved = PromiseInspection.prototype.isResolved = function () { - return (this._bitField & 50331648) !== 0; -}; - -PromiseInspection.prototype.isCancelled = function() { - return (this._bitField & 8454144) !== 0; -}; - -Promise.prototype.__isCancelled = function() { - return (this._bitField & 65536) === 65536; -}; - -Promise.prototype._isCancelled = function() { - return this._target().__isCancelled(); -}; - -Promise.prototype.isCancelled = function() { - return (this._target()._bitField & 8454144) !== 0; -}; - -Promise.prototype.isPending = function() { - return isPending.call(this._target()); -}; - -Promise.prototype.isRejected = function() { - return isRejected.call(this._target()); -}; - -Promise.prototype.isFulfilled = function() { - return isFulfilled.call(this._target()); -}; - -Promise.prototype.isResolved = function() { - return isResolved.call(this._target()); -}; - -Promise.prototype.value = function() { - return value.call(this._target()); -}; - -Promise.prototype.reason = function() { - var target = this._target(); - target._unsetRejectionIsUnhandled(); - return reason.call(target); -}; - -Promise.prototype._value = function() { - return this._settledValue(); -}; - -Promise.prototype._reason = function() { - this._unsetRejectionIsUnhandled(); - return this._settledValue(); -}; - -Promise.PromiseInspection = PromiseInspection; -}; - -},{}],20:[function(_dereq_,module,exports){ -"use strict"; -module.exports = function(Promise, INTERNAL) { -var util = _dereq_("./util"); -var errorObj = util.errorObj; -var isObject = util.isObject; - -function tryConvertToPromise(obj, context) { - if (isObject(obj)) { - if (obj instanceof Promise) return obj; - var then = getThen(obj); - if (then === errorObj) { - if (context) context._pushContext(); - var ret = Promise.reject(then.e); - if (context) context._popContext(); - return ret; - } else if (typeof then === "function") { - if (isAnyBluebirdPromise(obj)) { - var ret = new Promise(INTERNAL); - obj._then( - ret._fulfill, - ret._reject, - undefined, - ret, - null - ); - return ret; - } - return doThenable(obj, then, context); - } - } - return obj; -} - -function doGetThen(obj) { - return obj.then; -} - -function getThen(obj) { - try { - return doGetThen(obj); - } catch (e) { - errorObj.e = e; - return errorObj; - } -} - -var hasProp = {}.hasOwnProperty; -function isAnyBluebirdPromise(obj) { - try { - return hasProp.call(obj, "_promise0"); - } catch (e) { - return false; - } -} - -function doThenable(x, then, context) { - var promise = new Promise(INTERNAL); - var ret = promise; - if (context) context._pushContext(); - promise._captureStackTrace(); - if (context) context._popContext(); - var synchronous = true; - var result = util.tryCatch(then).call(x, resolve, reject); - synchronous = false; - - if (promise && result === errorObj) { - promise._rejectCallback(result.e, true, true); - promise = null; - } - - function resolve(value) { - if (!promise) return; - promise._resolveCallback(value); - promise = null; - } - - function reject(reason) { - if (!promise) return; - promise._rejectCallback(reason, synchronous, true); - promise = null; - } - return ret; -} - -return tryConvertToPromise; -}; - -},{"./util":21}],21:[function(_dereq_,module,exports){ -"use strict"; -var es5 = _dereq_("./es5"); -var canEvaluate = typeof navigator == "undefined"; - -var errorObj = {e: {}}; -var tryCatchTarget; -var globalObject = typeof self !== "undefined" ? self : - typeof window !== "undefined" ? window : - typeof global !== "undefined" ? global : - this !== undefined ? this : null; - -function tryCatcher() { - try { - var target = tryCatchTarget; - tryCatchTarget = null; - return target.apply(this, arguments); - } catch (e) { - errorObj.e = e; - return errorObj; - } -} -function tryCatch(fn) { - tryCatchTarget = fn; - return tryCatcher; -} - -var inherits = function(Child, Parent) { - var hasProp = {}.hasOwnProperty; - - function T() { - this.constructor = Child; - this.constructor$ = Parent; - for (var propertyName in Parent.prototype) { - if (hasProp.call(Parent.prototype, propertyName) && - propertyName.charAt(propertyName.length-1) !== "$" - ) { - this[propertyName + "$"] = Parent.prototype[propertyName]; - } - } - } - T.prototype = Parent.prototype; - Child.prototype = new T(); - return Child.prototype; -}; - - -function isPrimitive(val) { - return val == null || val === true || val === false || - typeof val === "string" || typeof val === "number"; - -} - -function isObject(value) { - return typeof value === "function" || - typeof value === "object" && value !== null; -} - -function maybeWrapAsError(maybeError) { - if (!isPrimitive(maybeError)) return maybeError; - - return new Error(safeToString(maybeError)); -} - -function withAppended(target, appendee) { - var len = target.length; - var ret = new Array(len + 1); - var i; - for (i = 0; i < len; ++i) { - ret[i] = target[i]; - } - ret[i] = appendee; - return ret; -} - -function getDataPropertyOrDefault(obj, key, defaultValue) { - if (es5.isES5) { - var desc = Object.getOwnPropertyDescriptor(obj, key); - - if (desc != null) { - return desc.get == null && desc.set == null - ? desc.value - : defaultValue; - } - } else { - return {}.hasOwnProperty.call(obj, key) ? obj[key] : undefined; - } -} - -function notEnumerableProp(obj, name, value) { - if (isPrimitive(obj)) return obj; - var descriptor = { - value: value, - configurable: true, - enumerable: false, - writable: true - }; - es5.defineProperty(obj, name, descriptor); - return obj; -} - -function thrower(r) { - throw r; -} - -var inheritedDataKeys = (function() { - var excludedPrototypes = [ - Array.prototype, - Object.prototype, - Function.prototype - ]; - - var isExcludedProto = function(val) { - for (var i = 0; i < excludedPrototypes.length; ++i) { - if (excludedPrototypes[i] === val) { - return true; - } - } - return false; - }; - - if (es5.isES5) { - var getKeys = Object.getOwnPropertyNames; - return function(obj) { - var ret = []; - var visitedKeys = Object.create(null); - while (obj != null && !isExcludedProto(obj)) { - var keys; - try { - keys = getKeys(obj); - } catch (e) { - return ret; - } - for (var i = 0; i < keys.length; ++i) { - var key = keys[i]; - if (visitedKeys[key]) continue; - visitedKeys[key] = true; - var desc = Object.getOwnPropertyDescriptor(obj, key); - if (desc != null && desc.get == null && desc.set == null) { - ret.push(key); - } - } - obj = es5.getPrototypeOf(obj); - } - return ret; - }; - } else { - var hasProp = {}.hasOwnProperty; - return function(obj) { - if (isExcludedProto(obj)) return []; - var ret = []; - - /*jshint forin:false */ - enumeration: for (var key in obj) { - if (hasProp.call(obj, key)) { - ret.push(key); - } else { - for (var i = 0; i < excludedPrototypes.length; ++i) { - if (hasProp.call(excludedPrototypes[i], key)) { - continue enumeration; - } - } - ret.push(key); - } - } - return ret; - }; - } - -})(); - -var thisAssignmentPattern = /this\s*\.\s*\S+\s*=/; -function isClass(fn) { - try { - if (typeof fn === "function") { - var keys = es5.names(fn.prototype); - - var hasMethods = es5.isES5 && keys.length > 1; - var hasMethodsOtherThanConstructor = keys.length > 0 && - !(keys.length === 1 && keys[0] === "constructor"); - var hasThisAssignmentAndStaticMethods = - thisAssignmentPattern.test(fn + "") && es5.names(fn).length > 0; - - if (hasMethods || hasMethodsOtherThanConstructor || - hasThisAssignmentAndStaticMethods) { - return true; - } - } - return false; - } catch (e) { - return false; - } -} - -function toFastProperties(obj) { - /*jshint -W027,-W055,-W031*/ - function FakeConstructor() {} - FakeConstructor.prototype = obj; - var l = 8; - while (l--) new FakeConstructor(); - return obj; - eval(obj); -} - -var rident = /^[a-z$_][a-z$_0-9]*$/i; -function isIdentifier(str) { - return rident.test(str); -} - -function filledRange(count, prefix, suffix) { - var ret = new Array(count); - for(var i = 0; i < count; ++i) { - ret[i] = prefix + i + suffix; - } - return ret; -} - -function safeToString(obj) { - try { - return obj + ""; - } catch (e) { - return "[no string representation]"; - } -} - -function isError(obj) { - return obj instanceof Error || - (obj !== null && - typeof obj === "object" && - typeof obj.message === "string" && - typeof obj.name === "string"); -} - -function markAsOriginatingFromRejection(e) { - try { - notEnumerableProp(e, "isOperational", true); - } - catch(ignore) {} -} - -function originatesFromRejection(e) { - if (e == null) return false; - return ((e instanceof Error["__BluebirdErrorTypes__"].OperationalError) || - e["isOperational"] === true); -} - -function canAttachTrace(obj) { - return isError(obj) && es5.propertyIsWritable(obj, "stack"); -} - -var ensureErrorObject = (function() { - if (!("stack" in new Error())) { - return function(value) { - if (canAttachTrace(value)) return value; - try {throw new Error(safeToString(value));} - catch(err) {return err;} - }; - } else { - return function(value) { - if (canAttachTrace(value)) return value; - return new Error(safeToString(value)); - }; - } -})(); - -function classString(obj) { - return {}.toString.call(obj); -} - -function copyDescriptors(from, to, filter) { - var keys = es5.names(from); - for (var i = 0; i < keys.length; ++i) { - var key = keys[i]; - if (filter(key)) { - try { - es5.defineProperty(to, key, es5.getDescriptor(from, key)); - } catch (ignore) {} - } - } -} - -var asArray = function(v) { - if (es5.isArray(v)) { - return v; - } - return null; -}; - -if (typeof Symbol !== "undefined" && Symbol.iterator) { - var ArrayFrom = typeof Array.from === "function" ? function(v) { - return Array.from(v); - } : function(v) { - var ret = []; - var it = v[Symbol.iterator](); - var itResult; - while (!((itResult = it.next()).done)) { - ret.push(itResult.value); - } - return ret; - }; - - asArray = function(v) { - if (es5.isArray(v)) { - return v; - } else if (v != null && typeof v[Symbol.iterator] === "function") { - return ArrayFrom(v); - } - return null; - }; -} - -var isNode = typeof process !== "undefined" && - classString(process).toLowerCase() === "[object process]"; - -var hasEnvVariables = typeof process !== "undefined" && - typeof process.env !== "undefined"; - -function env(key) { - return hasEnvVariables ? process.env[key] : undefined; -} - -function getNativePromise() { - if (typeof Promise === "function") { - try { - var promise = new Promise(function(){}); - if ({}.toString.call(promise) === "[object Promise]") { - return Promise; - } - } catch (e) {} - } -} - -function domainBind(self, cb) { - return self.bind(cb); -} - -var ret = { - isClass: isClass, - isIdentifier: isIdentifier, - inheritedDataKeys: inheritedDataKeys, - getDataPropertyOrDefault: getDataPropertyOrDefault, - thrower: thrower, - isArray: es5.isArray, - asArray: asArray, - notEnumerableProp: notEnumerableProp, - isPrimitive: isPrimitive, - isObject: isObject, - isError: isError, - canEvaluate: canEvaluate, - errorObj: errorObj, - tryCatch: tryCatch, - inherits: inherits, - withAppended: withAppended, - maybeWrapAsError: maybeWrapAsError, - toFastProperties: toFastProperties, - filledRange: filledRange, - toString: safeToString, - canAttachTrace: canAttachTrace, - ensureErrorObject: ensureErrorObject, - originatesFromRejection: originatesFromRejection, - markAsOriginatingFromRejection: markAsOriginatingFromRejection, - classString: classString, - copyDescriptors: copyDescriptors, - hasDevTools: typeof chrome !== "undefined" && chrome && - typeof chrome.loadTimes === "function", - isNode: isNode, - hasEnvVariables: hasEnvVariables, - env: env, - global: globalObject, - getNativePromise: getNativePromise, - domainBind: domainBind -}; -ret.isRecentNode = ret.isNode && (function() { - var version = process.versions.node.split(".").map(Number); - return (version[0] === 0 && version[1] > 10) || (version[0] > 0); -})(); - -if (ret.isNode) ret.toFastProperties(process); - -try {throw new Error(); } catch (e) {ret.lastLineError = e;} -module.exports = ret; - -},{"./es5":10}]},{},[3])(3) -}); ;if (typeof window !== 'undefined' && window !== null) { window.P = window.Promise; } else if (typeof self !== 'undefined' && self !== null) { self.P = self.Promise; } \ No newline at end of file diff --git a/publi/node_modules/bluebird/js/browser/bluebird.core.min.js b/publi/node_modules/bluebird/js/browser/bluebird.core.min.js deleted file mode 100644 index 6aca6aa..0000000 --- a/publi/node_modules/bluebird/js/browser/bluebird.core.min.js +++ /dev/null @@ -1,31 +0,0 @@ -/* @preserve - * The MIT License (MIT) - * - * Copyright (c) 2013-2017 Petka Antonov - * - * 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. - * - */ -/** - * bluebird build version 3.5.1 - * Features enabled: core - * Features disabled: race, call_get, generators, map, nodeify, promisify, props, reduce, settle, some, using, timers, filter, any, each -*/ -!function(t){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var e;"undefined"!=typeof window?e=window:"undefined"!=typeof global?e=global:"undefined"!=typeof self&&(e=self),e.Promise=t()}}(function(){var t,e,n;return function r(t,e,n){function i(a,s){if(!e[a]){if(!t[a]){var c="function"==typeof _dereq_&&_dereq_;if(!s&&c)return c(a,!0);if(o)return o(a,!0);var l=new Error("Cannot find module '"+a+"'");throw l.code="MODULE_NOT_FOUND",l}var u=e[a]={exports:{}};t[a][0].call(u.exports,function(e){var n=t[a][1][e];return i(n?n:e)},u,u.exports,r,t,e,n)}return e[a].exports}for(var o="function"==typeof _dereq_&&_dereq_,a=0;a0;){var e=t.shift();if("function"==typeof e){var n=t.shift(),r=t.shift();e.call(n,r)}else e._settlePromises()}},r.prototype._drainQueues=function(){this._drainQueue(this._normalQueue),this._reset(),this._haveDrainedQueues=!0,this._drainQueue(this._lateQueue)},r.prototype._queueTick=function(){this._isTickUsed||(this._isTickUsed=!0,this._schedule(this.drainQueues))},r.prototype._reset=function(){this._isTickUsed=!1},e.exports=r,e.exports.firstLineError=s},{"./queue":17,"./schedule":18,"./util":21}],2:[function(t,e,n){"use strict";e.exports=function(t,e,n,r){var i=!1,o=function(t,e){this._reject(e)},a=function(t,e){e.promiseRejectionQueued=!0,e.bindingPromise._then(o,o,null,this,t)},s=function(t,e){0===(50397184&this._bitField)&&this._resolveCallback(e.target)},c=function(t,e){e.promiseRejectionQueued||this._reject(t)};t.prototype.bind=function(o){i||(i=!0,t.prototype._propagateFrom=r.propagateFromFunction(),t.prototype._boundValue=r.boundValueFunction());var l=n(o),u=new t(e);u._propagateFrom(this,1);var p=this._target();if(u._setBoundTo(l),l instanceof t){var f={promiseRejectionQueued:!1,promise:u,target:p,bindingPromise:l};p._then(e,a,void 0,u,f),l._then(s,c,void 0,u,f),u._setOnCancel(l)}else u._resolveCallback(p);return u},t.prototype._setBoundTo=function(t){void 0!==t?(this._bitField=2097152|this._bitField,this._boundTo=t):this._bitField=-2097153&this._bitField},t.prototype._isBound=function(){return 2097152===(2097152&this._bitField)},t.bind=function(e,n){return t.resolve(n).bind(e)}}},{}],3:[function(t,e,n){"use strict";function r(){try{Promise===o&&(Promise=i)}catch(t){}return o}var i;"undefined"!=typeof Promise&&(i=Promise);var o=t("./promise")();o.noConflict=r,e.exports=o},{"./promise":15}],4:[function(t,e,n){"use strict";e.exports=function(e,n,r,i){var o=t("./util"),a=o.tryCatch,s=o.errorObj,c=e._async;e.prototype["break"]=e.prototype.cancel=function(){if(!i.cancellation())return this._warn("cancellation is disabled");for(var t=this,e=t;t._isCancellable();){if(!t._cancelBy(e)){e._isFollowing()?e._followee().cancel():e._cancelBranched();break}var n=t._cancellationParent;if(null==n||!n._isCancellable()){t._isFollowing()?t._followee().cancel():t._cancelBranched();break}t._isFollowing()&&t._followee().cancel(),t._setWillBeCancelled(),e=t,t=n}},e.prototype._branchHasCancelled=function(){this._branchesRemainingToCancel--},e.prototype._enoughBranchesHaveCancelled=function(){return void 0===this._branchesRemainingToCancel||this._branchesRemainingToCancel<=0},e.prototype._cancelBy=function(t){return t===this?(this._branchesRemainingToCancel=0,this._invokeOnCancel(),!0):(this._branchHasCancelled(),this._enoughBranchesHaveCancelled()?(this._invokeOnCancel(),!0):!1)},e.prototype._cancelBranched=function(){this._enoughBranchesHaveCancelled()&&this._cancel()},e.prototype._cancel=function(){this._isCancellable()&&(this._setCancelled(),c.invoke(this._cancelPromises,this,void 0))},e.prototype._cancelPromises=function(){this._length()>0&&this._settlePromises()},e.prototype._unsetOnCancel=function(){this._onCancelField=void 0},e.prototype._isCancellable=function(){return this.isPending()&&!this._isCancelled()},e.prototype.isCancellable=function(){return this.isPending()&&!this.isCancelled()},e.prototype._doInvokeOnCancel=function(t,e){if(o.isArray(t))for(var n=0;n=0?o[t]:void 0}var i=!1,o=[];return t.prototype._promiseCreated=function(){},t.prototype._pushContext=function(){},t.prototype._popContext=function(){return null},t._peekContext=t.prototype._peekContext=function(){},e.prototype._pushContext=function(){void 0!==this._trace&&(this._trace._promiseCreated=null,o.push(this._trace))},e.prototype._popContext=function(){if(void 0!==this._trace){var t=o.pop(),e=t._promiseCreated;return t._promiseCreated=null,e}return null},e.CapturedTrace=null,e.create=n,e.deactivateLongStackTraces=function(){},e.activateLongStackTraces=function(){var n=t.prototype._pushContext,o=t.prototype._popContext,a=t._peekContext,s=t.prototype._peekContext,c=t.prototype._promiseCreated;e.deactivateLongStackTraces=function(){t.prototype._pushContext=n,t.prototype._popContext=o,t._peekContext=a,t.prototype._peekContext=s,t.prototype._promiseCreated=c,i=!1},i=!0,t.prototype._pushContext=e.prototype._pushContext,t.prototype._popContext=e.prototype._popContext,t._peekContext=t.prototype._peekContext=r,t.prototype._promiseCreated=function(){var t=this._peekContext();t&&null==t._promiseCreated&&(t._promiseCreated=this)}},e}},{}],7:[function(t,e,n){"use strict";e.exports=function(e,n){function r(t,e){return{promise:e}}function i(){return!1}function o(t,e,n){var r=this;try{t(e,n,function(t){if("function"!=typeof t)throw new TypeError("onCancel must be a function, got: "+I.toString(t));r._attachCancellationCallback(t)})}catch(i){return i}}function a(t){if(!this._isCancellable())return this;var e=this._onCancel();void 0!==e?I.isArray(e)?e.push(t):this._setOnCancel([e,t]):this._setOnCancel(t)}function s(){return this._onCancelField}function c(t){this._onCancelField=t}function l(){this._cancellationParent=void 0,this._onCancelField=void 0}function u(t,e){if(0!==(1&e)){this._cancellationParent=t;var n=t._branchesRemainingToCancel;void 0===n&&(n=0),t._branchesRemainingToCancel=n+1}0!==(2&e)&&t._isBound()&&this._setBoundTo(t._boundTo)}function p(t,e){0!==(2&e)&&t._isBound()&&this._setBoundTo(t._boundTo)}function f(){var t=this._boundTo;return void 0!==t&&t instanceof e?t.isFulfilled()?t.value():void 0:t}function h(){this._trace=new x(this._peekContext())}function _(t,e){if(H(t)){var n=this._trace;if(void 0!==n&&e&&(n=n._parent),void 0!==n)n.attachExtraTrace(t);else if(!t.__stackCleaned__){var r=E(t);I.notEnumerableProp(t,"stack",r.message+"\n"+r.stack.join("\n")),I.notEnumerableProp(t,"__stackCleaned__",!0)}}}function d(t,e,n,r,i){if(void 0===t&&null!==e&&X){if(void 0!==i&&i._returnedNonUndefined())return;if(0===(65535&r._bitField))return;n&&(n+=" ");var o="",a="";if(e._trace){for(var s=e._trace.stack.split("\n"),c=C(s),l=c.length-1;l>=0;--l){var u=c[l];if(!V.test(u)){var p=u.match(Q);p&&(o="at "+p[1]+":"+p[2]+":"+p[3]+" ");break}}if(c.length>0)for(var f=c[0],l=0;l0&&(a="\n"+s[l-1]);break}}var h="a promise was created in a "+n+"handler "+o+"but was not returned from it, see http://goo.gl/rRqMUw"+a;r._warn(h,!0,e)}}function v(t,e){var n=t+" is deprecated and will be removed in a future version.";return e&&(n+=" Use "+e+" instead."),y(n)}function y(t,n,r){if(ot.warnings){var i,o=new U(t);if(n)r._attachExtraTrace(o);else if(ot.longStackTraces&&(i=e._peekContext()))i.attachExtraTrace(o);else{var a=E(o);o.stack=a.message+"\n"+a.stack.join("\n")}tt("warning",o)||k(o,"",!0)}}function g(t,e){for(var n=0;n=0;--s)if(r[s]===o){a=s;break}for(var s=a;s>=0;--s){var c=r[s];if(e[i]!==c)break;e.pop(),i--}e=r}}function C(t){for(var e=[],n=0;n0&&"SyntaxError"!=t.name&&(e=e.slice(n)),e}function E(t){var e=t.stack,n=t.toString();return e="string"==typeof e&&e.length>0?w(t):[" (No stack trace)"],{message:n,stack:"SyntaxError"==t.name?e:C(e)}}function k(t,e,n){if("undefined"!=typeof console){var r;if(I.isObject(t)){var i=t.stack;r=e+G(i,t)}else r=e+String(t);"function"==typeof N?N(r,n):("function"==typeof console.log||"object"==typeof console.log)&&console.log(r)}}function j(t,e,n,r){var i=!1;try{"function"==typeof e&&(i=!0,"rejectionHandled"===t?e(r):e(n,r))}catch(o){B.throwLater(o)}"unhandledRejection"===t?tt(t,n,r)||i||k(n,"Unhandled rejection "):tt(t,r)}function F(t){var e;if("function"==typeof t)e="[function "+(t.name||"anonymous")+"]";else{e=t&&"function"==typeof t.toString?t.toString():I.toString(t);var n=/\[object [a-zA-Z0-9$_]+\]/;if(n.test(e))try{var r=JSON.stringify(t);e=r}catch(i){}0===e.length&&(e="(empty array)")}return"(<"+T(e)+">, no stack trace)"}function T(t){var e=41;return t.lengtha||0>s||!n||!r||n!==r||a>=s||(nt=function(t){if(D.test(t))return!0;var e=R(t);return e&&e.fileName===n&&a<=e.line&&e.line<=s?!0:!1})}}function x(t){this._parent=t,this._promisesCreated=0;var e=this._length=1+(void 0===t?0:t._length);it(this,x),e>32&&this.uncycle()}var O,A,N,L=e._getDomain,B=e._async,U=t("./errors").Warning,I=t("./util"),H=I.canAttachTrace,D=/[\\\/]bluebird[\\\/]js[\\\/](release|debug|instrumented)/,V=/\((?:timers\.js):\d+:\d+\)/,Q=/[\/<\(](.+?):(\d+):(\d+)\)?\s*$/,q=null,G=null,M=!1,W=!(0==I.env("BLUEBIRD_DEBUG")||!I.env("BLUEBIRD_DEBUG")&&"development"!==I.env("NODE_ENV")),$=!(0==I.env("BLUEBIRD_WARNINGS")||!W&&!I.env("BLUEBIRD_WARNINGS")),z=!(0==I.env("BLUEBIRD_LONG_STACK_TRACES")||!W&&!I.env("BLUEBIRD_LONG_STACK_TRACES")),X=0!=I.env("BLUEBIRD_W_FORGOTTEN_RETURN")&&($||!!I.env("BLUEBIRD_W_FORGOTTEN_RETURN"));e.prototype.suppressUnhandledRejections=function(){var t=this._target();t._bitField=-1048577&t._bitField|524288},e.prototype._ensurePossibleRejectionHandled=function(){if(0===(524288&this._bitField)){this._setRejectionIsUnhandled();var t=this;setTimeout(function(){t._notifyUnhandledRejection()},1)}},e.prototype._notifyUnhandledRejectionIsHandled=function(){j("rejectionHandled",O,void 0,this)},e.prototype._setReturnedNonUndefined=function(){this._bitField=268435456|this._bitField},e.prototype._returnedNonUndefined=function(){return 0!==(268435456&this._bitField)},e.prototype._notifyUnhandledRejection=function(){if(this._isRejectionUnhandled()){var t=this._settledValue();this._setUnhandledRejectionIsNotified(),j("unhandledRejection",A,t,this)}},e.prototype._setUnhandledRejectionIsNotified=function(){this._bitField=262144|this._bitField},e.prototype._unsetUnhandledRejectionIsNotified=function(){this._bitField=-262145&this._bitField},e.prototype._isUnhandledRejectionNotified=function(){return(262144&this._bitField)>0},e.prototype._setRejectionIsUnhandled=function(){this._bitField=1048576|this._bitField},e.prototype._unsetRejectionIsUnhandled=function(){this._bitField=-1048577&this._bitField,this._isUnhandledRejectionNotified()&&(this._unsetUnhandledRejectionIsNotified(),this._notifyUnhandledRejectionIsHandled())},e.prototype._isRejectionUnhandled=function(){return(1048576&this._bitField)>0},e.prototype._warn=function(t,e,n){return y(t,e,n||this)},e.onPossiblyUnhandledRejection=function(t){var e=L();A="function"==typeof t?null===e?t:I.domainBind(e,t):void 0},e.onUnhandledRejectionHandled=function(t){var e=L();O="function"==typeof t?null===e?t:I.domainBind(e,t):void 0};var K=function(){};e.longStackTraces=function(){if(B.haveItemsQueued()&&!ot.longStackTraces)throw new Error("cannot enable long stack traces after promises have been created\n\n See http://goo.gl/MqrFmX\n");if(!ot.longStackTraces&&P()){var t=e.prototype._captureStackTrace,r=e.prototype._attachExtraTrace;ot.longStackTraces=!0,K=function(){if(B.haveItemsQueued()&&!ot.longStackTraces)throw new Error("cannot enable long stack traces after promises have been created\n\n See http://goo.gl/MqrFmX\n");e.prototype._captureStackTrace=t,e.prototype._attachExtraTrace=r,n.deactivateLongStackTraces(),B.enableTrampoline(),ot.longStackTraces=!1},e.prototype._captureStackTrace=h,e.prototype._attachExtraTrace=_,n.activateLongStackTraces(),B.disableTrampolineIfNecessary()}},e.hasLongStackTraces=function(){return ot.longStackTraces&&P()};var J=function(){try{if("function"==typeof CustomEvent){var t=new CustomEvent("CustomEvent");return I.global.dispatchEvent(t),function(t,e){var n=new CustomEvent(t.toLowerCase(),{detail:e,cancelable:!0});return!I.global.dispatchEvent(n)}}if("function"==typeof Event){var t=new Event("CustomEvent");return I.global.dispatchEvent(t),function(t,e){var n=new Event(t.toLowerCase(),{cancelable:!0});return n.detail=e,!I.global.dispatchEvent(n)}}var t=document.createEvent("CustomEvent");return t.initCustomEvent("testingtheevent",!1,!0,{}),I.global.dispatchEvent(t),function(t,e){var n=document.createEvent("CustomEvent");return n.initCustomEvent(t.toLowerCase(),!1,!0,e),!I.global.dispatchEvent(n)}}catch(e){}return function(){return!1}}(),Y=function(){return I.isNode?function(){return process.emit.apply(process,arguments)}:I.global?function(t){var e="on"+t.toLowerCase(),n=I.global[e];return n?(n.apply(I.global,[].slice.call(arguments,1)),!0):!1}:function(){return!1}}(),Z={promiseCreated:r,promiseFulfilled:r,promiseRejected:r,promiseResolved:r,promiseCancelled:r,promiseChained:function(t,e,n){return{promise:e,child:n}},warning:function(t,e){return{warning:e}},unhandledRejection:function(t,e,n){return{reason:e,promise:n}},rejectionHandled:r},tt=function(t){var e=!1;try{e=Y.apply(null,arguments)}catch(n){B.throwLater(n),e=!0}var r=!1;try{r=J(t,Z[t].apply(null,arguments))}catch(n){B.throwLater(n),r=!0}return r||e};e.config=function(t){if(t=Object(t),"longStackTraces"in t&&(t.longStackTraces?e.longStackTraces():!t.longStackTraces&&e.hasLongStackTraces()&&K()),"warnings"in t){var n=t.warnings;ot.warnings=!!n,X=ot.warnings,I.isObject(n)&&"wForgottenReturn"in n&&(X=!!n.wForgottenReturn)}if("cancellation"in t&&t.cancellation&&!ot.cancellation){if(B.haveItemsQueued())throw new Error("cannot enable cancellation after promises are in use");e.prototype._clearCancellationData=l,e.prototype._propagateFrom=u,e.prototype._onCancel=s,e.prototype._setOnCancel=c,e.prototype._attachCancellationCallback=a,e.prototype._execute=o,et=u,ot.cancellation=!0}return"monitoring"in t&&(t.monitoring&&!ot.monitoring?(ot.monitoring=!0,e.prototype._fireEvent=tt):!t.monitoring&&ot.monitoring&&(ot.monitoring=!1,e.prototype._fireEvent=i)),e},e.prototype._fireEvent=i,e.prototype._execute=function(t,e,n){try{t(e,n)}catch(r){return r}},e.prototype._onCancel=function(){},e.prototype._setOnCancel=function(t){},e.prototype._attachCancellationCallback=function(t){},e.prototype._captureStackTrace=function(){},e.prototype._attachExtraTrace=function(){},e.prototype._clearCancellationData=function(){},e.prototype._propagateFrom=function(t,e){};var et=p,nt=function(){return!1},rt=/[\/<\(]([^:\/]+):(\d+):(?:\d+)\)?\s*$/;I.inherits(x,Error),n.CapturedTrace=x,x.prototype.uncycle=function(){var t=this._length;if(!(2>t)){for(var e=[],n={},r=0,i=this;void 0!==i;++r)e.push(i),i=i._parent;t=this._length=r;for(var r=t-1;r>=0;--r){var o=e[r].stack;void 0===n[o]&&(n[o]=r)}for(var r=0;t>r;++r){var a=e[r].stack,s=n[a];if(void 0!==s&&s!==r){s>0&&(e[s-1]._parent=void 0,e[s-1]._length=1),e[r]._parent=void 0,e[r]._length=1;var c=r>0?e[r-1]:this;t-1>s?(c._parent=e[s+1],c._parent.uncycle(),c._length=c._parent._length+1):(c._parent=void 0,c._length=1);for(var l=c._length+1,u=r-2;u>=0;--u)e[u]._length=l,l++;return}}}},x.prototype.attachExtraTrace=function(t){if(!t.__stackCleaned__){this.uncycle();for(var e=E(t),n=e.message,r=[e.stack],i=this;void 0!==i;)r.push(C(i.stack.split("\n"))),i=i._parent;b(r),m(r),I.notEnumerableProp(t,"stack",g(n,r)),I.notEnumerableProp(t,"__stackCleaned__",!0)}};var it=function(){var t=/^\s*at\s*/,e=function(t,e){return"string"==typeof t?t:void 0!==e.name&&void 0!==e.message?e.toString():F(e)};if("number"==typeof Error.stackTraceLimit&&"function"==typeof Error.captureStackTrace){Error.stackTraceLimit+=6,q=t,G=e;var n=Error.captureStackTrace;return nt=function(t){return D.test(t)},function(t,e){Error.stackTraceLimit+=6,n(t,e),Error.stackTraceLimit-=6}}var r=new Error;if("string"==typeof r.stack&&r.stack.split("\n")[0].indexOf("stackDetection@")>=0)return q=/@/,G=e,M=!0,function(t){t.stack=(new Error).stack};var i;try{throw new Error}catch(o){i="stack"in o}return"stack"in r||!i||"number"!=typeof Error.stackTraceLimit?(G=function(t,e){return"string"==typeof t?t:"object"!=typeof e&&"function"!=typeof e||void 0===e.name||void 0===e.message?F(e):e.toString()},null):(q=t,G=e,function(t){Error.stackTraceLimit+=6;try{throw new Error}catch(e){t.stack=e.stack}Error.stackTraceLimit-=6})}([]);"undefined"!=typeof console&&"undefined"!=typeof console.warn&&(N=function(t){console.warn(t)},I.isNode&&process.stderr.isTTY?N=function(t,e){var n=e?"":"";console.warn(n+t+"\n")}:I.isNode||"string"!=typeof(new Error).stack||(N=function(t,e){console.warn("%c"+t,e?"color: darkorange":"color: red")}));var ot={warnings:$,longStackTraces:!1,cancellation:!1,monitoring:!1};return z&&e.longStackTraces(),{longStackTraces:function(){return ot.longStackTraces},warnings:function(){return ot.warnings},cancellation:function(){return ot.cancellation},monitoring:function(){return ot.monitoring},propagateFromFunction:function(){return et},boundValueFunction:function(){return f},checkForgottenReturns:d,setBounds:S,warn:y,deprecated:v,CapturedTrace:x,fireDomEvent:J,fireGlobalEvent:Y}}},{"./errors":9,"./util":21}],8:[function(t,e,n){"use strict";e.exports=function(t){function e(){return this.value}function n(){throw this.reason}t.prototype["return"]=t.prototype.thenReturn=function(n){return n instanceof t&&n.suppressUnhandledRejections(),this._then(e,void 0,void 0,{value:n},void 0)},t.prototype["throw"]=t.prototype.thenThrow=function(t){return this._then(n,void 0,void 0,{reason:t},void 0)},t.prototype.catchThrow=function(t){if(arguments.length<=1)return this._then(void 0,n,void 0,{reason:t},void 0);var e=arguments[1],r=function(){throw e};return this.caught(t,r)},t.prototype.catchReturn=function(n){if(arguments.length<=1)return n instanceof t&&n.suppressUnhandledRejections(),this._then(void 0,e,void 0,{value:n},void 0);var r=arguments[1];r instanceof t&&r.suppressUnhandledRejections();var i=function(){return r};return this.caught(n,i)}}},{}],9:[function(t,e,n){"use strict";function r(t,e){function n(r){return this instanceof n?(p(this,"message","string"==typeof r?r:e),p(this,"name",t),void(Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):Error.call(this))):new n(r)}return u(n,Error),n}function i(t){return this instanceof i?(p(this,"name","OperationalError"),p(this,"message",t),this.cause=t,this.isOperational=!0,void(t instanceof Error?(p(this,"message",t.message),p(this,"stack",t.stack)):Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor))):new i(t)}var o,a,s=t("./es5"),c=s.freeze,l=t("./util"),u=l.inherits,p=l.notEnumerableProp,f=r("Warning","warning"),h=r("CancellationError","cancellation error"),_=r("TimeoutError","timeout error"),d=r("AggregateError","aggregate error");try{o=TypeError,a=RangeError}catch(v){o=r("TypeError","type error"),a=r("RangeError","range error")}for(var y="join pop push shift unshift slice filter forEach some every map indexOf lastIndexOf reduce reduceRight sort reverse".split(" "),g=0;g1?t.cancelPromise._reject(e):t.cancelPromise._cancel(),t.cancelPromise=null,!0):!1}function s(){return l.call(this,this.promise._target()._settledValue())}function c(t){return a(this,t)?void 0:(f.e=t,f)}function l(t){var i=this.promise,l=this.handler;if(!this.called){this.called=!0;var u=this.isFinallyHandler()?l.call(i._boundValue()):l.call(i._boundValue(),t);if(u===r)return u;if(void 0!==u){i._setReturnedNonUndefined();var h=n(u,i);if(h instanceof e){if(null!=this.cancelPromise){if(h._isCancelled()){var _=new p("late cancellation observer");return i._attachExtraTrace(_),f.e=_,f}h.isPending()&&h._attachCancellationCallback(new o(this))}return h._then(s,c,void 0,this,void 0)}}}return i.isRejected()?(a(this),f.e=t,f):(a(this),t)}var u=t("./util"),p=e.CancellationError,f=u.errorObj,h=t("./catch_filter")(r);return i.prototype.isFinallyHandler=function(){return 0===this.type},o.prototype._resultCancelled=function(){a(this.finallyHandler)},e.prototype._passThrough=function(t,e,n,r){return"function"!=typeof t?this.then():this._then(n,r,void 0,new i(this,e,t),void 0)},e.prototype.lastly=e.prototype["finally"]=function(t){return this._passThrough(t,0,l,l)},e.prototype.tap=function(t){return this._passThrough(t,1,l)},e.prototype.tapCatch=function(t){var n=arguments.length;if(1===n)return this._passThrough(t,1,void 0,l);var r,i=new Array(n-1),o=0;for(r=0;n-1>r;++r){var a=arguments[r];if(!u.isObject(a))return e.reject(new TypeError("tapCatch statement predicate: expecting an object but got "+u.classString(a)));i[o++]=a}i.length=o;var s=arguments[r];return this._passThrough(h(i,s,this),1,void 0,l)},i}},{"./catch_filter":5,"./util":21}],12:[function(t,e,n){"use strict";e.exports=function(e,n,r,i,o,a){var s=t("./util");s.canEvaluate,s.tryCatch,s.errorObj;e.join=function(){var t,e=arguments.length-1;if(e>0&&"function"==typeof arguments[e]){t=arguments[e];var r}var i=[].slice.call(arguments);t&&i.pop();var r=new n(i).promise();return void 0!==t?r.spread(t):r}}},{"./util":21}],13:[function(t,e,n){"use strict";e.exports=function(e,n,r,i,o){var a=t("./util"),s=a.tryCatch;e.method=function(t){if("function"!=typeof t)throw new e.TypeError("expecting a function but got "+a.classString(t));return function(){var r=new e(n);r._captureStackTrace(),r._pushContext();var i=s(t).apply(this,arguments),a=r._popContext();return o.checkForgottenReturns(i,a,"Promise.method",r),r._resolveFromSyncValue(i),r}},e.attempt=e["try"]=function(t){if("function"!=typeof t)return i("expecting a function but got "+a.classString(t));var r=new e(n);r._captureStackTrace(),r._pushContext();var c;if(arguments.length>1){o.deprecated("calling Promise.try with more than 1 argument");var l=arguments[1],u=arguments[2];c=a.isArray(l)?s(t).apply(u,l):s(t).call(u,l)}else c=s(t)();var p=r._popContext();return o.checkForgottenReturns(c,p,"Promise.try",r),r._resolveFromSyncValue(c),r},e.prototype._resolveFromSyncValue=function(t){t===a.errorObj?this._rejectCallback(t.e,!1):this._resolveCallback(t,!0)}}},{"./util":21}],14:[function(t,e,n){"use strict";function r(t){return t instanceof Error&&u.getPrototypeOf(t)===Error.prototype}function i(t){var e;if(r(t)){e=new l(t),e.name=t.name,e.message=t.message,e.stack=t.stack;for(var n=u.keys(t),i=0;i1){var n,r=new Array(e-1),i=0;for(n=0;e-1>n;++n){var o=arguments[n];if(!h.isObject(o))return p("Catch statement predicate: expecting an object but got "+h.classString(o));r[i++]=o}return r.length=i,t=arguments[n],this.then(void 0,P(r,t,this))}return this.then(void 0,t)},i.prototype.reflect=function(){return this._then(u,u,void 0,this,void 0)},i.prototype.then=function(t,e){if(F.warnings()&&arguments.length>0&&"function"!=typeof t&&"function"!=typeof e){var n=".then() only accepts functions but was passed: "+h.classString(t);arguments.length>1&&(n+=", "+h.classString(e)),this._warn(n)}return this._then(t,e,void 0,void 0,void 0)},i.prototype.done=function(t,e){var n=this._then(t,e,void 0,void 0,void 0);n._setIsFinal()},i.prototype.spread=function(t){return"function"!=typeof t?p("expecting a function but got "+h.classString(t)):this.all()._then(t,void 0,void 0,C,void 0); -},i.prototype.toJSON=function(){var t={isFulfilled:!1,isRejected:!1,fulfillmentValue:void 0,rejectionReason:void 0};return this.isFulfilled()?(t.fulfillmentValue=this.value(),t.isFulfilled=!0):this.isRejected()&&(t.rejectionReason=this.reason(),t.isRejected=!0),t},i.prototype.all=function(){return arguments.length>0&&this._warn(".all() was passed arguments but it does not take any"),new k(this).promise()},i.prototype.error=function(t){return this.caught(h.originatesFromRejection,t)},i.getNewLibraryCopy=e.exports,i.is=function(t){return t instanceof i},i.fromNode=i.fromCallback=function(t){var e=new i(b);e._captureStackTrace();var n=arguments.length>1?!!Object(arguments[1]).multiArgs:!1,r=x(t)(R(e,n));return r===S&&e._rejectCallback(r.e,!0),e._isFateSealed()||e._setAsyncGuaranteed(),e},i.all=function(t){return new k(t).promise()},i.cast=function(t){var e=E(t);return e instanceof i||(e=new i(b),e._captureStackTrace(),e._setFulfilled(),e._rejectionHandler0=t),e},i.resolve=i.fulfilled=i.cast,i.reject=i.rejected=function(t){var e=new i(b);return e._captureStackTrace(),e._rejectCallback(t,!0),e},i.setScheduler=function(t){if("function"!=typeof t)throw new g("expecting a function but got "+h.classString(t));return v.setScheduler(t)},i.prototype._then=function(t,e,n,r,o){var a=void 0!==o,s=a?o:new i(b),l=this._target(),u=l._bitField;a||(s._propagateFrom(this,3),s._captureStackTrace(),void 0===r&&0!==(2097152&this._bitField)&&(r=0!==(50397184&u)?this._boundValue():l===this?void 0:this._boundTo),this._fireEvent("promiseChained",this,s));var p=c();if(0!==(50397184&u)){var f,_,d=l._settlePromiseCtx;0!==(33554432&u)?(_=l._rejectionHandler0,f=t):0!==(16777216&u)?(_=l._fulfillmentHandler0,f=e,l._unsetRejectionIsUnhandled()):(d=l._settlePromiseLateCancellationObserver,_=new m("late cancellation observer"),l._attachExtraTrace(_),f=e),v.invoke(d,l,{handler:null===p?f:"function"==typeof f&&h.domainBind(p,f),promise:s,receiver:r,value:_})}else l._addCallbacks(t,e,s,r,p);return s},i.prototype._length=function(){return 65535&this._bitField},i.prototype._isFateSealed=function(){return 0!==(117506048&this._bitField)},i.prototype._isFollowing=function(){return 67108864===(67108864&this._bitField)},i.prototype._setLength=function(t){this._bitField=-65536&this._bitField|65535&t},i.prototype._setFulfilled=function(){this._bitField=33554432|this._bitField,this._fireEvent("promiseFulfilled",this)},i.prototype._setRejected=function(){this._bitField=16777216|this._bitField,this._fireEvent("promiseRejected",this)},i.prototype._setFollowing=function(){this._bitField=67108864|this._bitField,this._fireEvent("promiseResolved",this)},i.prototype._setIsFinal=function(){this._bitField=4194304|this._bitField},i.prototype._isFinal=function(){return(4194304&this._bitField)>0},i.prototype._unsetCancelled=function(){this._bitField=-65537&this._bitField},i.prototype._setCancelled=function(){this._bitField=65536|this._bitField,this._fireEvent("promiseCancelled",this)},i.prototype._setWillBeCancelled=function(){this._bitField=8388608|this._bitField},i.prototype._setAsyncGuaranteed=function(){v.hasCustomScheduler()||(this._bitField=134217728|this._bitField)},i.prototype._receiverAt=function(t){var e=0===t?this._receiver0:this[4*t-4+3];return e===f?void 0:void 0===e&&this._isBound()?this._boundValue():e},i.prototype._promiseAt=function(t){return this[4*t-4+2]},i.prototype._fulfillmentHandlerAt=function(t){return this[4*t-4+0]},i.prototype._rejectionHandlerAt=function(t){return this[4*t-4+1]},i.prototype._boundValue=function(){},i.prototype._migrateCallback0=function(t){var e=(t._bitField,t._fulfillmentHandler0),n=t._rejectionHandler0,r=t._promise0,i=t._receiverAt(0);void 0===i&&(i=f),this._addCallbacks(e,n,r,i,null)},i.prototype._migrateCallbackAt=function(t,e){var n=t._fulfillmentHandlerAt(e),r=t._rejectionHandlerAt(e),i=t._promiseAt(e),o=t._receiverAt(e);void 0===o&&(o=f),this._addCallbacks(n,r,i,o,null)},i.prototype._addCallbacks=function(t,e,n,r,i){var o=this._length();if(o>=65531&&(o=0,this._setLength(0)),0===o)this._promise0=n,this._receiver0=r,"function"==typeof t&&(this._fulfillmentHandler0=null===i?t:h.domainBind(i,t)),"function"==typeof e&&(this._rejectionHandler0=null===i?e:h.domainBind(i,e));else{var a=4*o-4;this[a+2]=n,this[a+3]=r,"function"==typeof t&&(this[a+0]=null===i?t:h.domainBind(i,t)),"function"==typeof e&&(this[a+1]=null===i?e:h.domainBind(i,e))}return this._setLength(o+1),o},i.prototype._proxy=function(t,e){this._addCallbacks(void 0,void 0,e,t,null)},i.prototype._resolveCallback=function(t,e){if(0===(117506048&this._bitField)){if(t===this)return this._rejectCallback(l(),!1);var n=E(t,this);if(!(n instanceof i))return this._fulfill(t);e&&this._propagateFrom(n,2);var r=n._target();if(r===this)return void this._reject(l());var o=r._bitField;if(0===(50397184&o)){var a=this._length();a>0&&r._migrateCallback0(this);for(var s=1;a>s;++s)r._migrateCallbackAt(this,s);this._setFollowing(),this._setLength(0),this._setFollowee(r)}else if(0!==(33554432&o))this._fulfill(r._value());else if(0!==(16777216&o))this._reject(r._reason());else{var c=new m("late cancellation observer");r._attachExtraTrace(c),this._reject(c)}}},i.prototype._rejectCallback=function(t,e,n){var r=h.ensureErrorObject(t),i=r===t;if(!i&&!n&&F.warnings()){var o="a promise was rejected with a non-error: "+h.classString(t);this._warn(o,!0)}this._attachExtraTrace(r,e?i:!1),this._reject(t)},i.prototype._resolveFromExecutor=function(t){if(t!==b){var e=this;this._captureStackTrace(),this._pushContext();var n=!0,r=this._execute(t,function(t){e._resolveCallback(t)},function(t){e._rejectCallback(t,n)});n=!1,this._popContext(),void 0!==r&&e._rejectCallback(r,!0)}},i.prototype._settlePromiseFromHandler=function(t,e,n,r){var i=r._bitField;if(0===(65536&i)){r._pushContext();var o;e===C?n&&"number"==typeof n.length?o=x(t).apply(this._boundValue(),n):(o=S,o.e=new g("cannot .spread() a non-array: "+h.classString(n))):o=x(t).call(e,n);var a=r._popContext();i=r._bitField,0===(65536&i)&&(o===w?r._reject(n):o===S?r._rejectCallback(o.e,!1):(F.checkForgottenReturns(o,a,"",r,this),r._resolveCallback(o)))}},i.prototype._target=function(){for(var t=this;t._isFollowing();)t=t._followee();return t},i.prototype._followee=function(){return this._rejectionHandler0},i.prototype._setFollowee=function(t){this._rejectionHandler0=t},i.prototype._settlePromise=function(t,e,r,o){var a=t instanceof i,s=this._bitField,c=0!==(134217728&s);0!==(65536&s)?(a&&t._invokeInternalOnCancel(),r instanceof T&&r.isFinallyHandler()?(r.cancelPromise=t,x(e).call(r,o)===S&&t._reject(S.e)):e===u?t._fulfill(u.call(r)):r instanceof n?r._promiseCancelled(t):a||t instanceof k?t._cancel():r.cancel()):"function"==typeof e?a?(c&&t._setAsyncGuaranteed(),this._settlePromiseFromHandler(e,r,o,t)):e.call(r,o,t):r instanceof n?r._isResolved()||(0!==(33554432&s)?r._promiseFulfilled(o,t):r._promiseRejected(o,t)):a&&(c&&t._setAsyncGuaranteed(),0!==(33554432&s)?t._fulfill(o):t._reject(o))},i.prototype._settlePromiseLateCancellationObserver=function(t){var e=t.handler,n=t.promise,r=t.receiver,o=t.value;"function"==typeof e?n instanceof i?this._settlePromiseFromHandler(e,r,o,n):e.call(r,o,n):n instanceof i&&n._reject(o)},i.prototype._settlePromiseCtx=function(t){this._settlePromise(t.promise,t.handler,t.receiver,t.value)},i.prototype._settlePromise0=function(t,e,n){var r=this._promise0,i=this._receiverAt(0);this._promise0=void 0,this._receiver0=void 0,this._settlePromise(r,t,i,e)},i.prototype._clearCallbackDataAtIndex=function(t){var e=4*t-4;this[e+2]=this[e+3]=this[e+0]=this[e+1]=void 0},i.prototype._fulfill=function(t){var e=this._bitField;if(!((117506048&e)>>>16)){if(t===this){var n=l();return this._attachExtraTrace(n),this._reject(n)}this._setFulfilled(),this._rejectionHandler0=t,(65535&e)>0&&(0!==(134217728&e)?this._settlePromises():v.settlePromises(this))}},i.prototype._reject=function(t){var e=this._bitField;if(!((117506048&e)>>>16))return this._setRejected(),this._fulfillmentHandler0=t,this._isFinal()?v.fatalError(t,h.isNode):void((65535&e)>0?v.settlePromises(this):this._ensurePossibleRejectionHandled())},i.prototype._fulfillPromises=function(t,e){for(var n=1;t>n;n++){var r=this._fulfillmentHandlerAt(n),i=this._promiseAt(n),o=this._receiverAt(n);this._clearCallbackDataAtIndex(n),this._settlePromise(i,r,o,e)}},i.prototype._rejectPromises=function(t,e){for(var n=1;t>n;n++){var r=this._rejectionHandlerAt(n),i=this._promiseAt(n),o=this._receiverAt(n);this._clearCallbackDataAtIndex(n),this._settlePromise(i,r,o,e)}},i.prototype._settlePromises=function(){var t=this._bitField,e=65535&t;if(e>0){if(0!==(16842752&t)){var n=this._fulfillmentHandler0;this._settlePromise0(this._rejectionHandler0,n,t),this._rejectPromises(e,n)}else{var r=this._rejectionHandler0;this._settlePromise0(this._fulfillmentHandler0,r,t),this._fulfillPromises(e,r)}this._setLength(0)}this._clearCancellationData()},i.prototype._settledValue=function(){var t=this._bitField;return 0!==(33554432&t)?this._rejectionHandler0:0!==(16777216&t)?this._fulfillmentHandler0:void 0},i.defer=i.pending=function(){F.deprecated("Promise.defer","new Promise");var t=new i(b);return{promise:t,resolve:o,reject:a}},h.notEnumerableProp(i,"_makeSelfResolutionError",l),t("./method")(i,b,E,p,F),t("./bind")(i,b,E,F),t("./cancel")(i,k,p,F),t("./direct_resolve")(i),t("./synchronous_inspection")(i),t("./join")(i,k,E,b,v,c),i.Promise=i,i.version="3.5.1",h.toFastProperties(i),h.toFastProperties(i.prototype),s({a:1}),s({b:2}),s({c:3}),s(1),s(function(){}),s(void 0),s(!1),s(new i(b)),F.setBounds(d.firstLineError,h.lastLineError),i}},{"./async":1,"./bind":2,"./cancel":4,"./catch_filter":5,"./context":6,"./debuggability":7,"./direct_resolve":8,"./errors":9,"./es5":10,"./finally":11,"./join":12,"./method":13,"./nodeback":14,"./promise_array":16,"./synchronous_inspection":19,"./thenables":20,"./util":21}],16:[function(t,e,n){"use strict";e.exports=function(e,n,r,i,o){function a(t){switch(t){case-2:return[];case-3:return{};case-6:return new Map}}function s(t){var r=this._promise=new e(n);t instanceof e&&r._propagateFrom(t,3),r._setOnCancel(this),this._values=t,this._length=0,this._totalResolved=0,this._init(void 0,-2)}var c=t("./util");c.isArray;return c.inherits(s,o),s.prototype.length=function(){return this._length},s.prototype.promise=function(){return this._promise},s.prototype._init=function l(t,n){var o=r(this._values,this._promise);if(o instanceof e){o=o._target();var s=o._bitField;if(this._values=o,0===(50397184&s))return this._promise._setAsyncGuaranteed(),o._then(l,this._reject,void 0,this,n);if(0===(33554432&s))return 0!==(16777216&s)?this._reject(o._reason()):this._cancel();o=o._value()}if(o=c.asArray(o),null===o){var u=i("expecting an array or an iterable object but got "+c.classString(o)).reason();return void this._promise._rejectCallback(u,!1)}return 0===o.length?void(-5===n?this._resolveEmptyArray():this._resolve(a(n))):void this._iterate(o)},s.prototype._iterate=function(t){var n=this.getActualLength(t.length);this._length=n,this._values=this.shouldCopyValues()?new Array(n):this._values;for(var i=this._promise,o=!1,a=null,s=0;n>s;++s){var c=r(t[s],i);c instanceof e?(c=c._target(),a=c._bitField):a=null,o?null!==a&&c.suppressUnhandledRejections():null!==a?0===(50397184&a)?(c._proxy(this,s),this._values[s]=c):o=0!==(33554432&a)?this._promiseFulfilled(c._value(),s):0!==(16777216&a)?this._promiseRejected(c._reason(),s):this._promiseCancelled(s):o=this._promiseFulfilled(c,s)}o||i._setAsyncGuaranteed()},s.prototype._isResolved=function(){return null===this._values},s.prototype._resolve=function(t){this._values=null,this._promise._fulfill(t)},s.prototype._cancel=function(){!this._isResolved()&&this._promise._isCancellable()&&(this._values=null,this._promise._cancel())},s.prototype._reject=function(t){this._values=null,this._promise._rejectCallback(t,!1)},s.prototype._promiseFulfilled=function(t,e){this._values[e]=t;var n=++this._totalResolved;return n>=this._length?(this._resolve(this._values),!0):!1},s.prototype._promiseCancelled=function(){return this._cancel(),!0},s.prototype._promiseRejected=function(t){return this._totalResolved++,this._reject(t),!0},s.prototype._resultCancelled=function(){if(!this._isResolved()){var t=this._values;if(this._cancel(),t instanceof e)t.cancel();else for(var n=0;no;++o)n[o+r]=t[o+e],t[o+e]=void 0}function i(t){this._capacity=t,this._length=0,this._front=0}i.prototype._willBeOverCapacity=function(t){return this._capacityn;++n)i[n]=t[n];return i[n]=e,i}function l(t,e,n){if(!F.isES5)return{}.hasOwnProperty.call(t,e)?t[e]:void 0;var r=Object.getOwnPropertyDescriptor(t,e);return null!=r?null==r.get&&null==r.set?r.value:n:void 0}function u(t,e,n){if(o(t))return t;var r={value:n,configurable:!0,enumerable:!1,writable:!0};return F.defineProperty(t,e,r),t}function p(t){throw t}function f(t){try{if("function"==typeof t){var e=F.names(t.prototype),n=F.isES5&&e.length>1,r=e.length>0&&!(1===e.length&&"constructor"===e[0]),i=A.test(t+"")&&F.names(t).length>0;if(n||r||i)return!0}return!1}catch(o){return!1}}function h(t){function e(){}e.prototype=t;for(var n=8;n--;)new e;return t}function _(t){return N.test(t)}function d(t,e,n){for(var r=new Array(t),i=0;t>i;++i)r[i]=e+i+n;return r}function v(t){try{return t+""}catch(e){return"[no string representation]"}}function y(t){return t instanceof Error||null!==t&&"object"==typeof t&&"string"==typeof t.message&&"string"==typeof t.name}function g(t){try{u(t,"isOperational",!0)}catch(e){}}function m(t){return null==t?!1:t instanceof Error.__BluebirdErrorTypes__.OperationalError||t.isOperational===!0}function b(t){return y(t)&&F.propertyIsWritable(t,"stack")}function C(t){return{}.toString.call(t)}function w(t,e,n){for(var r=F.names(t),i=0;i10||t[0]>0}(),D.isNode&&D.toFastProperties(process);try{throw new Error}catch(V){D.lastLineError=V}e.exports=D},{"./es5":10}]},{},[3])(3)}),"undefined"!=typeof window&&null!==window?window.P=window.Promise:"undefined"!=typeof self&&null!==self&&(self.P=self.Promise); \ No newline at end of file diff --git a/publi/node_modules/bluebird/js/browser/bluebird.js b/publi/node_modules/bluebird/js/browser/bluebird.js deleted file mode 100644 index 2bc524b..0000000 --- a/publi/node_modules/bluebird/js/browser/bluebird.js +++ /dev/null @@ -1,5623 +0,0 @@ -/* @preserve - * The MIT License (MIT) - * - * Copyright (c) 2013-2017 Petka Antonov - * - * 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. - * - */ -/** - * bluebird build version 3.5.1 - * Features enabled: core, race, call_get, generators, map, nodeify, promisify, props, reduce, settle, some, using, timers, filter, any, each -*/ -!function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var f;"undefined"!=typeof window?f=window:"undefined"!=typeof global?f=global:"undefined"!=typeof self&&(f=self),f.Promise=e()}}(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof _dereq_=="function"&&_dereq_;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof _dereq_=="function"&&_dereq_;for(var o=0;o 0) { - var fn = queue.shift(); - if (typeof fn !== "function") { - fn._settlePromises(); - continue; - } - var receiver = queue.shift(); - var arg = queue.shift(); - fn.call(receiver, arg); - } -}; - -Async.prototype._drainQueues = function () { - this._drainQueue(this._normalQueue); - this._reset(); - this._haveDrainedQueues = true; - this._drainQueue(this._lateQueue); -}; - -Async.prototype._queueTick = function () { - if (!this._isTickUsed) { - this._isTickUsed = true; - this._schedule(this.drainQueues); - } -}; - -Async.prototype._reset = function () { - this._isTickUsed = false; -}; - -module.exports = Async; -module.exports.firstLineError = firstLineError; - -},{"./queue":26,"./schedule":29,"./util":36}],3:[function(_dereq_,module,exports){ -"use strict"; -module.exports = function(Promise, INTERNAL, tryConvertToPromise, debug) { -var calledBind = false; -var rejectThis = function(_, e) { - this._reject(e); -}; - -var targetRejected = function(e, context) { - context.promiseRejectionQueued = true; - context.bindingPromise._then(rejectThis, rejectThis, null, this, e); -}; - -var bindingResolved = function(thisArg, context) { - if (((this._bitField & 50397184) === 0)) { - this._resolveCallback(context.target); - } -}; - -var bindingRejected = function(e, context) { - if (!context.promiseRejectionQueued) this._reject(e); -}; - -Promise.prototype.bind = function (thisArg) { - if (!calledBind) { - calledBind = true; - Promise.prototype._propagateFrom = debug.propagateFromFunction(); - Promise.prototype._boundValue = debug.boundValueFunction(); - } - var maybePromise = tryConvertToPromise(thisArg); - var ret = new Promise(INTERNAL); - ret._propagateFrom(this, 1); - var target = this._target(); - ret._setBoundTo(maybePromise); - if (maybePromise instanceof Promise) { - var context = { - promiseRejectionQueued: false, - promise: ret, - target: target, - bindingPromise: maybePromise - }; - target._then(INTERNAL, targetRejected, undefined, ret, context); - maybePromise._then( - bindingResolved, bindingRejected, undefined, ret, context); - ret._setOnCancel(maybePromise); - } else { - ret._resolveCallback(target); - } - return ret; -}; - -Promise.prototype._setBoundTo = function (obj) { - if (obj !== undefined) { - this._bitField = this._bitField | 2097152; - this._boundTo = obj; - } else { - this._bitField = this._bitField & (~2097152); - } -}; - -Promise.prototype._isBound = function () { - return (this._bitField & 2097152) === 2097152; -}; - -Promise.bind = function (thisArg, value) { - return Promise.resolve(value).bind(thisArg); -}; -}; - -},{}],4:[function(_dereq_,module,exports){ -"use strict"; -var old; -if (typeof Promise !== "undefined") old = Promise; -function noConflict() { - try { if (Promise === bluebird) Promise = old; } - catch (e) {} - return bluebird; -} -var bluebird = _dereq_("./promise")(); -bluebird.noConflict = noConflict; -module.exports = bluebird; - -},{"./promise":22}],5:[function(_dereq_,module,exports){ -"use strict"; -var cr = Object.create; -if (cr) { - var callerCache = cr(null); - var getterCache = cr(null); - callerCache[" size"] = getterCache[" size"] = 0; -} - -module.exports = function(Promise) { -var util = _dereq_("./util"); -var canEvaluate = util.canEvaluate; -var isIdentifier = util.isIdentifier; - -var getMethodCaller; -var getGetter; -if (!true) { -var makeMethodCaller = function (methodName) { - return new Function("ensureMethod", " \n\ - return function(obj) { \n\ - 'use strict' \n\ - var len = this.length; \n\ - ensureMethod(obj, 'methodName'); \n\ - switch(len) { \n\ - case 1: return obj.methodName(this[0]); \n\ - case 2: return obj.methodName(this[0], this[1]); \n\ - case 3: return obj.methodName(this[0], this[1], this[2]); \n\ - case 0: return obj.methodName(); \n\ - default: \n\ - return obj.methodName.apply(obj, this); \n\ - } \n\ - }; \n\ - ".replace(/methodName/g, methodName))(ensureMethod); -}; - -var makeGetter = function (propertyName) { - return new Function("obj", " \n\ - 'use strict'; \n\ - return obj.propertyName; \n\ - ".replace("propertyName", propertyName)); -}; - -var getCompiled = function(name, compiler, cache) { - var ret = cache[name]; - if (typeof ret !== "function") { - if (!isIdentifier(name)) { - return null; - } - ret = compiler(name); - cache[name] = ret; - cache[" size"]++; - if (cache[" size"] > 512) { - var keys = Object.keys(cache); - for (var i = 0; i < 256; ++i) delete cache[keys[i]]; - cache[" size"] = keys.length - 256; - } - } - return ret; -}; - -getMethodCaller = function(name) { - return getCompiled(name, makeMethodCaller, callerCache); -}; - -getGetter = function(name) { - return getCompiled(name, makeGetter, getterCache); -}; -} - -function ensureMethod(obj, methodName) { - var fn; - if (obj != null) fn = obj[methodName]; - if (typeof fn !== "function") { - var message = "Object " + util.classString(obj) + " has no method '" + - util.toString(methodName) + "'"; - throw new Promise.TypeError(message); - } - return fn; -} - -function caller(obj) { - var methodName = this.pop(); - var fn = ensureMethod(obj, methodName); - return fn.apply(obj, this); -} -Promise.prototype.call = function (methodName) { - var args = [].slice.call(arguments, 1);; - if (!true) { - if (canEvaluate) { - var maybeCaller = getMethodCaller(methodName); - if (maybeCaller !== null) { - return this._then( - maybeCaller, undefined, undefined, args, undefined); - } - } - } - args.push(methodName); - return this._then(caller, undefined, undefined, args, undefined); -}; - -function namedGetter(obj) { - return obj[this]; -} -function indexedGetter(obj) { - var index = +this; - if (index < 0) index = Math.max(0, index + obj.length); - return obj[index]; -} -Promise.prototype.get = function (propertyName) { - var isIndex = (typeof propertyName === "number"); - var getter; - if (!isIndex) { - if (canEvaluate) { - var maybeGetter = getGetter(propertyName); - getter = maybeGetter !== null ? maybeGetter : namedGetter; - } else { - getter = namedGetter; - } - } else { - getter = indexedGetter; - } - return this._then(getter, undefined, undefined, propertyName, undefined); -}; -}; - -},{"./util":36}],6:[function(_dereq_,module,exports){ -"use strict"; -module.exports = function(Promise, PromiseArray, apiRejection, debug) { -var util = _dereq_("./util"); -var tryCatch = util.tryCatch; -var errorObj = util.errorObj; -var async = Promise._async; - -Promise.prototype["break"] = Promise.prototype.cancel = function() { - if (!debug.cancellation()) return this._warn("cancellation is disabled"); - - var promise = this; - var child = promise; - while (promise._isCancellable()) { - if (!promise._cancelBy(child)) { - if (child._isFollowing()) { - child._followee().cancel(); - } else { - child._cancelBranched(); - } - break; - } - - var parent = promise._cancellationParent; - if (parent == null || !parent._isCancellable()) { - if (promise._isFollowing()) { - promise._followee().cancel(); - } else { - promise._cancelBranched(); - } - break; - } else { - if (promise._isFollowing()) promise._followee().cancel(); - promise._setWillBeCancelled(); - child = promise; - promise = parent; - } - } -}; - -Promise.prototype._branchHasCancelled = function() { - this._branchesRemainingToCancel--; -}; - -Promise.prototype._enoughBranchesHaveCancelled = function() { - return this._branchesRemainingToCancel === undefined || - this._branchesRemainingToCancel <= 0; -}; - -Promise.prototype._cancelBy = function(canceller) { - if (canceller === this) { - this._branchesRemainingToCancel = 0; - this._invokeOnCancel(); - return true; - } else { - this._branchHasCancelled(); - if (this._enoughBranchesHaveCancelled()) { - this._invokeOnCancel(); - return true; - } - } - return false; -}; - -Promise.prototype._cancelBranched = function() { - if (this._enoughBranchesHaveCancelled()) { - this._cancel(); - } -}; - -Promise.prototype._cancel = function() { - if (!this._isCancellable()) return; - this._setCancelled(); - async.invoke(this._cancelPromises, this, undefined); -}; - -Promise.prototype._cancelPromises = function() { - if (this._length() > 0) this._settlePromises(); -}; - -Promise.prototype._unsetOnCancel = function() { - this._onCancelField = undefined; -}; - -Promise.prototype._isCancellable = function() { - return this.isPending() && !this._isCancelled(); -}; - -Promise.prototype.isCancellable = function() { - return this.isPending() && !this.isCancelled(); -}; - -Promise.prototype._doInvokeOnCancel = function(onCancelCallback, internalOnly) { - if (util.isArray(onCancelCallback)) { - for (var i = 0; i < onCancelCallback.length; ++i) { - this._doInvokeOnCancel(onCancelCallback[i], internalOnly); - } - } else if (onCancelCallback !== undefined) { - if (typeof onCancelCallback === "function") { - if (!internalOnly) { - var e = tryCatch(onCancelCallback).call(this._boundValue()); - if (e === errorObj) { - this._attachExtraTrace(e.e); - async.throwLater(e.e); - } - } - } else { - onCancelCallback._resultCancelled(this); - } - } -}; - -Promise.prototype._invokeOnCancel = function() { - var onCancelCallback = this._onCancel(); - this._unsetOnCancel(); - async.invoke(this._doInvokeOnCancel, this, onCancelCallback); -}; - -Promise.prototype._invokeInternalOnCancel = function() { - if (this._isCancellable()) { - this._doInvokeOnCancel(this._onCancel(), true); - this._unsetOnCancel(); - } -}; - -Promise.prototype._resultCancelled = function() { - this.cancel(); -}; - -}; - -},{"./util":36}],7:[function(_dereq_,module,exports){ -"use strict"; -module.exports = function(NEXT_FILTER) { -var util = _dereq_("./util"); -var getKeys = _dereq_("./es5").keys; -var tryCatch = util.tryCatch; -var errorObj = util.errorObj; - -function catchFilter(instances, cb, promise) { - return function(e) { - var boundTo = promise._boundValue(); - predicateLoop: for (var i = 0; i < instances.length; ++i) { - var item = instances[i]; - - if (item === Error || - (item != null && item.prototype instanceof Error)) { - if (e instanceof item) { - return tryCatch(cb).call(boundTo, e); - } - } else if (typeof item === "function") { - var matchesPredicate = tryCatch(item).call(boundTo, e); - if (matchesPredicate === errorObj) { - return matchesPredicate; - } else if (matchesPredicate) { - return tryCatch(cb).call(boundTo, e); - } - } else if (util.isObject(e)) { - var keys = getKeys(item); - for (var j = 0; j < keys.length; ++j) { - var key = keys[j]; - if (item[key] != e[key]) { - continue predicateLoop; - } - } - return tryCatch(cb).call(boundTo, e); - } - } - return NEXT_FILTER; - }; -} - -return catchFilter; -}; - -},{"./es5":13,"./util":36}],8:[function(_dereq_,module,exports){ -"use strict"; -module.exports = function(Promise) { -var longStackTraces = false; -var contextStack = []; - -Promise.prototype._promiseCreated = function() {}; -Promise.prototype._pushContext = function() {}; -Promise.prototype._popContext = function() {return null;}; -Promise._peekContext = Promise.prototype._peekContext = function() {}; - -function Context() { - this._trace = new Context.CapturedTrace(peekContext()); -} -Context.prototype._pushContext = function () { - if (this._trace !== undefined) { - this._trace._promiseCreated = null; - contextStack.push(this._trace); - } -}; - -Context.prototype._popContext = function () { - if (this._trace !== undefined) { - var trace = contextStack.pop(); - var ret = trace._promiseCreated; - trace._promiseCreated = null; - return ret; - } - return null; -}; - -function createContext() { - if (longStackTraces) return new Context(); -} - -function peekContext() { - var lastIndex = contextStack.length - 1; - if (lastIndex >= 0) { - return contextStack[lastIndex]; - } - return undefined; -} -Context.CapturedTrace = null; -Context.create = createContext; -Context.deactivateLongStackTraces = function() {}; -Context.activateLongStackTraces = function() { - var Promise_pushContext = Promise.prototype._pushContext; - var Promise_popContext = Promise.prototype._popContext; - var Promise_PeekContext = Promise._peekContext; - var Promise_peekContext = Promise.prototype._peekContext; - var Promise_promiseCreated = Promise.prototype._promiseCreated; - Context.deactivateLongStackTraces = function() { - Promise.prototype._pushContext = Promise_pushContext; - Promise.prototype._popContext = Promise_popContext; - Promise._peekContext = Promise_PeekContext; - Promise.prototype._peekContext = Promise_peekContext; - Promise.prototype._promiseCreated = Promise_promiseCreated; - longStackTraces = false; - }; - longStackTraces = true; - Promise.prototype._pushContext = Context.prototype._pushContext; - Promise.prototype._popContext = Context.prototype._popContext; - Promise._peekContext = Promise.prototype._peekContext = peekContext; - Promise.prototype._promiseCreated = function() { - var ctx = this._peekContext(); - if (ctx && ctx._promiseCreated == null) ctx._promiseCreated = this; - }; -}; -return Context; -}; - -},{}],9:[function(_dereq_,module,exports){ -"use strict"; -module.exports = function(Promise, Context) { -var getDomain = Promise._getDomain; -var async = Promise._async; -var Warning = _dereq_("./errors").Warning; -var util = _dereq_("./util"); -var canAttachTrace = util.canAttachTrace; -var unhandledRejectionHandled; -var possiblyUnhandledRejection; -var bluebirdFramePattern = - /[\\\/]bluebird[\\\/]js[\\\/](release|debug|instrumented)/; -var nodeFramePattern = /\((?:timers\.js):\d+:\d+\)/; -var parseLinePattern = /[\/<\(](.+?):(\d+):(\d+)\)?\s*$/; -var stackFramePattern = null; -var formatStack = null; -var indentStackFrames = false; -var printWarning; -var debugging = !!(util.env("BLUEBIRD_DEBUG") != 0 && - (true || - util.env("BLUEBIRD_DEBUG") || - util.env("NODE_ENV") === "development")); - -var warnings = !!(util.env("BLUEBIRD_WARNINGS") != 0 && - (debugging || util.env("BLUEBIRD_WARNINGS"))); - -var longStackTraces = !!(util.env("BLUEBIRD_LONG_STACK_TRACES") != 0 && - (debugging || util.env("BLUEBIRD_LONG_STACK_TRACES"))); - -var wForgottenReturn = util.env("BLUEBIRD_W_FORGOTTEN_RETURN") != 0 && - (warnings || !!util.env("BLUEBIRD_W_FORGOTTEN_RETURN")); - -Promise.prototype.suppressUnhandledRejections = function() { - var target = this._target(); - target._bitField = ((target._bitField & (~1048576)) | - 524288); -}; - -Promise.prototype._ensurePossibleRejectionHandled = function () { - if ((this._bitField & 524288) !== 0) return; - this._setRejectionIsUnhandled(); - var self = this; - setTimeout(function() { - self._notifyUnhandledRejection(); - }, 1); -}; - -Promise.prototype._notifyUnhandledRejectionIsHandled = function () { - fireRejectionEvent("rejectionHandled", - unhandledRejectionHandled, undefined, this); -}; - -Promise.prototype._setReturnedNonUndefined = function() { - this._bitField = this._bitField | 268435456; -}; - -Promise.prototype._returnedNonUndefined = function() { - return (this._bitField & 268435456) !== 0; -}; - -Promise.prototype._notifyUnhandledRejection = function () { - if (this._isRejectionUnhandled()) { - var reason = this._settledValue(); - this._setUnhandledRejectionIsNotified(); - fireRejectionEvent("unhandledRejection", - possiblyUnhandledRejection, reason, this); - } -}; - -Promise.prototype._setUnhandledRejectionIsNotified = function () { - this._bitField = this._bitField | 262144; -}; - -Promise.prototype._unsetUnhandledRejectionIsNotified = function () { - this._bitField = this._bitField & (~262144); -}; - -Promise.prototype._isUnhandledRejectionNotified = function () { - return (this._bitField & 262144) > 0; -}; - -Promise.prototype._setRejectionIsUnhandled = function () { - this._bitField = this._bitField | 1048576; -}; - -Promise.prototype._unsetRejectionIsUnhandled = function () { - this._bitField = this._bitField & (~1048576); - if (this._isUnhandledRejectionNotified()) { - this._unsetUnhandledRejectionIsNotified(); - this._notifyUnhandledRejectionIsHandled(); - } -}; - -Promise.prototype._isRejectionUnhandled = function () { - return (this._bitField & 1048576) > 0; -}; - -Promise.prototype._warn = function(message, shouldUseOwnTrace, promise) { - return warn(message, shouldUseOwnTrace, promise || this); -}; - -Promise.onPossiblyUnhandledRejection = function (fn) { - var domain = getDomain(); - possiblyUnhandledRejection = - typeof fn === "function" ? (domain === null ? - fn : util.domainBind(domain, fn)) - : undefined; -}; - -Promise.onUnhandledRejectionHandled = function (fn) { - var domain = getDomain(); - unhandledRejectionHandled = - typeof fn === "function" ? (domain === null ? - fn : util.domainBind(domain, fn)) - : undefined; -}; - -var disableLongStackTraces = function() {}; -Promise.longStackTraces = function () { - if (async.haveItemsQueued() && !config.longStackTraces) { - throw new Error("cannot enable long stack traces after promises have been created\u000a\u000a See http://goo.gl/MqrFmX\u000a"); - } - if (!config.longStackTraces && longStackTracesIsSupported()) { - var Promise_captureStackTrace = Promise.prototype._captureStackTrace; - var Promise_attachExtraTrace = Promise.prototype._attachExtraTrace; - config.longStackTraces = true; - disableLongStackTraces = function() { - if (async.haveItemsQueued() && !config.longStackTraces) { - throw new Error("cannot enable long stack traces after promises have been created\u000a\u000a See http://goo.gl/MqrFmX\u000a"); - } - Promise.prototype._captureStackTrace = Promise_captureStackTrace; - Promise.prototype._attachExtraTrace = Promise_attachExtraTrace; - Context.deactivateLongStackTraces(); - async.enableTrampoline(); - config.longStackTraces = false; - }; - Promise.prototype._captureStackTrace = longStackTracesCaptureStackTrace; - Promise.prototype._attachExtraTrace = longStackTracesAttachExtraTrace; - Context.activateLongStackTraces(); - async.disableTrampolineIfNecessary(); - } -}; - -Promise.hasLongStackTraces = function () { - return config.longStackTraces && longStackTracesIsSupported(); -}; - -var fireDomEvent = (function() { - try { - if (typeof CustomEvent === "function") { - var event = new CustomEvent("CustomEvent"); - util.global.dispatchEvent(event); - return function(name, event) { - var domEvent = new CustomEvent(name.toLowerCase(), { - detail: event, - cancelable: true - }); - return !util.global.dispatchEvent(domEvent); - }; - } else if (typeof Event === "function") { - var event = new Event("CustomEvent"); - util.global.dispatchEvent(event); - return function(name, event) { - var domEvent = new Event(name.toLowerCase(), { - cancelable: true - }); - domEvent.detail = event; - return !util.global.dispatchEvent(domEvent); - }; - } else { - var event = document.createEvent("CustomEvent"); - event.initCustomEvent("testingtheevent", false, true, {}); - util.global.dispatchEvent(event); - return function(name, event) { - var domEvent = document.createEvent("CustomEvent"); - domEvent.initCustomEvent(name.toLowerCase(), false, true, - event); - return !util.global.dispatchEvent(domEvent); - }; - } - } catch (e) {} - return function() { - return false; - }; -})(); - -var fireGlobalEvent = (function() { - if (util.isNode) { - return function() { - return process.emit.apply(process, arguments); - }; - } else { - if (!util.global) { - return function() { - return false; - }; - } - return function(name) { - var methodName = "on" + name.toLowerCase(); - var method = util.global[methodName]; - if (!method) return false; - method.apply(util.global, [].slice.call(arguments, 1)); - return true; - }; - } -})(); - -function generatePromiseLifecycleEventObject(name, promise) { - return {promise: promise}; -} - -var eventToObjectGenerator = { - promiseCreated: generatePromiseLifecycleEventObject, - promiseFulfilled: generatePromiseLifecycleEventObject, - promiseRejected: generatePromiseLifecycleEventObject, - promiseResolved: generatePromiseLifecycleEventObject, - promiseCancelled: generatePromiseLifecycleEventObject, - promiseChained: function(name, promise, child) { - return {promise: promise, child: child}; - }, - warning: function(name, warning) { - return {warning: warning}; - }, - unhandledRejection: function (name, reason, promise) { - return {reason: reason, promise: promise}; - }, - rejectionHandled: generatePromiseLifecycleEventObject -}; - -var activeFireEvent = function (name) { - var globalEventFired = false; - try { - globalEventFired = fireGlobalEvent.apply(null, arguments); - } catch (e) { - async.throwLater(e); - globalEventFired = true; - } - - var domEventFired = false; - try { - domEventFired = fireDomEvent(name, - eventToObjectGenerator[name].apply(null, arguments)); - } catch (e) { - async.throwLater(e); - domEventFired = true; - } - - return domEventFired || globalEventFired; -}; - -Promise.config = function(opts) { - opts = Object(opts); - if ("longStackTraces" in opts) { - if (opts.longStackTraces) { - Promise.longStackTraces(); - } else if (!opts.longStackTraces && Promise.hasLongStackTraces()) { - disableLongStackTraces(); - } - } - if ("warnings" in opts) { - var warningsOption = opts.warnings; - config.warnings = !!warningsOption; - wForgottenReturn = config.warnings; - - if (util.isObject(warningsOption)) { - if ("wForgottenReturn" in warningsOption) { - wForgottenReturn = !!warningsOption.wForgottenReturn; - } - } - } - if ("cancellation" in opts && opts.cancellation && !config.cancellation) { - if (async.haveItemsQueued()) { - throw new Error( - "cannot enable cancellation after promises are in use"); - } - Promise.prototype._clearCancellationData = - cancellationClearCancellationData; - Promise.prototype._propagateFrom = cancellationPropagateFrom; - Promise.prototype._onCancel = cancellationOnCancel; - Promise.prototype._setOnCancel = cancellationSetOnCancel; - Promise.prototype._attachCancellationCallback = - cancellationAttachCancellationCallback; - Promise.prototype._execute = cancellationExecute; - propagateFromFunction = cancellationPropagateFrom; - config.cancellation = true; - } - if ("monitoring" in opts) { - if (opts.monitoring && !config.monitoring) { - config.monitoring = true; - Promise.prototype._fireEvent = activeFireEvent; - } else if (!opts.monitoring && config.monitoring) { - config.monitoring = false; - Promise.prototype._fireEvent = defaultFireEvent; - } - } - return Promise; -}; - -function defaultFireEvent() { return false; } - -Promise.prototype._fireEvent = defaultFireEvent; -Promise.prototype._execute = function(executor, resolve, reject) { - try { - executor(resolve, reject); - } catch (e) { - return e; - } -}; -Promise.prototype._onCancel = function () {}; -Promise.prototype._setOnCancel = function (handler) { ; }; -Promise.prototype._attachCancellationCallback = function(onCancel) { - ; -}; -Promise.prototype._captureStackTrace = function () {}; -Promise.prototype._attachExtraTrace = function () {}; -Promise.prototype._clearCancellationData = function() {}; -Promise.prototype._propagateFrom = function (parent, flags) { - ; - ; -}; - -function cancellationExecute(executor, resolve, reject) { - var promise = this; - try { - executor(resolve, reject, function(onCancel) { - if (typeof onCancel !== "function") { - throw new TypeError("onCancel must be a function, got: " + - util.toString(onCancel)); - } - promise._attachCancellationCallback(onCancel); - }); - } catch (e) { - return e; - } -} - -function cancellationAttachCancellationCallback(onCancel) { - if (!this._isCancellable()) return this; - - var previousOnCancel = this._onCancel(); - if (previousOnCancel !== undefined) { - if (util.isArray(previousOnCancel)) { - previousOnCancel.push(onCancel); - } else { - this._setOnCancel([previousOnCancel, onCancel]); - } - } else { - this._setOnCancel(onCancel); - } -} - -function cancellationOnCancel() { - return this._onCancelField; -} - -function cancellationSetOnCancel(onCancel) { - this._onCancelField = onCancel; -} - -function cancellationClearCancellationData() { - this._cancellationParent = undefined; - this._onCancelField = undefined; -} - -function cancellationPropagateFrom(parent, flags) { - if ((flags & 1) !== 0) { - this._cancellationParent = parent; - var branchesRemainingToCancel = parent._branchesRemainingToCancel; - if (branchesRemainingToCancel === undefined) { - branchesRemainingToCancel = 0; - } - parent._branchesRemainingToCancel = branchesRemainingToCancel + 1; - } - if ((flags & 2) !== 0 && parent._isBound()) { - this._setBoundTo(parent._boundTo); - } -} - -function bindingPropagateFrom(parent, flags) { - if ((flags & 2) !== 0 && parent._isBound()) { - this._setBoundTo(parent._boundTo); - } -} -var propagateFromFunction = bindingPropagateFrom; - -function boundValueFunction() { - var ret = this._boundTo; - if (ret !== undefined) { - if (ret instanceof Promise) { - if (ret.isFulfilled()) { - return ret.value(); - } else { - return undefined; - } - } - } - return ret; -} - -function longStackTracesCaptureStackTrace() { - this._trace = new CapturedTrace(this._peekContext()); -} - -function longStackTracesAttachExtraTrace(error, ignoreSelf) { - if (canAttachTrace(error)) { - var trace = this._trace; - if (trace !== undefined) { - if (ignoreSelf) trace = trace._parent; - } - if (trace !== undefined) { - trace.attachExtraTrace(error); - } else if (!error.__stackCleaned__) { - var parsed = parseStackAndMessage(error); - util.notEnumerableProp(error, "stack", - parsed.message + "\n" + parsed.stack.join("\n")); - util.notEnumerableProp(error, "__stackCleaned__", true); - } - } -} - -function checkForgottenReturns(returnValue, promiseCreated, name, promise, - parent) { - if (returnValue === undefined && promiseCreated !== null && - wForgottenReturn) { - if (parent !== undefined && parent._returnedNonUndefined()) return; - if ((promise._bitField & 65535) === 0) return; - - if (name) name = name + " "; - var handlerLine = ""; - var creatorLine = ""; - if (promiseCreated._trace) { - var traceLines = promiseCreated._trace.stack.split("\n"); - var stack = cleanStack(traceLines); - for (var i = stack.length - 1; i >= 0; --i) { - var line = stack[i]; - if (!nodeFramePattern.test(line)) { - var lineMatches = line.match(parseLinePattern); - if (lineMatches) { - handlerLine = "at " + lineMatches[1] + - ":" + lineMatches[2] + ":" + lineMatches[3] + " "; - } - break; - } - } - - if (stack.length > 0) { - var firstUserLine = stack[0]; - for (var i = 0; i < traceLines.length; ++i) { - - if (traceLines[i] === firstUserLine) { - if (i > 0) { - creatorLine = "\n" + traceLines[i - 1]; - } - break; - } - } - - } - } - var msg = "a promise was created in a " + name + - "handler " + handlerLine + "but was not returned from it, " + - "see http://goo.gl/rRqMUw" + - creatorLine; - promise._warn(msg, true, promiseCreated); - } -} - -function deprecated(name, replacement) { - var message = name + - " is deprecated and will be removed in a future version."; - if (replacement) message += " Use " + replacement + " instead."; - return warn(message); -} - -function warn(message, shouldUseOwnTrace, promise) { - if (!config.warnings) return; - var warning = new Warning(message); - var ctx; - if (shouldUseOwnTrace) { - promise._attachExtraTrace(warning); - } else if (config.longStackTraces && (ctx = Promise._peekContext())) { - ctx.attachExtraTrace(warning); - } else { - var parsed = parseStackAndMessage(warning); - warning.stack = parsed.message + "\n" + parsed.stack.join("\n"); - } - - if (!activeFireEvent("warning", warning)) { - formatAndLogError(warning, "", true); - } -} - -function reconstructStack(message, stacks) { - for (var i = 0; i < stacks.length - 1; ++i) { - stacks[i].push("From previous event:"); - stacks[i] = stacks[i].join("\n"); - } - if (i < stacks.length) { - stacks[i] = stacks[i].join("\n"); - } - return message + "\n" + stacks.join("\n"); -} - -function removeDuplicateOrEmptyJumps(stacks) { - for (var i = 0; i < stacks.length; ++i) { - if (stacks[i].length === 0 || - ((i + 1 < stacks.length) && stacks[i][0] === stacks[i+1][0])) { - stacks.splice(i, 1); - i--; - } - } -} - -function removeCommonRoots(stacks) { - var current = stacks[0]; - for (var i = 1; i < stacks.length; ++i) { - var prev = stacks[i]; - var currentLastIndex = current.length - 1; - var currentLastLine = current[currentLastIndex]; - var commonRootMeetPoint = -1; - - for (var j = prev.length - 1; j >= 0; --j) { - if (prev[j] === currentLastLine) { - commonRootMeetPoint = j; - break; - } - } - - for (var j = commonRootMeetPoint; j >= 0; --j) { - var line = prev[j]; - if (current[currentLastIndex] === line) { - current.pop(); - currentLastIndex--; - } else { - break; - } - } - current = prev; - } -} - -function cleanStack(stack) { - var ret = []; - for (var i = 0; i < stack.length; ++i) { - var line = stack[i]; - var isTraceLine = " (No stack trace)" === line || - stackFramePattern.test(line); - var isInternalFrame = isTraceLine && shouldIgnore(line); - if (isTraceLine && !isInternalFrame) { - if (indentStackFrames && line.charAt(0) !== " ") { - line = " " + line; - } - ret.push(line); - } - } - return ret; -} - -function stackFramesAsArray(error) { - var stack = error.stack.replace(/\s+$/g, "").split("\n"); - for (var i = 0; i < stack.length; ++i) { - var line = stack[i]; - if (" (No stack trace)" === line || stackFramePattern.test(line)) { - break; - } - } - if (i > 0 && error.name != "SyntaxError") { - stack = stack.slice(i); - } - return stack; -} - -function parseStackAndMessage(error) { - var stack = error.stack; - var message = error.toString(); - stack = typeof stack === "string" && stack.length > 0 - ? stackFramesAsArray(error) : [" (No stack trace)"]; - return { - message: message, - stack: error.name == "SyntaxError" ? stack : cleanStack(stack) - }; -} - -function formatAndLogError(error, title, isSoft) { - if (typeof console !== "undefined") { - var message; - if (util.isObject(error)) { - var stack = error.stack; - message = title + formatStack(stack, error); - } else { - message = title + String(error); - } - if (typeof printWarning === "function") { - printWarning(message, isSoft); - } else if (typeof console.log === "function" || - typeof console.log === "object") { - console.log(message); - } - } -} - -function fireRejectionEvent(name, localHandler, reason, promise) { - var localEventFired = false; - try { - if (typeof localHandler === "function") { - localEventFired = true; - if (name === "rejectionHandled") { - localHandler(promise); - } else { - localHandler(reason, promise); - } - } - } catch (e) { - async.throwLater(e); - } - - if (name === "unhandledRejection") { - if (!activeFireEvent(name, reason, promise) && !localEventFired) { - formatAndLogError(reason, "Unhandled rejection "); - } - } else { - activeFireEvent(name, promise); - } -} - -function formatNonError(obj) { - var str; - if (typeof obj === "function") { - str = "[function " + - (obj.name || "anonymous") + - "]"; - } else { - str = obj && typeof obj.toString === "function" - ? obj.toString() : util.toString(obj); - var ruselessToString = /\[object [a-zA-Z0-9$_]+\]/; - if (ruselessToString.test(str)) { - try { - var newStr = JSON.stringify(obj); - str = newStr; - } - catch(e) { - - } - } - if (str.length === 0) { - str = "(empty array)"; - } - } - return ("(<" + snip(str) + ">, no stack trace)"); -} - -function snip(str) { - var maxChars = 41; - if (str.length < maxChars) { - return str; - } - return str.substr(0, maxChars - 3) + "..."; -} - -function longStackTracesIsSupported() { - return typeof captureStackTrace === "function"; -} - -var shouldIgnore = function() { return false; }; -var parseLineInfoRegex = /[\/<\(]([^:\/]+):(\d+):(?:\d+)\)?\s*$/; -function parseLineInfo(line) { - var matches = line.match(parseLineInfoRegex); - if (matches) { - return { - fileName: matches[1], - line: parseInt(matches[2], 10) - }; - } -} - -function setBounds(firstLineError, lastLineError) { - if (!longStackTracesIsSupported()) return; - var firstStackLines = firstLineError.stack.split("\n"); - var lastStackLines = lastLineError.stack.split("\n"); - var firstIndex = -1; - var lastIndex = -1; - var firstFileName; - var lastFileName; - for (var i = 0; i < firstStackLines.length; ++i) { - var result = parseLineInfo(firstStackLines[i]); - if (result) { - firstFileName = result.fileName; - firstIndex = result.line; - break; - } - } - for (var i = 0; i < lastStackLines.length; ++i) { - var result = parseLineInfo(lastStackLines[i]); - if (result) { - lastFileName = result.fileName; - lastIndex = result.line; - break; - } - } - if (firstIndex < 0 || lastIndex < 0 || !firstFileName || !lastFileName || - firstFileName !== lastFileName || firstIndex >= lastIndex) { - return; - } - - shouldIgnore = function(line) { - if (bluebirdFramePattern.test(line)) return true; - var info = parseLineInfo(line); - if (info) { - if (info.fileName === firstFileName && - (firstIndex <= info.line && info.line <= lastIndex)) { - return true; - } - } - return false; - }; -} - -function CapturedTrace(parent) { - this._parent = parent; - this._promisesCreated = 0; - var length = this._length = 1 + (parent === undefined ? 0 : parent._length); - captureStackTrace(this, CapturedTrace); - if (length > 32) this.uncycle(); -} -util.inherits(CapturedTrace, Error); -Context.CapturedTrace = CapturedTrace; - -CapturedTrace.prototype.uncycle = function() { - var length = this._length; - if (length < 2) return; - var nodes = []; - var stackToIndex = {}; - - for (var i = 0, node = this; node !== undefined; ++i) { - nodes.push(node); - node = node._parent; - } - length = this._length = i; - for (var i = length - 1; i >= 0; --i) { - var stack = nodes[i].stack; - if (stackToIndex[stack] === undefined) { - stackToIndex[stack] = i; - } - } - for (var i = 0; i < length; ++i) { - var currentStack = nodes[i].stack; - var index = stackToIndex[currentStack]; - if (index !== undefined && index !== i) { - if (index > 0) { - nodes[index - 1]._parent = undefined; - nodes[index - 1]._length = 1; - } - nodes[i]._parent = undefined; - nodes[i]._length = 1; - var cycleEdgeNode = i > 0 ? nodes[i - 1] : this; - - if (index < length - 1) { - cycleEdgeNode._parent = nodes[index + 1]; - cycleEdgeNode._parent.uncycle(); - cycleEdgeNode._length = - cycleEdgeNode._parent._length + 1; - } else { - cycleEdgeNode._parent = undefined; - cycleEdgeNode._length = 1; - } - var currentChildLength = cycleEdgeNode._length + 1; - for (var j = i - 2; j >= 0; --j) { - nodes[j]._length = currentChildLength; - currentChildLength++; - } - return; - } - } -}; - -CapturedTrace.prototype.attachExtraTrace = function(error) { - if (error.__stackCleaned__) return; - this.uncycle(); - var parsed = parseStackAndMessage(error); - var message = parsed.message; - var stacks = [parsed.stack]; - - var trace = this; - while (trace !== undefined) { - stacks.push(cleanStack(trace.stack.split("\n"))); - trace = trace._parent; - } - removeCommonRoots(stacks); - removeDuplicateOrEmptyJumps(stacks); - util.notEnumerableProp(error, "stack", reconstructStack(message, stacks)); - util.notEnumerableProp(error, "__stackCleaned__", true); -}; - -var captureStackTrace = (function stackDetection() { - var v8stackFramePattern = /^\s*at\s*/; - var v8stackFormatter = function(stack, error) { - if (typeof stack === "string") return stack; - - if (error.name !== undefined && - error.message !== undefined) { - return error.toString(); - } - return formatNonError(error); - }; - - if (typeof Error.stackTraceLimit === "number" && - typeof Error.captureStackTrace === "function") { - Error.stackTraceLimit += 6; - stackFramePattern = v8stackFramePattern; - formatStack = v8stackFormatter; - var captureStackTrace = Error.captureStackTrace; - - shouldIgnore = function(line) { - return bluebirdFramePattern.test(line); - }; - return function(receiver, ignoreUntil) { - Error.stackTraceLimit += 6; - captureStackTrace(receiver, ignoreUntil); - Error.stackTraceLimit -= 6; - }; - } - var err = new Error(); - - if (typeof err.stack === "string" && - err.stack.split("\n")[0].indexOf("stackDetection@") >= 0) { - stackFramePattern = /@/; - formatStack = v8stackFormatter; - indentStackFrames = true; - return function captureStackTrace(o) { - o.stack = new Error().stack; - }; - } - - var hasStackAfterThrow; - try { throw new Error(); } - catch(e) { - hasStackAfterThrow = ("stack" in e); - } - if (!("stack" in err) && hasStackAfterThrow && - typeof Error.stackTraceLimit === "number") { - stackFramePattern = v8stackFramePattern; - formatStack = v8stackFormatter; - return function captureStackTrace(o) { - Error.stackTraceLimit += 6; - try { throw new Error(); } - catch(e) { o.stack = e.stack; } - Error.stackTraceLimit -= 6; - }; - } - - formatStack = function(stack, error) { - if (typeof stack === "string") return stack; - - if ((typeof error === "object" || - typeof error === "function") && - error.name !== undefined && - error.message !== undefined) { - return error.toString(); - } - return formatNonError(error); - }; - - return null; - -})([]); - -if (typeof console !== "undefined" && typeof console.warn !== "undefined") { - printWarning = function (message) { - console.warn(message); - }; - if (util.isNode && process.stderr.isTTY) { - printWarning = function(message, isSoft) { - var color = isSoft ? "\u001b[33m" : "\u001b[31m"; - console.warn(color + message + "\u001b[0m\n"); - }; - } else if (!util.isNode && typeof (new Error().stack) === "string") { - printWarning = function(message, isSoft) { - console.warn("%c" + message, - isSoft ? "color: darkorange" : "color: red"); - }; - } -} - -var config = { - warnings: warnings, - longStackTraces: false, - cancellation: false, - monitoring: false -}; - -if (longStackTraces) Promise.longStackTraces(); - -return { - longStackTraces: function() { - return config.longStackTraces; - }, - warnings: function() { - return config.warnings; - }, - cancellation: function() { - return config.cancellation; - }, - monitoring: function() { - return config.monitoring; - }, - propagateFromFunction: function() { - return propagateFromFunction; - }, - boundValueFunction: function() { - return boundValueFunction; - }, - checkForgottenReturns: checkForgottenReturns, - setBounds: setBounds, - warn: warn, - deprecated: deprecated, - CapturedTrace: CapturedTrace, - fireDomEvent: fireDomEvent, - fireGlobalEvent: fireGlobalEvent -}; -}; - -},{"./errors":12,"./util":36}],10:[function(_dereq_,module,exports){ -"use strict"; -module.exports = function(Promise) { -function returner() { - return this.value; -} -function thrower() { - throw this.reason; -} - -Promise.prototype["return"] = -Promise.prototype.thenReturn = function (value) { - if (value instanceof Promise) value.suppressUnhandledRejections(); - return this._then( - returner, undefined, undefined, {value: value}, undefined); -}; - -Promise.prototype["throw"] = -Promise.prototype.thenThrow = function (reason) { - return this._then( - thrower, undefined, undefined, {reason: reason}, undefined); -}; - -Promise.prototype.catchThrow = function (reason) { - if (arguments.length <= 1) { - return this._then( - undefined, thrower, undefined, {reason: reason}, undefined); - } else { - var _reason = arguments[1]; - var handler = function() {throw _reason;}; - return this.caught(reason, handler); - } -}; - -Promise.prototype.catchReturn = function (value) { - if (arguments.length <= 1) { - if (value instanceof Promise) value.suppressUnhandledRejections(); - return this._then( - undefined, returner, undefined, {value: value}, undefined); - } else { - var _value = arguments[1]; - if (_value instanceof Promise) _value.suppressUnhandledRejections(); - var handler = function() {return _value;}; - return this.caught(value, handler); - } -}; -}; - -},{}],11:[function(_dereq_,module,exports){ -"use strict"; -module.exports = function(Promise, INTERNAL) { -var PromiseReduce = Promise.reduce; -var PromiseAll = Promise.all; - -function promiseAllThis() { - return PromiseAll(this); -} - -function PromiseMapSeries(promises, fn) { - return PromiseReduce(promises, fn, INTERNAL, INTERNAL); -} - -Promise.prototype.each = function (fn) { - return PromiseReduce(this, fn, INTERNAL, 0) - ._then(promiseAllThis, undefined, undefined, this, undefined); -}; - -Promise.prototype.mapSeries = function (fn) { - return PromiseReduce(this, fn, INTERNAL, INTERNAL); -}; - -Promise.each = function (promises, fn) { - return PromiseReduce(promises, fn, INTERNAL, 0) - ._then(promiseAllThis, undefined, undefined, promises, undefined); -}; - -Promise.mapSeries = PromiseMapSeries; -}; - - -},{}],12:[function(_dereq_,module,exports){ -"use strict"; -var es5 = _dereq_("./es5"); -var Objectfreeze = es5.freeze; -var util = _dereq_("./util"); -var inherits = util.inherits; -var notEnumerableProp = util.notEnumerableProp; - -function subError(nameProperty, defaultMessage) { - function SubError(message) { - if (!(this instanceof SubError)) return new SubError(message); - notEnumerableProp(this, "message", - typeof message === "string" ? message : defaultMessage); - notEnumerableProp(this, "name", nameProperty); - if (Error.captureStackTrace) { - Error.captureStackTrace(this, this.constructor); - } else { - Error.call(this); - } - } - inherits(SubError, Error); - return SubError; -} - -var _TypeError, _RangeError; -var Warning = subError("Warning", "warning"); -var CancellationError = subError("CancellationError", "cancellation error"); -var TimeoutError = subError("TimeoutError", "timeout error"); -var AggregateError = subError("AggregateError", "aggregate error"); -try { - _TypeError = TypeError; - _RangeError = RangeError; -} catch(e) { - _TypeError = subError("TypeError", "type error"); - _RangeError = subError("RangeError", "range error"); -} - -var methods = ("join pop push shift unshift slice filter forEach some " + - "every map indexOf lastIndexOf reduce reduceRight sort reverse").split(" "); - -for (var i = 0; i < methods.length; ++i) { - if (typeof Array.prototype[methods[i]] === "function") { - AggregateError.prototype[methods[i]] = Array.prototype[methods[i]]; - } -} - -es5.defineProperty(AggregateError.prototype, "length", { - value: 0, - configurable: false, - writable: true, - enumerable: true -}); -AggregateError.prototype["isOperational"] = true; -var level = 0; -AggregateError.prototype.toString = function() { - var indent = Array(level * 4 + 1).join(" "); - var ret = "\n" + indent + "AggregateError of:" + "\n"; - level++; - indent = Array(level * 4 + 1).join(" "); - for (var i = 0; i < this.length; ++i) { - var str = this[i] === this ? "[Circular AggregateError]" : this[i] + ""; - var lines = str.split("\n"); - for (var j = 0; j < lines.length; ++j) { - lines[j] = indent + lines[j]; - } - str = lines.join("\n"); - ret += str + "\n"; - } - level--; - return ret; -}; - -function OperationalError(message) { - if (!(this instanceof OperationalError)) - return new OperationalError(message); - notEnumerableProp(this, "name", "OperationalError"); - notEnumerableProp(this, "message", message); - this.cause = message; - this["isOperational"] = true; - - if (message instanceof Error) { - notEnumerableProp(this, "message", message.message); - notEnumerableProp(this, "stack", message.stack); - } else if (Error.captureStackTrace) { - Error.captureStackTrace(this, this.constructor); - } - -} -inherits(OperationalError, Error); - -var errorTypes = Error["__BluebirdErrorTypes__"]; -if (!errorTypes) { - errorTypes = Objectfreeze({ - CancellationError: CancellationError, - TimeoutError: TimeoutError, - OperationalError: OperationalError, - RejectionError: OperationalError, - AggregateError: AggregateError - }); - es5.defineProperty(Error, "__BluebirdErrorTypes__", { - value: errorTypes, - writable: false, - enumerable: false, - configurable: false - }); -} - -module.exports = { - Error: Error, - TypeError: _TypeError, - RangeError: _RangeError, - CancellationError: errorTypes.CancellationError, - OperationalError: errorTypes.OperationalError, - TimeoutError: errorTypes.TimeoutError, - AggregateError: errorTypes.AggregateError, - Warning: Warning -}; - -},{"./es5":13,"./util":36}],13:[function(_dereq_,module,exports){ -var isES5 = (function(){ - "use strict"; - return this === undefined; -})(); - -if (isES5) { - module.exports = { - freeze: Object.freeze, - defineProperty: Object.defineProperty, - getDescriptor: Object.getOwnPropertyDescriptor, - keys: Object.keys, - names: Object.getOwnPropertyNames, - getPrototypeOf: Object.getPrototypeOf, - isArray: Array.isArray, - isES5: isES5, - propertyIsWritable: function(obj, prop) { - var descriptor = Object.getOwnPropertyDescriptor(obj, prop); - return !!(!descriptor || descriptor.writable || descriptor.set); - } - }; -} else { - var has = {}.hasOwnProperty; - var str = {}.toString; - var proto = {}.constructor.prototype; - - var ObjectKeys = function (o) { - var ret = []; - for (var key in o) { - if (has.call(o, key)) { - ret.push(key); - } - } - return ret; - }; - - var ObjectGetDescriptor = function(o, key) { - return {value: o[key]}; - }; - - var ObjectDefineProperty = function (o, key, desc) { - o[key] = desc.value; - return o; - }; - - var ObjectFreeze = function (obj) { - return obj; - }; - - var ObjectGetPrototypeOf = function (obj) { - try { - return Object(obj).constructor.prototype; - } - catch (e) { - return proto; - } - }; - - var ArrayIsArray = function (obj) { - try { - return str.call(obj) === "[object Array]"; - } - catch(e) { - return false; - } - }; - - module.exports = { - isArray: ArrayIsArray, - keys: ObjectKeys, - names: ObjectKeys, - defineProperty: ObjectDefineProperty, - getDescriptor: ObjectGetDescriptor, - freeze: ObjectFreeze, - getPrototypeOf: ObjectGetPrototypeOf, - isES5: isES5, - propertyIsWritable: function() { - return true; - } - }; -} - -},{}],14:[function(_dereq_,module,exports){ -"use strict"; -module.exports = function(Promise, INTERNAL) { -var PromiseMap = Promise.map; - -Promise.prototype.filter = function (fn, options) { - return PromiseMap(this, fn, options, INTERNAL); -}; - -Promise.filter = function (promises, fn, options) { - return PromiseMap(promises, fn, options, INTERNAL); -}; -}; - -},{}],15:[function(_dereq_,module,exports){ -"use strict"; -module.exports = function(Promise, tryConvertToPromise, NEXT_FILTER) { -var util = _dereq_("./util"); -var CancellationError = Promise.CancellationError; -var errorObj = util.errorObj; -var catchFilter = _dereq_("./catch_filter")(NEXT_FILTER); - -function PassThroughHandlerContext(promise, type, handler) { - this.promise = promise; - this.type = type; - this.handler = handler; - this.called = false; - this.cancelPromise = null; -} - -PassThroughHandlerContext.prototype.isFinallyHandler = function() { - return this.type === 0; -}; - -function FinallyHandlerCancelReaction(finallyHandler) { - this.finallyHandler = finallyHandler; -} - -FinallyHandlerCancelReaction.prototype._resultCancelled = function() { - checkCancel(this.finallyHandler); -}; - -function checkCancel(ctx, reason) { - if (ctx.cancelPromise != null) { - if (arguments.length > 1) { - ctx.cancelPromise._reject(reason); - } else { - ctx.cancelPromise._cancel(); - } - ctx.cancelPromise = null; - return true; - } - return false; -} - -function succeed() { - return finallyHandler.call(this, this.promise._target()._settledValue()); -} -function fail(reason) { - if (checkCancel(this, reason)) return; - errorObj.e = reason; - return errorObj; -} -function finallyHandler(reasonOrValue) { - var promise = this.promise; - var handler = this.handler; - - if (!this.called) { - this.called = true; - var ret = this.isFinallyHandler() - ? handler.call(promise._boundValue()) - : handler.call(promise._boundValue(), reasonOrValue); - if (ret === NEXT_FILTER) { - return ret; - } else if (ret !== undefined) { - promise._setReturnedNonUndefined(); - var maybePromise = tryConvertToPromise(ret, promise); - if (maybePromise instanceof Promise) { - if (this.cancelPromise != null) { - if (maybePromise._isCancelled()) { - var reason = - new CancellationError("late cancellation observer"); - promise._attachExtraTrace(reason); - errorObj.e = reason; - return errorObj; - } else if (maybePromise.isPending()) { - maybePromise._attachCancellationCallback( - new FinallyHandlerCancelReaction(this)); - } - } - return maybePromise._then( - succeed, fail, undefined, this, undefined); - } - } - } - - if (promise.isRejected()) { - checkCancel(this); - errorObj.e = reasonOrValue; - return errorObj; - } else { - checkCancel(this); - return reasonOrValue; - } -} - -Promise.prototype._passThrough = function(handler, type, success, fail) { - if (typeof handler !== "function") return this.then(); - return this._then(success, - fail, - undefined, - new PassThroughHandlerContext(this, type, handler), - undefined); -}; - -Promise.prototype.lastly = -Promise.prototype["finally"] = function (handler) { - return this._passThrough(handler, - 0, - finallyHandler, - finallyHandler); -}; - - -Promise.prototype.tap = function (handler) { - return this._passThrough(handler, 1, finallyHandler); -}; - -Promise.prototype.tapCatch = function (handlerOrPredicate) { - var len = arguments.length; - if(len === 1) { - return this._passThrough(handlerOrPredicate, - 1, - undefined, - finallyHandler); - } else { - var catchInstances = new Array(len - 1), - j = 0, i; - for (i = 0; i < len - 1; ++i) { - var item = arguments[i]; - if (util.isObject(item)) { - catchInstances[j++] = item; - } else { - return Promise.reject(new TypeError( - "tapCatch statement predicate: " - + "expecting an object but got " + util.classString(item) - )); - } - } - catchInstances.length = j; - var handler = arguments[i]; - return this._passThrough(catchFilter(catchInstances, handler, this), - 1, - undefined, - finallyHandler); - } - -}; - -return PassThroughHandlerContext; -}; - -},{"./catch_filter":7,"./util":36}],16:[function(_dereq_,module,exports){ -"use strict"; -module.exports = function(Promise, - apiRejection, - INTERNAL, - tryConvertToPromise, - Proxyable, - debug) { -var errors = _dereq_("./errors"); -var TypeError = errors.TypeError; -var util = _dereq_("./util"); -var errorObj = util.errorObj; -var tryCatch = util.tryCatch; -var yieldHandlers = []; - -function promiseFromYieldHandler(value, yieldHandlers, traceParent) { - for (var i = 0; i < yieldHandlers.length; ++i) { - traceParent._pushContext(); - var result = tryCatch(yieldHandlers[i])(value); - traceParent._popContext(); - if (result === errorObj) { - traceParent._pushContext(); - var ret = Promise.reject(errorObj.e); - traceParent._popContext(); - return ret; - } - var maybePromise = tryConvertToPromise(result, traceParent); - if (maybePromise instanceof Promise) return maybePromise; - } - return null; -} - -function PromiseSpawn(generatorFunction, receiver, yieldHandler, stack) { - if (debug.cancellation()) { - var internal = new Promise(INTERNAL); - var _finallyPromise = this._finallyPromise = new Promise(INTERNAL); - this._promise = internal.lastly(function() { - return _finallyPromise; - }); - internal._captureStackTrace(); - internal._setOnCancel(this); - } else { - var promise = this._promise = new Promise(INTERNAL); - promise._captureStackTrace(); - } - this._stack = stack; - this._generatorFunction = generatorFunction; - this._receiver = receiver; - this._generator = undefined; - this._yieldHandlers = typeof yieldHandler === "function" - ? [yieldHandler].concat(yieldHandlers) - : yieldHandlers; - this._yieldedPromise = null; - this._cancellationPhase = false; -} -util.inherits(PromiseSpawn, Proxyable); - -PromiseSpawn.prototype._isResolved = function() { - return this._promise === null; -}; - -PromiseSpawn.prototype._cleanup = function() { - this._promise = this._generator = null; - if (debug.cancellation() && this._finallyPromise !== null) { - this._finallyPromise._fulfill(); - this._finallyPromise = null; - } -}; - -PromiseSpawn.prototype._promiseCancelled = function() { - if (this._isResolved()) return; - var implementsReturn = typeof this._generator["return"] !== "undefined"; - - var result; - if (!implementsReturn) { - var reason = new Promise.CancellationError( - "generator .return() sentinel"); - Promise.coroutine.returnSentinel = reason; - this._promise._attachExtraTrace(reason); - this._promise._pushContext(); - result = tryCatch(this._generator["throw"]).call(this._generator, - reason); - this._promise._popContext(); - } else { - this._promise._pushContext(); - result = tryCatch(this._generator["return"]).call(this._generator, - undefined); - this._promise._popContext(); - } - this._cancellationPhase = true; - this._yieldedPromise = null; - this._continue(result); -}; - -PromiseSpawn.prototype._promiseFulfilled = function(value) { - this._yieldedPromise = null; - this._promise._pushContext(); - var result = tryCatch(this._generator.next).call(this._generator, value); - this._promise._popContext(); - this._continue(result); -}; - -PromiseSpawn.prototype._promiseRejected = function(reason) { - this._yieldedPromise = null; - this._promise._attachExtraTrace(reason); - this._promise._pushContext(); - var result = tryCatch(this._generator["throw"]) - .call(this._generator, reason); - this._promise._popContext(); - this._continue(result); -}; - -PromiseSpawn.prototype._resultCancelled = function() { - if (this._yieldedPromise instanceof Promise) { - var promise = this._yieldedPromise; - this._yieldedPromise = null; - promise.cancel(); - } -}; - -PromiseSpawn.prototype.promise = function () { - return this._promise; -}; - -PromiseSpawn.prototype._run = function () { - this._generator = this._generatorFunction.call(this._receiver); - this._receiver = - this._generatorFunction = undefined; - this._promiseFulfilled(undefined); -}; - -PromiseSpawn.prototype._continue = function (result) { - var promise = this._promise; - if (result === errorObj) { - this._cleanup(); - if (this._cancellationPhase) { - return promise.cancel(); - } else { - return promise._rejectCallback(result.e, false); - } - } - - var value = result.value; - if (result.done === true) { - this._cleanup(); - if (this._cancellationPhase) { - return promise.cancel(); - } else { - return promise._resolveCallback(value); - } - } else { - var maybePromise = tryConvertToPromise(value, this._promise); - if (!(maybePromise instanceof Promise)) { - maybePromise = - promiseFromYieldHandler(maybePromise, - this._yieldHandlers, - this._promise); - if (maybePromise === null) { - this._promiseRejected( - new TypeError( - "A value %s was yielded that could not be treated as a promise\u000a\u000a See http://goo.gl/MqrFmX\u000a\u000a".replace("%s", String(value)) + - "From coroutine:\u000a" + - this._stack.split("\n").slice(1, -7).join("\n") - ) - ); - return; - } - } - maybePromise = maybePromise._target(); - var bitField = maybePromise._bitField; - ; - if (((bitField & 50397184) === 0)) { - this._yieldedPromise = maybePromise; - maybePromise._proxy(this, null); - } else if (((bitField & 33554432) !== 0)) { - Promise._async.invoke( - this._promiseFulfilled, this, maybePromise._value() - ); - } else if (((bitField & 16777216) !== 0)) { - Promise._async.invoke( - this._promiseRejected, this, maybePromise._reason() - ); - } else { - this._promiseCancelled(); - } - } -}; - -Promise.coroutine = function (generatorFunction, options) { - if (typeof generatorFunction !== "function") { - throw new TypeError("generatorFunction must be a function\u000a\u000a See http://goo.gl/MqrFmX\u000a"); - } - var yieldHandler = Object(options).yieldHandler; - var PromiseSpawn$ = PromiseSpawn; - var stack = new Error().stack; - return function () { - var generator = generatorFunction.apply(this, arguments); - var spawn = new PromiseSpawn$(undefined, undefined, yieldHandler, - stack); - var ret = spawn.promise(); - spawn._generator = generator; - spawn._promiseFulfilled(undefined); - return ret; - }; -}; - -Promise.coroutine.addYieldHandler = function(fn) { - if (typeof fn !== "function") { - throw new TypeError("expecting a function but got " + util.classString(fn)); - } - yieldHandlers.push(fn); -}; - -Promise.spawn = function (generatorFunction) { - debug.deprecated("Promise.spawn()", "Promise.coroutine()"); - if (typeof generatorFunction !== "function") { - return apiRejection("generatorFunction must be a function\u000a\u000a See http://goo.gl/MqrFmX\u000a"); - } - var spawn = new PromiseSpawn(generatorFunction, this); - var ret = spawn.promise(); - spawn._run(Promise.spawn); - return ret; -}; -}; - -},{"./errors":12,"./util":36}],17:[function(_dereq_,module,exports){ -"use strict"; -module.exports = -function(Promise, PromiseArray, tryConvertToPromise, INTERNAL, async, - getDomain) { -var util = _dereq_("./util"); -var canEvaluate = util.canEvaluate; -var tryCatch = util.tryCatch; -var errorObj = util.errorObj; -var reject; - -if (!true) { -if (canEvaluate) { - var thenCallback = function(i) { - return new Function("value", "holder", " \n\ - 'use strict'; \n\ - holder.pIndex = value; \n\ - holder.checkFulfillment(this); \n\ - ".replace(/Index/g, i)); - }; - - var promiseSetter = function(i) { - return new Function("promise", "holder", " \n\ - 'use strict'; \n\ - holder.pIndex = promise; \n\ - ".replace(/Index/g, i)); - }; - - var generateHolderClass = function(total) { - var props = new Array(total); - for (var i = 0; i < props.length; ++i) { - props[i] = "this.p" + (i+1); - } - var assignment = props.join(" = ") + " = null;"; - var cancellationCode= "var promise;\n" + props.map(function(prop) { - return " \n\ - promise = " + prop + "; \n\ - if (promise instanceof Promise) { \n\ - promise.cancel(); \n\ - } \n\ - "; - }).join("\n"); - var passedArguments = props.join(", "); - var name = "Holder$" + total; - - - var code = "return function(tryCatch, errorObj, Promise, async) { \n\ - 'use strict'; \n\ - function [TheName](fn) { \n\ - [TheProperties] \n\ - this.fn = fn; \n\ - this.asyncNeeded = true; \n\ - this.now = 0; \n\ - } \n\ - \n\ - [TheName].prototype._callFunction = function(promise) { \n\ - promise._pushContext(); \n\ - var ret = tryCatch(this.fn)([ThePassedArguments]); \n\ - promise._popContext(); \n\ - if (ret === errorObj) { \n\ - promise._rejectCallback(ret.e, false); \n\ - } else { \n\ - promise._resolveCallback(ret); \n\ - } \n\ - }; \n\ - \n\ - [TheName].prototype.checkFulfillment = function(promise) { \n\ - var now = ++this.now; \n\ - if (now === [TheTotal]) { \n\ - if (this.asyncNeeded) { \n\ - async.invoke(this._callFunction, this, promise); \n\ - } else { \n\ - this._callFunction(promise); \n\ - } \n\ - \n\ - } \n\ - }; \n\ - \n\ - [TheName].prototype._resultCancelled = function() { \n\ - [CancellationCode] \n\ - }; \n\ - \n\ - return [TheName]; \n\ - }(tryCatch, errorObj, Promise, async); \n\ - "; - - code = code.replace(/\[TheName\]/g, name) - .replace(/\[TheTotal\]/g, total) - .replace(/\[ThePassedArguments\]/g, passedArguments) - .replace(/\[TheProperties\]/g, assignment) - .replace(/\[CancellationCode\]/g, cancellationCode); - - return new Function("tryCatch", "errorObj", "Promise", "async", code) - (tryCatch, errorObj, Promise, async); - }; - - var holderClasses = []; - var thenCallbacks = []; - var promiseSetters = []; - - for (var i = 0; i < 8; ++i) { - holderClasses.push(generateHolderClass(i + 1)); - thenCallbacks.push(thenCallback(i + 1)); - promiseSetters.push(promiseSetter(i + 1)); - } - - reject = function (reason) { - this._reject(reason); - }; -}} - -Promise.join = function () { - var last = arguments.length - 1; - var fn; - if (last > 0 && typeof arguments[last] === "function") { - fn = arguments[last]; - if (!true) { - if (last <= 8 && canEvaluate) { - var ret = new Promise(INTERNAL); - ret._captureStackTrace(); - var HolderClass = holderClasses[last - 1]; - var holder = new HolderClass(fn); - var callbacks = thenCallbacks; - - for (var i = 0; i < last; ++i) { - var maybePromise = tryConvertToPromise(arguments[i], ret); - if (maybePromise instanceof Promise) { - maybePromise = maybePromise._target(); - var bitField = maybePromise._bitField; - ; - if (((bitField & 50397184) === 0)) { - maybePromise._then(callbacks[i], reject, - undefined, ret, holder); - promiseSetters[i](maybePromise, holder); - holder.asyncNeeded = false; - } else if (((bitField & 33554432) !== 0)) { - callbacks[i].call(ret, - maybePromise._value(), holder); - } else if (((bitField & 16777216) !== 0)) { - ret._reject(maybePromise._reason()); - } else { - ret._cancel(); - } - } else { - callbacks[i].call(ret, maybePromise, holder); - } - } - - if (!ret._isFateSealed()) { - if (holder.asyncNeeded) { - var domain = getDomain(); - if (domain !== null) { - holder.fn = util.domainBind(domain, holder.fn); - } - } - ret._setAsyncGuaranteed(); - ret._setOnCancel(holder); - } - return ret; - } - } - } - var args = [].slice.call(arguments);; - if (fn) args.pop(); - var ret = new PromiseArray(args).promise(); - return fn !== undefined ? ret.spread(fn) : ret; -}; - -}; - -},{"./util":36}],18:[function(_dereq_,module,exports){ -"use strict"; -module.exports = function(Promise, - PromiseArray, - apiRejection, - tryConvertToPromise, - INTERNAL, - debug) { -var getDomain = Promise._getDomain; -var util = _dereq_("./util"); -var tryCatch = util.tryCatch; -var errorObj = util.errorObj; -var async = Promise._async; - -function MappingPromiseArray(promises, fn, limit, _filter) { - this.constructor$(promises); - this._promise._captureStackTrace(); - var domain = getDomain(); - this._callback = domain === null ? fn : util.domainBind(domain, fn); - this._preservedValues = _filter === INTERNAL - ? new Array(this.length()) - : null; - this._limit = limit; - this._inFlight = 0; - this._queue = []; - async.invoke(this._asyncInit, this, undefined); -} -util.inherits(MappingPromiseArray, PromiseArray); - -MappingPromiseArray.prototype._asyncInit = function() { - this._init$(undefined, -2); -}; - -MappingPromiseArray.prototype._init = function () {}; - -MappingPromiseArray.prototype._promiseFulfilled = function (value, index) { - var values = this._values; - var length = this.length(); - var preservedValues = this._preservedValues; - var limit = this._limit; - - if (index < 0) { - index = (index * -1) - 1; - values[index] = value; - if (limit >= 1) { - this._inFlight--; - this._drainQueue(); - if (this._isResolved()) return true; - } - } else { - if (limit >= 1 && this._inFlight >= limit) { - values[index] = value; - this._queue.push(index); - return false; - } - if (preservedValues !== null) preservedValues[index] = value; - - var promise = this._promise; - var callback = this._callback; - var receiver = promise._boundValue(); - promise._pushContext(); - var ret = tryCatch(callback).call(receiver, value, index, length); - var promiseCreated = promise._popContext(); - debug.checkForgottenReturns( - ret, - promiseCreated, - preservedValues !== null ? "Promise.filter" : "Promise.map", - promise - ); - if (ret === errorObj) { - this._reject(ret.e); - return true; - } - - var maybePromise = tryConvertToPromise(ret, this._promise); - if (maybePromise instanceof Promise) { - maybePromise = maybePromise._target(); - var bitField = maybePromise._bitField; - ; - if (((bitField & 50397184) === 0)) { - if (limit >= 1) this._inFlight++; - values[index] = maybePromise; - maybePromise._proxy(this, (index + 1) * -1); - return false; - } else if (((bitField & 33554432) !== 0)) { - ret = maybePromise._value(); - } else if (((bitField & 16777216) !== 0)) { - this._reject(maybePromise._reason()); - return true; - } else { - this._cancel(); - return true; - } - } - values[index] = ret; - } - var totalResolved = ++this._totalResolved; - if (totalResolved >= length) { - if (preservedValues !== null) { - this._filter(values, preservedValues); - } else { - this._resolve(values); - } - return true; - } - return false; -}; - -MappingPromiseArray.prototype._drainQueue = function () { - var queue = this._queue; - var limit = this._limit; - var values = this._values; - while (queue.length > 0 && this._inFlight < limit) { - if (this._isResolved()) return; - var index = queue.pop(); - this._promiseFulfilled(values[index], index); - } -}; - -MappingPromiseArray.prototype._filter = function (booleans, values) { - var len = values.length; - var ret = new Array(len); - var j = 0; - for (var i = 0; i < len; ++i) { - if (booleans[i]) ret[j++] = values[i]; - } - ret.length = j; - this._resolve(ret); -}; - -MappingPromiseArray.prototype.preservedValues = function () { - return this._preservedValues; -}; - -function map(promises, fn, options, _filter) { - if (typeof fn !== "function") { - return apiRejection("expecting a function but got " + util.classString(fn)); - } - - var limit = 0; - if (options !== undefined) { - if (typeof options === "object" && options !== null) { - if (typeof options.concurrency !== "number") { - return Promise.reject( - new TypeError("'concurrency' must be a number but it is " + - util.classString(options.concurrency))); - } - limit = options.concurrency; - } else { - return Promise.reject(new TypeError( - "options argument must be an object but it is " + - util.classString(options))); - } - } - limit = typeof limit === "number" && - isFinite(limit) && limit >= 1 ? limit : 0; - return new MappingPromiseArray(promises, fn, limit, _filter).promise(); -} - -Promise.prototype.map = function (fn, options) { - return map(this, fn, options, null); -}; - -Promise.map = function (promises, fn, options, _filter) { - return map(promises, fn, options, _filter); -}; - - -}; - -},{"./util":36}],19:[function(_dereq_,module,exports){ -"use strict"; -module.exports = -function(Promise, INTERNAL, tryConvertToPromise, apiRejection, debug) { -var util = _dereq_("./util"); -var tryCatch = util.tryCatch; - -Promise.method = function (fn) { - if (typeof fn !== "function") { - throw new Promise.TypeError("expecting a function but got " + util.classString(fn)); - } - return function () { - var ret = new Promise(INTERNAL); - ret._captureStackTrace(); - ret._pushContext(); - var value = tryCatch(fn).apply(this, arguments); - var promiseCreated = ret._popContext(); - debug.checkForgottenReturns( - value, promiseCreated, "Promise.method", ret); - ret._resolveFromSyncValue(value); - return ret; - }; -}; - -Promise.attempt = Promise["try"] = function (fn) { - if (typeof fn !== "function") { - return apiRejection("expecting a function but got " + util.classString(fn)); - } - var ret = new Promise(INTERNAL); - ret._captureStackTrace(); - ret._pushContext(); - var value; - if (arguments.length > 1) { - debug.deprecated("calling Promise.try with more than 1 argument"); - var arg = arguments[1]; - var ctx = arguments[2]; - value = util.isArray(arg) ? tryCatch(fn).apply(ctx, arg) - : tryCatch(fn).call(ctx, arg); - } else { - value = tryCatch(fn)(); - } - var promiseCreated = ret._popContext(); - debug.checkForgottenReturns( - value, promiseCreated, "Promise.try", ret); - ret._resolveFromSyncValue(value); - return ret; -}; - -Promise.prototype._resolveFromSyncValue = function (value) { - if (value === util.errorObj) { - this._rejectCallback(value.e, false); - } else { - this._resolveCallback(value, true); - } -}; -}; - -},{"./util":36}],20:[function(_dereq_,module,exports){ -"use strict"; -var util = _dereq_("./util"); -var maybeWrapAsError = util.maybeWrapAsError; -var errors = _dereq_("./errors"); -var OperationalError = errors.OperationalError; -var es5 = _dereq_("./es5"); - -function isUntypedError(obj) { - return obj instanceof Error && - es5.getPrototypeOf(obj) === Error.prototype; -} - -var rErrorKey = /^(?:name|message|stack|cause)$/; -function wrapAsOperationalError(obj) { - var ret; - if (isUntypedError(obj)) { - ret = new OperationalError(obj); - ret.name = obj.name; - ret.message = obj.message; - ret.stack = obj.stack; - var keys = es5.keys(obj); - for (var i = 0; i < keys.length; ++i) { - var key = keys[i]; - if (!rErrorKey.test(key)) { - ret[key] = obj[key]; - } - } - return ret; - } - util.markAsOriginatingFromRejection(obj); - return obj; -} - -function nodebackForPromise(promise, multiArgs) { - return function(err, value) { - if (promise === null) return; - if (err) { - var wrapped = wrapAsOperationalError(maybeWrapAsError(err)); - promise._attachExtraTrace(wrapped); - promise._reject(wrapped); - } else if (!multiArgs) { - promise._fulfill(value); - } else { - var args = [].slice.call(arguments, 1);; - promise._fulfill(args); - } - promise = null; - }; -} - -module.exports = nodebackForPromise; - -},{"./errors":12,"./es5":13,"./util":36}],21:[function(_dereq_,module,exports){ -"use strict"; -module.exports = function(Promise) { -var util = _dereq_("./util"); -var async = Promise._async; -var tryCatch = util.tryCatch; -var errorObj = util.errorObj; - -function spreadAdapter(val, nodeback) { - var promise = this; - if (!util.isArray(val)) return successAdapter.call(promise, val, nodeback); - var ret = - tryCatch(nodeback).apply(promise._boundValue(), [null].concat(val)); - if (ret === errorObj) { - async.throwLater(ret.e); - } -} - -function successAdapter(val, nodeback) { - var promise = this; - var receiver = promise._boundValue(); - var ret = val === undefined - ? tryCatch(nodeback).call(receiver, null) - : tryCatch(nodeback).call(receiver, null, val); - if (ret === errorObj) { - async.throwLater(ret.e); - } -} -function errorAdapter(reason, nodeback) { - var promise = this; - if (!reason) { - var newReason = new Error(reason + ""); - newReason.cause = reason; - reason = newReason; - } - var ret = tryCatch(nodeback).call(promise._boundValue(), reason); - if (ret === errorObj) { - async.throwLater(ret.e); - } -} - -Promise.prototype.asCallback = Promise.prototype.nodeify = function (nodeback, - options) { - if (typeof nodeback == "function") { - var adapter = successAdapter; - if (options !== undefined && Object(options).spread) { - adapter = spreadAdapter; - } - this._then( - adapter, - errorAdapter, - undefined, - this, - nodeback - ); - } - return this; -}; -}; - -},{"./util":36}],22:[function(_dereq_,module,exports){ -"use strict"; -module.exports = function() { -var makeSelfResolutionError = function () { - return new TypeError("circular promise resolution chain\u000a\u000a See http://goo.gl/MqrFmX\u000a"); -}; -var reflectHandler = function() { - return new Promise.PromiseInspection(this._target()); -}; -var apiRejection = function(msg) { - return Promise.reject(new TypeError(msg)); -}; -function Proxyable() {} -var UNDEFINED_BINDING = {}; -var util = _dereq_("./util"); - -var getDomain; -if (util.isNode) { - getDomain = function() { - var ret = process.domain; - if (ret === undefined) ret = null; - return ret; - }; -} else { - getDomain = function() { - return null; - }; -} -util.notEnumerableProp(Promise, "_getDomain", getDomain); - -var es5 = _dereq_("./es5"); -var Async = _dereq_("./async"); -var async = new Async(); -es5.defineProperty(Promise, "_async", {value: async}); -var errors = _dereq_("./errors"); -var TypeError = Promise.TypeError = errors.TypeError; -Promise.RangeError = errors.RangeError; -var CancellationError = Promise.CancellationError = errors.CancellationError; -Promise.TimeoutError = errors.TimeoutError; -Promise.OperationalError = errors.OperationalError; -Promise.RejectionError = errors.OperationalError; -Promise.AggregateError = errors.AggregateError; -var INTERNAL = function(){}; -var APPLY = {}; -var NEXT_FILTER = {}; -var tryConvertToPromise = _dereq_("./thenables")(Promise, INTERNAL); -var PromiseArray = - _dereq_("./promise_array")(Promise, INTERNAL, - tryConvertToPromise, apiRejection, Proxyable); -var Context = _dereq_("./context")(Promise); - /*jshint unused:false*/ -var createContext = Context.create; -var debug = _dereq_("./debuggability")(Promise, Context); -var CapturedTrace = debug.CapturedTrace; -var PassThroughHandlerContext = - _dereq_("./finally")(Promise, tryConvertToPromise, NEXT_FILTER); -var catchFilter = _dereq_("./catch_filter")(NEXT_FILTER); -var nodebackForPromise = _dereq_("./nodeback"); -var errorObj = util.errorObj; -var tryCatch = util.tryCatch; -function check(self, executor) { - if (self == null || self.constructor !== Promise) { - throw new TypeError("the promise constructor cannot be invoked directly\u000a\u000a See http://goo.gl/MqrFmX\u000a"); - } - if (typeof executor !== "function") { - throw new TypeError("expecting a function but got " + util.classString(executor)); - } - -} - -function Promise(executor) { - if (executor !== INTERNAL) { - check(this, executor); - } - this._bitField = 0; - this._fulfillmentHandler0 = undefined; - this._rejectionHandler0 = undefined; - this._promise0 = undefined; - this._receiver0 = undefined; - this._resolveFromExecutor(executor); - this._promiseCreated(); - this._fireEvent("promiseCreated", this); -} - -Promise.prototype.toString = function () { - return "[object Promise]"; -}; - -Promise.prototype.caught = Promise.prototype["catch"] = function (fn) { - var len = arguments.length; - if (len > 1) { - var catchInstances = new Array(len - 1), - j = 0, i; - for (i = 0; i < len - 1; ++i) { - var item = arguments[i]; - if (util.isObject(item)) { - catchInstances[j++] = item; - } else { - return apiRejection("Catch statement predicate: " + - "expecting an object but got " + util.classString(item)); - } - } - catchInstances.length = j; - fn = arguments[i]; - return this.then(undefined, catchFilter(catchInstances, fn, this)); - } - return this.then(undefined, fn); -}; - -Promise.prototype.reflect = function () { - return this._then(reflectHandler, - reflectHandler, undefined, this, undefined); -}; - -Promise.prototype.then = function (didFulfill, didReject) { - if (debug.warnings() && arguments.length > 0 && - typeof didFulfill !== "function" && - typeof didReject !== "function") { - var msg = ".then() only accepts functions but was passed: " + - util.classString(didFulfill); - if (arguments.length > 1) { - msg += ", " + util.classString(didReject); - } - this._warn(msg); - } - return this._then(didFulfill, didReject, undefined, undefined, undefined); -}; - -Promise.prototype.done = function (didFulfill, didReject) { - var promise = - this._then(didFulfill, didReject, undefined, undefined, undefined); - promise._setIsFinal(); -}; - -Promise.prototype.spread = function (fn) { - if (typeof fn !== "function") { - return apiRejection("expecting a function but got " + util.classString(fn)); - } - return this.all()._then(fn, undefined, undefined, APPLY, undefined); -}; - -Promise.prototype.toJSON = function () { - var ret = { - isFulfilled: false, - isRejected: false, - fulfillmentValue: undefined, - rejectionReason: undefined - }; - if (this.isFulfilled()) { - ret.fulfillmentValue = this.value(); - ret.isFulfilled = true; - } else if (this.isRejected()) { - ret.rejectionReason = this.reason(); - ret.isRejected = true; - } - return ret; -}; - -Promise.prototype.all = function () { - if (arguments.length > 0) { - this._warn(".all() was passed arguments but it does not take any"); - } - return new PromiseArray(this).promise(); -}; - -Promise.prototype.error = function (fn) { - return this.caught(util.originatesFromRejection, fn); -}; - -Promise.getNewLibraryCopy = module.exports; - -Promise.is = function (val) { - return val instanceof Promise; -}; - -Promise.fromNode = Promise.fromCallback = function(fn) { - var ret = new Promise(INTERNAL); - ret._captureStackTrace(); - var multiArgs = arguments.length > 1 ? !!Object(arguments[1]).multiArgs - : false; - var result = tryCatch(fn)(nodebackForPromise(ret, multiArgs)); - if (result === errorObj) { - ret._rejectCallback(result.e, true); - } - if (!ret._isFateSealed()) ret._setAsyncGuaranteed(); - return ret; -}; - -Promise.all = function (promises) { - return new PromiseArray(promises).promise(); -}; - -Promise.cast = function (obj) { - var ret = tryConvertToPromise(obj); - if (!(ret instanceof Promise)) { - ret = new Promise(INTERNAL); - ret._captureStackTrace(); - ret._setFulfilled(); - ret._rejectionHandler0 = obj; - } - return ret; -}; - -Promise.resolve = Promise.fulfilled = Promise.cast; - -Promise.reject = Promise.rejected = function (reason) { - var ret = new Promise(INTERNAL); - ret._captureStackTrace(); - ret._rejectCallback(reason, true); - return ret; -}; - -Promise.setScheduler = function(fn) { - if (typeof fn !== "function") { - throw new TypeError("expecting a function but got " + util.classString(fn)); - } - return async.setScheduler(fn); -}; - -Promise.prototype._then = function ( - didFulfill, - didReject, - _, receiver, - internalData -) { - var haveInternalData = internalData !== undefined; - var promise = haveInternalData ? internalData : new Promise(INTERNAL); - var target = this._target(); - var bitField = target._bitField; - - if (!haveInternalData) { - promise._propagateFrom(this, 3); - promise._captureStackTrace(); - if (receiver === undefined && - ((this._bitField & 2097152) !== 0)) { - if (!((bitField & 50397184) === 0)) { - receiver = this._boundValue(); - } else { - receiver = target === this ? undefined : this._boundTo; - } - } - this._fireEvent("promiseChained", this, promise); - } - - var domain = getDomain(); - if (!((bitField & 50397184) === 0)) { - var handler, value, settler = target._settlePromiseCtx; - if (((bitField & 33554432) !== 0)) { - value = target._rejectionHandler0; - handler = didFulfill; - } else if (((bitField & 16777216) !== 0)) { - value = target._fulfillmentHandler0; - handler = didReject; - target._unsetRejectionIsUnhandled(); - } else { - settler = target._settlePromiseLateCancellationObserver; - value = new CancellationError("late cancellation observer"); - target._attachExtraTrace(value); - handler = didReject; - } - - async.invoke(settler, target, { - handler: domain === null ? handler - : (typeof handler === "function" && - util.domainBind(domain, handler)), - promise: promise, - receiver: receiver, - value: value - }); - } else { - target._addCallbacks(didFulfill, didReject, promise, receiver, domain); - } - - return promise; -}; - -Promise.prototype._length = function () { - return this._bitField & 65535; -}; - -Promise.prototype._isFateSealed = function () { - return (this._bitField & 117506048) !== 0; -}; - -Promise.prototype._isFollowing = function () { - return (this._bitField & 67108864) === 67108864; -}; - -Promise.prototype._setLength = function (len) { - this._bitField = (this._bitField & -65536) | - (len & 65535); -}; - -Promise.prototype._setFulfilled = function () { - this._bitField = this._bitField | 33554432; - this._fireEvent("promiseFulfilled", this); -}; - -Promise.prototype._setRejected = function () { - this._bitField = this._bitField | 16777216; - this._fireEvent("promiseRejected", this); -}; - -Promise.prototype._setFollowing = function () { - this._bitField = this._bitField | 67108864; - this._fireEvent("promiseResolved", this); -}; - -Promise.prototype._setIsFinal = function () { - this._bitField = this._bitField | 4194304; -}; - -Promise.prototype._isFinal = function () { - return (this._bitField & 4194304) > 0; -}; - -Promise.prototype._unsetCancelled = function() { - this._bitField = this._bitField & (~65536); -}; - -Promise.prototype._setCancelled = function() { - this._bitField = this._bitField | 65536; - this._fireEvent("promiseCancelled", this); -}; - -Promise.prototype._setWillBeCancelled = function() { - this._bitField = this._bitField | 8388608; -}; - -Promise.prototype._setAsyncGuaranteed = function() { - if (async.hasCustomScheduler()) return; - this._bitField = this._bitField | 134217728; -}; - -Promise.prototype._receiverAt = function (index) { - var ret = index === 0 ? this._receiver0 : this[ - index * 4 - 4 + 3]; - if (ret === UNDEFINED_BINDING) { - return undefined; - } else if (ret === undefined && this._isBound()) { - return this._boundValue(); - } - return ret; -}; - -Promise.prototype._promiseAt = function (index) { - return this[ - index * 4 - 4 + 2]; -}; - -Promise.prototype._fulfillmentHandlerAt = function (index) { - return this[ - index * 4 - 4 + 0]; -}; - -Promise.prototype._rejectionHandlerAt = function (index) { - return this[ - index * 4 - 4 + 1]; -}; - -Promise.prototype._boundValue = function() {}; - -Promise.prototype._migrateCallback0 = function (follower) { - var bitField = follower._bitField; - var fulfill = follower._fulfillmentHandler0; - var reject = follower._rejectionHandler0; - var promise = follower._promise0; - var receiver = follower._receiverAt(0); - if (receiver === undefined) receiver = UNDEFINED_BINDING; - this._addCallbacks(fulfill, reject, promise, receiver, null); -}; - -Promise.prototype._migrateCallbackAt = function (follower, index) { - var fulfill = follower._fulfillmentHandlerAt(index); - var reject = follower._rejectionHandlerAt(index); - var promise = follower._promiseAt(index); - var receiver = follower._receiverAt(index); - if (receiver === undefined) receiver = UNDEFINED_BINDING; - this._addCallbacks(fulfill, reject, promise, receiver, null); -}; - -Promise.prototype._addCallbacks = function ( - fulfill, - reject, - promise, - receiver, - domain -) { - var index = this._length(); - - if (index >= 65535 - 4) { - index = 0; - this._setLength(0); - } - - if (index === 0) { - this._promise0 = promise; - this._receiver0 = receiver; - if (typeof fulfill === "function") { - this._fulfillmentHandler0 = - domain === null ? fulfill : util.domainBind(domain, fulfill); - } - if (typeof reject === "function") { - this._rejectionHandler0 = - domain === null ? reject : util.domainBind(domain, reject); - } - } else { - var base = index * 4 - 4; - this[base + 2] = promise; - this[base + 3] = receiver; - if (typeof fulfill === "function") { - this[base + 0] = - domain === null ? fulfill : util.domainBind(domain, fulfill); - } - if (typeof reject === "function") { - this[base + 1] = - domain === null ? reject : util.domainBind(domain, reject); - } - } - this._setLength(index + 1); - return index; -}; - -Promise.prototype._proxy = function (proxyable, arg) { - this._addCallbacks(undefined, undefined, arg, proxyable, null); -}; - -Promise.prototype._resolveCallback = function(value, shouldBind) { - if (((this._bitField & 117506048) !== 0)) return; - if (value === this) - return this._rejectCallback(makeSelfResolutionError(), false); - var maybePromise = tryConvertToPromise(value, this); - if (!(maybePromise instanceof Promise)) return this._fulfill(value); - - if (shouldBind) this._propagateFrom(maybePromise, 2); - - var promise = maybePromise._target(); - - if (promise === this) { - this._reject(makeSelfResolutionError()); - return; - } - - var bitField = promise._bitField; - if (((bitField & 50397184) === 0)) { - var len = this._length(); - if (len > 0) promise._migrateCallback0(this); - for (var i = 1; i < len; ++i) { - promise._migrateCallbackAt(this, i); - } - this._setFollowing(); - this._setLength(0); - this._setFollowee(promise); - } else if (((bitField & 33554432) !== 0)) { - this._fulfill(promise._value()); - } else if (((bitField & 16777216) !== 0)) { - this._reject(promise._reason()); - } else { - var reason = new CancellationError("late cancellation observer"); - promise._attachExtraTrace(reason); - this._reject(reason); - } -}; - -Promise.prototype._rejectCallback = -function(reason, synchronous, ignoreNonErrorWarnings) { - var trace = util.ensureErrorObject(reason); - var hasStack = trace === reason; - if (!hasStack && !ignoreNonErrorWarnings && debug.warnings()) { - var message = "a promise was rejected with a non-error: " + - util.classString(reason); - this._warn(message, true); - } - this._attachExtraTrace(trace, synchronous ? hasStack : false); - this._reject(reason); -}; - -Promise.prototype._resolveFromExecutor = function (executor) { - if (executor === INTERNAL) return; - var promise = this; - this._captureStackTrace(); - this._pushContext(); - var synchronous = true; - var r = this._execute(executor, function(value) { - promise._resolveCallback(value); - }, function (reason) { - promise._rejectCallback(reason, synchronous); - }); - synchronous = false; - this._popContext(); - - if (r !== undefined) { - promise._rejectCallback(r, true); - } -}; - -Promise.prototype._settlePromiseFromHandler = function ( - handler, receiver, value, promise -) { - var bitField = promise._bitField; - if (((bitField & 65536) !== 0)) return; - promise._pushContext(); - var x; - if (receiver === APPLY) { - if (!value || typeof value.length !== "number") { - x = errorObj; - x.e = new TypeError("cannot .spread() a non-array: " + - util.classString(value)); - } else { - x = tryCatch(handler).apply(this._boundValue(), value); - } - } else { - x = tryCatch(handler).call(receiver, value); - } - var promiseCreated = promise._popContext(); - bitField = promise._bitField; - if (((bitField & 65536) !== 0)) return; - - if (x === NEXT_FILTER) { - promise._reject(value); - } else if (x === errorObj) { - promise._rejectCallback(x.e, false); - } else { - debug.checkForgottenReturns(x, promiseCreated, "", promise, this); - promise._resolveCallback(x); - } -}; - -Promise.prototype._target = function() { - var ret = this; - while (ret._isFollowing()) ret = ret._followee(); - return ret; -}; - -Promise.prototype._followee = function() { - return this._rejectionHandler0; -}; - -Promise.prototype._setFollowee = function(promise) { - this._rejectionHandler0 = promise; -}; - -Promise.prototype._settlePromise = function(promise, handler, receiver, value) { - var isPromise = promise instanceof Promise; - var bitField = this._bitField; - var asyncGuaranteed = ((bitField & 134217728) !== 0); - if (((bitField & 65536) !== 0)) { - if (isPromise) promise._invokeInternalOnCancel(); - - if (receiver instanceof PassThroughHandlerContext && - receiver.isFinallyHandler()) { - receiver.cancelPromise = promise; - if (tryCatch(handler).call(receiver, value) === errorObj) { - promise._reject(errorObj.e); - } - } else if (handler === reflectHandler) { - promise._fulfill(reflectHandler.call(receiver)); - } else if (receiver instanceof Proxyable) { - receiver._promiseCancelled(promise); - } else if (isPromise || promise instanceof PromiseArray) { - promise._cancel(); - } else { - receiver.cancel(); - } - } else if (typeof handler === "function") { - if (!isPromise) { - handler.call(receiver, value, promise); - } else { - if (asyncGuaranteed) promise._setAsyncGuaranteed(); - this._settlePromiseFromHandler(handler, receiver, value, promise); - } - } else if (receiver instanceof Proxyable) { - if (!receiver._isResolved()) { - if (((bitField & 33554432) !== 0)) { - receiver._promiseFulfilled(value, promise); - } else { - receiver._promiseRejected(value, promise); - } - } - } else if (isPromise) { - if (asyncGuaranteed) promise._setAsyncGuaranteed(); - if (((bitField & 33554432) !== 0)) { - promise._fulfill(value); - } else { - promise._reject(value); - } - } -}; - -Promise.prototype._settlePromiseLateCancellationObserver = function(ctx) { - var handler = ctx.handler; - var promise = ctx.promise; - var receiver = ctx.receiver; - var value = ctx.value; - if (typeof handler === "function") { - if (!(promise instanceof Promise)) { - handler.call(receiver, value, promise); - } else { - this._settlePromiseFromHandler(handler, receiver, value, promise); - } - } else if (promise instanceof Promise) { - promise._reject(value); - } -}; - -Promise.prototype._settlePromiseCtx = function(ctx) { - this._settlePromise(ctx.promise, ctx.handler, ctx.receiver, ctx.value); -}; - -Promise.prototype._settlePromise0 = function(handler, value, bitField) { - var promise = this._promise0; - var receiver = this._receiverAt(0); - this._promise0 = undefined; - this._receiver0 = undefined; - this._settlePromise(promise, handler, receiver, value); -}; - -Promise.prototype._clearCallbackDataAtIndex = function(index) { - var base = index * 4 - 4; - this[base + 2] = - this[base + 3] = - this[base + 0] = - this[base + 1] = undefined; -}; - -Promise.prototype._fulfill = function (value) { - var bitField = this._bitField; - if (((bitField & 117506048) >>> 16)) return; - if (value === this) { - var err = makeSelfResolutionError(); - this._attachExtraTrace(err); - return this._reject(err); - } - this._setFulfilled(); - this._rejectionHandler0 = value; - - if ((bitField & 65535) > 0) { - if (((bitField & 134217728) !== 0)) { - this._settlePromises(); - } else { - async.settlePromises(this); - } - } -}; - -Promise.prototype._reject = function (reason) { - var bitField = this._bitField; - if (((bitField & 117506048) >>> 16)) return; - this._setRejected(); - this._fulfillmentHandler0 = reason; - - if (this._isFinal()) { - return async.fatalError(reason, util.isNode); - } - - if ((bitField & 65535) > 0) { - async.settlePromises(this); - } else { - this._ensurePossibleRejectionHandled(); - } -}; - -Promise.prototype._fulfillPromises = function (len, value) { - for (var i = 1; i < len; i++) { - var handler = this._fulfillmentHandlerAt(i); - var promise = this._promiseAt(i); - var receiver = this._receiverAt(i); - this._clearCallbackDataAtIndex(i); - this._settlePromise(promise, handler, receiver, value); - } -}; - -Promise.prototype._rejectPromises = function (len, reason) { - for (var i = 1; i < len; i++) { - var handler = this._rejectionHandlerAt(i); - var promise = this._promiseAt(i); - var receiver = this._receiverAt(i); - this._clearCallbackDataAtIndex(i); - this._settlePromise(promise, handler, receiver, reason); - } -}; - -Promise.prototype._settlePromises = function () { - var bitField = this._bitField; - var len = (bitField & 65535); - - if (len > 0) { - if (((bitField & 16842752) !== 0)) { - var reason = this._fulfillmentHandler0; - this._settlePromise0(this._rejectionHandler0, reason, bitField); - this._rejectPromises(len, reason); - } else { - var value = this._rejectionHandler0; - this._settlePromise0(this._fulfillmentHandler0, value, bitField); - this._fulfillPromises(len, value); - } - this._setLength(0); - } - this._clearCancellationData(); -}; - -Promise.prototype._settledValue = function() { - var bitField = this._bitField; - if (((bitField & 33554432) !== 0)) { - return this._rejectionHandler0; - } else if (((bitField & 16777216) !== 0)) { - return this._fulfillmentHandler0; - } -}; - -function deferResolve(v) {this.promise._resolveCallback(v);} -function deferReject(v) {this.promise._rejectCallback(v, false);} - -Promise.defer = Promise.pending = function() { - debug.deprecated("Promise.defer", "new Promise"); - var promise = new Promise(INTERNAL); - return { - promise: promise, - resolve: deferResolve, - reject: deferReject - }; -}; - -util.notEnumerableProp(Promise, - "_makeSelfResolutionError", - makeSelfResolutionError); - -_dereq_("./method")(Promise, INTERNAL, tryConvertToPromise, apiRejection, - debug); -_dereq_("./bind")(Promise, INTERNAL, tryConvertToPromise, debug); -_dereq_("./cancel")(Promise, PromiseArray, apiRejection, debug); -_dereq_("./direct_resolve")(Promise); -_dereq_("./synchronous_inspection")(Promise); -_dereq_("./join")( - Promise, PromiseArray, tryConvertToPromise, INTERNAL, async, getDomain); -Promise.Promise = Promise; -Promise.version = "3.5.1"; -_dereq_('./map.js')(Promise, PromiseArray, apiRejection, tryConvertToPromise, INTERNAL, debug); -_dereq_('./call_get.js')(Promise); -_dereq_('./using.js')(Promise, apiRejection, tryConvertToPromise, createContext, INTERNAL, debug); -_dereq_('./timers.js')(Promise, INTERNAL, debug); -_dereq_('./generators.js')(Promise, apiRejection, INTERNAL, tryConvertToPromise, Proxyable, debug); -_dereq_('./nodeify.js')(Promise); -_dereq_('./promisify.js')(Promise, INTERNAL); -_dereq_('./props.js')(Promise, PromiseArray, tryConvertToPromise, apiRejection); -_dereq_('./race.js')(Promise, INTERNAL, tryConvertToPromise, apiRejection); -_dereq_('./reduce.js')(Promise, PromiseArray, apiRejection, tryConvertToPromise, INTERNAL, debug); -_dereq_('./settle.js')(Promise, PromiseArray, debug); -_dereq_('./some.js')(Promise, PromiseArray, apiRejection); -_dereq_('./filter.js')(Promise, INTERNAL); -_dereq_('./each.js')(Promise, INTERNAL); -_dereq_('./any.js')(Promise); - - util.toFastProperties(Promise); - util.toFastProperties(Promise.prototype); - function fillTypes(value) { - var p = new Promise(INTERNAL); - p._fulfillmentHandler0 = value; - p._rejectionHandler0 = value; - p._promise0 = value; - p._receiver0 = value; - } - // Complete slack tracking, opt out of field-type tracking and - // stabilize map - fillTypes({a: 1}); - fillTypes({b: 2}); - fillTypes({c: 3}); - fillTypes(1); - fillTypes(function(){}); - fillTypes(undefined); - fillTypes(false); - fillTypes(new Promise(INTERNAL)); - debug.setBounds(Async.firstLineError, util.lastLineError); - return Promise; - -}; - -},{"./any.js":1,"./async":2,"./bind":3,"./call_get.js":5,"./cancel":6,"./catch_filter":7,"./context":8,"./debuggability":9,"./direct_resolve":10,"./each.js":11,"./errors":12,"./es5":13,"./filter.js":14,"./finally":15,"./generators.js":16,"./join":17,"./map.js":18,"./method":19,"./nodeback":20,"./nodeify.js":21,"./promise_array":23,"./promisify.js":24,"./props.js":25,"./race.js":27,"./reduce.js":28,"./settle.js":30,"./some.js":31,"./synchronous_inspection":32,"./thenables":33,"./timers.js":34,"./using.js":35,"./util":36}],23:[function(_dereq_,module,exports){ -"use strict"; -module.exports = function(Promise, INTERNAL, tryConvertToPromise, - apiRejection, Proxyable) { -var util = _dereq_("./util"); -var isArray = util.isArray; - -function toResolutionValue(val) { - switch(val) { - case -2: return []; - case -3: return {}; - case -6: return new Map(); - } -} - -function PromiseArray(values) { - var promise = this._promise = new Promise(INTERNAL); - if (values instanceof Promise) { - promise._propagateFrom(values, 3); - } - promise._setOnCancel(this); - this._values = values; - this._length = 0; - this._totalResolved = 0; - this._init(undefined, -2); -} -util.inherits(PromiseArray, Proxyable); - -PromiseArray.prototype.length = function () { - return this._length; -}; - -PromiseArray.prototype.promise = function () { - return this._promise; -}; - -PromiseArray.prototype._init = function init(_, resolveValueIfEmpty) { - var values = tryConvertToPromise(this._values, this._promise); - if (values instanceof Promise) { - values = values._target(); - var bitField = values._bitField; - ; - this._values = values; - - if (((bitField & 50397184) === 0)) { - this._promise._setAsyncGuaranteed(); - return values._then( - init, - this._reject, - undefined, - this, - resolveValueIfEmpty - ); - } else if (((bitField & 33554432) !== 0)) { - values = values._value(); - } else if (((bitField & 16777216) !== 0)) { - return this._reject(values._reason()); - } else { - return this._cancel(); - } - } - values = util.asArray(values); - if (values === null) { - var err = apiRejection( - "expecting an array or an iterable object but got " + util.classString(values)).reason(); - this._promise._rejectCallback(err, false); - return; - } - - if (values.length === 0) { - if (resolveValueIfEmpty === -5) { - this._resolveEmptyArray(); - } - else { - this._resolve(toResolutionValue(resolveValueIfEmpty)); - } - return; - } - this._iterate(values); -}; - -PromiseArray.prototype._iterate = function(values) { - var len = this.getActualLength(values.length); - this._length = len; - this._values = this.shouldCopyValues() ? new Array(len) : this._values; - var result = this._promise; - var isResolved = false; - var bitField = null; - for (var i = 0; i < len; ++i) { - var maybePromise = tryConvertToPromise(values[i], result); - - if (maybePromise instanceof Promise) { - maybePromise = maybePromise._target(); - bitField = maybePromise._bitField; - } else { - bitField = null; - } - - if (isResolved) { - if (bitField !== null) { - maybePromise.suppressUnhandledRejections(); - } - } else if (bitField !== null) { - if (((bitField & 50397184) === 0)) { - maybePromise._proxy(this, i); - this._values[i] = maybePromise; - } else if (((bitField & 33554432) !== 0)) { - isResolved = this._promiseFulfilled(maybePromise._value(), i); - } else if (((bitField & 16777216) !== 0)) { - isResolved = this._promiseRejected(maybePromise._reason(), i); - } else { - isResolved = this._promiseCancelled(i); - } - } else { - isResolved = this._promiseFulfilled(maybePromise, i); - } - } - if (!isResolved) result._setAsyncGuaranteed(); -}; - -PromiseArray.prototype._isResolved = function () { - return this._values === null; -}; - -PromiseArray.prototype._resolve = function (value) { - this._values = null; - this._promise._fulfill(value); -}; - -PromiseArray.prototype._cancel = function() { - if (this._isResolved() || !this._promise._isCancellable()) return; - this._values = null; - this._promise._cancel(); -}; - -PromiseArray.prototype._reject = function (reason) { - this._values = null; - this._promise._rejectCallback(reason, false); -}; - -PromiseArray.prototype._promiseFulfilled = function (value, index) { - this._values[index] = value; - var totalResolved = ++this._totalResolved; - if (totalResolved >= this._length) { - this._resolve(this._values); - return true; - } - return false; -}; - -PromiseArray.prototype._promiseCancelled = function() { - this._cancel(); - return true; -}; - -PromiseArray.prototype._promiseRejected = function (reason) { - this._totalResolved++; - this._reject(reason); - return true; -}; - -PromiseArray.prototype._resultCancelled = function() { - if (this._isResolved()) return; - var values = this._values; - this._cancel(); - if (values instanceof Promise) { - values.cancel(); - } else { - for (var i = 0; i < values.length; ++i) { - if (values[i] instanceof Promise) { - values[i].cancel(); - } - } - } -}; - -PromiseArray.prototype.shouldCopyValues = function () { - return true; -}; - -PromiseArray.prototype.getActualLength = function (len) { - return len; -}; - -return PromiseArray; -}; - -},{"./util":36}],24:[function(_dereq_,module,exports){ -"use strict"; -module.exports = function(Promise, INTERNAL) { -var THIS = {}; -var util = _dereq_("./util"); -var nodebackForPromise = _dereq_("./nodeback"); -var withAppended = util.withAppended; -var maybeWrapAsError = util.maybeWrapAsError; -var canEvaluate = util.canEvaluate; -var TypeError = _dereq_("./errors").TypeError; -var defaultSuffix = "Async"; -var defaultPromisified = {__isPromisified__: true}; -var noCopyProps = [ - "arity", "length", - "name", - "arguments", - "caller", - "callee", - "prototype", - "__isPromisified__" -]; -var noCopyPropsPattern = new RegExp("^(?:" + noCopyProps.join("|") + ")$"); - -var defaultFilter = function(name) { - return util.isIdentifier(name) && - name.charAt(0) !== "_" && - name !== "constructor"; -}; - -function propsFilter(key) { - return !noCopyPropsPattern.test(key); -} - -function isPromisified(fn) { - try { - return fn.__isPromisified__ === true; - } - catch (e) { - return false; - } -} - -function hasPromisified(obj, key, suffix) { - var val = util.getDataPropertyOrDefault(obj, key + suffix, - defaultPromisified); - return val ? isPromisified(val) : false; -} -function checkValid(ret, suffix, suffixRegexp) { - for (var i = 0; i < ret.length; i += 2) { - var key = ret[i]; - if (suffixRegexp.test(key)) { - var keyWithoutAsyncSuffix = key.replace(suffixRegexp, ""); - for (var j = 0; j < ret.length; j += 2) { - if (ret[j] === keyWithoutAsyncSuffix) { - throw new TypeError("Cannot promisify an API that has normal methods with '%s'-suffix\u000a\u000a See http://goo.gl/MqrFmX\u000a" - .replace("%s", suffix)); - } - } - } - } -} - -function promisifiableMethods(obj, suffix, suffixRegexp, filter) { - var keys = util.inheritedDataKeys(obj); - var ret = []; - for (var i = 0; i < keys.length; ++i) { - var key = keys[i]; - var value = obj[key]; - var passesDefaultFilter = filter === defaultFilter - ? true : defaultFilter(key, value, obj); - if (typeof value === "function" && - !isPromisified(value) && - !hasPromisified(obj, key, suffix) && - filter(key, value, obj, passesDefaultFilter)) { - ret.push(key, value); - } - } - checkValid(ret, suffix, suffixRegexp); - return ret; -} - -var escapeIdentRegex = function(str) { - return str.replace(/([$])/, "\\$"); -}; - -var makeNodePromisifiedEval; -if (!true) { -var switchCaseArgumentOrder = function(likelyArgumentCount) { - var ret = [likelyArgumentCount]; - var min = Math.max(0, likelyArgumentCount - 1 - 3); - for(var i = likelyArgumentCount - 1; i >= min; --i) { - ret.push(i); - } - for(var i = likelyArgumentCount + 1; i <= 3; ++i) { - ret.push(i); - } - return ret; -}; - -var argumentSequence = function(argumentCount) { - return util.filledRange(argumentCount, "_arg", ""); -}; - -var parameterDeclaration = function(parameterCount) { - return util.filledRange( - Math.max(parameterCount, 3), "_arg", ""); -}; - -var parameterCount = function(fn) { - if (typeof fn.length === "number") { - return Math.max(Math.min(fn.length, 1023 + 1), 0); - } - return 0; -}; - -makeNodePromisifiedEval = -function(callback, receiver, originalName, fn, _, multiArgs) { - var newParameterCount = Math.max(0, parameterCount(fn) - 1); - var argumentOrder = switchCaseArgumentOrder(newParameterCount); - var shouldProxyThis = typeof callback === "string" || receiver === THIS; - - function generateCallForArgumentCount(count) { - var args = argumentSequence(count).join(", "); - var comma = count > 0 ? ", " : ""; - var ret; - if (shouldProxyThis) { - ret = "ret = callback.call(this, {{args}}, nodeback); break;\n"; - } else { - ret = receiver === undefined - ? "ret = callback({{args}}, nodeback); break;\n" - : "ret = callback.call(receiver, {{args}}, nodeback); break;\n"; - } - return ret.replace("{{args}}", args).replace(", ", comma); - } - - function generateArgumentSwitchCase() { - var ret = ""; - for (var i = 0; i < argumentOrder.length; ++i) { - ret += "case " + argumentOrder[i] +":" + - generateCallForArgumentCount(argumentOrder[i]); - } - - ret += " \n\ - default: \n\ - var args = new Array(len + 1); \n\ - var i = 0; \n\ - for (var i = 0; i < len; ++i) { \n\ - args[i] = arguments[i]; \n\ - } \n\ - args[i] = nodeback; \n\ - [CodeForCall] \n\ - break; \n\ - ".replace("[CodeForCall]", (shouldProxyThis - ? "ret = callback.apply(this, args);\n" - : "ret = callback.apply(receiver, args);\n")); - return ret; - } - - var getFunctionCode = typeof callback === "string" - ? ("this != null ? this['"+callback+"'] : fn") - : "fn"; - var body = "'use strict'; \n\ - var ret = function (Parameters) { \n\ - 'use strict'; \n\ - var len = arguments.length; \n\ - var promise = new Promise(INTERNAL); \n\ - promise._captureStackTrace(); \n\ - var nodeback = nodebackForPromise(promise, " + multiArgs + "); \n\ - var ret; \n\ - var callback = tryCatch([GetFunctionCode]); \n\ - switch(len) { \n\ - [CodeForSwitchCase] \n\ - } \n\ - if (ret === errorObj) { \n\ - promise._rejectCallback(maybeWrapAsError(ret.e), true, true);\n\ - } \n\ - if (!promise._isFateSealed()) promise._setAsyncGuaranteed(); \n\ - return promise; \n\ - }; \n\ - notEnumerableProp(ret, '__isPromisified__', true); \n\ - return ret; \n\ - ".replace("[CodeForSwitchCase]", generateArgumentSwitchCase()) - .replace("[GetFunctionCode]", getFunctionCode); - body = body.replace("Parameters", parameterDeclaration(newParameterCount)); - return new Function("Promise", - "fn", - "receiver", - "withAppended", - "maybeWrapAsError", - "nodebackForPromise", - "tryCatch", - "errorObj", - "notEnumerableProp", - "INTERNAL", - body)( - Promise, - fn, - receiver, - withAppended, - maybeWrapAsError, - nodebackForPromise, - util.tryCatch, - util.errorObj, - util.notEnumerableProp, - INTERNAL); -}; -} - -function makeNodePromisifiedClosure(callback, receiver, _, fn, __, multiArgs) { - var defaultThis = (function() {return this;})(); - var method = callback; - if (typeof method === "string") { - callback = fn; - } - function promisified() { - var _receiver = receiver; - if (receiver === THIS) _receiver = this; - var promise = new Promise(INTERNAL); - promise._captureStackTrace(); - var cb = typeof method === "string" && this !== defaultThis - ? this[method] : callback; - var fn = nodebackForPromise(promise, multiArgs); - try { - cb.apply(_receiver, withAppended(arguments, fn)); - } catch(e) { - promise._rejectCallback(maybeWrapAsError(e), true, true); - } - if (!promise._isFateSealed()) promise._setAsyncGuaranteed(); - return promise; - } - util.notEnumerableProp(promisified, "__isPromisified__", true); - return promisified; -} - -var makeNodePromisified = canEvaluate - ? makeNodePromisifiedEval - : makeNodePromisifiedClosure; - -function promisifyAll(obj, suffix, filter, promisifier, multiArgs) { - var suffixRegexp = new RegExp(escapeIdentRegex(suffix) + "$"); - var methods = - promisifiableMethods(obj, suffix, suffixRegexp, filter); - - for (var i = 0, len = methods.length; i < len; i+= 2) { - var key = methods[i]; - var fn = methods[i+1]; - var promisifiedKey = key + suffix; - if (promisifier === makeNodePromisified) { - obj[promisifiedKey] = - makeNodePromisified(key, THIS, key, fn, suffix, multiArgs); - } else { - var promisified = promisifier(fn, function() { - return makeNodePromisified(key, THIS, key, - fn, suffix, multiArgs); - }); - util.notEnumerableProp(promisified, "__isPromisified__", true); - obj[promisifiedKey] = promisified; - } - } - util.toFastProperties(obj); - return obj; -} - -function promisify(callback, receiver, multiArgs) { - return makeNodePromisified(callback, receiver, undefined, - callback, null, multiArgs); -} - -Promise.promisify = function (fn, options) { - if (typeof fn !== "function") { - throw new TypeError("expecting a function but got " + util.classString(fn)); - } - if (isPromisified(fn)) { - return fn; - } - options = Object(options); - var receiver = options.context === undefined ? THIS : options.context; - var multiArgs = !!options.multiArgs; - var ret = promisify(fn, receiver, multiArgs); - util.copyDescriptors(fn, ret, propsFilter); - return ret; -}; - -Promise.promisifyAll = function (target, options) { - if (typeof target !== "function" && typeof target !== "object") { - throw new TypeError("the target of promisifyAll must be an object or a function\u000a\u000a See http://goo.gl/MqrFmX\u000a"); - } - options = Object(options); - var multiArgs = !!options.multiArgs; - var suffix = options.suffix; - if (typeof suffix !== "string") suffix = defaultSuffix; - var filter = options.filter; - if (typeof filter !== "function") filter = defaultFilter; - var promisifier = options.promisifier; - if (typeof promisifier !== "function") promisifier = makeNodePromisified; - - if (!util.isIdentifier(suffix)) { - throw new RangeError("suffix must be a valid identifier\u000a\u000a See http://goo.gl/MqrFmX\u000a"); - } - - var keys = util.inheritedDataKeys(target); - for (var i = 0; i < keys.length; ++i) { - var value = target[keys[i]]; - if (keys[i] !== "constructor" && - util.isClass(value)) { - promisifyAll(value.prototype, suffix, filter, promisifier, - multiArgs); - promisifyAll(value, suffix, filter, promisifier, multiArgs); - } - } - - return promisifyAll(target, suffix, filter, promisifier, multiArgs); -}; -}; - - -},{"./errors":12,"./nodeback":20,"./util":36}],25:[function(_dereq_,module,exports){ -"use strict"; -module.exports = function( - Promise, PromiseArray, tryConvertToPromise, apiRejection) { -var util = _dereq_("./util"); -var isObject = util.isObject; -var es5 = _dereq_("./es5"); -var Es6Map; -if (typeof Map === "function") Es6Map = Map; - -var mapToEntries = (function() { - var index = 0; - var size = 0; - - function extractEntry(value, key) { - this[index] = value; - this[index + size] = key; - index++; - } - - return function mapToEntries(map) { - size = map.size; - index = 0; - var ret = new Array(map.size * 2); - map.forEach(extractEntry, ret); - return ret; - }; -})(); - -var entriesToMap = function(entries) { - var ret = new Es6Map(); - var length = entries.length / 2 | 0; - for (var i = 0; i < length; ++i) { - var key = entries[length + i]; - var value = entries[i]; - ret.set(key, value); - } - return ret; -}; - -function PropertiesPromiseArray(obj) { - var isMap = false; - var entries; - if (Es6Map !== undefined && obj instanceof Es6Map) { - entries = mapToEntries(obj); - isMap = true; - } else { - var keys = es5.keys(obj); - var len = keys.length; - entries = new Array(len * 2); - for (var i = 0; i < len; ++i) { - var key = keys[i]; - entries[i] = obj[key]; - entries[i + len] = key; - } - } - this.constructor$(entries); - this._isMap = isMap; - this._init$(undefined, isMap ? -6 : -3); -} -util.inherits(PropertiesPromiseArray, PromiseArray); - -PropertiesPromiseArray.prototype._init = function () {}; - -PropertiesPromiseArray.prototype._promiseFulfilled = function (value, index) { - this._values[index] = value; - var totalResolved = ++this._totalResolved; - if (totalResolved >= this._length) { - var val; - if (this._isMap) { - val = entriesToMap(this._values); - } else { - val = {}; - var keyOffset = this.length(); - for (var i = 0, len = this.length(); i < len; ++i) { - val[this._values[i + keyOffset]] = this._values[i]; - } - } - this._resolve(val); - return true; - } - return false; -}; - -PropertiesPromiseArray.prototype.shouldCopyValues = function () { - return false; -}; - -PropertiesPromiseArray.prototype.getActualLength = function (len) { - return len >> 1; -}; - -function props(promises) { - var ret; - var castValue = tryConvertToPromise(promises); - - if (!isObject(castValue)) { - return apiRejection("cannot await properties of a non-object\u000a\u000a See http://goo.gl/MqrFmX\u000a"); - } else if (castValue instanceof Promise) { - ret = castValue._then( - Promise.props, undefined, undefined, undefined, undefined); - } else { - ret = new PropertiesPromiseArray(castValue).promise(); - } - - if (castValue instanceof Promise) { - ret._propagateFrom(castValue, 2); - } - return ret; -} - -Promise.prototype.props = function () { - return props(this); -}; - -Promise.props = function (promises) { - return props(promises); -}; -}; - -},{"./es5":13,"./util":36}],26:[function(_dereq_,module,exports){ -"use strict"; -function arrayMove(src, srcIndex, dst, dstIndex, len) { - for (var j = 0; j < len; ++j) { - dst[j + dstIndex] = src[j + srcIndex]; - src[j + srcIndex] = void 0; - } -} - -function Queue(capacity) { - this._capacity = capacity; - this._length = 0; - this._front = 0; -} - -Queue.prototype._willBeOverCapacity = function (size) { - return this._capacity < size; -}; - -Queue.prototype._pushOne = function (arg) { - var length = this.length(); - this._checkCapacity(length + 1); - var i = (this._front + length) & (this._capacity - 1); - this[i] = arg; - this._length = length + 1; -}; - -Queue.prototype.push = function (fn, receiver, arg) { - var length = this.length() + 3; - if (this._willBeOverCapacity(length)) { - this._pushOne(fn); - this._pushOne(receiver); - this._pushOne(arg); - return; - } - var j = this._front + length - 3; - this._checkCapacity(length); - var wrapMask = this._capacity - 1; - this[(j + 0) & wrapMask] = fn; - this[(j + 1) & wrapMask] = receiver; - this[(j + 2) & wrapMask] = arg; - this._length = length; -}; - -Queue.prototype.shift = function () { - var front = this._front, - ret = this[front]; - - this[front] = undefined; - this._front = (front + 1) & (this._capacity - 1); - this._length--; - return ret; -}; - -Queue.prototype.length = function () { - return this._length; -}; - -Queue.prototype._checkCapacity = function (size) { - if (this._capacity < size) { - this._resizeTo(this._capacity << 1); - } -}; - -Queue.prototype._resizeTo = function (capacity) { - var oldCapacity = this._capacity; - this._capacity = capacity; - var front = this._front; - var length = this._length; - var moveItemsCount = (front + length) & (oldCapacity - 1); - arrayMove(this, 0, this, oldCapacity, moveItemsCount); -}; - -module.exports = Queue; - -},{}],27:[function(_dereq_,module,exports){ -"use strict"; -module.exports = function( - Promise, INTERNAL, tryConvertToPromise, apiRejection) { -var util = _dereq_("./util"); - -var raceLater = function (promise) { - return promise.then(function(array) { - return race(array, promise); - }); -}; - -function race(promises, parent) { - var maybePromise = tryConvertToPromise(promises); - - if (maybePromise instanceof Promise) { - return raceLater(maybePromise); - } else { - promises = util.asArray(promises); - if (promises === null) - return apiRejection("expecting an array or an iterable object but got " + util.classString(promises)); - } - - var ret = new Promise(INTERNAL); - if (parent !== undefined) { - ret._propagateFrom(parent, 3); - } - var fulfill = ret._fulfill; - var reject = ret._reject; - for (var i = 0, len = promises.length; i < len; ++i) { - var val = promises[i]; - - if (val === undefined && !(i in promises)) { - continue; - } - - Promise.cast(val)._then(fulfill, reject, undefined, ret, null); - } - return ret; -} - -Promise.race = function (promises) { - return race(promises, undefined); -}; - -Promise.prototype.race = function () { - return race(this, undefined); -}; - -}; - -},{"./util":36}],28:[function(_dereq_,module,exports){ -"use strict"; -module.exports = function(Promise, - PromiseArray, - apiRejection, - tryConvertToPromise, - INTERNAL, - debug) { -var getDomain = Promise._getDomain; -var util = _dereq_("./util"); -var tryCatch = util.tryCatch; - -function ReductionPromiseArray(promises, fn, initialValue, _each) { - this.constructor$(promises); - var domain = getDomain(); - this._fn = domain === null ? fn : util.domainBind(domain, fn); - if (initialValue !== undefined) { - initialValue = Promise.resolve(initialValue); - initialValue._attachCancellationCallback(this); - } - this._initialValue = initialValue; - this._currentCancellable = null; - if(_each === INTERNAL) { - this._eachValues = Array(this._length); - } else if (_each === 0) { - this._eachValues = null; - } else { - this._eachValues = undefined; - } - this._promise._captureStackTrace(); - this._init$(undefined, -5); -} -util.inherits(ReductionPromiseArray, PromiseArray); - -ReductionPromiseArray.prototype._gotAccum = function(accum) { - if (this._eachValues !== undefined && - this._eachValues !== null && - accum !== INTERNAL) { - this._eachValues.push(accum); - } -}; - -ReductionPromiseArray.prototype._eachComplete = function(value) { - if (this._eachValues !== null) { - this._eachValues.push(value); - } - return this._eachValues; -}; - -ReductionPromiseArray.prototype._init = function() {}; - -ReductionPromiseArray.prototype._resolveEmptyArray = function() { - this._resolve(this._eachValues !== undefined ? this._eachValues - : this._initialValue); -}; - -ReductionPromiseArray.prototype.shouldCopyValues = function () { - return false; -}; - -ReductionPromiseArray.prototype._resolve = function(value) { - this._promise._resolveCallback(value); - this._values = null; -}; - -ReductionPromiseArray.prototype._resultCancelled = function(sender) { - if (sender === this._initialValue) return this._cancel(); - if (this._isResolved()) return; - this._resultCancelled$(); - if (this._currentCancellable instanceof Promise) { - this._currentCancellable.cancel(); - } - if (this._initialValue instanceof Promise) { - this._initialValue.cancel(); - } -}; - -ReductionPromiseArray.prototype._iterate = function (values) { - this._values = values; - var value; - var i; - var length = values.length; - if (this._initialValue !== undefined) { - value = this._initialValue; - i = 0; - } else { - value = Promise.resolve(values[0]); - i = 1; - } - - this._currentCancellable = value; - - if (!value.isRejected()) { - for (; i < length; ++i) { - var ctx = { - accum: null, - value: values[i], - index: i, - length: length, - array: this - }; - value = value._then(gotAccum, undefined, undefined, ctx, undefined); - } - } - - if (this._eachValues !== undefined) { - value = value - ._then(this._eachComplete, undefined, undefined, this, undefined); - } - value._then(completed, completed, undefined, value, this); -}; - -Promise.prototype.reduce = function (fn, initialValue) { - return reduce(this, fn, initialValue, null); -}; - -Promise.reduce = function (promises, fn, initialValue, _each) { - return reduce(promises, fn, initialValue, _each); -}; - -function completed(valueOrReason, array) { - if (this.isFulfilled()) { - array._resolve(valueOrReason); - } else { - array._reject(valueOrReason); - } -} - -function reduce(promises, fn, initialValue, _each) { - if (typeof fn !== "function") { - return apiRejection("expecting a function but got " + util.classString(fn)); - } - var array = new ReductionPromiseArray(promises, fn, initialValue, _each); - return array.promise(); -} - -function gotAccum(accum) { - this.accum = accum; - this.array._gotAccum(accum); - var value = tryConvertToPromise(this.value, this.array._promise); - if (value instanceof Promise) { - this.array._currentCancellable = value; - return value._then(gotValue, undefined, undefined, this, undefined); - } else { - return gotValue.call(this, value); - } -} - -function gotValue(value) { - var array = this.array; - var promise = array._promise; - var fn = tryCatch(array._fn); - promise._pushContext(); - var ret; - if (array._eachValues !== undefined) { - ret = fn.call(promise._boundValue(), value, this.index, this.length); - } else { - ret = fn.call(promise._boundValue(), - this.accum, value, this.index, this.length); - } - if (ret instanceof Promise) { - array._currentCancellable = ret; - } - var promiseCreated = promise._popContext(); - debug.checkForgottenReturns( - ret, - promiseCreated, - array._eachValues !== undefined ? "Promise.each" : "Promise.reduce", - promise - ); - return ret; -} -}; - -},{"./util":36}],29:[function(_dereq_,module,exports){ -"use strict"; -var util = _dereq_("./util"); -var schedule; -var noAsyncScheduler = function() { - throw new Error("No async scheduler available\u000a\u000a See http://goo.gl/MqrFmX\u000a"); -}; -var NativePromise = util.getNativePromise(); -if (util.isNode && typeof MutationObserver === "undefined") { - var GlobalSetImmediate = global.setImmediate; - var ProcessNextTick = process.nextTick; - schedule = util.isRecentNode - ? function(fn) { GlobalSetImmediate.call(global, fn); } - : function(fn) { ProcessNextTick.call(process, fn); }; -} else if (typeof NativePromise === "function" && - typeof NativePromise.resolve === "function") { - var nativePromise = NativePromise.resolve(); - schedule = function(fn) { - nativePromise.then(fn); - }; -} else if ((typeof MutationObserver !== "undefined") && - !(typeof window !== "undefined" && - window.navigator && - (window.navigator.standalone || window.cordova))) { - schedule = (function() { - var div = document.createElement("div"); - var opts = {attributes: true}; - var toggleScheduled = false; - var div2 = document.createElement("div"); - var o2 = new MutationObserver(function() { - div.classList.toggle("foo"); - toggleScheduled = false; - }); - o2.observe(div2, opts); - - var scheduleToggle = function() { - if (toggleScheduled) return; - toggleScheduled = true; - div2.classList.toggle("foo"); - }; - - return function schedule(fn) { - var o = new MutationObserver(function() { - o.disconnect(); - fn(); - }); - o.observe(div, opts); - scheduleToggle(); - }; - })(); -} else if (typeof setImmediate !== "undefined") { - schedule = function (fn) { - setImmediate(fn); - }; -} else if (typeof setTimeout !== "undefined") { - schedule = function (fn) { - setTimeout(fn, 0); - }; -} else { - schedule = noAsyncScheduler; -} -module.exports = schedule; - -},{"./util":36}],30:[function(_dereq_,module,exports){ -"use strict"; -module.exports = - function(Promise, PromiseArray, debug) { -var PromiseInspection = Promise.PromiseInspection; -var util = _dereq_("./util"); - -function SettledPromiseArray(values) { - this.constructor$(values); -} -util.inherits(SettledPromiseArray, PromiseArray); - -SettledPromiseArray.prototype._promiseResolved = function (index, inspection) { - this._values[index] = inspection; - var totalResolved = ++this._totalResolved; - if (totalResolved >= this._length) { - this._resolve(this._values); - return true; - } - return false; -}; - -SettledPromiseArray.prototype._promiseFulfilled = function (value, index) { - var ret = new PromiseInspection(); - ret._bitField = 33554432; - ret._settledValueField = value; - return this._promiseResolved(index, ret); -}; -SettledPromiseArray.prototype._promiseRejected = function (reason, index) { - var ret = new PromiseInspection(); - ret._bitField = 16777216; - ret._settledValueField = reason; - return this._promiseResolved(index, ret); -}; - -Promise.settle = function (promises) { - debug.deprecated(".settle()", ".reflect()"); - return new SettledPromiseArray(promises).promise(); -}; - -Promise.prototype.settle = function () { - return Promise.settle(this); -}; -}; - -},{"./util":36}],31:[function(_dereq_,module,exports){ -"use strict"; -module.exports = -function(Promise, PromiseArray, apiRejection) { -var util = _dereq_("./util"); -var RangeError = _dereq_("./errors").RangeError; -var AggregateError = _dereq_("./errors").AggregateError; -var isArray = util.isArray; -var CANCELLATION = {}; - - -function SomePromiseArray(values) { - this.constructor$(values); - this._howMany = 0; - this._unwrap = false; - this._initialized = false; -} -util.inherits(SomePromiseArray, PromiseArray); - -SomePromiseArray.prototype._init = function () { - if (!this._initialized) { - return; - } - if (this._howMany === 0) { - this._resolve([]); - return; - } - this._init$(undefined, -5); - var isArrayResolved = isArray(this._values); - if (!this._isResolved() && - isArrayResolved && - this._howMany > this._canPossiblyFulfill()) { - this._reject(this._getRangeError(this.length())); - } -}; - -SomePromiseArray.prototype.init = function () { - this._initialized = true; - this._init(); -}; - -SomePromiseArray.prototype.setUnwrap = function () { - this._unwrap = true; -}; - -SomePromiseArray.prototype.howMany = function () { - return this._howMany; -}; - -SomePromiseArray.prototype.setHowMany = function (count) { - this._howMany = count; -}; - -SomePromiseArray.prototype._promiseFulfilled = function (value) { - this._addFulfilled(value); - if (this._fulfilled() === this.howMany()) { - this._values.length = this.howMany(); - if (this.howMany() === 1 && this._unwrap) { - this._resolve(this._values[0]); - } else { - this._resolve(this._values); - } - return true; - } - return false; - -}; -SomePromiseArray.prototype._promiseRejected = function (reason) { - this._addRejected(reason); - return this._checkOutcome(); -}; - -SomePromiseArray.prototype._promiseCancelled = function () { - if (this._values instanceof Promise || this._values == null) { - return this._cancel(); - } - this._addRejected(CANCELLATION); - return this._checkOutcome(); -}; - -SomePromiseArray.prototype._checkOutcome = function() { - if (this.howMany() > this._canPossiblyFulfill()) { - var e = new AggregateError(); - for (var i = this.length(); i < this._values.length; ++i) { - if (this._values[i] !== CANCELLATION) { - e.push(this._values[i]); - } - } - if (e.length > 0) { - this._reject(e); - } else { - this._cancel(); - } - return true; - } - return false; -}; - -SomePromiseArray.prototype._fulfilled = function () { - return this._totalResolved; -}; - -SomePromiseArray.prototype._rejected = function () { - return this._values.length - this.length(); -}; - -SomePromiseArray.prototype._addRejected = function (reason) { - this._values.push(reason); -}; - -SomePromiseArray.prototype._addFulfilled = function (value) { - this._values[this._totalResolved++] = value; -}; - -SomePromiseArray.prototype._canPossiblyFulfill = function () { - return this.length() - this._rejected(); -}; - -SomePromiseArray.prototype._getRangeError = function (count) { - var message = "Input array must contain at least " + - this._howMany + " items but contains only " + count + " items"; - return new RangeError(message); -}; - -SomePromiseArray.prototype._resolveEmptyArray = function () { - this._reject(this._getRangeError(0)); -}; - -function some(promises, howMany) { - if ((howMany | 0) !== howMany || howMany < 0) { - return apiRejection("expecting a positive integer\u000a\u000a See http://goo.gl/MqrFmX\u000a"); - } - var ret = new SomePromiseArray(promises); - var promise = ret.promise(); - ret.setHowMany(howMany); - ret.init(); - return promise; -} - -Promise.some = function (promises, howMany) { - return some(promises, howMany); -}; - -Promise.prototype.some = function (howMany) { - return some(this, howMany); -}; - -Promise._SomePromiseArray = SomePromiseArray; -}; - -},{"./errors":12,"./util":36}],32:[function(_dereq_,module,exports){ -"use strict"; -module.exports = function(Promise) { -function PromiseInspection(promise) { - if (promise !== undefined) { - promise = promise._target(); - this._bitField = promise._bitField; - this._settledValueField = promise._isFateSealed() - ? promise._settledValue() : undefined; - } - else { - this._bitField = 0; - this._settledValueField = undefined; - } -} - -PromiseInspection.prototype._settledValue = function() { - return this._settledValueField; -}; - -var value = PromiseInspection.prototype.value = function () { - if (!this.isFulfilled()) { - throw new TypeError("cannot get fulfillment value of a non-fulfilled promise\u000a\u000a See http://goo.gl/MqrFmX\u000a"); - } - return this._settledValue(); -}; - -var reason = PromiseInspection.prototype.error = -PromiseInspection.prototype.reason = function () { - if (!this.isRejected()) { - throw new TypeError("cannot get rejection reason of a non-rejected promise\u000a\u000a See http://goo.gl/MqrFmX\u000a"); - } - return this._settledValue(); -}; - -var isFulfilled = PromiseInspection.prototype.isFulfilled = function() { - return (this._bitField & 33554432) !== 0; -}; - -var isRejected = PromiseInspection.prototype.isRejected = function () { - return (this._bitField & 16777216) !== 0; -}; - -var isPending = PromiseInspection.prototype.isPending = function () { - return (this._bitField & 50397184) === 0; -}; - -var isResolved = PromiseInspection.prototype.isResolved = function () { - return (this._bitField & 50331648) !== 0; -}; - -PromiseInspection.prototype.isCancelled = function() { - return (this._bitField & 8454144) !== 0; -}; - -Promise.prototype.__isCancelled = function() { - return (this._bitField & 65536) === 65536; -}; - -Promise.prototype._isCancelled = function() { - return this._target().__isCancelled(); -}; - -Promise.prototype.isCancelled = function() { - return (this._target()._bitField & 8454144) !== 0; -}; - -Promise.prototype.isPending = function() { - return isPending.call(this._target()); -}; - -Promise.prototype.isRejected = function() { - return isRejected.call(this._target()); -}; - -Promise.prototype.isFulfilled = function() { - return isFulfilled.call(this._target()); -}; - -Promise.prototype.isResolved = function() { - return isResolved.call(this._target()); -}; - -Promise.prototype.value = function() { - return value.call(this._target()); -}; - -Promise.prototype.reason = function() { - var target = this._target(); - target._unsetRejectionIsUnhandled(); - return reason.call(target); -}; - -Promise.prototype._value = function() { - return this._settledValue(); -}; - -Promise.prototype._reason = function() { - this._unsetRejectionIsUnhandled(); - return this._settledValue(); -}; - -Promise.PromiseInspection = PromiseInspection; -}; - -},{}],33:[function(_dereq_,module,exports){ -"use strict"; -module.exports = function(Promise, INTERNAL) { -var util = _dereq_("./util"); -var errorObj = util.errorObj; -var isObject = util.isObject; - -function tryConvertToPromise(obj, context) { - if (isObject(obj)) { - if (obj instanceof Promise) return obj; - var then = getThen(obj); - if (then === errorObj) { - if (context) context._pushContext(); - var ret = Promise.reject(then.e); - if (context) context._popContext(); - return ret; - } else if (typeof then === "function") { - if (isAnyBluebirdPromise(obj)) { - var ret = new Promise(INTERNAL); - obj._then( - ret._fulfill, - ret._reject, - undefined, - ret, - null - ); - return ret; - } - return doThenable(obj, then, context); - } - } - return obj; -} - -function doGetThen(obj) { - return obj.then; -} - -function getThen(obj) { - try { - return doGetThen(obj); - } catch (e) { - errorObj.e = e; - return errorObj; - } -} - -var hasProp = {}.hasOwnProperty; -function isAnyBluebirdPromise(obj) { - try { - return hasProp.call(obj, "_promise0"); - } catch (e) { - return false; - } -} - -function doThenable(x, then, context) { - var promise = new Promise(INTERNAL); - var ret = promise; - if (context) context._pushContext(); - promise._captureStackTrace(); - if (context) context._popContext(); - var synchronous = true; - var result = util.tryCatch(then).call(x, resolve, reject); - synchronous = false; - - if (promise && result === errorObj) { - promise._rejectCallback(result.e, true, true); - promise = null; - } - - function resolve(value) { - if (!promise) return; - promise._resolveCallback(value); - promise = null; - } - - function reject(reason) { - if (!promise) return; - promise._rejectCallback(reason, synchronous, true); - promise = null; - } - return ret; -} - -return tryConvertToPromise; -}; - -},{"./util":36}],34:[function(_dereq_,module,exports){ -"use strict"; -module.exports = function(Promise, INTERNAL, debug) { -var util = _dereq_("./util"); -var TimeoutError = Promise.TimeoutError; - -function HandleWrapper(handle) { - this.handle = handle; -} - -HandleWrapper.prototype._resultCancelled = function() { - clearTimeout(this.handle); -}; - -var afterValue = function(value) { return delay(+this).thenReturn(value); }; -var delay = Promise.delay = function (ms, value) { - var ret; - var handle; - if (value !== undefined) { - ret = Promise.resolve(value) - ._then(afterValue, null, null, ms, undefined); - if (debug.cancellation() && value instanceof Promise) { - ret._setOnCancel(value); - } - } else { - ret = new Promise(INTERNAL); - handle = setTimeout(function() { ret._fulfill(); }, +ms); - if (debug.cancellation()) { - ret._setOnCancel(new HandleWrapper(handle)); - } - ret._captureStackTrace(); - } - ret._setAsyncGuaranteed(); - return ret; -}; - -Promise.prototype.delay = function (ms) { - return delay(ms, this); -}; - -var afterTimeout = function (promise, message, parent) { - var err; - if (typeof message !== "string") { - if (message instanceof Error) { - err = message; - } else { - err = new TimeoutError("operation timed out"); - } - } else { - err = new TimeoutError(message); - } - util.markAsOriginatingFromRejection(err); - promise._attachExtraTrace(err); - promise._reject(err); - - if (parent != null) { - parent.cancel(); - } -}; - -function successClear(value) { - clearTimeout(this.handle); - return value; -} - -function failureClear(reason) { - clearTimeout(this.handle); - throw reason; -} - -Promise.prototype.timeout = function (ms, message) { - ms = +ms; - var ret, parent; - - var handleWrapper = new HandleWrapper(setTimeout(function timeoutTimeout() { - if (ret.isPending()) { - afterTimeout(ret, message, parent); - } - }, ms)); - - if (debug.cancellation()) { - parent = this.then(); - ret = parent._then(successClear, failureClear, - undefined, handleWrapper, undefined); - ret._setOnCancel(handleWrapper); - } else { - ret = this._then(successClear, failureClear, - undefined, handleWrapper, undefined); - } - - return ret; -}; - -}; - -},{"./util":36}],35:[function(_dereq_,module,exports){ -"use strict"; -module.exports = function (Promise, apiRejection, tryConvertToPromise, - createContext, INTERNAL, debug) { - var util = _dereq_("./util"); - var TypeError = _dereq_("./errors").TypeError; - var inherits = _dereq_("./util").inherits; - var errorObj = util.errorObj; - var tryCatch = util.tryCatch; - var NULL = {}; - - function thrower(e) { - setTimeout(function(){throw e;}, 0); - } - - function castPreservingDisposable(thenable) { - var maybePromise = tryConvertToPromise(thenable); - if (maybePromise !== thenable && - typeof thenable._isDisposable === "function" && - typeof thenable._getDisposer === "function" && - thenable._isDisposable()) { - maybePromise._setDisposable(thenable._getDisposer()); - } - return maybePromise; - } - function dispose(resources, inspection) { - var i = 0; - var len = resources.length; - var ret = new Promise(INTERNAL); - function iterator() { - if (i >= len) return ret._fulfill(); - var maybePromise = castPreservingDisposable(resources[i++]); - if (maybePromise instanceof Promise && - maybePromise._isDisposable()) { - try { - maybePromise = tryConvertToPromise( - maybePromise._getDisposer().tryDispose(inspection), - resources.promise); - } catch (e) { - return thrower(e); - } - if (maybePromise instanceof Promise) { - return maybePromise._then(iterator, thrower, - null, null, null); - } - } - iterator(); - } - iterator(); - return ret; - } - - function Disposer(data, promise, context) { - this._data = data; - this._promise = promise; - this._context = context; - } - - Disposer.prototype.data = function () { - return this._data; - }; - - Disposer.prototype.promise = function () { - return this._promise; - }; - - Disposer.prototype.resource = function () { - if (this.promise().isFulfilled()) { - return this.promise().value(); - } - return NULL; - }; - - Disposer.prototype.tryDispose = function(inspection) { - var resource = this.resource(); - var context = this._context; - if (context !== undefined) context._pushContext(); - var ret = resource !== NULL - ? this.doDispose(resource, inspection) : null; - if (context !== undefined) context._popContext(); - this._promise._unsetDisposable(); - this._data = null; - return ret; - }; - - Disposer.isDisposer = function (d) { - return (d != null && - typeof d.resource === "function" && - typeof d.tryDispose === "function"); - }; - - function FunctionDisposer(fn, promise, context) { - this.constructor$(fn, promise, context); - } - inherits(FunctionDisposer, Disposer); - - FunctionDisposer.prototype.doDispose = function (resource, inspection) { - var fn = this.data(); - return fn.call(resource, resource, inspection); - }; - - function maybeUnwrapDisposer(value) { - if (Disposer.isDisposer(value)) { - this.resources[this.index]._setDisposable(value); - return value.promise(); - } - return value; - } - - function ResourceList(length) { - this.length = length; - this.promise = null; - this[length-1] = null; - } - - ResourceList.prototype._resultCancelled = function() { - var len = this.length; - for (var i = 0; i < len; ++i) { - var item = this[i]; - if (item instanceof Promise) { - item.cancel(); - } - } - }; - - Promise.using = function () { - var len = arguments.length; - if (len < 2) return apiRejection( - "you must pass at least 2 arguments to Promise.using"); - var fn = arguments[len - 1]; - if (typeof fn !== "function") { - return apiRejection("expecting a function but got " + util.classString(fn)); - } - var input; - var spreadArgs = true; - if (len === 2 && Array.isArray(arguments[0])) { - input = arguments[0]; - len = input.length; - spreadArgs = false; - } else { - input = arguments; - len--; - } - var resources = new ResourceList(len); - for (var i = 0; i < len; ++i) { - var resource = input[i]; - if (Disposer.isDisposer(resource)) { - var disposer = resource; - resource = resource.promise(); - resource._setDisposable(disposer); - } else { - var maybePromise = tryConvertToPromise(resource); - if (maybePromise instanceof Promise) { - resource = - maybePromise._then(maybeUnwrapDisposer, null, null, { - resources: resources, - index: i - }, undefined); - } - } - resources[i] = resource; - } - - var reflectedResources = new Array(resources.length); - for (var i = 0; i < reflectedResources.length; ++i) { - reflectedResources[i] = Promise.resolve(resources[i]).reflect(); - } - - var resultPromise = Promise.all(reflectedResources) - .then(function(inspections) { - for (var i = 0; i < inspections.length; ++i) { - var inspection = inspections[i]; - if (inspection.isRejected()) { - errorObj.e = inspection.error(); - return errorObj; - } else if (!inspection.isFulfilled()) { - resultPromise.cancel(); - return; - } - inspections[i] = inspection.value(); - } - promise._pushContext(); - - fn = tryCatch(fn); - var ret = spreadArgs - ? fn.apply(undefined, inspections) : fn(inspections); - var promiseCreated = promise._popContext(); - debug.checkForgottenReturns( - ret, promiseCreated, "Promise.using", promise); - return ret; - }); - - var promise = resultPromise.lastly(function() { - var inspection = new Promise.PromiseInspection(resultPromise); - return dispose(resources, inspection); - }); - resources.promise = promise; - promise._setOnCancel(resources); - return promise; - }; - - Promise.prototype._setDisposable = function (disposer) { - this._bitField = this._bitField | 131072; - this._disposer = disposer; - }; - - Promise.prototype._isDisposable = function () { - return (this._bitField & 131072) > 0; - }; - - Promise.prototype._getDisposer = function () { - return this._disposer; - }; - - Promise.prototype._unsetDisposable = function () { - this._bitField = this._bitField & (~131072); - this._disposer = undefined; - }; - - Promise.prototype.disposer = function (fn) { - if (typeof fn === "function") { - return new FunctionDisposer(fn, this, createContext()); - } - throw new TypeError(); - }; - -}; - -},{"./errors":12,"./util":36}],36:[function(_dereq_,module,exports){ -"use strict"; -var es5 = _dereq_("./es5"); -var canEvaluate = typeof navigator == "undefined"; - -var errorObj = {e: {}}; -var tryCatchTarget; -var globalObject = typeof self !== "undefined" ? self : - typeof window !== "undefined" ? window : - typeof global !== "undefined" ? global : - this !== undefined ? this : null; - -function tryCatcher() { - try { - var target = tryCatchTarget; - tryCatchTarget = null; - return target.apply(this, arguments); - } catch (e) { - errorObj.e = e; - return errorObj; - } -} -function tryCatch(fn) { - tryCatchTarget = fn; - return tryCatcher; -} - -var inherits = function(Child, Parent) { - var hasProp = {}.hasOwnProperty; - - function T() { - this.constructor = Child; - this.constructor$ = Parent; - for (var propertyName in Parent.prototype) { - if (hasProp.call(Parent.prototype, propertyName) && - propertyName.charAt(propertyName.length-1) !== "$" - ) { - this[propertyName + "$"] = Parent.prototype[propertyName]; - } - } - } - T.prototype = Parent.prototype; - Child.prototype = new T(); - return Child.prototype; -}; - - -function isPrimitive(val) { - return val == null || val === true || val === false || - typeof val === "string" || typeof val === "number"; - -} - -function isObject(value) { - return typeof value === "function" || - typeof value === "object" && value !== null; -} - -function maybeWrapAsError(maybeError) { - if (!isPrimitive(maybeError)) return maybeError; - - return new Error(safeToString(maybeError)); -} - -function withAppended(target, appendee) { - var len = target.length; - var ret = new Array(len + 1); - var i; - for (i = 0; i < len; ++i) { - ret[i] = target[i]; - } - ret[i] = appendee; - return ret; -} - -function getDataPropertyOrDefault(obj, key, defaultValue) { - if (es5.isES5) { - var desc = Object.getOwnPropertyDescriptor(obj, key); - - if (desc != null) { - return desc.get == null && desc.set == null - ? desc.value - : defaultValue; - } - } else { - return {}.hasOwnProperty.call(obj, key) ? obj[key] : undefined; - } -} - -function notEnumerableProp(obj, name, value) { - if (isPrimitive(obj)) return obj; - var descriptor = { - value: value, - configurable: true, - enumerable: false, - writable: true - }; - es5.defineProperty(obj, name, descriptor); - return obj; -} - -function thrower(r) { - throw r; -} - -var inheritedDataKeys = (function() { - var excludedPrototypes = [ - Array.prototype, - Object.prototype, - Function.prototype - ]; - - var isExcludedProto = function(val) { - for (var i = 0; i < excludedPrototypes.length; ++i) { - if (excludedPrototypes[i] === val) { - return true; - } - } - return false; - }; - - if (es5.isES5) { - var getKeys = Object.getOwnPropertyNames; - return function(obj) { - var ret = []; - var visitedKeys = Object.create(null); - while (obj != null && !isExcludedProto(obj)) { - var keys; - try { - keys = getKeys(obj); - } catch (e) { - return ret; - } - for (var i = 0; i < keys.length; ++i) { - var key = keys[i]; - if (visitedKeys[key]) continue; - visitedKeys[key] = true; - var desc = Object.getOwnPropertyDescriptor(obj, key); - if (desc != null && desc.get == null && desc.set == null) { - ret.push(key); - } - } - obj = es5.getPrototypeOf(obj); - } - return ret; - }; - } else { - var hasProp = {}.hasOwnProperty; - return function(obj) { - if (isExcludedProto(obj)) return []; - var ret = []; - - /*jshint forin:false */ - enumeration: for (var key in obj) { - if (hasProp.call(obj, key)) { - ret.push(key); - } else { - for (var i = 0; i < excludedPrototypes.length; ++i) { - if (hasProp.call(excludedPrototypes[i], key)) { - continue enumeration; - } - } - ret.push(key); - } - } - return ret; - }; - } - -})(); - -var thisAssignmentPattern = /this\s*\.\s*\S+\s*=/; -function isClass(fn) { - try { - if (typeof fn === "function") { - var keys = es5.names(fn.prototype); - - var hasMethods = es5.isES5 && keys.length > 1; - var hasMethodsOtherThanConstructor = keys.length > 0 && - !(keys.length === 1 && keys[0] === "constructor"); - var hasThisAssignmentAndStaticMethods = - thisAssignmentPattern.test(fn + "") && es5.names(fn).length > 0; - - if (hasMethods || hasMethodsOtherThanConstructor || - hasThisAssignmentAndStaticMethods) { - return true; - } - } - return false; - } catch (e) { - return false; - } -} - -function toFastProperties(obj) { - /*jshint -W027,-W055,-W031*/ - function FakeConstructor() {} - FakeConstructor.prototype = obj; - var l = 8; - while (l--) new FakeConstructor(); - return obj; - eval(obj); -} - -var rident = /^[a-z$_][a-z$_0-9]*$/i; -function isIdentifier(str) { - return rident.test(str); -} - -function filledRange(count, prefix, suffix) { - var ret = new Array(count); - for(var i = 0; i < count; ++i) { - ret[i] = prefix + i + suffix; - } - return ret; -} - -function safeToString(obj) { - try { - return obj + ""; - } catch (e) { - return "[no string representation]"; - } -} - -function isError(obj) { - return obj instanceof Error || - (obj !== null && - typeof obj === "object" && - typeof obj.message === "string" && - typeof obj.name === "string"); -} - -function markAsOriginatingFromRejection(e) { - try { - notEnumerableProp(e, "isOperational", true); - } - catch(ignore) {} -} - -function originatesFromRejection(e) { - if (e == null) return false; - return ((e instanceof Error["__BluebirdErrorTypes__"].OperationalError) || - e["isOperational"] === true); -} - -function canAttachTrace(obj) { - return isError(obj) && es5.propertyIsWritable(obj, "stack"); -} - -var ensureErrorObject = (function() { - if (!("stack" in new Error())) { - return function(value) { - if (canAttachTrace(value)) return value; - try {throw new Error(safeToString(value));} - catch(err) {return err;} - }; - } else { - return function(value) { - if (canAttachTrace(value)) return value; - return new Error(safeToString(value)); - }; - } -})(); - -function classString(obj) { - return {}.toString.call(obj); -} - -function copyDescriptors(from, to, filter) { - var keys = es5.names(from); - for (var i = 0; i < keys.length; ++i) { - var key = keys[i]; - if (filter(key)) { - try { - es5.defineProperty(to, key, es5.getDescriptor(from, key)); - } catch (ignore) {} - } - } -} - -var asArray = function(v) { - if (es5.isArray(v)) { - return v; - } - return null; -}; - -if (typeof Symbol !== "undefined" && Symbol.iterator) { - var ArrayFrom = typeof Array.from === "function" ? function(v) { - return Array.from(v); - } : function(v) { - var ret = []; - var it = v[Symbol.iterator](); - var itResult; - while (!((itResult = it.next()).done)) { - ret.push(itResult.value); - } - return ret; - }; - - asArray = function(v) { - if (es5.isArray(v)) { - return v; - } else if (v != null && typeof v[Symbol.iterator] === "function") { - return ArrayFrom(v); - } - return null; - }; -} - -var isNode = typeof process !== "undefined" && - classString(process).toLowerCase() === "[object process]"; - -var hasEnvVariables = typeof process !== "undefined" && - typeof process.env !== "undefined"; - -function env(key) { - return hasEnvVariables ? process.env[key] : undefined; -} - -function getNativePromise() { - if (typeof Promise === "function") { - try { - var promise = new Promise(function(){}); - if ({}.toString.call(promise) === "[object Promise]") { - return Promise; - } - } catch (e) {} - } -} - -function domainBind(self, cb) { - return self.bind(cb); -} - -var ret = { - isClass: isClass, - isIdentifier: isIdentifier, - inheritedDataKeys: inheritedDataKeys, - getDataPropertyOrDefault: getDataPropertyOrDefault, - thrower: thrower, - isArray: es5.isArray, - asArray: asArray, - notEnumerableProp: notEnumerableProp, - isPrimitive: isPrimitive, - isObject: isObject, - isError: isError, - canEvaluate: canEvaluate, - errorObj: errorObj, - tryCatch: tryCatch, - inherits: inherits, - withAppended: withAppended, - maybeWrapAsError: maybeWrapAsError, - toFastProperties: toFastProperties, - filledRange: filledRange, - toString: safeToString, - canAttachTrace: canAttachTrace, - ensureErrorObject: ensureErrorObject, - originatesFromRejection: originatesFromRejection, - markAsOriginatingFromRejection: markAsOriginatingFromRejection, - classString: classString, - copyDescriptors: copyDescriptors, - hasDevTools: typeof chrome !== "undefined" && chrome && - typeof chrome.loadTimes === "function", - isNode: isNode, - hasEnvVariables: hasEnvVariables, - env: env, - global: globalObject, - getNativePromise: getNativePromise, - domainBind: domainBind -}; -ret.isRecentNode = ret.isNode && (function() { - var version = process.versions.node.split(".").map(Number); - return (version[0] === 0 && version[1] > 10) || (version[0] > 0); -})(); - -if (ret.isNode) ret.toFastProperties(process); - -try {throw new Error(); } catch (e) {ret.lastLineError = e;} -module.exports = ret; - -},{"./es5":13}]},{},[4])(4) -}); ;if (typeof window !== 'undefined' && window !== null) { window.P = window.Promise; } else if (typeof self !== 'undefined' && self !== null) { self.P = self.Promise; } \ No newline at end of file diff --git a/publi/node_modules/bluebird/js/browser/bluebird.min.js b/publi/node_modules/bluebird/js/browser/bluebird.min.js deleted file mode 100644 index e02a9cd..0000000 --- a/publi/node_modules/bluebird/js/browser/bluebird.min.js +++ /dev/null @@ -1,31 +0,0 @@ -/* @preserve - * The MIT License (MIT) - * - * Copyright (c) 2013-2017 Petka Antonov - * - * 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. - * - */ -/** - * bluebird build version 3.5.1 - * Features enabled: core, race, call_get, generators, map, nodeify, promisify, props, reduce, settle, some, using, timers, filter, any, each -*/ -!function(t){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var e;"undefined"!=typeof window?e=window:"undefined"!=typeof global?e=global:"undefined"!=typeof self&&(e=self),e.Promise=t()}}(function(){var t,e,n;return function r(t,e,n){function i(s,a){if(!e[s]){if(!t[s]){var c="function"==typeof _dereq_&&_dereq_;if(!a&&c)return c(s,!0);if(o)return o(s,!0);var l=new Error("Cannot find module '"+s+"'");throw l.code="MODULE_NOT_FOUND",l}var u=e[s]={exports:{}};t[s][0].call(u.exports,function(e){var n=t[s][1][e];return i(n?n:e)},u,u.exports,r,t,e,n)}return e[s].exports}for(var o="function"==typeof _dereq_&&_dereq_,s=0;s0;){var e=t.shift();if("function"==typeof e){var n=t.shift(),r=t.shift();e.call(n,r)}else e._settlePromises()}},r.prototype._drainQueues=function(){this._drainQueue(this._normalQueue),this._reset(),this._haveDrainedQueues=!0,this._drainQueue(this._lateQueue)},r.prototype._queueTick=function(){this._isTickUsed||(this._isTickUsed=!0,this._schedule(this.drainQueues))},r.prototype._reset=function(){this._isTickUsed=!1},e.exports=r,e.exports.firstLineError=a},{"./queue":26,"./schedule":29,"./util":36}],3:[function(t,e,n){"use strict";e.exports=function(t,e,n,r){var i=!1,o=function(t,e){this._reject(e)},s=function(t,e){e.promiseRejectionQueued=!0,e.bindingPromise._then(o,o,null,this,t)},a=function(t,e){0===(50397184&this._bitField)&&this._resolveCallback(e.target)},c=function(t,e){e.promiseRejectionQueued||this._reject(t)};t.prototype.bind=function(o){i||(i=!0,t.prototype._propagateFrom=r.propagateFromFunction(),t.prototype._boundValue=r.boundValueFunction());var l=n(o),u=new t(e);u._propagateFrom(this,1);var p=this._target();if(u._setBoundTo(l),l instanceof t){var h={promiseRejectionQueued:!1,promise:u,target:p,bindingPromise:l};p._then(e,s,void 0,u,h),l._then(a,c,void 0,u,h),u._setOnCancel(l)}else u._resolveCallback(p);return u},t.prototype._setBoundTo=function(t){void 0!==t?(this._bitField=2097152|this._bitField,this._boundTo=t):this._bitField=-2097153&this._bitField},t.prototype._isBound=function(){return 2097152===(2097152&this._bitField)},t.bind=function(e,n){return t.resolve(n).bind(e)}}},{}],4:[function(t,e,n){"use strict";function r(){try{Promise===o&&(Promise=i)}catch(t){}return o}var i;"undefined"!=typeof Promise&&(i=Promise);var o=t("./promise")();o.noConflict=r,e.exports=o},{"./promise":22}],5:[function(t,e,n){"use strict";var r=Object.create;if(r){var i=r(null),o=r(null);i[" size"]=o[" size"]=0}e.exports=function(e){function n(t,n){var r;if(null!=t&&(r=t[n]),"function"!=typeof r){var i="Object "+a.classString(t)+" has no method '"+a.toString(n)+"'";throw new e.TypeError(i)}return r}function r(t){var e=this.pop(),r=n(t,e);return r.apply(t,this)}function i(t){return t[this]}function o(t){var e=+this;return 0>e&&(e=Math.max(0,e+t.length)),t[e]}var s,a=t("./util"),c=a.canEvaluate;a.isIdentifier;e.prototype.call=function(t){var e=[].slice.call(arguments,1);return e.push(t),this._then(r,void 0,void 0,e,void 0)},e.prototype.get=function(t){var e,n="number"==typeof t;if(n)e=o;else if(c){var r=s(t);e=null!==r?r:i}else e=i;return this._then(e,void 0,void 0,t,void 0)}}},{"./util":36}],6:[function(t,e,n){"use strict";e.exports=function(e,n,r,i){var o=t("./util"),s=o.tryCatch,a=o.errorObj,c=e._async;e.prototype["break"]=e.prototype.cancel=function(){if(!i.cancellation())return this._warn("cancellation is disabled");for(var t=this,e=t;t._isCancellable();){if(!t._cancelBy(e)){e._isFollowing()?e._followee().cancel():e._cancelBranched();break}var n=t._cancellationParent;if(null==n||!n._isCancellable()){t._isFollowing()?t._followee().cancel():t._cancelBranched();break}t._isFollowing()&&t._followee().cancel(),t._setWillBeCancelled(),e=t,t=n}},e.prototype._branchHasCancelled=function(){this._branchesRemainingToCancel--},e.prototype._enoughBranchesHaveCancelled=function(){return void 0===this._branchesRemainingToCancel||this._branchesRemainingToCancel<=0},e.prototype._cancelBy=function(t){return t===this?(this._branchesRemainingToCancel=0,this._invokeOnCancel(),!0):(this._branchHasCancelled(),this._enoughBranchesHaveCancelled()?(this._invokeOnCancel(),!0):!1)},e.prototype._cancelBranched=function(){this._enoughBranchesHaveCancelled()&&this._cancel()},e.prototype._cancel=function(){this._isCancellable()&&(this._setCancelled(),c.invoke(this._cancelPromises,this,void 0))},e.prototype._cancelPromises=function(){this._length()>0&&this._settlePromises()},e.prototype._unsetOnCancel=function(){this._onCancelField=void 0},e.prototype._isCancellable=function(){return this.isPending()&&!this._isCancelled()},e.prototype.isCancellable=function(){return this.isPending()&&!this.isCancelled()},e.prototype._doInvokeOnCancel=function(t,e){if(o.isArray(t))for(var n=0;n=0?o[t]:void 0}var i=!1,o=[];return t.prototype._promiseCreated=function(){},t.prototype._pushContext=function(){},t.prototype._popContext=function(){return null},t._peekContext=t.prototype._peekContext=function(){},e.prototype._pushContext=function(){void 0!==this._trace&&(this._trace._promiseCreated=null,o.push(this._trace))},e.prototype._popContext=function(){if(void 0!==this._trace){var t=o.pop(),e=t._promiseCreated;return t._promiseCreated=null,e}return null},e.CapturedTrace=null,e.create=n,e.deactivateLongStackTraces=function(){},e.activateLongStackTraces=function(){var n=t.prototype._pushContext,o=t.prototype._popContext,s=t._peekContext,a=t.prototype._peekContext,c=t.prototype._promiseCreated;e.deactivateLongStackTraces=function(){t.prototype._pushContext=n,t.prototype._popContext=o,t._peekContext=s,t.prototype._peekContext=a,t.prototype._promiseCreated=c,i=!1},i=!0,t.prototype._pushContext=e.prototype._pushContext,t.prototype._popContext=e.prototype._popContext,t._peekContext=t.prototype._peekContext=r,t.prototype._promiseCreated=function(){var t=this._peekContext();t&&null==t._promiseCreated&&(t._promiseCreated=this)}},e}},{}],9:[function(t,e,n){"use strict";e.exports=function(e,n){function r(t,e){return{promise:e}}function i(){return!1}function o(t,e,n){var r=this;try{t(e,n,function(t){if("function"!=typeof t)throw new TypeError("onCancel must be a function, got: "+H.toString(t));r._attachCancellationCallback(t)})}catch(i){return i}}function s(t){if(!this._isCancellable())return this;var e=this._onCancel();void 0!==e?H.isArray(e)?e.push(t):this._setOnCancel([e,t]):this._setOnCancel(t)}function a(){return this._onCancelField}function c(t){this._onCancelField=t}function l(){this._cancellationParent=void 0,this._onCancelField=void 0}function u(t,e){if(0!==(1&e)){this._cancellationParent=t;var n=t._branchesRemainingToCancel;void 0===n&&(n=0),t._branchesRemainingToCancel=n+1}0!==(2&e)&&t._isBound()&&this._setBoundTo(t._boundTo)}function p(t,e){0!==(2&e)&&t._isBound()&&this._setBoundTo(t._boundTo)}function h(){var t=this._boundTo;return void 0!==t&&t instanceof e?t.isFulfilled()?t.value():void 0:t}function f(){this._trace=new S(this._peekContext())}function _(t,e){if(N(t)){var n=this._trace;if(void 0!==n&&e&&(n=n._parent),void 0!==n)n.attachExtraTrace(t);else if(!t.__stackCleaned__){var r=j(t);H.notEnumerableProp(t,"stack",r.message+"\n"+r.stack.join("\n")),H.notEnumerableProp(t,"__stackCleaned__",!0)}}}function d(t,e,n,r,i){if(void 0===t&&null!==e&&W){if(void 0!==i&&i._returnedNonUndefined())return;if(0===(65535&r._bitField))return;n&&(n+=" ");var o="",s="";if(e._trace){for(var a=e._trace.stack.split("\n"),c=w(a),l=c.length-1;l>=0;--l){var u=c[l];if(!U.test(u)){var p=u.match(M);p&&(o="at "+p[1]+":"+p[2]+":"+p[3]+" ");break}}if(c.length>0)for(var h=c[0],l=0;l0&&(s="\n"+a[l-1]);break}}var f="a promise was created in a "+n+"handler "+o+"but was not returned from it, see http://goo.gl/rRqMUw"+s;r._warn(f,!0,e)}}function v(t,e){var n=t+" is deprecated and will be removed in a future version.";return e&&(n+=" Use "+e+" instead."),y(n)}function y(t,n,r){if(ot.warnings){var i,o=new L(t);if(n)r._attachExtraTrace(o);else if(ot.longStackTraces&&(i=e._peekContext()))i.attachExtraTrace(o);else{var s=j(o);o.stack=s.message+"\n"+s.stack.join("\n")}tt("warning",o)||E(o,"",!0)}}function m(t,e){for(var n=0;n=0;--a)if(r[a]===o){s=a;break}for(var a=s;a>=0;--a){var c=r[a];if(e[i]!==c)break;e.pop(),i--}e=r}}function w(t){for(var e=[],n=0;n0&&"SyntaxError"!=t.name&&(e=e.slice(n)),e}function j(t){var e=t.stack,n=t.toString();return e="string"==typeof e&&e.length>0?C(t):[" (No stack trace)"],{message:n,stack:"SyntaxError"==t.name?e:w(e)}}function E(t,e,n){if("undefined"!=typeof console){var r;if(H.isObject(t)){var i=t.stack;r=e+Q(i,t)}else r=e+String(t);"function"==typeof D?D(r,n):("function"==typeof console.log||"object"==typeof console.log)&&console.log(r)}}function k(t,e,n,r){var i=!1;try{"function"==typeof e&&(i=!0,"rejectionHandled"===t?e(r):e(n,r))}catch(o){I.throwLater(o)}"unhandledRejection"===t?tt(t,n,r)||i||E(n,"Unhandled rejection "):tt(t,r)}function F(t){var e;if("function"==typeof t)e="[function "+(t.name||"anonymous")+"]";else{e=t&&"function"==typeof t.toString?t.toString():H.toString(t);var n=/\[object [a-zA-Z0-9$_]+\]/;if(n.test(e))try{var r=JSON.stringify(t);e=r}catch(i){}0===e.length&&(e="(empty array)")}return"(<"+x(e)+">, no stack trace)"}function x(t){var e=41;return t.lengths||0>a||!n||!r||n!==r||s>=a||(nt=function(t){if(B.test(t))return!0;var e=P(t);return e&&e.fileName===n&&s<=e.line&&e.line<=a?!0:!1})}}function S(t){this._parent=t,this._promisesCreated=0;var e=this._length=1+(void 0===t?0:t._length);it(this,S),e>32&&this.uncycle()}var O,A,D,V=e._getDomain,I=e._async,L=t("./errors").Warning,H=t("./util"),N=H.canAttachTrace,B=/[\\\/]bluebird[\\\/]js[\\\/](release|debug|instrumented)/,U=/\((?:timers\.js):\d+:\d+\)/,M=/[\/<\(](.+?):(\d+):(\d+)\)?\s*$/,q=null,Q=null,$=!1,G=!(0==H.env("BLUEBIRD_DEBUG")||!H.env("BLUEBIRD_DEBUG")&&"development"!==H.env("NODE_ENV")),z=!(0==H.env("BLUEBIRD_WARNINGS")||!G&&!H.env("BLUEBIRD_WARNINGS")),X=!(0==H.env("BLUEBIRD_LONG_STACK_TRACES")||!G&&!H.env("BLUEBIRD_LONG_STACK_TRACES")),W=0!=H.env("BLUEBIRD_W_FORGOTTEN_RETURN")&&(z||!!H.env("BLUEBIRD_W_FORGOTTEN_RETURN"));e.prototype.suppressUnhandledRejections=function(){var t=this._target();t._bitField=-1048577&t._bitField|524288},e.prototype._ensurePossibleRejectionHandled=function(){if(0===(524288&this._bitField)){this._setRejectionIsUnhandled();var t=this;setTimeout(function(){t._notifyUnhandledRejection()},1)}},e.prototype._notifyUnhandledRejectionIsHandled=function(){k("rejectionHandled",O,void 0,this)},e.prototype._setReturnedNonUndefined=function(){this._bitField=268435456|this._bitField},e.prototype._returnedNonUndefined=function(){return 0!==(268435456&this._bitField)},e.prototype._notifyUnhandledRejection=function(){if(this._isRejectionUnhandled()){var t=this._settledValue();this._setUnhandledRejectionIsNotified(),k("unhandledRejection",A,t,this)}},e.prototype._setUnhandledRejectionIsNotified=function(){this._bitField=262144|this._bitField},e.prototype._unsetUnhandledRejectionIsNotified=function(){this._bitField=-262145&this._bitField},e.prototype._isUnhandledRejectionNotified=function(){return(262144&this._bitField)>0},e.prototype._setRejectionIsUnhandled=function(){this._bitField=1048576|this._bitField},e.prototype._unsetRejectionIsUnhandled=function(){this._bitField=-1048577&this._bitField,this._isUnhandledRejectionNotified()&&(this._unsetUnhandledRejectionIsNotified(),this._notifyUnhandledRejectionIsHandled())},e.prototype._isRejectionUnhandled=function(){return(1048576&this._bitField)>0},e.prototype._warn=function(t,e,n){return y(t,e,n||this)},e.onPossiblyUnhandledRejection=function(t){var e=V();A="function"==typeof t?null===e?t:H.domainBind(e,t):void 0},e.onUnhandledRejectionHandled=function(t){var e=V();O="function"==typeof t?null===e?t:H.domainBind(e,t):void 0};var K=function(){};e.longStackTraces=function(){if(I.haveItemsQueued()&&!ot.longStackTraces)throw new Error("cannot enable long stack traces after promises have been created\n\n See http://goo.gl/MqrFmX\n");if(!ot.longStackTraces&&T()){var t=e.prototype._captureStackTrace,r=e.prototype._attachExtraTrace;ot.longStackTraces=!0,K=function(){if(I.haveItemsQueued()&&!ot.longStackTraces)throw new Error("cannot enable long stack traces after promises have been created\n\n See http://goo.gl/MqrFmX\n");e.prototype._captureStackTrace=t,e.prototype._attachExtraTrace=r,n.deactivateLongStackTraces(),I.enableTrampoline(),ot.longStackTraces=!1},e.prototype._captureStackTrace=f,e.prototype._attachExtraTrace=_,n.activateLongStackTraces(),I.disableTrampolineIfNecessary()}},e.hasLongStackTraces=function(){return ot.longStackTraces&&T()};var J=function(){try{if("function"==typeof CustomEvent){var t=new CustomEvent("CustomEvent");return H.global.dispatchEvent(t),function(t,e){var n=new CustomEvent(t.toLowerCase(),{detail:e,cancelable:!0});return!H.global.dispatchEvent(n)}}if("function"==typeof Event){var t=new Event("CustomEvent");return H.global.dispatchEvent(t),function(t,e){var n=new Event(t.toLowerCase(),{cancelable:!0});return n.detail=e,!H.global.dispatchEvent(n)}}var t=document.createEvent("CustomEvent");return t.initCustomEvent("testingtheevent",!1,!0,{}),H.global.dispatchEvent(t),function(t,e){var n=document.createEvent("CustomEvent");return n.initCustomEvent(t.toLowerCase(),!1,!0,e),!H.global.dispatchEvent(n)}}catch(e){}return function(){return!1}}(),Y=function(){return H.isNode?function(){return process.emit.apply(process,arguments)}:H.global?function(t){var e="on"+t.toLowerCase(),n=H.global[e];return n?(n.apply(H.global,[].slice.call(arguments,1)),!0):!1}:function(){return!1}}(),Z={promiseCreated:r,promiseFulfilled:r,promiseRejected:r,promiseResolved:r,promiseCancelled:r,promiseChained:function(t,e,n){return{promise:e,child:n}},warning:function(t,e){return{warning:e}},unhandledRejection:function(t,e,n){return{reason:e,promise:n}},rejectionHandled:r},tt=function(t){var e=!1;try{e=Y.apply(null,arguments)}catch(n){I.throwLater(n),e=!0}var r=!1;try{r=J(t,Z[t].apply(null,arguments))}catch(n){I.throwLater(n),r=!0}return r||e};e.config=function(t){if(t=Object(t),"longStackTraces"in t&&(t.longStackTraces?e.longStackTraces():!t.longStackTraces&&e.hasLongStackTraces()&&K()),"warnings"in t){var n=t.warnings;ot.warnings=!!n,W=ot.warnings,H.isObject(n)&&"wForgottenReturn"in n&&(W=!!n.wForgottenReturn)}if("cancellation"in t&&t.cancellation&&!ot.cancellation){if(I.haveItemsQueued())throw new Error("cannot enable cancellation after promises are in use");e.prototype._clearCancellationData=l,e.prototype._propagateFrom=u,e.prototype._onCancel=a,e.prototype._setOnCancel=c,e.prototype._attachCancellationCallback=s,e.prototype._execute=o,et=u,ot.cancellation=!0}return"monitoring"in t&&(t.monitoring&&!ot.monitoring?(ot.monitoring=!0,e.prototype._fireEvent=tt):!t.monitoring&&ot.monitoring&&(ot.monitoring=!1,e.prototype._fireEvent=i)),e},e.prototype._fireEvent=i,e.prototype._execute=function(t,e,n){try{t(e,n)}catch(r){return r}},e.prototype._onCancel=function(){},e.prototype._setOnCancel=function(t){},e.prototype._attachCancellationCallback=function(t){},e.prototype._captureStackTrace=function(){},e.prototype._attachExtraTrace=function(){},e.prototype._clearCancellationData=function(){},e.prototype._propagateFrom=function(t,e){};var et=p,nt=function(){return!1},rt=/[\/<\(]([^:\/]+):(\d+):(?:\d+)\)?\s*$/;H.inherits(S,Error),n.CapturedTrace=S,S.prototype.uncycle=function(){var t=this._length;if(!(2>t)){for(var e=[],n={},r=0,i=this;void 0!==i;++r)e.push(i),i=i._parent;t=this._length=r;for(var r=t-1;r>=0;--r){var o=e[r].stack;void 0===n[o]&&(n[o]=r)}for(var r=0;t>r;++r){var s=e[r].stack,a=n[s];if(void 0!==a&&a!==r){a>0&&(e[a-1]._parent=void 0,e[a-1]._length=1),e[r]._parent=void 0,e[r]._length=1;var c=r>0?e[r-1]:this;t-1>a?(c._parent=e[a+1],c._parent.uncycle(),c._length=c._parent._length+1):(c._parent=void 0,c._length=1);for(var l=c._length+1,u=r-2;u>=0;--u)e[u]._length=l,l++;return}}}},S.prototype.attachExtraTrace=function(t){if(!t.__stackCleaned__){this.uncycle();for(var e=j(t),n=e.message,r=[e.stack],i=this;void 0!==i;)r.push(w(i.stack.split("\n"))),i=i._parent;b(r),g(r),H.notEnumerableProp(t,"stack",m(n,r)),H.notEnumerableProp(t,"__stackCleaned__",!0)}};var it=function(){var t=/^\s*at\s*/,e=function(t,e){return"string"==typeof t?t:void 0!==e.name&&void 0!==e.message?e.toString():F(e)};if("number"==typeof Error.stackTraceLimit&&"function"==typeof Error.captureStackTrace){Error.stackTraceLimit+=6,q=t,Q=e;var n=Error.captureStackTrace;return nt=function(t){return B.test(t)},function(t,e){Error.stackTraceLimit+=6,n(t,e),Error.stackTraceLimit-=6}}var r=new Error;if("string"==typeof r.stack&&r.stack.split("\n")[0].indexOf("stackDetection@")>=0)return q=/@/,Q=e,$=!0,function(t){t.stack=(new Error).stack};var i;try{throw new Error}catch(o){i="stack"in o}return"stack"in r||!i||"number"!=typeof Error.stackTraceLimit?(Q=function(t,e){return"string"==typeof t?t:"object"!=typeof e&&"function"!=typeof e||void 0===e.name||void 0===e.message?F(e):e.toString()},null):(q=t,Q=e,function(t){Error.stackTraceLimit+=6;try{throw new Error}catch(e){t.stack=e.stack}Error.stackTraceLimit-=6})}([]);"undefined"!=typeof console&&"undefined"!=typeof console.warn&&(D=function(t){console.warn(t)},H.isNode&&process.stderr.isTTY?D=function(t,e){var n=e?"":"";console.warn(n+t+"\n")}:H.isNode||"string"!=typeof(new Error).stack||(D=function(t,e){console.warn("%c"+t,e?"color: darkorange":"color: red")}));var ot={warnings:z,longStackTraces:!1,cancellation:!1,monitoring:!1};return X&&e.longStackTraces(),{longStackTraces:function(){return ot.longStackTraces},warnings:function(){return ot.warnings},cancellation:function(){return ot.cancellation},monitoring:function(){return ot.monitoring},propagateFromFunction:function(){return et},boundValueFunction:function(){return h},checkForgottenReturns:d,setBounds:R,warn:y,deprecated:v,CapturedTrace:S,fireDomEvent:J,fireGlobalEvent:Y}}},{"./errors":12,"./util":36}],10:[function(t,e,n){"use strict";e.exports=function(t){function e(){return this.value}function n(){throw this.reason}t.prototype["return"]=t.prototype.thenReturn=function(n){return n instanceof t&&n.suppressUnhandledRejections(),this._then(e,void 0,void 0,{value:n},void 0)},t.prototype["throw"]=t.prototype.thenThrow=function(t){return this._then(n,void 0,void 0,{reason:t},void 0)},t.prototype.catchThrow=function(t){if(arguments.length<=1)return this._then(void 0,n,void 0,{reason:t},void 0);var e=arguments[1],r=function(){throw e};return this.caught(t,r)},t.prototype.catchReturn=function(n){if(arguments.length<=1)return n instanceof t&&n.suppressUnhandledRejections(),this._then(void 0,e,void 0,{value:n},void 0);var r=arguments[1];r instanceof t&&r.suppressUnhandledRejections();var i=function(){return r};return this.caught(n,i)}}},{}],11:[function(t,e,n){"use strict";e.exports=function(t,e){function n(){return o(this)}function r(t,n){return i(t,n,e,e)}var i=t.reduce,o=t.all;t.prototype.each=function(t){return i(this,t,e,0)._then(n,void 0,void 0,this,void 0)},t.prototype.mapSeries=function(t){return i(this,t,e,e)},t.each=function(t,r){return i(t,r,e,0)._then(n,void 0,void 0,t,void 0)},t.mapSeries=r}},{}],12:[function(t,e,n){"use strict";function r(t,e){function n(r){return this instanceof n?(p(this,"message","string"==typeof r?r:e),p(this,"name",t),void(Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):Error.call(this))):new n(r)}return u(n,Error),n}function i(t){return this instanceof i?(p(this,"name","OperationalError"),p(this,"message",t),this.cause=t,this.isOperational=!0,void(t instanceof Error?(p(this,"message",t.message),p(this,"stack",t.stack)):Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor))):new i(t)}var o,s,a=t("./es5"),c=a.freeze,l=t("./util"),u=l.inherits,p=l.notEnumerableProp,h=r("Warning","warning"),f=r("CancellationError","cancellation error"),_=r("TimeoutError","timeout error"),d=r("AggregateError","aggregate error");try{o=TypeError,s=RangeError}catch(v){o=r("TypeError","type error"),s=r("RangeError","range error")}for(var y="join pop push shift unshift slice filter forEach some every map indexOf lastIndexOf reduce reduceRight sort reverse".split(" "),m=0;m1?t.cancelPromise._reject(e):t.cancelPromise._cancel(),t.cancelPromise=null,!0):!1}function a(){return l.call(this,this.promise._target()._settledValue())}function c(t){return s(this,t)?void 0:(h.e=t,h)}function l(t){var i=this.promise,l=this.handler;if(!this.called){this.called=!0;var u=this.isFinallyHandler()?l.call(i._boundValue()):l.call(i._boundValue(),t);if(u===r)return u;if(void 0!==u){i._setReturnedNonUndefined();var f=n(u,i);if(f instanceof e){if(null!=this.cancelPromise){if(f._isCancelled()){var _=new p("late cancellation observer");return i._attachExtraTrace(_),h.e=_,h}f.isPending()&&f._attachCancellationCallback(new o(this))}return f._then(a,c,void 0,this,void 0)}}}return i.isRejected()?(s(this),h.e=t,h):(s(this),t)}var u=t("./util"),p=e.CancellationError,h=u.errorObj,f=t("./catch_filter")(r);return i.prototype.isFinallyHandler=function(){return 0===this.type},o.prototype._resultCancelled=function(){s(this.finallyHandler)},e.prototype._passThrough=function(t,e,n,r){return"function"!=typeof t?this.then():this._then(n,r,void 0,new i(this,e,t),void 0)},e.prototype.lastly=e.prototype["finally"]=function(t){return this._passThrough(t,0,l,l)},e.prototype.tap=function(t){return this._passThrough(t,1,l)},e.prototype.tapCatch=function(t){var n=arguments.length;if(1===n)return this._passThrough(t,1,void 0,l);var r,i=new Array(n-1),o=0;for(r=0;n-1>r;++r){var s=arguments[r];if(!u.isObject(s))return e.reject(new TypeError("tapCatch statement predicate: expecting an object but got "+u.classString(s)));i[o++]=s}i.length=o;var a=arguments[r];return this._passThrough(f(i,a,this),1,void 0,l)},i}},{"./catch_filter":7,"./util":36}],16:[function(t,e,n){"use strict";e.exports=function(e,n,r,i,o,s){function a(t,n,r){for(var o=0;o0&&"function"==typeof arguments[e]){t=arguments[e];var r}var i=[].slice.call(arguments);t&&i.pop();var r=new n(i).promise();return void 0!==t?r.spread(t):r}}},{"./util":36}],18:[function(t,e,n){"use strict";e.exports=function(e,n,r,i,o,s){function a(t,e,n,r){this.constructor$(t),this._promise._captureStackTrace();var i=l();this._callback=null===i?e:u.domainBind(i,e),this._preservedValues=r===o?new Array(this.length()):null,this._limit=n,this._inFlight=0,this._queue=[],f.invoke(this._asyncInit,this,void 0)}function c(t,n,i,o){if("function"!=typeof n)return r("expecting a function but got "+u.classString(n));var s=0;if(void 0!==i){if("object"!=typeof i||null===i)return e.reject(new TypeError("options argument must be an object but it is "+u.classString(i)));if("number"!=typeof i.concurrency)return e.reject(new TypeError("'concurrency' must be a number but it is "+u.classString(i.concurrency)));s=i.concurrency}return s="number"==typeof s&&isFinite(s)&&s>=1?s:0,new a(t,n,s,o).promise()}var l=e._getDomain,u=t("./util"),p=u.tryCatch,h=u.errorObj,f=e._async;u.inherits(a,n),a.prototype._asyncInit=function(){this._init$(void 0,-2)},a.prototype._init=function(){},a.prototype._promiseFulfilled=function(t,n){var r=this._values,o=this.length(),a=this._preservedValues,c=this._limit;if(0>n){if(n=-1*n-1,r[n]=t,c>=1&&(this._inFlight--,this._drainQueue(),this._isResolved()))return!0}else{if(c>=1&&this._inFlight>=c)return r[n]=t,this._queue.push(n),!1;null!==a&&(a[n]=t);var l=this._promise,u=this._callback,f=l._boundValue();l._pushContext();var _=p(u).call(f,t,n,o),d=l._popContext();if(s.checkForgottenReturns(_,d,null!==a?"Promise.filter":"Promise.map",l),_===h)return this._reject(_.e),!0;var v=i(_,this._promise);if(v instanceof e){v=v._target();var y=v._bitField;if(0===(50397184&y))return c>=1&&this._inFlight++,r[n]=v,v._proxy(this,-1*(n+1)),!1;if(0===(33554432&y))return 0!==(16777216&y)?(this._reject(v._reason()),!0):(this._cancel(),!0);_=v._value()}r[n]=_}var m=++this._totalResolved;return m>=o?(null!==a?this._filter(r,a):this._resolve(r),!0):!1},a.prototype._drainQueue=function(){for(var t=this._queue,e=this._limit,n=this._values;t.length>0&&this._inFlighto;++o)t[o]&&(r[i++]=e[o]);r.length=i,this._resolve(r)},a.prototype.preservedValues=function(){return this._preservedValues},e.prototype.map=function(t,e){return c(this,t,e,null)},e.map=function(t,e,n,r){return c(t,e,n,r)}}},{"./util":36}],19:[function(t,e,n){"use strict";e.exports=function(e,n,r,i,o){var s=t("./util"),a=s.tryCatch;e.method=function(t){if("function"!=typeof t)throw new e.TypeError("expecting a function but got "+s.classString(t));return function(){var r=new e(n);r._captureStackTrace(),r._pushContext();var i=a(t).apply(this,arguments),s=r._popContext();return o.checkForgottenReturns(i,s,"Promise.method",r),r._resolveFromSyncValue(i),r}},e.attempt=e["try"]=function(t){if("function"!=typeof t)return i("expecting a function but got "+s.classString(t));var r=new e(n);r._captureStackTrace(),r._pushContext();var c;if(arguments.length>1){o.deprecated("calling Promise.try with more than 1 argument");var l=arguments[1],u=arguments[2];c=s.isArray(l)?a(t).apply(u,l):a(t).call(u,l)}else c=a(t)();var p=r._popContext();return o.checkForgottenReturns(c,p,"Promise.try",r),r._resolveFromSyncValue(c),r},e.prototype._resolveFromSyncValue=function(t){t===s.errorObj?this._rejectCallback(t.e,!1):this._resolveCallback(t,!0)}}},{"./util":36}],20:[function(t,e,n){"use strict";function r(t){return t instanceof Error&&u.getPrototypeOf(t)===Error.prototype}function i(t){var e;if(r(t)){e=new l(t),e.name=t.name,e.message=t.message,e.stack=t.stack;for(var n=u.keys(t),i=0;i1){var n,r=new Array(e-1),i=0;for(n=0;e-1>n;++n){var o=arguments[n];if(!f.isObject(o))return p("Catch statement predicate: expecting an object but got "+f.classString(o));r[i++]=o}return r.length=i,t=arguments[n],this.then(void 0,P(r,t,this))}return this.then(void 0,t)},i.prototype.reflect=function(){return this._then(u,u,void 0,this,void 0)},i.prototype.then=function(t,e){if(x.warnings()&&arguments.length>0&&"function"!=typeof t&&"function"!=typeof e){var n=".then() only accepts functions but was passed: "+f.classString(t);arguments.length>1&&(n+=", "+f.classString(e)),this._warn(n)}return this._then(t,e,void 0,void 0,void 0)},i.prototype.done=function(t,e){var n=this._then(t,e,void 0,void 0,void 0);n._setIsFinal()},i.prototype.spread=function(t){return"function"!=typeof t?p("expecting a function but got "+f.classString(t)):this.all()._then(t,void 0,void 0,w,void 0)},i.prototype.toJSON=function(){var t={isFulfilled:!1,isRejected:!1,fulfillmentValue:void 0,rejectionReason:void 0};return this.isFulfilled()?(t.fulfillmentValue=this.value(),t.isFulfilled=!0):this.isRejected()&&(t.rejectionReason=this.reason(),t.isRejected=!0),t},i.prototype.all=function(){return arguments.length>0&&this._warn(".all() was passed arguments but it does not take any"),new E(this).promise()},i.prototype.error=function(t){return this.caught(f.originatesFromRejection,t)},i.getNewLibraryCopy=e.exports,i.is=function(t){return t instanceof i},i.fromNode=i.fromCallback=function(t){var e=new i(b);e._captureStackTrace();var n=arguments.length>1?!!Object(arguments[1]).multiArgs:!1,r=O(t)(R(e,n));return r===S&&e._rejectCallback(r.e,!0),e._isFateSealed()||e._setAsyncGuaranteed(),e},i.all=function(t){return new E(t).promise()},i.cast=function(t){var e=j(t);return e instanceof i||(e=new i(b),e._captureStackTrace(),e._setFulfilled(),e._rejectionHandler0=t),e},i.resolve=i.fulfilled=i.cast,i.reject=i.rejected=function(t){var e=new i(b);return e._captureStackTrace(),e._rejectCallback(t,!0),e},i.setScheduler=function(t){if("function"!=typeof t)throw new m("expecting a function but got "+f.classString(t));return v.setScheduler(t)},i.prototype._then=function(t,e,n,r,o){var s=void 0!==o,a=s?o:new i(b),l=this._target(),u=l._bitField;s||(a._propagateFrom(this,3),a._captureStackTrace(),void 0===r&&0!==(2097152&this._bitField)&&(r=0!==(50397184&u)?this._boundValue():l===this?void 0:this._boundTo),this._fireEvent("promiseChained",this,a));var p=c();if(0!==(50397184&u)){var h,_,d=l._settlePromiseCtx;0!==(33554432&u)?(_=l._rejectionHandler0,h=t):0!==(16777216&u)?(_=l._fulfillmentHandler0,h=e,l._unsetRejectionIsUnhandled()):(d=l._settlePromiseLateCancellationObserver,_=new g("late cancellation observer"),l._attachExtraTrace(_),h=e),v.invoke(d,l,{handler:null===p?h:"function"==typeof h&&f.domainBind(p,h),promise:a,receiver:r,value:_})}else l._addCallbacks(t,e,a,r,p);return a},i.prototype._length=function(){return 65535&this._bitField},i.prototype._isFateSealed=function(){return 0!==(117506048&this._bitField)},i.prototype._isFollowing=function(){return 67108864===(67108864&this._bitField)},i.prototype._setLength=function(t){this._bitField=-65536&this._bitField|65535&t},i.prototype._setFulfilled=function(){this._bitField=33554432|this._bitField,this._fireEvent("promiseFulfilled",this)},i.prototype._setRejected=function(){this._bitField=16777216|this._bitField,this._fireEvent("promiseRejected",this)},i.prototype._setFollowing=function(){this._bitField=67108864|this._bitField,this._fireEvent("promiseResolved",this)},i.prototype._setIsFinal=function(){this._bitField=4194304|this._bitField},i.prototype._isFinal=function(){return(4194304&this._bitField)>0},i.prototype._unsetCancelled=function(){this._bitField=-65537&this._bitField},i.prototype._setCancelled=function(){this._bitField=65536|this._bitField,this._fireEvent("promiseCancelled",this)},i.prototype._setWillBeCancelled=function(){this._bitField=8388608|this._bitField},i.prototype._setAsyncGuaranteed=function(){v.hasCustomScheduler()||(this._bitField=134217728|this._bitField)},i.prototype._receiverAt=function(t){var e=0===t?this._receiver0:this[4*t-4+3];return e===h?void 0:void 0===e&&this._isBound()?this._boundValue():e},i.prototype._promiseAt=function(t){return this[4*t-4+2]},i.prototype._fulfillmentHandlerAt=function(t){return this[4*t-4+0]},i.prototype._rejectionHandlerAt=function(t){return this[4*t-4+1]},i.prototype._boundValue=function(){},i.prototype._migrateCallback0=function(t){var e=(t._bitField,t._fulfillmentHandler0),n=t._rejectionHandler0,r=t._promise0,i=t._receiverAt(0);void 0===i&&(i=h),this._addCallbacks(e,n,r,i,null)},i.prototype._migrateCallbackAt=function(t,e){var n=t._fulfillmentHandlerAt(e),r=t._rejectionHandlerAt(e),i=t._promiseAt(e),o=t._receiverAt(e);void 0===o&&(o=h),this._addCallbacks(n,r,i,o,null)},i.prototype._addCallbacks=function(t,e,n,r,i){var o=this._length();if(o>=65531&&(o=0,this._setLength(0)),0===o)this._promise0=n,this._receiver0=r,"function"==typeof t&&(this._fulfillmentHandler0=null===i?t:f.domainBind(i,t)),"function"==typeof e&&(this._rejectionHandler0=null===i?e:f.domainBind(i,e));else{var s=4*o-4;this[s+2]=n,this[s+3]=r,"function"==typeof t&&(this[s+0]=null===i?t:f.domainBind(i,t)),"function"==typeof e&&(this[s+1]=null===i?e:f.domainBind(i,e))}return this._setLength(o+1),o},i.prototype._proxy=function(t,e){this._addCallbacks(void 0,void 0,e,t,null)},i.prototype._resolveCallback=function(t,e){if(0===(117506048&this._bitField)){if(t===this)return this._rejectCallback(l(),!1);var n=j(t,this);if(!(n instanceof i))return this._fulfill(t);e&&this._propagateFrom(n,2);var r=n._target();if(r===this)return void this._reject(l());var o=r._bitField;if(0===(50397184&o)){var s=this._length();s>0&&r._migrateCallback0(this);for(var a=1;s>a;++a)r._migrateCallbackAt(this,a);this._setFollowing(),this._setLength(0),this._setFollowee(r)}else if(0!==(33554432&o))this._fulfill(r._value());else if(0!==(16777216&o))this._reject(r._reason());else{var c=new g("late cancellation observer");r._attachExtraTrace(c),this._reject(c)}}},i.prototype._rejectCallback=function(t,e,n){var r=f.ensureErrorObject(t),i=r===t;if(!i&&!n&&x.warnings()){var o="a promise was rejected with a non-error: "+f.classString(t);this._warn(o,!0)}this._attachExtraTrace(r,e?i:!1),this._reject(t)},i.prototype._resolveFromExecutor=function(t){if(t!==b){var e=this;this._captureStackTrace(),this._pushContext();var n=!0,r=this._execute(t,function(t){e._resolveCallback(t)},function(t){e._rejectCallback(t,n)});n=!1,this._popContext(),void 0!==r&&e._rejectCallback(r,!0)}},i.prototype._settlePromiseFromHandler=function(t,e,n,r){var i=r._bitField;if(0===(65536&i)){r._pushContext();var o;e===w?n&&"number"==typeof n.length?o=O(t).apply(this._boundValue(),n):(o=S,o.e=new m("cannot .spread() a non-array: "+f.classString(n))):o=O(t).call(e,n);var s=r._popContext();i=r._bitField,0===(65536&i)&&(o===C?r._reject(n):o===S?r._rejectCallback(o.e,!1):(x.checkForgottenReturns(o,s,"",r,this),r._resolveCallback(o)))}},i.prototype._target=function(){for(var t=this;t._isFollowing();)t=t._followee();return t},i.prototype._followee=function(){return this._rejectionHandler0},i.prototype._setFollowee=function(t){this._rejectionHandler0=t},i.prototype._settlePromise=function(t,e,r,o){var s=t instanceof i,a=this._bitField,c=0!==(134217728&a);0!==(65536&a)?(s&&t._invokeInternalOnCancel(),r instanceof T&&r.isFinallyHandler()?(r.cancelPromise=t,O(e).call(r,o)===S&&t._reject(S.e)):e===u?t._fulfill(u.call(r)):r instanceof n?r._promiseCancelled(t):s||t instanceof E?t._cancel():r.cancel()):"function"==typeof e?s?(c&&t._setAsyncGuaranteed(),this._settlePromiseFromHandler(e,r,o,t)):e.call(r,o,t):r instanceof n?r._isResolved()||(0!==(33554432&a)?r._promiseFulfilled(o,t):r._promiseRejected(o,t)):s&&(c&&t._setAsyncGuaranteed(),0!==(33554432&a)?t._fulfill(o):t._reject(o))},i.prototype._settlePromiseLateCancellationObserver=function(t){var e=t.handler,n=t.promise,r=t.receiver,o=t.value;"function"==typeof e?n instanceof i?this._settlePromiseFromHandler(e,r,o,n):e.call(r,o,n):n instanceof i&&n._reject(o)},i.prototype._settlePromiseCtx=function(t){this._settlePromise(t.promise,t.handler,t.receiver,t.value)},i.prototype._settlePromise0=function(t,e,n){var r=this._promise0,i=this._receiverAt(0);this._promise0=void 0,this._receiver0=void 0,this._settlePromise(r,t,i,e)},i.prototype._clearCallbackDataAtIndex=function(t){var e=4*t-4;this[e+2]=this[e+3]=this[e+0]=this[e+1]=void 0},i.prototype._fulfill=function(t){var e=this._bitField;if(!((117506048&e)>>>16)){if(t===this){var n=l();return this._attachExtraTrace(n),this._reject(n)}this._setFulfilled(),this._rejectionHandler0=t,(65535&e)>0&&(0!==(134217728&e)?this._settlePromises():v.settlePromises(this))}},i.prototype._reject=function(t){var e=this._bitField;if(!((117506048&e)>>>16))return this._setRejected(),this._fulfillmentHandler0=t,this._isFinal()?v.fatalError(t,f.isNode):void((65535&e)>0?v.settlePromises(this):this._ensurePossibleRejectionHandled())},i.prototype._fulfillPromises=function(t,e){for(var n=1;t>n;n++){var r=this._fulfillmentHandlerAt(n),i=this._promiseAt(n),o=this._receiverAt(n);this._clearCallbackDataAtIndex(n),this._settlePromise(i,r,o,e)}},i.prototype._rejectPromises=function(t,e){for(var n=1;t>n;n++){var r=this._rejectionHandlerAt(n),i=this._promiseAt(n),o=this._receiverAt(n);this._clearCallbackDataAtIndex(n),this._settlePromise(i,r,o,e)}},i.prototype._settlePromises=function(){var t=this._bitField,e=65535&t;if(e>0){if(0!==(16842752&t)){var n=this._fulfillmentHandler0;this._settlePromise0(this._rejectionHandler0,n,t),this._rejectPromises(e,n)}else{var r=this._rejectionHandler0;this._settlePromise0(this._fulfillmentHandler0,r,t),this._fulfillPromises(e,r)}this._setLength(0)}this._clearCancellationData()},i.prototype._settledValue=function(){var t=this._bitField;return 0!==(33554432&t)?this._rejectionHandler0:0!==(16777216&t)?this._fulfillmentHandler0:void 0},i.defer=i.pending=function(){x.deprecated("Promise.defer","new Promise");var t=new i(b);return{promise:t,resolve:o,reject:s}},f.notEnumerableProp(i,"_makeSelfResolutionError",l),t("./method")(i,b,j,p,x),t("./bind")(i,b,j,x),t("./cancel")(i,E,p,x),t("./direct_resolve")(i),t("./synchronous_inspection")(i),t("./join")(i,E,j,b,v,c),i.Promise=i,i.version="3.5.1",t("./map.js")(i,E,p,j,b,x),t("./call_get.js")(i),t("./using.js")(i,p,j,F,b,x),t("./timers.js")(i,b,x),t("./generators.js")(i,p,b,j,n,x),t("./nodeify.js")(i),t("./promisify.js")(i,b),t("./props.js")(i,E,j,p),t("./race.js")(i,b,j,p),t("./reduce.js")(i,E,p,j,b,x),t("./settle.js")(i,E,x),t("./some.js")(i,E,p),t("./filter.js")(i,b),t("./each.js")(i,b),t("./any.js")(i),f.toFastProperties(i),f.toFastProperties(i.prototype),a({a:1}),a({b:2}),a({c:3}),a(1),a(function(){}),a(void 0),a(!1),a(new i(b)),x.setBounds(d.firstLineError,f.lastLineError),i}},{"./any.js":1,"./async":2,"./bind":3,"./call_get.js":5,"./cancel":6,"./catch_filter":7,"./context":8,"./debuggability":9,"./direct_resolve":10,"./each.js":11,"./errors":12,"./es5":13,"./filter.js":14,"./finally":15,"./generators.js":16,"./join":17,"./map.js":18,"./method":19,"./nodeback":20,"./nodeify.js":21,"./promise_array":23,"./promisify.js":24,"./props.js":25,"./race.js":27,"./reduce.js":28,"./settle.js":30,"./some.js":31,"./synchronous_inspection":32,"./thenables":33,"./timers.js":34,"./using.js":35,"./util":36}],23:[function(t,e,n){"use strict";e.exports=function(e,n,r,i,o){function s(t){switch(t){case-2:return[];case-3:return{};case-6:return new Map}}function a(t){var r=this._promise=new e(n);t instanceof e&&r._propagateFrom(t,3),r._setOnCancel(this),this._values=t,this._length=0,this._totalResolved=0,this._init(void 0,-2)}var c=t("./util");c.isArray;return c.inherits(a,o),a.prototype.length=function(){return this._length},a.prototype.promise=function(){return this._promise},a.prototype._init=function l(t,n){var o=r(this._values,this._promise);if(o instanceof e){o=o._target();var a=o._bitField;if(this._values=o,0===(50397184&a))return this._promise._setAsyncGuaranteed(),o._then(l,this._reject,void 0,this,n);if(0===(33554432&a))return 0!==(16777216&a)?this._reject(o._reason()):this._cancel();o=o._value()}if(o=c.asArray(o),null===o){var u=i("expecting an array or an iterable object but got "+c.classString(o)).reason();return void this._promise._rejectCallback(u,!1)}return 0===o.length?void(-5===n?this._resolveEmptyArray():this._resolve(s(n))):void this._iterate(o)},a.prototype._iterate=function(t){var n=this.getActualLength(t.length);this._length=n,this._values=this.shouldCopyValues()?new Array(n):this._values;for(var i=this._promise,o=!1,s=null,a=0;n>a;++a){var c=r(t[a],i);c instanceof e?(c=c._target(),s=c._bitField):s=null,o?null!==s&&c.suppressUnhandledRejections():null!==s?0===(50397184&s)?(c._proxy(this,a),this._values[a]=c):o=0!==(33554432&s)?this._promiseFulfilled(c._value(),a):0!==(16777216&s)?this._promiseRejected(c._reason(),a):this._promiseCancelled(a):o=this._promiseFulfilled(c,a)}o||i._setAsyncGuaranteed()},a.prototype._isResolved=function(){return null===this._values},a.prototype._resolve=function(t){this._values=null,this._promise._fulfill(t)},a.prototype._cancel=function(){!this._isResolved()&&this._promise._isCancellable()&&(this._values=null,this._promise._cancel())},a.prototype._reject=function(t){this._values=null,this._promise._rejectCallback(t,!1)},a.prototype._promiseFulfilled=function(t,e){this._values[e]=t;var n=++this._totalResolved;return n>=this._length?(this._resolve(this._values),!0):!1},a.prototype._promiseCancelled=function(){return this._cancel(),!0},a.prototype._promiseRejected=function(t){return this._totalResolved++,this._reject(t),!0},a.prototype._resultCancelled=function(){if(!this._isResolved()){var t=this._values;if(this._cancel(),t instanceof e)t.cancel();else for(var n=0;nc;c+=2){var u=s[c],p=s[c+1],_=u+e;if(r===k)t[_]=k(u,h,u,p,e,i);else{var d=r(p,function(){return k(u,h,u,p,e,i)});f.notEnumerableProp(d,"__isPromisified__",!0),t[_]=d}}return f.toFastProperties(t),t}function u(t,e,n){return k(t,e,void 0,t,null,n)}var p,h={},f=t("./util"),_=t("./nodeback"),d=f.withAppended,v=f.maybeWrapAsError,y=f.canEvaluate,m=t("./errors").TypeError,g="Async",b={__isPromisified__:!0},w=["arity","length","name","arguments","caller","callee","prototype","__isPromisified__"],C=new RegExp("^(?:"+w.join("|")+")$"),j=function(t){return f.isIdentifier(t)&&"_"!==t.charAt(0)&&"constructor"!==t},E=function(t){return t.replace(/([$])/,"\\$")},k=y?p:c;e.promisify=function(t,e){if("function"!=typeof t)throw new m("expecting a function but got "+f.classString(t));if(i(t))return t;e=Object(e);var n=void 0===e.context?h:e.context,o=!!e.multiArgs,s=u(t,n,o);return f.copyDescriptors(t,s,r),s},e.promisifyAll=function(t,e){if("function"!=typeof t&&"object"!=typeof t)throw new m("the target of promisifyAll must be an object or a function\n\n See http://goo.gl/MqrFmX\n");e=Object(e);var n=!!e.multiArgs,r=e.suffix;"string"!=typeof r&&(r=g);var i=e.filter;"function"!=typeof i&&(i=j);var o=e.promisifier;if("function"!=typeof o&&(o=k),!f.isIdentifier(r))throw new RangeError("suffix must be a valid identifier\n\n See http://goo.gl/MqrFmX\n");for(var s=f.inheritedDataKeys(t),a=0;ao;++o){var s=r[o];e[o]=t[s],e[o+i]=s}}this.constructor$(e),this._isMap=n,this._init$(void 0,n?-6:-3)}function s(t){var n,s=r(t);return l(s)?(n=s instanceof e?s._then(e.props,void 0,void 0,void 0,void 0):new o(s).promise(),s instanceof e&&n._propagateFrom(s,2),n):i("cannot await properties of a non-object\n\n See http://goo.gl/MqrFmX\n")}var a,c=t("./util"),l=c.isObject,u=t("./es5");"function"==typeof Map&&(a=Map);var p=function(){function t(t,r){this[e]=t,this[e+n]=r,e++}var e=0,n=0;return function(r){n=r.size,e=0;var i=new Array(2*r.size);return r.forEach(t,i),i}}(),h=function(t){for(var e=new a,n=t.length/2|0,r=0;n>r;++r){var i=t[n+r],o=t[r];e.set(i,o)}return e};c.inherits(o,n),o.prototype._init=function(){},o.prototype._promiseFulfilled=function(t,e){this._values[e]=t;var n=++this._totalResolved;if(n>=this._length){var r;if(this._isMap)r=h(this._values);else{r={};for(var i=this.length(),o=0,s=this.length();s>o;++o)r[this._values[o+i]]=this._values[o]}return this._resolve(r),!0}return!1},o.prototype.shouldCopyValues=function(){return!1},o.prototype.getActualLength=function(t){return t>>1},e.prototype.props=function(){return s(this)},e.props=function(t){return s(t)}}},{"./es5":13,"./util":36}],26:[function(t,e,n){"use strict";function r(t,e,n,r,i){for(var o=0;i>o;++o)n[o+r]=t[o+e],t[o+e]=void 0}function i(t){this._capacity=t,this._length=0,this._front=0}i.prototype._willBeOverCapacity=function(t){return this._capacityh;++h){var _=t[h];(void 0!==_||h in t)&&e.cast(_)._then(u,p,void 0,l,null)}return l}var s=t("./util"),a=function(t){return t.then(function(e){return o(e,t)})};e.race=function(t){return o(t,void 0)},e.prototype.race=function(){return o(this,void 0)}}},{"./util":36}],28:[function(t,e,n){"use strict";e.exports=function(e,n,r,i,o,s){function a(t,n,r,i){this.constructor$(t);var s=h();this._fn=null===s?n:f.domainBind(s,n),void 0!==r&&(r=e.resolve(r),r._attachCancellationCallback(this)),this._initialValue=r,this._currentCancellable=null,i===o?this._eachValues=Array(this._length):0===i?this._eachValues=null:this._eachValues=void 0,this._promise._captureStackTrace(),this._init$(void 0,-5)}function c(t,e){this.isFulfilled()?e._resolve(t):e._reject(t)}function l(t,e,n,i){if("function"!=typeof e)return r("expecting a function but got "+f.classString(e));var o=new a(t,e,n,i);return o.promise()}function u(t){this.accum=t,this.array._gotAccum(t);var n=i(this.value,this.array._promise);return n instanceof e?(this.array._currentCancellable=n,n._then(p,void 0,void 0,this,void 0)):p.call(this,n)}function p(t){var n=this.array,r=n._promise,i=_(n._fn);r._pushContext();var o;o=void 0!==n._eachValues?i.call(r._boundValue(),t,this.index,this.length):i.call(r._boundValue(),this.accum,t,this.index,this.length),o instanceof e&&(n._currentCancellable=o);var a=r._popContext();return s.checkForgottenReturns(o,a,void 0!==n._eachValues?"Promise.each":"Promise.reduce",r),o}var h=e._getDomain,f=t("./util"),_=f.tryCatch;f.inherits(a,n),a.prototype._gotAccum=function(t){void 0!==this._eachValues&&null!==this._eachValues&&t!==o&&this._eachValues.push(t)},a.prototype._eachComplete=function(t){return null!==this._eachValues&&this._eachValues.push(t),this._eachValues},a.prototype._init=function(){},a.prototype._resolveEmptyArray=function(){this._resolve(void 0!==this._eachValues?this._eachValues:this._initialValue)},a.prototype.shouldCopyValues=function(){return!1},a.prototype._resolve=function(t){this._promise._resolveCallback(t),this._values=null},a.prototype._resultCancelled=function(t){return t===this._initialValue?this._cancel():void(this._isResolved()||(this._resultCancelled$(),this._currentCancellable instanceof e&&this._currentCancellable.cancel(),this._initialValue instanceof e&&this._initialValue.cancel()))},a.prototype._iterate=function(t){this._values=t;var n,r,i=t.length;if(void 0!==this._initialValue?(n=this._initialValue,r=0):(n=e.resolve(t[0]),r=1),this._currentCancellable=n,!n.isRejected())for(;i>r;++r){var o={accum:null,value:t[r],index:r,length:i,array:this};n=n._then(u,void 0,void 0,o,void 0)}void 0!==this._eachValues&&(n=n._then(this._eachComplete,void 0,void 0,this,void 0)),n._then(c,c,void 0,n,this)},e.prototype.reduce=function(t,e){return l(this,t,e,null)},e.reduce=function(t,e,n,r){return l(t,e,n,r)}}},{"./util":36}],29:[function(t,e,n){"use strict";var r,i=t("./util"),o=function(){throw new Error("No async scheduler available\n\n See http://goo.gl/MqrFmX\n")},s=i.getNativePromise();if(i.isNode&&"undefined"==typeof MutationObserver){var a=global.setImmediate,c=process.nextTick;r=i.isRecentNode?function(t){a.call(global,t)}:function(t){c.call(process,t)}}else if("function"==typeof s&&"function"==typeof s.resolve){var l=s.resolve();r=function(t){l.then(t)}}else r="undefined"==typeof MutationObserver||"undefined"!=typeof window&&window.navigator&&(window.navigator.standalone||window.cordova)?"undefined"!=typeof setImmediate?function(t){setImmediate(t)}:"undefined"!=typeof setTimeout?function(t){setTimeout(t,0)}:o:function(){var t=document.createElement("div"),e={attributes:!0},n=!1,r=document.createElement("div"),i=new MutationObserver(function(){t.classList.toggle("foo"),n=!1});i.observe(r,e);var o=function(){n||(n=!0,r.classList.toggle("foo"))};return function(n){var r=new MutationObserver(function(){r.disconnect(),n()});r.observe(t,e),o()}}();e.exports=r},{"./util":36}],30:[function(t,e,n){"use strict";e.exports=function(e,n,r){function i(t){this.constructor$(t)}var o=e.PromiseInspection,s=t("./util");s.inherits(i,n),i.prototype._promiseResolved=function(t,e){this._values[t]=e;var n=++this._totalResolved;return n>=this._length?(this._resolve(this._values),!0):!1},i.prototype._promiseFulfilled=function(t,e){var n=new o;return n._bitField=33554432,n._settledValueField=t,this._promiseResolved(e,n)},i.prototype._promiseRejected=function(t,e){var n=new o;return n._bitField=16777216,n._settledValueField=t,this._promiseResolved(e,n)},e.settle=function(t){return r.deprecated(".settle()",".reflect()"),new i(t).promise()},e.prototype.settle=function(){return e.settle(this)}}},{"./util":36}],31:[function(t,e,n){"use strict";e.exports=function(e,n,r){function i(t){this.constructor$(t), -this._howMany=0,this._unwrap=!1,this._initialized=!1}function o(t,e){if((0|e)!==e||0>e)return r("expecting a positive integer\n\n See http://goo.gl/MqrFmX\n");var n=new i(t),o=n.promise();return n.setHowMany(e),n.init(),o}var s=t("./util"),a=t("./errors").RangeError,c=t("./errors").AggregateError,l=s.isArray,u={};s.inherits(i,n),i.prototype._init=function(){if(this._initialized){if(0===this._howMany)return void this._resolve([]);this._init$(void 0,-5);var t=l(this._values);!this._isResolved()&&t&&this._howMany>this._canPossiblyFulfill()&&this._reject(this._getRangeError(this.length()))}},i.prototype.init=function(){this._initialized=!0,this._init()},i.prototype.setUnwrap=function(){this._unwrap=!0},i.prototype.howMany=function(){return this._howMany},i.prototype.setHowMany=function(t){this._howMany=t},i.prototype._promiseFulfilled=function(t){return this._addFulfilled(t),this._fulfilled()===this.howMany()?(this._values.length=this.howMany(),1===this.howMany()&&this._unwrap?this._resolve(this._values[0]):this._resolve(this._values),!0):!1},i.prototype._promiseRejected=function(t){return this._addRejected(t),this._checkOutcome()},i.prototype._promiseCancelled=function(){return this._values instanceof e||null==this._values?this._cancel():(this._addRejected(u),this._checkOutcome())},i.prototype._checkOutcome=function(){if(this.howMany()>this._canPossiblyFulfill()){for(var t=new c,e=this.length();e0?this._reject(t):this._cancel(),!0}return!1},i.prototype._fulfilled=function(){return this._totalResolved},i.prototype._rejected=function(){return this._values.length-this.length()},i.prototype._addRejected=function(t){this._values.push(t)},i.prototype._addFulfilled=function(t){this._values[this._totalResolved++]=t},i.prototype._canPossiblyFulfill=function(){return this.length()-this._rejected()},i.prototype._getRangeError=function(t){var e="Input array must contain at least "+this._howMany+" items but contains only "+t+" items";return new a(e)},i.prototype._resolveEmptyArray=function(){this._reject(this._getRangeError(0))},e.some=function(t,e){return o(t,e)},e.prototype.some=function(t){return o(this,t)},e._SomePromiseArray=i}},{"./errors":12,"./util":36}],32:[function(t,e,n){"use strict";e.exports=function(t){function e(t){void 0!==t?(t=t._target(),this._bitField=t._bitField,this._settledValueField=t._isFateSealed()?t._settledValue():void 0):(this._bitField=0,this._settledValueField=void 0)}e.prototype._settledValue=function(){return this._settledValueField};var n=e.prototype.value=function(){if(!this.isFulfilled())throw new TypeError("cannot get fulfillment value of a non-fulfilled promise\n\n See http://goo.gl/MqrFmX\n");return this._settledValue()},r=e.prototype.error=e.prototype.reason=function(){if(!this.isRejected())throw new TypeError("cannot get rejection reason of a non-rejected promise\n\n See http://goo.gl/MqrFmX\n");return this._settledValue()},i=e.prototype.isFulfilled=function(){return 0!==(33554432&this._bitField)},o=e.prototype.isRejected=function(){return 0!==(16777216&this._bitField)},s=e.prototype.isPending=function(){return 0===(50397184&this._bitField)},a=e.prototype.isResolved=function(){return 0!==(50331648&this._bitField)};e.prototype.isCancelled=function(){return 0!==(8454144&this._bitField)},t.prototype.__isCancelled=function(){return 65536===(65536&this._bitField)},t.prototype._isCancelled=function(){return this._target().__isCancelled()},t.prototype.isCancelled=function(){return 0!==(8454144&this._target()._bitField)},t.prototype.isPending=function(){return s.call(this._target())},t.prototype.isRejected=function(){return o.call(this._target())},t.prototype.isFulfilled=function(){return i.call(this._target())},t.prototype.isResolved=function(){return a.call(this._target())},t.prototype.value=function(){return n.call(this._target())},t.prototype.reason=function(){var t=this._target();return t._unsetRejectionIsUnhandled(),r.call(t)},t.prototype._value=function(){return this._settledValue()},t.prototype._reason=function(){return this._unsetRejectionIsUnhandled(),this._settledValue()},t.PromiseInspection=e}},{}],33:[function(t,e,n){"use strict";e.exports=function(e,n){function r(t,r){if(u(t)){if(t instanceof e)return t;var i=o(t);if(i===l){r&&r._pushContext();var c=e.reject(i.e);return r&&r._popContext(),c}if("function"==typeof i){if(s(t)){var c=new e(n);return t._then(c._fulfill,c._reject,void 0,c,null),c}return a(t,i,r)}}return t}function i(t){return t.then}function o(t){try{return i(t)}catch(e){return l.e=e,l}}function s(t){try{return p.call(t,"_promise0")}catch(e){return!1}}function a(t,r,i){function o(t){a&&(a._resolveCallback(t),a=null)}function s(t){a&&(a._rejectCallback(t,p,!0),a=null)}var a=new e(n),u=a;i&&i._pushContext(),a._captureStackTrace(),i&&i._popContext();var p=!0,h=c.tryCatch(r).call(t,o,s);return p=!1,a&&h===l&&(a._rejectCallback(h.e,!0,!0),a=null),u}var c=t("./util"),l=c.errorObj,u=c.isObject,p={}.hasOwnProperty;return r}},{"./util":36}],34:[function(t,e,n){"use strict";e.exports=function(e,n,r){function i(t){this.handle=t}function o(t){return clearTimeout(this.handle),t}function s(t){throw clearTimeout(this.handle),t}var a=t("./util"),c=e.TimeoutError;i.prototype._resultCancelled=function(){clearTimeout(this.handle)};var l=function(t){return u(+this).thenReturn(t)},u=e.delay=function(t,o){var s,a;return void 0!==o?(s=e.resolve(o)._then(l,null,null,t,void 0),r.cancellation()&&o instanceof e&&s._setOnCancel(o)):(s=new e(n),a=setTimeout(function(){s._fulfill()},+t),r.cancellation()&&s._setOnCancel(new i(a)),s._captureStackTrace()),s._setAsyncGuaranteed(),s};e.prototype.delay=function(t){return u(t,this)};var p=function(t,e,n){var r;r="string"!=typeof e?e instanceof Error?e:new c("operation timed out"):new c(e),a.markAsOriginatingFromRejection(r),t._attachExtraTrace(r),t._reject(r),null!=n&&n.cancel()};e.prototype.timeout=function(t,e){t=+t;var n,a,c=new i(setTimeout(function(){n.isPending()&&p(n,e,a)},t));return r.cancellation()?(a=this.then(),n=a._then(o,s,void 0,c,void 0),n._setOnCancel(c)):n=this._then(o,s,void 0,c,void 0),n}}},{"./util":36}],35:[function(t,e,n){"use strict";e.exports=function(e,n,r,i,o,s){function a(t){setTimeout(function(){throw t},0)}function c(t){var e=r(t);return e!==t&&"function"==typeof t._isDisposable&&"function"==typeof t._getDisposer&&t._isDisposable()&&e._setDisposable(t._getDisposer()),e}function l(t,n){function i(){if(s>=l)return u._fulfill();var o=c(t[s++]);if(o instanceof e&&o._isDisposable()){try{o=r(o._getDisposer().tryDispose(n),t.promise)}catch(p){return a(p)}if(o instanceof e)return o._then(i,a,null,null,null)}i()}var s=0,l=t.length,u=new e(o);return i(),u}function u(t,e,n){this._data=t,this._promise=e,this._context=n}function p(t,e,n){this.constructor$(t,e,n)}function h(t){return u.isDisposer(t)?(this.resources[this.index]._setDisposable(t),t.promise()):t}function f(t){this.length=t,this.promise=null,this[t-1]=null}var _=t("./util"),d=t("./errors").TypeError,v=t("./util").inherits,y=_.errorObj,m=_.tryCatch,g={};u.prototype.data=function(){return this._data},u.prototype.promise=function(){return this._promise},u.prototype.resource=function(){return this.promise().isFulfilled()?this.promise().value():g},u.prototype.tryDispose=function(t){var e=this.resource(),n=this._context;void 0!==n&&n._pushContext();var r=e!==g?this.doDispose(e,t):null;return void 0!==n&&n._popContext(),this._promise._unsetDisposable(),this._data=null,r},u.isDisposer=function(t){return null!=t&&"function"==typeof t.resource&&"function"==typeof t.tryDispose},v(p,u),p.prototype.doDispose=function(t,e){var n=this.data();return n.call(t,t,e)},f.prototype._resultCancelled=function(){for(var t=this.length,n=0;t>n;++n){var r=this[n];r instanceof e&&r.cancel()}},e.using=function(){var t=arguments.length;if(2>t)return n("you must pass at least 2 arguments to Promise.using");var i=arguments[t-1];if("function"!=typeof i)return n("expecting a function but got "+_.classString(i));var o,a=!0;2===t&&Array.isArray(arguments[0])?(o=arguments[0],t=o.length,a=!1):(o=arguments,t--);for(var c=new f(t),p=0;t>p;++p){var d=o[p];if(u.isDisposer(d)){var v=d;d=d.promise(),d._setDisposable(v)}else{var g=r(d);g instanceof e&&(d=g._then(h,null,null,{resources:c,index:p},void 0))}c[p]=d}for(var b=new Array(c.length),p=0;p0},e.prototype._getDisposer=function(){return this._disposer},e.prototype._unsetDisposable=function(){this._bitField=-131073&this._bitField,this._disposer=void 0},e.prototype.disposer=function(t){if("function"==typeof t)return new p(t,this,i());throw new d}}},{"./errors":12,"./util":36}],36:[function(t,e,n){"use strict";function r(){try{var t=P;return P=null,t.apply(this,arguments)}catch(e){return T.e=e,T}}function i(t){return P=t,r}function o(t){return null==t||t===!0||t===!1||"string"==typeof t||"number"==typeof t}function s(t){return"function"==typeof t||"object"==typeof t&&null!==t}function a(t){return o(t)?new Error(v(t)):t}function c(t,e){var n,r=t.length,i=new Array(r+1);for(n=0;r>n;++n)i[n]=t[n];return i[n]=e,i}function l(t,e,n){if(!F.isES5)return{}.hasOwnProperty.call(t,e)?t[e]:void 0;var r=Object.getOwnPropertyDescriptor(t,e);return null!=r?null==r.get&&null==r.set?r.value:n:void 0}function u(t,e,n){if(o(t))return t;var r={value:n,configurable:!0,enumerable:!1,writable:!0};return F.defineProperty(t,e,r),t}function p(t){throw t}function h(t){try{if("function"==typeof t){var e=F.names(t.prototype),n=F.isES5&&e.length>1,r=e.length>0&&!(1===e.length&&"constructor"===e[0]),i=A.test(t+"")&&F.names(t).length>0;if(n||r||i)return!0}return!1}catch(o){return!1}}function f(t){function e(){}e.prototype=t;for(var n=8;n--;)new e;return t}function _(t){return D.test(t)}function d(t,e,n){for(var r=new Array(t),i=0;t>i;++i)r[i]=e+i+n;return r}function v(t){try{return t+""}catch(e){return"[no string representation]"}}function y(t){return t instanceof Error||null!==t&&"object"==typeof t&&"string"==typeof t.message&&"string"==typeof t.name}function m(t){try{u(t,"isOperational",!0)}catch(e){}}function g(t){return null==t?!1:t instanceof Error.__BluebirdErrorTypes__.OperationalError||t.isOperational===!0}function b(t){return y(t)&&F.propertyIsWritable(t,"stack")}function w(t){return{}.toString.call(t)}function C(t,e,n){for(var r=F.names(t),i=0;i10||t[0]>0}(),B.isNode&&B.toFastProperties(process);try{throw new Error}catch(U){B.lastLineError=U}e.exports=B},{"./es5":13}]},{},[4])(4)}),"undefined"!=typeof window&&null!==window?window.P=window.Promise:"undefined"!=typeof self&&null!==self&&(self.P=self.Promise); \ No newline at end of file diff --git a/publi/node_modules/bluebird/js/release/any.js b/publi/node_modules/bluebird/js/release/any.js deleted file mode 100644 index 05a6228..0000000 --- a/publi/node_modules/bluebird/js/release/any.js +++ /dev/null @@ -1,21 +0,0 @@ -"use strict"; -module.exports = function(Promise) { -var SomePromiseArray = Promise._SomePromiseArray; -function any(promises) { - var ret = new SomePromiseArray(promises); - var promise = ret.promise(); - ret.setHowMany(1); - ret.setUnwrap(); - ret.init(); - return promise; -} - -Promise.any = function (promises) { - return any(promises); -}; - -Promise.prototype.any = function () { - return any(this); -}; - -}; diff --git a/publi/node_modules/bluebird/js/release/assert.js b/publi/node_modules/bluebird/js/release/assert.js deleted file mode 100644 index 4518231..0000000 --- a/publi/node_modules/bluebird/js/release/assert.js +++ /dev/null @@ -1,55 +0,0 @@ -"use strict"; -module.exports = (function(){ -var AssertionError = (function() { - function AssertionError(a) { - this.constructor$(a); - this.message = a; - this.name = "AssertionError"; - } - AssertionError.prototype = new Error(); - AssertionError.prototype.constructor = AssertionError; - AssertionError.prototype.constructor$ = Error; - return AssertionError; -})(); - -function getParams(args) { - var params = []; - for (var i = 0; i < args.length; ++i) params.push("arg" + i); - return params; -} - -function nativeAssert(callName, args, expect) { - try { - var params = getParams(args); - var constructorArgs = params; - constructorArgs.push("return " + - callName + "("+ params.join(",") + ");"); - var fn = Function.apply(null, constructorArgs); - return fn.apply(null, args); - } catch (e) { - if (!(e instanceof SyntaxError)) { - throw e; - } else { - return expect; - } - } -} - -return function assert(boolExpr, message) { - if (boolExpr === true) return; - - if (typeof boolExpr === "string" && - boolExpr.charAt(0) === "%") { - var nativeCallName = boolExpr; - var $_len = arguments.length;var args = new Array(Math.max($_len - 2, 0)); for(var $_i = 2; $_i < $_len; ++$_i) {args[$_i - 2] = arguments[$_i];}; - if (nativeAssert(nativeCallName, args, message) === message) return; - message = (nativeCallName + " !== " + message); - } - - var ret = new AssertionError(message); - if (Error.captureStackTrace) { - Error.captureStackTrace(ret, assert); - } - throw ret; -}; -})(); diff --git a/publi/node_modules/bluebird/js/release/async.js b/publi/node_modules/bluebird/js/release/async.js deleted file mode 100644 index 41f6655..0000000 --- a/publi/node_modules/bluebird/js/release/async.js +++ /dev/null @@ -1,161 +0,0 @@ -"use strict"; -var firstLineError; -try {throw new Error(); } catch (e) {firstLineError = e;} -var schedule = require("./schedule"); -var Queue = require("./queue"); -var util = require("./util"); - -function Async() { - this._customScheduler = false; - this._isTickUsed = false; - this._lateQueue = new Queue(16); - this._normalQueue = new Queue(16); - this._haveDrainedQueues = false; - this._trampolineEnabled = true; - var self = this; - this.drainQueues = function () { - self._drainQueues(); - }; - this._schedule = schedule; -} - -Async.prototype.setScheduler = function(fn) { - var prev = this._schedule; - this._schedule = fn; - this._customScheduler = true; - return prev; -}; - -Async.prototype.hasCustomScheduler = function() { - return this._customScheduler; -}; - -Async.prototype.enableTrampoline = function() { - this._trampolineEnabled = true; -}; - -Async.prototype.disableTrampolineIfNecessary = function() { - if (util.hasDevTools) { - this._trampolineEnabled = false; - } -}; - -Async.prototype.haveItemsQueued = function () { - return this._isTickUsed || this._haveDrainedQueues; -}; - - -Async.prototype.fatalError = function(e, isNode) { - if (isNode) { - process.stderr.write("Fatal " + (e instanceof Error ? e.stack : e) + - "\n"); - process.exit(2); - } else { - this.throwLater(e); - } -}; - -Async.prototype.throwLater = function(fn, arg) { - if (arguments.length === 1) { - arg = fn; - fn = function () { throw arg; }; - } - if (typeof setTimeout !== "undefined") { - setTimeout(function() { - fn(arg); - }, 0); - } else try { - this._schedule(function() { - fn(arg); - }); - } catch (e) { - throw new Error("No async scheduler available\u000a\u000a See http://goo.gl/MqrFmX\u000a"); - } -}; - -function AsyncInvokeLater(fn, receiver, arg) { - this._lateQueue.push(fn, receiver, arg); - this._queueTick(); -} - -function AsyncInvoke(fn, receiver, arg) { - this._normalQueue.push(fn, receiver, arg); - this._queueTick(); -} - -function AsyncSettlePromises(promise) { - this._normalQueue._pushOne(promise); - this._queueTick(); -} - -if (!util.hasDevTools) { - Async.prototype.invokeLater = AsyncInvokeLater; - Async.prototype.invoke = AsyncInvoke; - Async.prototype.settlePromises = AsyncSettlePromises; -} else { - Async.prototype.invokeLater = function (fn, receiver, arg) { - if (this._trampolineEnabled) { - AsyncInvokeLater.call(this, fn, receiver, arg); - } else { - this._schedule(function() { - setTimeout(function() { - fn.call(receiver, arg); - }, 100); - }); - } - }; - - Async.prototype.invoke = function (fn, receiver, arg) { - if (this._trampolineEnabled) { - AsyncInvoke.call(this, fn, receiver, arg); - } else { - this._schedule(function() { - fn.call(receiver, arg); - }); - } - }; - - Async.prototype.settlePromises = function(promise) { - if (this._trampolineEnabled) { - AsyncSettlePromises.call(this, promise); - } else { - this._schedule(function() { - promise._settlePromises(); - }); - } - }; -} - -Async.prototype._drainQueue = function(queue) { - while (queue.length() > 0) { - var fn = queue.shift(); - if (typeof fn !== "function") { - fn._settlePromises(); - continue; - } - var receiver = queue.shift(); - var arg = queue.shift(); - fn.call(receiver, arg); - } -}; - -Async.prototype._drainQueues = function () { - this._drainQueue(this._normalQueue); - this._reset(); - this._haveDrainedQueues = true; - this._drainQueue(this._lateQueue); -}; - -Async.prototype._queueTick = function () { - if (!this._isTickUsed) { - this._isTickUsed = true; - this._schedule(this.drainQueues); - } -}; - -Async.prototype._reset = function () { - this._isTickUsed = false; -}; - -module.exports = Async; -module.exports.firstLineError = firstLineError; diff --git a/publi/node_modules/bluebird/js/release/bind.js b/publi/node_modules/bluebird/js/release/bind.js deleted file mode 100644 index fc3379d..0000000 --- a/publi/node_modules/bluebird/js/release/bind.js +++ /dev/null @@ -1,67 +0,0 @@ -"use strict"; -module.exports = function(Promise, INTERNAL, tryConvertToPromise, debug) { -var calledBind = false; -var rejectThis = function(_, e) { - this._reject(e); -}; - -var targetRejected = function(e, context) { - context.promiseRejectionQueued = true; - context.bindingPromise._then(rejectThis, rejectThis, null, this, e); -}; - -var bindingResolved = function(thisArg, context) { - if (((this._bitField & 50397184) === 0)) { - this._resolveCallback(context.target); - } -}; - -var bindingRejected = function(e, context) { - if (!context.promiseRejectionQueued) this._reject(e); -}; - -Promise.prototype.bind = function (thisArg) { - if (!calledBind) { - calledBind = true; - Promise.prototype._propagateFrom = debug.propagateFromFunction(); - Promise.prototype._boundValue = debug.boundValueFunction(); - } - var maybePromise = tryConvertToPromise(thisArg); - var ret = new Promise(INTERNAL); - ret._propagateFrom(this, 1); - var target = this._target(); - ret._setBoundTo(maybePromise); - if (maybePromise instanceof Promise) { - var context = { - promiseRejectionQueued: false, - promise: ret, - target: target, - bindingPromise: maybePromise - }; - target._then(INTERNAL, targetRejected, undefined, ret, context); - maybePromise._then( - bindingResolved, bindingRejected, undefined, ret, context); - ret._setOnCancel(maybePromise); - } else { - ret._resolveCallback(target); - } - return ret; -}; - -Promise.prototype._setBoundTo = function (obj) { - if (obj !== undefined) { - this._bitField = this._bitField | 2097152; - this._boundTo = obj; - } else { - this._bitField = this._bitField & (~2097152); - } -}; - -Promise.prototype._isBound = function () { - return (this._bitField & 2097152) === 2097152; -}; - -Promise.bind = function (thisArg, value) { - return Promise.resolve(value).bind(thisArg); -}; -}; diff --git a/publi/node_modules/bluebird/js/release/bluebird.js b/publi/node_modules/bluebird/js/release/bluebird.js deleted file mode 100644 index 1c36cf3..0000000 --- a/publi/node_modules/bluebird/js/release/bluebird.js +++ /dev/null @@ -1,11 +0,0 @@ -"use strict"; -var old; -if (typeof Promise !== "undefined") old = Promise; -function noConflict() { - try { if (Promise === bluebird) Promise = old; } - catch (e) {} - return bluebird; -} -var bluebird = require("./promise")(); -bluebird.noConflict = noConflict; -module.exports = bluebird; diff --git a/publi/node_modules/bluebird/js/release/call_get.js b/publi/node_modules/bluebird/js/release/call_get.js deleted file mode 100644 index 0ed7714..0000000 --- a/publi/node_modules/bluebird/js/release/call_get.js +++ /dev/null @@ -1,123 +0,0 @@ -"use strict"; -var cr = Object.create; -if (cr) { - var callerCache = cr(null); - var getterCache = cr(null); - callerCache[" size"] = getterCache[" size"] = 0; -} - -module.exports = function(Promise) { -var util = require("./util"); -var canEvaluate = util.canEvaluate; -var isIdentifier = util.isIdentifier; - -var getMethodCaller; -var getGetter; -if (!false) { -var makeMethodCaller = function (methodName) { - return new Function("ensureMethod", " \n\ - return function(obj) { \n\ - 'use strict' \n\ - var len = this.length; \n\ - ensureMethod(obj, 'methodName'); \n\ - switch(len) { \n\ - case 1: return obj.methodName(this[0]); \n\ - case 2: return obj.methodName(this[0], this[1]); \n\ - case 3: return obj.methodName(this[0], this[1], this[2]); \n\ - case 0: return obj.methodName(); \n\ - default: \n\ - return obj.methodName.apply(obj, this); \n\ - } \n\ - }; \n\ - ".replace(/methodName/g, methodName))(ensureMethod); -}; - -var makeGetter = function (propertyName) { - return new Function("obj", " \n\ - 'use strict'; \n\ - return obj.propertyName; \n\ - ".replace("propertyName", propertyName)); -}; - -var getCompiled = function(name, compiler, cache) { - var ret = cache[name]; - if (typeof ret !== "function") { - if (!isIdentifier(name)) { - return null; - } - ret = compiler(name); - cache[name] = ret; - cache[" size"]++; - if (cache[" size"] > 512) { - var keys = Object.keys(cache); - for (var i = 0; i < 256; ++i) delete cache[keys[i]]; - cache[" size"] = keys.length - 256; - } - } - return ret; -}; - -getMethodCaller = function(name) { - return getCompiled(name, makeMethodCaller, callerCache); -}; - -getGetter = function(name) { - return getCompiled(name, makeGetter, getterCache); -}; -} - -function ensureMethod(obj, methodName) { - var fn; - if (obj != null) fn = obj[methodName]; - if (typeof fn !== "function") { - var message = "Object " + util.classString(obj) + " has no method '" + - util.toString(methodName) + "'"; - throw new Promise.TypeError(message); - } - return fn; -} - -function caller(obj) { - var methodName = this.pop(); - var fn = ensureMethod(obj, methodName); - return fn.apply(obj, this); -} -Promise.prototype.call = function (methodName) { - var $_len = arguments.length;var args = new Array(Math.max($_len - 1, 0)); for(var $_i = 1; $_i < $_len; ++$_i) {args[$_i - 1] = arguments[$_i];}; - if (!false) { - if (canEvaluate) { - var maybeCaller = getMethodCaller(methodName); - if (maybeCaller !== null) { - return this._then( - maybeCaller, undefined, undefined, args, undefined); - } - } - } - args.push(methodName); - return this._then(caller, undefined, undefined, args, undefined); -}; - -function namedGetter(obj) { - return obj[this]; -} -function indexedGetter(obj) { - var index = +this; - if (index < 0) index = Math.max(0, index + obj.length); - return obj[index]; -} -Promise.prototype.get = function (propertyName) { - var isIndex = (typeof propertyName === "number"); - var getter; - if (!isIndex) { - if (canEvaluate) { - var maybeGetter = getGetter(propertyName); - getter = maybeGetter !== null ? maybeGetter : namedGetter; - } else { - getter = namedGetter; - } - } else { - getter = indexedGetter; - } - return this._then(getter, undefined, undefined, propertyName, undefined); -}; -}; diff --git a/publi/node_modules/bluebird/js/release/cancel.js b/publi/node_modules/bluebird/js/release/cancel.js deleted file mode 100644 index 7a12415..0000000 --- a/publi/node_modules/bluebird/js/release/cancel.js +++ /dev/null @@ -1,129 +0,0 @@ -"use strict"; -module.exports = function(Promise, PromiseArray, apiRejection, debug) { -var util = require("./util"); -var tryCatch = util.tryCatch; -var errorObj = util.errorObj; -var async = Promise._async; - -Promise.prototype["break"] = Promise.prototype.cancel = function() { - if (!debug.cancellation()) return this._warn("cancellation is disabled"); - - var promise = this; - var child = promise; - while (promise._isCancellable()) { - if (!promise._cancelBy(child)) { - if (child._isFollowing()) { - child._followee().cancel(); - } else { - child._cancelBranched(); - } - break; - } - - var parent = promise._cancellationParent; - if (parent == null || !parent._isCancellable()) { - if (promise._isFollowing()) { - promise._followee().cancel(); - } else { - promise._cancelBranched(); - } - break; - } else { - if (promise._isFollowing()) promise._followee().cancel(); - promise._setWillBeCancelled(); - child = promise; - promise = parent; - } - } -}; - -Promise.prototype._branchHasCancelled = function() { - this._branchesRemainingToCancel--; -}; - -Promise.prototype._enoughBranchesHaveCancelled = function() { - return this._branchesRemainingToCancel === undefined || - this._branchesRemainingToCancel <= 0; -}; - -Promise.prototype._cancelBy = function(canceller) { - if (canceller === this) { - this._branchesRemainingToCancel = 0; - this._invokeOnCancel(); - return true; - } else { - this._branchHasCancelled(); - if (this._enoughBranchesHaveCancelled()) { - this._invokeOnCancel(); - return true; - } - } - return false; -}; - -Promise.prototype._cancelBranched = function() { - if (this._enoughBranchesHaveCancelled()) { - this._cancel(); - } -}; - -Promise.prototype._cancel = function() { - if (!this._isCancellable()) return; - this._setCancelled(); - async.invoke(this._cancelPromises, this, undefined); -}; - -Promise.prototype._cancelPromises = function() { - if (this._length() > 0) this._settlePromises(); -}; - -Promise.prototype._unsetOnCancel = function() { - this._onCancelField = undefined; -}; - -Promise.prototype._isCancellable = function() { - return this.isPending() && !this._isCancelled(); -}; - -Promise.prototype.isCancellable = function() { - return this.isPending() && !this.isCancelled(); -}; - -Promise.prototype._doInvokeOnCancel = function(onCancelCallback, internalOnly) { - if (util.isArray(onCancelCallback)) { - for (var i = 0; i < onCancelCallback.length; ++i) { - this._doInvokeOnCancel(onCancelCallback[i], internalOnly); - } - } else if (onCancelCallback !== undefined) { - if (typeof onCancelCallback === "function") { - if (!internalOnly) { - var e = tryCatch(onCancelCallback).call(this._boundValue()); - if (e === errorObj) { - this._attachExtraTrace(e.e); - async.throwLater(e.e); - } - } - } else { - onCancelCallback._resultCancelled(this); - } - } -}; - -Promise.prototype._invokeOnCancel = function() { - var onCancelCallback = this._onCancel(); - this._unsetOnCancel(); - async.invoke(this._doInvokeOnCancel, this, onCancelCallback); -}; - -Promise.prototype._invokeInternalOnCancel = function() { - if (this._isCancellable()) { - this._doInvokeOnCancel(this._onCancel(), true); - this._unsetOnCancel(); - } -}; - -Promise.prototype._resultCancelled = function() { - this.cancel(); -}; - -}; diff --git a/publi/node_modules/bluebird/js/release/catch_filter.js b/publi/node_modules/bluebird/js/release/catch_filter.js deleted file mode 100644 index 0f24ce2..0000000 --- a/publi/node_modules/bluebird/js/release/catch_filter.js +++ /dev/null @@ -1,42 +0,0 @@ -"use strict"; -module.exports = function(NEXT_FILTER) { -var util = require("./util"); -var getKeys = require("./es5").keys; -var tryCatch = util.tryCatch; -var errorObj = util.errorObj; - -function catchFilter(instances, cb, promise) { - return function(e) { - var boundTo = promise._boundValue(); - predicateLoop: for (var i = 0; i < instances.length; ++i) { - var item = instances[i]; - - if (item === Error || - (item != null && item.prototype instanceof Error)) { - if (e instanceof item) { - return tryCatch(cb).call(boundTo, e); - } - } else if (typeof item === "function") { - var matchesPredicate = tryCatch(item).call(boundTo, e); - if (matchesPredicate === errorObj) { - return matchesPredicate; - } else if (matchesPredicate) { - return tryCatch(cb).call(boundTo, e); - } - } else if (util.isObject(e)) { - var keys = getKeys(item); - for (var j = 0; j < keys.length; ++j) { - var key = keys[j]; - if (item[key] != e[key]) { - continue predicateLoop; - } - } - return tryCatch(cb).call(boundTo, e); - } - } - return NEXT_FILTER; - }; -} - -return catchFilter; -}; diff --git a/publi/node_modules/bluebird/js/release/context.js b/publi/node_modules/bluebird/js/release/context.js deleted file mode 100644 index c307414..0000000 --- a/publi/node_modules/bluebird/js/release/context.js +++ /dev/null @@ -1,69 +0,0 @@ -"use strict"; -module.exports = function(Promise) { -var longStackTraces = false; -var contextStack = []; - -Promise.prototype._promiseCreated = function() {}; -Promise.prototype._pushContext = function() {}; -Promise.prototype._popContext = function() {return null;}; -Promise._peekContext = Promise.prototype._peekContext = function() {}; - -function Context() { - this._trace = new Context.CapturedTrace(peekContext()); -} -Context.prototype._pushContext = function () { - if (this._trace !== undefined) { - this._trace._promiseCreated = null; - contextStack.push(this._trace); - } -}; - -Context.prototype._popContext = function () { - if (this._trace !== undefined) { - var trace = contextStack.pop(); - var ret = trace._promiseCreated; - trace._promiseCreated = null; - return ret; - } - return null; -}; - -function createContext() { - if (longStackTraces) return new Context(); -} - -function peekContext() { - var lastIndex = contextStack.length - 1; - if (lastIndex >= 0) { - return contextStack[lastIndex]; - } - return undefined; -} -Context.CapturedTrace = null; -Context.create = createContext; -Context.deactivateLongStackTraces = function() {}; -Context.activateLongStackTraces = function() { - var Promise_pushContext = Promise.prototype._pushContext; - var Promise_popContext = Promise.prototype._popContext; - var Promise_PeekContext = Promise._peekContext; - var Promise_peekContext = Promise.prototype._peekContext; - var Promise_promiseCreated = Promise.prototype._promiseCreated; - Context.deactivateLongStackTraces = function() { - Promise.prototype._pushContext = Promise_pushContext; - Promise.prototype._popContext = Promise_popContext; - Promise._peekContext = Promise_PeekContext; - Promise.prototype._peekContext = Promise_peekContext; - Promise.prototype._promiseCreated = Promise_promiseCreated; - longStackTraces = false; - }; - longStackTraces = true; - Promise.prototype._pushContext = Context.prototype._pushContext; - Promise.prototype._popContext = Context.prototype._popContext; - Promise._peekContext = Promise.prototype._peekContext = peekContext; - Promise.prototype._promiseCreated = function() { - var ctx = this._peekContext(); - if (ctx && ctx._promiseCreated == null) ctx._promiseCreated = this; - }; -}; -return Context; -}; diff --git a/publi/node_modules/bluebird/js/release/debuggability.js b/publi/node_modules/bluebird/js/release/debuggability.js deleted file mode 100644 index 6956804..0000000 --- a/publi/node_modules/bluebird/js/release/debuggability.js +++ /dev/null @@ -1,919 +0,0 @@ -"use strict"; -module.exports = function(Promise, Context) { -var getDomain = Promise._getDomain; -var async = Promise._async; -var Warning = require("./errors").Warning; -var util = require("./util"); -var canAttachTrace = util.canAttachTrace; -var unhandledRejectionHandled; -var possiblyUnhandledRejection; -var bluebirdFramePattern = - /[\\\/]bluebird[\\\/]js[\\\/](release|debug|instrumented)/; -var nodeFramePattern = /\((?:timers\.js):\d+:\d+\)/; -var parseLinePattern = /[\/<\(](.+?):(\d+):(\d+)\)?\s*$/; -var stackFramePattern = null; -var formatStack = null; -var indentStackFrames = false; -var printWarning; -var debugging = !!(util.env("BLUEBIRD_DEBUG") != 0 && - (false || - util.env("BLUEBIRD_DEBUG") || - util.env("NODE_ENV") === "development")); - -var warnings = !!(util.env("BLUEBIRD_WARNINGS") != 0 && - (debugging || util.env("BLUEBIRD_WARNINGS"))); - -var longStackTraces = !!(util.env("BLUEBIRD_LONG_STACK_TRACES") != 0 && - (debugging || util.env("BLUEBIRD_LONG_STACK_TRACES"))); - -var wForgottenReturn = util.env("BLUEBIRD_W_FORGOTTEN_RETURN") != 0 && - (warnings || !!util.env("BLUEBIRD_W_FORGOTTEN_RETURN")); - -Promise.prototype.suppressUnhandledRejections = function() { - var target = this._target(); - target._bitField = ((target._bitField & (~1048576)) | - 524288); -}; - -Promise.prototype._ensurePossibleRejectionHandled = function () { - if ((this._bitField & 524288) !== 0) return; - this._setRejectionIsUnhandled(); - var self = this; - setTimeout(function() { - self._notifyUnhandledRejection(); - }, 1); -}; - -Promise.prototype._notifyUnhandledRejectionIsHandled = function () { - fireRejectionEvent("rejectionHandled", - unhandledRejectionHandled, undefined, this); -}; - -Promise.prototype._setReturnedNonUndefined = function() { - this._bitField = this._bitField | 268435456; -}; - -Promise.prototype._returnedNonUndefined = function() { - return (this._bitField & 268435456) !== 0; -}; - -Promise.prototype._notifyUnhandledRejection = function () { - if (this._isRejectionUnhandled()) { - var reason = this._settledValue(); - this._setUnhandledRejectionIsNotified(); - fireRejectionEvent("unhandledRejection", - possiblyUnhandledRejection, reason, this); - } -}; - -Promise.prototype._setUnhandledRejectionIsNotified = function () { - this._bitField = this._bitField | 262144; -}; - -Promise.prototype._unsetUnhandledRejectionIsNotified = function () { - this._bitField = this._bitField & (~262144); -}; - -Promise.prototype._isUnhandledRejectionNotified = function () { - return (this._bitField & 262144) > 0; -}; - -Promise.prototype._setRejectionIsUnhandled = function () { - this._bitField = this._bitField | 1048576; -}; - -Promise.prototype._unsetRejectionIsUnhandled = function () { - this._bitField = this._bitField & (~1048576); - if (this._isUnhandledRejectionNotified()) { - this._unsetUnhandledRejectionIsNotified(); - this._notifyUnhandledRejectionIsHandled(); - } -}; - -Promise.prototype._isRejectionUnhandled = function () { - return (this._bitField & 1048576) > 0; -}; - -Promise.prototype._warn = function(message, shouldUseOwnTrace, promise) { - return warn(message, shouldUseOwnTrace, promise || this); -}; - -Promise.onPossiblyUnhandledRejection = function (fn) { - var domain = getDomain(); - possiblyUnhandledRejection = - typeof fn === "function" ? (domain === null ? - fn : util.domainBind(domain, fn)) - : undefined; -}; - -Promise.onUnhandledRejectionHandled = function (fn) { - var domain = getDomain(); - unhandledRejectionHandled = - typeof fn === "function" ? (domain === null ? - fn : util.domainBind(domain, fn)) - : undefined; -}; - -var disableLongStackTraces = function() {}; -Promise.longStackTraces = function () { - if (async.haveItemsQueued() && !config.longStackTraces) { - throw new Error("cannot enable long stack traces after promises have been created\u000a\u000a See http://goo.gl/MqrFmX\u000a"); - } - if (!config.longStackTraces && longStackTracesIsSupported()) { - var Promise_captureStackTrace = Promise.prototype._captureStackTrace; - var Promise_attachExtraTrace = Promise.prototype._attachExtraTrace; - config.longStackTraces = true; - disableLongStackTraces = function() { - if (async.haveItemsQueued() && !config.longStackTraces) { - throw new Error("cannot enable long stack traces after promises have been created\u000a\u000a See http://goo.gl/MqrFmX\u000a"); - } - Promise.prototype._captureStackTrace = Promise_captureStackTrace; - Promise.prototype._attachExtraTrace = Promise_attachExtraTrace; - Context.deactivateLongStackTraces(); - async.enableTrampoline(); - config.longStackTraces = false; - }; - Promise.prototype._captureStackTrace = longStackTracesCaptureStackTrace; - Promise.prototype._attachExtraTrace = longStackTracesAttachExtraTrace; - Context.activateLongStackTraces(); - async.disableTrampolineIfNecessary(); - } -}; - -Promise.hasLongStackTraces = function () { - return config.longStackTraces && longStackTracesIsSupported(); -}; - -var fireDomEvent = (function() { - try { - if (typeof CustomEvent === "function") { - var event = new CustomEvent("CustomEvent"); - util.global.dispatchEvent(event); - return function(name, event) { - var domEvent = new CustomEvent(name.toLowerCase(), { - detail: event, - cancelable: true - }); - return !util.global.dispatchEvent(domEvent); - }; - } else if (typeof Event === "function") { - var event = new Event("CustomEvent"); - util.global.dispatchEvent(event); - return function(name, event) { - var domEvent = new Event(name.toLowerCase(), { - cancelable: true - }); - domEvent.detail = event; - return !util.global.dispatchEvent(domEvent); - }; - } else { - var event = document.createEvent("CustomEvent"); - event.initCustomEvent("testingtheevent", false, true, {}); - util.global.dispatchEvent(event); - return function(name, event) { - var domEvent = document.createEvent("CustomEvent"); - domEvent.initCustomEvent(name.toLowerCase(), false, true, - event); - return !util.global.dispatchEvent(domEvent); - }; - } - } catch (e) {} - return function() { - return false; - }; -})(); - -var fireGlobalEvent = (function() { - if (util.isNode) { - return function() { - return process.emit.apply(process, arguments); - }; - } else { - if (!util.global) { - return function() { - return false; - }; - } - return function(name) { - var methodName = "on" + name.toLowerCase(); - var method = util.global[methodName]; - if (!method) return false; - method.apply(util.global, [].slice.call(arguments, 1)); - return true; - }; - } -})(); - -function generatePromiseLifecycleEventObject(name, promise) { - return {promise: promise}; -} - -var eventToObjectGenerator = { - promiseCreated: generatePromiseLifecycleEventObject, - promiseFulfilled: generatePromiseLifecycleEventObject, - promiseRejected: generatePromiseLifecycleEventObject, - promiseResolved: generatePromiseLifecycleEventObject, - promiseCancelled: generatePromiseLifecycleEventObject, - promiseChained: function(name, promise, child) { - return {promise: promise, child: child}; - }, - warning: function(name, warning) { - return {warning: warning}; - }, - unhandledRejection: function (name, reason, promise) { - return {reason: reason, promise: promise}; - }, - rejectionHandled: generatePromiseLifecycleEventObject -}; - -var activeFireEvent = function (name) { - var globalEventFired = false; - try { - globalEventFired = fireGlobalEvent.apply(null, arguments); - } catch (e) { - async.throwLater(e); - globalEventFired = true; - } - - var domEventFired = false; - try { - domEventFired = fireDomEvent(name, - eventToObjectGenerator[name].apply(null, arguments)); - } catch (e) { - async.throwLater(e); - domEventFired = true; - } - - return domEventFired || globalEventFired; -}; - -Promise.config = function(opts) { - opts = Object(opts); - if ("longStackTraces" in opts) { - if (opts.longStackTraces) { - Promise.longStackTraces(); - } else if (!opts.longStackTraces && Promise.hasLongStackTraces()) { - disableLongStackTraces(); - } - } - if ("warnings" in opts) { - var warningsOption = opts.warnings; - config.warnings = !!warningsOption; - wForgottenReturn = config.warnings; - - if (util.isObject(warningsOption)) { - if ("wForgottenReturn" in warningsOption) { - wForgottenReturn = !!warningsOption.wForgottenReturn; - } - } - } - if ("cancellation" in opts && opts.cancellation && !config.cancellation) { - if (async.haveItemsQueued()) { - throw new Error( - "cannot enable cancellation after promises are in use"); - } - Promise.prototype._clearCancellationData = - cancellationClearCancellationData; - Promise.prototype._propagateFrom = cancellationPropagateFrom; - Promise.prototype._onCancel = cancellationOnCancel; - Promise.prototype._setOnCancel = cancellationSetOnCancel; - Promise.prototype._attachCancellationCallback = - cancellationAttachCancellationCallback; - Promise.prototype._execute = cancellationExecute; - propagateFromFunction = cancellationPropagateFrom; - config.cancellation = true; - } - if ("monitoring" in opts) { - if (opts.monitoring && !config.monitoring) { - config.monitoring = true; - Promise.prototype._fireEvent = activeFireEvent; - } else if (!opts.monitoring && config.monitoring) { - config.monitoring = false; - Promise.prototype._fireEvent = defaultFireEvent; - } - } - return Promise; -}; - -function defaultFireEvent() { return false; } - -Promise.prototype._fireEvent = defaultFireEvent; -Promise.prototype._execute = function(executor, resolve, reject) { - try { - executor(resolve, reject); - } catch (e) { - return e; - } -}; -Promise.prototype._onCancel = function () {}; -Promise.prototype._setOnCancel = function (handler) { ; }; -Promise.prototype._attachCancellationCallback = function(onCancel) { - ; -}; -Promise.prototype._captureStackTrace = function () {}; -Promise.prototype._attachExtraTrace = function () {}; -Promise.prototype._clearCancellationData = function() {}; -Promise.prototype._propagateFrom = function (parent, flags) { - ; - ; -}; - -function cancellationExecute(executor, resolve, reject) { - var promise = this; - try { - executor(resolve, reject, function(onCancel) { - if (typeof onCancel !== "function") { - throw new TypeError("onCancel must be a function, got: " + - util.toString(onCancel)); - } - promise._attachCancellationCallback(onCancel); - }); - } catch (e) { - return e; - } -} - -function cancellationAttachCancellationCallback(onCancel) { - if (!this._isCancellable()) return this; - - var previousOnCancel = this._onCancel(); - if (previousOnCancel !== undefined) { - if (util.isArray(previousOnCancel)) { - previousOnCancel.push(onCancel); - } else { - this._setOnCancel([previousOnCancel, onCancel]); - } - } else { - this._setOnCancel(onCancel); - } -} - -function cancellationOnCancel() { - return this._onCancelField; -} - -function cancellationSetOnCancel(onCancel) { - this._onCancelField = onCancel; -} - -function cancellationClearCancellationData() { - this._cancellationParent = undefined; - this._onCancelField = undefined; -} - -function cancellationPropagateFrom(parent, flags) { - if ((flags & 1) !== 0) { - this._cancellationParent = parent; - var branchesRemainingToCancel = parent._branchesRemainingToCancel; - if (branchesRemainingToCancel === undefined) { - branchesRemainingToCancel = 0; - } - parent._branchesRemainingToCancel = branchesRemainingToCancel + 1; - } - if ((flags & 2) !== 0 && parent._isBound()) { - this._setBoundTo(parent._boundTo); - } -} - -function bindingPropagateFrom(parent, flags) { - if ((flags & 2) !== 0 && parent._isBound()) { - this._setBoundTo(parent._boundTo); - } -} -var propagateFromFunction = bindingPropagateFrom; - -function boundValueFunction() { - var ret = this._boundTo; - if (ret !== undefined) { - if (ret instanceof Promise) { - if (ret.isFulfilled()) { - return ret.value(); - } else { - return undefined; - } - } - } - return ret; -} - -function longStackTracesCaptureStackTrace() { - this._trace = new CapturedTrace(this._peekContext()); -} - -function longStackTracesAttachExtraTrace(error, ignoreSelf) { - if (canAttachTrace(error)) { - var trace = this._trace; - if (trace !== undefined) { - if (ignoreSelf) trace = trace._parent; - } - if (trace !== undefined) { - trace.attachExtraTrace(error); - } else if (!error.__stackCleaned__) { - var parsed = parseStackAndMessage(error); - util.notEnumerableProp(error, "stack", - parsed.message + "\n" + parsed.stack.join("\n")); - util.notEnumerableProp(error, "__stackCleaned__", true); - } - } -} - -function checkForgottenReturns(returnValue, promiseCreated, name, promise, - parent) { - if (returnValue === undefined && promiseCreated !== null && - wForgottenReturn) { - if (parent !== undefined && parent._returnedNonUndefined()) return; - if ((promise._bitField & 65535) === 0) return; - - if (name) name = name + " "; - var handlerLine = ""; - var creatorLine = ""; - if (promiseCreated._trace) { - var traceLines = promiseCreated._trace.stack.split("\n"); - var stack = cleanStack(traceLines); - for (var i = stack.length - 1; i >= 0; --i) { - var line = stack[i]; - if (!nodeFramePattern.test(line)) { - var lineMatches = line.match(parseLinePattern); - if (lineMatches) { - handlerLine = "at " + lineMatches[1] + - ":" + lineMatches[2] + ":" + lineMatches[3] + " "; - } - break; - } - } - - if (stack.length > 0) { - var firstUserLine = stack[0]; - for (var i = 0; i < traceLines.length; ++i) { - - if (traceLines[i] === firstUserLine) { - if (i > 0) { - creatorLine = "\n" + traceLines[i - 1]; - } - break; - } - } - - } - } - var msg = "a promise was created in a " + name + - "handler " + handlerLine + "but was not returned from it, " + - "see http://goo.gl/rRqMUw" + - creatorLine; - promise._warn(msg, true, promiseCreated); - } -} - -function deprecated(name, replacement) { - var message = name + - " is deprecated and will be removed in a future version."; - if (replacement) message += " Use " + replacement + " instead."; - return warn(message); -} - -function warn(message, shouldUseOwnTrace, promise) { - if (!config.warnings) return; - var warning = new Warning(message); - var ctx; - if (shouldUseOwnTrace) { - promise._attachExtraTrace(warning); - } else if (config.longStackTraces && (ctx = Promise._peekContext())) { - ctx.attachExtraTrace(warning); - } else { - var parsed = parseStackAndMessage(warning); - warning.stack = parsed.message + "\n" + parsed.stack.join("\n"); - } - - if (!activeFireEvent("warning", warning)) { - formatAndLogError(warning, "", true); - } -} - -function reconstructStack(message, stacks) { - for (var i = 0; i < stacks.length - 1; ++i) { - stacks[i].push("From previous event:"); - stacks[i] = stacks[i].join("\n"); - } - if (i < stacks.length) { - stacks[i] = stacks[i].join("\n"); - } - return message + "\n" + stacks.join("\n"); -} - -function removeDuplicateOrEmptyJumps(stacks) { - for (var i = 0; i < stacks.length; ++i) { - if (stacks[i].length === 0 || - ((i + 1 < stacks.length) && stacks[i][0] === stacks[i+1][0])) { - stacks.splice(i, 1); - i--; - } - } -} - -function removeCommonRoots(stacks) { - var current = stacks[0]; - for (var i = 1; i < stacks.length; ++i) { - var prev = stacks[i]; - var currentLastIndex = current.length - 1; - var currentLastLine = current[currentLastIndex]; - var commonRootMeetPoint = -1; - - for (var j = prev.length - 1; j >= 0; --j) { - if (prev[j] === currentLastLine) { - commonRootMeetPoint = j; - break; - } - } - - for (var j = commonRootMeetPoint; j >= 0; --j) { - var line = prev[j]; - if (current[currentLastIndex] === line) { - current.pop(); - currentLastIndex--; - } else { - break; - } - } - current = prev; - } -} - -function cleanStack(stack) { - var ret = []; - for (var i = 0; i < stack.length; ++i) { - var line = stack[i]; - var isTraceLine = " (No stack trace)" === line || - stackFramePattern.test(line); - var isInternalFrame = isTraceLine && shouldIgnore(line); - if (isTraceLine && !isInternalFrame) { - if (indentStackFrames && line.charAt(0) !== " ") { - line = " " + line; - } - ret.push(line); - } - } - return ret; -} - -function stackFramesAsArray(error) { - var stack = error.stack.replace(/\s+$/g, "").split("\n"); - for (var i = 0; i < stack.length; ++i) { - var line = stack[i]; - if (" (No stack trace)" === line || stackFramePattern.test(line)) { - break; - } - } - if (i > 0 && error.name != "SyntaxError") { - stack = stack.slice(i); - } - return stack; -} - -function parseStackAndMessage(error) { - var stack = error.stack; - var message = error.toString(); - stack = typeof stack === "string" && stack.length > 0 - ? stackFramesAsArray(error) : [" (No stack trace)"]; - return { - message: message, - stack: error.name == "SyntaxError" ? stack : cleanStack(stack) - }; -} - -function formatAndLogError(error, title, isSoft) { - if (typeof console !== "undefined") { - var message; - if (util.isObject(error)) { - var stack = error.stack; - message = title + formatStack(stack, error); - } else { - message = title + String(error); - } - if (typeof printWarning === "function") { - printWarning(message, isSoft); - } else if (typeof console.log === "function" || - typeof console.log === "object") { - console.log(message); - } - } -} - -function fireRejectionEvent(name, localHandler, reason, promise) { - var localEventFired = false; - try { - if (typeof localHandler === "function") { - localEventFired = true; - if (name === "rejectionHandled") { - localHandler(promise); - } else { - localHandler(reason, promise); - } - } - } catch (e) { - async.throwLater(e); - } - - if (name === "unhandledRejection") { - if (!activeFireEvent(name, reason, promise) && !localEventFired) { - formatAndLogError(reason, "Unhandled rejection "); - } - } else { - activeFireEvent(name, promise); - } -} - -function formatNonError(obj) { - var str; - if (typeof obj === "function") { - str = "[function " + - (obj.name || "anonymous") + - "]"; - } else { - str = obj && typeof obj.toString === "function" - ? obj.toString() : util.toString(obj); - var ruselessToString = /\[object [a-zA-Z0-9$_]+\]/; - if (ruselessToString.test(str)) { - try { - var newStr = JSON.stringify(obj); - str = newStr; - } - catch(e) { - - } - } - if (str.length === 0) { - str = "(empty array)"; - } - } - return ("(<" + snip(str) + ">, no stack trace)"); -} - -function snip(str) { - var maxChars = 41; - if (str.length < maxChars) { - return str; - } - return str.substr(0, maxChars - 3) + "..."; -} - -function longStackTracesIsSupported() { - return typeof captureStackTrace === "function"; -} - -var shouldIgnore = function() { return false; }; -var parseLineInfoRegex = /[\/<\(]([^:\/]+):(\d+):(?:\d+)\)?\s*$/; -function parseLineInfo(line) { - var matches = line.match(parseLineInfoRegex); - if (matches) { - return { - fileName: matches[1], - line: parseInt(matches[2], 10) - }; - } -} - -function setBounds(firstLineError, lastLineError) { - if (!longStackTracesIsSupported()) return; - var firstStackLines = firstLineError.stack.split("\n"); - var lastStackLines = lastLineError.stack.split("\n"); - var firstIndex = -1; - var lastIndex = -1; - var firstFileName; - var lastFileName; - for (var i = 0; i < firstStackLines.length; ++i) { - var result = parseLineInfo(firstStackLines[i]); - if (result) { - firstFileName = result.fileName; - firstIndex = result.line; - break; - } - } - for (var i = 0; i < lastStackLines.length; ++i) { - var result = parseLineInfo(lastStackLines[i]); - if (result) { - lastFileName = result.fileName; - lastIndex = result.line; - break; - } - } - if (firstIndex < 0 || lastIndex < 0 || !firstFileName || !lastFileName || - firstFileName !== lastFileName || firstIndex >= lastIndex) { - return; - } - - shouldIgnore = function(line) { - if (bluebirdFramePattern.test(line)) return true; - var info = parseLineInfo(line); - if (info) { - if (info.fileName === firstFileName && - (firstIndex <= info.line && info.line <= lastIndex)) { - return true; - } - } - return false; - }; -} - -function CapturedTrace(parent) { - this._parent = parent; - this._promisesCreated = 0; - var length = this._length = 1 + (parent === undefined ? 0 : parent._length); - captureStackTrace(this, CapturedTrace); - if (length > 32) this.uncycle(); -} -util.inherits(CapturedTrace, Error); -Context.CapturedTrace = CapturedTrace; - -CapturedTrace.prototype.uncycle = function() { - var length = this._length; - if (length < 2) return; - var nodes = []; - var stackToIndex = {}; - - for (var i = 0, node = this; node !== undefined; ++i) { - nodes.push(node); - node = node._parent; - } - length = this._length = i; - for (var i = length - 1; i >= 0; --i) { - var stack = nodes[i].stack; - if (stackToIndex[stack] === undefined) { - stackToIndex[stack] = i; - } - } - for (var i = 0; i < length; ++i) { - var currentStack = nodes[i].stack; - var index = stackToIndex[currentStack]; - if (index !== undefined && index !== i) { - if (index > 0) { - nodes[index - 1]._parent = undefined; - nodes[index - 1]._length = 1; - } - nodes[i]._parent = undefined; - nodes[i]._length = 1; - var cycleEdgeNode = i > 0 ? nodes[i - 1] : this; - - if (index < length - 1) { - cycleEdgeNode._parent = nodes[index + 1]; - cycleEdgeNode._parent.uncycle(); - cycleEdgeNode._length = - cycleEdgeNode._parent._length + 1; - } else { - cycleEdgeNode._parent = undefined; - cycleEdgeNode._length = 1; - } - var currentChildLength = cycleEdgeNode._length + 1; - for (var j = i - 2; j >= 0; --j) { - nodes[j]._length = currentChildLength; - currentChildLength++; - } - return; - } - } -}; - -CapturedTrace.prototype.attachExtraTrace = function(error) { - if (error.__stackCleaned__) return; - this.uncycle(); - var parsed = parseStackAndMessage(error); - var message = parsed.message; - var stacks = [parsed.stack]; - - var trace = this; - while (trace !== undefined) { - stacks.push(cleanStack(trace.stack.split("\n"))); - trace = trace._parent; - } - removeCommonRoots(stacks); - removeDuplicateOrEmptyJumps(stacks); - util.notEnumerableProp(error, "stack", reconstructStack(message, stacks)); - util.notEnumerableProp(error, "__stackCleaned__", true); -}; - -var captureStackTrace = (function stackDetection() { - var v8stackFramePattern = /^\s*at\s*/; - var v8stackFormatter = function(stack, error) { - if (typeof stack === "string") return stack; - - if (error.name !== undefined && - error.message !== undefined) { - return error.toString(); - } - return formatNonError(error); - }; - - if (typeof Error.stackTraceLimit === "number" && - typeof Error.captureStackTrace === "function") { - Error.stackTraceLimit += 6; - stackFramePattern = v8stackFramePattern; - formatStack = v8stackFormatter; - var captureStackTrace = Error.captureStackTrace; - - shouldIgnore = function(line) { - return bluebirdFramePattern.test(line); - }; - return function(receiver, ignoreUntil) { - Error.stackTraceLimit += 6; - captureStackTrace(receiver, ignoreUntil); - Error.stackTraceLimit -= 6; - }; - } - var err = new Error(); - - if (typeof err.stack === "string" && - err.stack.split("\n")[0].indexOf("stackDetection@") >= 0) { - stackFramePattern = /@/; - formatStack = v8stackFormatter; - indentStackFrames = true; - return function captureStackTrace(o) { - o.stack = new Error().stack; - }; - } - - var hasStackAfterThrow; - try { throw new Error(); } - catch(e) { - hasStackAfterThrow = ("stack" in e); - } - if (!("stack" in err) && hasStackAfterThrow && - typeof Error.stackTraceLimit === "number") { - stackFramePattern = v8stackFramePattern; - formatStack = v8stackFormatter; - return function captureStackTrace(o) { - Error.stackTraceLimit += 6; - try { throw new Error(); } - catch(e) { o.stack = e.stack; } - Error.stackTraceLimit -= 6; - }; - } - - formatStack = function(stack, error) { - if (typeof stack === "string") return stack; - - if ((typeof error === "object" || - typeof error === "function") && - error.name !== undefined && - error.message !== undefined) { - return error.toString(); - } - return formatNonError(error); - }; - - return null; - -})([]); - -if (typeof console !== "undefined" && typeof console.warn !== "undefined") { - printWarning = function (message) { - console.warn(message); - }; - if (util.isNode && process.stderr.isTTY) { - printWarning = function(message, isSoft) { - var color = isSoft ? "\u001b[33m" : "\u001b[31m"; - console.warn(color + message + "\u001b[0m\n"); - }; - } else if (!util.isNode && typeof (new Error().stack) === "string") { - printWarning = function(message, isSoft) { - console.warn("%c" + message, - isSoft ? "color: darkorange" : "color: red"); - }; - } -} - -var config = { - warnings: warnings, - longStackTraces: false, - cancellation: false, - monitoring: false -}; - -if (longStackTraces) Promise.longStackTraces(); - -return { - longStackTraces: function() { - return config.longStackTraces; - }, - warnings: function() { - return config.warnings; - }, - cancellation: function() { - return config.cancellation; - }, - monitoring: function() { - return config.monitoring; - }, - propagateFromFunction: function() { - return propagateFromFunction; - }, - boundValueFunction: function() { - return boundValueFunction; - }, - checkForgottenReturns: checkForgottenReturns, - setBounds: setBounds, - warn: warn, - deprecated: deprecated, - CapturedTrace: CapturedTrace, - fireDomEvent: fireDomEvent, - fireGlobalEvent: fireGlobalEvent -}; -}; diff --git a/publi/node_modules/bluebird/js/release/direct_resolve.js b/publi/node_modules/bluebird/js/release/direct_resolve.js deleted file mode 100644 index a890298..0000000 --- a/publi/node_modules/bluebird/js/release/direct_resolve.js +++ /dev/null @@ -1,46 +0,0 @@ -"use strict"; -module.exports = function(Promise) { -function returner() { - return this.value; -} -function thrower() { - throw this.reason; -} - -Promise.prototype["return"] = -Promise.prototype.thenReturn = function (value) { - if (value instanceof Promise) value.suppressUnhandledRejections(); - return this._then( - returner, undefined, undefined, {value: value}, undefined); -}; - -Promise.prototype["throw"] = -Promise.prototype.thenThrow = function (reason) { - return this._then( - thrower, undefined, undefined, {reason: reason}, undefined); -}; - -Promise.prototype.catchThrow = function (reason) { - if (arguments.length <= 1) { - return this._then( - undefined, thrower, undefined, {reason: reason}, undefined); - } else { - var _reason = arguments[1]; - var handler = function() {throw _reason;}; - return this.caught(reason, handler); - } -}; - -Promise.prototype.catchReturn = function (value) { - if (arguments.length <= 1) { - if (value instanceof Promise) value.suppressUnhandledRejections(); - return this._then( - undefined, returner, undefined, {value: value}, undefined); - } else { - var _value = arguments[1]; - if (_value instanceof Promise) _value.suppressUnhandledRejections(); - var handler = function() {return _value;}; - return this.caught(value, handler); - } -}; -}; diff --git a/publi/node_modules/bluebird/js/release/each.js b/publi/node_modules/bluebird/js/release/each.js deleted file mode 100644 index e4f3d05..0000000 --- a/publi/node_modules/bluebird/js/release/each.js +++ /dev/null @@ -1,30 +0,0 @@ -"use strict"; -module.exports = function(Promise, INTERNAL) { -var PromiseReduce = Promise.reduce; -var PromiseAll = Promise.all; - -function promiseAllThis() { - return PromiseAll(this); -} - -function PromiseMapSeries(promises, fn) { - return PromiseReduce(promises, fn, INTERNAL, INTERNAL); -} - -Promise.prototype.each = function (fn) { - return PromiseReduce(this, fn, INTERNAL, 0) - ._then(promiseAllThis, undefined, undefined, this, undefined); -}; - -Promise.prototype.mapSeries = function (fn) { - return PromiseReduce(this, fn, INTERNAL, INTERNAL); -}; - -Promise.each = function (promises, fn) { - return PromiseReduce(promises, fn, INTERNAL, 0) - ._then(promiseAllThis, undefined, undefined, promises, undefined); -}; - -Promise.mapSeries = PromiseMapSeries; -}; - diff --git a/publi/node_modules/bluebird/js/release/errors.js b/publi/node_modules/bluebird/js/release/errors.js deleted file mode 100644 index f62f323..0000000 --- a/publi/node_modules/bluebird/js/release/errors.js +++ /dev/null @@ -1,116 +0,0 @@ -"use strict"; -var es5 = require("./es5"); -var Objectfreeze = es5.freeze; -var util = require("./util"); -var inherits = util.inherits; -var notEnumerableProp = util.notEnumerableProp; - -function subError(nameProperty, defaultMessage) { - function SubError(message) { - if (!(this instanceof SubError)) return new SubError(message); - notEnumerableProp(this, "message", - typeof message === "string" ? message : defaultMessage); - notEnumerableProp(this, "name", nameProperty); - if (Error.captureStackTrace) { - Error.captureStackTrace(this, this.constructor); - } else { - Error.call(this); - } - } - inherits(SubError, Error); - return SubError; -} - -var _TypeError, _RangeError; -var Warning = subError("Warning", "warning"); -var CancellationError = subError("CancellationError", "cancellation error"); -var TimeoutError = subError("TimeoutError", "timeout error"); -var AggregateError = subError("AggregateError", "aggregate error"); -try { - _TypeError = TypeError; - _RangeError = RangeError; -} catch(e) { - _TypeError = subError("TypeError", "type error"); - _RangeError = subError("RangeError", "range error"); -} - -var methods = ("join pop push shift unshift slice filter forEach some " + - "every map indexOf lastIndexOf reduce reduceRight sort reverse").split(" "); - -for (var i = 0; i < methods.length; ++i) { - if (typeof Array.prototype[methods[i]] === "function") { - AggregateError.prototype[methods[i]] = Array.prototype[methods[i]]; - } -} - -es5.defineProperty(AggregateError.prototype, "length", { - value: 0, - configurable: false, - writable: true, - enumerable: true -}); -AggregateError.prototype["isOperational"] = true; -var level = 0; -AggregateError.prototype.toString = function() { - var indent = Array(level * 4 + 1).join(" "); - var ret = "\n" + indent + "AggregateError of:" + "\n"; - level++; - indent = Array(level * 4 + 1).join(" "); - for (var i = 0; i < this.length; ++i) { - var str = this[i] === this ? "[Circular AggregateError]" : this[i] + ""; - var lines = str.split("\n"); - for (var j = 0; j < lines.length; ++j) { - lines[j] = indent + lines[j]; - } - str = lines.join("\n"); - ret += str + "\n"; - } - level--; - return ret; -}; - -function OperationalError(message) { - if (!(this instanceof OperationalError)) - return new OperationalError(message); - notEnumerableProp(this, "name", "OperationalError"); - notEnumerableProp(this, "message", message); - this.cause = message; - this["isOperational"] = true; - - if (message instanceof Error) { - notEnumerableProp(this, "message", message.message); - notEnumerableProp(this, "stack", message.stack); - } else if (Error.captureStackTrace) { - Error.captureStackTrace(this, this.constructor); - } - -} -inherits(OperationalError, Error); - -var errorTypes = Error["__BluebirdErrorTypes__"]; -if (!errorTypes) { - errorTypes = Objectfreeze({ - CancellationError: CancellationError, - TimeoutError: TimeoutError, - OperationalError: OperationalError, - RejectionError: OperationalError, - AggregateError: AggregateError - }); - es5.defineProperty(Error, "__BluebirdErrorTypes__", { - value: errorTypes, - writable: false, - enumerable: false, - configurable: false - }); -} - -module.exports = { - Error: Error, - TypeError: _TypeError, - RangeError: _RangeError, - CancellationError: errorTypes.CancellationError, - OperationalError: errorTypes.OperationalError, - TimeoutError: errorTypes.TimeoutError, - AggregateError: errorTypes.AggregateError, - Warning: Warning -}; diff --git a/publi/node_modules/bluebird/js/release/es5.js b/publi/node_modules/bluebird/js/release/es5.js deleted file mode 100644 index ea41d5a..0000000 --- a/publi/node_modules/bluebird/js/release/es5.js +++ /dev/null @@ -1,80 +0,0 @@ -var isES5 = (function(){ - "use strict"; - return this === undefined; -})(); - -if (isES5) { - module.exports = { - freeze: Object.freeze, - defineProperty: Object.defineProperty, - getDescriptor: Object.getOwnPropertyDescriptor, - keys: Object.keys, - names: Object.getOwnPropertyNames, - getPrototypeOf: Object.getPrototypeOf, - isArray: Array.isArray, - isES5: isES5, - propertyIsWritable: function(obj, prop) { - var descriptor = Object.getOwnPropertyDescriptor(obj, prop); - return !!(!descriptor || descriptor.writable || descriptor.set); - } - }; -} else { - var has = {}.hasOwnProperty; - var str = {}.toString; - var proto = {}.constructor.prototype; - - var ObjectKeys = function (o) { - var ret = []; - for (var key in o) { - if (has.call(o, key)) { - ret.push(key); - } - } - return ret; - }; - - var ObjectGetDescriptor = function(o, key) { - return {value: o[key]}; - }; - - var ObjectDefineProperty = function (o, key, desc) { - o[key] = desc.value; - return o; - }; - - var ObjectFreeze = function (obj) { - return obj; - }; - - var ObjectGetPrototypeOf = function (obj) { - try { - return Object(obj).constructor.prototype; - } - catch (e) { - return proto; - } - }; - - var ArrayIsArray = function (obj) { - try { - return str.call(obj) === "[object Array]"; - } - catch(e) { - return false; - } - }; - - module.exports = { - isArray: ArrayIsArray, - keys: ObjectKeys, - names: ObjectKeys, - defineProperty: ObjectDefineProperty, - getDescriptor: ObjectGetDescriptor, - freeze: ObjectFreeze, - getPrototypeOf: ObjectGetPrototypeOf, - isES5: isES5, - propertyIsWritable: function() { - return true; - } - }; -} diff --git a/publi/node_modules/bluebird/js/release/filter.js b/publi/node_modules/bluebird/js/release/filter.js deleted file mode 100644 index ed57bf0..0000000 --- a/publi/node_modules/bluebird/js/release/filter.js +++ /dev/null @@ -1,12 +0,0 @@ -"use strict"; -module.exports = function(Promise, INTERNAL) { -var PromiseMap = Promise.map; - -Promise.prototype.filter = function (fn, options) { - return PromiseMap(this, fn, options, INTERNAL); -}; - -Promise.filter = function (promises, fn, options) { - return PromiseMap(promises, fn, options, INTERNAL); -}; -}; diff --git a/publi/node_modules/bluebird/js/release/finally.js b/publi/node_modules/bluebird/js/release/finally.js deleted file mode 100644 index d57444b..0000000 --- a/publi/node_modules/bluebird/js/release/finally.js +++ /dev/null @@ -1,146 +0,0 @@ -"use strict"; -module.exports = function(Promise, tryConvertToPromise, NEXT_FILTER) { -var util = require("./util"); -var CancellationError = Promise.CancellationError; -var errorObj = util.errorObj; -var catchFilter = require("./catch_filter")(NEXT_FILTER); - -function PassThroughHandlerContext(promise, type, handler) { - this.promise = promise; - this.type = type; - this.handler = handler; - this.called = false; - this.cancelPromise = null; -} - -PassThroughHandlerContext.prototype.isFinallyHandler = function() { - return this.type === 0; -}; - -function FinallyHandlerCancelReaction(finallyHandler) { - this.finallyHandler = finallyHandler; -} - -FinallyHandlerCancelReaction.prototype._resultCancelled = function() { - checkCancel(this.finallyHandler); -}; - -function checkCancel(ctx, reason) { - if (ctx.cancelPromise != null) { - if (arguments.length > 1) { - ctx.cancelPromise._reject(reason); - } else { - ctx.cancelPromise._cancel(); - } - ctx.cancelPromise = null; - return true; - } - return false; -} - -function succeed() { - return finallyHandler.call(this, this.promise._target()._settledValue()); -} -function fail(reason) { - if (checkCancel(this, reason)) return; - errorObj.e = reason; - return errorObj; -} -function finallyHandler(reasonOrValue) { - var promise = this.promise; - var handler = this.handler; - - if (!this.called) { - this.called = true; - var ret = this.isFinallyHandler() - ? handler.call(promise._boundValue()) - : handler.call(promise._boundValue(), reasonOrValue); - if (ret === NEXT_FILTER) { - return ret; - } else if (ret !== undefined) { - promise._setReturnedNonUndefined(); - var maybePromise = tryConvertToPromise(ret, promise); - if (maybePromise instanceof Promise) { - if (this.cancelPromise != null) { - if (maybePromise._isCancelled()) { - var reason = - new CancellationError("late cancellation observer"); - promise._attachExtraTrace(reason); - errorObj.e = reason; - return errorObj; - } else if (maybePromise.isPending()) { - maybePromise._attachCancellationCallback( - new FinallyHandlerCancelReaction(this)); - } - } - return maybePromise._then( - succeed, fail, undefined, this, undefined); - } - } - } - - if (promise.isRejected()) { - checkCancel(this); - errorObj.e = reasonOrValue; - return errorObj; - } else { - checkCancel(this); - return reasonOrValue; - } -} - -Promise.prototype._passThrough = function(handler, type, success, fail) { - if (typeof handler !== "function") return this.then(); - return this._then(success, - fail, - undefined, - new PassThroughHandlerContext(this, type, handler), - undefined); -}; - -Promise.prototype.lastly = -Promise.prototype["finally"] = function (handler) { - return this._passThrough(handler, - 0, - finallyHandler, - finallyHandler); -}; - - -Promise.prototype.tap = function (handler) { - return this._passThrough(handler, 1, finallyHandler); -}; - -Promise.prototype.tapCatch = function (handlerOrPredicate) { - var len = arguments.length; - if(len === 1) { - return this._passThrough(handlerOrPredicate, - 1, - undefined, - finallyHandler); - } else { - var catchInstances = new Array(len - 1), - j = 0, i; - for (i = 0; i < len - 1; ++i) { - var item = arguments[i]; - if (util.isObject(item)) { - catchInstances[j++] = item; - } else { - return Promise.reject(new TypeError( - "tapCatch statement predicate: " - + "expecting an object but got " + util.classString(item) - )); - } - } - catchInstances.length = j; - var handler = arguments[i]; - return this._passThrough(catchFilter(catchInstances, handler, this), - 1, - undefined, - finallyHandler); - } - -}; - -return PassThroughHandlerContext; -}; diff --git a/publi/node_modules/bluebird/js/release/generators.js b/publi/node_modules/bluebird/js/release/generators.js deleted file mode 100644 index 500c280..0000000 --- a/publi/node_modules/bluebird/js/release/generators.js +++ /dev/null @@ -1,223 +0,0 @@ -"use strict"; -module.exports = function(Promise, - apiRejection, - INTERNAL, - tryConvertToPromise, - Proxyable, - debug) { -var errors = require("./errors"); -var TypeError = errors.TypeError; -var util = require("./util"); -var errorObj = util.errorObj; -var tryCatch = util.tryCatch; -var yieldHandlers = []; - -function promiseFromYieldHandler(value, yieldHandlers, traceParent) { - for (var i = 0; i < yieldHandlers.length; ++i) { - traceParent._pushContext(); - var result = tryCatch(yieldHandlers[i])(value); - traceParent._popContext(); - if (result === errorObj) { - traceParent._pushContext(); - var ret = Promise.reject(errorObj.e); - traceParent._popContext(); - return ret; - } - var maybePromise = tryConvertToPromise(result, traceParent); - if (maybePromise instanceof Promise) return maybePromise; - } - return null; -} - -function PromiseSpawn(generatorFunction, receiver, yieldHandler, stack) { - if (debug.cancellation()) { - var internal = new Promise(INTERNAL); - var _finallyPromise = this._finallyPromise = new Promise(INTERNAL); - this._promise = internal.lastly(function() { - return _finallyPromise; - }); - internal._captureStackTrace(); - internal._setOnCancel(this); - } else { - var promise = this._promise = new Promise(INTERNAL); - promise._captureStackTrace(); - } - this._stack = stack; - this._generatorFunction = generatorFunction; - this._receiver = receiver; - this._generator = undefined; - this._yieldHandlers = typeof yieldHandler === "function" - ? [yieldHandler].concat(yieldHandlers) - : yieldHandlers; - this._yieldedPromise = null; - this._cancellationPhase = false; -} -util.inherits(PromiseSpawn, Proxyable); - -PromiseSpawn.prototype._isResolved = function() { - return this._promise === null; -}; - -PromiseSpawn.prototype._cleanup = function() { - this._promise = this._generator = null; - if (debug.cancellation() && this._finallyPromise !== null) { - this._finallyPromise._fulfill(); - this._finallyPromise = null; - } -}; - -PromiseSpawn.prototype._promiseCancelled = function() { - if (this._isResolved()) return; - var implementsReturn = typeof this._generator["return"] !== "undefined"; - - var result; - if (!implementsReturn) { - var reason = new Promise.CancellationError( - "generator .return() sentinel"); - Promise.coroutine.returnSentinel = reason; - this._promise._attachExtraTrace(reason); - this._promise._pushContext(); - result = tryCatch(this._generator["throw"]).call(this._generator, - reason); - this._promise._popContext(); - } else { - this._promise._pushContext(); - result = tryCatch(this._generator["return"]).call(this._generator, - undefined); - this._promise._popContext(); - } - this._cancellationPhase = true; - this._yieldedPromise = null; - this._continue(result); -}; - -PromiseSpawn.prototype._promiseFulfilled = function(value) { - this._yieldedPromise = null; - this._promise._pushContext(); - var result = tryCatch(this._generator.next).call(this._generator, value); - this._promise._popContext(); - this._continue(result); -}; - -PromiseSpawn.prototype._promiseRejected = function(reason) { - this._yieldedPromise = null; - this._promise._attachExtraTrace(reason); - this._promise._pushContext(); - var result = tryCatch(this._generator["throw"]) - .call(this._generator, reason); - this._promise._popContext(); - this._continue(result); -}; - -PromiseSpawn.prototype._resultCancelled = function() { - if (this._yieldedPromise instanceof Promise) { - var promise = this._yieldedPromise; - this._yieldedPromise = null; - promise.cancel(); - } -}; - -PromiseSpawn.prototype.promise = function () { - return this._promise; -}; - -PromiseSpawn.prototype._run = function () { - this._generator = this._generatorFunction.call(this._receiver); - this._receiver = - this._generatorFunction = undefined; - this._promiseFulfilled(undefined); -}; - -PromiseSpawn.prototype._continue = function (result) { - var promise = this._promise; - if (result === errorObj) { - this._cleanup(); - if (this._cancellationPhase) { - return promise.cancel(); - } else { - return promise._rejectCallback(result.e, false); - } - } - - var value = result.value; - if (result.done === true) { - this._cleanup(); - if (this._cancellationPhase) { - return promise.cancel(); - } else { - return promise._resolveCallback(value); - } - } else { - var maybePromise = tryConvertToPromise(value, this._promise); - if (!(maybePromise instanceof Promise)) { - maybePromise = - promiseFromYieldHandler(maybePromise, - this._yieldHandlers, - this._promise); - if (maybePromise === null) { - this._promiseRejected( - new TypeError( - "A value %s was yielded that could not be treated as a promise\u000a\u000a See http://goo.gl/MqrFmX\u000a\u000a".replace("%s", String(value)) + - "From coroutine:\u000a" + - this._stack.split("\n").slice(1, -7).join("\n") - ) - ); - return; - } - } - maybePromise = maybePromise._target(); - var bitField = maybePromise._bitField; - ; - if (((bitField & 50397184) === 0)) { - this._yieldedPromise = maybePromise; - maybePromise._proxy(this, null); - } else if (((bitField & 33554432) !== 0)) { - Promise._async.invoke( - this._promiseFulfilled, this, maybePromise._value() - ); - } else if (((bitField & 16777216) !== 0)) { - Promise._async.invoke( - this._promiseRejected, this, maybePromise._reason() - ); - } else { - this._promiseCancelled(); - } - } -}; - -Promise.coroutine = function (generatorFunction, options) { - if (typeof generatorFunction !== "function") { - throw new TypeError("generatorFunction must be a function\u000a\u000a See http://goo.gl/MqrFmX\u000a"); - } - var yieldHandler = Object(options).yieldHandler; - var PromiseSpawn$ = PromiseSpawn; - var stack = new Error().stack; - return function () { - var generator = generatorFunction.apply(this, arguments); - var spawn = new PromiseSpawn$(undefined, undefined, yieldHandler, - stack); - var ret = spawn.promise(); - spawn._generator = generator; - spawn._promiseFulfilled(undefined); - return ret; - }; -}; - -Promise.coroutine.addYieldHandler = function(fn) { - if (typeof fn !== "function") { - throw new TypeError("expecting a function but got " + util.classString(fn)); - } - yieldHandlers.push(fn); -}; - -Promise.spawn = function (generatorFunction) { - debug.deprecated("Promise.spawn()", "Promise.coroutine()"); - if (typeof generatorFunction !== "function") { - return apiRejection("generatorFunction must be a function\u000a\u000a See http://goo.gl/MqrFmX\u000a"); - } - var spawn = new PromiseSpawn(generatorFunction, this); - var ret = spawn.promise(); - spawn._run(Promise.spawn); - return ret; -}; -}; diff --git a/publi/node_modules/bluebird/js/release/join.js b/publi/node_modules/bluebird/js/release/join.js deleted file mode 100644 index 4945e3f..0000000 --- a/publi/node_modules/bluebird/js/release/join.js +++ /dev/null @@ -1,168 +0,0 @@ -"use strict"; -module.exports = -function(Promise, PromiseArray, tryConvertToPromise, INTERNAL, async, - getDomain) { -var util = require("./util"); -var canEvaluate = util.canEvaluate; -var tryCatch = util.tryCatch; -var errorObj = util.errorObj; -var reject; - -if (!false) { -if (canEvaluate) { - var thenCallback = function(i) { - return new Function("value", "holder", " \n\ - 'use strict'; \n\ - holder.pIndex = value; \n\ - holder.checkFulfillment(this); \n\ - ".replace(/Index/g, i)); - }; - - var promiseSetter = function(i) { - return new Function("promise", "holder", " \n\ - 'use strict'; \n\ - holder.pIndex = promise; \n\ - ".replace(/Index/g, i)); - }; - - var generateHolderClass = function(total) { - var props = new Array(total); - for (var i = 0; i < props.length; ++i) { - props[i] = "this.p" + (i+1); - } - var assignment = props.join(" = ") + " = null;"; - var cancellationCode= "var promise;\n" + props.map(function(prop) { - return " \n\ - promise = " + prop + "; \n\ - if (promise instanceof Promise) { \n\ - promise.cancel(); \n\ - } \n\ - "; - }).join("\n"); - var passedArguments = props.join(", "); - var name = "Holder$" + total; - - - var code = "return function(tryCatch, errorObj, Promise, async) { \n\ - 'use strict'; \n\ - function [TheName](fn) { \n\ - [TheProperties] \n\ - this.fn = fn; \n\ - this.asyncNeeded = true; \n\ - this.now = 0; \n\ - } \n\ - \n\ - [TheName].prototype._callFunction = function(promise) { \n\ - promise._pushContext(); \n\ - var ret = tryCatch(this.fn)([ThePassedArguments]); \n\ - promise._popContext(); \n\ - if (ret === errorObj) { \n\ - promise._rejectCallback(ret.e, false); \n\ - } else { \n\ - promise._resolveCallback(ret); \n\ - } \n\ - }; \n\ - \n\ - [TheName].prototype.checkFulfillment = function(promise) { \n\ - var now = ++this.now; \n\ - if (now === [TheTotal]) { \n\ - if (this.asyncNeeded) { \n\ - async.invoke(this._callFunction, this, promise); \n\ - } else { \n\ - this._callFunction(promise); \n\ - } \n\ - \n\ - } \n\ - }; \n\ - \n\ - [TheName].prototype._resultCancelled = function() { \n\ - [CancellationCode] \n\ - }; \n\ - \n\ - return [TheName]; \n\ - }(tryCatch, errorObj, Promise, async); \n\ - "; - - code = code.replace(/\[TheName\]/g, name) - .replace(/\[TheTotal\]/g, total) - .replace(/\[ThePassedArguments\]/g, passedArguments) - .replace(/\[TheProperties\]/g, assignment) - .replace(/\[CancellationCode\]/g, cancellationCode); - - return new Function("tryCatch", "errorObj", "Promise", "async", code) - (tryCatch, errorObj, Promise, async); - }; - - var holderClasses = []; - var thenCallbacks = []; - var promiseSetters = []; - - for (var i = 0; i < 8; ++i) { - holderClasses.push(generateHolderClass(i + 1)); - thenCallbacks.push(thenCallback(i + 1)); - promiseSetters.push(promiseSetter(i + 1)); - } - - reject = function (reason) { - this._reject(reason); - }; -}} - -Promise.join = function () { - var last = arguments.length - 1; - var fn; - if (last > 0 && typeof arguments[last] === "function") { - fn = arguments[last]; - if (!false) { - if (last <= 8 && canEvaluate) { - var ret = new Promise(INTERNAL); - ret._captureStackTrace(); - var HolderClass = holderClasses[last - 1]; - var holder = new HolderClass(fn); - var callbacks = thenCallbacks; - - for (var i = 0; i < last; ++i) { - var maybePromise = tryConvertToPromise(arguments[i], ret); - if (maybePromise instanceof Promise) { - maybePromise = maybePromise._target(); - var bitField = maybePromise._bitField; - ; - if (((bitField & 50397184) === 0)) { - maybePromise._then(callbacks[i], reject, - undefined, ret, holder); - promiseSetters[i](maybePromise, holder); - holder.asyncNeeded = false; - } else if (((bitField & 33554432) !== 0)) { - callbacks[i].call(ret, - maybePromise._value(), holder); - } else if (((bitField & 16777216) !== 0)) { - ret._reject(maybePromise._reason()); - } else { - ret._cancel(); - } - } else { - callbacks[i].call(ret, maybePromise, holder); - } - } - - if (!ret._isFateSealed()) { - if (holder.asyncNeeded) { - var domain = getDomain(); - if (domain !== null) { - holder.fn = util.domainBind(domain, holder.fn); - } - } - ret._setAsyncGuaranteed(); - ret._setOnCancel(holder); - } - return ret; - } - } - } - var $_len = arguments.length;var args = new Array($_len); for(var $_i = 0; $_i < $_len; ++$_i) {args[$_i] = arguments[$_i];}; - if (fn) args.pop(); - var ret = new PromiseArray(args).promise(); - return fn !== undefined ? ret.spread(fn) : ret; -}; - -}; diff --git a/publi/node_modules/bluebird/js/release/map.js b/publi/node_modules/bluebird/js/release/map.js deleted file mode 100644 index 976f15e..0000000 --- a/publi/node_modules/bluebird/js/release/map.js +++ /dev/null @@ -1,168 +0,0 @@ -"use strict"; -module.exports = function(Promise, - PromiseArray, - apiRejection, - tryConvertToPromise, - INTERNAL, - debug) { -var getDomain = Promise._getDomain; -var util = require("./util"); -var tryCatch = util.tryCatch; -var errorObj = util.errorObj; -var async = Promise._async; - -function MappingPromiseArray(promises, fn, limit, _filter) { - this.constructor$(promises); - this._promise._captureStackTrace(); - var domain = getDomain(); - this._callback = domain === null ? fn : util.domainBind(domain, fn); - this._preservedValues = _filter === INTERNAL - ? new Array(this.length()) - : null; - this._limit = limit; - this._inFlight = 0; - this._queue = []; - async.invoke(this._asyncInit, this, undefined); -} -util.inherits(MappingPromiseArray, PromiseArray); - -MappingPromiseArray.prototype._asyncInit = function() { - this._init$(undefined, -2); -}; - -MappingPromiseArray.prototype._init = function () {}; - -MappingPromiseArray.prototype._promiseFulfilled = function (value, index) { - var values = this._values; - var length = this.length(); - var preservedValues = this._preservedValues; - var limit = this._limit; - - if (index < 0) { - index = (index * -1) - 1; - values[index] = value; - if (limit >= 1) { - this._inFlight--; - this._drainQueue(); - if (this._isResolved()) return true; - } - } else { - if (limit >= 1 && this._inFlight >= limit) { - values[index] = value; - this._queue.push(index); - return false; - } - if (preservedValues !== null) preservedValues[index] = value; - - var promise = this._promise; - var callback = this._callback; - var receiver = promise._boundValue(); - promise._pushContext(); - var ret = tryCatch(callback).call(receiver, value, index, length); - var promiseCreated = promise._popContext(); - debug.checkForgottenReturns( - ret, - promiseCreated, - preservedValues !== null ? "Promise.filter" : "Promise.map", - promise - ); - if (ret === errorObj) { - this._reject(ret.e); - return true; - } - - var maybePromise = tryConvertToPromise(ret, this._promise); - if (maybePromise instanceof Promise) { - maybePromise = maybePromise._target(); - var bitField = maybePromise._bitField; - ; - if (((bitField & 50397184) === 0)) { - if (limit >= 1) this._inFlight++; - values[index] = maybePromise; - maybePromise._proxy(this, (index + 1) * -1); - return false; - } else if (((bitField & 33554432) !== 0)) { - ret = maybePromise._value(); - } else if (((bitField & 16777216) !== 0)) { - this._reject(maybePromise._reason()); - return true; - } else { - this._cancel(); - return true; - } - } - values[index] = ret; - } - var totalResolved = ++this._totalResolved; - if (totalResolved >= length) { - if (preservedValues !== null) { - this._filter(values, preservedValues); - } else { - this._resolve(values); - } - return true; - } - return false; -}; - -MappingPromiseArray.prototype._drainQueue = function () { - var queue = this._queue; - var limit = this._limit; - var values = this._values; - while (queue.length > 0 && this._inFlight < limit) { - if (this._isResolved()) return; - var index = queue.pop(); - this._promiseFulfilled(values[index], index); - } -}; - -MappingPromiseArray.prototype._filter = function (booleans, values) { - var len = values.length; - var ret = new Array(len); - var j = 0; - for (var i = 0; i < len; ++i) { - if (booleans[i]) ret[j++] = values[i]; - } - ret.length = j; - this._resolve(ret); -}; - -MappingPromiseArray.prototype.preservedValues = function () { - return this._preservedValues; -}; - -function map(promises, fn, options, _filter) { - if (typeof fn !== "function") { - return apiRejection("expecting a function but got " + util.classString(fn)); - } - - var limit = 0; - if (options !== undefined) { - if (typeof options === "object" && options !== null) { - if (typeof options.concurrency !== "number") { - return Promise.reject( - new TypeError("'concurrency' must be a number but it is " + - util.classString(options.concurrency))); - } - limit = options.concurrency; - } else { - return Promise.reject(new TypeError( - "options argument must be an object but it is " + - util.classString(options))); - } - } - limit = typeof limit === "number" && - isFinite(limit) && limit >= 1 ? limit : 0; - return new MappingPromiseArray(promises, fn, limit, _filter).promise(); -} - -Promise.prototype.map = function (fn, options) { - return map(this, fn, options, null); -}; - -Promise.map = function (promises, fn, options, _filter) { - return map(promises, fn, options, _filter); -}; - - -}; diff --git a/publi/node_modules/bluebird/js/release/method.js b/publi/node_modules/bluebird/js/release/method.js deleted file mode 100644 index ce9e4db..0000000 --- a/publi/node_modules/bluebird/js/release/method.js +++ /dev/null @@ -1,55 +0,0 @@ -"use strict"; -module.exports = -function(Promise, INTERNAL, tryConvertToPromise, apiRejection, debug) { -var util = require("./util"); -var tryCatch = util.tryCatch; - -Promise.method = function (fn) { - if (typeof fn !== "function") { - throw new Promise.TypeError("expecting a function but got " + util.classString(fn)); - } - return function () { - var ret = new Promise(INTERNAL); - ret._captureStackTrace(); - ret._pushContext(); - var value = tryCatch(fn).apply(this, arguments); - var promiseCreated = ret._popContext(); - debug.checkForgottenReturns( - value, promiseCreated, "Promise.method", ret); - ret._resolveFromSyncValue(value); - return ret; - }; -}; - -Promise.attempt = Promise["try"] = function (fn) { - if (typeof fn !== "function") { - return apiRejection("expecting a function but got " + util.classString(fn)); - } - var ret = new Promise(INTERNAL); - ret._captureStackTrace(); - ret._pushContext(); - var value; - if (arguments.length > 1) { - debug.deprecated("calling Promise.try with more than 1 argument"); - var arg = arguments[1]; - var ctx = arguments[2]; - value = util.isArray(arg) ? tryCatch(fn).apply(ctx, arg) - : tryCatch(fn).call(ctx, arg); - } else { - value = tryCatch(fn)(); - } - var promiseCreated = ret._popContext(); - debug.checkForgottenReturns( - value, promiseCreated, "Promise.try", ret); - ret._resolveFromSyncValue(value); - return ret; -}; - -Promise.prototype._resolveFromSyncValue = function (value) { - if (value === util.errorObj) { - this._rejectCallback(value.e, false); - } else { - this._resolveCallback(value, true); - } -}; -}; diff --git a/publi/node_modules/bluebird/js/release/nodeback.js b/publi/node_modules/bluebird/js/release/nodeback.js deleted file mode 100644 index 71e69eb..0000000 --- a/publi/node_modules/bluebird/js/release/nodeback.js +++ /dev/null @@ -1,51 +0,0 @@ -"use strict"; -var util = require("./util"); -var maybeWrapAsError = util.maybeWrapAsError; -var errors = require("./errors"); -var OperationalError = errors.OperationalError; -var es5 = require("./es5"); - -function isUntypedError(obj) { - return obj instanceof Error && - es5.getPrototypeOf(obj) === Error.prototype; -} - -var rErrorKey = /^(?:name|message|stack|cause)$/; -function wrapAsOperationalError(obj) { - var ret; - if (isUntypedError(obj)) { - ret = new OperationalError(obj); - ret.name = obj.name; - ret.message = obj.message; - ret.stack = obj.stack; - var keys = es5.keys(obj); - for (var i = 0; i < keys.length; ++i) { - var key = keys[i]; - if (!rErrorKey.test(key)) { - ret[key] = obj[key]; - } - } - return ret; - } - util.markAsOriginatingFromRejection(obj); - return obj; -} - -function nodebackForPromise(promise, multiArgs) { - return function(err, value) { - if (promise === null) return; - if (err) { - var wrapped = wrapAsOperationalError(maybeWrapAsError(err)); - promise._attachExtraTrace(wrapped); - promise._reject(wrapped); - } else if (!multiArgs) { - promise._fulfill(value); - } else { - var $_len = arguments.length;var args = new Array(Math.max($_len - 1, 0)); for(var $_i = 1; $_i < $_len; ++$_i) {args[$_i - 1] = arguments[$_i];}; - promise._fulfill(args); - } - promise = null; - }; -} - -module.exports = nodebackForPromise; diff --git a/publi/node_modules/bluebird/js/release/nodeify.js b/publi/node_modules/bluebird/js/release/nodeify.js deleted file mode 100644 index ce2b190..0000000 --- a/publi/node_modules/bluebird/js/release/nodeify.js +++ /dev/null @@ -1,58 +0,0 @@ -"use strict"; -module.exports = function(Promise) { -var util = require("./util"); -var async = Promise._async; -var tryCatch = util.tryCatch; -var errorObj = util.errorObj; - -function spreadAdapter(val, nodeback) { - var promise = this; - if (!util.isArray(val)) return successAdapter.call(promise, val, nodeback); - var ret = - tryCatch(nodeback).apply(promise._boundValue(), [null].concat(val)); - if (ret === errorObj) { - async.throwLater(ret.e); - } -} - -function successAdapter(val, nodeback) { - var promise = this; - var receiver = promise._boundValue(); - var ret = val === undefined - ? tryCatch(nodeback).call(receiver, null) - : tryCatch(nodeback).call(receiver, null, val); - if (ret === errorObj) { - async.throwLater(ret.e); - } -} -function errorAdapter(reason, nodeback) { - var promise = this; - if (!reason) { - var newReason = new Error(reason + ""); - newReason.cause = reason; - reason = newReason; - } - var ret = tryCatch(nodeback).call(promise._boundValue(), reason); - if (ret === errorObj) { - async.throwLater(ret.e); - } -} - -Promise.prototype.asCallback = Promise.prototype.nodeify = function (nodeback, - options) { - if (typeof nodeback == "function") { - var adapter = successAdapter; - if (options !== undefined && Object(options).spread) { - adapter = spreadAdapter; - } - this._then( - adapter, - errorAdapter, - undefined, - this, - nodeback - ); - } - return this; -}; -}; diff --git a/publi/node_modules/bluebird/js/release/promise.js b/publi/node_modules/bluebird/js/release/promise.js deleted file mode 100644 index f4a641c..0000000 --- a/publi/node_modules/bluebird/js/release/promise.js +++ /dev/null @@ -1,775 +0,0 @@ -"use strict"; -module.exports = function() { -var makeSelfResolutionError = function () { - return new TypeError("circular promise resolution chain\u000a\u000a See http://goo.gl/MqrFmX\u000a"); -}; -var reflectHandler = function() { - return new Promise.PromiseInspection(this._target()); -}; -var apiRejection = function(msg) { - return Promise.reject(new TypeError(msg)); -}; -function Proxyable() {} -var UNDEFINED_BINDING = {}; -var util = require("./util"); - -var getDomain; -if (util.isNode) { - getDomain = function() { - var ret = process.domain; - if (ret === undefined) ret = null; - return ret; - }; -} else { - getDomain = function() { - return null; - }; -} -util.notEnumerableProp(Promise, "_getDomain", getDomain); - -var es5 = require("./es5"); -var Async = require("./async"); -var async = new Async(); -es5.defineProperty(Promise, "_async", {value: async}); -var errors = require("./errors"); -var TypeError = Promise.TypeError = errors.TypeError; -Promise.RangeError = errors.RangeError; -var CancellationError = Promise.CancellationError = errors.CancellationError; -Promise.TimeoutError = errors.TimeoutError; -Promise.OperationalError = errors.OperationalError; -Promise.RejectionError = errors.OperationalError; -Promise.AggregateError = errors.AggregateError; -var INTERNAL = function(){}; -var APPLY = {}; -var NEXT_FILTER = {}; -var tryConvertToPromise = require("./thenables")(Promise, INTERNAL); -var PromiseArray = - require("./promise_array")(Promise, INTERNAL, - tryConvertToPromise, apiRejection, Proxyable); -var Context = require("./context")(Promise); - /*jshint unused:false*/ -var createContext = Context.create; -var debug = require("./debuggability")(Promise, Context); -var CapturedTrace = debug.CapturedTrace; -var PassThroughHandlerContext = - require("./finally")(Promise, tryConvertToPromise, NEXT_FILTER); -var catchFilter = require("./catch_filter")(NEXT_FILTER); -var nodebackForPromise = require("./nodeback"); -var errorObj = util.errorObj; -var tryCatch = util.tryCatch; -function check(self, executor) { - if (self == null || self.constructor !== Promise) { - throw new TypeError("the promise constructor cannot be invoked directly\u000a\u000a See http://goo.gl/MqrFmX\u000a"); - } - if (typeof executor !== "function") { - throw new TypeError("expecting a function but got " + util.classString(executor)); - } - -} - -function Promise(executor) { - if (executor !== INTERNAL) { - check(this, executor); - } - this._bitField = 0; - this._fulfillmentHandler0 = undefined; - this._rejectionHandler0 = undefined; - this._promise0 = undefined; - this._receiver0 = undefined; - this._resolveFromExecutor(executor); - this._promiseCreated(); - this._fireEvent("promiseCreated", this); -} - -Promise.prototype.toString = function () { - return "[object Promise]"; -}; - -Promise.prototype.caught = Promise.prototype["catch"] = function (fn) { - var len = arguments.length; - if (len > 1) { - var catchInstances = new Array(len - 1), - j = 0, i; - for (i = 0; i < len - 1; ++i) { - var item = arguments[i]; - if (util.isObject(item)) { - catchInstances[j++] = item; - } else { - return apiRejection("Catch statement predicate: " + - "expecting an object but got " + util.classString(item)); - } - } - catchInstances.length = j; - fn = arguments[i]; - return this.then(undefined, catchFilter(catchInstances, fn, this)); - } - return this.then(undefined, fn); -}; - -Promise.prototype.reflect = function () { - return this._then(reflectHandler, - reflectHandler, undefined, this, undefined); -}; - -Promise.prototype.then = function (didFulfill, didReject) { - if (debug.warnings() && arguments.length > 0 && - typeof didFulfill !== "function" && - typeof didReject !== "function") { - var msg = ".then() only accepts functions but was passed: " + - util.classString(didFulfill); - if (arguments.length > 1) { - msg += ", " + util.classString(didReject); - } - this._warn(msg); - } - return this._then(didFulfill, didReject, undefined, undefined, undefined); -}; - -Promise.prototype.done = function (didFulfill, didReject) { - var promise = - this._then(didFulfill, didReject, undefined, undefined, undefined); - promise._setIsFinal(); -}; - -Promise.prototype.spread = function (fn) { - if (typeof fn !== "function") { - return apiRejection("expecting a function but got " + util.classString(fn)); - } - return this.all()._then(fn, undefined, undefined, APPLY, undefined); -}; - -Promise.prototype.toJSON = function () { - var ret = { - isFulfilled: false, - isRejected: false, - fulfillmentValue: undefined, - rejectionReason: undefined - }; - if (this.isFulfilled()) { - ret.fulfillmentValue = this.value(); - ret.isFulfilled = true; - } else if (this.isRejected()) { - ret.rejectionReason = this.reason(); - ret.isRejected = true; - } - return ret; -}; - -Promise.prototype.all = function () { - if (arguments.length > 0) { - this._warn(".all() was passed arguments but it does not take any"); - } - return new PromiseArray(this).promise(); -}; - -Promise.prototype.error = function (fn) { - return this.caught(util.originatesFromRejection, fn); -}; - -Promise.getNewLibraryCopy = module.exports; - -Promise.is = function (val) { - return val instanceof Promise; -}; - -Promise.fromNode = Promise.fromCallback = function(fn) { - var ret = new Promise(INTERNAL); - ret._captureStackTrace(); - var multiArgs = arguments.length > 1 ? !!Object(arguments[1]).multiArgs - : false; - var result = tryCatch(fn)(nodebackForPromise(ret, multiArgs)); - if (result === errorObj) { - ret._rejectCallback(result.e, true); - } - if (!ret._isFateSealed()) ret._setAsyncGuaranteed(); - return ret; -}; - -Promise.all = function (promises) { - return new PromiseArray(promises).promise(); -}; - -Promise.cast = function (obj) { - var ret = tryConvertToPromise(obj); - if (!(ret instanceof Promise)) { - ret = new Promise(INTERNAL); - ret._captureStackTrace(); - ret._setFulfilled(); - ret._rejectionHandler0 = obj; - } - return ret; -}; - -Promise.resolve = Promise.fulfilled = Promise.cast; - -Promise.reject = Promise.rejected = function (reason) { - var ret = new Promise(INTERNAL); - ret._captureStackTrace(); - ret._rejectCallback(reason, true); - return ret; -}; - -Promise.setScheduler = function(fn) { - if (typeof fn !== "function") { - throw new TypeError("expecting a function but got " + util.classString(fn)); - } - return async.setScheduler(fn); -}; - -Promise.prototype._then = function ( - didFulfill, - didReject, - _, receiver, - internalData -) { - var haveInternalData = internalData !== undefined; - var promise = haveInternalData ? internalData : new Promise(INTERNAL); - var target = this._target(); - var bitField = target._bitField; - - if (!haveInternalData) { - promise._propagateFrom(this, 3); - promise._captureStackTrace(); - if (receiver === undefined && - ((this._bitField & 2097152) !== 0)) { - if (!((bitField & 50397184) === 0)) { - receiver = this._boundValue(); - } else { - receiver = target === this ? undefined : this._boundTo; - } - } - this._fireEvent("promiseChained", this, promise); - } - - var domain = getDomain(); - if (!((bitField & 50397184) === 0)) { - var handler, value, settler = target._settlePromiseCtx; - if (((bitField & 33554432) !== 0)) { - value = target._rejectionHandler0; - handler = didFulfill; - } else if (((bitField & 16777216) !== 0)) { - value = target._fulfillmentHandler0; - handler = didReject; - target._unsetRejectionIsUnhandled(); - } else { - settler = target._settlePromiseLateCancellationObserver; - value = new CancellationError("late cancellation observer"); - target._attachExtraTrace(value); - handler = didReject; - } - - async.invoke(settler, target, { - handler: domain === null ? handler - : (typeof handler === "function" && - util.domainBind(domain, handler)), - promise: promise, - receiver: receiver, - value: value - }); - } else { - target._addCallbacks(didFulfill, didReject, promise, receiver, domain); - } - - return promise; -}; - -Promise.prototype._length = function () { - return this._bitField & 65535; -}; - -Promise.prototype._isFateSealed = function () { - return (this._bitField & 117506048) !== 0; -}; - -Promise.prototype._isFollowing = function () { - return (this._bitField & 67108864) === 67108864; -}; - -Promise.prototype._setLength = function (len) { - this._bitField = (this._bitField & -65536) | - (len & 65535); -}; - -Promise.prototype._setFulfilled = function () { - this._bitField = this._bitField | 33554432; - this._fireEvent("promiseFulfilled", this); -}; - -Promise.prototype._setRejected = function () { - this._bitField = this._bitField | 16777216; - this._fireEvent("promiseRejected", this); -}; - -Promise.prototype._setFollowing = function () { - this._bitField = this._bitField | 67108864; - this._fireEvent("promiseResolved", this); -}; - -Promise.prototype._setIsFinal = function () { - this._bitField = this._bitField | 4194304; -}; - -Promise.prototype._isFinal = function () { - return (this._bitField & 4194304) > 0; -}; - -Promise.prototype._unsetCancelled = function() { - this._bitField = this._bitField & (~65536); -}; - -Promise.prototype._setCancelled = function() { - this._bitField = this._bitField | 65536; - this._fireEvent("promiseCancelled", this); -}; - -Promise.prototype._setWillBeCancelled = function() { - this._bitField = this._bitField | 8388608; -}; - -Promise.prototype._setAsyncGuaranteed = function() { - if (async.hasCustomScheduler()) return; - this._bitField = this._bitField | 134217728; -}; - -Promise.prototype._receiverAt = function (index) { - var ret = index === 0 ? this._receiver0 : this[ - index * 4 - 4 + 3]; - if (ret === UNDEFINED_BINDING) { - return undefined; - } else if (ret === undefined && this._isBound()) { - return this._boundValue(); - } - return ret; -}; - -Promise.prototype._promiseAt = function (index) { - return this[ - index * 4 - 4 + 2]; -}; - -Promise.prototype._fulfillmentHandlerAt = function (index) { - return this[ - index * 4 - 4 + 0]; -}; - -Promise.prototype._rejectionHandlerAt = function (index) { - return this[ - index * 4 - 4 + 1]; -}; - -Promise.prototype._boundValue = function() {}; - -Promise.prototype._migrateCallback0 = function (follower) { - var bitField = follower._bitField; - var fulfill = follower._fulfillmentHandler0; - var reject = follower._rejectionHandler0; - var promise = follower._promise0; - var receiver = follower._receiverAt(0); - if (receiver === undefined) receiver = UNDEFINED_BINDING; - this._addCallbacks(fulfill, reject, promise, receiver, null); -}; - -Promise.prototype._migrateCallbackAt = function (follower, index) { - var fulfill = follower._fulfillmentHandlerAt(index); - var reject = follower._rejectionHandlerAt(index); - var promise = follower._promiseAt(index); - var receiver = follower._receiverAt(index); - if (receiver === undefined) receiver = UNDEFINED_BINDING; - this._addCallbacks(fulfill, reject, promise, receiver, null); -}; - -Promise.prototype._addCallbacks = function ( - fulfill, - reject, - promise, - receiver, - domain -) { - var index = this._length(); - - if (index >= 65535 - 4) { - index = 0; - this._setLength(0); - } - - if (index === 0) { - this._promise0 = promise; - this._receiver0 = receiver; - if (typeof fulfill === "function") { - this._fulfillmentHandler0 = - domain === null ? fulfill : util.domainBind(domain, fulfill); - } - if (typeof reject === "function") { - this._rejectionHandler0 = - domain === null ? reject : util.domainBind(domain, reject); - } - } else { - var base = index * 4 - 4; - this[base + 2] = promise; - this[base + 3] = receiver; - if (typeof fulfill === "function") { - this[base + 0] = - domain === null ? fulfill : util.domainBind(domain, fulfill); - } - if (typeof reject === "function") { - this[base + 1] = - domain === null ? reject : util.domainBind(domain, reject); - } - } - this._setLength(index + 1); - return index; -}; - -Promise.prototype._proxy = function (proxyable, arg) { - this._addCallbacks(undefined, undefined, arg, proxyable, null); -}; - -Promise.prototype._resolveCallback = function(value, shouldBind) { - if (((this._bitField & 117506048) !== 0)) return; - if (value === this) - return this._rejectCallback(makeSelfResolutionError(), false); - var maybePromise = tryConvertToPromise(value, this); - if (!(maybePromise instanceof Promise)) return this._fulfill(value); - - if (shouldBind) this._propagateFrom(maybePromise, 2); - - var promise = maybePromise._target(); - - if (promise === this) { - this._reject(makeSelfResolutionError()); - return; - } - - var bitField = promise._bitField; - if (((bitField & 50397184) === 0)) { - var len = this._length(); - if (len > 0) promise._migrateCallback0(this); - for (var i = 1; i < len; ++i) { - promise._migrateCallbackAt(this, i); - } - this._setFollowing(); - this._setLength(0); - this._setFollowee(promise); - } else if (((bitField & 33554432) !== 0)) { - this._fulfill(promise._value()); - } else if (((bitField & 16777216) !== 0)) { - this._reject(promise._reason()); - } else { - var reason = new CancellationError("late cancellation observer"); - promise._attachExtraTrace(reason); - this._reject(reason); - } -}; - -Promise.prototype._rejectCallback = -function(reason, synchronous, ignoreNonErrorWarnings) { - var trace = util.ensureErrorObject(reason); - var hasStack = trace === reason; - if (!hasStack && !ignoreNonErrorWarnings && debug.warnings()) { - var message = "a promise was rejected with a non-error: " + - util.classString(reason); - this._warn(message, true); - } - this._attachExtraTrace(trace, synchronous ? hasStack : false); - this._reject(reason); -}; - -Promise.prototype._resolveFromExecutor = function (executor) { - if (executor === INTERNAL) return; - var promise = this; - this._captureStackTrace(); - this._pushContext(); - var synchronous = true; - var r = this._execute(executor, function(value) { - promise._resolveCallback(value); - }, function (reason) { - promise._rejectCallback(reason, synchronous); - }); - synchronous = false; - this._popContext(); - - if (r !== undefined) { - promise._rejectCallback(r, true); - } -}; - -Promise.prototype._settlePromiseFromHandler = function ( - handler, receiver, value, promise -) { - var bitField = promise._bitField; - if (((bitField & 65536) !== 0)) return; - promise._pushContext(); - var x; - if (receiver === APPLY) { - if (!value || typeof value.length !== "number") { - x = errorObj; - x.e = new TypeError("cannot .spread() a non-array: " + - util.classString(value)); - } else { - x = tryCatch(handler).apply(this._boundValue(), value); - } - } else { - x = tryCatch(handler).call(receiver, value); - } - var promiseCreated = promise._popContext(); - bitField = promise._bitField; - if (((bitField & 65536) !== 0)) return; - - if (x === NEXT_FILTER) { - promise._reject(value); - } else if (x === errorObj) { - promise._rejectCallback(x.e, false); - } else { - debug.checkForgottenReturns(x, promiseCreated, "", promise, this); - promise._resolveCallback(x); - } -}; - -Promise.prototype._target = function() { - var ret = this; - while (ret._isFollowing()) ret = ret._followee(); - return ret; -}; - -Promise.prototype._followee = function() { - return this._rejectionHandler0; -}; - -Promise.prototype._setFollowee = function(promise) { - this._rejectionHandler0 = promise; -}; - -Promise.prototype._settlePromise = function(promise, handler, receiver, value) { - var isPromise = promise instanceof Promise; - var bitField = this._bitField; - var asyncGuaranteed = ((bitField & 134217728) !== 0); - if (((bitField & 65536) !== 0)) { - if (isPromise) promise._invokeInternalOnCancel(); - - if (receiver instanceof PassThroughHandlerContext && - receiver.isFinallyHandler()) { - receiver.cancelPromise = promise; - if (tryCatch(handler).call(receiver, value) === errorObj) { - promise._reject(errorObj.e); - } - } else if (handler === reflectHandler) { - promise._fulfill(reflectHandler.call(receiver)); - } else if (receiver instanceof Proxyable) { - receiver._promiseCancelled(promise); - } else if (isPromise || promise instanceof PromiseArray) { - promise._cancel(); - } else { - receiver.cancel(); - } - } else if (typeof handler === "function") { - if (!isPromise) { - handler.call(receiver, value, promise); - } else { - if (asyncGuaranteed) promise._setAsyncGuaranteed(); - this._settlePromiseFromHandler(handler, receiver, value, promise); - } - } else if (receiver instanceof Proxyable) { - if (!receiver._isResolved()) { - if (((bitField & 33554432) !== 0)) { - receiver._promiseFulfilled(value, promise); - } else { - receiver._promiseRejected(value, promise); - } - } - } else if (isPromise) { - if (asyncGuaranteed) promise._setAsyncGuaranteed(); - if (((bitField & 33554432) !== 0)) { - promise._fulfill(value); - } else { - promise._reject(value); - } - } -}; - -Promise.prototype._settlePromiseLateCancellationObserver = function(ctx) { - var handler = ctx.handler; - var promise = ctx.promise; - var receiver = ctx.receiver; - var value = ctx.value; - if (typeof handler === "function") { - if (!(promise instanceof Promise)) { - handler.call(receiver, value, promise); - } else { - this._settlePromiseFromHandler(handler, receiver, value, promise); - } - } else if (promise instanceof Promise) { - promise._reject(value); - } -}; - -Promise.prototype._settlePromiseCtx = function(ctx) { - this._settlePromise(ctx.promise, ctx.handler, ctx.receiver, ctx.value); -}; - -Promise.prototype._settlePromise0 = function(handler, value, bitField) { - var promise = this._promise0; - var receiver = this._receiverAt(0); - this._promise0 = undefined; - this._receiver0 = undefined; - this._settlePromise(promise, handler, receiver, value); -}; - -Promise.prototype._clearCallbackDataAtIndex = function(index) { - var base = index * 4 - 4; - this[base + 2] = - this[base + 3] = - this[base + 0] = - this[base + 1] = undefined; -}; - -Promise.prototype._fulfill = function (value) { - var bitField = this._bitField; - if (((bitField & 117506048) >>> 16)) return; - if (value === this) { - var err = makeSelfResolutionError(); - this._attachExtraTrace(err); - return this._reject(err); - } - this._setFulfilled(); - this._rejectionHandler0 = value; - - if ((bitField & 65535) > 0) { - if (((bitField & 134217728) !== 0)) { - this._settlePromises(); - } else { - async.settlePromises(this); - } - } -}; - -Promise.prototype._reject = function (reason) { - var bitField = this._bitField; - if (((bitField & 117506048) >>> 16)) return; - this._setRejected(); - this._fulfillmentHandler0 = reason; - - if (this._isFinal()) { - return async.fatalError(reason, util.isNode); - } - - if ((bitField & 65535) > 0) { - async.settlePromises(this); - } else { - this._ensurePossibleRejectionHandled(); - } -}; - -Promise.prototype._fulfillPromises = function (len, value) { - for (var i = 1; i < len; i++) { - var handler = this._fulfillmentHandlerAt(i); - var promise = this._promiseAt(i); - var receiver = this._receiverAt(i); - this._clearCallbackDataAtIndex(i); - this._settlePromise(promise, handler, receiver, value); - } -}; - -Promise.prototype._rejectPromises = function (len, reason) { - for (var i = 1; i < len; i++) { - var handler = this._rejectionHandlerAt(i); - var promise = this._promiseAt(i); - var receiver = this._receiverAt(i); - this._clearCallbackDataAtIndex(i); - this._settlePromise(promise, handler, receiver, reason); - } -}; - -Promise.prototype._settlePromises = function () { - var bitField = this._bitField; - var len = (bitField & 65535); - - if (len > 0) { - if (((bitField & 16842752) !== 0)) { - var reason = this._fulfillmentHandler0; - this._settlePromise0(this._rejectionHandler0, reason, bitField); - this._rejectPromises(len, reason); - } else { - var value = this._rejectionHandler0; - this._settlePromise0(this._fulfillmentHandler0, value, bitField); - this._fulfillPromises(len, value); - } - this._setLength(0); - } - this._clearCancellationData(); -}; - -Promise.prototype._settledValue = function() { - var bitField = this._bitField; - if (((bitField & 33554432) !== 0)) { - return this._rejectionHandler0; - } else if (((bitField & 16777216) !== 0)) { - return this._fulfillmentHandler0; - } -}; - -function deferResolve(v) {this.promise._resolveCallback(v);} -function deferReject(v) {this.promise._rejectCallback(v, false);} - -Promise.defer = Promise.pending = function() { - debug.deprecated("Promise.defer", "new Promise"); - var promise = new Promise(INTERNAL); - return { - promise: promise, - resolve: deferResolve, - reject: deferReject - }; -}; - -util.notEnumerableProp(Promise, - "_makeSelfResolutionError", - makeSelfResolutionError); - -require("./method")(Promise, INTERNAL, tryConvertToPromise, apiRejection, - debug); -require("./bind")(Promise, INTERNAL, tryConvertToPromise, debug); -require("./cancel")(Promise, PromiseArray, apiRejection, debug); -require("./direct_resolve")(Promise); -require("./synchronous_inspection")(Promise); -require("./join")( - Promise, PromiseArray, tryConvertToPromise, INTERNAL, async, getDomain); -Promise.Promise = Promise; -Promise.version = "3.5.1"; -require('./map.js')(Promise, PromiseArray, apiRejection, tryConvertToPromise, INTERNAL, debug); -require('./call_get.js')(Promise); -require('./using.js')(Promise, apiRejection, tryConvertToPromise, createContext, INTERNAL, debug); -require('./timers.js')(Promise, INTERNAL, debug); -require('./generators.js')(Promise, apiRejection, INTERNAL, tryConvertToPromise, Proxyable, debug); -require('./nodeify.js')(Promise); -require('./promisify.js')(Promise, INTERNAL); -require('./props.js')(Promise, PromiseArray, tryConvertToPromise, apiRejection); -require('./race.js')(Promise, INTERNAL, tryConvertToPromise, apiRejection); -require('./reduce.js')(Promise, PromiseArray, apiRejection, tryConvertToPromise, INTERNAL, debug); -require('./settle.js')(Promise, PromiseArray, debug); -require('./some.js')(Promise, PromiseArray, apiRejection); -require('./filter.js')(Promise, INTERNAL); -require('./each.js')(Promise, INTERNAL); -require('./any.js')(Promise); - - util.toFastProperties(Promise); - util.toFastProperties(Promise.prototype); - function fillTypes(value) { - var p = new Promise(INTERNAL); - p._fulfillmentHandler0 = value; - p._rejectionHandler0 = value; - p._promise0 = value; - p._receiver0 = value; - } - // Complete slack tracking, opt out of field-type tracking and - // stabilize map - fillTypes({a: 1}); - fillTypes({b: 2}); - fillTypes({c: 3}); - fillTypes(1); - fillTypes(function(){}); - fillTypes(undefined); - fillTypes(false); - fillTypes(new Promise(INTERNAL)); - debug.setBounds(Async.firstLineError, util.lastLineError); - return Promise; - -}; diff --git a/publi/node_modules/bluebird/js/release/promise_array.js b/publi/node_modules/bluebird/js/release/promise_array.js deleted file mode 100644 index 0fb303e..0000000 --- a/publi/node_modules/bluebird/js/release/promise_array.js +++ /dev/null @@ -1,185 +0,0 @@ -"use strict"; -module.exports = function(Promise, INTERNAL, tryConvertToPromise, - apiRejection, Proxyable) { -var util = require("./util"); -var isArray = util.isArray; - -function toResolutionValue(val) { - switch(val) { - case -2: return []; - case -3: return {}; - case -6: return new Map(); - } -} - -function PromiseArray(values) { - var promise = this._promise = new Promise(INTERNAL); - if (values instanceof Promise) { - promise._propagateFrom(values, 3); - } - promise._setOnCancel(this); - this._values = values; - this._length = 0; - this._totalResolved = 0; - this._init(undefined, -2); -} -util.inherits(PromiseArray, Proxyable); - -PromiseArray.prototype.length = function () { - return this._length; -}; - -PromiseArray.prototype.promise = function () { - return this._promise; -}; - -PromiseArray.prototype._init = function init(_, resolveValueIfEmpty) { - var values = tryConvertToPromise(this._values, this._promise); - if (values instanceof Promise) { - values = values._target(); - var bitField = values._bitField; - ; - this._values = values; - - if (((bitField & 50397184) === 0)) { - this._promise._setAsyncGuaranteed(); - return values._then( - init, - this._reject, - undefined, - this, - resolveValueIfEmpty - ); - } else if (((bitField & 33554432) !== 0)) { - values = values._value(); - } else if (((bitField & 16777216) !== 0)) { - return this._reject(values._reason()); - } else { - return this._cancel(); - } - } - values = util.asArray(values); - if (values === null) { - var err = apiRejection( - "expecting an array or an iterable object but got " + util.classString(values)).reason(); - this._promise._rejectCallback(err, false); - return; - } - - if (values.length === 0) { - if (resolveValueIfEmpty === -5) { - this._resolveEmptyArray(); - } - else { - this._resolve(toResolutionValue(resolveValueIfEmpty)); - } - return; - } - this._iterate(values); -}; - -PromiseArray.prototype._iterate = function(values) { - var len = this.getActualLength(values.length); - this._length = len; - this._values = this.shouldCopyValues() ? new Array(len) : this._values; - var result = this._promise; - var isResolved = false; - var bitField = null; - for (var i = 0; i < len; ++i) { - var maybePromise = tryConvertToPromise(values[i], result); - - if (maybePromise instanceof Promise) { - maybePromise = maybePromise._target(); - bitField = maybePromise._bitField; - } else { - bitField = null; - } - - if (isResolved) { - if (bitField !== null) { - maybePromise.suppressUnhandledRejections(); - } - } else if (bitField !== null) { - if (((bitField & 50397184) === 0)) { - maybePromise._proxy(this, i); - this._values[i] = maybePromise; - } else if (((bitField & 33554432) !== 0)) { - isResolved = this._promiseFulfilled(maybePromise._value(), i); - } else if (((bitField & 16777216) !== 0)) { - isResolved = this._promiseRejected(maybePromise._reason(), i); - } else { - isResolved = this._promiseCancelled(i); - } - } else { - isResolved = this._promiseFulfilled(maybePromise, i); - } - } - if (!isResolved) result._setAsyncGuaranteed(); -}; - -PromiseArray.prototype._isResolved = function () { - return this._values === null; -}; - -PromiseArray.prototype._resolve = function (value) { - this._values = null; - this._promise._fulfill(value); -}; - -PromiseArray.prototype._cancel = function() { - if (this._isResolved() || !this._promise._isCancellable()) return; - this._values = null; - this._promise._cancel(); -}; - -PromiseArray.prototype._reject = function (reason) { - this._values = null; - this._promise._rejectCallback(reason, false); -}; - -PromiseArray.prototype._promiseFulfilled = function (value, index) { - this._values[index] = value; - var totalResolved = ++this._totalResolved; - if (totalResolved >= this._length) { - this._resolve(this._values); - return true; - } - return false; -}; - -PromiseArray.prototype._promiseCancelled = function() { - this._cancel(); - return true; -}; - -PromiseArray.prototype._promiseRejected = function (reason) { - this._totalResolved++; - this._reject(reason); - return true; -}; - -PromiseArray.prototype._resultCancelled = function() { - if (this._isResolved()) return; - var values = this._values; - this._cancel(); - if (values instanceof Promise) { - values.cancel(); - } else { - for (var i = 0; i < values.length; ++i) { - if (values[i] instanceof Promise) { - values[i].cancel(); - } - } - } -}; - -PromiseArray.prototype.shouldCopyValues = function () { - return true; -}; - -PromiseArray.prototype.getActualLength = function (len) { - return len; -}; - -return PromiseArray; -}; diff --git a/publi/node_modules/bluebird/js/release/promisify.js b/publi/node_modules/bluebird/js/release/promisify.js deleted file mode 100644 index aa98e5b..0000000 --- a/publi/node_modules/bluebird/js/release/promisify.js +++ /dev/null @@ -1,314 +0,0 @@ -"use strict"; -module.exports = function(Promise, INTERNAL) { -var THIS = {}; -var util = require("./util"); -var nodebackForPromise = require("./nodeback"); -var withAppended = util.withAppended; -var maybeWrapAsError = util.maybeWrapAsError; -var canEvaluate = util.canEvaluate; -var TypeError = require("./errors").TypeError; -var defaultSuffix = "Async"; -var defaultPromisified = {__isPromisified__: true}; -var noCopyProps = [ - "arity", "length", - "name", - "arguments", - "caller", - "callee", - "prototype", - "__isPromisified__" -]; -var noCopyPropsPattern = new RegExp("^(?:" + noCopyProps.join("|") + ")$"); - -var defaultFilter = function(name) { - return util.isIdentifier(name) && - name.charAt(0) !== "_" && - name !== "constructor"; -}; - -function propsFilter(key) { - return !noCopyPropsPattern.test(key); -} - -function isPromisified(fn) { - try { - return fn.__isPromisified__ === true; - } - catch (e) { - return false; - } -} - -function hasPromisified(obj, key, suffix) { - var val = util.getDataPropertyOrDefault(obj, key + suffix, - defaultPromisified); - return val ? isPromisified(val) : false; -} -function checkValid(ret, suffix, suffixRegexp) { - for (var i = 0; i < ret.length; i += 2) { - var key = ret[i]; - if (suffixRegexp.test(key)) { - var keyWithoutAsyncSuffix = key.replace(suffixRegexp, ""); - for (var j = 0; j < ret.length; j += 2) { - if (ret[j] === keyWithoutAsyncSuffix) { - throw new TypeError("Cannot promisify an API that has normal methods with '%s'-suffix\u000a\u000a See http://goo.gl/MqrFmX\u000a" - .replace("%s", suffix)); - } - } - } - } -} - -function promisifiableMethods(obj, suffix, suffixRegexp, filter) { - var keys = util.inheritedDataKeys(obj); - var ret = []; - for (var i = 0; i < keys.length; ++i) { - var key = keys[i]; - var value = obj[key]; - var passesDefaultFilter = filter === defaultFilter - ? true : defaultFilter(key, value, obj); - if (typeof value === "function" && - !isPromisified(value) && - !hasPromisified(obj, key, suffix) && - filter(key, value, obj, passesDefaultFilter)) { - ret.push(key, value); - } - } - checkValid(ret, suffix, suffixRegexp); - return ret; -} - -var escapeIdentRegex = function(str) { - return str.replace(/([$])/, "\\$"); -}; - -var makeNodePromisifiedEval; -if (!false) { -var switchCaseArgumentOrder = function(likelyArgumentCount) { - var ret = [likelyArgumentCount]; - var min = Math.max(0, likelyArgumentCount - 1 - 3); - for(var i = likelyArgumentCount - 1; i >= min; --i) { - ret.push(i); - } - for(var i = likelyArgumentCount + 1; i <= 3; ++i) { - ret.push(i); - } - return ret; -}; - -var argumentSequence = function(argumentCount) { - return util.filledRange(argumentCount, "_arg", ""); -}; - -var parameterDeclaration = function(parameterCount) { - return util.filledRange( - Math.max(parameterCount, 3), "_arg", ""); -}; - -var parameterCount = function(fn) { - if (typeof fn.length === "number") { - return Math.max(Math.min(fn.length, 1023 + 1), 0); - } - return 0; -}; - -makeNodePromisifiedEval = -function(callback, receiver, originalName, fn, _, multiArgs) { - var newParameterCount = Math.max(0, parameterCount(fn) - 1); - var argumentOrder = switchCaseArgumentOrder(newParameterCount); - var shouldProxyThis = typeof callback === "string" || receiver === THIS; - - function generateCallForArgumentCount(count) { - var args = argumentSequence(count).join(", "); - var comma = count > 0 ? ", " : ""; - var ret; - if (shouldProxyThis) { - ret = "ret = callback.call(this, {{args}}, nodeback); break;\n"; - } else { - ret = receiver === undefined - ? "ret = callback({{args}}, nodeback); break;\n" - : "ret = callback.call(receiver, {{args}}, nodeback); break;\n"; - } - return ret.replace("{{args}}", args).replace(", ", comma); - } - - function generateArgumentSwitchCase() { - var ret = ""; - for (var i = 0; i < argumentOrder.length; ++i) { - ret += "case " + argumentOrder[i] +":" + - generateCallForArgumentCount(argumentOrder[i]); - } - - ret += " \n\ - default: \n\ - var args = new Array(len + 1); \n\ - var i = 0; \n\ - for (var i = 0; i < len; ++i) { \n\ - args[i] = arguments[i]; \n\ - } \n\ - args[i] = nodeback; \n\ - [CodeForCall] \n\ - break; \n\ - ".replace("[CodeForCall]", (shouldProxyThis - ? "ret = callback.apply(this, args);\n" - : "ret = callback.apply(receiver, args);\n")); - return ret; - } - - var getFunctionCode = typeof callback === "string" - ? ("this != null ? this['"+callback+"'] : fn") - : "fn"; - var body = "'use strict'; \n\ - var ret = function (Parameters) { \n\ - 'use strict'; \n\ - var len = arguments.length; \n\ - var promise = new Promise(INTERNAL); \n\ - promise._captureStackTrace(); \n\ - var nodeback = nodebackForPromise(promise, " + multiArgs + "); \n\ - var ret; \n\ - var callback = tryCatch([GetFunctionCode]); \n\ - switch(len) { \n\ - [CodeForSwitchCase] \n\ - } \n\ - if (ret === errorObj) { \n\ - promise._rejectCallback(maybeWrapAsError(ret.e), true, true);\n\ - } \n\ - if (!promise._isFateSealed()) promise._setAsyncGuaranteed(); \n\ - return promise; \n\ - }; \n\ - notEnumerableProp(ret, '__isPromisified__', true); \n\ - return ret; \n\ - ".replace("[CodeForSwitchCase]", generateArgumentSwitchCase()) - .replace("[GetFunctionCode]", getFunctionCode); - body = body.replace("Parameters", parameterDeclaration(newParameterCount)); - return new Function("Promise", - "fn", - "receiver", - "withAppended", - "maybeWrapAsError", - "nodebackForPromise", - "tryCatch", - "errorObj", - "notEnumerableProp", - "INTERNAL", - body)( - Promise, - fn, - receiver, - withAppended, - maybeWrapAsError, - nodebackForPromise, - util.tryCatch, - util.errorObj, - util.notEnumerableProp, - INTERNAL); -}; -} - -function makeNodePromisifiedClosure(callback, receiver, _, fn, __, multiArgs) { - var defaultThis = (function() {return this;})(); - var method = callback; - if (typeof method === "string") { - callback = fn; - } - function promisified() { - var _receiver = receiver; - if (receiver === THIS) _receiver = this; - var promise = new Promise(INTERNAL); - promise._captureStackTrace(); - var cb = typeof method === "string" && this !== defaultThis - ? this[method] : callback; - var fn = nodebackForPromise(promise, multiArgs); - try { - cb.apply(_receiver, withAppended(arguments, fn)); - } catch(e) { - promise._rejectCallback(maybeWrapAsError(e), true, true); - } - if (!promise._isFateSealed()) promise._setAsyncGuaranteed(); - return promise; - } - util.notEnumerableProp(promisified, "__isPromisified__", true); - return promisified; -} - -var makeNodePromisified = canEvaluate - ? makeNodePromisifiedEval - : makeNodePromisifiedClosure; - -function promisifyAll(obj, suffix, filter, promisifier, multiArgs) { - var suffixRegexp = new RegExp(escapeIdentRegex(suffix) + "$"); - var methods = - promisifiableMethods(obj, suffix, suffixRegexp, filter); - - for (var i = 0, len = methods.length; i < len; i+= 2) { - var key = methods[i]; - var fn = methods[i+1]; - var promisifiedKey = key + suffix; - if (promisifier === makeNodePromisified) { - obj[promisifiedKey] = - makeNodePromisified(key, THIS, key, fn, suffix, multiArgs); - } else { - var promisified = promisifier(fn, function() { - return makeNodePromisified(key, THIS, key, - fn, suffix, multiArgs); - }); - util.notEnumerableProp(promisified, "__isPromisified__", true); - obj[promisifiedKey] = promisified; - } - } - util.toFastProperties(obj); - return obj; -} - -function promisify(callback, receiver, multiArgs) { - return makeNodePromisified(callback, receiver, undefined, - callback, null, multiArgs); -} - -Promise.promisify = function (fn, options) { - if (typeof fn !== "function") { - throw new TypeError("expecting a function but got " + util.classString(fn)); - } - if (isPromisified(fn)) { - return fn; - } - options = Object(options); - var receiver = options.context === undefined ? THIS : options.context; - var multiArgs = !!options.multiArgs; - var ret = promisify(fn, receiver, multiArgs); - util.copyDescriptors(fn, ret, propsFilter); - return ret; -}; - -Promise.promisifyAll = function (target, options) { - if (typeof target !== "function" && typeof target !== "object") { - throw new TypeError("the target of promisifyAll must be an object or a function\u000a\u000a See http://goo.gl/MqrFmX\u000a"); - } - options = Object(options); - var multiArgs = !!options.multiArgs; - var suffix = options.suffix; - if (typeof suffix !== "string") suffix = defaultSuffix; - var filter = options.filter; - if (typeof filter !== "function") filter = defaultFilter; - var promisifier = options.promisifier; - if (typeof promisifier !== "function") promisifier = makeNodePromisified; - - if (!util.isIdentifier(suffix)) { - throw new RangeError("suffix must be a valid identifier\u000a\u000a See http://goo.gl/MqrFmX\u000a"); - } - - var keys = util.inheritedDataKeys(target); - for (var i = 0; i < keys.length; ++i) { - var value = target[keys[i]]; - if (keys[i] !== "constructor" && - util.isClass(value)) { - promisifyAll(value.prototype, suffix, filter, promisifier, - multiArgs); - promisifyAll(value, suffix, filter, promisifier, multiArgs); - } - } - - return promisifyAll(target, suffix, filter, promisifier, multiArgs); -}; -}; - diff --git a/publi/node_modules/bluebird/js/release/props.js b/publi/node_modules/bluebird/js/release/props.js deleted file mode 100644 index 6a34aaf..0000000 --- a/publi/node_modules/bluebird/js/release/props.js +++ /dev/null @@ -1,118 +0,0 @@ -"use strict"; -module.exports = function( - Promise, PromiseArray, tryConvertToPromise, apiRejection) { -var util = require("./util"); -var isObject = util.isObject; -var es5 = require("./es5"); -var Es6Map; -if (typeof Map === "function") Es6Map = Map; - -var mapToEntries = (function() { - var index = 0; - var size = 0; - - function extractEntry(value, key) { - this[index] = value; - this[index + size] = key; - index++; - } - - return function mapToEntries(map) { - size = map.size; - index = 0; - var ret = new Array(map.size * 2); - map.forEach(extractEntry, ret); - return ret; - }; -})(); - -var entriesToMap = function(entries) { - var ret = new Es6Map(); - var length = entries.length / 2 | 0; - for (var i = 0; i < length; ++i) { - var key = entries[length + i]; - var value = entries[i]; - ret.set(key, value); - } - return ret; -}; - -function PropertiesPromiseArray(obj) { - var isMap = false; - var entries; - if (Es6Map !== undefined && obj instanceof Es6Map) { - entries = mapToEntries(obj); - isMap = true; - } else { - var keys = es5.keys(obj); - var len = keys.length; - entries = new Array(len * 2); - for (var i = 0; i < len; ++i) { - var key = keys[i]; - entries[i] = obj[key]; - entries[i + len] = key; - } - } - this.constructor$(entries); - this._isMap = isMap; - this._init$(undefined, isMap ? -6 : -3); -} -util.inherits(PropertiesPromiseArray, PromiseArray); - -PropertiesPromiseArray.prototype._init = function () {}; - -PropertiesPromiseArray.prototype._promiseFulfilled = function (value, index) { - this._values[index] = value; - var totalResolved = ++this._totalResolved; - if (totalResolved >= this._length) { - var val; - if (this._isMap) { - val = entriesToMap(this._values); - } else { - val = {}; - var keyOffset = this.length(); - for (var i = 0, len = this.length(); i < len; ++i) { - val[this._values[i + keyOffset]] = this._values[i]; - } - } - this._resolve(val); - return true; - } - return false; -}; - -PropertiesPromiseArray.prototype.shouldCopyValues = function () { - return false; -}; - -PropertiesPromiseArray.prototype.getActualLength = function (len) { - return len >> 1; -}; - -function props(promises) { - var ret; - var castValue = tryConvertToPromise(promises); - - if (!isObject(castValue)) { - return apiRejection("cannot await properties of a non-object\u000a\u000a See http://goo.gl/MqrFmX\u000a"); - } else if (castValue instanceof Promise) { - ret = castValue._then( - Promise.props, undefined, undefined, undefined, undefined); - } else { - ret = new PropertiesPromiseArray(castValue).promise(); - } - - if (castValue instanceof Promise) { - ret._propagateFrom(castValue, 2); - } - return ret; -} - -Promise.prototype.props = function () { - return props(this); -}; - -Promise.props = function (promises) { - return props(promises); -}; -}; diff --git a/publi/node_modules/bluebird/js/release/queue.js b/publi/node_modules/bluebird/js/release/queue.js deleted file mode 100644 index ffd36fd..0000000 --- a/publi/node_modules/bluebird/js/release/queue.js +++ /dev/null @@ -1,73 +0,0 @@ -"use strict"; -function arrayMove(src, srcIndex, dst, dstIndex, len) { - for (var j = 0; j < len; ++j) { - dst[j + dstIndex] = src[j + srcIndex]; - src[j + srcIndex] = void 0; - } -} - -function Queue(capacity) { - this._capacity = capacity; - this._length = 0; - this._front = 0; -} - -Queue.prototype._willBeOverCapacity = function (size) { - return this._capacity < size; -}; - -Queue.prototype._pushOne = function (arg) { - var length = this.length(); - this._checkCapacity(length + 1); - var i = (this._front + length) & (this._capacity - 1); - this[i] = arg; - this._length = length + 1; -}; - -Queue.prototype.push = function (fn, receiver, arg) { - var length = this.length() + 3; - if (this._willBeOverCapacity(length)) { - this._pushOne(fn); - this._pushOne(receiver); - this._pushOne(arg); - return; - } - var j = this._front + length - 3; - this._checkCapacity(length); - var wrapMask = this._capacity - 1; - this[(j + 0) & wrapMask] = fn; - this[(j + 1) & wrapMask] = receiver; - this[(j + 2) & wrapMask] = arg; - this._length = length; -}; - -Queue.prototype.shift = function () { - var front = this._front, - ret = this[front]; - - this[front] = undefined; - this._front = (front + 1) & (this._capacity - 1); - this._length--; - return ret; -}; - -Queue.prototype.length = function () { - return this._length; -}; - -Queue.prototype._checkCapacity = function (size) { - if (this._capacity < size) { - this._resizeTo(this._capacity << 1); - } -}; - -Queue.prototype._resizeTo = function (capacity) { - var oldCapacity = this._capacity; - this._capacity = capacity; - var front = this._front; - var length = this._length; - var moveItemsCount = (front + length) & (oldCapacity - 1); - arrayMove(this, 0, this, oldCapacity, moveItemsCount); -}; - -module.exports = Queue; diff --git a/publi/node_modules/bluebird/js/release/race.js b/publi/node_modules/bluebird/js/release/race.js deleted file mode 100644 index b862f46..0000000 --- a/publi/node_modules/bluebird/js/release/race.js +++ /dev/null @@ -1,49 +0,0 @@ -"use strict"; -module.exports = function( - Promise, INTERNAL, tryConvertToPromise, apiRejection) { -var util = require("./util"); - -var raceLater = function (promise) { - return promise.then(function(array) { - return race(array, promise); - }); -}; - -function race(promises, parent) { - var maybePromise = tryConvertToPromise(promises); - - if (maybePromise instanceof Promise) { - return raceLater(maybePromise); - } else { - promises = util.asArray(promises); - if (promises === null) - return apiRejection("expecting an array or an iterable object but got " + util.classString(promises)); - } - - var ret = new Promise(INTERNAL); - if (parent !== undefined) { - ret._propagateFrom(parent, 3); - } - var fulfill = ret._fulfill; - var reject = ret._reject; - for (var i = 0, len = promises.length; i < len; ++i) { - var val = promises[i]; - - if (val === undefined && !(i in promises)) { - continue; - } - - Promise.cast(val)._then(fulfill, reject, undefined, ret, null); - } - return ret; -} - -Promise.race = function (promises) { - return race(promises, undefined); -}; - -Promise.prototype.race = function () { - return race(this, undefined); -}; - -}; diff --git a/publi/node_modules/bluebird/js/release/reduce.js b/publi/node_modules/bluebird/js/release/reduce.js deleted file mode 100644 index 26e2b1a..0000000 --- a/publi/node_modules/bluebird/js/release/reduce.js +++ /dev/null @@ -1,172 +0,0 @@ -"use strict"; -module.exports = function(Promise, - PromiseArray, - apiRejection, - tryConvertToPromise, - INTERNAL, - debug) { -var getDomain = Promise._getDomain; -var util = require("./util"); -var tryCatch = util.tryCatch; - -function ReductionPromiseArray(promises, fn, initialValue, _each) { - this.constructor$(promises); - var domain = getDomain(); - this._fn = domain === null ? fn : util.domainBind(domain, fn); - if (initialValue !== undefined) { - initialValue = Promise.resolve(initialValue); - initialValue._attachCancellationCallback(this); - } - this._initialValue = initialValue; - this._currentCancellable = null; - if(_each === INTERNAL) { - this._eachValues = Array(this._length); - } else if (_each === 0) { - this._eachValues = null; - } else { - this._eachValues = undefined; - } - this._promise._captureStackTrace(); - this._init$(undefined, -5); -} -util.inherits(ReductionPromiseArray, PromiseArray); - -ReductionPromiseArray.prototype._gotAccum = function(accum) { - if (this._eachValues !== undefined && - this._eachValues !== null && - accum !== INTERNAL) { - this._eachValues.push(accum); - } -}; - -ReductionPromiseArray.prototype._eachComplete = function(value) { - if (this._eachValues !== null) { - this._eachValues.push(value); - } - return this._eachValues; -}; - -ReductionPromiseArray.prototype._init = function() {}; - -ReductionPromiseArray.prototype._resolveEmptyArray = function() { - this._resolve(this._eachValues !== undefined ? this._eachValues - : this._initialValue); -}; - -ReductionPromiseArray.prototype.shouldCopyValues = function () { - return false; -}; - -ReductionPromiseArray.prototype._resolve = function(value) { - this._promise._resolveCallback(value); - this._values = null; -}; - -ReductionPromiseArray.prototype._resultCancelled = function(sender) { - if (sender === this._initialValue) return this._cancel(); - if (this._isResolved()) return; - this._resultCancelled$(); - if (this._currentCancellable instanceof Promise) { - this._currentCancellable.cancel(); - } - if (this._initialValue instanceof Promise) { - this._initialValue.cancel(); - } -}; - -ReductionPromiseArray.prototype._iterate = function (values) { - this._values = values; - var value; - var i; - var length = values.length; - if (this._initialValue !== undefined) { - value = this._initialValue; - i = 0; - } else { - value = Promise.resolve(values[0]); - i = 1; - } - - this._currentCancellable = value; - - if (!value.isRejected()) { - for (; i < length; ++i) { - var ctx = { - accum: null, - value: values[i], - index: i, - length: length, - array: this - }; - value = value._then(gotAccum, undefined, undefined, ctx, undefined); - } - } - - if (this._eachValues !== undefined) { - value = value - ._then(this._eachComplete, undefined, undefined, this, undefined); - } - value._then(completed, completed, undefined, value, this); -}; - -Promise.prototype.reduce = function (fn, initialValue) { - return reduce(this, fn, initialValue, null); -}; - -Promise.reduce = function (promises, fn, initialValue, _each) { - return reduce(promises, fn, initialValue, _each); -}; - -function completed(valueOrReason, array) { - if (this.isFulfilled()) { - array._resolve(valueOrReason); - } else { - array._reject(valueOrReason); - } -} - -function reduce(promises, fn, initialValue, _each) { - if (typeof fn !== "function") { - return apiRejection("expecting a function but got " + util.classString(fn)); - } - var array = new ReductionPromiseArray(promises, fn, initialValue, _each); - return array.promise(); -} - -function gotAccum(accum) { - this.accum = accum; - this.array._gotAccum(accum); - var value = tryConvertToPromise(this.value, this.array._promise); - if (value instanceof Promise) { - this.array._currentCancellable = value; - return value._then(gotValue, undefined, undefined, this, undefined); - } else { - return gotValue.call(this, value); - } -} - -function gotValue(value) { - var array = this.array; - var promise = array._promise; - var fn = tryCatch(array._fn); - promise._pushContext(); - var ret; - if (array._eachValues !== undefined) { - ret = fn.call(promise._boundValue(), value, this.index, this.length); - } else { - ret = fn.call(promise._boundValue(), - this.accum, value, this.index, this.length); - } - if (ret instanceof Promise) { - array._currentCancellable = ret; - } - var promiseCreated = promise._popContext(); - debug.checkForgottenReturns( - ret, - promiseCreated, - array._eachValues !== undefined ? "Promise.each" : "Promise.reduce", - promise - ); - return ret; -} -}; diff --git a/publi/node_modules/bluebird/js/release/schedule.js b/publi/node_modules/bluebird/js/release/schedule.js deleted file mode 100644 index f70df9f..0000000 --- a/publi/node_modules/bluebird/js/release/schedule.js +++ /dev/null @@ -1,61 +0,0 @@ -"use strict"; -var util = require("./util"); -var schedule; -var noAsyncScheduler = function() { - throw new Error("No async scheduler available\u000a\u000a See http://goo.gl/MqrFmX\u000a"); -}; -var NativePromise = util.getNativePromise(); -if (util.isNode && typeof MutationObserver === "undefined") { - var GlobalSetImmediate = global.setImmediate; - var ProcessNextTick = process.nextTick; - schedule = util.isRecentNode - ? function(fn) { GlobalSetImmediate.call(global, fn); } - : function(fn) { ProcessNextTick.call(process, fn); }; -} else if (typeof NativePromise === "function" && - typeof NativePromise.resolve === "function") { - var nativePromise = NativePromise.resolve(); - schedule = function(fn) { - nativePromise.then(fn); - }; -} else if ((typeof MutationObserver !== "undefined") && - !(typeof window !== "undefined" && - window.navigator && - (window.navigator.standalone || window.cordova))) { - schedule = (function() { - var div = document.createElement("div"); - var opts = {attributes: true}; - var toggleScheduled = false; - var div2 = document.createElement("div"); - var o2 = new MutationObserver(function() { - div.classList.toggle("foo"); - toggleScheduled = false; - }); - o2.observe(div2, opts); - - var scheduleToggle = function() { - if (toggleScheduled) return; - toggleScheduled = true; - div2.classList.toggle("foo"); - }; - - return function schedule(fn) { - var o = new MutationObserver(function() { - o.disconnect(); - fn(); - }); - o.observe(div, opts); - scheduleToggle(); - }; - })(); -} else if (typeof setImmediate !== "undefined") { - schedule = function (fn) { - setImmediate(fn); - }; -} else if (typeof setTimeout !== "undefined") { - schedule = function (fn) { - setTimeout(fn, 0); - }; -} else { - schedule = noAsyncScheduler; -} -module.exports = schedule; diff --git a/publi/node_modules/bluebird/js/release/settle.js b/publi/node_modules/bluebird/js/release/settle.js deleted file mode 100644 index fade3a1..0000000 --- a/publi/node_modules/bluebird/js/release/settle.js +++ /dev/null @@ -1,43 +0,0 @@ -"use strict"; -module.exports = - function(Promise, PromiseArray, debug) { -var PromiseInspection = Promise.PromiseInspection; -var util = require("./util"); - -function SettledPromiseArray(values) { - this.constructor$(values); -} -util.inherits(SettledPromiseArray, PromiseArray); - -SettledPromiseArray.prototype._promiseResolved = function (index, inspection) { - this._values[index] = inspection; - var totalResolved = ++this._totalResolved; - if (totalResolved >= this._length) { - this._resolve(this._values); - return true; - } - return false; -}; - -SettledPromiseArray.prototype._promiseFulfilled = function (value, index) { - var ret = new PromiseInspection(); - ret._bitField = 33554432; - ret._settledValueField = value; - return this._promiseResolved(index, ret); -}; -SettledPromiseArray.prototype._promiseRejected = function (reason, index) { - var ret = new PromiseInspection(); - ret._bitField = 16777216; - ret._settledValueField = reason; - return this._promiseResolved(index, ret); -}; - -Promise.settle = function (promises) { - debug.deprecated(".settle()", ".reflect()"); - return new SettledPromiseArray(promises).promise(); -}; - -Promise.prototype.settle = function () { - return Promise.settle(this); -}; -}; diff --git a/publi/node_modules/bluebird/js/release/some.js b/publi/node_modules/bluebird/js/release/some.js deleted file mode 100644 index 400d852..0000000 --- a/publi/node_modules/bluebird/js/release/some.js +++ /dev/null @@ -1,148 +0,0 @@ -"use strict"; -module.exports = -function(Promise, PromiseArray, apiRejection) { -var util = require("./util"); -var RangeError = require("./errors").RangeError; -var AggregateError = require("./errors").AggregateError; -var isArray = util.isArray; -var CANCELLATION = {}; - - -function SomePromiseArray(values) { - this.constructor$(values); - this._howMany = 0; - this._unwrap = false; - this._initialized = false; -} -util.inherits(SomePromiseArray, PromiseArray); - -SomePromiseArray.prototype._init = function () { - if (!this._initialized) { - return; - } - if (this._howMany === 0) { - this._resolve([]); - return; - } - this._init$(undefined, -5); - var isArrayResolved = isArray(this._values); - if (!this._isResolved() && - isArrayResolved && - this._howMany > this._canPossiblyFulfill()) { - this._reject(this._getRangeError(this.length())); - } -}; - -SomePromiseArray.prototype.init = function () { - this._initialized = true; - this._init(); -}; - -SomePromiseArray.prototype.setUnwrap = function () { - this._unwrap = true; -}; - -SomePromiseArray.prototype.howMany = function () { - return this._howMany; -}; - -SomePromiseArray.prototype.setHowMany = function (count) { - this._howMany = count; -}; - -SomePromiseArray.prototype._promiseFulfilled = function (value) { - this._addFulfilled(value); - if (this._fulfilled() === this.howMany()) { - this._values.length = this.howMany(); - if (this.howMany() === 1 && this._unwrap) { - this._resolve(this._values[0]); - } else { - this._resolve(this._values); - } - return true; - } - return false; - -}; -SomePromiseArray.prototype._promiseRejected = function (reason) { - this._addRejected(reason); - return this._checkOutcome(); -}; - -SomePromiseArray.prototype._promiseCancelled = function () { - if (this._values instanceof Promise || this._values == null) { - return this._cancel(); - } - this._addRejected(CANCELLATION); - return this._checkOutcome(); -}; - -SomePromiseArray.prototype._checkOutcome = function() { - if (this.howMany() > this._canPossiblyFulfill()) { - var e = new AggregateError(); - for (var i = this.length(); i < this._values.length; ++i) { - if (this._values[i] !== CANCELLATION) { - e.push(this._values[i]); - } - } - if (e.length > 0) { - this._reject(e); - } else { - this._cancel(); - } - return true; - } - return false; -}; - -SomePromiseArray.prototype._fulfilled = function () { - return this._totalResolved; -}; - -SomePromiseArray.prototype._rejected = function () { - return this._values.length - this.length(); -}; - -SomePromiseArray.prototype._addRejected = function (reason) { - this._values.push(reason); -}; - -SomePromiseArray.prototype._addFulfilled = function (value) { - this._values[this._totalResolved++] = value; -}; - -SomePromiseArray.prototype._canPossiblyFulfill = function () { - return this.length() - this._rejected(); -}; - -SomePromiseArray.prototype._getRangeError = function (count) { - var message = "Input array must contain at least " + - this._howMany + " items but contains only " + count + " items"; - return new RangeError(message); -}; - -SomePromiseArray.prototype._resolveEmptyArray = function () { - this._reject(this._getRangeError(0)); -}; - -function some(promises, howMany) { - if ((howMany | 0) !== howMany || howMany < 0) { - return apiRejection("expecting a positive integer\u000a\u000a See http://goo.gl/MqrFmX\u000a"); - } - var ret = new SomePromiseArray(promises); - var promise = ret.promise(); - ret.setHowMany(howMany); - ret.init(); - return promise; -} - -Promise.some = function (promises, howMany) { - return some(promises, howMany); -}; - -Promise.prototype.some = function (howMany) { - return some(this, howMany); -}; - -Promise._SomePromiseArray = SomePromiseArray; -}; diff --git a/publi/node_modules/bluebird/js/release/synchronous_inspection.js b/publi/node_modules/bluebird/js/release/synchronous_inspection.js deleted file mode 100644 index 9c49d2e..0000000 --- a/publi/node_modules/bluebird/js/release/synchronous_inspection.js +++ /dev/null @@ -1,103 +0,0 @@ -"use strict"; -module.exports = function(Promise) { -function PromiseInspection(promise) { - if (promise !== undefined) { - promise = promise._target(); - this._bitField = promise._bitField; - this._settledValueField = promise._isFateSealed() - ? promise._settledValue() : undefined; - } - else { - this._bitField = 0; - this._settledValueField = undefined; - } -} - -PromiseInspection.prototype._settledValue = function() { - return this._settledValueField; -}; - -var value = PromiseInspection.prototype.value = function () { - if (!this.isFulfilled()) { - throw new TypeError("cannot get fulfillment value of a non-fulfilled promise\u000a\u000a See http://goo.gl/MqrFmX\u000a"); - } - return this._settledValue(); -}; - -var reason = PromiseInspection.prototype.error = -PromiseInspection.prototype.reason = function () { - if (!this.isRejected()) { - throw new TypeError("cannot get rejection reason of a non-rejected promise\u000a\u000a See http://goo.gl/MqrFmX\u000a"); - } - return this._settledValue(); -}; - -var isFulfilled = PromiseInspection.prototype.isFulfilled = function() { - return (this._bitField & 33554432) !== 0; -}; - -var isRejected = PromiseInspection.prototype.isRejected = function () { - return (this._bitField & 16777216) !== 0; -}; - -var isPending = PromiseInspection.prototype.isPending = function () { - return (this._bitField & 50397184) === 0; -}; - -var isResolved = PromiseInspection.prototype.isResolved = function () { - return (this._bitField & 50331648) !== 0; -}; - -PromiseInspection.prototype.isCancelled = function() { - return (this._bitField & 8454144) !== 0; -}; - -Promise.prototype.__isCancelled = function() { - return (this._bitField & 65536) === 65536; -}; - -Promise.prototype._isCancelled = function() { - return this._target().__isCancelled(); -}; - -Promise.prototype.isCancelled = function() { - return (this._target()._bitField & 8454144) !== 0; -}; - -Promise.prototype.isPending = function() { - return isPending.call(this._target()); -}; - -Promise.prototype.isRejected = function() { - return isRejected.call(this._target()); -}; - -Promise.prototype.isFulfilled = function() { - return isFulfilled.call(this._target()); -}; - -Promise.prototype.isResolved = function() { - return isResolved.call(this._target()); -}; - -Promise.prototype.value = function() { - return value.call(this._target()); -}; - -Promise.prototype.reason = function() { - var target = this._target(); - target._unsetRejectionIsUnhandled(); - return reason.call(target); -}; - -Promise.prototype._value = function() { - return this._settledValue(); -}; - -Promise.prototype._reason = function() { - this._unsetRejectionIsUnhandled(); - return this._settledValue(); -}; - -Promise.PromiseInspection = PromiseInspection; -}; diff --git a/publi/node_modules/bluebird/js/release/thenables.js b/publi/node_modules/bluebird/js/release/thenables.js deleted file mode 100644 index d6ab9aa..0000000 --- a/publi/node_modules/bluebird/js/release/thenables.js +++ /dev/null @@ -1,86 +0,0 @@ -"use strict"; -module.exports = function(Promise, INTERNAL) { -var util = require("./util"); -var errorObj = util.errorObj; -var isObject = util.isObject; - -function tryConvertToPromise(obj, context) { - if (isObject(obj)) { - if (obj instanceof Promise) return obj; - var then = getThen(obj); - if (then === errorObj) { - if (context) context._pushContext(); - var ret = Promise.reject(then.e); - if (context) context._popContext(); - return ret; - } else if (typeof then === "function") { - if (isAnyBluebirdPromise(obj)) { - var ret = new Promise(INTERNAL); - obj._then( - ret._fulfill, - ret._reject, - undefined, - ret, - null - ); - return ret; - } - return doThenable(obj, then, context); - } - } - return obj; -} - -function doGetThen(obj) { - return obj.then; -} - -function getThen(obj) { - try { - return doGetThen(obj); - } catch (e) { - errorObj.e = e; - return errorObj; - } -} - -var hasProp = {}.hasOwnProperty; -function isAnyBluebirdPromise(obj) { - try { - return hasProp.call(obj, "_promise0"); - } catch (e) { - return false; - } -} - -function doThenable(x, then, context) { - var promise = new Promise(INTERNAL); - var ret = promise; - if (context) context._pushContext(); - promise._captureStackTrace(); - if (context) context._popContext(); - var synchronous = true; - var result = util.tryCatch(then).call(x, resolve, reject); - synchronous = false; - - if (promise && result === errorObj) { - promise._rejectCallback(result.e, true, true); - promise = null; - } - - function resolve(value) { - if (!promise) return; - promise._resolveCallback(value); - promise = null; - } - - function reject(reason) { - if (!promise) return; - promise._rejectCallback(reason, synchronous, true); - promise = null; - } - return ret; -} - -return tryConvertToPromise; -}; diff --git a/publi/node_modules/bluebird/js/release/timers.js b/publi/node_modules/bluebird/js/release/timers.js deleted file mode 100644 index cb8f1f4..0000000 --- a/publi/node_modules/bluebird/js/release/timers.js +++ /dev/null @@ -1,93 +0,0 @@ -"use strict"; -module.exports = function(Promise, INTERNAL, debug) { -var util = require("./util"); -var TimeoutError = Promise.TimeoutError; - -function HandleWrapper(handle) { - this.handle = handle; -} - -HandleWrapper.prototype._resultCancelled = function() { - clearTimeout(this.handle); -}; - -var afterValue = function(value) { return delay(+this).thenReturn(value); }; -var delay = Promise.delay = function (ms, value) { - var ret; - var handle; - if (value !== undefined) { - ret = Promise.resolve(value) - ._then(afterValue, null, null, ms, undefined); - if (debug.cancellation() && value instanceof Promise) { - ret._setOnCancel(value); - } - } else { - ret = new Promise(INTERNAL); - handle = setTimeout(function() { ret._fulfill(); }, +ms); - if (debug.cancellation()) { - ret._setOnCancel(new HandleWrapper(handle)); - } - ret._captureStackTrace(); - } - ret._setAsyncGuaranteed(); - return ret; -}; - -Promise.prototype.delay = function (ms) { - return delay(ms, this); -}; - -var afterTimeout = function (promise, message, parent) { - var err; - if (typeof message !== "string") { - if (message instanceof Error) { - err = message; - } else { - err = new TimeoutError("operation timed out"); - } - } else { - err = new TimeoutError(message); - } - util.markAsOriginatingFromRejection(err); - promise._attachExtraTrace(err); - promise._reject(err); - - if (parent != null) { - parent.cancel(); - } -}; - -function successClear(value) { - clearTimeout(this.handle); - return value; -} - -function failureClear(reason) { - clearTimeout(this.handle); - throw reason; -} - -Promise.prototype.timeout = function (ms, message) { - ms = +ms; - var ret, parent; - - var handleWrapper = new HandleWrapper(setTimeout(function timeoutTimeout() { - if (ret.isPending()) { - afterTimeout(ret, message, parent); - } - }, ms)); - - if (debug.cancellation()) { - parent = this.then(); - ret = parent._then(successClear, failureClear, - undefined, handleWrapper, undefined); - ret._setOnCancel(handleWrapper); - } else { - ret = this._then(successClear, failureClear, - undefined, handleWrapper, undefined); - } - - return ret; -}; - -}; diff --git a/publi/node_modules/bluebird/js/release/using.js b/publi/node_modules/bluebird/js/release/using.js deleted file mode 100644 index 65de531..0000000 --- a/publi/node_modules/bluebird/js/release/using.js +++ /dev/null @@ -1,226 +0,0 @@ -"use strict"; -module.exports = function (Promise, apiRejection, tryConvertToPromise, - createContext, INTERNAL, debug) { - var util = require("./util"); - var TypeError = require("./errors").TypeError; - var inherits = require("./util").inherits; - var errorObj = util.errorObj; - var tryCatch = util.tryCatch; - var NULL = {}; - - function thrower(e) { - setTimeout(function(){throw e;}, 0); - } - - function castPreservingDisposable(thenable) { - var maybePromise = tryConvertToPromise(thenable); - if (maybePromise !== thenable && - typeof thenable._isDisposable === "function" && - typeof thenable._getDisposer === "function" && - thenable._isDisposable()) { - maybePromise._setDisposable(thenable._getDisposer()); - } - return maybePromise; - } - function dispose(resources, inspection) { - var i = 0; - var len = resources.length; - var ret = new Promise(INTERNAL); - function iterator() { - if (i >= len) return ret._fulfill(); - var maybePromise = castPreservingDisposable(resources[i++]); - if (maybePromise instanceof Promise && - maybePromise._isDisposable()) { - try { - maybePromise = tryConvertToPromise( - maybePromise._getDisposer().tryDispose(inspection), - resources.promise); - } catch (e) { - return thrower(e); - } - if (maybePromise instanceof Promise) { - return maybePromise._then(iterator, thrower, - null, null, null); - } - } - iterator(); - } - iterator(); - return ret; - } - - function Disposer(data, promise, context) { - this._data = data; - this._promise = promise; - this._context = context; - } - - Disposer.prototype.data = function () { - return this._data; - }; - - Disposer.prototype.promise = function () { - return this._promise; - }; - - Disposer.prototype.resource = function () { - if (this.promise().isFulfilled()) { - return this.promise().value(); - } - return NULL; - }; - - Disposer.prototype.tryDispose = function(inspection) { - var resource = this.resource(); - var context = this._context; - if (context !== undefined) context._pushContext(); - var ret = resource !== NULL - ? this.doDispose(resource, inspection) : null; - if (context !== undefined) context._popContext(); - this._promise._unsetDisposable(); - this._data = null; - return ret; - }; - - Disposer.isDisposer = function (d) { - return (d != null && - typeof d.resource === "function" && - typeof d.tryDispose === "function"); - }; - - function FunctionDisposer(fn, promise, context) { - this.constructor$(fn, promise, context); - } - inherits(FunctionDisposer, Disposer); - - FunctionDisposer.prototype.doDispose = function (resource, inspection) { - var fn = this.data(); - return fn.call(resource, resource, inspection); - }; - - function maybeUnwrapDisposer(value) { - if (Disposer.isDisposer(value)) { - this.resources[this.index]._setDisposable(value); - return value.promise(); - } - return value; - } - - function ResourceList(length) { - this.length = length; - this.promise = null; - this[length-1] = null; - } - - ResourceList.prototype._resultCancelled = function() { - var len = this.length; - for (var i = 0; i < len; ++i) { - var item = this[i]; - if (item instanceof Promise) { - item.cancel(); - } - } - }; - - Promise.using = function () { - var len = arguments.length; - if (len < 2) return apiRejection( - "you must pass at least 2 arguments to Promise.using"); - var fn = arguments[len - 1]; - if (typeof fn !== "function") { - return apiRejection("expecting a function but got " + util.classString(fn)); - } - var input; - var spreadArgs = true; - if (len === 2 && Array.isArray(arguments[0])) { - input = arguments[0]; - len = input.length; - spreadArgs = false; - } else { - input = arguments; - len--; - } - var resources = new ResourceList(len); - for (var i = 0; i < len; ++i) { - var resource = input[i]; - if (Disposer.isDisposer(resource)) { - var disposer = resource; - resource = resource.promise(); - resource._setDisposable(disposer); - } else { - var maybePromise = tryConvertToPromise(resource); - if (maybePromise instanceof Promise) { - resource = - maybePromise._then(maybeUnwrapDisposer, null, null, { - resources: resources, - index: i - }, undefined); - } - } - resources[i] = resource; - } - - var reflectedResources = new Array(resources.length); - for (var i = 0; i < reflectedResources.length; ++i) { - reflectedResources[i] = Promise.resolve(resources[i]).reflect(); - } - - var resultPromise = Promise.all(reflectedResources) - .then(function(inspections) { - for (var i = 0; i < inspections.length; ++i) { - var inspection = inspections[i]; - if (inspection.isRejected()) { - errorObj.e = inspection.error(); - return errorObj; - } else if (!inspection.isFulfilled()) { - resultPromise.cancel(); - return; - } - inspections[i] = inspection.value(); - } - promise._pushContext(); - - fn = tryCatch(fn); - var ret = spreadArgs - ? fn.apply(undefined, inspections) : fn(inspections); - var promiseCreated = promise._popContext(); - debug.checkForgottenReturns( - ret, promiseCreated, "Promise.using", promise); - return ret; - }); - - var promise = resultPromise.lastly(function() { - var inspection = new Promise.PromiseInspection(resultPromise); - return dispose(resources, inspection); - }); - resources.promise = promise; - promise._setOnCancel(resources); - return promise; - }; - - Promise.prototype._setDisposable = function (disposer) { - this._bitField = this._bitField | 131072; - this._disposer = disposer; - }; - - Promise.prototype._isDisposable = function () { - return (this._bitField & 131072) > 0; - }; - - Promise.prototype._getDisposer = function () { - return this._disposer; - }; - - Promise.prototype._unsetDisposable = function () { - this._bitField = this._bitField & (~131072); - this._disposer = undefined; - }; - - Promise.prototype.disposer = function (fn) { - if (typeof fn === "function") { - return new FunctionDisposer(fn, this, createContext()); - } - throw new TypeError(); - }; - -}; diff --git a/publi/node_modules/bluebird/js/release/util.js b/publi/node_modules/bluebird/js/release/util.js deleted file mode 100644 index 7ac0e2f..0000000 --- a/publi/node_modules/bluebird/js/release/util.js +++ /dev/null @@ -1,380 +0,0 @@ -"use strict"; -var es5 = require("./es5"); -var canEvaluate = typeof navigator == "undefined"; - -var errorObj = {e: {}}; -var tryCatchTarget; -var globalObject = typeof self !== "undefined" ? self : - typeof window !== "undefined" ? window : - typeof global !== "undefined" ? global : - this !== undefined ? this : null; - -function tryCatcher() { - try { - var target = tryCatchTarget; - tryCatchTarget = null; - return target.apply(this, arguments); - } catch (e) { - errorObj.e = e; - return errorObj; - } -} -function tryCatch(fn) { - tryCatchTarget = fn; - return tryCatcher; -} - -var inherits = function(Child, Parent) { - var hasProp = {}.hasOwnProperty; - - function T() { - this.constructor = Child; - this.constructor$ = Parent; - for (var propertyName in Parent.prototype) { - if (hasProp.call(Parent.prototype, propertyName) && - propertyName.charAt(propertyName.length-1) !== "$" - ) { - this[propertyName + "$"] = Parent.prototype[propertyName]; - } - } - } - T.prototype = Parent.prototype; - Child.prototype = new T(); - return Child.prototype; -}; - - -function isPrimitive(val) { - return val == null || val === true || val === false || - typeof val === "string" || typeof val === "number"; - -} - -function isObject(value) { - return typeof value === "function" || - typeof value === "object" && value !== null; -} - -function maybeWrapAsError(maybeError) { - if (!isPrimitive(maybeError)) return maybeError; - - return new Error(safeToString(maybeError)); -} - -function withAppended(target, appendee) { - var len = target.length; - var ret = new Array(len + 1); - var i; - for (i = 0; i < len; ++i) { - ret[i] = target[i]; - } - ret[i] = appendee; - return ret; -} - -function getDataPropertyOrDefault(obj, key, defaultValue) { - if (es5.isES5) { - var desc = Object.getOwnPropertyDescriptor(obj, key); - - if (desc != null) { - return desc.get == null && desc.set == null - ? desc.value - : defaultValue; - } - } else { - return {}.hasOwnProperty.call(obj, key) ? obj[key] : undefined; - } -} - -function notEnumerableProp(obj, name, value) { - if (isPrimitive(obj)) return obj; - var descriptor = { - value: value, - configurable: true, - enumerable: false, - writable: true - }; - es5.defineProperty(obj, name, descriptor); - return obj; -} - -function thrower(r) { - throw r; -} - -var inheritedDataKeys = (function() { - var excludedPrototypes = [ - Array.prototype, - Object.prototype, - Function.prototype - ]; - - var isExcludedProto = function(val) { - for (var i = 0; i < excludedPrototypes.length; ++i) { - if (excludedPrototypes[i] === val) { - return true; - } - } - return false; - }; - - if (es5.isES5) { - var getKeys = Object.getOwnPropertyNames; - return function(obj) { - var ret = []; - var visitedKeys = Object.create(null); - while (obj != null && !isExcludedProto(obj)) { - var keys; - try { - keys = getKeys(obj); - } catch (e) { - return ret; - } - for (var i = 0; i < keys.length; ++i) { - var key = keys[i]; - if (visitedKeys[key]) continue; - visitedKeys[key] = true; - var desc = Object.getOwnPropertyDescriptor(obj, key); - if (desc != null && desc.get == null && desc.set == null) { - ret.push(key); - } - } - obj = es5.getPrototypeOf(obj); - } - return ret; - }; - } else { - var hasProp = {}.hasOwnProperty; - return function(obj) { - if (isExcludedProto(obj)) return []; - var ret = []; - - /*jshint forin:false */ - enumeration: for (var key in obj) { - if (hasProp.call(obj, key)) { - ret.push(key); - } else { - for (var i = 0; i < excludedPrototypes.length; ++i) { - if (hasProp.call(excludedPrototypes[i], key)) { - continue enumeration; - } - } - ret.push(key); - } - } - return ret; - }; - } - -})(); - -var thisAssignmentPattern = /this\s*\.\s*\S+\s*=/; -function isClass(fn) { - try { - if (typeof fn === "function") { - var keys = es5.names(fn.prototype); - - var hasMethods = es5.isES5 && keys.length > 1; - var hasMethodsOtherThanConstructor = keys.length > 0 && - !(keys.length === 1 && keys[0] === "constructor"); - var hasThisAssignmentAndStaticMethods = - thisAssignmentPattern.test(fn + "") && es5.names(fn).length > 0; - - if (hasMethods || hasMethodsOtherThanConstructor || - hasThisAssignmentAndStaticMethods) { - return true; - } - } - return false; - } catch (e) { - return false; - } -} - -function toFastProperties(obj) { - /*jshint -W027,-W055,-W031*/ - function FakeConstructor() {} - FakeConstructor.prototype = obj; - var l = 8; - while (l--) new FakeConstructor(); - return obj; - eval(obj); -} - -var rident = /^[a-z$_][a-z$_0-9]*$/i; -function isIdentifier(str) { - return rident.test(str); -} - -function filledRange(count, prefix, suffix) { - var ret = new Array(count); - for(var i = 0; i < count; ++i) { - ret[i] = prefix + i + suffix; - } - return ret; -} - -function safeToString(obj) { - try { - return obj + ""; - } catch (e) { - return "[no string representation]"; - } -} - -function isError(obj) { - return obj instanceof Error || - (obj !== null && - typeof obj === "object" && - typeof obj.message === "string" && - typeof obj.name === "string"); -} - -function markAsOriginatingFromRejection(e) { - try { - notEnumerableProp(e, "isOperational", true); - } - catch(ignore) {} -} - -function originatesFromRejection(e) { - if (e == null) return false; - return ((e instanceof Error["__BluebirdErrorTypes__"].OperationalError) || - e["isOperational"] === true); -} - -function canAttachTrace(obj) { - return isError(obj) && es5.propertyIsWritable(obj, "stack"); -} - -var ensureErrorObject = (function() { - if (!("stack" in new Error())) { - return function(value) { - if (canAttachTrace(value)) return value; - try {throw new Error(safeToString(value));} - catch(err) {return err;} - }; - } else { - return function(value) { - if (canAttachTrace(value)) return value; - return new Error(safeToString(value)); - }; - } -})(); - -function classString(obj) { - return {}.toString.call(obj); -} - -function copyDescriptors(from, to, filter) { - var keys = es5.names(from); - for (var i = 0; i < keys.length; ++i) { - var key = keys[i]; - if (filter(key)) { - try { - es5.defineProperty(to, key, es5.getDescriptor(from, key)); - } catch (ignore) {} - } - } -} - -var asArray = function(v) { - if (es5.isArray(v)) { - return v; - } - return null; -}; - -if (typeof Symbol !== "undefined" && Symbol.iterator) { - var ArrayFrom = typeof Array.from === "function" ? function(v) { - return Array.from(v); - } : function(v) { - var ret = []; - var it = v[Symbol.iterator](); - var itResult; - while (!((itResult = it.next()).done)) { - ret.push(itResult.value); - } - return ret; - }; - - asArray = function(v) { - if (es5.isArray(v)) { - return v; - } else if (v != null && typeof v[Symbol.iterator] === "function") { - return ArrayFrom(v); - } - return null; - }; -} - -var isNode = typeof process !== "undefined" && - classString(process).toLowerCase() === "[object process]"; - -var hasEnvVariables = typeof process !== "undefined" && - typeof process.env !== "undefined"; - -function env(key) { - return hasEnvVariables ? process.env[key] : undefined; -} - -function getNativePromise() { - if (typeof Promise === "function") { - try { - var promise = new Promise(function(){}); - if ({}.toString.call(promise) === "[object Promise]") { - return Promise; - } - } catch (e) {} - } -} - -function domainBind(self, cb) { - return self.bind(cb); -} - -var ret = { - isClass: isClass, - isIdentifier: isIdentifier, - inheritedDataKeys: inheritedDataKeys, - getDataPropertyOrDefault: getDataPropertyOrDefault, - thrower: thrower, - isArray: es5.isArray, - asArray: asArray, - notEnumerableProp: notEnumerableProp, - isPrimitive: isPrimitive, - isObject: isObject, - isError: isError, - canEvaluate: canEvaluate, - errorObj: errorObj, - tryCatch: tryCatch, - inherits: inherits, - withAppended: withAppended, - maybeWrapAsError: maybeWrapAsError, - toFastProperties: toFastProperties, - filledRange: filledRange, - toString: safeToString, - canAttachTrace: canAttachTrace, - ensureErrorObject: ensureErrorObject, - originatesFromRejection: originatesFromRejection, - markAsOriginatingFromRejection: markAsOriginatingFromRejection, - classString: classString, - copyDescriptors: copyDescriptors, - hasDevTools: typeof chrome !== "undefined" && chrome && - typeof chrome.loadTimes === "function", - isNode: isNode, - hasEnvVariables: hasEnvVariables, - env: env, - global: globalObject, - getNativePromise: getNativePromise, - domainBind: domainBind -}; -ret.isRecentNode = ret.isNode && (function() { - var version = process.versions.node.split(".").map(Number); - return (version[0] === 0 && version[1] > 10) || (version[0] > 0); -})(); - -if (ret.isNode) ret.toFastProperties(process); - -try {throw new Error(); } catch (e) {ret.lastLineError = e;} -module.exports = ret; diff --git a/publi/node_modules/bluebird/package.json b/publi/node_modules/bluebird/package.json deleted file mode 100644 index edd7da9..0000000 --- a/publi/node_modules/bluebird/package.json +++ /dev/null @@ -1,101 +0,0 @@ -{ - "_from": "bluebird@^3.1.1", - "_id": "bluebird@3.5.1", - "_inBundle": false, - "_integrity": "sha512-MKiLiV+I1AA596t9w1sQJ8jkiSr5+ZKi0WKrYGUn6d1Fx+Ij4tIj+m2WMQSGczs5jZVxV339chE8iwk6F64wjA==", - "_location": "/bluebird", - "_phantomChildren": {}, - "_requested": { - "type": "range", - "registry": true, - "raw": "bluebird@^3.1.1", - "name": "bluebird", - "escapedName": "bluebird", - "rawSpec": "^3.1.1", - "saveSpec": null, - "fetchSpec": "^3.1.1" - }, - "_requiredBy": [ - "/consolidate" - ], - "_resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.1.tgz", - "_shasum": "d9551f9de98f1fcda1e683d17ee91a0602ee2eb9", - "_spec": "bluebird@^3.1.1", - "_where": "/mnt/Data/bach/Documents/ola/OLA#5/ola5doc/publi/node_modules/consolidate", - "author": { - "name": "Petka Antonov", - "email": "petka_antonov@hotmail.com", - "url": "http://github.com/petkaantonov/" - }, - "browser": "./js/browser/bluebird.js", - "bugs": { - "url": "http://github.com/petkaantonov/bluebird/issues" - }, - "bundleDependencies": false, - "deprecated": false, - "description": "Full featured Promises/A+ implementation with exceptionally good performance", - "devDependencies": { - "acorn": "~0.6.0", - "baconjs": "^0.7.43", - "bluebird": "^2.9.2", - "body-parser": "^1.10.2", - "browserify": "^8.1.1", - "cli-table": "~0.3.1", - "co": "^4.2.0", - "cross-spawn": "^0.2.3", - "glob": "^4.3.2", - "grunt-saucelabs": "~8.4.1", - "highland": "^2.3.0", - "istanbul": "^0.3.5", - "jshint": "^2.6.0", - "jshint-stylish": "~0.2.0", - "kefir": "^2.4.1", - "mkdirp": "~0.5.0", - "mocha": "~2.1", - "open": "~0.0.5", - "optimist": "~0.6.1", - "rimraf": "~2.2.6", - "rx": "^2.3.25", - "serve-static": "^1.7.1", - "sinon": "~1.7.3", - "uglify-js": "~2.4.16" - }, - "files": [ - "js/browser", - "js/release", - "LICENSE" - ], - "homepage": "https://github.com/petkaantonov/bluebird", - "keywords": [ - "promise", - "performance", - "promises", - "promises-a", - "promises-aplus", - "async", - "await", - "deferred", - "deferreds", - "future", - "flow control", - "dsl", - "fluent interface" - ], - "license": "MIT", - "main": "./js/release/bluebird.js", - "name": "bluebird", - "repository": { - "type": "git", - "url": "git://github.com/petkaantonov/bluebird.git" - }, - "scripts": { - "generate-browser-core": "node tools/build.js --features=core --no-debug --release --zalgo --browser --minify && mv js/browser/bluebird.js js/browser/bluebird.core.js && mv js/browser/bluebird.min.js js/browser/bluebird.core.min.js", - "generate-browser-full": "node tools/build.js --no-clean --no-debug --release --browser --minify", - "istanbul": "istanbul", - "lint": "node scripts/jshint.js", - "prepublish": "npm run generate-browser-core && npm run generate-browser-full", - "test": "node tools/test.js" - }, - "version": "3.5.1", - "webpack": "./js/release/bluebird.js" -} diff --git a/publi/node_modules/boom/.npmignore b/publi/node_modules/boom/.npmignore deleted file mode 100644 index 77ba16c..0000000 --- a/publi/node_modules/boom/.npmignore +++ /dev/null @@ -1,18 +0,0 @@ -.idea -*.iml -npm-debug.log -dump.rdb -node_modules -results.tap -results.xml -npm-shrinkwrap.json -config.json -.DS_Store -*/.DS_Store -*/*/.DS_Store -._* -*/._* -*/*/._* -coverage.* -lib-cov - diff --git a/publi/node_modules/boom/.travis.yml b/publi/node_modules/boom/.travis.yml deleted file mode 100755 index dd1b24f..0000000 --- a/publi/node_modules/boom/.travis.yml +++ /dev/null @@ -1,8 +0,0 @@ -language: node_js - -node_js: - - 0.10 - - 4.0 - -sudo: false - diff --git a/publi/node_modules/boom/CONTRIBUTING.md b/publi/node_modules/boom/CONTRIBUTING.md deleted file mode 100644 index 8928361..0000000 --- a/publi/node_modules/boom/CONTRIBUTING.md +++ /dev/null @@ -1 +0,0 @@ -Please view our [hapijs contributing guide](https://github.com/hapijs/hapi/blob/master/CONTRIBUTING.md). diff --git a/publi/node_modules/boom/LICENSE b/publi/node_modules/boom/LICENSE deleted file mode 100755 index 3946889..0000000 --- a/publi/node_modules/boom/LICENSE +++ /dev/null @@ -1,28 +0,0 @@ -Copyright (c) 2012-2014, Walmart and other contributors. -All rights reserved. - -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. - * The names of any contributors may not 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 HOLDERS AND 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. - - * * * - -The complete list of contributors can be found at: https://github.com/hapijs/boom/graphs/contributors \ No newline at end of file diff --git a/publi/node_modules/boom/README.md b/publi/node_modules/boom/README.md deleted file mode 100755 index cbd91c9..0000000 --- a/publi/node_modules/boom/README.md +++ /dev/null @@ -1,652 +0,0 @@ -![boom Logo](https://raw.github.com/hapijs/boom/master/images/boom.png) - -HTTP-friendly error objects - -[![Build Status](https://secure.travis-ci.org/hapijs/boom.png)](http://travis-ci.org/hapijs/boom) -[![Current Version](https://img.shields.io/npm/v/boom.svg)](https://www.npmjs.com/package/boom) - -Lead Maintainer: [Adam Bretz](https://github.com/arb) - -**boom** provides a set of utilities for returning HTTP errors. Each utility returns a `Boom` error response -object (instance of `Error`) which includes the following properties: -- `isBoom` - if `true`, indicates this is a `Boom` object instance. -- `isServer` - convenience bool indicating status code >= 500. -- `message` - the error message. -- `output` - the formatted response. Can be directly manipulated after object construction to return a custom - error response. Allowed root keys: - - `statusCode` - the HTTP status code (typically 4xx or 5xx). - - `headers` - an object containing any HTTP headers where each key is a header name and value is the header content. - - `payload` - the formatted object used as the response payload (stringified). Can be directly manipulated but any - changes will be lost - if `reformat()` is called. Any content allowed and by default includes the following content: - - `statusCode` - the HTTP status code, derived from `error.output.statusCode`. - - `error` - the HTTP status message (e.g. 'Bad Request', 'Internal Server Error') derived from `statusCode`. - - `message` - the error message derived from `error.message`. -- inherited `Error` properties. - -The `Boom` object also supports the following method: -- `reformat()` - rebuilds `error.output` using the other object properties. - -## Overview - -- Helper methods - - [`wrap(error, [statusCode], [message])`](#wraperror-statuscode-message) - - [`create(statusCode, [message], [data])`](#createstatuscode-message-data) -- HTTP 4xx Errors - - 400: [`Boom.badRequest([message], [data])`](#boombadrequestmessage-data) - - 401: [`Boom.unauthorized([message], [scheme], [attributes])`](#boomunauthorizedmessage-scheme-attributes) - - 403: [`Boom.forbidden([message], [data])`](#boomforbiddenmessage-data) - - 404: [`Boom.notFound([message], [data])`](#boomnotfoundmessage-data) - - 405: [`Boom.methodNotAllowed([message], [data])`](#boommethodnotallowedmessage-data) - - 406: [`Boom.notAcceptable([message], [data])`](#boomnotacceptablemessage-data) - - 407: [`Boom.proxyAuthRequired([message], [data])`](#boomproxyauthrequiredmessage-data) - - 408: [`Boom.clientTimeout([message], [data])`](#boomclienttimeoutmessage-data) - - 409: [`Boom.conflict([message], [data])`](#boomconflictmessage-data) - - 410: [`Boom.resourceGone([message], [data])`](#boomresourcegonemessage-data) - - 411: [`Boom.lengthRequired([message], [data])`](#boomlengthrequiredmessage-data) - - 412: [`Boom.preconditionFailed([message], [data])`](#boompreconditionfailedmessage-data) - - 413: [`Boom.entityTooLarge([message], [data])`](#boomentitytoolargemessage-data) - - 414: [`Boom.uriTooLong([message], [data])`](#boomuritoolongmessage-data) - - 415: [`Boom.unsupportedMediaType([message], [data])`](#boomunsupportedmediatypemessage-data) - - 416: [`Boom.rangeNotSatisfiable([message], [data])`](#boomrangenotsatisfiablemessage-data) - - 417: [`Boom.expectationFailed([message], [data])`](#boomexpectationfailedmessage-data) - - 422: [`Boom.badData([message], [data])`](#boombaddatamessage-data) - - 428: [`Boom.preconditionRequired([message], [data])`](#boompreconditionrequiredmessage-data) - - 429: [`Boom.tooManyRequests([message], [data])`](#boomtoomanyrequestsmessage-data) -- HTTP 5xx Errors - - 500: [`Boom.badImplementation([message], [data])`](#boombadimplementationmessage-data) - - 501: [`Boom.notImplemented([message], [data])`](#boomnotimplementedmessage-data) - - 502: [`Boom.badGateway([message], [data])`](#boombadgatewaymessage-data) - - 503: [`Boom.serverTimeout([message], [data])`](#boomservertimeoutmessage-data) - - 504: [`Boom.gatewayTimeout([message], [data])`](#boomgatewaytimeoutmessage-data) -- [FAQ](#faq) - - -## Helper Methods - -### `wrap(error, [statusCode], [message])` - -Decorates an error with the **boom** properties where: -- `error` - the error object to wrap. If `error` is already a **boom** object, returns back the same object. -- `statusCode` - optional HTTP status code. Defaults to `500`. -- `message` - optional message string. If the error already has a message, it adds the message as a prefix. - Defaults to no message. - -```js -var error = new Error('Unexpected input'); -Boom.wrap(error, 400); -``` - -### `create(statusCode, [message], [data])` - -Generates an `Error` object with the **boom** decorations where: -- `statusCode` - an HTTP error code number. Must be greater or equal 400. -- `message` - optional message string. -- `data` - additional error data set to `error.data` property. - -```js -var error = Boom.create(400, 'Bad request', { timestamp: Date.now() }); -``` - -## HTTP 4xx Errors - -### `Boom.badRequest([message], [data])` - -Returns a 400 Bad Request error where: -- `message` - optional message. -- `data` - optional additional error data. - -```js -Boom.badRequest('invalid query'); -``` - -Generates the following response payload: - -```json -{ - "statusCode": 400, - "error": "Bad Request", - "message": "invalid query" -} -``` - -### `Boom.unauthorized([message], [scheme], [attributes])` - -Returns a 401 Unauthorized error where: -- `message` - optional message. -- `scheme` can be one of the following: - - an authentication scheme name - - an array of string values. These values will be separated by ', ' and set to the 'WWW-Authenticate' header. -- `attributes` - an object of values to use while setting the 'WWW-Authenticate' header. This value is only used - when `schema` is a string, otherwise it is ignored. Every key/value pair will be included in the - 'WWW-Authenticate' in the format of 'key="value"' as well as in the response payload under the `attributes` key. - `null` and `undefined` will be replaced with an empty string. If `attributes` is set, `message` will be used as - the 'error' segment of the 'WWW-Authenticate' header. If `message` is unset, the 'error' segment of the header - will not be present and `isMissing` will be true on the error object. - -If either `scheme` or `attributes` are set, the resultant `Boom` object will have the 'WWW-Authenticate' header set for the response. - -```js -Boom.unauthorized('invalid password'); -``` - -Generates the following response: - -```json -"payload": { - "statusCode": 401, - "error": "Unauthorized", - "message": "invalid password" -}, -"headers" {} -``` - -```js -Boom.unauthorized('invalid password', 'sample'); -``` - -Generates the following response: - -```json -"payload": { - "statusCode": 401, - "error": "Unauthorized", - "message": "invalid password", - "attributes": { - "error": "invalid password" - } -}, -"headers" { - "WWW-Authenticate": "sample error=\"invalid password\"" -} -``` - -```js -Boom.unauthorized('invalid password', 'sample', { ttl: 0, cache: null, foo: 'bar' }); -``` - -Generates the following response: - -```json -"payload": { - "statusCode": 401, - "error": "Unauthorized", - "message": "invalid password", - "attributes": { - "error": "invalid password", - "ttl": 0, - "cache": "", - "foo": "bar" - } -}, -"headers" { - "WWW-Authenticate": "sample ttl=\"0\", cache=\"\", foo=\"bar\", error=\"invalid password\"" -} -``` - -### `Boom.forbidden([message], [data])` - -Returns a 403 Forbidden error where: -- `message` - optional message. -- `data` - optional additional error data. - -```js -Boom.forbidden('try again some time'); -``` - -Generates the following response payload: - -```json -{ - "statusCode": 403, - "error": "Forbidden", - "message": "try again some time" -} -``` - -### `Boom.notFound([message], [data])` - -Returns a 404 Not Found error where: -- `message` - optional message. -- `data` - optional additional error data. - -```js -Boom.notFound('missing'); -``` - -Generates the following response payload: - -```json -{ - "statusCode": 404, - "error": "Not Found", - "message": "missing" -} -``` - -### `Boom.methodNotAllowed([message], [data])` - -Returns a 405 Method Not Allowed error where: -- `message` - optional message. -- `data` - optional additional error data. - -```js -Boom.methodNotAllowed('that method is not allowed'); -``` - -Generates the following response payload: - -```json -{ - "statusCode": 405, - "error": "Method Not Allowed", - "message": "that method is not allowed" -} -``` - -### `Boom.notAcceptable([message], [data])` - -Returns a 406 Not Acceptable error where: -- `message` - optional message. -- `data` - optional additional error data. - -```js -Boom.notAcceptable('unacceptable'); -``` - -Generates the following response payload: - -```json -{ - "statusCode": 406, - "error": "Not Acceptable", - "message": "unacceptable" -} -``` - -### `Boom.proxyAuthRequired([message], [data])` - -Returns a 407 Proxy Authentication Required error where: -- `message` - optional message. -- `data` - optional additional error data. - -```js -Boom.proxyAuthRequired('auth missing'); -``` - -Generates the following response payload: - -```json -{ - "statusCode": 407, - "error": "Proxy Authentication Required", - "message": "auth missing" -} -``` - -### `Boom.clientTimeout([message], [data])` - -Returns a 408 Request Time-out error where: -- `message` - optional message. -- `data` - optional additional error data. - -```js -Boom.clientTimeout('timed out'); -``` - -Generates the following response payload: - -```json -{ - "statusCode": 408, - "error": "Request Time-out", - "message": "timed out" -} -``` - -### `Boom.conflict([message], [data])` - -Returns a 409 Conflict error where: -- `message` - optional message. -- `data` - optional additional error data. - -```js -Boom.conflict('there was a conflict'); -``` - -Generates the following response payload: - -```json -{ - "statusCode": 409, - "error": "Conflict", - "message": "there was a conflict" -} -``` - -### `Boom.resourceGone([message], [data])` - -Returns a 410 Gone error where: -- `message` - optional message. -- `data` - optional additional error data. - -```js -Boom.resourceGone('it is gone'); -``` - -Generates the following response payload: - -```json -{ - "statusCode": 410, - "error": "Gone", - "message": "it is gone" -} -``` - -### `Boom.lengthRequired([message], [data])` - -Returns a 411 Length Required error where: -- `message` - optional message. -- `data` - optional additional error data. - -```js -Boom.lengthRequired('length needed'); -``` - -Generates the following response payload: - -```json -{ - "statusCode": 411, - "error": "Length Required", - "message": "length needed" -} -``` - -### `Boom.preconditionFailed([message], [data])` - -Returns a 412 Precondition Failed error where: -- `message` - optional message. -- `data` - optional additional error data. - -```js -Boom.preconditionFailed(); -``` - -Generates the following response payload: - -```json -{ - "statusCode": 412, - "error": "Precondition Failed" -} -``` - -### `Boom.entityTooLarge([message], [data])` - -Returns a 413 Request Entity Too Large error where: -- `message` - optional message. -- `data` - optional additional error data. - -```js -Boom.entityTooLarge('too big'); -``` - -Generates the following response payload: - -```json -{ - "statusCode": 413, - "error": "Request Entity Too Large", - "message": "too big" -} -``` - -### `Boom.uriTooLong([message], [data])` - -Returns a 414 Request-URI Too Large error where: -- `message` - optional message. -- `data` - optional additional error data. - -```js -Boom.uriTooLong('uri is too long'); -``` - -Generates the following response payload: - -```json -{ - "statusCode": 414, - "error": "Request-URI Too Large", - "message": "uri is too long" -} -``` - -### `Boom.unsupportedMediaType([message], [data])` - -Returns a 415 Unsupported Media Type error where: -- `message` - optional message. -- `data` - optional additional error data. - -```js -Boom.unsupportedMediaType('that media is not supported'); -``` - -Generates the following response payload: - -```json -{ - "statusCode": 415, - "error": "Unsupported Media Type", - "message": "that media is not supported" -} -``` - -### `Boom.rangeNotSatisfiable([message], [data])` - -Returns a 416 Requested Range Not Satisfiable error where: -- `message` - optional message. -- `data` - optional additional error data. - -```js -Boom.rangeNotSatisfiable(); -``` - -Generates the following response payload: - -```json -{ - "statusCode": 416, - "error": "Requested Range Not Satisfiable" -} -``` - -### `Boom.expectationFailed([message], [data])` - -Returns a 417 Expectation Failed error where: -- `message` - optional message. -- `data` - optional additional error data. - -```js -Boom.expectationFailed('expected this to work'); -``` - -Generates the following response payload: - -```json -{ - "statusCode": 417, - "error": "Expectation Failed", - "message": "expected this to work" -} -``` - -### `Boom.badData([message], [data])` - -Returns a 422 Unprocessable Entity error where: -- `message` - optional message. -- `data` - optional additional error data. - -```js -Boom.badData('your data is bad and you should feel bad'); -``` - -Generates the following response payload: - -```json -{ - "statusCode": 422, - "error": "Unprocessable Entity", - "message": "your data is bad and you should feel bad" -} -``` - -### `Boom.preconditionRequired([message], [data])` - -Returns a 428 Precondition Required error where: -- `message` - optional message. -- `data` - optional additional error data. - -```js -Boom.preconditionRequired('you must supply an If-Match header'); -``` - -Generates the following response payload: - -```json -{ - "statusCode": 428, - "error": "Precondition Required", - "message": "you must supply an If-Match header" -} -``` - -### `Boom.tooManyRequests([message], [data])` - -Returns a 429 Too Many Requests error where: -- `message` - optional message. -- `data` - optional additional error data. - -```js -Boom.tooManyRequests('you have exceeded your request limit'); -``` - -Generates the following response payload: - -```json -{ - "statusCode": 429, - "error": "Too Many Requests", - "message": "you have exceeded your request limit" -} -``` - -## HTTP 5xx Errors - -All 500 errors hide your message from the end user. Your message is recorded in the server log. - -### `Boom.badImplementation([message], [data])` - -Returns a 500 Internal Server Error error where: -- `message` - optional message. -- `data` - optional additional error data. - -```js -Boom.badImplementation('terrible implementation'); -``` - -Generates the following response payload: - -```json -{ - "statusCode": 500, - "error": "Internal Server Error", - "message": "An internal server error occurred" -} -``` - -### `Boom.notImplemented([message], [data])` - -Returns a 501 Not Implemented error where: -- `message` - optional message. -- `data` - optional additional error data. - -```js -Boom.notImplemented('method not implemented'); -``` - -Generates the following response payload: - -```json -{ - "statusCode": 501, - "error": "Not Implemented", - "message": "method not implemented" -} -``` - -### `Boom.badGateway([message], [data])` - -Returns a 502 Bad Gateway error where: -- `message` - optional message. -- `data` - optional additional error data. - -```js -Boom.badGateway('that is a bad gateway'); -``` - -Generates the following response payload: - -```json -{ - "statusCode": 502, - "error": "Bad Gateway", - "message": "that is a bad gateway" -} -``` - -### `Boom.serverTimeout([message], [data])` - -Returns a 503 Service Unavailable error where: -- `message` - optional message. -- `data` - optional additional error data. - -```js -Boom.serverTimeout('unavailable'); -``` - -Generates the following response payload: - -```json -{ - "statusCode": 503, - "error": "Service Unavailable", - "message": "unavailable" -} -``` - -### `Boom.gatewayTimeout([message], [data])` - -Returns a 504 Gateway Time-out error where: -- `message` - optional message. -- `data` - optional additional error data. - -```js -Boom.gatewayTimeout(); -``` - -Generates the following response payload: - -```json -{ - "statusCode": 504, - "error": "Gateway Time-out" -} -``` - -## F.A.Q. - -###### How do I include extra information in my responses? `output.payload` is missing `data`, what gives? - -There is a reason the values passed back in the response payloads are pretty locked down. It's mostly for security and to not leak any important information back to the client. This means you will need to put in a little more effort to include extra information about your custom error. Check out the ["Error transformation"](https://github.com/hapijs/hapi/blob/master/API.md#error-transformation) section in the hapi documentation. diff --git a/publi/node_modules/boom/images/boom.png b/publi/node_modules/boom/images/boom.png deleted file mode 100755 index 373bc13..0000000 Binary files a/publi/node_modules/boom/images/boom.png and /dev/null differ diff --git a/publi/node_modules/boom/lib/index.js b/publi/node_modules/boom/lib/index.js deleted file mode 100755 index 6bdea69..0000000 --- a/publi/node_modules/boom/lib/index.js +++ /dev/null @@ -1,318 +0,0 @@ -// Load modules - -var Http = require('http'); -var Hoek = require('hoek'); - - -// Declare internals - -var internals = {}; - -exports.wrap = function (error, statusCode, message) { - - Hoek.assert(error instanceof Error, 'Cannot wrap non-Error object'); - return (error.isBoom ? error : internals.initialize(error, statusCode || 500, message)); -}; - - -exports.create = function (statusCode, message, data) { - - return internals.create(statusCode, message, data, exports.create); -}; - -internals.create = function (statusCode, message, data, ctor) { - - var error = new Error(message ? message : undefined); // Avoids settings null message - Error.captureStackTrace(error, ctor); // Filter the stack to our external API - error.data = data || null; - internals.initialize(error, statusCode); - return error; -}; - -internals.initialize = function (error, statusCode, message) { - - var numberCode = parseInt(statusCode, 10); - Hoek.assert(!isNaN(numberCode) && numberCode >= 400, 'First argument must be a number (400+):', statusCode); - - error.isBoom = true; - error.isServer = numberCode >= 500; - - if (!error.hasOwnProperty('data')) { - error.data = null; - } - - error.output = { - statusCode: numberCode, - payload: {}, - headers: {} - }; - - error.reformat = internals.reformat; - error.reformat(); - - if (!message && - !error.message) { - - message = error.output.payload.error; - } - - if (message) { - error.message = (message + (error.message ? ': ' + error.message : '')); - } - - return error; -}; - - -internals.reformat = function () { - - this.output.payload.statusCode = this.output.statusCode; - this.output.payload.error = Http.STATUS_CODES[this.output.statusCode] || 'Unknown'; - - if (this.output.statusCode === 500) { - this.output.payload.message = 'An internal server error occurred'; // Hide actual error from user - } - else if (this.message) { - this.output.payload.message = this.message; - } -}; - - -// 4xx Client Errors - -exports.badRequest = function (message, data) { - - return internals.create(400, message, data, exports.badRequest); -}; - - -exports.unauthorized = function (message, scheme, attributes) { // Or function (message, wwwAuthenticate[]) - - var err = internals.create(401, message, undefined, exports.unauthorized); - - if (!scheme) { - return err; - } - - var wwwAuthenticate = ''; - var i = 0; - var il = 0; - - if (typeof scheme === 'string') { - - // function (message, scheme, attributes) - - wwwAuthenticate = scheme; - - if (attributes || message) { - err.output.payload.attributes = {}; - } - - if (attributes) { - var names = Object.keys(attributes); - for (i = 0, il = names.length; i < il; ++i) { - var name = names[i]; - if (i) { - wwwAuthenticate += ','; - } - - var value = attributes[name]; - if (value === null || - value === undefined) { // Value can be zero - - value = ''; - } - wwwAuthenticate += ' ' + name + '="' + Hoek.escapeHeaderAttribute(value.toString()) + '"'; - err.output.payload.attributes[name] = value; - } - } - - if (message) { - if (attributes) { - wwwAuthenticate += ','; - } - wwwAuthenticate += ' error="' + Hoek.escapeHeaderAttribute(message) + '"'; - err.output.payload.attributes.error = message; - } - else { - err.isMissing = true; - } - } - else { - - // function (message, wwwAuthenticate[]) - - var wwwArray = scheme; - for (i = 0, il = wwwArray.length; i < il; ++i) { - if (i) { - wwwAuthenticate += ', '; - } - - wwwAuthenticate += wwwArray[i]; - } - } - - err.output.headers['WWW-Authenticate'] = wwwAuthenticate; - - return err; -}; - - -exports.forbidden = function (message, data) { - - return internals.create(403, message, data, exports.forbidden); -}; - - -exports.notFound = function (message, data) { - - return internals.create(404, message, data, exports.notFound); -}; - - -exports.methodNotAllowed = function (message, data) { - - return internals.create(405, message, data, exports.methodNotAllowed); -}; - - -exports.notAcceptable = function (message, data) { - - return internals.create(406, message, data, exports.notAcceptable); -}; - - -exports.proxyAuthRequired = function (message, data) { - - return internals.create(407, message, data, exports.proxyAuthRequired); -}; - - -exports.clientTimeout = function (message, data) { - - return internals.create(408, message, data, exports.clientTimeout); -}; - - -exports.conflict = function (message, data) { - - return internals.create(409, message, data, exports.conflict); -}; - - -exports.resourceGone = function (message, data) { - - return internals.create(410, message, data, exports.resourceGone); -}; - - -exports.lengthRequired = function (message, data) { - - return internals.create(411, message, data, exports.lengthRequired); -}; - - -exports.preconditionFailed = function (message, data) { - - return internals.create(412, message, data, exports.preconditionFailed); -}; - - -exports.entityTooLarge = function (message, data) { - - return internals.create(413, message, data, exports.entityTooLarge); -}; - - -exports.uriTooLong = function (message, data) { - - return internals.create(414, message, data, exports.uriTooLong); -}; - - -exports.unsupportedMediaType = function (message, data) { - - return internals.create(415, message, data, exports.unsupportedMediaType); -}; - - -exports.rangeNotSatisfiable = function (message, data) { - - return internals.create(416, message, data, exports.rangeNotSatisfiable); -}; - - -exports.expectationFailed = function (message, data) { - - return internals.create(417, message, data, exports.expectationFailed); -}; - -exports.badData = function (message, data) { - - return internals.create(422, message, data, exports.badData); -}; - - -exports.preconditionRequired = function (message, data) { - - return internals.create(428, message, data, exports.preconditionRequired); -}; - - -exports.tooManyRequests = function (message, data) { - - return internals.create(429, message, data, exports.tooManyRequests); -}; - - -// 5xx Server Errors - -exports.internal = function (message, data, statusCode) { - - return internals.serverError(message, data, statusCode, exports.internal); -}; - -internals.serverError = function (message, data, statusCode, ctor) { - - var error; - if (data instanceof Error) { - error = exports.wrap(data, statusCode, message); - } else { - error = internals.create(statusCode || 500, message, undefined, ctor); - error.data = data; - } - - return error; -}; - - -exports.notImplemented = function (message, data) { - - return internals.serverError(message, data, 501, exports.notImplemented); -}; - - -exports.badGateway = function (message, data) { - - return internals.serverError(message, data, 502, exports.badGateway); -}; - - -exports.serverTimeout = function (message, data) { - - return internals.serverError(message, data, 503, exports.serverTimeout); -}; - - -exports.gatewayTimeout = function (message, data) { - - return internals.serverError(message, data, 504, exports.gatewayTimeout); -}; - - -exports.badImplementation = function (message, data) { - - var err = internals.serverError(message, data, 500, exports.badImplementation); - err.isDeveloperError = true; - return err; -}; diff --git a/publi/node_modules/boom/package.json b/publi/node_modules/boom/package.json deleted file mode 100644 index c3739b0..0000000 --- a/publi/node_modules/boom/package.json +++ /dev/null @@ -1,99 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "boom@2.x.x", - "scope": null, - "escapedName": "boom", - "name": "boom", - "rawSpec": "2.x.x", - "spec": ">=2.0.0 <3.0.0", - "type": "range" - }, - "/mnt/Data/bach/Documents/ola/OLA#4/OLA#4DOC/sys/node_modules/hawk" - ] - ], - "_from": "boom@>=2.0.0 <3.0.0", - "_id": "boom@2.10.1", - "_inCache": true, - "_location": "/boom", - "_nodeVersion": "0.10.40", - "_npmUser": { - "name": "arb", - "email": "arbretz@gmail.com" - }, - "_npmVersion": "2.11.1", - "_phantomChildren": {}, - "_requested": { - "raw": "boom@2.x.x", - "scope": null, - "escapedName": "boom", - "name": "boom", - "rawSpec": "2.x.x", - "spec": ">=2.0.0 <3.0.0", - "type": "range" - }, - "_requiredBy": [ - "/cryptiles", - "/hawk" - ], - "_resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz", - "_shasum": "39c8918ceff5799f83f9492a848f625add0c766f", - "_shrinkwrap": null, - "_spec": "boom@2.x.x", - "_where": "/mnt/Data/bach/Documents/ola/OLA#4/OLA#4DOC/sys/node_modules/hawk", - "bugs": { - "url": "https://github.com/hapijs/boom/issues" - }, - "dependencies": { - "hoek": "2.x.x" - }, - "description": "HTTP-friendly error objects", - "devDependencies": { - "code": "1.x.x", - "lab": "7.x.x" - }, - "directories": {}, - "dist": { - "shasum": "39c8918ceff5799f83f9492a848f625add0c766f", - "tarball": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz" - }, - "engines": { - "node": ">=0.10.40" - }, - "gitHead": "ff1a662a86b39426cdd18f4441b112d307a34a6f", - "homepage": "https://github.com/hapijs/boom#readme", - "keywords": [ - "error", - "http" - ], - "license": "BSD-3-Clause", - "main": "lib/index.js", - "maintainers": [ - { - "name": "hueniverse", - "email": "eran@hueniverse.com" - }, - { - "name": "wyatt", - "email": "wpreul@gmail.com" - }, - { - "name": "arb", - "email": "arbretz@gmail.com" - } - ], - "name": "boom", - "optionalDependencies": {}, - "readme": "![boom Logo](https://raw.github.com/hapijs/boom/master/images/boom.png)\n\nHTTP-friendly error objects\n\n[![Build Status](https://secure.travis-ci.org/hapijs/boom.png)](http://travis-ci.org/hapijs/boom)\n[![Current Version](https://img.shields.io/npm/v/boom.svg)](https://www.npmjs.com/package/boom)\n\nLead Maintainer: [Adam Bretz](https://github.com/arb)\n\n**boom** provides a set of utilities for returning HTTP errors. Each utility returns a `Boom` error response\nobject (instance of `Error`) which includes the following properties:\n- `isBoom` - if `true`, indicates this is a `Boom` object instance.\n- `isServer` - convenience bool indicating status code >= 500.\n- `message` - the error message.\n- `output` - the formatted response. Can be directly manipulated after object construction to return a custom\n error response. Allowed root keys:\n - `statusCode` - the HTTP status code (typically 4xx or 5xx).\n - `headers` - an object containing any HTTP headers where each key is a header name and value is the header content.\n - `payload` - the formatted object used as the response payload (stringified). Can be directly manipulated but any\n changes will be lost\n if `reformat()` is called. Any content allowed and by default includes the following content:\n - `statusCode` - the HTTP status code, derived from `error.output.statusCode`.\n - `error` - the HTTP status message (e.g. 'Bad Request', 'Internal Server Error') derived from `statusCode`.\n - `message` - the error message derived from `error.message`.\n- inherited `Error` properties.\n\nThe `Boom` object also supports the following method:\n- `reformat()` - rebuilds `error.output` using the other object properties.\n\n## Overview\n\n- Helper methods\n - [`wrap(error, [statusCode], [message])`](#wraperror-statuscode-message)\n - [`create(statusCode, [message], [data])`](#createstatuscode-message-data)\n- HTTP 4xx Errors\n - 400: [`Boom.badRequest([message], [data])`](#boombadrequestmessage-data)\n - 401: [`Boom.unauthorized([message], [scheme], [attributes])`](#boomunauthorizedmessage-scheme-attributes)\n - 403: [`Boom.forbidden([message], [data])`](#boomforbiddenmessage-data)\n - 404: [`Boom.notFound([message], [data])`](#boomnotfoundmessage-data)\n - 405: [`Boom.methodNotAllowed([message], [data])`](#boommethodnotallowedmessage-data)\n - 406: [`Boom.notAcceptable([message], [data])`](#boomnotacceptablemessage-data)\n - 407: [`Boom.proxyAuthRequired([message], [data])`](#boomproxyauthrequiredmessage-data)\n - 408: [`Boom.clientTimeout([message], [data])`](#boomclienttimeoutmessage-data)\n - 409: [`Boom.conflict([message], [data])`](#boomconflictmessage-data)\n - 410: [`Boom.resourceGone([message], [data])`](#boomresourcegonemessage-data)\n - 411: [`Boom.lengthRequired([message], [data])`](#boomlengthrequiredmessage-data)\n - 412: [`Boom.preconditionFailed([message], [data])`](#boompreconditionfailedmessage-data)\n - 413: [`Boom.entityTooLarge([message], [data])`](#boomentitytoolargemessage-data)\n - 414: [`Boom.uriTooLong([message], [data])`](#boomuritoolongmessage-data)\n - 415: [`Boom.unsupportedMediaType([message], [data])`](#boomunsupportedmediatypemessage-data)\n - 416: [`Boom.rangeNotSatisfiable([message], [data])`](#boomrangenotsatisfiablemessage-data)\n - 417: [`Boom.expectationFailed([message], [data])`](#boomexpectationfailedmessage-data)\n - 422: [`Boom.badData([message], [data])`](#boombaddatamessage-data)\n - 428: [`Boom.preconditionRequired([message], [data])`](#boompreconditionrequiredmessage-data)\n - 429: [`Boom.tooManyRequests([message], [data])`](#boomtoomanyrequestsmessage-data)\n- HTTP 5xx Errors\n - 500: [`Boom.badImplementation([message], [data])`](#boombadimplementationmessage-data)\n - 501: [`Boom.notImplemented([message], [data])`](#boomnotimplementedmessage-data)\n - 502: [`Boom.badGateway([message], [data])`](#boombadgatewaymessage-data)\n - 503: [`Boom.serverTimeout([message], [data])`](#boomservertimeoutmessage-data)\n - 504: [`Boom.gatewayTimeout([message], [data])`](#boomgatewaytimeoutmessage-data)\n- [FAQ](#faq)\n\n\n## Helper Methods\n\n### `wrap(error, [statusCode], [message])`\n\nDecorates an error with the **boom** properties where:\n- `error` - the error object to wrap. If `error` is already a **boom** object, returns back the same object.\n- `statusCode` - optional HTTP status code. Defaults to `500`.\n- `message` - optional message string. If the error already has a message, it adds the message as a prefix.\n Defaults to no message.\n\n```js\nvar error = new Error('Unexpected input');\nBoom.wrap(error, 400);\n```\n\n### `create(statusCode, [message], [data])`\n\nGenerates an `Error` object with the **boom** decorations where:\n- `statusCode` - an HTTP error code number. Must be greater or equal 400.\n- `message` - optional message string.\n- `data` - additional error data set to `error.data` property.\n\n```js\nvar error = Boom.create(400, 'Bad request', { timestamp: Date.now() });\n```\n\n## HTTP 4xx Errors\n\n### `Boom.badRequest([message], [data])`\n\nReturns a 400 Bad Request error where:\n- `message` - optional message.\n- `data` - optional additional error data.\n\n```js\nBoom.badRequest('invalid query');\n```\n\nGenerates the following response payload:\n\n```json\n{\n \"statusCode\": 400,\n \"error\": \"Bad Request\",\n \"message\": \"invalid query\"\n}\n```\n\n### `Boom.unauthorized([message], [scheme], [attributes])`\n\nReturns a 401 Unauthorized error where:\n- `message` - optional message.\n- `scheme` can be one of the following:\n - an authentication scheme name\n - an array of string values. These values will be separated by ', ' and set to the 'WWW-Authenticate' header.\n- `attributes` - an object of values to use while setting the 'WWW-Authenticate' header. This value is only used\n when `schema` is a string, otherwise it is ignored. Every key/value pair will be included in the\n 'WWW-Authenticate' in the format of 'key=\"value\"' as well as in the response payload under the `attributes` key.\n `null` and `undefined` will be replaced with an empty string. If `attributes` is set, `message` will be used as\n the 'error' segment of the 'WWW-Authenticate' header. If `message` is unset, the 'error' segment of the header\n will not be present and `isMissing` will be true on the error object.\n\nIf either `scheme` or `attributes` are set, the resultant `Boom` object will have the 'WWW-Authenticate' header set for the response.\n\n```js\nBoom.unauthorized('invalid password');\n```\n\nGenerates the following response:\n\n```json\n\"payload\": {\n \"statusCode\": 401,\n \"error\": \"Unauthorized\",\n \"message\": \"invalid password\"\n},\n\"headers\" {}\n```\n\n```js\nBoom.unauthorized('invalid password', 'sample');\n```\n\nGenerates the following response:\n\n```json\n\"payload\": {\n \"statusCode\": 401,\n \"error\": \"Unauthorized\",\n \"message\": \"invalid password\",\n \"attributes\": {\n \"error\": \"invalid password\"\n }\n},\n\"headers\" {\n \"WWW-Authenticate\": \"sample error=\\\"invalid password\\\"\"\n}\n```\n\n```js\nBoom.unauthorized('invalid password', 'sample', { ttl: 0, cache: null, foo: 'bar' });\n```\n\nGenerates the following response:\n\n```json\n\"payload\": {\n \"statusCode\": 401,\n \"error\": \"Unauthorized\",\n \"message\": \"invalid password\",\n \"attributes\": {\n \"error\": \"invalid password\",\n \"ttl\": 0,\n \"cache\": \"\",\n \"foo\": \"bar\"\n }\n},\n\"headers\" {\n \"WWW-Authenticate\": \"sample ttl=\\\"0\\\", cache=\\\"\\\", foo=\\\"bar\\\", error=\\\"invalid password\\\"\"\n}\n```\n\n### `Boom.forbidden([message], [data])`\n\nReturns a 403 Forbidden error where:\n- `message` - optional message.\n- `data` - optional additional error data.\n\n```js\nBoom.forbidden('try again some time');\n```\n\nGenerates the following response payload:\n\n```json\n{\n \"statusCode\": 403,\n \"error\": \"Forbidden\",\n \"message\": \"try again some time\"\n}\n```\n\n### `Boom.notFound([message], [data])`\n\nReturns a 404 Not Found error where:\n- `message` - optional message.\n- `data` - optional additional error data.\n\n```js\nBoom.notFound('missing');\n```\n\nGenerates the following response payload:\n\n```json\n{\n \"statusCode\": 404,\n \"error\": \"Not Found\",\n \"message\": \"missing\"\n}\n```\n\n### `Boom.methodNotAllowed([message], [data])`\n\nReturns a 405 Method Not Allowed error where:\n- `message` - optional message.\n- `data` - optional additional error data.\n\n```js\nBoom.methodNotAllowed('that method is not allowed');\n```\n\nGenerates the following response payload:\n\n```json\n{\n \"statusCode\": 405,\n \"error\": \"Method Not Allowed\",\n \"message\": \"that method is not allowed\"\n}\n```\n\n### `Boom.notAcceptable([message], [data])`\n\nReturns a 406 Not Acceptable error where:\n- `message` - optional message.\n- `data` - optional additional error data.\n\n```js\nBoom.notAcceptable('unacceptable');\n```\n\nGenerates the following response payload:\n\n```json\n{\n \"statusCode\": 406,\n \"error\": \"Not Acceptable\",\n \"message\": \"unacceptable\"\n}\n```\n\n### `Boom.proxyAuthRequired([message], [data])`\n\nReturns a 407 Proxy Authentication Required error where:\n- `message` - optional message.\n- `data` - optional additional error data.\n\n```js\nBoom.proxyAuthRequired('auth missing');\n```\n\nGenerates the following response payload:\n\n```json\n{\n \"statusCode\": 407,\n \"error\": \"Proxy Authentication Required\",\n \"message\": \"auth missing\"\n}\n```\n\n### `Boom.clientTimeout([message], [data])`\n\nReturns a 408 Request Time-out error where:\n- `message` - optional message.\n- `data` - optional additional error data.\n\n```js\nBoom.clientTimeout('timed out');\n```\n\nGenerates the following response payload:\n\n```json\n{\n \"statusCode\": 408,\n \"error\": \"Request Time-out\",\n \"message\": \"timed out\"\n}\n```\n\n### `Boom.conflict([message], [data])`\n\nReturns a 409 Conflict error where:\n- `message` - optional message.\n- `data` - optional additional error data.\n\n```js\nBoom.conflict('there was a conflict');\n```\n\nGenerates the following response payload:\n\n```json\n{\n \"statusCode\": 409,\n \"error\": \"Conflict\",\n \"message\": \"there was a conflict\"\n}\n```\n\n### `Boom.resourceGone([message], [data])`\n\nReturns a 410 Gone error where:\n- `message` - optional message.\n- `data` - optional additional error data.\n\n```js\nBoom.resourceGone('it is gone');\n```\n\nGenerates the following response payload:\n\n```json\n{\n \"statusCode\": 410,\n \"error\": \"Gone\",\n \"message\": \"it is gone\"\n}\n```\n\n### `Boom.lengthRequired([message], [data])`\n\nReturns a 411 Length Required error where:\n- `message` - optional message.\n- `data` - optional additional error data.\n\n```js\nBoom.lengthRequired('length needed');\n```\n\nGenerates the following response payload:\n\n```json\n{\n \"statusCode\": 411,\n \"error\": \"Length Required\",\n \"message\": \"length needed\"\n}\n```\n\n### `Boom.preconditionFailed([message], [data])`\n\nReturns a 412 Precondition Failed error where:\n- `message` - optional message.\n- `data` - optional additional error data.\n\n```js\nBoom.preconditionFailed();\n```\n\nGenerates the following response payload:\n\n```json\n{\n \"statusCode\": 412,\n \"error\": \"Precondition Failed\"\n}\n```\n\n### `Boom.entityTooLarge([message], [data])`\n\nReturns a 413 Request Entity Too Large error where:\n- `message` - optional message.\n- `data` - optional additional error data.\n\n```js\nBoom.entityTooLarge('too big');\n```\n\nGenerates the following response payload:\n\n```json\n{\n \"statusCode\": 413,\n \"error\": \"Request Entity Too Large\",\n \"message\": \"too big\"\n}\n```\n\n### `Boom.uriTooLong([message], [data])`\n\nReturns a 414 Request-URI Too Large error where:\n- `message` - optional message.\n- `data` - optional additional error data.\n\n```js\nBoom.uriTooLong('uri is too long');\n```\n\nGenerates the following response payload:\n\n```json\n{\n \"statusCode\": 414,\n \"error\": \"Request-URI Too Large\",\n \"message\": \"uri is too long\"\n}\n```\n\n### `Boom.unsupportedMediaType([message], [data])`\n\nReturns a 415 Unsupported Media Type error where:\n- `message` - optional message.\n- `data` - optional additional error data.\n\n```js\nBoom.unsupportedMediaType('that media is not supported');\n```\n\nGenerates the following response payload:\n\n```json\n{\n \"statusCode\": 415,\n \"error\": \"Unsupported Media Type\",\n \"message\": \"that media is not supported\"\n}\n```\n\n### `Boom.rangeNotSatisfiable([message], [data])`\n\nReturns a 416 Requested Range Not Satisfiable error where:\n- `message` - optional message.\n- `data` - optional additional error data.\n\n```js\nBoom.rangeNotSatisfiable();\n```\n\nGenerates the following response payload:\n\n```json\n{\n \"statusCode\": 416,\n \"error\": \"Requested Range Not Satisfiable\"\n}\n```\n\n### `Boom.expectationFailed([message], [data])`\n\nReturns a 417 Expectation Failed error where:\n- `message` - optional message.\n- `data` - optional additional error data.\n\n```js\nBoom.expectationFailed('expected this to work');\n```\n\nGenerates the following response payload:\n\n```json\n{\n \"statusCode\": 417,\n \"error\": \"Expectation Failed\",\n \"message\": \"expected this to work\"\n}\n```\n\n### `Boom.badData([message], [data])`\n\nReturns a 422 Unprocessable Entity error where:\n- `message` - optional message.\n- `data` - optional additional error data.\n\n```js\nBoom.badData('your data is bad and you should feel bad');\n```\n\nGenerates the following response payload:\n\n```json\n{\n \"statusCode\": 422,\n \"error\": \"Unprocessable Entity\",\n \"message\": \"your data is bad and you should feel bad\"\n}\n```\n\n### `Boom.preconditionRequired([message], [data])`\n\nReturns a 428 Precondition Required error where:\n- `message` - optional message.\n- `data` - optional additional error data.\n\n```js\nBoom.preconditionRequired('you must supply an If-Match header');\n```\n\nGenerates the following response payload:\n\n```json\n{\n \"statusCode\": 428,\n \"error\": \"Precondition Required\",\n \"message\": \"you must supply an If-Match header\"\n}\n```\n\n### `Boom.tooManyRequests([message], [data])`\n\nReturns a 429 Too Many Requests error where:\n- `message` - optional message.\n- `data` - optional additional error data.\n\n```js\nBoom.tooManyRequests('you have exceeded your request limit');\n```\n\nGenerates the following response payload:\n\n```json\n{\n \"statusCode\": 429,\n \"error\": \"Too Many Requests\",\n \"message\": \"you have exceeded your request limit\"\n}\n```\n\n## HTTP 5xx Errors\n\nAll 500 errors hide your message from the end user. Your message is recorded in the server log.\n\n### `Boom.badImplementation([message], [data])`\n\nReturns a 500 Internal Server Error error where:\n- `message` - optional message.\n- `data` - optional additional error data.\n\n```js\nBoom.badImplementation('terrible implementation');\n```\n\nGenerates the following response payload:\n\n```json\n{\n \"statusCode\": 500,\n \"error\": \"Internal Server Error\",\n \"message\": \"An internal server error occurred\"\n}\n```\n\n### `Boom.notImplemented([message], [data])`\n\nReturns a 501 Not Implemented error where:\n- `message` - optional message.\n- `data` - optional additional error data.\n\n```js\nBoom.notImplemented('method not implemented');\n```\n\nGenerates the following response payload:\n\n```json\n{\n \"statusCode\": 501,\n \"error\": \"Not Implemented\",\n \"message\": \"method not implemented\"\n}\n```\n\n### `Boom.badGateway([message], [data])`\n\nReturns a 502 Bad Gateway error where:\n- `message` - optional message.\n- `data` - optional additional error data.\n\n```js\nBoom.badGateway('that is a bad gateway');\n```\n\nGenerates the following response payload:\n\n```json\n{\n \"statusCode\": 502,\n \"error\": \"Bad Gateway\",\n \"message\": \"that is a bad gateway\"\n}\n```\n\n### `Boom.serverTimeout([message], [data])`\n\nReturns a 503 Service Unavailable error where:\n- `message` - optional message.\n- `data` - optional additional error data.\n\n```js\nBoom.serverTimeout('unavailable');\n```\n\nGenerates the following response payload:\n\n```json\n{\n \"statusCode\": 503,\n \"error\": \"Service Unavailable\",\n \"message\": \"unavailable\"\n}\n```\n\n### `Boom.gatewayTimeout([message], [data])`\n\nReturns a 504 Gateway Time-out error where:\n- `message` - optional message.\n- `data` - optional additional error data.\n\n```js\nBoom.gatewayTimeout();\n```\n\nGenerates the following response payload:\n\n```json\n{\n \"statusCode\": 504,\n \"error\": \"Gateway Time-out\"\n}\n```\n\n## F.A.Q.\n\n###### How do I include extra information in my responses? `output.payload` is missing `data`, what gives?\n\nThere is a reason the values passed back in the response payloads are pretty locked down. It's mostly for security and to not leak any important information back to the client. This means you will need to put in a little more effort to include extra information about your custom error. Check out the [\"Error transformation\"](https://github.com/hapijs/hapi/blob/master/API.md#error-transformation) section in the hapi documentation.\n", - "readmeFilename": "README.md", - "repository": { - "type": "git", - "url": "git://github.com/hapijs/boom.git" - }, - "scripts": { - "test": "lab -a code -t 100 -L", - "test-cov-html": "lab -a code -r html -o coverage.html -L" - }, - "version": "2.10.1" -} diff --git a/publi/node_modules/boom/test/index.js b/publi/node_modules/boom/test/index.js deleted file mode 100755 index 79a59e9..0000000 --- a/publi/node_modules/boom/test/index.js +++ /dev/null @@ -1,654 +0,0 @@ -// Load modules - -var Code = require('code'); -var Boom = require('../lib'); -var Lab = require('lab'); - - -// Declare internals - -var internals = {}; - - -// Test shortcuts - -var lab = exports.lab = Lab.script(); -var describe = lab.describe; -var it = lab.it; -var expect = Code.expect; - - -it('returns the same object when already boom', function (done) { - - var error = Boom.badRequest(); - var wrapped = Boom.wrap(error); - expect(error).to.equal(wrapped); - done(); -}); - -it('returns an error with info when constructed using another error', function (done) { - - var error = new Error('ka-boom'); - error.xyz = 123; - var err = Boom.wrap(error); - expect(err.xyz).to.equal(123); - expect(err.message).to.equal('ka-boom'); - expect(err.output).to.deep.equal({ - statusCode: 500, - payload: { - statusCode: 500, - error: 'Internal Server Error', - message: 'An internal server error occurred' - }, - headers: {} - }); - expect(err.data).to.equal(null); - done(); -}); - -it('does not override data when constructed using another error', function (done) { - - var error = new Error('ka-boom'); - error.data = { useful: 'data' }; - var err = Boom.wrap(error); - expect(err.data).to.equal(error.data); - done(); -}); - -it('sets new message when none exists', function (done) { - - var error = new Error(); - var wrapped = Boom.wrap(error, 400, 'something bad'); - expect(wrapped.message).to.equal('something bad'); - done(); -}); - -it('throws when statusCode is not a number', function (done) { - - expect(function () { - - Boom.create('x'); - }).to.throw('First argument must be a number (400+): x'); - done(); -}); - -it('will cast a number-string to an integer', function (done) { - - var codes = [ - { input: '404', result: 404 }, - { input: '404.1', result: 404 }, - { input: 400, result: 400 }, - { input: 400.123, result: 400 }]; - for (var i = 0, il = codes.length; i < il; ++i) { - var code = codes[i]; - var err = Boom.create(code.input); - expect(err.output.statusCode).to.equal(code.result); - } - - done(); -}); - -it('throws when statusCode is not finite', function (done) { - - expect(function () { - - Boom.create(1 / 0); - }).to.throw('First argument must be a number (400+): null'); - done(); -}); - -it('sets error code to unknown', function (done) { - - var err = Boom.create(999); - expect(err.output.payload.error).to.equal('Unknown'); - done(); -}); - -describe('create()', function () { - - it('does not sets null message', function (done) { - - var error = Boom.unauthorized(null); - expect(error.output.payload.message).to.not.exist(); - expect(error.isServer).to.be.false(); - done(); - }); - - it('sets message and data', function (done) { - - var error = Boom.badRequest('Missing data', { type: 'user' }); - expect(error.data.type).to.equal('user'); - expect(error.output.payload.message).to.equal('Missing data'); - done(); - }); -}); - -describe('isBoom()', function () { - - it('returns true for Boom object', function (done) { - - expect(Boom.badRequest().isBoom).to.equal(true); - done(); - }); - - it('returns false for Error object', function (done) { - - expect((new Error()).isBoom).to.not.exist(); - done(); - }); -}); - -describe('badRequest()', function () { - - it('returns a 400 error statusCode', function (done) { - - var error = Boom.badRequest(); - - expect(error.output.statusCode).to.equal(400); - expect(error.isServer).to.be.false(); - done(); - }); - - it('sets the message with the passed in message', function (done) { - - expect(Boom.badRequest('my message').message).to.equal('my message'); - done(); - }); - - it('sets the message to HTTP status if none provided', function (done) { - - expect(Boom.badRequest().message).to.equal('Bad Request'); - done(); - }); -}); - -describe('unauthorized()', function () { - - it('returns a 401 error statusCode', function (done) { - - var err = Boom.unauthorized(); - expect(err.output.statusCode).to.equal(401); - expect(err.output.headers).to.deep.equal({}); - done(); - }); - - it('sets the message with the passed in message', function (done) { - - expect(Boom.unauthorized('my message').message).to.equal('my message'); - done(); - }); - - it('returns a WWW-Authenticate header when passed a scheme', function (done) { - - var err = Boom.unauthorized('boom', 'Test'); - expect(err.output.statusCode).to.equal(401); - expect(err.output.headers['WWW-Authenticate']).to.equal('Test error="boom"'); - done(); - }); - - it('returns a WWW-Authenticate header set to the schema array value', function (done) { - - var err = Boom.unauthorized(null, ['Test','one','two']); - expect(err.output.statusCode).to.equal(401); - expect(err.output.headers['WWW-Authenticate']).to.equal('Test, one, two'); - done(); - }); - - it('returns a WWW-Authenticate header when passed a scheme and attributes', function (done) { - - var err = Boom.unauthorized('boom', 'Test', { a: 1, b: 'something', c: null, d: 0 }); - expect(err.output.statusCode).to.equal(401); - expect(err.output.headers['WWW-Authenticate']).to.equal('Test a="1", b="something", c="", d="0", error="boom"'); - expect(err.output.payload.attributes).to.deep.equal({ a: 1, b: 'something', c: '', d: 0, error: 'boom' }); - done(); - }); - - it('returns a WWW-Authenticate header when passed attributes, missing error', function (done) { - - var err = Boom.unauthorized(null, 'Test', { a: 1, b: 'something', c: null, d: 0 }); - expect(err.output.statusCode).to.equal(401); - expect(err.output.headers['WWW-Authenticate']).to.equal('Test a="1", b="something", c="", d="0"'); - expect(err.isMissing).to.equal(true); - done(); - }); - - it('sets the isMissing flag when error message is empty', function (done) { - - var err = Boom.unauthorized('', 'Basic'); - expect(err.isMissing).to.equal(true); - done(); - }); - - it('does not set the isMissing flag when error message is not empty', function (done) { - - var err = Boom.unauthorized('message', 'Basic'); - expect(err.isMissing).to.equal(undefined); - done(); - }); - - it('sets a WWW-Authenticate when passed as an array', function (done) { - - var err = Boom.unauthorized('message', ['Basic', 'Example e="1"', 'Another x="3", y="4"']); - expect(err.output.headers['WWW-Authenticate']).to.equal('Basic, Example e="1", Another x="3", y="4"'); - done(); - }); -}); - - -describe('methodNotAllowed()', function () { - - it('returns a 405 error statusCode', function (done) { - - expect(Boom.methodNotAllowed().output.statusCode).to.equal(405); - done(); - }); - - it('sets the message with the passed in message', function (done) { - - expect(Boom.methodNotAllowed('my message').message).to.equal('my message'); - done(); - }); -}); - - -describe('notAcceptable()', function () { - - it('returns a 406 error statusCode', function (done) { - - expect(Boom.notAcceptable().output.statusCode).to.equal(406); - done(); - }); - - it('sets the message with the passed in message', function (done) { - - expect(Boom.notAcceptable('my message').message).to.equal('my message'); - done(); - }); -}); - - -describe('proxyAuthRequired()', function () { - - it('returns a 407 error statusCode', function (done) { - - expect(Boom.proxyAuthRequired().output.statusCode).to.equal(407); - done(); - }); - - it('sets the message with the passed in message', function (done) { - - expect(Boom.proxyAuthRequired('my message').message).to.equal('my message'); - done(); - }); -}); - - -describe('clientTimeout()', function () { - - it('returns a 408 error statusCode', function (done) { - - expect(Boom.clientTimeout().output.statusCode).to.equal(408); - done(); - }); - - it('sets the message with the passed in message', function (done) { - - expect(Boom.clientTimeout('my message').message).to.equal('my message'); - done(); - }); -}); - - -describe('conflict()', function () { - - it('returns a 409 error statusCode', function (done) { - - expect(Boom.conflict().output.statusCode).to.equal(409); - done(); - }); - - it('sets the message with the passed in message', function (done) { - - expect(Boom.conflict('my message').message).to.equal('my message'); - done(); - }); -}); - - -describe('resourceGone()', function () { - - it('returns a 410 error statusCode', function (done) { - - expect(Boom.resourceGone().output.statusCode).to.equal(410); - done(); - }); - - it('sets the message with the passed in message', function (done) { - - expect(Boom.resourceGone('my message').message).to.equal('my message'); - done(); - }); -}); - - -describe('lengthRequired()', function () { - - it('returns a 411 error statusCode', function (done) { - - expect(Boom.lengthRequired().output.statusCode).to.equal(411); - done(); - }); - - it('sets the message with the passed in message', function (done) { - - expect(Boom.lengthRequired('my message').message).to.equal('my message'); - done(); - }); -}); - - -describe('preconditionFailed()', function () { - - it('returns a 412 error statusCode', function (done) { - - expect(Boom.preconditionFailed().output.statusCode).to.equal(412); - done(); - }); - - it('sets the message with the passed in message', function (done) { - - expect(Boom.preconditionFailed('my message').message).to.equal('my message'); - done(); - }); -}); - - -describe('entityTooLarge()', function () { - - it('returns a 413 error statusCode', function (done) { - - expect(Boom.entityTooLarge().output.statusCode).to.equal(413); - done(); - }); - - it('sets the message with the passed in message', function (done) { - - expect(Boom.entityTooLarge('my message').message).to.equal('my message'); - done(); - }); -}); - - -describe('uriTooLong()', function () { - - it('returns a 414 error statusCode', function (done) { - - expect(Boom.uriTooLong().output.statusCode).to.equal(414); - done(); - }); - - it('sets the message with the passed in message', function (done) { - - expect(Boom.uriTooLong('my message').message).to.equal('my message'); - done(); - }); -}); - - -describe('unsupportedMediaType()', function () { - - it('returns a 415 error statusCode', function (done) { - - expect(Boom.unsupportedMediaType().output.statusCode).to.equal(415); - done(); - }); - - it('sets the message with the passed in message', function (done) { - - expect(Boom.unsupportedMediaType('my message').message).to.equal('my message'); - done(); - }); -}); - - -describe('rangeNotSatisfiable()', function () { - - it('returns a 416 error statusCode', function (done) { - - expect(Boom.rangeNotSatisfiable().output.statusCode).to.equal(416); - done(); - }); - - it('sets the message with the passed in message', function (done) { - - expect(Boom.rangeNotSatisfiable('my message').message).to.equal('my message'); - done(); - }); -}); - - -describe('expectationFailed()', function () { - - it('returns a 417 error statusCode', function (done) { - - expect(Boom.expectationFailed().output.statusCode).to.equal(417); - done(); - }); - - it('sets the message with the passed in message', function (done) { - - expect(Boom.expectationFailed('my message').message).to.equal('my message'); - done(); - }); -}); - - -describe('badData()', function () { - - it('returns a 422 error statusCode', function (done) { - - expect(Boom.badData().output.statusCode).to.equal(422); - done(); - }); - - it('sets the message with the passed in message', function (done) { - - expect(Boom.badData('my message').message).to.equal('my message'); - done(); - }); -}); - - -describe('preconditionRequired()', function () { - - it('returns a 428 error statusCode', function (done) { - - expect(Boom.preconditionRequired().output.statusCode).to.equal(428); - done(); - }); - - it('sets the message with the passed in message', function (done) { - - expect(Boom.preconditionRequired('my message').message).to.equal('my message'); - done(); - }); -}); - - -describe('tooManyRequests()', function () { - - it('returns a 429 error statusCode', function (done) { - - expect(Boom.tooManyRequests().output.statusCode).to.equal(429); - done(); - }); - - it('sets the message with the passed-in message', function (done) { - - expect(Boom.tooManyRequests('my message').message).to.equal('my message'); - done(); - }); -}); - -describe('serverTimeout()', function () { - - it('returns a 503 error statusCode', function (done) { - - expect(Boom.serverTimeout().output.statusCode).to.equal(503); - done(); - }); - - it('sets the message with the passed in message', function (done) { - - expect(Boom.serverTimeout('my message').message).to.equal('my message'); - done(); - }); -}); - -describe('forbidden()', function () { - - it('returns a 403 error statusCode', function (done) { - - expect(Boom.forbidden().output.statusCode).to.equal(403); - done(); - }); - - it('sets the message with the passed in message', function (done) { - - expect(Boom.forbidden('my message').message).to.equal('my message'); - done(); - }); -}); - -describe('notFound()', function () { - - it('returns a 404 error statusCode', function (done) { - - expect(Boom.notFound().output.statusCode).to.equal(404); - done(); - }); - - it('sets the message with the passed in message', function (done) { - - expect(Boom.notFound('my message').message).to.equal('my message'); - done(); - }); -}); - -describe('internal()', function () { - - it('returns a 500 error statusCode', function (done) { - - expect(Boom.internal().output.statusCode).to.equal(500); - done(); - }); - - it('sets the message with the passed in message', function (done) { - - var err = Boom.internal('my message'); - expect(err.message).to.equal('my message'); - expect(err.isServer).to.true(); - expect(err.output.payload.message).to.equal('An internal server error occurred'); - done(); - }); - - it('passes data on the callback if its passed in', function (done) { - - expect(Boom.internal('my message', { my: 'data' }).data.my).to.equal('data'); - done(); - }); - - it('returns an error with composite message', function (done) { - - try { - JSON.parse('{'); - } - catch (err) { - var boom = Boom.internal('Someting bad', err); - expect(boom.message).to.equal('Someting bad: Unexpected end of input'); - expect(boom.isServer).to.be.true(); - done(); - } - }); -}); - -describe('notImplemented()', function () { - - it('returns a 501 error statusCode', function (done) { - - expect(Boom.notImplemented().output.statusCode).to.equal(501); - done(); - }); - - it('sets the message with the passed in message', function (done) { - - expect(Boom.notImplemented('my message').message).to.equal('my message'); - done(); - }); -}); - - -describe('badGateway()', function () { - - it('returns a 502 error statusCode', function (done) { - - expect(Boom.badGateway().output.statusCode).to.equal(502); - done(); - }); - - it('sets the message with the passed in message', function (done) { - - expect(Boom.badGateway('my message').message).to.equal('my message'); - done(); - }); -}); - -describe('gatewayTimeout()', function () { - - it('returns a 504 error statusCode', function (done) { - - expect(Boom.gatewayTimeout().output.statusCode).to.equal(504); - done(); - }); - - it('sets the message with the passed in message', function (done) { - - expect(Boom.gatewayTimeout('my message').message).to.equal('my message'); - done(); - }); -}); - -describe('badImplementation()', function () { - - it('returns a 500 error statusCode', function (done) { - - var err = Boom.badImplementation(); - expect(err.output.statusCode).to.equal(500); - expect(err.isDeveloperError).to.equal(true); - expect(err.isServer).to.be.true(); - done(); - }); -}); - -describe('stack trace', function () { - - it('should omit lib', function (done) { - - ['badRequest', 'unauthorized', 'forbidden', 'notFound', 'methodNotAllowed', - 'notAcceptable', 'proxyAuthRequired', 'clientTimeout', 'conflict', - 'resourceGone', 'lengthRequired', 'preconditionFailed', 'entityTooLarge', - 'uriTooLong', 'unsupportedMediaType', 'rangeNotSatisfiable', 'expectationFailed', - 'badData', 'preconditionRequired', 'tooManyRequests', - - // 500s - 'internal', 'notImplemented', 'badGateway', 'serverTimeout', 'gatewayTimeout', - 'badImplementation' - ].forEach(function (name) { - - var err = Boom[name](); - expect(err.stack).to.not.match(/\/lib\/index\.js/); - }); - - done(); - }); -}); diff --git a/publi/node_modules/brace-expansion/README.md b/publi/node_modules/brace-expansion/README.md deleted file mode 100644 index 1793929..0000000 --- a/publi/node_modules/brace-expansion/README.md +++ /dev/null @@ -1,122 +0,0 @@ -# brace-expansion - -[Brace expansion](https://www.gnu.org/software/bash/manual/html_node/Brace-Expansion.html), -as known from sh/bash, in JavaScript. - -[![build status](https://secure.travis-ci.org/juliangruber/brace-expansion.svg)](http://travis-ci.org/juliangruber/brace-expansion) -[![downloads](https://img.shields.io/npm/dm/brace-expansion.svg)](https://www.npmjs.org/package/brace-expansion) - -[![testling badge](https://ci.testling.com/juliangruber/brace-expansion.png)](https://ci.testling.com/juliangruber/brace-expansion) - -## Example - -```js -var expand = require('brace-expansion'); - -expand('file-{a,b,c}.jpg') -// => ['file-a.jpg', 'file-b.jpg', 'file-c.jpg'] - -expand('-v{,,}') -// => ['-v', '-v', '-v'] - -expand('file{0..2}.jpg') -// => ['file0.jpg', 'file1.jpg', 'file2.jpg'] - -expand('file-{a..c}.jpg') -// => ['file-a.jpg', 'file-b.jpg', 'file-c.jpg'] - -expand('file{2..0}.jpg') -// => ['file2.jpg', 'file1.jpg', 'file0.jpg'] - -expand('file{0..4..2}.jpg') -// => ['file0.jpg', 'file2.jpg', 'file4.jpg'] - -expand('file-{a..e..2}.jpg') -// => ['file-a.jpg', 'file-c.jpg', 'file-e.jpg'] - -expand('file{00..10..5}.jpg') -// => ['file00.jpg', 'file05.jpg', 'file10.jpg'] - -expand('{{A..C},{a..c}}') -// => ['A', 'B', 'C', 'a', 'b', 'c'] - -expand('ppp{,config,oe{,conf}}') -// => ['ppp', 'pppconfig', 'pppoe', 'pppoeconf'] -``` - -## API - -```js -var expand = require('brace-expansion'); -``` - -### var expanded = expand(str) - -Return an array of all possible and valid expansions of `str`. If none are -found, `[str]` is returned. - -Valid expansions are: - -```js -/^(.*,)+(.+)?$/ -// {a,b,...} -``` - -A comma seperated list of options, like `{a,b}` or `{a,{b,c}}` or `{,a,}`. - -```js -/^-?\d+\.\.-?\d+(\.\.-?\d+)?$/ -// {x..y[..incr]} -``` - -A numeric sequence from `x` to `y` inclusive, with optional increment. -If `x` or `y` start with a leading `0`, all the numbers will be padded -to have equal length. Negative numbers and backwards iteration work too. - -```js -/^-?\d+\.\.-?\d+(\.\.-?\d+)?$/ -// {x..y[..incr]} -``` - -An alphabetic sequence from `x` to `y` inclusive, with optional increment. -`x` and `y` must be exactly one character, and if given, `incr` must be a -number. - -For compatibility reasons, the string `${` is not eligible for brace expansion. - -## Installation - -With [npm](https://npmjs.org) do: - -```bash -npm install brace-expansion -``` - -## Contributors - -- [Julian Gruber](https://github.com/juliangruber) -- [Isaac Z. Schlueter](https://github.com/isaacs) - -## License - -(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. diff --git a/publi/node_modules/brace-expansion/index.js b/publi/node_modules/brace-expansion/index.js deleted file mode 100644 index 955f27c..0000000 --- a/publi/node_modules/brace-expansion/index.js +++ /dev/null @@ -1,201 +0,0 @@ -var concatMap = require('concat-map'); -var balanced = require('balanced-match'); - -module.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('.'); -} - - -// Basically just str.split(","), but handling cases -// where we have nested braced sections, which should be -// treated as individual members, like {a,{b,c},d} -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 []; - - // I don't know why Bash 4.3 does this, but it does. - // Anything starting with {} will have the first two bytes preserved - // but *only* at the top level, so {},a}b will not expand to anything, - // but a{},b}c will be expanded to [a}c,abc]. - // One could argue that this is a bug in Bash, but since the goal of - // this module is to match Bash's rules, we escape a leading {} - if (str.substr(0, 2) === '{}') { - str = '\\{\\}' + str.substr(2); - } - - return expand(escapeBraces(str), true).map(unescapeBraces); -} - -function identity(e) { - return e; -} - -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 = /^(.*,)+(.+)?$/.test(m.body); - if (!isSequence && !isOptions) { - // {a},b} - 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) { - // x{{a,b}}y ==> x{a}y x{b}y - 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; - }); - } - } - } - - // at this point, n is the parts, and we know it's not a comma set - // with a single entry. - - // no need to expand pre, since it is guaranteed to be free of brace-sets - 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; -} - diff --git a/publi/node_modules/brace-expansion/package.json b/publi/node_modules/brace-expansion/package.json deleted file mode 100644 index 43153be..0000000 --- a/publi/node_modules/brace-expansion/package.json +++ /dev/null @@ -1,116 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "brace-expansion@^1.0.0", - "scope": null, - "escapedName": "brace-expansion", - "name": "brace-expansion", - "rawSpec": "^1.0.0", - "spec": ">=1.0.0 <2.0.0", - "type": "range" - }, - "/mnt/Data/bach/Documents/ola/OLA#3DOC/sys/node_modules/minimatch" - ] - ], - "_from": "brace-expansion@>=1.0.0 <2.0.0", - "_id": "brace-expansion@1.1.6", - "_inCache": true, - "_location": "/brace-expansion", - "_nodeVersion": "4.4.7", - "_npmOperationalInternal": { - "host": "packages-16-east.internal.npmjs.com", - "tmp": "tmp/brace-expansion-1.1.6.tgz_1469047715600_0.9362958471756428" - }, - "_npmUser": { - "name": "juliangruber", - "email": "julian@juliangruber.com" - }, - "_npmVersion": "2.15.8", - "_phantomChildren": {}, - "_requested": { - "raw": "brace-expansion@^1.0.0", - "scope": null, - "escapedName": "brace-expansion", - "name": "brace-expansion", - "rawSpec": "^1.0.0", - "spec": ">=1.0.0 <2.0.0", - "type": "range" - }, - "_requiredBy": [ - "/minimatch", - "/node-gyp/minimatch", - "/node-sass/minimatch", - "/rimraf/minimatch", - "/sass-graph/minimatch" - ], - "_resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.6.tgz", - "_shasum": "7197d7eaa9b87e648390ea61fc66c84427420df9", - "_shrinkwrap": null, - "_spec": "brace-expansion@^1.0.0", - "_where": "/mnt/Data/bach/Documents/ola/OLA#3DOC/sys/node_modules/minimatch", - "author": { - "name": "Julian Gruber", - "email": "mail@juliangruber.com", - "url": "http://juliangruber.com" - }, - "bugs": { - "url": "https://github.com/juliangruber/brace-expansion/issues" - }, - "dependencies": { - "balanced-match": "^0.4.1", - "concat-map": "0.0.1" - }, - "description": "Brace expansion as known from sh/bash", - "devDependencies": { - "tape": "^4.6.0" - }, - "directories": {}, - "dist": { - "shasum": "7197d7eaa9b87e648390ea61fc66c84427420df9", - "tarball": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.6.tgz" - }, - "gitHead": "791262fa06625e9c5594cde529a21d82086af5f2", - "homepage": "https://github.com/juliangruber/brace-expansion", - "keywords": [], - "license": "MIT", - "main": "index.js", - "maintainers": [ - { - "name": "juliangruber", - "email": "julian@juliangruber.com" - }, - { - "name": "isaacs", - "email": "isaacs@npmjs.com" - } - ], - "name": "brace-expansion", - "optionalDependencies": {}, - "readme": "ERROR: No README data found!", - "repository": { - "type": "git", - "url": "git://github.com/juliangruber/brace-expansion.git" - }, - "scripts": { - "gentest": "bash test/generate.sh", - "test": "tape test/*.js" - }, - "testling": { - "files": "test/*.js", - "browsers": [ - "ie/8..latest", - "firefox/20..latest", - "firefox/nightly", - "chrome/25..latest", - "chrome/canary", - "opera/12..latest", - "opera/next", - "safari/5.1..latest", - "ipad/6.0..latest", - "iphone/6.0..latest", - "android-browser/4.2..latest" - ] - }, - "version": "1.1.6" -} diff --git a/publi/node_modules/braces/LICENSE b/publi/node_modules/braces/LICENSE deleted file mode 100644 index 3f2eca1..0000000 --- a/publi/node_modules/braces/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -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. diff --git a/publi/node_modules/braces/README.md b/publi/node_modules/braces/README.md deleted file mode 100644 index b6f83df..0000000 --- a/publi/node_modules/braces/README.md +++ /dev/null @@ -1,627 +0,0 @@ -# braces [![NPM version](https://img.shields.io/npm/v/braces.svg?style=flat)](https://www.npmjs.com/package/braces) [![NPM monthly downloads](https://img.shields.io/npm/dm/braces.svg?style=flat)](https://npmjs.org/package/braces) [![NPM total downloads](https://img.shields.io/npm/dt/braces.svg?style=flat)](https://npmjs.org/package/braces) [![Linux Build Status](https://img.shields.io/travis/micromatch/braces.svg?style=flat&label=Travis)](https://travis-ci.org/micromatch/braces) [![Windows Build Status](https://img.shields.io/appveyor/ci/micromatch/braces.svg?style=flat&label=AppVeyor)](https://ci.appveyor.com/project/micromatch/braces) - -> Bash-like brace expansion, implemented in JavaScript. Safer than other brace expansion libs, with complete support for the Bash 4.3 braces specification, without sacrificing speed. - -Please consider following this project's author, [Jon Schlinkert](https://github.com/jonschlinkert), and consider starring the project to show your :heart: and support. - -## Install - -Install with [npm](https://www.npmjs.com/): - -```sh -$ npm install --save braces -``` - -## Why use braces? - -Brace patterns are great for matching ranges. Users (and implementors) shouldn't have to think about whether or not they will break their application (or yours) from accidentally defining an aggressive brace pattern. _Braces is the only library that offers a [solution to this problem](#performance)_. - -* **Safe(r)**: Braces isn't vulnerable to DoS attacks like [brace-expansion](https://github.com/juliangruber/brace-expansion), [minimatch](https://github.com/isaacs/minimatch) and [multimatch](https://github.com/sindresorhus/multimatch) (a different bug than the [other regex DoS bug](https://medium.com/node-security/minimatch-redos-vulnerability-590da24e6d3c#.jew0b6mpc)). -* **Accurate**: complete support for the [Bash 4.3 Brace Expansion](www.gnu.org/software/bash/) specification (passes all of the Bash braces tests) -* **[fast and performant](#benchmarks)**: Starts fast, runs fast and [scales well](#performance) as patterns increase in complexity. -* **Organized code base**: with parser and compiler that are eas(y|ier) to maintain and update when edge cases crop up. -* **Well-tested**: thousands of test assertions. Passes 100% of the [minimatch](https://github.com/isaacs/minimatch) and [brace-expansion](https://github.com/juliangruber/brace-expansion) unit tests as well (as of the writing of this). - -## Usage - -The main export is a function that takes one or more brace `patterns` and `options`. - -```js -var braces = require('braces'); -braces(pattern[, options]); -``` - -By default, braces returns an optimized regex-source string. To get an array of brace patterns, use `brace.expand()`. - -The following section explains the difference in more detail. _(If you're curious about "why" braces does this by default, see [brace matching pitfalls](#brace-matching-pitfalls)_. - -### Optimized vs. expanded braces - -**Optimized** - -By default, patterns are optimized for regex and matching: - -```js -console.log(braces('a/{x,y,z}/b')); -//=> ['a/(x|y|z)/b'] -``` - -**Expanded** - -To expand patterns the same way as Bash or [minimatch](https://github.com/isaacs/minimatch), use the [.expand](#expand) method: - -```js -console.log(braces.expand('a/{x,y,z}/b')); -//=> ['a/x/b', 'a/y/b', 'a/z/b'] -``` - -Or use [options.expand](#optionsexpand): - -```js -console.log(braces('a/{x,y,z}/b', {expand: true})); -//=> ['a/x/b', 'a/y/b', 'a/z/b'] -``` - -## Features - -* [lists](#lists): Supports "lists": `a/{b,c}/d` => `['a/b/d', 'a/c/d']` -* [sequences](#sequences): Supports alphabetical or numerical "sequences" (ranges): `{1..3}` => `['1', '2', '3']` -* [steps](#steps): Supports "steps" or increments: `{2..10..2}` => `['2', '4', '6', '8', '10']` -* [escaping](#escaping) -* [options](#options) - -### Lists - -Uses [fill-range](https://github.com/jonschlinkert/fill-range) for expanding alphabetical or numeric lists: - -```js -console.log(braces('a/{foo,bar,baz}/*.js')); -//=> ['a/(foo|bar|baz)/*.js'] - -console.log(braces.expand('a/{foo,bar,baz}/*.js')); -//=> ['a/foo/*.js', 'a/bar/*.js', 'a/baz/*.js'] -``` - -### Sequences - -Uses [fill-range](https://github.com/jonschlinkert/fill-range) for expanding alphabetical or numeric ranges (bash "sequences"): - -```js -console.log(braces.expand('{1..3}')); // ['1', '2', '3'] -console.log(braces.expand('a{01..03}b')); // ['a01b', 'a02b', 'a03b'] -console.log(braces.expand('a{1..3}b')); // ['a1b', 'a2b', 'a3b'] -console.log(braces.expand('{a..c}')); // ['a', 'b', 'c'] -console.log(braces.expand('foo/{a..c}')); // ['foo/a', 'foo/b', 'foo/c'] - -// supports padded ranges -console.log(braces('a{01..03}b')); //=> [ 'a(0[1-3])b' ] -console.log(braces('a{001..300}b')); //=> [ 'a(0{2}[1-9]|0[1-9][0-9]|[12][0-9]{2}|300)b' ] -``` - -### Steps - -Steps, or increments, may be used with ranges: - -```js -console.log(braces.expand('{2..10..2}')); -//=> ['2', '4', '6', '8', '10'] - -console.log(braces('{2..10..2}')); -//=> ['(2|4|6|8|10)'] -``` - -When the [.optimize](#optimize) method is used, or [options.optimize](#optionsoptimize) is set to true, sequences are passed to [to-regex-range](https://github.com/jonschlinkert/to-regex-range) for expansion. - -### Nesting - -Brace patterns may be nested. The results of each expanded string are not sorted, and left to right order is preserved. - -**"Expanded" braces** - -```js -console.log(braces.expand('a{b,c,/{x,y}}/e')); -//=> ['ab/e', 'ac/e', 'a/x/e', 'a/y/e'] - -console.log(braces.expand('a/{x,{1..5},y}/c')); -//=> ['a/x/c', 'a/1/c', 'a/2/c', 'a/3/c', 'a/4/c', 'a/5/c', 'a/y/c'] -``` - -**"Optimized" braces** - -```js -console.log(braces('a{b,c,/{x,y}}/e')); -//=> ['a(b|c|/(x|y))/e'] - -console.log(braces('a/{x,{1..5},y}/c')); -//=> ['a/(x|([1-5])|y)/c'] -``` - -### Escaping - -**Escaping braces** - -A brace pattern will not be expanded or evaluted if _either the opening or closing brace is escaped_: - -```js -console.log(braces.expand('a\\{d,c,b}e')); -//=> ['a{d,c,b}e'] - -console.log(braces.expand('a{d,c,b\\}e')); -//=> ['a{d,c,b}e'] -``` - -**Escaping commas** - -Commas inside braces may also be escaped: - -```js -console.log(braces.expand('a{b\\,c}d')); -//=> ['a{b,c}d'] - -console.log(braces.expand('a{d\\,c,b}e')); -//=> ['ad,ce', 'abe'] -``` - -**Single items** - -Following bash conventions, a brace pattern is also not expanded when it contains a single character: - -```js -console.log(braces.expand('a{b}c')); -//=> ['a{b}c'] -``` - -## Options - -### options.expand - -**Type**: `Boolean` - -**Default**: `undefined` - -**Description**: Generate an "expanded" brace pattern (this option is unncessary with the `.expand` method, which does the same thing). - -```js -console.log(braces('a/{b,c}/d', {expand: true})); -//=> [ 'a/b/d', 'a/c/d' ] -``` - -### options.optimize - -**Type**: `Boolean` - -**Default**: `true` - -**Description**: Enabled by default. - -```js -console.log(braces('a/{b,c}/d')); -//=> [ 'a/(b|c)/d' ] -``` - -### options.nodupes - -**Type**: `Boolean` - -**Default**: `true` - -**Description**: Duplicates are removed by default. To keep duplicates, pass `{nodupes: false}` on the options - -### options.rangeLimit - -**Type**: `Number` - -**Default**: `250` - -**Description**: When `braces.expand()` is used, or `options.expand` is true, brace patterns will automatically be [optimized](#optionsoptimize) when the difference between the range minimum and range maximum exceeds the `rangeLimit`. This is to prevent huge ranges from freezing your application. - -You can set this to any number, or change `options.rangeLimit` to `Inifinity` to disable this altogether. - -**Examples** - -```js -// pattern exceeds the "rangeLimit", so it's optimized automatically -console.log(braces.expand('{1..1000}')); -//=> ['([1-9]|[1-9][0-9]{1,2}|1000)'] - -// pattern does not exceed "rangeLimit", so it's NOT optimized -console.log(braces.expand('{1..100}')); -//=> ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20', '21', '22', '23', '24', '25', '26', '27', '28', '29', '30', '31', '32', '33', '34', '35', '36', '37', '38', '39', '40', '41', '42', '43', '44', '45', '46', '47', '48', '49', '50', '51', '52', '53', '54', '55', '56', '57', '58', '59', '60', '61', '62', '63', '64', '65', '66', '67', '68', '69', '70', '71', '72', '73', '74', '75', '76', '77', '78', '79', '80', '81', '82', '83', '84', '85', '86', '87', '88', '89', '90', '91', '92', '93', '94', '95', '96', '97', '98', '99', '100'] -``` - -### options.transform - -**Type**: `Function` - -**Default**: `undefined` - -**Description**: Customize range expansion. - -```js -var range = braces.expand('x{a..e}y', { - transform: function(str) { - return 'foo' + str; - } -}); - -console.log(range); -//=> [ 'xfooay', 'xfooby', 'xfoocy', 'xfoody', 'xfooey' ] -``` - -### options.quantifiers - -**Type**: `Boolean` - -**Default**: `undefined` - -**Description**: In regular expressions, quanitifiers can be used to specify how many times a token can be repeated. For example, `a{1,3}` will match the letter `a` one to three times. - -Unfortunately, regex quantifiers happen to share the same syntax as [Bash lists](#lists) - -The `quantifiers` option tells braces to detect when [regex quantifiers](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp#quantifiers) are defined in the given pattern, and not to try to expand them as lists. - -**Examples** - -```js -var braces = require('braces'); -console.log(braces('a/b{1,3}/{x,y,z}')); -//=> [ 'a/b(1|3)/(x|y|z)' ] -console.log(braces('a/b{1,3}/{x,y,z}', {quantifiers: true})); -//=> [ 'a/b{1,3}/(x|y|z)' ] -console.log(braces('a/b{1,3}/{x,y,z}', {quantifiers: true, expand: true})); -//=> [ 'a/b{1,3}/x', 'a/b{1,3}/y', 'a/b{1,3}/z' ] -``` - -### options.unescape - -**Type**: `Boolean` - -**Default**: `undefined` - -**Description**: Strip backslashes that were used for escaping from the result. - -## What is "brace expansion"? - -Brace expansion is a type of parameter expansion that was made popular by unix shells for generating lists of strings, as well as regex-like matching when used alongside wildcards (globs). - -In addition to "expansion", braces are also used for matching. In other words: - -* [brace expansion](#brace-expansion) is for generating new lists -* [brace matching](#brace-matching) is for filtering existing lists - -
-More about brace expansion (click to expand) - -There are two main types of brace expansion: - -1. **lists**: which are defined using comma-separated values inside curly braces: `{a,b,c}` -2. **sequences**: which are defined using a starting value and an ending value, separated by two dots: `a{1..3}b`. Optionally, a third argument may be passed to define a "step" or increment to use: `a{1..100..10}b`. These are also sometimes referred to as "ranges". - -Here are some example brace patterns to illustrate how they work: - -**Sets** - -``` -{a,b,c} => a b c -{a,b,c}{1,2} => a1 a2 b1 b2 c1 c2 -``` - -**Sequences** - -``` -{1..9} => 1 2 3 4 5 6 7 8 9 -{4..-4} => 4 3 2 1 0 -1 -2 -3 -4 -{1..20..3} => 1 4 7 10 13 16 19 -{a..j} => a b c d e f g h i j -{j..a} => j i h g f e d c b a -{a..z..3} => a d g j m p s v y -``` - -**Combination** - -Sets and sequences can be mixed together or used along with any other strings. - -``` -{a,b,c}{1..3} => a1 a2 a3 b1 b2 b3 c1 c2 c3 -foo/{a,b,c}/bar => foo/a/bar foo/b/bar foo/c/bar -``` - -The fact that braces can be "expanded" from relatively simple patterns makes them ideal for quickly generating test fixtures, file paths, and similar use cases. - -## Brace matching - -In addition to _expansion_, brace patterns are also useful for performing regular-expression-like matching. - -For example, the pattern `foo/{1..3}/bar` would match any of following strings: - -``` -foo/1/bar -foo/2/bar -foo/3/bar -``` - -But not: - -``` -baz/1/qux -baz/2/qux -baz/3/qux -``` - -Braces can also be combined with [glob patterns](https://github.com/jonschlinkert/micromatch) to perform more advanced wildcard matching. For example, the pattern `*/{1..3}/*` would match any of following strings: - -``` -foo/1/bar -foo/2/bar -foo/3/bar -baz/1/qux -baz/2/qux -baz/3/qux -``` - -## Brace matching pitfalls - -Although brace patterns offer a user-friendly way of matching ranges or sets of strings, there are also some major disadvantages and potential risks you should be aware of. - -### tldr - -**"brace bombs"** - -* brace expansion can eat up a huge amount of processing resources -* as brace patterns increase _linearly in size_, the system resources required to expand the pattern increase exponentially -* users can accidentally (or intentially) exhaust your system's resources resulting in the equivalent of a DoS attack (bonus: no programming knowledge is required!) - -For a more detailed explanation with examples, see the [geometric complexity](#geometric-complexity) section. - -### The solution - -Jump to the [performance section](#performance) to see how Braces solves this problem in comparison to other libraries. - -### Geometric complexity - -At minimum, brace patterns with sets limited to two elements have quadradic or `O(n^2)` complexity. But the complexity of the algorithm increases exponentially as the number of sets, _and elements per set_, increases, which is `O(n^c)`. - -For example, the following sets demonstrate quadratic (`O(n^2)`) complexity: - -``` -{1,2}{3,4} => (2X2) => 13 14 23 24 -{1,2}{3,4}{5,6} => (2X2X2) => 135 136 145 146 235 236 245 246 -``` - -But add an element to a set, and we get a n-fold Cartesian product with `O(n^c)` complexity: - -``` -{1,2,3}{4,5,6}{7,8,9} => (3X3X3) => 147 148 149 157 158 159 167 168 169 247 248 - 249 257 258 259 267 268 269 347 348 349 357 - 358 359 367 368 369 -``` - -Now, imagine how this complexity grows given that each element is a n-tuple: - -``` -{1..100}{1..100} => (100X100) => 10,000 elements (38.4 kB) -{1..100}{1..100}{1..100} => (100X100X100) => 1,000,000 elements (5.76 MB) -``` - -Although these examples are clearly contrived, they demonstrate how brace patterns can quickly grow out of control. - -**More information** - -Interested in learning more about brace expansion? - -* [linuxjournal/bash-brace-expansion](http://www.linuxjournal.com/content/bash-brace-expansion) -* [rosettacode/Brace_expansion](https://rosettacode.org/wiki/Brace_expansion) -* [cartesian product](https://en.wikipedia.org/wiki/Cartesian_product) - -
- -## Performance - -Braces is not only screaming fast, it's also more accurate the other brace expansion libraries. - -### Better algorithms - -Fortunately there is a solution to the ["brace bomb" problem](#brace-matching-pitfalls): _don't expand brace patterns into an array when they're used for matching_. - -Instead, convert the pattern into an optimized regular expression. This is easier said than done, and braces is the only library that does this currently. - -**The proof is in the numbers** - -Minimatch gets exponentially slower as patterns increase in complexity, braces does not. The following results were generated using `braces()` and `minimatch.braceExpand()`, respectively. - -| **Pattern** | **braces** | **[minimatch](https://github.com/isaacs/minimatch)** | -| --- | --- | --- | -| `{1..9007199254740991}`[1] | `298 B` (5ms 459μs) | N/A (freezes) | -| `{1..1000000000000000}` | `41 B` (1ms 15μs) | N/A (freezes) | -| `{1..100000000000000}` | `40 B` (890μs) | N/A (freezes) | -| `{1..10000000000000}` | `39 B` (2ms 49μs) | N/A (freezes) | -| `{1..1000000000000}` | `38 B` (608μs) | N/A (freezes) | -| `{1..100000000000}` | `37 B` (397μs) | N/A (freezes) | -| `{1..10000000000}` | `35 B` (983μs) | N/A (freezes) | -| `{1..1000000000}` | `34 B` (798μs) | N/A (freezes) | -| `{1..100000000}` | `33 B` (733μs) | N/A (freezes) | -| `{1..10000000}` | `32 B` (5ms 632μs) | `78.89 MB` (16s 388ms 569μs) | -| `{1..1000000}` | `31 B` (1ms 381μs) | `6.89 MB` (1s 496ms 887μs) | -| `{1..100000}` | `30 B` (950μs) | `588.89 kB` (146ms 921μs) | -| `{1..10000}` | `29 B` (1ms 114μs) | `48.89 kB` (14ms 187μs) | -| `{1..1000}` | `28 B` (760μs) | `3.89 kB` (1ms 453μs) | -| `{1..100}` | `22 B` (345μs) | `291 B` (196μs) | -| `{1..10}` | `10 B` (533μs) | `20 B` (37μs) | -| `{1..3}` | `7 B` (190μs) | `5 B` (27μs) | - -### Faster algorithms - -When you need expansion, braces is still much faster. - -_(the following results were generated using `braces.expand()` and `minimatch.braceExpand()`, respectively)_ - -| **Pattern** | **braces** | **[minimatch](https://github.com/isaacs/minimatch)** | -| --- | --- | --- | -| `{1..10000000}` | `78.89 MB` (2s 698ms 642μs) | `78.89 MB` (18s 601ms 974μs) | -| `{1..1000000}` | `6.89 MB` (458ms 576μs) | `6.89 MB` (1s 491ms 621μs) | -| `{1..100000}` | `588.89 kB` (20ms 728μs) | `588.89 kB` (156ms 919μs) | -| `{1..10000}` | `48.89 kB` (2ms 202μs) | `48.89 kB` (13ms 641μs) | -| `{1..1000}` | `3.89 kB` (1ms 796μs) | `3.89 kB` (1ms 958μs) | -| `{1..100}` | `291 B` (424μs) | `291 B` (211μs) | -| `{1..10}` | `20 B` (487μs) | `20 B` (72μs) | -| `{1..3}` | `5 B` (166μs) | `5 B` (27μs) | - -If you'd like to run these comparisons yourself, see [test/support/generate.js](test/support/generate.js). - -## Benchmarks - -### Running benchmarks - -Install dev dependencies: - -```bash -npm i -d && npm benchmark -``` - -### Latest results - -```bash -Benchmarking: (8 of 8) - · combination-nested - · combination - · escaped - · list-basic - · list-multiple - · no-braces - · sequence-basic - · sequence-multiple - -# benchmark/fixtures/combination-nested.js (52 bytes) - brace-expansion x 4,756 ops/sec ±1.09% (86 runs sampled) - braces x 11,202,303 ops/sec ±1.06% (88 runs sampled) - minimatch x 4,816 ops/sec ±0.99% (87 runs sampled) - - fastest is braces - -# benchmark/fixtures/combination.js (51 bytes) - brace-expansion x 625 ops/sec ±0.87% (87 runs sampled) - braces x 11,031,884 ops/sec ±0.72% (90 runs sampled) - minimatch x 637 ops/sec ±0.84% (88 runs sampled) - - fastest is braces - -# benchmark/fixtures/escaped.js (44 bytes) - brace-expansion x 163,325 ops/sec ±1.05% (87 runs sampled) - braces x 10,655,071 ops/sec ±1.22% (88 runs sampled) - minimatch x 147,495 ops/sec ±0.96% (88 runs sampled) - - fastest is braces - -# benchmark/fixtures/list-basic.js (40 bytes) - brace-expansion x 99,726 ops/sec ±1.07% (83 runs sampled) - braces x 10,596,584 ops/sec ±0.98% (88 runs sampled) - minimatch x 100,069 ops/sec ±1.17% (86 runs sampled) - - fastest is braces - -# benchmark/fixtures/list-multiple.js (52 bytes) - brace-expansion x 34,348 ops/sec ±1.08% (88 runs sampled) - braces x 9,264,131 ops/sec ±1.12% (88 runs sampled) - minimatch x 34,893 ops/sec ±0.87% (87 runs sampled) - - fastest is braces - -# benchmark/fixtures/no-braces.js (48 bytes) - brace-expansion x 275,368 ops/sec ±1.18% (89 runs sampled) - braces x 9,134,677 ops/sec ±0.95% (88 runs sampled) - minimatch x 3,755,954 ops/sec ±1.13% (89 runs sampled) - - fastest is braces - -# benchmark/fixtures/sequence-basic.js (41 bytes) - brace-expansion x 5,492 ops/sec ±1.35% (87 runs sampled) - braces x 8,485,034 ops/sec ±1.28% (89 runs sampled) - minimatch x 5,341 ops/sec ±1.17% (87 runs sampled) - - fastest is braces - -# benchmark/fixtures/sequence-multiple.js (51 bytes) - brace-expansion x 116 ops/sec ±0.77% (77 runs sampled) - braces x 9,445,118 ops/sec ±1.32% (84 runs sampled) - minimatch x 109 ops/sec ±1.16% (76 runs sampled) - - fastest is braces -``` - -## About - -
-Contributing - -Pull requests and stars are always welcome. For bugs and feature requests, [please create an issue](../../issues/new). - -
- -
-Running Tests - -Running and reviewing unit tests is a great way to get familiarized with a library and its API. You can install dependencies and run tests with the following command: - -```sh -$ npm install && npm test -``` - -
- -
-Building docs - -_(This project's readme.md is generated by [verb](https://github.com/verbose/verb-generate-readme), please don't edit the readme directly. Any changes to the readme must be made in the [.verb.md](.verb.md) readme template.)_ - -To generate the readme, run the following command: - -```sh -$ npm install -g verbose/verb#dev verb-generate-readme && verb -``` - -
- -### Related projects - -You might also be interested in these projects: - -* [expand-brackets](https://www.npmjs.com/package/expand-brackets): Expand POSIX bracket expressions (character classes) in glob patterns. | [homepage](https://github.com/jonschlinkert/expand-brackets "Expand POSIX bracket expressions (character classes) in glob patterns.") -* [extglob](https://www.npmjs.com/package/extglob): Extended glob support for JavaScript. Adds (almost) the expressive power of regular expressions to glob… [more](https://github.com/micromatch/extglob) | [homepage](https://github.com/micromatch/extglob "Extended glob support for JavaScript. Adds (almost) the expressive power of regular expressions to glob patterns.") -* [fill-range](https://www.npmjs.com/package/fill-range): Fill in a range of numbers or letters, optionally passing an increment or `step` to… [more](https://github.com/jonschlinkert/fill-range) | [homepage](https://github.com/jonschlinkert/fill-range "Fill in a range of numbers or letters, optionally passing an increment or `step` to use, or create a regex-compatible range with `options.toRegex`") -* [micromatch](https://www.npmjs.com/package/micromatch): Glob matching for javascript/node.js. A drop-in replacement and faster alternative to minimatch and multimatch. | [homepage](https://github.com/micromatch/micromatch "Glob matching for javascript/node.js. A drop-in replacement and faster alternative to minimatch and multimatch.") -* [nanomatch](https://www.npmjs.com/package/nanomatch): Fast, minimal glob matcher for node.js. Similar to micromatch, minimatch and multimatch, but complete Bash… [more](https://github.com/micromatch/nanomatch) | [homepage](https://github.com/micromatch/nanomatch "Fast, minimal glob matcher for node.js. Similar to micromatch, minimatch and multimatch, but complete Bash 4.3 wildcard support only (no support for exglobs, posix brackets or braces)") - -### Contributors - -| **Commits** | **Contributor** | -| --- | --- | -| 184 | [jonschlinkert](https://github.com/jonschlinkert) | -| 4 | [doowb](https://github.com/doowb) | -| 1 | [es128](https://github.com/es128) | -| 1 | [eush77](https://github.com/eush77) | -| 1 | [hemanth](https://github.com/hemanth) | - -### Author - -**Jon Schlinkert** - -* [github/jonschlinkert](https://github.com/jonschlinkert) -* [twitter/jonschlinkert](https://twitter.com/jonschlinkert) - -### License - -Copyright © 2017, [Jon Schlinkert](https://github.com/jonschlinkert). -Released under the [MIT License](LICENSE). - -*** - -_This file was generated by [verb-generate-readme](https://github.com/verbose/verb-generate-readme), v0.6.0, on October 19, 2017._ - -
-
-
    -
  1. this is the largest safe integer allowed in JavaScript. - -
  2. -
-
\ No newline at end of file diff --git a/publi/node_modules/braces/index.js b/publi/node_modules/braces/index.js deleted file mode 100644 index 4006b72..0000000 --- a/publi/node_modules/braces/index.js +++ /dev/null @@ -1,313 +0,0 @@ -'use strict'; - -/** - * Module dependencies - */ - -var toRegex = require('to-regex'); -var unique = require('array-unique'); -var extend = require('extend-shallow'); -var define = require('define-property'); - -/** - * Local dependencies - */ - -var compilers = require('./lib/compilers'); -var parsers = require('./lib/parsers'); -var Braces = require('./lib/braces'); -var utils = require('./lib/utils'); -var MAX_LENGTH = 1024 * 64; -var cache = {}; - -/** - * Convert the given `braces` pattern into a regex-compatible string. By default, only one string is generated for every input string. Set `options.expand` to true to return an array of patterns (similar to Bash or minimatch. Before using `options.expand`, it's recommended that you read the [performance notes](#performance)). - * - * ```js - * var braces = require('braces'); - * console.log(braces('{a,b,c}')); - * //=> ['(a|b|c)'] - * - * console.log(braces('{a,b,c}', {expand: true})); - * //=> ['a', 'b', 'c'] - * ``` - * @param {String} `str` - * @param {Object} `options` - * @return {String} - * @api public - */ - -function braces(pattern, options) { - var key = utils.createKey(String(pattern), options); - var arr = []; - - var disabled = options && options.cache === false; - if (!disabled && cache.hasOwnProperty(key)) { - return cache[key]; - } - - if (Array.isArray(pattern)) { - for (var i = 0; i < pattern.length; i++) { - arr.push.apply(arr, braces.create(pattern[i], options)); - } - } else { - arr = braces.create(pattern, options); - } - - if (options && options.nodupes === true) { - arr = unique(arr); - } - - if (!disabled) { - cache[key] = arr; - } - return arr; -} - -/** - * Expands a brace pattern into an array. This method is called by the main [braces](#braces) function when `options.expand` is true. Before using this method it's recommended that you read the [performance notes](#performance)) and advantages of using [.optimize](#optimize) instead. - * - * ```js - * var braces = require('braces'); - * console.log(braces.expand('a/{b,c}/d')); - * //=> ['a/b/d', 'a/c/d']; - * ``` - * @param {String} `pattern` Brace pattern - * @param {Object} `options` - * @return {Array} Returns an array of expanded values. - * @api public - */ - -braces.expand = function(pattern, options) { - return braces.create(pattern, extend({}, options, {expand: true})); -}; - -/** - * Expands a brace pattern into a regex-compatible, optimized string. This method is called by the main [braces](#braces) function by default. - * - * ```js - * var braces = require('braces'); - * console.log(braces.expand('a/{b,c}/d')); - * //=> ['a/(b|c)/d'] - * ``` - * @param {String} `pattern` Brace pattern - * @param {Object} `options` - * @return {Array} Returns an array of expanded values. - * @api public - */ - -braces.optimize = function(pattern, options) { - return braces.create(pattern, options); -}; - -/** - * Processes a brace pattern and returns either an expanded array (if `options.expand` is true), a highly optimized regex-compatible string. This method is called by the main [braces](#braces) function. - * - * ```js - * var braces = require('braces'); - * console.log(braces.create('user-{200..300}/project-{a,b,c}-{1..10}')) - * //=> 'user-(20[0-9]|2[1-9][0-9]|300)/project-(a|b|c)-([1-9]|10)' - * ``` - * @param {String} `pattern` Brace pattern - * @param {Object} `options` - * @return {Array} Returns an array of expanded values. - * @api public - */ - -braces.create = function(pattern, options) { - if (typeof pattern !== 'string') { - throw new TypeError('expected a string'); - } - - if (pattern.length >= MAX_LENGTH) { - throw new Error('expected pattern to be less than ' + MAX_LENGTH + ' characters'); - } - - function create() { - if (pattern === '' || pattern.length < 3) { - return [pattern]; - } - - if (utils.isEmptySets(pattern)) { - return []; - } - - if (utils.isQuotedString(pattern)) { - return [pattern.slice(1, -1)]; - } - - var proto = new Braces(options); - var result = !options || options.expand !== true - ? proto.optimize(pattern, options) - : proto.expand(pattern, options); - - // get the generated pattern(s) - var arr = result.output; - - // filter out empty strings if specified - if (options && options.noempty === true) { - arr = arr.filter(Boolean); - } - - // filter out duplicates if specified - if (options && options.nodupes === true) { - arr = unique(arr); - } - - define(arr, 'result', result); - return arr; - } - - return memoize('create', pattern, options, create); -}; - -/** - * Create a regular expression from the given string `pattern`. - * - * ```js - * var braces = require('braces'); - * - * console.log(braces.makeRe('id-{200..300}')); - * //=> /^(?:id-(20[0-9]|2[1-9][0-9]|300))$/ - * ``` - * @param {String} `pattern` The pattern to convert to regex. - * @param {Object} `options` - * @return {RegExp} - * @api public - */ - -braces.makeRe = function(pattern, options) { - if (typeof pattern !== 'string') { - throw new TypeError('expected a string'); - } - - if (pattern.length >= MAX_LENGTH) { - throw new Error('expected pattern to be less than ' + MAX_LENGTH + ' characters'); - } - - function makeRe() { - var arr = braces(pattern, options); - var opts = extend({strictErrors: false}, options); - return toRegex(arr, opts); - } - - return memoize('makeRe', pattern, options, makeRe); -}; - -/** - * Parse the given `str` with the given `options`. - * - * ```js - * var braces = require('braces'); - * var ast = braces.parse('a/{b,c}/d'); - * console.log(ast); - * // { type: 'root', - * // errors: [], - * // input: 'a/{b,c}/d', - * // nodes: - * // [ { type: 'bos', val: '' }, - * // { type: 'text', val: 'a/' }, - * // { type: 'brace', - * // nodes: - * // [ { type: 'brace.open', val: '{' }, - * // { type: 'text', val: 'b,c' }, - * // { type: 'brace.close', val: '}' } ] }, - * // { type: 'text', val: '/d' }, - * // { type: 'eos', val: '' } ] } - * ``` - * @param {String} `pattern` Brace pattern to parse - * @param {Object} `options` - * @return {Object} Returns an AST - * @api public - */ - -braces.parse = function(pattern, options) { - var proto = new Braces(options); - return proto.parse(pattern, options); -}; - -/** - * Compile the given `ast` or string with the given `options`. - * - * ```js - * var braces = require('braces'); - * var ast = braces.parse('a/{b,c}/d'); - * console.log(braces.compile(ast)); - * // { options: { source: 'string' }, - * // state: {}, - * // compilers: - * // { eos: [Function], - * // noop: [Function], - * // bos: [Function], - * // brace: [Function], - * // 'brace.open': [Function], - * // text: [Function], - * // 'brace.close': [Function] }, - * // output: [ 'a/(b|c)/d' ], - * // ast: - * // { ... }, - * // parsingErrors: [] } - * ``` - * @param {Object|String} `ast` AST from [.parse](#parse). If a string is passed it will be parsed first. - * @param {Object} `options` - * @return {Object} Returns an object that has an `output` property with the compiled string. - * @api public - */ - -braces.compile = function(ast, options) { - var proto = new Braces(options); - return proto.compile(ast, options); -}; - -/** - * Clear the regex cache. - * - * ```js - * braces.clearCache(); - * ``` - * @api public - */ - -braces.clearCache = function() { - cache = braces.cache = {}; -}; - -/** - * Memoize a generated regex or function. A unique key is generated - * from the method name, pattern, and user-defined options. Set - * options.memoize to false to disable. - */ - -function memoize(type, pattern, options, fn) { - var key = utils.createKey(type + ':' + pattern, options); - var disabled = options && options.cache === false; - if (disabled) { - braces.clearCache(); - return fn(pattern, options); - } - - if (cache.hasOwnProperty(key)) { - return cache[key]; - } - - var res = fn(pattern, options); - cache[key] = res; - return res; -} - -/** - * Expose `Braces` constructor and methods - * @type {Function} - */ - -braces.Braces = Braces; -braces.compilers = compilers; -braces.parsers = parsers; -braces.cache = cache; - -/** - * Expose `braces` - * @type {Function} - */ - -module.exports = braces; diff --git a/publi/node_modules/braces/lib/braces.js b/publi/node_modules/braces/lib/braces.js deleted file mode 100644 index 2deea3a..0000000 --- a/publi/node_modules/braces/lib/braces.js +++ /dev/null @@ -1,113 +0,0 @@ -'use strict'; - -var Snapdragon = require('snapdragon'); -var compilers = require('./compilers'); -var parsers = require('./parsers'); -var utils = require('./utils'); - -/** - * Customize Snapdragon parser and renderer - */ - -function Braces(options) { - this.options = utils.extend({}, options); -} - -/** - * Initialize braces - */ - -Braces.prototype.init = function(options) { - var opts = utils.createOptions({}, this.options, options); - this.snapdragon = this.options.snapdragon || new Snapdragon(opts); - this.compiler = this.snapdragon.compiler; - this.parser = this.snapdragon.parser; - - compilers(this.snapdragon, opts); - parsers(this.snapdragon, opts); - - /** - * Call Snapdragon `.parse` method. When AST is returned, we check to - * see if any unclosed braces are left on the stack and, if so, we iterate - * over the stack and correct the AST so that compilers are called in the correct - * order and unbalance braces are properly escaped. - */ - - utils.define(this.snapdragon, 'parse', function(pattern, options) { - var parsed = Snapdragon.prototype.parse.apply(this, arguments); - this.parser.ast.input = pattern; - - var stack = this.parser.stack; - while (stack.length) { - addParent({type: 'brace.close', val: ''}, stack.pop()); - } - - function addParent(node, parent) { - utils.define(node, 'parent', parent); - parent.nodes.push(node); - } - - // add non-enumerable parser reference - utils.define(parsed, 'parser', this.parser); - return parsed; - }); -}; - -/** - * Lazily initialize braces - */ - -Braces.prototype.lazyInit = function(options) { - if (!this.isInitialized) { - this.isInitialized = true; - this.init(options); - } -}; - -/** - * Decorate `.parse` method - */ - -Braces.prototype.parse = function(ast, options) { - if (utils.isObject(ast) && ast.nodes) return ast; - this.lazyInit(options); - return this.snapdragon.parse(ast, options); -}; - -/** - * Decorate `.compile` method - */ - -Braces.prototype.compile = function(ast, options) { - if (typeof ast === 'string') { - ast = this.parse(ast, options); - } else { - this.lazyInit(options); - } - var res = this.snapdragon.compile(ast, options); - return res; -}; - -/** - * Expand - */ - -Braces.prototype.expand = function(pattern) { - var ast = this.parse(pattern, {expand: true}); - return this.compile(ast, {expand: true}); -}; - -/** - * Optimize - */ - -Braces.prototype.optimize = function(pattern) { - var ast = this.parse(pattern, {optimize: true}); - return this.compile(ast, {optimize: true}); -}; - -/** - * Expose `Braces` - */ - -module.exports = Braces; diff --git a/publi/node_modules/braces/lib/compilers.js b/publi/node_modules/braces/lib/compilers.js deleted file mode 100644 index a3b820e..0000000 --- a/publi/node_modules/braces/lib/compilers.js +++ /dev/null @@ -1,282 +0,0 @@ -'use strict'; - -var utils = require('./utils'); - -module.exports = function(braces, options) { - braces.compiler - - /** - * bos - */ - - .set('bos', function() { - if (this.output) return; - this.ast.queue = isEscaped(this.ast) ? [this.ast.val] : []; - this.ast.count = 1; - }) - - /** - * Square brackets - */ - - .set('bracket', function(node) { - var close = node.close; - var open = !node.escaped ? '[' : '\\['; - var negated = node.negated; - var inner = node.inner; - - inner = inner.replace(/\\(?=[\\\w]|$)/g, '\\\\'); - if (inner === ']-') { - inner = '\\]\\-'; - } - - if (negated && inner.indexOf('.') === -1) { - inner += '.'; - } - if (negated && inner.indexOf('/') === -1) { - inner += '/'; - } - - var val = open + negated + inner + close; - var queue = node.parent.queue; - var last = utils.arrayify(queue.pop()); - - queue.push(utils.join(last, val)); - queue.push.apply(queue, []); - }) - - /** - * Brace - */ - - .set('brace', function(node) { - node.queue = isEscaped(node) ? [node.val] : []; - node.count = 1; - return this.mapVisit(node.nodes); - }) - - /** - * Open - */ - - .set('brace.open', function(node) { - node.parent.open = node.val; - }) - - /** - * Inner - */ - - .set('text', function(node) { - var queue = node.parent.queue; - var escaped = node.escaped; - var segs = [node.val]; - - if (node.optimize === false) { - options = utils.extend({}, options, {optimize: false}); - } - - if (node.multiplier > 1) { - node.parent.count *= node.multiplier; - } - - if (options.quantifiers === true && utils.isQuantifier(node.val)) { - escaped = true; - - } else if (node.val.length > 1) { - if (isType(node.parent, 'brace') && !isEscaped(node)) { - var expanded = utils.expand(node.val, options); - segs = expanded.segs; - - if (expanded.isOptimized) { - node.parent.isOptimized = true; - } - - // if nothing was expanded, we probably have a literal brace - if (!segs.length) { - var val = (expanded.val || node.val); - if (options.unescape !== false) { - // unescape unexpanded brace sequence/set separators - val = val.replace(/\\([,.])/g, '$1'); - // strip quotes - val = val.replace(/["'`]/g, ''); - } - - segs = [val]; - escaped = true; - } - } - - } else if (node.val === ',') { - if (options.expand) { - node.parent.queue.push(['']); - segs = ['']; - } else { - segs = ['|']; - } - } else { - escaped = true; - } - - if (escaped && isType(node.parent, 'brace')) { - if (node.parent.nodes.length <= 4 && node.parent.count === 1) { - node.parent.escaped = true; - } else if (node.parent.length <= 3) { - node.parent.escaped = true; - } - } - - if (!hasQueue(node.parent)) { - node.parent.queue = segs; - return; - } - - var last = utils.arrayify(queue.pop()); - if (node.parent.count > 1 && options.expand) { - last = multiply(last, node.parent.count); - node.parent.count = 1; - } - - queue.push(utils.join(utils.flatten(last), segs.shift())); - queue.push.apply(queue, segs); - }) - - /** - * Close - */ - - .set('brace.close', function(node) { - var queue = node.parent.queue; - var prev = node.parent.parent; - var last = prev.queue.pop(); - var open = node.parent.open; - var close = node.val; - - if (open && close && isOptimized(node, options)) { - open = '('; - close = ')'; - } - - // if a close brace exists, and the previous segment is one character - // don't wrap the result in braces or parens - var ele = utils.last(queue); - if (node.parent.count > 1 && options.expand) { - ele = multiply(queue.pop(), node.parent.count); - node.parent.count = 1; - queue.push(ele); - } - - if (close && typeof ele === 'string' && ele.length === 1) { - open = ''; - close = ''; - } - - if ((isLiteralBrace(node, options) || noInner(node)) && !node.parent.hasEmpty) { - queue.push(utils.join(open, queue.pop() || '')); - queue = utils.flatten(utils.join(queue, close)); - } - - if (typeof last === 'undefined') { - prev.queue = [queue]; - } else { - prev.queue.push(utils.flatten(utils.join(last, queue))); - } - }) - - /** - * eos - */ - - .set('eos', function(node) { - if (this.input) return; - - if (options.optimize !== false) { - this.output = utils.last(utils.flatten(this.ast.queue)); - } else if (Array.isArray(utils.last(this.ast.queue))) { - this.output = utils.flatten(this.ast.queue.pop()); - } else { - this.output = utils.flatten(this.ast.queue); - } - - if (node.parent.count > 1 && options.expand) { - this.output = multiply(this.output, node.parent.count); - } - - this.output = utils.arrayify(this.output); - this.ast.queue = []; - }); - -}; - -/** - * Multiply the segments in the current brace level - */ - -function multiply(queue, n, options) { - return utils.flatten(utils.repeat(utils.arrayify(queue), n)); -} - -/** - * Return true if `node` is escaped - */ - -function isEscaped(node) { - return node.escaped === true; -} - -/** - * Returns true if regex parens should be used for sets. If the parent `type` - * is not `brace`, then we're on a root node, which means we should never - * expand segments and open/close braces should be `{}` (since this indicates - * a brace is missing from the set) - */ - -function isOptimized(node, options) { - if (node.parent.isOptimized) return true; - return isType(node.parent, 'brace') - && !isEscaped(node.parent) - && options.expand !== true; -} - -/** - * Returns true if the value in `node` should be wrapped in a literal brace. - * @return {Boolean} - */ - -function isLiteralBrace(node, options) { - return isEscaped(node.parent) || options.optimize !== false; -} - -/** - * Returns true if the given `node` does not have an inner value. - * @return {Boolean} - */ - -function noInner(node, type) { - if (node.parent.queue.length === 1) { - return true; - } - var nodes = node.parent.nodes; - return nodes.length === 3 - && isType(nodes[0], 'brace.open') - && !isType(nodes[1], 'text') - && isType(nodes[2], 'brace.close'); -} - -/** - * Returns true if the given `node` is the given `type` - * @return {Boolean} - */ - -function isType(node, type) { - return typeof node !== 'undefined' && node.type === type; -} - -/** - * Returns true if the given `node` has a non-empty queue. - * @return {Boolean} - */ - -function hasQueue(node) { - return Array.isArray(node.queue) && node.queue.length; -} diff --git a/publi/node_modules/braces/lib/parsers.js b/publi/node_modules/braces/lib/parsers.js deleted file mode 100644 index 42730fe..0000000 --- a/publi/node_modules/braces/lib/parsers.js +++ /dev/null @@ -1,360 +0,0 @@ -'use strict'; - -var Node = require('snapdragon-node'); -var utils = require('./utils'); - -/** - * Braces parsers - */ - -module.exports = function(braces, options) { - braces.parser - .set('bos', function() { - if (!this.parsed) { - this.ast = this.nodes[0] = new Node(this.ast); - } - }) - - /** - * Character parsers - */ - - .set('escape', function() { - var pos = this.position(); - var m = this.match(/^(?:\\(.)|\$\{)/); - if (!m) return; - - var prev = this.prev(); - var last = utils.last(prev.nodes); - - var node = pos(new Node({ - type: 'text', - multiplier: 1, - val: m[0] - })); - - if (node.val === '\\\\') { - return node; - } - - if (node.val === '${') { - var str = this.input; - var idx = -1; - var ch; - - while ((ch = str[++idx])) { - this.consume(1); - node.val += ch; - if (ch === '\\') { - node.val += str[++idx]; - continue; - } - if (ch === '}') { - break; - } - } - } - - if (this.options.unescape !== false) { - node.val = node.val.replace(/\\([{}])/g, '$1'); - } - - if (last.val === '"' && this.input.charAt(0) === '"') { - last.val = node.val; - this.consume(1); - return; - } - - return concatNodes.call(this, pos, node, prev, options); - }) - - /** - * Brackets: "[...]" (basic, this is overridden by - * other parsers in more advanced implementations) - */ - - .set('bracket', function() { - var isInside = this.isInside('brace'); - var pos = this.position(); - var m = this.match(/^(?:\[([!^]?)([^\]]{2,}|\]\-)(\]|[^*+?]+)|\[)/); - if (!m) return; - - var prev = this.prev(); - var val = m[0]; - var negated = m[1] ? '^' : ''; - var inner = m[2] || ''; - var close = m[3] || ''; - - if (isInside && prev.type === 'brace') { - prev.text = prev.text || ''; - prev.text += val; - } - - var esc = this.input.slice(0, 2); - if (inner === '' && esc === '\\]') { - inner += esc; - this.consume(2); - - var str = this.input; - var idx = -1; - var ch; - - while ((ch = str[++idx])) { - this.consume(1); - if (ch === ']') { - close = ch; - break; - } - inner += ch; - } - } - - return pos(new Node({ - type: 'bracket', - val: val, - escaped: close !== ']', - negated: negated, - inner: inner, - close: close - })); - }) - - /** - * Empty braces (we capture these early to - * speed up processing in the compiler) - */ - - .set('multiplier', function() { - var isInside = this.isInside('brace'); - var pos = this.position(); - var m = this.match(/^\{(,+(?:(\{,+\})*),*|,*(?:(\{,+\})*),+)\}/); - if (!m) return; - - this.multiplier = true; - var prev = this.prev(); - var val = m[0]; - - if (isInside && prev.type === 'brace') { - prev.text = prev.text || ''; - prev.text += val; - } - - var node = pos(new Node({ - type: 'text', - multiplier: 1, - match: m, - val: val - })); - - return concatNodes.call(this, pos, node, prev, options); - }) - - /** - * Open - */ - - .set('brace.open', function() { - var pos = this.position(); - var m = this.match(/^\{(?!(?:[^\\}]?|,+)\})/); - if (!m) return; - - var prev = this.prev(); - var last = utils.last(prev.nodes); - - // if the last parsed character was an extglob character - // we need to _not optimize_ the brace pattern because - // it might be mistaken for an extglob by a downstream parser - if (last && last.val && isExtglobChar(last.val.slice(-1))) { - last.optimize = false; - } - - var open = pos(new Node({ - type: 'brace.open', - val: m[0] - })); - - var node = pos(new Node({ - type: 'brace', - nodes: [] - })); - - node.push(open); - prev.push(node); - this.push('brace', node); - }) - - /** - * Close - */ - - .set('brace.close', function() { - var pos = this.position(); - var m = this.match(/^\}/); - if (!m || !m[0]) return; - - var brace = this.pop('brace'); - var node = pos(new Node({ - type: 'brace.close', - val: m[0] - })); - - if (!this.isType(brace, 'brace')) { - if (this.options.strict) { - throw new Error('missing opening "{"'); - } - node.type = 'text'; - node.multiplier = 0; - node.escaped = true; - return node; - } - - var prev = this.prev(); - var last = utils.last(prev.nodes); - if (last.text) { - var lastNode = utils.last(last.nodes); - if (lastNode.val === ')' && /[!@*?+]\(/.test(last.text)) { - var open = last.nodes[0]; - var text = last.nodes[1]; - if (open.type === 'brace.open' && text && text.type === 'text') { - text.optimize = false; - } - } - } - - if (brace.nodes.length > 2) { - var first = brace.nodes[1]; - if (first.type === 'text' && first.val === ',') { - brace.nodes.splice(1, 1); - brace.nodes.push(first); - } - } - - brace.push(node); - }) - - /** - * Capture boundary characters - */ - - .set('boundary', function() { - var pos = this.position(); - var m = this.match(/^[$^](?!\{)/); - if (!m) return; - return pos(new Node({ - type: 'text', - val: m[0] - })); - }) - - /** - * One or zero, non-comma characters wrapped in braces - */ - - .set('nobrace', function() { - var isInside = this.isInside('brace'); - var pos = this.position(); - var m = this.match(/^\{[^,]?\}/); - if (!m) return; - - var prev = this.prev(); - var val = m[0]; - - if (isInside && prev.type === 'brace') { - prev.text = prev.text || ''; - prev.text += val; - } - - return pos(new Node({ - type: 'text', - multiplier: 0, - val: val - })); - }) - - /** - * Text - */ - - .set('text', function() { - var isInside = this.isInside('brace'); - var pos = this.position(); - var m = this.match(/^((?!\\)[^${}\[\]])+/); - if (!m) return; - - var prev = this.prev(); - var val = m[0]; - - if (isInside && prev.type === 'brace') { - prev.text = prev.text || ''; - prev.text += val; - } - - var node = pos(new Node({ - type: 'text', - multiplier: 1, - val: val - })); - - return concatNodes.call(this, pos, node, prev, options); - }); -}; - -/** - * Returns true if the character is an extglob character. - */ - -function isExtglobChar(ch) { - return ch === '!' || ch === '@' || ch === '*' || ch === '?' || ch === '+'; -} - -/** - * Combine text nodes, and calculate empty sets (`{,,}`) - * @param {Function} `pos` Function to calculate node position - * @param {Object} `node` AST node - * @return {Object} - */ - -function concatNodes(pos, node, parent, options) { - node.orig = node.val; - var prev = this.prev(); - var last = utils.last(prev.nodes); - var isEscaped = false; - - if (node.val.length > 1) { - var a = node.val.charAt(0); - var b = node.val.slice(-1); - - isEscaped = (a === '"' && b === '"') - || (a === "'" && b === "'") - || (a === '`' && b === '`'); - } - - if (isEscaped && options.unescape !== false) { - node.val = node.val.slice(1, node.val.length - 1); - node.escaped = true; - } - - if (node.match) { - var match = node.match[1]; - if (!match || match.indexOf('}') === -1) { - match = node.match[0]; - } - - // replace each set with a single "," - var val = match.replace(/\{/g, ',').replace(/\}/g, ''); - node.multiplier *= val.length; - node.val = ''; - } - - var simpleText = last.type === 'text' - && last.multiplier === 1 - && node.multiplier === 1 - && node.val; - - if (simpleText) { - last.val += node.val; - return; - } - - prev.push(node); -} diff --git a/publi/node_modules/braces/lib/utils.js b/publi/node_modules/braces/lib/utils.js deleted file mode 100644 index 4d2131a..0000000 --- a/publi/node_modules/braces/lib/utils.js +++ /dev/null @@ -1,335 +0,0 @@ -'use strict'; - -var splitString = require('split-string'); -var utils = module.exports; - -/** - * Module dependencies - */ - -utils.define = require('define-property'); -utils.extend = require('extend-shallow'); -utils.flatten = require('arr-flatten'); -utils.isObject = require('isobject'); -utils.fillRange = require('fill-range'); -utils.repeat = require('repeat-element'); -utils.unique = require('array-unique'); - -/** - * Returns true if the given string contains only empty brace sets. - */ - -utils.isEmptySets = function(str) { - return /^(?:\{,\})+$/.test(str); -}; - -/** - * Returns true if the given string contains only empty brace sets. - */ - -utils.isQuotedString = function(str) { - var open = str.charAt(0); - if (open === '\'' || open === '"' || open === '`') { - return str.slice(-1) === open; - } - return false; -}; - -/** - * Create the key to use for memoization. The unique key is generated - * by iterating over the options and concatenating key-value pairs - * to the pattern string. - */ - -utils.createKey = function(pattern, options) { - var id = pattern; - if (typeof options === 'undefined') { - return id; - } - var keys = Object.keys(options); - for (var i = 0; i < keys.length; i++) { - var key = keys[i]; - id += ';' + key + '=' + String(options[key]); - } - return id; -}; - -/** - * Normalize options - */ - -utils.createOptions = function(options) { - var opts = utils.extend.apply(null, arguments); - if (typeof opts.expand === 'boolean') { - opts.optimize = !opts.expand; - } - if (typeof opts.optimize === 'boolean') { - opts.expand = !opts.optimize; - } - if (opts.optimize === true) { - opts.makeRe = true; - } - return opts; -}; - -/** - * Join patterns in `a` to patterns in `b` - */ - -utils.join = function(a, b, options) { - options = options || {}; - a = utils.arrayify(a); - b = utils.arrayify(b); - - if (!a.length) return b; - if (!b.length) return a; - - var len = a.length; - var idx = -1; - var arr = []; - - while (++idx < len) { - var val = a[idx]; - if (Array.isArray(val)) { - for (var i = 0; i < val.length; i++) { - val[i] = utils.join(val[i], b, options); - } - arr.push(val); - continue; - } - - for (var j = 0; j < b.length; j++) { - var bval = b[j]; - - if (Array.isArray(bval)) { - arr.push(utils.join(val, bval, options)); - } else { - arr.push(val + bval); - } - } - } - return arr; -}; - -/** - * Split the given string on `,` if not escaped. - */ - -utils.split = function(str, options) { - var opts = utils.extend({sep: ','}, options); - if (typeof opts.keepQuotes !== 'boolean') { - opts.keepQuotes = true; - } - if (opts.unescape === false) { - opts.keepEscaping = true; - } - return splitString(str, opts, utils.escapeBrackets(opts)); -}; - -/** - * Expand ranges or sets in the given `pattern`. - * - * @param {String} `str` - * @param {Object} `options` - * @return {Object} - */ - -utils.expand = function(str, options) { - var opts = utils.extend({rangeLimit: 10000}, options); - var segs = utils.split(str, opts); - var tok = { segs: segs }; - - if (utils.isQuotedString(str)) { - return tok; - } - - if (opts.rangeLimit === true) { - opts.rangeLimit = 10000; - } - - if (segs.length > 1) { - if (opts.optimize === false) { - tok.val = segs[0]; - return tok; - } - - tok.segs = utils.stringifyArray(tok.segs); - } else if (segs.length === 1) { - var arr = str.split('..'); - - if (arr.length === 1) { - tok.val = tok.segs[tok.segs.length - 1] || tok.val || str; - tok.segs = []; - return tok; - } - - if (arr.length === 2 && arr[0] === arr[1]) { - tok.escaped = true; - tok.val = arr[0]; - tok.segs = []; - return tok; - } - - if (arr.length > 1) { - if (opts.optimize !== false) { - opts.optimize = true; - delete opts.expand; - } - - if (opts.optimize !== true) { - var min = Math.min(arr[0], arr[1]); - var max = Math.max(arr[0], arr[1]); - var step = arr[2] || 1; - - if (opts.rangeLimit !== false && ((max - min) / step >= opts.rangeLimit)) { - throw new RangeError('expanded array length exceeds range limit. Use options.rangeLimit to increase or disable the limit.'); - } - } - - arr.push(opts); - tok.segs = utils.fillRange.apply(null, arr); - - if (!tok.segs.length) { - tok.escaped = true; - tok.val = str; - return tok; - } - - if (opts.optimize === true) { - tok.segs = utils.stringifyArray(tok.segs); - } - - if (tok.segs === '') { - tok.val = str; - } else { - tok.val = tok.segs[0]; - } - return tok; - } - } else { - tok.val = str; - } - return tok; -}; - -/** - * Ensure commas inside brackets and parens are not split. - * @param {Object} `tok` Token from the `split-string` module - * @return {undefined} - */ - -utils.escapeBrackets = function(options) { - return function(tok) { - if (tok.escaped && tok.val === 'b') { - tok.val = '\\b'; - return; - } - - if (tok.val !== '(' && tok.val !== '[') return; - var opts = utils.extend({}, options); - var brackets = []; - var parens = []; - var stack = []; - var val = tok.val; - var str = tok.str; - var i = tok.idx - 1; - - while (++i < str.length) { - var ch = str[i]; - - if (ch === '\\') { - val += (opts.keepEscaping === false ? '' : ch) + str[++i]; - continue; - } - - if (ch === '(') { - parens.push(ch); - stack.push(ch); - } - - if (ch === '[') { - brackets.push(ch); - stack.push(ch); - } - - if (ch === ')') { - parens.pop(); - stack.pop(); - if (!stack.length) { - val += ch; - break; - } - } - - if (ch === ']') { - brackets.pop(); - stack.pop(); - if (!stack.length) { - val += ch; - break; - } - } - val += ch; - } - - tok.split = false; - tok.val = val.slice(1); - tok.idx = i; - }; -}; - -/** - * Returns true if the given string looks like a regex quantifier - * @return {Boolean} - */ - -utils.isQuantifier = function(str) { - return /^(?:[0-9]?,[0-9]|[0-9],)$/.test(str); -}; - -/** - * Cast `val` to an array. - * @param {*} `val` - */ - -utils.stringifyArray = function(arr) { - return [utils.arrayify(arr).join('|')]; -}; - -/** - * Cast `val` to an array. - * @param {*} `val` - */ - -utils.arrayify = function(arr) { - if (typeof arr === 'undefined') { - return []; - } - if (typeof arr === 'string') { - return [arr]; - } - return arr; -}; - -/** - * Returns true if the given `str` is a non-empty string - * @return {Boolean} - */ - -utils.isString = function(str) { - return str != null && typeof str === 'string'; -}; - -/** - * Get the last element from `array` - * @param {Array} `array` - * @return {*} - */ - -utils.last = function(arr, n) { - return arr[arr.length - (n || 1)]; -}; - -utils.escapeRegex = function(str) { - return str.replace(/\\?([!^*?()\[\]{}+?/])/g, '\\$1'); -}; diff --git a/publi/node_modules/braces/package.json b/publi/node_modules/braces/package.json deleted file mode 100644 index f99766b..0000000 --- a/publi/node_modules/braces/package.json +++ /dev/null @@ -1,156 +0,0 @@ -{ - "_from": "braces@^2.3.0", - "_id": "braces@2.3.0", - "_inBundle": false, - "_integrity": "sha512-P4O8UQRdGiMLWSizsApmXVQDBS6KCt7dSexgLKBmH5Hr1CZq7vsnscFh8oR1sP1ab1Zj0uCHCEzZeV6SfUf3rA==", - "_location": "/braces", - "_phantomChildren": {}, - "_requested": { - "type": "range", - "registry": true, - "raw": "braces@^2.3.0", - "name": "braces", - "escapedName": "braces", - "rawSpec": "^2.3.0", - "saveSpec": null, - "fetchSpec": "^2.3.0" - }, - "_requiredBy": [ - "/micromatch" - ], - "_resolved": "https://registry.npmjs.org/braces/-/braces-2.3.0.tgz", - "_shasum": "a46941cb5fb492156b3d6a656e06c35364e3e66e", - "_spec": "braces@^2.3.0", - "_where": "/mnt/Data/bach/Documents/ola/OLA#5/ola5doc/publi/node_modules/micromatch", - "author": { - "name": "Jon Schlinkert", - "url": "https://github.com/jonschlinkert" - }, - "bugs": { - "url": "https://github.com/micromatch/braces/issues" - }, - "bundleDependencies": false, - "contributors": [ - { - "name": "Brian Woodward", - "url": "https://twitter.com/doowb" - }, - { - "name": "Elan Shanker", - "url": "https://github.com/es128" - }, - { - "name": "Eugene Sharygin", - "url": "https://github.com/eush77" - }, - { - "name": "hemanth.hm", - "url": "http://h3manth.com" - }, - { - "name": "Jon Schlinkert", - "url": "http://twitter.com/jonschlinkert" - } - ], - "dependencies": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "define-property": "^1.0.0", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "deprecated": false, - "description": "Bash-like brace expansion, implemented in JavaScript. Safer than other brace expansion libs, with complete support for the Bash 4.3 braces specification, without sacrificing speed.", - "devDependencies": { - "ansi-cyan": "^0.1.1", - "benchmarked": "^2.0.0", - "brace-expansion": "^1.1.8", - "cross-spawn": "^5.1.0", - "gulp": "^3.9.1", - "gulp-eslint": "^4.0.0", - "gulp-format-md": "^1.0.0", - "gulp-istanbul": "^1.1.2", - "gulp-mocha": "^3.0.1", - "gulp-unused": "^0.2.1", - "is-windows": "^1.0.1", - "minimatch": "^3.0.4", - "mocha": "^3.2.0", - "noncharacters": "^1.1.0", - "pretty-bytes": "^4.0.2", - "text-table": "^0.2.0", - "time-diff": "^0.3.1", - "yargs-parser": "^8.0.0" - }, - "engines": { - "node": ">=0.10.0" - }, - "files": [ - "index.js", - "lib" - ], - "homepage": "https://github.com/micromatch/braces", - "keywords": [ - "alpha", - "alphabetical", - "bash", - "brace", - "braces", - "expand", - "expansion", - "filepath", - "fill", - "fs", - "glob", - "globbing", - "letter", - "match", - "matches", - "matching", - "number", - "numerical", - "path", - "range", - "ranges", - "sh" - ], - "license": "MIT", - "main": "index.js", - "name": "braces", - "repository": { - "type": "git", - "url": "git+https://github.com/micromatch/braces.git" - }, - "scripts": { - "benchmark": "node benchmark", - "test": "mocha" - }, - "verb": { - "toc": false, - "layout": "default", - "tasks": [ - "readme" - ], - "lint": { - "reflinks": true - }, - "plugins": [ - "gulp-format-md" - ], - "related": { - "list": [ - "expand-brackets", - "extglob", - "fill-range", - "micromatch", - "nanomatch" - ] - } - }, - "version": "2.3.0" -} diff --git a/publi/node_modules/browserslist/CHANGELOG.md b/publi/node_modules/browserslist/CHANGELOG.md deleted file mode 100644 index e96cacf..0000000 --- a/publi/node_modules/browserslist/CHANGELOG.md +++ /dev/null @@ -1,216 +0,0 @@ -# Change Log -This project adheres to [Semantic Versioning](http://semver.org/). - -## 2.10 -* Add `< 1%` and `<= 1%` queries support (by August Kaiser). - -## 2.9.1 -* Fix unknown query on trailing spaces in query. - -## 2.9 -* Add `last Electron versions` and `last Electron major versions` queries - (by Louis Mouhat). - -## 2.8 -* Add `since 2016-03` and `since 2016-03-20` queries support (by Andrew Blick). - -## 2.7 -* Add `since 2016` queries support (by Igor Deryabin). - -## 2.6.1 -* Fix `Path must be a string` error. - -## 2.6 -* By default load config from current directory in CLI tool. - -## 2.5.1 -* Allow `@scope/browserlist-config` config name (by Jamie Connolly). - -## 2.5 -* Add `extends` query (by YellowKirby). - -## 2.4.1 -* Throw error if `package.json` contain `browserlist` instead of `browserslist`. - -## 2.4 -* Add `last n major versions` query (by John Sanders). - -## 2.3.3 -* Fix browsers support. - -## 2.3.2 -* Fix `> 0` query for browsers with one version (by Nikolay Solovyov). - -## 2.3.1 -* Reduce library size. - -## 2.3 -* Add `unreleased versions` and `unreleased Chrome versions` queries. - -## 2.2.2 -* Fix `Path must be a string` error (by Pieter Beulque). - -## 2.2.1 -* Fix security issue with regions dynamic `require`. - -## 2.2 -* Add region usage statistics support (by Clément P). - -## 2.1.5 -* Remove Firefox 45 from Firefox ESR. - -## 2.1.4 -* Use both ESR versions when they actual. - -## 2.1.3 -* Add warning on first exclude query. - -## 2.1.2 -* Fix non-Node.js environments support. - -## 2.1.1 -* Fix CLI arguments parsing. - -## 2.1 -* Add `>= 5%`, `>= 5% in US` and `>= 5% in my stats` queries. - -## 2.0 -* `last n versions` returns versions for all browsers, not only main browsers. -* Cache file system operations (by Aarni Koskela). -* Use `caniuse-lite` 1 MB instead of `caniuse-db` 7 MB (by Ben Briggs). -* Add `.browserslistrc` config support. -* Add QQ Browser for Android support. -* Add tests for CLI (by Zhulduz Zhankenova). - -## 1.7.7 -* Update Firefox ESR. - -## 1.7.6 -* Fix Android Chrome selection. - -## 1.7.5 -* Fix combining `not` query with country based statistics. -* Fix `--env` argument in CLI (by Tuure Savuoja). - -## 1.7.4 -* Speed up browser sorting (by Aarni Koskela). - -## 1.7.3 -* Fix config finding when directory was passed to `path` (by Aarni Koskela). - -## 1.7.2 -* Fix config finding algorithm (by Aarni Koskela). - -## 1.7.1 -* Fix unreleased browsers version detection. - -## 1.7 -* Add `--config` and `--env` arguments to CLI (by Jarek Rencz). - -## 1.6 -* Convert Electron version to Chrome (by Kilian Valkhof). -* Fix `0` version mistake in Can I Use data. - -## 1.5.2 -* Fix browser versions ordering (by Marco Massarotto). - -## 1.5.1 -* Fix error on `package.json` and `browserslist` in same directory. - -## 1.5 -* Add `package.json` support (by Stepan Kuzmin). -* Add environments support (by Maksim Semenov and openlibser). -* Add `browserslist-stats.json` file support (by Oleh Aloshkin). -* Add `config` option to CLI (by Evilebot Tnawi). -* Add JSDoc. -* Fix tests on Windows (by Anna Stoliar). -* Don’t set custom usage statistics globally. - -## 1.4 -* Add `defaults` keyword. - -## 1.3.6 -* Add `UCAndroid` alias to `and_uc` (by Evilebot Tnawi). - -## 1.3.5 -* Fix Opera Mini support. Use `op_mini all`. - -## 1.3.4 -* Add space-less `>1%` and `>.5%` syntax support (by Andreas Lind). - -## 1.3.3 -* Clean `0` versions in some country-based requests. - -## 1.3.2 -* Update Firefox ESR. - -## 1.3.1 -* Add Safari TP support. - -## 1.3 -* Add coverage for specific country (by Joshua Wise). - -## 1.2 -* Add `browserslist.coverage()` method. -* Add `--coverage` and `-c` argument to CLI. -* Add `-v` argument support to CLI. -* Better error handling in CLI. - -## 1.1.3 -* Fix jspm support (by Sean Anderson). - -## 1.1.2 -* Fix jspm support (by Sean Anderson). - -## 1.1.1 -* Fix space-less `>10%` and `>10% in my stats` queries. -* Normalize error messages. -* Remove development files from npm package. - -## 1.1 -* Added query against custom browser usage data (by Daniel Rey). - -## 1.0.1 -* Update Firefox ESR (by Rouven Weßling). - -## 1.0 -* Remove Opera 12.1 from default query. -* Add `not` keyword and exclude browsers by query. -* Add Microsoft Edge support (by Andrey Polischuk). -* Add CLI for debug and non-JS usage (by Luke Horvat). -* Use own class in Browserslist errors. - -## 0.5 -* Add version ranges `IE 6-9` (by Ben Briggs). - -## 0.4 -* Add `config` option and `BROWSERSLIST_CONFIG` environment variable support. -* Add symlink config support. - -## 0.3.3 -* Fix DynJS compatibility (by Nick Howes). - -## 0.3.2 -* Fix joined versions on versions query (by Vincent De Oliveira). - -## 0.3.1 -* Fix global variable leak (by Peter Müller). - -## 0.3 -* Takes queries from `BROWSERSLIST` environment variable. - -## 0.2 -* Return Can I Use joined versions as `ios_saf 7.0-7.1`. - -## 0.1.3 -* Better work with Can I Use joined versions like `ios_saf 7.0-7.1`. -* Browserslist now understands `ios_saf 7.0` or `ios_saf 7`. - -## 0.1.2 -* Do not create global `browserslist` var (by Maxime Thirouin). - -## 0.1.1 -* Sort browsers by name and version. - -## 0.1 -* Initial release. diff --git a/publi/node_modules/browserslist/LICENSE b/publi/node_modules/browserslist/LICENSE deleted file mode 100644 index 1ae47a2..0000000 --- a/publi/node_modules/browserslist/LICENSE +++ /dev/null @@ -1,20 +0,0 @@ -The MIT License (MIT) - -Copyright 2014 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. diff --git a/publi/node_modules/browserslist/README.md b/publi/node_modules/browserslist/README.md deleted file mode 100644 index 4515078..0000000 --- a/publi/node_modules/browserslist/README.md +++ /dev/null @@ -1,451 +0,0 @@ -# Browserslist - -Browserslist logo by Anton Lovchikov - -Library to share target browsers between different front-end tools. -It is used in: - -* [Autoprefixer] -* [babel-preset-env] - (external config in `package.json` or `browserslist` files supported in 2.0) -* [eslint-plugin-compat] -* [stylelint-no-unsupported-browser-features] -* [postcss-normalize] - -All tools that rely on Browserslist will find its config automatically, -when you add the following to `package.json`: - -```json -{ - "browserslist": [ - "> 1%", - "last 2 versions" - ] -} -``` - -Or in `.browserslistrc` config: - -```yaml -# Browsers that we support - -> 1% -Last 2 versions -IE 10 # sorry -``` - -Developers set browsers list in queries like `last 2 version` -to be free from updating browser versions manually. -Browserslist will use [Can I Use] data for this queries. - -Browserslist will take browsers queries from tool option, -`browserslist` config, `.browserslistrc` config, -`browserslist` section in `package.json` or environment variables. - -You can test Browserslist queries in [online demo]. - - - Sponsored by Evil Martians - - -[stylelint-no-unsupported-browser-features]: https://github.com/ismay/stylelint-no-unsupported-browser-features -[eslint-plugin-compat]: https://github.com/amilajack/eslint-plugin-compat -[babel-preset-env]: https://github.com/babel/babel-preset-env -[postcss-normalize]: https://github.com/jonathantneal/postcss-normalize -[Autoprefixer]: https://github.com/postcss/autoprefixer -[online demo]: http://browserl.ist/ -[Can I Use]: http://caniuse.com/ - -## Tools - -* [browserslist-useragent] check browser by user agent string - to match Browserslist target browsers query. -* Run `npx browserslist` in your project directory to see project’s - target browsers. This CLI tool is built-in and available in any project - with Autoprefixer. - -[browserslist-useragent]: https://github.com/pastelsky/browserslist-useragent - -## Queries - -Browserslist will use browsers query from one of this sources: - -1. Tool options. For example `browsers` option in Autoprefixer. -2. `BROWSERSLIST` environment variable. -3. `browserslist` config file in current or parent directories. -3. `.browserslistrc` config file in current or parent directories. -4. `browserslist` key in `package.json` file in current or parent directories. - **We recommend this way.** -5. If the above methods did not produce a valid result - Browserslist will use defaults: `> 1%, last 2 versions, Firefox ESR`. - -You can specify the versions by queries (case insensitive): - -* `last 2 versions`: the last 2 versions for each browser. -* `last 2 Chrome versions`: the last 2 versions of Chrome browser. -* `> 5%`: versions selected by global usage statistics. - `>=`, `<` and `<=` work too. -* `> 5% in US`: uses USA usage statistics. It accepts [two-letter country code]. -* `> 5% in alt-AS`: uses Asia region usage statistics. List of all region codes - can be found at [`caniuse-lite/data/regions`]. -* `> 5% in my stats`: uses [custom usage data]. -* `extends browserslist-config-mycompany`: take queries from - `browserslist-config-mycompany` npm package. -* `ie 6-8`: selects an inclusive range of versions. -* `Firefox > 20`: versions of Firefox newer than 20. - `>=`, `<` and `<=` work too. -* `iOS 7`: the iOS browser version 7 directly. -* `Firefox ESR`: the latest [Firefox ESR] version. -* `unreleased versions` or `unreleased Chrome versions`: - alpha and beta versions. -* `last 2 major versions` or `last 2 iOS major versions`: - all minor/patch releases of last 2 major versions. -* `since 2013`: all versions released since year 2013 - (also `since 2013-03` and `since 2013-03-10`). -* `not ie <= 8`: exclude browsers selected by previous queries. - -You can add `not ` to any query. - -### Debug - -Run `npx browserslist` in project directory to see what browsers was selected -by your queries. - -```sh -$ npx browserslist -and_chr 61 -and_ff 56 -and_qq 1.2 -and_uc 11.4 -android 56 -baidu 7.12 -bb 10 -chrome 62 -edge 16 -firefox 56 -ios_saf 11 -opera 48 -safari 11 -samsung 5 -``` - -### Notes - -Browserslist works with separated versions of browsers. -You should avoid queries like `Firefox > 0`. - -Multiple criteria are combined as a boolean `OR`. A browser version must match -at least one of the criteria to be selected. - -All queries are based on the [Can I Use] support table, -e.g. `last 3 iOS versions` might select `8.4, 9.2, 9.3` (mixed major and minor), -whereas `last 3 Chrome versions` might select `50, 49, 48` (major only). - -[`caniuse-lite/data/regions`]: https://github.com/ben-eb/caniuse-lite/tree/master/data/regions -[two-letter country code]: http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements -[custom usage data]: #custom-usage-data -[Can I Use]: http://caniuse.com/ - -### Browsers - -Names are case insensitive: - -* `Android` for Android WebView. -* `Baidu` for Baidu Browser. -* `BlackBerry` or `bb` for Blackberry browser. -* `Chrome` for Google Chrome. -* `ChromeAndroid` or `and_chr` for Chrome for Android -* `Edge` for Microsoft Edge. -* `Electron` for Electron framework. It will be converted to Chrome version. -* `Explorer` or `ie` for Internet Explorer. -* `ExplorerMobile` or `ie_mob` for Internet Explorer Mobile. -* `Firefox` or `ff` for Mozilla Firefox. -* `FirefoxAndroid` or `and_ff` for Firefox for Android. -* `iOS` or `ios_saf` for iOS Safari. -* `Opera` for Opera. -* `OperaMini` or `op_mini` for Opera Mini. -* `OperaMobile` or `op_mob` for Opera Mobile. -* `QQAndroid` or `and_qq` for QQ Browser for Android. -* `Safari` for desktop Safari. -* `Samsung` for Samsung Internet. -* `UCAndroid` or `and_uc` for UC Browser for Android. - -## `package.json` - -If you want to reduce config files in project root, you can specify -browsers in `package.json` with `browserslist` key: - -```json -{ - "private": true, - "dependencies": { - "autoprefixer": "^6.5.4" - }, - "browserslist": [ - "> 1%", - "last 2 versions" - ] -} -``` - -## Config File - -Browserslist config should be named `.browserslistrc` or `browserslist` -and have browsers queries split by a new line. Comments starts with `#` symbol: - -```yaml -# Browsers that we support - -> 1% -Last 2 versions -IE 8 # sorry -``` - -Browserslist will check config in every directory in `path`. -So, if tool process `app/styles/main.css`, you can put config to root, -`app/` or `app/styles`. - -You can specify direct path in `BROWSERSLIST_CONFIG` environment variables. - -## Shareable Configs - -You can use the following query to reference an exported Browserslist config -from another package: - -```json - "browserslist": [ - "extends browserslist-config-mycompany" - ] -``` - -For security reasons, external configuration only supports packages that have -the `browserslist-config-` prefix. npm scoped packages are also supported, by -naming or prefixing the module with `@scope/browserslist-config`, such as -`@scope/browserslist-config` or `@scope/browserslist-config-mycompany`. - -If you don’t accept Browserslist queries from users, you can disable the -validation by using the `dangerousExtend` option: - -```js -browserslist(queries, { path, dangerousExtend: true }) -``` - -Because this uses `npm`'s resolution, you can also reference specific files -in a package: - -```json - "browserslist": [ - "extends browserslist-config-mycompany/desktop", - "extends browserslist-config-mycompany/mobile" - ] -``` - -When writing a shared Browserslist package, just export an array. -`browserslist-config-mycompany/index.js`: - -```js -module.exports = [ - 'last 2 versions', - 'ie 9' -] -``` - -## Environment Variables - -If some tool use Browserslist inside, you can change browsers settings -by [environment variables]: - -* `BROWSERSLIST` with browsers queries. - - ```sh - BROWSERSLIST="> 5%" gulp css - ``` - -* `BROWSERSLIST_CONFIG` with path to config file. - - ```sh - BROWSERSLIST_CONFIG=./config/browserslist gulp css - ``` - -* `BROWSERSLIST_ENV` with environments string. - - ```sh - BROWSERSLIST_ENV="development" gulp css - ``` - -* `BROWSERSLIST_STATS` with path to the custom usage data - for `> 1% in my stats` query. - - ```sh - BROWSERSLIST_STATS=./config/usage_data.json gulp css - ``` - -* `BROWSERSLIST_DISABLE_CACHE` if you want to disable config reading cache. - - ```sh - BROWSERSLIST_DISABLE_CACHE=1 gulp css - ``` - -[environment variables]: https://en.wikipedia.org/wiki/Environment_variable - -## Environments - -You can also specify different browser queries for various environments. -Browserslist will choose query according to `BROWSERSLIST_ENV` or `NODE_ENV` -variables. If none of them is declared, Browserslist will firstly look -for `development` queries and then use defaults. - -In `package.json`: - -```js - "browserslist": { - "production": [ - "last 2 version", - "ie 9" - ], - "development": [ - "last 1 version" - ] - } -``` - -In `.browserslistrc` config: - -```ini -[production] -last 2 version -ie 9 - -[development] -last 1 version -``` - -## Custom Usage Data - -If you have a website, you can query against the usage statistics of your site: - -1. Import your Google Analytics data into [Can I Use]. - Press `Import…` button in Settings page. -2. Open browser DevTools on [Can I Use] and paste this snippet - into the browser console: - - ```js - var e=document.createElement('a');e.setAttribute('href', 'data:text/plain;charset=utf-8,'+encodeURIComponent(JSON.stringify(JSON.parse(localStorage['usage-data-by-id'])[localStorage['config-primary_usage']])));e.setAttribute('download','stats.json');document.body.appendChild(e);e.click();document.body.removeChild(e); - ``` -3. Save the data to a `browserslist-stats.json` file in your project. - -Of course, you can generate usage statistics file by any other method. -File format should be like: - -```js -{ - "ie": { - "6": 0.01, - "7": 0.4, - "8": 1.5 - }, - "chrome": { - … - }, - … -} -``` - -Note that you can query against your custom usage data -while also querying against global or regional data. -For example, the query `> 1% in my stats, > 5% in US, 10%` is permitted. - -[Can I Use]: http://caniuse.com/ - -## Webpack - -If you plan to use Browserslist on client-side (e. g., tools like CodePen) -Browserslist could take big part of your bundle — about 150 KB. - -But the biggest part of this size will be region usage statistics, which could -be useless for you. You can use `IgnorePlugin` in webpack to cut it: - -```js -const webpackConfig = { - … - plugins: [ - new webpack.IgnorePlugin(/caniuse-lite\/data\/regions/) - ] -} -``` - -This plugin will reduce Browserslist size from 150 KB to 6 KB. But you loose -`> 1% in US` queries support. - -## JS API - -```js -var browserslist = require('browserslist'); - -// Your CSS/JS build tool code -var process = function (source, opts) { - var browsers = browserslist(opts.browsers, { - stats: opts.stats, - path: opts.file, - env: opts.env - }); - // Your code to add features for selected browsers -} -``` - -Queries can be a string `"> 5%, last 1 version"` -or an array `['> 5%', 'last 1 version']`. - -If a query is missing, Browserslist will look for a config file. -You can provide a `path` option (that can be a file) to find the config file -relatively to it. - -For non-JS environment and debug purpose you can use CLI tool: - -```sh -browserslist "> 1%, last 2 versions" -``` - -## Coverage - -You can get total users coverage for selected browsers by JS API: - -```js -browserslist.coverage(browserslist('> 1%')) //=> 81.4 -``` - -```js -browserslist.coverage(browserslist('> 1% in US'), 'US') //=> 83.1 -``` - -Or by CLI: - -```sh -$ browserslist --coverage "> 1%" -These browsers account for 81.4% of all users globally -``` - -```sh -$ browserslist --coverage=US "> 1% in US" -These browsers account for 83.1% of all users in the US -``` - -## Internal caches - -Browserslist caches the configuration it reads from `package.json` and -`browserslist` files, as well as knowledge about the existence of files, -for the duration of the hosting process. - -To clear these caches, use: - -```js -browserslist.clearCaches(); -``` - -To disable the caching altogether, set the `BROWSERSLIST_DISABLE_CACHE` -environment variable. diff --git a/publi/node_modules/browserslist/cli.js b/publi/node_modules/browserslist/cli.js deleted file mode 100755 index 2a6bb91..0000000 --- a/publi/node_modules/browserslist/cli.js +++ /dev/null @@ -1,103 +0,0 @@ -#!/usr/bin/env node - -var browserslist = require('./') -var pkg = require('./package.json') -var args = process.argv.slice(2) - -var USAGE = 'Usage:\n' + - ' ' + pkg.name + '\n' + - ' ' + pkg.name + ' "QUERIES"\n' + - ' ' + pkg.name + ' --config="path/to/browserlist/file"\n' + - ' ' + pkg.name + ' --coverage "QUERIES"\n' + - ' ' + pkg.name + ' --coverage=US "QUERIES"\n' + - ' ' + pkg.name + ' --env="environment name defined in config"\n' + - ' ' + pkg.name + ' --stats="path/to/browserlist/stats/file"' - -function isArg (arg) { - return args.some(function (str) { - return str === arg || str.indexOf(arg + '=') === 0 - }) -} - -function error (msg) { - process.stderr.write(pkg.name + ': ' + msg + '\n') - process.exit(1) -} - -if (isArg('--help') || isArg('-h')) { - process.stdout.write(pkg.description + '.\n\n' + USAGE + '\n') -} else if (isArg('--version') || isArg('-v')) { - process.stdout.write(pkg.name + ' ' + pkg.version + '\n') -} else { - var mode = 'browsers' - var opts = { } - var queries - var country - - for (var i = 0; i < args.length; i++) { - if (args[i][0] !== '-') { - queries = args[i].replace(/^['"]|['"]$/g, '') - continue - } - - var arg = args[i].split('=') - var name = arg[0] - var value = arg[1] - - if (value) value = value.replace(/^['"]|['"]$/g, '') - - if (name === '--config' || name === '-b') { - opts.config = value - } else if (name === '--env' || name === '-e') { - opts.env = value - } else if (name === '--stats' || name === '-s') { - opts.stats = value - } else if (name === '--coverage' || name === '-c') { - mode = 'coverage' - if (value) country = value - } else { - error('Unknown arguments ' + args[i] + '.\n\n' + USAGE) - } - } - - if (!queries && !opts.config) { - if (browserslist.findConfig(process.cwd())) { - opts.path = process.cwd() - } else { - error( - 'Browserslist config did not found. ' + - 'Define queries or config path.' + - '\n\n' + USAGE - ) - } - } - - var browsers - try { - browsers = browserslist(queries, opts) - } catch (e) { - if (e.name === 'BrowserslistError') { - error(e.message) - } else { - throw e - } - } - - if (mode === 'browsers') { - browsers.forEach(function (browser) { - process.stdout.write(browser + '\n') - }) - } else { - var result = browserslist.coverage(browsers, country) - var round = Math.round(result * 100) / 100.0 - - var end = 'globally' - if (country && country !== 'global') { - end = 'in the ' + country.toUpperCase() - } - - process.stdout.write( - 'These browsers account for ' + round + '% of all users ' + - end + '\n') - } -} diff --git a/publi/node_modules/browserslist/index.js b/publi/node_modules/browserslist/index.js deleted file mode 100644 index 5b11562..0000000 --- a/publi/node_modules/browserslist/index.js +++ /dev/null @@ -1,868 +0,0 @@ -var path = require('path') -var e2c = require('electron-to-chromium/versions') -var fs = require('fs') - -var agents = require('caniuse-lite/dist/unpacker/agents').agents -var region = require('caniuse-lite/dist/unpacker/region').default - -function normalize (versions) { - return versions.filter(function (version) { - return typeof version === 'string' - }) -} - -function nameMapper (name) { - return function mapName (version) { - return name + ' ' + version - } -} - -function getMajor (version) { - return parseInt(version.split('.')[0]) -} - -function getMajorVersions (released, number) { - if (released.length === 0) return [] - var minimum = getMajor(released[released.length - 1]) - parseInt(number) + 1 - var selected = [] - for (var i = released.length - 1; i >= 0; i--) { - if (minimum > getMajor(released[i])) break - selected.unshift(released[i]) - } - return selected -} - -var env = process.env - -var FLOAT_RANGE = /^\d+(\.\d+)?(-\d+(\.\d+)?)*$/ -var IS_SECTION = /^\s*\[(.+)\]\s*$/ - -function uniq (array) { - var filtered = [] - for (var i = 0; i < array.length; i++) { - if (filtered.indexOf(array[i]) === -1) filtered.push(array[i]) - } - return filtered -} - -function BrowserslistError (message) { - this.name = 'BrowserslistError' - this.message = message || '' - this.browserslist = true - if (Error.captureStackTrace) { - Error.captureStackTrace(this, BrowserslistError) - } -} -BrowserslistError.prototype = Error.prototype - -// Helpers - -function fillUsage (result, name, data) { - for (var i in data) { - result[name + ' ' + i] = data[i] - } -} - -var filenessCache = {} -var configCache = {} - -function isFile (file) { - if (file in filenessCache) { - return filenessCache[file] - } - var result = fs.existsSync(file) && fs.statSync(file).isFile() - if (!env.BROWSERSLIST_DISABLE_CACHE) { - filenessCache[file] = result - } - return result -} - -function eachParent (file, callback) { - var loc = path.resolve(file) - do { - var result = callback(loc) - if (typeof result !== 'undefined') return result - } while (loc !== (loc = path.dirname(loc))) - return undefined -} - -function getStat (opts) { - if (opts.stats) { - return opts.stats - } else if (env.BROWSERSLIST_STATS) { - return env.BROWSERSLIST_STATS - } else if (opts.path && path.resolve) { - return eachParent(opts.path, function (dir) { - var file = path.join(dir, 'browserslist-stats.json') - return isFile(file) ? file : undefined - }) - } - - return undefined -} - -function parsePackage (file) { - var config = JSON.parse(fs.readFileSync(file)) - if (config.browserlist && !config.browserslist) { - throw new BrowserslistError( - '`browserlist` key instead of `browserslist` in ' + file) - } - var list = config.browserslist - if (typeof list === 'object' && list.length) { - list = { defaults: list } - } - return list -} - -function pickEnv (config, opts) { - if (typeof config !== 'object') return config - - var name - if (typeof opts.env === 'string') { - name = opts.env - } else if (env.BROWSERSLIST_ENV) { - name = env.BROWSERSLIST_ENV - } else if (env.NODE_ENV) { - name = env.NODE_ENV - } else { - name = 'development' - } - - return config[name] || config.defaults -} - -function generateFilter (sign, version) { - version = parseFloat(version) - if (sign === '>') { - return function (v) { - return parseFloat(v) > version - } - } else if (sign === '>=') { - return function (v) { - return parseFloat(v) >= version - } - } else if (sign === '<') { - return function (v) { - return parseFloat(v) < version - } - } else { - return function (v) { - return parseFloat(v) <= version - } - } -} - -function compareStrings (a, b) { - if (a < b) return -1 - if (a > b) return +1 - return 0 -} - -function resolve (queries, context) { - return queries.reduce(function (result, selection, index) { - selection = selection.trim() - if (selection === '') return result - - var isExclude = selection.indexOf('not ') === 0 - if (isExclude) { - if (index === 0) { - throw new BrowserslistError( - 'Write any browsers query (for instance, `defaults`) ' + - 'before `' + selection + '`') - } - selection = selection.slice(4) - } - - for (var i = 0; i < QUERIES.length; i++) { - var type = QUERIES[i] - var match = selection.match(type.regexp) - if (match) { - var args = [context].concat(match.slice(1)) - var array = type.select.apply(browserslist, args) - if (isExclude) { - array = array.concat(array.map(function (j) { - return j.replace(/\s\d+/, ' 0') - })) - return result.filter(function (j) { - return array.indexOf(j) === -1 - }) - } - return result.concat(array) - } - } - - throw new BrowserslistError('Unknown browser query `' + selection + '`') - }, []) -} - -/** - * Return array of browsers by selection queries. - * - * @param {(string|string[])} [queries=browserslist.defaults] Browser queries. - * @param {object} opts Options. - * @param {string} [opts.path="."] Path to processed file. - * It will be used to find config files. - * @param {string} [opts.env="development"] Processing environment. - * It will be used to take right - * queries from config file. - * @param {string} [opts.config] Path to config file with queries. - * @param {object} [opts.stats] Custom browser usage statistics - * for "> 1% in my stats" query. - * @return {string[]} Array with browser names in Can I Use. - * - * @example - * browserslist('IE >= 10, IE 8') //=> ['ie 11', 'ie 10', 'ie 8'] - */ -function browserslist (queries, opts) { - if (typeof opts === 'undefined') opts = { } - - if (!opts.hasOwnProperty('path')) { - opts.path = path.resolve ? path.resolve('.') : '.' - } - - if (typeof queries === 'undefined' || queries === null) { - if (env.BROWSERSLIST) { - queries = env.BROWSERSLIST - } else if (opts.config || env.BROWSERSLIST_CONFIG) { - var file = opts.config || env.BROWSERSLIST_CONFIG - if (path.basename(file) === 'package.json') { - queries = pickEnv(parsePackage(file), opts) - } else { - queries = pickEnv(browserslist.readConfig(file), opts) - } - } else if (opts.path) { - queries = pickEnv(browserslist.findConfig(opts.path), opts) - } - } - - if (typeof queries === 'undefined' || queries === null) { - queries = browserslist.defaults - } - - if (typeof queries === 'string') { - queries = queries.split(/,\s*/) - } - - if (!Array.isArray(queries)) { - throw new BrowserslistError( - 'Browser queries must be an array. Got ' + typeof queries + '.') - } - - var context = { dangerousExtend: opts.dangerousExtend } - - var stats = getStat(opts) - if (stats) { - if (typeof stats === 'string') { - try { - stats = JSON.parse(fs.readFileSync(stats)) - } catch (e) { - throw new BrowserslistError('Can\'t read ' + stats) - } - } - if ('dataByBrowser' in stats) { - stats = stats.dataByBrowser - } - - context.customUsage = { } - for (var browser in stats) { - fillUsage(context.customUsage, browser, stats[browser]) - } - } - - var result = resolve(queries, context).map(function (i) { - var parts = i.split(' ') - var name = parts[0] - var version = parts[1] - if (version === '0') { - return name + ' ' + byName(name).versions[0] - } else { - return i - } - }).sort(function (name1, name2) { - name1 = name1.split(' ') - name2 = name2.split(' ') - if (name1[0] === name2[0]) { - if (FLOAT_RANGE.test(name1[1]) && FLOAT_RANGE.test(name2[1])) { - return parseFloat(name2[1]) - parseFloat(name1[1]) - } else { - return compareStrings(name2[1], name1[1]) - } - } else { - return compareStrings(name1[0], name2[0]) - } - }) - - return uniq(result) -} - -function normalizeVersion (data, version) { - if (data.versions.indexOf(version) !== -1) { - return version - } else if (browserslist.versionAliases[data.name][version]) { - return browserslist.versionAliases[data.name][version] - } else if (data.versions.length === 1) { - return data.versions[0] - } else { - return false - } -} - -function loadCountryStatistics (country) { - country = country.replace(/[^\w-]/g, '') - if (!browserslist.usage[country]) { - var usage = { } - // eslint-disable-next-line security/detect-non-literal-require - var compressed = require('caniuse-lite/data/regions/' + country + '.js') - var data = region(compressed) - for (var i in data) { - fillUsage(usage, i, data[i]) - } - browserslist.usage[country] = usage - } -} - -// Will be filled by Can I Use data below -browserslist.data = { } -browserslist.usage = { - global: { }, - custom: null -} - -// Default browsers query -browserslist.defaults = [ - '> 1%', - 'last 2 versions', - 'Firefox ESR' -] - -// Browser names aliases -browserslist.aliases = { - fx: 'firefox', - ff: 'firefox', - ios: 'ios_saf', - explorer: 'ie', - blackberry: 'bb', - explorermobile: 'ie_mob', - operamini: 'op_mini', - operamobile: 'op_mob', - chromeandroid: 'and_chr', - firefoxandroid: 'and_ff', - ucandroid: 'and_uc', - qqandroid: 'and_qq' -} - -// Aliases to work with joined versions like `ios_saf 7.0-7.1` -browserslist.versionAliases = { } - -// Get browser data by alias or case insensitive name -function byName (name) { - name = name.toLowerCase() - name = browserslist.aliases[name] || name - return browserslist.data[name] -} - -// Get browser data by alias or case insensitive name and throw error -// on unknown browser -function checkName (name) { - var data = byName(name) - if (!data) throw new BrowserslistError('Unknown browser ' + name) - return data -} - -// Read and parse config -browserslist.readConfig = function (file) { - if (!isFile(file)) { - throw new BrowserslistError('Can\'t read ' + file + ' config') - } - return browserslist.parseConfig(fs.readFileSync(file)) -} - -// Find config, read file and parse it -browserslist.findConfig = function (from) { - if (!path.resolve) return undefined - - from = path.resolve(from) - - var cacheKey = isFile(from) ? path.dirname(from) : from - if (cacheKey in configCache) { - return configCache[cacheKey] - } - - var resolved = eachParent(from, function (dir) { - var config = path.join(dir, 'browserslist') - var pkg = path.join(dir, 'package.json') - var rc = path.join(dir, '.browserslistrc') - - var pkgBrowserslist - if (isFile(pkg)) { - try { - pkgBrowserslist = parsePackage(pkg) - } catch (e) { - if (e.name === 'BrowserslistError') throw e - console.warn('[Browserslist] Could not parse ' + pkg + '. Ignoring it.') - } - } - - if (isFile(config) && pkgBrowserslist) { - throw new BrowserslistError( - dir + ' contains both browserslist and package.json with browsers') - } else if (isFile(rc) && pkgBrowserslist) { - throw new BrowserslistError( - dir + ' contains both .browserslistrc and package.json with browsers') - } else if (isFile(config) && isFile(rc)) { - throw new BrowserslistError( - dir + ' contains both .browserslistrc and browserslist') - } else if (isFile(config)) { - return browserslist.readConfig(config) - } else if (isFile(rc)) { - return browserslist.readConfig(rc) - } else { - return pkgBrowserslist - } - }) - if (!env.BROWSERSLIST_DISABLE_CACHE) { - configCache[cacheKey] = resolved - } - return resolved -} - -/** - * Return browsers market coverage. - * - * @param {string[]} browsers Browsers names in Can I Use. - * @param {string} [country="global"] Which country statistics should be used. - * - * @return {number} Total market coverage for all selected browsers. - * - * @example - * browserslist.coverage(browserslist('> 1% in US'), 'US') //=> 83.1 - */ -browserslist.coverage = function (browsers, country) { - if (country && country !== 'global') { - if (country.length > 2) { - country = country.toLowerCase() - } else { - country = country.toUpperCase() - } - loadCountryStatistics(country) - } else { - country = 'global' - } - - return browsers.reduce(function (all, i) { - var usage = browserslist.usage[country][i] - if (usage === undefined) { - usage = browserslist.usage[country][i.replace(/ [\d.]+$/, ' 0')] - } - return all + (usage || 0) - }, 0) -} - -// Return array of queries from config content -browserslist.parseConfig = function (string) { - var result = { defaults: [] } - var section = 'defaults' - - string.toString() - .replace(/#[^\n]*/g, '') - .split(/\n/) - .map(function (line) { - return line.trim() - }) - .filter(function (line) { - return line !== '' - }) - .forEach(function (line) { - if (IS_SECTION.test(line)) { - section = line.match(IS_SECTION)[1].trim() - result[section] = result[section] || [] - } else { - result[section].push(line) - } - }) - - return result -} - -// Clear internal caches -browserslist.clearCaches = function () { - filenessCache = {} - configCache = {} -} - -var QUERIES = [ - { - regexp: /^last\s+(\d+)\s+major versions?$/i, - select: function (context, versions) { - return Object.keys(agents).reduce(function (selected, name) { - var data = byName(name) - if (!data) return selected - var array = getMajorVersions(data.released, versions) - - array = array.map(nameMapper(data.name)) - return selected.concat(array) - }, []) - } - }, - { - regexp: /^last\s+(\d+)\s+versions?$/i, - select: function (context, versions) { - return Object.keys(agents).reduce(function (selected, name) { - var data = byName(name) - if (!data) return selected - var array = data.released.slice(-versions) - - array = array.map(nameMapper(data.name)) - return selected.concat(array) - }, []) - } - }, - { - regexp: /^last\s+(\d+)\s+electron\s+major versions?$/i, - select: function (context, versions) { - var validVersions = getMajorVersions(Object.keys(e2c).reverse(), versions) - return validVersions.map(function (i) { - return 'chrome ' + e2c[i] - }) - } - }, - { - regexp: /^last\s+(\d+)\s+(\w+)\s+major versions?$/i, - select: function (context, versions, name) { - var data = checkName(name) - var validVersions = getMajorVersions(data.released, versions) - return validVersions.map(nameMapper(data.name)) - } - }, - { - regexp: /^last\s+(\d+)\s+electron\s+versions?$/i, - select: function (context, versions) { - return Object.keys(e2c).reverse().slice(-versions).map(function (i) { - return 'chrome ' + e2c[i] - }) - } - }, - { - regexp: /^last\s+(\d+)\s+(\w+)\s+versions?$/i, - select: function (context, versions, name) { - var data = checkName(name) - return data.released.slice(-versions).map(nameMapper(data.name)) - } - }, - { - regexp: /^unreleased\s+versions$/i, - select: function () { - return Object.keys(agents).reduce(function (selected, name) { - var data = byName(name) - if (!data) return selected - var array = data.versions.filter(function (v) { - return data.released.indexOf(v) === -1 - }) - - array = array.map(nameMapper(data.name)) - return selected.concat(array) - }, []) - } - }, - { - regexp: /^unreleased\s+electron\s+versions?$/i, - select: function () { - return [] - } - }, - { - regexp: /^unreleased\s+(\w+)\s+versions?$/i, - select: function (context, name) { - var data = checkName(name) - return data.versions.filter(function (v) { - return data.released.indexOf(v) === -1 - }).map(nameMapper(data.name)) - } - }, - { - regexp: /^since (\d+)(?:-(\d+))?(?:-(\d+))?$/i, - select: function (context, year, month, date) { - year = parseInt(year) - month = parseInt(month || '01') - 1 - date = parseInt(date || '01') - var since = Date.UTC(year, month, date, 0, 0, 0) / 1000 - - return Object.keys(agents).reduce(function (selected, name) { - var data = byName(name) - if (!data) return selected - var versions = Object.keys(data.releaseDate).filter(function (v) { - return data.releaseDate[v] >= since - }) - return selected.concat(versions.map(nameMapper(data.name))) - }, []) - } - }, - { - regexp: /^(>=?|<=?)\s*(\d*\.?\d+)%$/, - select: function (context, sign, popularity) { - popularity = parseFloat(popularity) - var usage = browserslist.usage.global - - return Object.keys(usage).reduce(function (result, version) { - if (sign === '>') { - if (usage[version] > popularity) { - result.push(version) - } - } else if (sign === '<') { - if (usage[version] < popularity) { - result.push(version) - } - } else if (sign === '<=') { - if (usage[version] <= popularity) { - result.push(version) - } - } else if (usage[version] >= popularity) { - result.push(version) - } - return result - }, []) - } - }, - { - regexp: /^(>=?|<=?)\s*(\d*\.?\d+)%\s+in\s+my\s+stats$/, - select: function (context, sign, popularity) { - popularity = parseFloat(popularity) - - if (!context.customUsage) { - throw new BrowserslistError('Custom usage statistics was not provided') - } - - var usage = context.customUsage - - return Object.keys(usage).reduce(function (result, version) { - if (sign === '>') { - if (usage[version] > popularity) { - result.push(version) - } - } else if (sign === '<') { - if (usage[version] < popularity) { - result.push(version) - } - } else if (sign === '<=') { - if (usage[version] <= popularity) { - result.push(version) - } - } else if (usage[version] >= popularity) { - result.push(version) - } - return result - }, []) - } - }, - { - regexp: /^(>=?|<=?)\s*(\d*\.?\d+)%\s+in\s+((alt-)?\w\w)$/, - select: function (context, sign, popularity, place) { - popularity = parseFloat(popularity) - - if (place.length === 2) { - place = place.toUpperCase() - } else { - place = place.toLowerCase() - } - - loadCountryStatistics(place) - var usage = browserslist.usage[place] - - return Object.keys(usage).reduce(function (result, version) { - if (sign === '>') { - if (usage[version] > popularity) { - result.push(version) - } - } else if (sign === '<') { - if (usage[version] < popularity) { - result.push(version) - } - } else if (sign === '<=') { - if (usage[version] <= popularity) { - result.push(version) - } - } else if (usage[version] >= popularity) { - result.push(version) - } - return result - }, []) - } - }, - { - regexp: /^electron\s+([\d.]+)\s*-\s*([\d.]+)$/i, - select: function (context, from, to) { - if (!e2c[from]) { - throw new BrowserslistError('Unknown version ' + from + ' of electron') - } - if (!e2c[to]) { - throw new BrowserslistError('Unknown version ' + to + ' of electron') - } - - from = parseFloat(from) - to = parseFloat(to) - - return Object.keys(e2c).filter(function (i) { - var parsed = parseFloat(i) - return parsed >= from && parsed <= to - }).map(function (i) { - return 'chrome ' + e2c[i] - }) - } - }, - { - regexp: /^(\w+)\s+([\d.]+)\s*-\s*([\d.]+)$/i, - select: function (context, name, from, to) { - var data = checkName(name) - from = parseFloat(normalizeVersion(data, from) || from) - to = parseFloat(normalizeVersion(data, to) || to) - - function filter (v) { - var parsed = parseFloat(v) - return parsed >= from && parsed <= to - } - - return data.released.filter(filter).map(nameMapper(data.name)) - } - }, - { - regexp: /^electron\s*(>=?|<=?)\s*([\d.]+)$/i, - select: function (context, sign, version) { - return Object.keys(e2c) - .filter(generateFilter(sign, version)) - .map(function (i) { - return 'chrome ' + e2c[i] - }) - } - }, - { - regexp: /^(\w+)\s*(>=?|<=?)\s*([\d.]+)$/, - select: function (context, name, sign, version) { - var data = checkName(name) - var alias = browserslist.versionAliases[data.name][version] - if (alias) { - version = alias - } - return data.released - .filter(generateFilter(sign, version)) - .map(function (v) { - return data.name + ' ' + v - }) - } - }, - { - regexp: /^(firefox|ff|fx)\s+esr$/i, - select: function () { - return ['firefox 52'] - } - }, - { - regexp: /(operamini|op_mini)\s+all/i, - select: function () { - return ['op_mini all'] - } - }, - { - regexp: /^electron\s+([\d.]+)$/i, - select: function (context, version) { - var chrome = e2c[version] - if (!chrome) { - throw new BrowserslistError( - 'Unknown version ' + version + ' of electron') - } - return ['chrome ' + chrome] - } - }, - { - regexp: /^(\w+)\s+(tp|[\d.]+)$/i, - select: function (context, name, version) { - if (/^tp$/i.test(version)) version = 'TP' - var data = checkName(name) - var alias = normalizeVersion(data, version) - if (alias) { - version = alias - } else { - if (version.indexOf('.') === -1) { - alias = version + '.0' - } else if (/\.0$/.test(version)) { - alias = version.replace(/\.0$/, '') - } - alias = normalizeVersion(data, alias) - if (alias) { - version = alias - } else { - throw new BrowserslistError( - 'Unknown version ' + version + ' of ' + name) - } - } - return [data.name + ' ' + version] - } - }, - { - regexp: /^extends (.+)$/i, - select: function (context, name) { - if (!context.dangerousExtend) checkExtend(name) - // eslint-disable-next-line security/detect-non-literal-require - var queries = require(name) - if (!Array.isArray(queries)) { - throw new BrowserslistError( - '`' + name + '` config exports not an array of queries') - } - return resolve(queries, context) - } - }, - { - regexp: /^defaults$/i, - select: function () { - return browserslist(browserslist.defaults) - } - } -] - -var CONFIG_PATTERN = /^browserslist-config-/ -var SCOPED_CONFIG__PATTERN = /@[^./]+\/browserslist-config(-|$)/ - -function checkExtend (name) { - var use = ' Use `dangerousExtend` option to disable.' - if (!CONFIG_PATTERN.test(name) && !SCOPED_CONFIG__PATTERN.test(name)) { - throw new BrowserslistError( - 'Browserslist config needs `browserslist-config-` prefix. ' + use) - } - if (name.indexOf('.') !== -1) { - throw new BrowserslistError( - '`.` not allowed in Browserslist config name. ' + use) - } - if (name.indexOf('node_modules') !== -1) { - throw new BrowserslistError( - '`node_modules` not allowed in Browserslist config.' + use) - } -} - -// Get and convert Can I Use data - -(function () { - for (var name in agents) { - var browser = agents[name] - browserslist.data[name] = { - name: name, - versions: normalize(agents[name].versions), - released: normalize(agents[name].versions.slice(0, -3)), - releaseDate: agents[name].release_date - } - fillUsage(browserslist.usage.global, name, browser.usage_global) - - browserslist.versionAliases[name] = { } - for (var i = 0; i < browser.versions.length; i++) { - var full = browser.versions[i] - if (!full) continue - - if (full.indexOf('-') !== -1) { - var interval = full.split('-') - for (var j = 0; j < interval.length; j++) { - browserslist.versionAliases[name][interval[j]] = full - } - } - } - } -}()) - -module.exports = browserslist diff --git a/publi/node_modules/browserslist/package.json b/publi/node_modules/browserslist/package.json deleted file mode 100644 index ff8eb62..0000000 --- a/publi/node_modules/browserslist/package.json +++ /dev/null @@ -1,122 +0,0 @@ -{ - "_from": "browserslist@^2.10.0", - "_id": "browserslist@2.10.0", - "_inBundle": false, - "_integrity": "sha512-WyvzSLsuAVPOjbljXnyeWl14Ae+ukAT8MUuagKVzIDvwBxl4UAwD1xqtyQs2eWYPGUKMeC3Ol62goqYuKqTTcw==", - "_location": "/browserslist", - "_phantomChildren": {}, - "_requested": { - "type": "range", - "registry": true, - "raw": "browserslist@^2.10.0", - "name": "browserslist", - "escapedName": "browserslist", - "rawSpec": "^2.10.0", - "saveSpec": null, - "fetchSpec": "^2.10.0" - }, - "_requiredBy": [ - "/autoprefixer" - ], - "_resolved": "https://registry.npmjs.org/browserslist/-/browserslist-2.10.0.tgz", - "_shasum": "bac5ee1cc69ca9d96403ffb8a3abdc5b6aed6346", - "_spec": "browserslist@^2.10.0", - "_where": "/mnt/Data/bach/Documents/ola/OLA#5/ola5doc/publi/node_modules/autoprefixer", - "author": { - "name": "Andrey Sitnik", - "email": "andrey@sitnik.ru" - }, - "bin": { - "browserslist": "./cli.js" - }, - "browser": { - "path": false, - "fs": false - }, - "bugs": { - "url": "https://github.com/ai/browserslist/issues" - }, - "bundleDependencies": false, - "dependencies": { - "caniuse-lite": "^1.0.30000780", - "electron-to-chromium": "^1.3.28" - }, - "deprecated": false, - "description": "Share target browsers between different front-end tools, like Autoprefixer, Stylelint and babel-env-preset", - "devDependencies": { - "cross-spawn": "^5.1.0", - "eslint": "^4.12.1", - "eslint-ci": "^0.1.1", - "eslint-config-logux": "^17.0.0", - "eslint-config-standard": "^10.2.1", - "eslint-plugin-es5": "^1.1.0", - "eslint-plugin-import": "^2.8.0", - "eslint-plugin-jest": "^21.4.1", - "eslint-plugin-node": "^5.2.1", - "eslint-plugin-promise": "^3.6.0", - "eslint-plugin-security": "^1.4.0", - "eslint-plugin-standard": "^3.0.1", - "jest": "^21.2.1", - "lint-staged": "^6.0.0", - "pre-commit": "^1.1.3", - "size-limit": "^0.13.2", - "yaspeller-ci": "^1.0.0" - }, - "eslintConfig": { - "extends": "eslint-config-logux/browser", - "rules": { - "security/detect-unsafe-regex": "off", - "global-require": "off" - }, - "overrides": { - "files": [ - "*.test.js" - ], - "rules": { - "es5/no-arrow-functions": "off" - } - } - }, - "homepage": "https://github.com/ai/browserslist#readme", - "jest": { - "coverageThreshold": { - "global": { - "statements": 100 - } - }, - "modulePathIgnorePatterns": [ - "test/fixtures" - ] - }, - "keywords": [ - "caniuse", - "browsers", - "target" - ], - "license": "MIT", - "lint-staged": { - "*.md": "yaspeller-ci", - "*.js": "eslint" - }, - "name": "browserslist", - "pre-commit": [ - "lint-staged" - ], - "repository": { - "type": "git", - "url": "git+https://github.com/ai/browserslist.git" - }, - "scripts": { - "lint": "eslint-ci *.js test/*.js __mocks__/*.js", - "lint-staged": "lint-staged", - "spellcheck": "yaspeller-ci README.md CHANGELOG.md", - "test": "jest --coverage && yarn lint && yarn spellcheck && size-limit" - }, - "size-limit": [ - { - "path": "index.js", - "limit": "160 KB" - } - ], - "version": "2.10.0" -} diff --git a/publi/node_modules/bufferstreams/.npmignore b/publi/node_modules/bufferstreams/.npmignore deleted file mode 100755 index 64a1134..0000000 --- a/publi/node_modules/bufferstreams/.npmignore +++ /dev/null @@ -1,6 +0,0 @@ -*~ -*.swp -node_modules/ -.git -tests/results -.coveralls.yml diff --git a/publi/node_modules/bufferstreams/.travis.yml b/publi/node_modules/bufferstreams/.travis.yml deleted file mode 100755 index b217838..0000000 --- a/publi/node_modules/bufferstreams/.travis.yml +++ /dev/null @@ -1,9 +0,0 @@ -language: node_js -node_js: - - 0.10 - -before_script: - - npm install --dev - -script: - - npm test diff --git a/publi/node_modules/bufferstreams/LICENCE b/publi/node_modules/bufferstreams/LICENCE deleted file mode 100755 index 454ab9d..0000000 --- a/publi/node_modules/bufferstreams/LICENCE +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License - -Copyright (c) 2013 Nicolas Froidure, - -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/publi/node_modules/bufferstreams/README.md b/publi/node_modules/bufferstreams/README.md deleted file mode 100755 index f6f1c99..0000000 --- a/publi/node_modules/bufferstreams/README.md +++ /dev/null @@ -1,50 +0,0 @@ -# BufferStreams - -[![NPM version](https://badge.fury.io/js/bufferstreams.png)](https://npmjs.org/package/bufferstreams) [![Build Status](https://travis-ci.org/nfroidure/BufferStreams.png?branch=master)](https://travis-ci.org/nfroidure/BufferStreams) [![Dependency Status](https://david-dm.org/nfroidure/bufferstreams.png)](https://david-dm.org/nfroidure/bufferstreams) [![devDependency Status](https://david-dm.org/nfroidure/bufferstreams/dev-status.png)](https://david-dm.org/nfroidure/bufferstreams#info=devDependencies) [![Coverage Status](https://coveralls.io/repos/nfroidure/BufferStreams/badge.png?branch=master)](https://coveralls.io/r/nfroidure/BufferStreams?branch=master) [![Code Climate](https://codeclimate.com/github/nfroidure/BufferStreams.png)](https://codeclimate.com/github/nfroidure/BufferStreams) - -BufferStreams abstracts streams to allow you to deal with their whole content in - a single buffer when it becomes necessary (by example: a legacy library that - do not support streams). - -It is not a good practice, just some glue. Using BufferStreams means: -* there is no library dealing with streams for your needs -* you filled an issue to the wrapped library to support streams - -## Usage -Install the [npm module](https://npmjs.org/package/bufferstreams): -```sh -npm install bufferstreams --save -``` -Then, in your scripts: -```js -var BufferStreams = require('bufferstreams'); - -Fs.createReadStream('input.txt') - .pipe(new BufferStreams(function(err, buf, cb) { - - // err will be filled with an error if the piped in stream emits one. - if(err) { - throw err; - } - - // buf will contain the whole piped in stream contents - buf = Buffer(buf.toString('utf-8').replace('foo', 'bar')); - - // cb is a callback to pass the result back to the piped out stream - // first argument is an error that will be emitted if any - // the second argument is the modified buffer - cb(null, buf); - - })) - .pipe(Fs.createWriteStream('output.txt')); -``` - -Note that you can use BufferStream with the objectMode option. In this case, the - given buffer will be an array containing the streamed objects: -```js -new BufferStreams({objectMode: true}, myCallback); -``` - -## Contributing -Feel free to pull your code if you agree with publishing it under the MIT license. - diff --git a/publi/node_modules/bufferstreams/package.json b/publi/node_modules/bufferstreams/package.json deleted file mode 100644 index cf5cdeb..0000000 --- a/publi/node_modules/bufferstreams/package.json +++ /dev/null @@ -1,106 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "bufferstreams@1.0.1", - "scope": null, - "escapedName": "bufferstreams", - "name": "bufferstreams", - "rawSpec": "1.0.1", - "spec": "1.0.1", - "type": "version" - }, - "/mnt/Data/bach/Documents/ola/OLA#3DOC/sys/node_modules/vinyl-bufferstream" - ] - ], - "_from": "bufferstreams@1.0.1", - "_id": "bufferstreams@1.0.1", - "_inCache": true, - "_location": "/bufferstreams", - "_nodeVersion": "0.12.0", - "_npmUser": { - "name": "nfroidure", - "email": "nfroidure@elitwork.com" - }, - "_npmVersion": "2.5.1", - "_phantomChildren": {}, - "_requested": { - "raw": "bufferstreams@1.0.1", - "scope": null, - "escapedName": "bufferstreams", - "name": "bufferstreams", - "rawSpec": "1.0.1", - "spec": "1.0.1", - "type": "version" - }, - "_requiredBy": [ - "/vinyl-bufferstream" - ], - "_resolved": "https://registry.npmjs.org/bufferstreams/-/bufferstreams-1.0.1.tgz", - "_shasum": "cfb1ad9568d3ba3cfe935ba9abdd952de88aab2a", - "_shrinkwrap": null, - "_spec": "bufferstreams@1.0.1", - "_where": "/mnt/Data/bach/Documents/ola/OLA#3DOC/sys/node_modules/vinyl-bufferstream", - "author": { - "name": "Nicolas Froidure", - "url": "http://www.insertafter.com/blog.html" - }, - "bugs": { - "url": "https://github.com/nfroidure/BufferStreams/issues" - }, - "dependencies": { - "readable-stream": "^1.0.33" - }, - "description": "Abstract streams to deal with the whole buffered contents.", - "devDependencies": { - "coveralls": "~2.11.2", - "istanbul": "~0.3.5", - "mocha": "2.x.x", - "mocha-lcov-reporter": "0.0.1", - "streamtest": "^1.1.0" - }, - "directories": {}, - "dist": { - "shasum": "cfb1ad9568d3ba3cfe935ba9abdd952de88aab2a", - "tarball": "https://registry.npmjs.org/bufferstreams/-/bufferstreams-1.0.1.tgz" - }, - "engines": { - "node": ">= 0.10.0" - }, - "gitHead": "7d4c975accd17ea382845d93e11761ad8c364534", - "homepage": "https://github.com/nfroidure/BufferStreams", - "keywords": [ - "buffer", - "streaming", - "stream", - "async", - "abstract" - ], - "licenses": [ - { - "type": "MIT", - "url": "https://github.com/nfroidure/BufferStreams/blob/master/LICENSE" - } - ], - "main": "src/index.js", - "maintainers": [ - { - "name": "nfroidure", - "email": "nfroidure@elitwork.com" - } - ], - "name": "bufferstreams", - "optionalDependencies": {}, - "readme": "ERROR: No README data found!", - "repository": { - "type": "git", - "url": "git://github.com/nfroidure/BufferStreams.git" - }, - "scripts": { - "cover": "./node_modules/istanbul/lib/cli.js cover --report html ./node_modules/mocha/bin/_mocha -- tests/*.mocha.js -R spec -t 5000", - "coveralls": "./node_modules/istanbul/lib/cli.js cover ./node_modules/mocha/bin/_mocha --report lcovonly -- tests/*.mocha.js -R spec -t 5000 && cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js && rm -rf ./coverage", - "test": "./node_modules/mocha/bin/mocha tests/*.mocha.js", - "trinity": "npm-check-updates -u && npm test && git commit package.json -m \"Dependencies update\" && git push" - }, - "version": "1.0.1" -} diff --git a/publi/node_modules/bufferstreams/src/index.js b/publi/node_modules/bufferstreams/src/index.js deleted file mode 100644 index ee7e620..0000000 --- a/publi/node_modules/bufferstreams/src/index.js +++ /dev/null @@ -1,65 +0,0 @@ -var PassThrough = require('readable-stream').PassThrough; -var util = require('util'); - -// Inherit of PassThrough stream -util.inherits(BufferStream, PassThrough); - -// Constructor -function BufferStream(options, cb) { - // Ensure new were used - if (!(this instanceof BufferStream)) { - return new BufferStream(options, cb); - } - - // Cast args - if(options instanceof Function) { - cb = options; - options = {}; - } - options = options || {}; - if(!(cb instanceof Function)) { - throw new Error('The given callback must be a function.'); - } - this.__objectMode = options.objectMode; - - // Parent constructor - PassThrough.call(this, options); - - // Keep a reference to the callback - this._cb = cb; - - // Internal buffer - this._buf = options.objectMode ? [] : Buffer(''); -} - -BufferStream.prototype._transform = function(chunk, encoding, done) { - - if(this.__objectMode) { - this._buf.push(chunk); - } else { - this._buf = Buffer.concat([this._buf, chunk], this._buf.length + chunk.length); - } - - done(); - -}; - -BufferStream.prototype._flush = function(done) { - var _this = this; - - this._cb(null, this._buf, function(err, buf) { - if(buf && buf.length) { - if(_this.__objectMode) { - buf.forEach(function(chunk) { - _this.push(chunk); - }); - } else { - _this.push(buf); - } - } - done(); - }); - -}; - -module.exports = BufferStream; diff --git a/publi/node_modules/bufferstreams/tests/index.mocha.js b/publi/node_modules/bufferstreams/tests/index.mocha.js deleted file mode 100755 index 59a9a28..0000000 --- a/publi/node_modules/bufferstreams/tests/index.mocha.js +++ /dev/null @@ -1,263 +0,0 @@ -var assert = require('assert') - , StreamTest = require('streamtest') - , BufferStream = require('../src') -; - -// Helpers -function syncBufferPrefixer(headerText) { - return new BufferStream({ - objectMode: headerText instanceof Object - }, function(err, buf, cb) { - assert.equal(err, null); - if(null === buf) { - cb(null, Buffer(headerText)); - } else if(buf instanceof Array) { - buf.unshift(headerText); - cb(null, buf); - } else { - cb(null, Buffer.concat([Buffer(headerText), buf])); - } - }); -} -function asyncBufferPrefixer(headerText) { - return new BufferStream({ - objectMode: headerText instanceof Object - }, function(err, buf, cb) { - assert.equal(err, null); - if(null === buf) { - setTimeout(function() { - cb(null, Buffer(headerText)); - }, 0); - } else if(buf instanceof Array) { - setTimeout(function() { - buff.push(headerText); - cb(null, buf); - }, 0); - } else { - setTimeout(function() { - cb(null, Buffer.concat([Buffer(headerText), buf])); - }, 0); - } - }); -} - -// Tests -describe('bufferstreams', function() { - - it('should fail when callback is not a function', function() { - assert.throws(function() { - new BufferStream(); - }); - }); - - // Iterating through versions - StreamTest.versions.forEach(function(version) { - - describe('for ' + version + ' streams', function() { - - describe('in buffer mode', function() { - - describe('synchonously', function() { - - it('should work with one pipe', function(done) { - StreamTest[version].fromChunks(['te', 'st']) - .pipe(syncBufferPrefixer('plop')) - .pipe(StreamTest[version].toText(function(err, data) { - if(err) { - return done(err); - } - assert.equal(data, 'ploptest'); - done(); - })); - }); - - it('should work when returning a null buffer', function(done) { - - StreamTest[version].fromChunks(['te', 'st']) - .pipe(new BufferStream(function(err, buf, cb){ - cb(null, null); - })) - .pipe(StreamTest[version].toText(function(err, data) { - if(err) { - return done(err); - } - assert.equal(data, ''); - done(); - })); - }); - - it('should work with multiple pipes', function(done) { - StreamTest[version].fromChunks(['te', 'st']) - .pipe(syncBufferPrefixer('plop')) - .pipe(syncBufferPrefixer('plip')) - .pipe(syncBufferPrefixer('plap')) - .pipe(StreamTest[version].toText(function(err, data) { - if(err) { - return done(err); - } - assert.equal(data, 'plapplipploptest'); - done(); - })); - }); - - }); - - describe('asynchonously', function() { - - it('should work with one pipe', function(done) { - StreamTest[version].fromChunks(['te', 'st']) - .pipe(asyncBufferPrefixer('plop')) - .pipe(StreamTest[version].toText(function(err, data) { - if(err) { - return done(err); - } - assert.equal(data, 'ploptest'); - done(); - })); - }); - - it('should work when returning a null buffer', function(done) { - - StreamTest[version].fromChunks(['te', 'st']) - .pipe(BufferStream(function(err, buf, cb){ - cb(null, null); - })) - .pipe(StreamTest[version].toText(function(err, data) { - if(err) { - return done(err); - } - assert.equal(data, ''); - done(); - })); - }); - - it('should work with multiple pipes', function(done) { - StreamTest[version].fromChunks(['te', 'st']) - .pipe(asyncBufferPrefixer('plop')) - .pipe(asyncBufferPrefixer('plip')) - - .pipe(asyncBufferPrefixer('plap')) - .pipe(StreamTest[version].toText(function(err, data) { - if(err) { - return done(err); - } - assert.equal(data, 'plapplipploptest'); - done(); - })); - }); - - }); - - }); - - describe('in object mode', function() { - var object1 = {txt: 'te'}; - var object2 = {txt: 'st'}; - var object3 = {txt: 'e'}; - var object4 = {txt: 'd'}; - var object5 = {txt: 'u'}; - var object6 = {txt: 'ni'}; - var object7 = {txt: 't'}; - - describe('synchonously', function() { - - it('should work with one pipe', function(done) { - StreamTest[version].fromObjects([object1, object2]) - .pipe(syncBufferPrefixer(object4)) - .pipe(StreamTest[version].toObjects(function(err, objs) { - if(err) { - return done(err); - } - assert.deepEqual(objs, [object4, object1, object2]); - done(); - })); - }); - - it('should work when returning a null buffer', function(done) { - - StreamTest[version].fromObjects([object1, object2]) - .pipe(new BufferStream({ - objectMode: true - }, function(err, buf, cb){ - cb(null, null); - })) - .pipe(StreamTest[version].toObjects(function(err, objs) { - if(err) { - return done(err); - } - assert.equal(objs.length, 0); - done(); - })); - }); - - it('should work with multiple pipes', function(done) { - StreamTest[version].fromObjects([object1, object2]) - .pipe(syncBufferPrefixer(object4)) - .pipe(syncBufferPrefixer(object5)) - .pipe(syncBufferPrefixer(object6)) - .pipe(StreamTest[version].toObjects(function(err, objs) { - if(err) { - return done(err); - } - assert.deepEqual(objs, [object6, object5, object4, object1, object2]); - done(); - })); - }); - - }); - - describe('asynchonously', function() { - - it('should work with one pipe', function(done) { - StreamTest[version].fromObjects([object1, object2]) - .pipe(syncBufferPrefixer(object4)) - .pipe(StreamTest[version].toObjects(function(err, objs) { - if(err) { - return done(err); - } - assert.deepEqual(objs, [object4, object1, object2]); - done(); - })); - }); - - it('should work when returning a null buffer', function(done) { - StreamTest[version].fromObjects([object1, object2]) - .pipe(BufferStream({ - objectMode: true - }, function(err, buf, cb){ - cb(null, null); - })) - .pipe(StreamTest[version].toObjects(function(err, objs) { - if(err) { - return done(err); - } - assert.equal(objs.length, 0); - done(); - })); - }); - - it('should work with multiple pipes', function(done) { - StreamTest[version].fromObjects([object1, object2]) - .pipe(syncBufferPrefixer(object4)) - .pipe(syncBufferPrefixer(object5)) - .pipe(syncBufferPrefixer(object6)) - .pipe(StreamTest[version].toObjects(function(err, objs) { - if(err) { - return done(err); - } - assert.deepEqual(objs, [object6, object5, object4, object1, object2]); - done(); - })); - }); - - }); - - }); - - }); - - }); - -}); - - diff --git a/publi/node_modules/builtin-modules/builtin-modules.json b/publi/node_modules/builtin-modules/builtin-modules.json deleted file mode 100644 index 72670f6..0000000 --- a/publi/node_modules/builtin-modules/builtin-modules.json +++ /dev/null @@ -1,35 +0,0 @@ -[ - "assert", - "buffer", - "child_process", - "cluster", - "console", - "constants", - "crypto", - "dgram", - "dns", - "domain", - "events", - "fs", - "http", - "https", - "module", - "net", - "os", - "path", - "process", - "punycode", - "querystring", - "readline", - "repl", - "stream", - "string_decoder", - "timers", - "tls", - "tty", - "url", - "util", - "v8", - "vm", - "zlib" -] diff --git a/publi/node_modules/builtin-modules/index.js b/publi/node_modules/builtin-modules/index.js deleted file mode 100644 index 9ef35ab..0000000 --- a/publi/node_modules/builtin-modules/index.js +++ /dev/null @@ -1,10 +0,0 @@ -'use strict'; - -var blacklist = [ - 'freelist', - 'sys' -]; - -module.exports = Object.keys(process.binding('natives')).filter(function (el) { - return !/^_|^internal|\//.test(el) && blacklist.indexOf(el) === -1; -}).sort(); diff --git a/publi/node_modules/builtin-modules/license b/publi/node_modules/builtin-modules/license deleted file mode 100644 index 654d0bf..0000000 --- a/publi/node_modules/builtin-modules/license +++ /dev/null @@ -1,21 +0,0 @@ -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. diff --git a/publi/node_modules/builtin-modules/package.json b/publi/node_modules/builtin-modules/package.json deleted file mode 100644 index 3dd6166..0000000 --- a/publi/node_modules/builtin-modules/package.json +++ /dev/null @@ -1,104 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "builtin-modules@^1.0.0", - "scope": null, - "escapedName": "builtin-modules", - "name": "builtin-modules", - "rawSpec": "^1.0.0", - "spec": ">=1.0.0 <2.0.0", - "type": "range" - }, - "/mnt/Data/bach/Documents/ola/OLA#3DOC/sys/node_modules/is-builtin-module" - ] - ], - "_from": "builtin-modules@>=1.0.0 <2.0.0", - "_id": "builtin-modules@1.1.1", - "_inCache": true, - "_location": "/builtin-modules", - "_nodeVersion": "5.3.0", - "_npmUser": { - "name": "sindresorhus", - "email": "sindresorhus@gmail.com" - }, - "_npmVersion": "3.3.12", - "_phantomChildren": {}, - "_requested": { - "raw": "builtin-modules@^1.0.0", - "scope": null, - "escapedName": "builtin-modules", - "name": "builtin-modules", - "rawSpec": "^1.0.0", - "spec": ">=1.0.0 <2.0.0", - "type": "range" - }, - "_requiredBy": [ - "/is-builtin-module" - ], - "_resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", - "_shasum": "270f076c5a72c02f5b65a47df94c5fe3a278892f", - "_shrinkwrap": null, - "_spec": "builtin-modules@^1.0.0", - "_where": "/mnt/Data/bach/Documents/ola/OLA#3DOC/sys/node_modules/is-builtin-module", - "author": { - "name": "Sindre Sorhus", - "email": "sindresorhus@gmail.com", - "url": "sindresorhus.com" - }, - "bugs": { - "url": "https://github.com/sindresorhus/builtin-modules/issues" - }, - "dependencies": {}, - "description": "List of the Node.js builtin modules", - "devDependencies": { - "ava": "*", - "xo": "*" - }, - "directories": {}, - "dist": { - "shasum": "270f076c5a72c02f5b65a47df94c5fe3a278892f", - "tarball": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz" - }, - "engines": { - "node": ">=0.10.0" - }, - "files": [ - "index.js", - "static.js", - "builtin-modules.json" - ], - "gitHead": "0ea253452b1d8cb3a70d16464f909dbc0bc370fe", - "homepage": "https://github.com/sindresorhus/builtin-modules#readme", - "keywords": [ - "builtin", - "built-in", - "builtins", - "node", - "modules", - "core", - "bundled", - "list", - "array", - "names" - ], - "license": "MIT", - "maintainers": [ - { - "name": "sindresorhus", - "email": "sindresorhus@gmail.com" - } - ], - "name": "builtin-modules", - "optionalDependencies": {}, - "readme": "ERROR: No README data found!", - "repository": { - "type": "git", - "url": "git+https://github.com/sindresorhus/builtin-modules.git" - }, - "scripts": { - "make": "node make.js", - "test": "xo && ava" - }, - "version": "1.1.1" -} diff --git a/publi/node_modules/builtin-modules/readme.md b/publi/node_modules/builtin-modules/readme.md deleted file mode 100644 index f1894b1..0000000 --- a/publi/node_modules/builtin-modules/readme.md +++ /dev/null @@ -1,41 +0,0 @@ -# builtin-modules [![Build Status](https://travis-ci.org/sindresorhus/builtin-modules.svg?branch=master)](https://travis-ci.org/sindresorhus/builtin-modules) - -> List of the Node.js builtin modules - -The list is just a [JSON file](builtin-modules.json) and can be used wherever. - - -## Install - -``` -$ npm install --save builtin-modules -``` - - -## Usage - -```js -var builtinModules = require('builtin-modules'); - -console.log(builinModules); -//=> ['assert', 'buffer', ...] -``` - - -## API - -Returns an array of builtin modules fetched from the running Node.js version. - -### Static list - -This module also comes bundled with a static array of builtin modules generated from the latest Node.js version. You can get it with `require('builtin-modules/static');` - - -## Related - -- [is-builtin-module](https://github.com/sindresorhus/is-builtin-module) - Check if a string matches the name of a Node.js builtin module - - -## License - -MIT © [Sindre Sorhus](http://sindresorhus.com) diff --git a/publi/node_modules/builtin-modules/static.js b/publi/node_modules/builtin-modules/static.js deleted file mode 100644 index 9508f8f..0000000 --- a/publi/node_modules/builtin-modules/static.js +++ /dev/null @@ -1,2 +0,0 @@ -'use strict'; -module.exports = require('./builtin-modules.json'); diff --git a/publi/node_modules/cache-base/LICENSE b/publi/node_modules/cache-base/LICENSE deleted file mode 100644 index 943e71d..0000000 --- a/publi/node_modules/cache-base/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -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. \ No newline at end of file diff --git a/publi/node_modules/cache-base/README.md b/publi/node_modules/cache-base/README.md deleted file mode 100644 index 62c6ffe..0000000 --- a/publi/node_modules/cache-base/README.md +++ /dev/null @@ -1,291 +0,0 @@ -# cache-base [![NPM version](https://img.shields.io/npm/v/cache-base.svg?style=flat)](https://www.npmjs.com/package/cache-base) [![NPM monthly downloads](https://img.shields.io/npm/dm/cache-base.svg?style=flat)](https://npmjs.org/package/cache-base) [![NPM total downloads](https://img.shields.io/npm/dt/cache-base.svg?style=flat)](https://npmjs.org/package/cache-base) [![Linux Build Status](https://img.shields.io/travis/jonschlinkert/cache-base.svg?style=flat&label=Travis)](https://travis-ci.org/jonschlinkert/cache-base) - -> Basic object cache with `get`, `set`, `del`, and `has` methods for node.js/javascript projects. - -## Install - -Install with [npm](https://www.npmjs.com/): - -```sh -$ npm install --save cache-base -``` - -## Usage - -```js -var Cache = require('cache-base'); - -// instantiate -var app = new Cache(); - -// set values -app.set('a', 'b'); -app.set('c.d', 'e'); - -// get values -app.get('a'); -//=> 'b' -app.get('c'); -//=> {d: 'e'} - -console.log(app.cache); -//=> {a: 'b'} -``` - -**Inherit** - -```js -var util = require('util'); -var Cache = require('cache-base'); - -function MyApp() { - Cache.call(this); -} -util.inherits(MyApp, Cache); - -var app = new MyApp(); -app.set('a', 'b'); -app.get('a'); -//=> 'b' -``` - -**Namespace** - -Define a custom property for storing values. - -```js -var Cache = require('cache-base').namespace('data'); -var app = new Cache(); -app.set('a', 'b'); -console.log(app.data); -//=> {a: 'b'} -``` - -## API - -### [namespace](index.js#L29) - -Create a `Cache` constructor that when instantiated will store values on the given `prop`. - -**Params** - -* `prop` **{String}**: The property name to use for storing values. -* `returns` **{Function}**: Returns a custom `Cache` constructor - -**Example** - -```js -var Cache = require('cache-base').namespace('data'); -var cache = new Cache(); - -cache.set('foo', 'bar'); -//=> {data: {foo: 'bar'}} -``` - -### [Cache](index.js#L43) - -Create a new `Cache`. Internally the `Cache` constructor is created using the `namespace` function, with `cache` defined as the storage object. - -**Params** - -* `cache` **{Object}**: Optionally pass an object to initialize with. - -**Example** - -```js -var app = new Cache(); -``` - -### [.set](index.js#L84) - -Assign `value` to `key`. Also emits `set` with the key and value. - -**Params** - -* `key` **{String}** -* `value` **{any}** -* `returns` **{Object}**: Returns the instance for chaining. - -**Events** - -* `emits`: `set` with `key` and `value` as arguments. - -**Example** - -```js -app.on('set', function(key, val) { - // do something when `set` is emitted -}); - -app.set(key, value); - -// also takes an object or array -app.set({name: 'Halle'}); -app.set([{foo: 'bar'}, {baz: 'quux'}]); -console.log(app); -//=> {name: 'Halle', foo: 'bar', baz: 'quux'} -``` - -### [.union](index.js#L114) - -Union `array` to `key`. Also emits `set` with the key and value. - -**Params** - -* `key` **{String}** -* `value` **{any}** -* `returns` **{Object}**: Returns the instance for chaining. - -**Example** - -```js -app.union('a.b', ['foo']); -app.union('a.b', ['bar']); -console.log(app.get('a')); -//=> {b: ['foo', 'bar']} -``` - -### [.get](index.js#L144) - -Return the value of `key`. Dot notation may be used to get [nested property values](https://github.com/jonschlinkert/get-value). - -**Params** - -* `key` **{String}**: The name of the property to get. Dot-notation may be used. -* `returns` **{any}**: Returns the value of `key` - -**Events** - -* `emits`: `get` with `key` and `value` as arguments. - -**Example** - -```js -app.set('a.b.c', 'd'); -app.get('a.b'); -//=> {c: 'd'} - -app.get(['a', 'b']); -//=> {c: 'd'} -``` - -### [.has](index.js#L171) - -Return true if app has a stored value for `key`, false only if value is `undefined`. - -**Params** - -* `key` **{String}** -* `returns` **{Boolean}** - -**Events** - -* `emits`: `has` with `key` and true or false as arguments. - -**Example** - -```js -app.set('foo', 'bar'); -app.has('foo'); -//=> true -``` - -### [.del](index.js#L199) - -Delete one or more properties from the instance. - -**Params** - -* `key` **{String|Array}**: Property name or array of property names. -* `returns` **{Object}**: Returns the instance for chaining. - -**Events** - -* `emits`: `del` with the `key` as the only argument. - -**Example** - -```js -app.del(); // delete all -// or -app.del('foo'); -// or -app.del(['foo', 'bar']); -``` - -### [.clear](index.js#L218) - -Reset the entire cache to an empty object. - -**Example** - -```js -app.clear(); -``` - -### [.visit](index.js#L235) - -Visit `method` over the properties in the given object, or map -visit over the object-elements in an array. - -**Params** - -* `method` **{String}**: The name of the `base` method to call. -* `val` **{Object|Array}**: The object or array to iterate over. -* `returns` **{Object}**: Returns the instance for chaining. - -## About - -### Related projects - -* [base-methods](https://www.npmjs.com/package/base-methods): base-methods is the foundation for creating modular, unit testable and highly pluggable node.js applications, starting… [more](https://github.com/jonschlinkert/base-methods) | [homepage](https://github.com/jonschlinkert/base-methods "base-methods is the foundation for creating modular, unit testable and highly pluggable node.js applications, starting with a handful of common methods, like `set`, `get`, `del` and `use`.") -* [get-value](https://www.npmjs.com/package/get-value): Use property paths (`a.b.c`) to get a nested value from an object. | [homepage](https://github.com/jonschlinkert/get-value "Use property paths (`a.b.c`) to get a nested value from an object.") -* [has-value](https://www.npmjs.com/package/has-value): Returns true if a value exists, false if empty. Works with deeply nested values using… [more](https://github.com/jonschlinkert/has-value) | [homepage](https://github.com/jonschlinkert/has-value "Returns true if a value exists, false if empty. Works with deeply nested values using object paths.") -* [option-cache](https://www.npmjs.com/package/option-cache): Simple API for managing options in JavaScript applications. | [homepage](https://github.com/jonschlinkert/option-cache "Simple API for managing options in JavaScript applications.") -* [set-value](https://www.npmjs.com/package/set-value): Create nested values and any intermediaries using dot notation (`'a.b.c'`) paths. | [homepage](https://github.com/jonschlinkert/set-value "Create nested values and any intermediaries using dot notation (`'a.b.c'`) paths.") -* [unset-value](https://www.npmjs.com/package/unset-value): Delete nested properties from an object using dot notation. | [homepage](https://github.com/jonschlinkert/unset-value "Delete nested properties from an object using dot notation.") - -### Contributing - -Pull requests and stars are always welcome. For bugs and feature requests, [please create an issue](../../issues/new). - -### Contributors - -| **Commits** | **Contributor** | -| --- | --- | -| 54 | [jonschlinkert](https://github.com/jonschlinkert) | -| 2 | [wtgtybhertgeghgtwtg](https://github.com/wtgtybhertgeghgtwtg) | - -### Building docs - -_(This project's readme.md is generated by [verb](https://github.com/verbose/verb-generate-readme), please don't edit the readme directly. Any changes to the readme must be made in the [.verb.md](.verb.md) readme template.)_ - -To generate the readme, run the following command: - -```sh -$ npm install -g verbose/verb#dev verb-generate-readme && verb -``` - -### Running tests - -Running and reviewing unit tests is a great way to get familiarized with a library and its API. You can install dependencies and run tests with the following command: - -```sh -$ npm install && npm test -``` - -### Author - -**Jon Schlinkert** - -* [github/jonschlinkert](https://github.com/jonschlinkert) -* [twitter/jonschlinkert](https://twitter.com/jonschlinkert) - -### License - -Copyright © 2017, [Jon Schlinkert](https://github.com/jonschlinkert). -Released under the [MIT License](LICENSE). - -*** - -_This file was generated by [verb-generate-readme](https://github.com/verbose/verb-generate-readme), v0.6.0, on July 22, 2017._ \ No newline at end of file diff --git a/publi/node_modules/cache-base/index.js b/publi/node_modules/cache-base/index.js deleted file mode 100644 index 4128024..0000000 --- a/publi/node_modules/cache-base/index.js +++ /dev/null @@ -1,261 +0,0 @@ -'use strict'; - -var isObject = require('isobject'); -var Emitter = require('component-emitter'); -var visit = require('collection-visit'); -var toPath = require('to-object-path'); -var union = require('union-value'); -var del = require('unset-value'); -var get = require('get-value'); -var has = require('has-value'); -var set = require('set-value'); - -/** - * Create a `Cache` constructor that when instantiated will - * store values on the given `prop`. - * - * ```js - * var Cache = require('cache-base').namespace('data'); - * var cache = new Cache(); - * - * cache.set('foo', 'bar'); - * //=> {data: {foo: 'bar'}} - * ``` - * @param {String} `prop` The property name to use for storing values. - * @return {Function} Returns a custom `Cache` constructor - * @api public - */ - -function namespace(prop) { - - /** - * Create a new `Cache`. Internally the `Cache` constructor is created using - * the `namespace` function, with `cache` defined as the storage object. - * - * ```js - * var app = new Cache(); - * ``` - * @param {Object} `cache` Optionally pass an object to initialize with. - * @constructor - * @api public - */ - - function Cache(cache) { - if (prop) { - this[prop] = {}; - } - if (cache) { - this.set(cache); - } - } - - /** - * Inherit Emitter - */ - - Emitter(Cache.prototype); - - /** - * Assign `value` to `key`. Also emits `set` with - * the key and value. - * - * ```js - * app.on('set', function(key, val) { - * // do something when `set` is emitted - * }); - * - * app.set(key, value); - * - * // also takes an object or array - * app.set({name: 'Halle'}); - * app.set([{foo: 'bar'}, {baz: 'quux'}]); - * console.log(app); - * //=> {name: 'Halle', foo: 'bar', baz: 'quux'} - * ``` - * - * @name .set - * @emits `set` with `key` and `value` as arguments. - * @param {String} `key` - * @param {any} `value` - * @return {Object} Returns the instance for chaining. - * @api public - */ - - Cache.prototype.set = function(key, val) { - if (Array.isArray(key) && arguments.length === 2) { - key = toPath(key); - } - if (isObject(key) || Array.isArray(key)) { - this.visit('set', key); - } else { - set(prop ? this[prop] : this, key, val); - this.emit('set', key, val); - } - return this; - }; - - /** - * Union `array` to `key`. Also emits `set` with - * the key and value. - * - * ```js - * app.union('a.b', ['foo']); - * app.union('a.b', ['bar']); - * console.log(app.get('a')); - * //=> {b: ['foo', 'bar']} - * ``` - * @name .union - * @param {String} `key` - * @param {any} `value` - * @return {Object} Returns the instance for chaining. - * @api public - */ - - Cache.prototype.union = function(key, val) { - if (Array.isArray(key) && arguments.length === 2) { - key = toPath(key); - } - var ctx = prop ? this[prop] : this; - union(ctx, key, arrayify(val)); - this.emit('union', val); - return this; - }; - - /** - * Return the value of `key`. Dot notation may be used - * to get [nested property values][get-value]. - * - * ```js - * app.set('a.b.c', 'd'); - * app.get('a.b'); - * //=> {c: 'd'} - * - * app.get(['a', 'b']); - * //=> {c: 'd'} - * ``` - * - * @name .get - * @emits `get` with `key` and `value` as arguments. - * @param {String} `key` The name of the property to get. Dot-notation may be used. - * @return {any} Returns the value of `key` - * @api public - */ - - Cache.prototype.get = function(key) { - key = toPath(arguments); - - var ctx = prop ? this[prop] : this; - var val = get(ctx, key); - - this.emit('get', key, val); - return val; - }; - - /** - * Return true if app has a stored value for `key`, - * false only if value is `undefined`. - * - * ```js - * app.set('foo', 'bar'); - * app.has('foo'); - * //=> true - * ``` - * - * @name .has - * @emits `has` with `key` and true or false as arguments. - * @param {String} `key` - * @return {Boolean} - * @api public - */ - - Cache.prototype.has = function(key) { - key = toPath(arguments); - - var ctx = prop ? this[prop] : this; - var val = get(ctx, key); - - var has = typeof val !== 'undefined'; - this.emit('has', key, has); - return has; - }; - - /** - * Delete one or more properties from the instance. - * - * ```js - * app.del(); // delete all - * // or - * app.del('foo'); - * // or - * app.del(['foo', 'bar']); - * ``` - * @name .del - * @emits `del` with the `key` as the only argument. - * @param {String|Array} `key` Property name or array of property names. - * @return {Object} Returns the instance for chaining. - * @api public - */ - - Cache.prototype.del = function(key) { - if (Array.isArray(key)) { - this.visit('del', key); - } else { - del(prop ? this[prop] : this, key); - this.emit('del', key); - } - return this; - }; - - /** - * Reset the entire cache to an empty object. - * - * ```js - * app.clear(); - * ``` - * @api public - */ - - Cache.prototype.clear = function() { - if (prop) { - this[prop] = {}; - } - }; - - /** - * Visit `method` over the properties in the given object, or map - * visit over the object-elements in an array. - * - * @name .visit - * @param {String} `method` The name of the `base` method to call. - * @param {Object|Array} `val` The object or array to iterate over. - * @return {Object} Returns the instance for chaining. - * @api public - */ - - Cache.prototype.visit = function(method, val) { - visit(this, method, val); - return this; - }; - - return Cache; -} - -/** - * Cast val to an array - */ - -function arrayify(val) { - return val ? (Array.isArray(val) ? val : [val]) : []; -} - -/** - * Expose `Cache` - */ - -module.exports = namespace(); - -/** - * Expose `Cache.namespace` - */ - -module.exports.namespace = namespace; diff --git a/publi/node_modules/cache-base/package.json b/publi/node_modules/cache-base/package.json deleted file mode 100644 index 9bfb4d3..0000000 --- a/publi/node_modules/cache-base/package.json +++ /dev/null @@ -1,118 +0,0 @@ -{ - "_from": "cache-base@^1.0.1", - "_id": "cache-base@1.0.1", - "_inBundle": false, - "_integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", - "_location": "/cache-base", - "_phantomChildren": {}, - "_requested": { - "type": "range", - "registry": true, - "raw": "cache-base@^1.0.1", - "name": "cache-base", - "escapedName": "cache-base", - "rawSpec": "^1.0.1", - "saveSpec": null, - "fetchSpec": "^1.0.1" - }, - "_requiredBy": [ - "/base" - ], - "_resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", - "_shasum": "0a7f46416831c8b662ee36fe4e7c59d76f666ab2", - "_spec": "cache-base@^1.0.1", - "_where": "/mnt/Data/bach/Documents/ola/OLA#5/ola5doc/publi/node_modules/base", - "author": { - "name": "Jon Schlinkert", - "url": "https://github.com/jonschlinkert" - }, - "bugs": { - "url": "https://github.com/jonschlinkert/cache-base/issues" - }, - "bundleDependencies": false, - "contributors": [ - { - "name": "Jon Schlinkert", - "url": "http://twitter.com/jonschlinkert" - }, - { - "url": "https://github.com/wtgtybhertgeghgtwtg" - } - ], - "dependencies": { - "collection-visit": "^1.0.0", - "component-emitter": "^1.2.1", - "get-value": "^2.0.6", - "has-value": "^1.0.0", - "isobject": "^3.0.1", - "set-value": "^2.0.0", - "to-object-path": "^0.3.0", - "union-value": "^1.0.0", - "unset-value": "^1.0.0" - }, - "deprecated": false, - "description": "Basic object cache with `get`, `set`, `del`, and `has` methods for node.js/javascript projects.", - "devDependencies": { - "gulp-format-md": "^1.0.0", - "mocha": "^3.4.2" - }, - "engines": { - "node": ">=0.10.0" - }, - "files": [ - "index.js" - ], - "homepage": "https://github.com/jonschlinkert/cache-base", - "keywords": [ - "base", - "cache", - "config", - "data", - "get", - "has", - "hash", - "hasown", - "object", - "set", - "store" - ], - "license": "MIT", - "main": "index.js", - "name": "cache-base", - "repository": { - "type": "git", - "url": "git+https://github.com/jonschlinkert/cache-base.git" - }, - "scripts": { - "test": "mocha" - }, - "verb": { - "run": true, - "toc": false, - "layout": "default", - "tasks": [ - "readme" - ], - "plugins": [ - "gulp-format-md" - ], - "related": { - "highligh": "base", - "list": [ - "base-methods", - "get-value", - "has-value", - "option-cache", - "set-value", - "unset-value" - ] - }, - "reflinks": [ - "verb" - ], - "lint": { - "reflinks": true - } - }, - "version": "1.0.1" -} diff --git a/publi/node_modules/camelcase-keys/index.js b/publi/node_modules/camelcase-keys/index.js deleted file mode 100644 index 0eca08c..0000000 --- a/publi/node_modules/camelcase-keys/index.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; -var mapObj = require('map-obj'); -var camelCase = require('camelcase'); - -module.exports = function (input, options) { - options = options || {}; - var exclude = options.exclude || []; - return mapObj(input, function (key, val) { - key = exclude.indexOf(key) === -1 ? camelCase(key) : key; - return [key, val]; - }); -}; diff --git a/publi/node_modules/camelcase-keys/license b/publi/node_modules/camelcase-keys/license deleted file mode 100644 index 654d0bf..0000000 --- a/publi/node_modules/camelcase-keys/license +++ /dev/null @@ -1,21 +0,0 @@ -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. diff --git a/publi/node_modules/camelcase-keys/package.json b/publi/node_modules/camelcase-keys/package.json deleted file mode 100644 index c9d13c8..0000000 --- a/publi/node_modules/camelcase-keys/package.json +++ /dev/null @@ -1,119 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "camelcase-keys@^2.0.0", - "scope": null, - "escapedName": "camelcase-keys", - "name": "camelcase-keys", - "rawSpec": "^2.0.0", - "spec": ">=2.0.0 <3.0.0", - "type": "range" - }, - "/mnt/Data/bach/Documents/ola/OLA#3DOC/sys/node_modules/meow" - ] - ], - "_from": "camelcase-keys@>=2.0.0 <3.0.0", - "_id": "camelcase-keys@2.1.0", - "_inCache": true, - "_location": "/camelcase-keys", - "_nodeVersion": "4.3.0", - "_npmOperationalInternal": { - "host": "packages-13-west.internal.npmjs.com", - "tmp": "tmp/camelcase-keys-2.1.0.tgz_1458051723517_0.14490422373637557" - }, - "_npmUser": { - "name": "sindresorhus", - "email": "sindresorhus@gmail.com" - }, - "_npmVersion": "2.14.12", - "_phantomChildren": {}, - "_requested": { - "raw": "camelcase-keys@^2.0.0", - "scope": null, - "escapedName": "camelcase-keys", - "name": "camelcase-keys", - "rawSpec": "^2.0.0", - "spec": ">=2.0.0 <3.0.0", - "type": "range" - }, - "_requiredBy": [ - "/meow" - ], - "_resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", - "_shasum": "308beeaffdf28119051efa1d932213c91b8f92e7", - "_shrinkwrap": null, - "_spec": "camelcase-keys@^2.0.0", - "_where": "/mnt/Data/bach/Documents/ola/OLA#3DOC/sys/node_modules/meow", - "author": { - "name": "Sindre Sorhus", - "email": "sindresorhus@gmail.com", - "url": "http://sindresorhus.com" - }, - "bugs": { - "url": "https://github.com/sindresorhus/camelcase-keys/issues" - }, - "dependencies": { - "camelcase": "^2.0.0", - "map-obj": "^1.0.0" - }, - "description": "Convert object keys to camelCase", - "devDependencies": { - "ava": "*", - "xo": "*" - }, - "directories": {}, - "dist": { - "shasum": "308beeaffdf28119051efa1d932213c91b8f92e7", - "tarball": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz" - }, - "engines": { - "node": ">=0.10.0" - }, - "files": [ - "index.js" - ], - "gitHead": "d92dfb3b5eb2985d62839cdd44672f01139d1822", - "homepage": "https://github.com/sindresorhus/camelcase-keys", - "keywords": [ - "map", - "obj", - "object", - "key", - "keys", - "value", - "values", - "val", - "iterate", - "camelcase", - "camel-case", - "camel", - "case", - "dash", - "hyphen", - "dot", - "underscore", - "separator", - "string", - "text", - "convert" - ], - "license": "MIT", - "maintainers": [ - { - "name": "sindresorhus", - "email": "sindresorhus@gmail.com" - } - ], - "name": "camelcase-keys", - "optionalDependencies": {}, - "readme": "ERROR: No README data found!", - "repository": { - "type": "git", - "url": "git+https://github.com/sindresorhus/camelcase-keys.git" - }, - "scripts": { - "test": "xo && ava" - }, - "version": "2.1.0" -} diff --git a/publi/node_modules/camelcase-keys/readme.md b/publi/node_modules/camelcase-keys/readme.md deleted file mode 100644 index ca37328..0000000 --- a/publi/node_modules/camelcase-keys/readme.md +++ /dev/null @@ -1,54 +0,0 @@ -# camelcase-keys [![Build Status](https://travis-ci.org/sindresorhus/camelcase-keys.svg?branch=master)](https://travis-ci.org/sindresorhus/camelcase-keys) - -> Convert object keys to camelCase using [`camelcase`](https://github.com/sindresorhus/camelcase) - - -## Install - -``` -$ npm install --save camelcase-keys -``` - - -## Usage - -```js -const camelcaseKeys = require('camelcase-keys'); - -camelcaseKeys({'foo-bar': true}); -//=> {fooBar: true} - - -const argv = require('minimist')(process.argv.slice(2)); -//=> {_: [], 'foo-bar': true} - -camelcaseKeys(argv); -//=> {_: [], fooBar: true} -``` - - -## API - -### camelcaseKeys(input, [options]) - -#### input - -Type: `object` - -Object to camelCase. - -#### options - -Type: `object` - -##### exclude - -Type: `array` -Default: `[]` - -Exclude keys from being camelCased. - - -## License - -MIT © [Sindre Sorhus](http://sindresorhus.com) diff --git a/publi/node_modules/camelcase/index.js b/publi/node_modules/camelcase/index.js deleted file mode 100644 index 929facb..0000000 --- a/publi/node_modules/camelcase/index.js +++ /dev/null @@ -1,56 +0,0 @@ -'use strict'; - -function preserveCamelCase(str) { - var isLastCharLower = false; - - for (var i = 0; i < str.length; i++) { - var c = str.charAt(i); - - if (isLastCharLower && (/[a-zA-Z]/).test(c) && c.toUpperCase() === c) { - str = str.substr(0, i) + '-' + str.substr(i); - isLastCharLower = false; - i++; - } else { - isLastCharLower = (c.toLowerCase() === c); - } - } - - return str; -} - -module.exports = function () { - var str = [].map.call(arguments, function (str) { - return str.trim(); - }).filter(function (str) { - return str.length; - }).join('-'); - - if (!str.length) { - return ''; - } - - if (str.length === 1) { - return str; - } - - if (!(/[_.\- ]+/).test(str)) { - if (str === str.toUpperCase()) { - return str.toLowerCase(); - } - - if (str[0] !== str[0].toLowerCase()) { - return str[0].toLowerCase() + str.slice(1); - } - - return str; - } - - str = preserveCamelCase(str); - - return str - .replace(/^[_.\- ]+/, '') - .toLowerCase() - .replace(/[_.\- ]+(\w|$)/g, function (m, p1) { - return p1.toUpperCase(); - }); -}; diff --git a/publi/node_modules/camelcase/license b/publi/node_modules/camelcase/license deleted file mode 100644 index 654d0bf..0000000 --- a/publi/node_modules/camelcase/license +++ /dev/null @@ -1,21 +0,0 @@ -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. diff --git a/publi/node_modules/camelcase/package.json b/publi/node_modules/camelcase/package.json deleted file mode 100644 index dcb5e82..0000000 --- a/publi/node_modules/camelcase/package.json +++ /dev/null @@ -1,107 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "camelcase@^2.0.0", - "scope": null, - "escapedName": "camelcase", - "name": "camelcase", - "rawSpec": "^2.0.0", - "spec": ">=2.0.0 <3.0.0", - "type": "range" - }, - "/mnt/Data/bach/Documents/ola/OLA#3DOC/sys/node_modules/camelcase-keys" - ] - ], - "_from": "camelcase@>=2.0.0 <3.0.0", - "_id": "camelcase@2.1.1", - "_inCache": true, - "_location": "/camelcase", - "_nodeVersion": "4.3.0", - "_npmOperationalInternal": { - "host": "packages-12-west.internal.npmjs.com", - "tmp": "tmp/camelcase-2.1.1.tgz_1457803836074_0.4515206723008305" - }, - "_npmUser": { - "name": "sindresorhus", - "email": "sindresorhus@gmail.com" - }, - "_npmVersion": "2.14.12", - "_phantomChildren": {}, - "_requested": { - "raw": "camelcase@^2.0.0", - "scope": null, - "escapedName": "camelcase", - "name": "camelcase", - "rawSpec": "^2.0.0", - "spec": ">=2.0.0 <3.0.0", - "type": "range" - }, - "_requiredBy": [ - "/camelcase-keys" - ], - "_resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", - "_shasum": "7c1d16d679a1bbe59ca02cacecfb011e201f5a1f", - "_shrinkwrap": null, - "_spec": "camelcase@^2.0.0", - "_where": "/mnt/Data/bach/Documents/ola/OLA#3DOC/sys/node_modules/camelcase-keys", - "author": { - "name": "Sindre Sorhus", - "email": "sindresorhus@gmail.com", - "url": "http://sindresorhus.com" - }, - "bugs": { - "url": "https://github.com/sindresorhus/camelcase/issues" - }, - "dependencies": {}, - "description": "Convert a dash/dot/underscore/space separated string to camelCase: foo-bar → fooBar", - "devDependencies": { - "ava": "*", - "xo": "*" - }, - "directories": {}, - "dist": { - "shasum": "7c1d16d679a1bbe59ca02cacecfb011e201f5a1f", - "tarball": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz" - }, - "engines": { - "node": ">=0.10.0" - }, - "files": [ - "index.js" - ], - "gitHead": "35c9c8abce5b9cc9defe534ab25823dc6383180f", - "homepage": "https://github.com/sindresorhus/camelcase", - "keywords": [ - "camelcase", - "camel-case", - "camel", - "case", - "dash", - "hyphen", - "dot", - "underscore", - "separator", - "string", - "text", - "convert" - ], - "license": "MIT", - "maintainers": [ - { - "name": "sindresorhus", - "email": "sindresorhus@gmail.com" - } - ], - "name": "camelcase", - "optionalDependencies": {}, - "readme": "ERROR: No README data found!", - "repository": { - "type": "git", - "url": "git+https://github.com/sindresorhus/camelcase.git" - }, - "scripts": { - "test": "xo && ava" - }, - "version": "2.1.1" -} diff --git a/publi/node_modules/camelcase/readme.md b/publi/node_modules/camelcase/readme.md deleted file mode 100644 index 080b2a1..0000000 --- a/publi/node_modules/camelcase/readme.md +++ /dev/null @@ -1,57 +0,0 @@ -# camelcase [![Build Status](https://travis-ci.org/sindresorhus/camelcase.svg?branch=master)](https://travis-ci.org/sindresorhus/camelcase) - -> Convert a dash/dot/underscore/space separated string to camelCase: `foo-bar` → `fooBar` - - -## Install - -``` -$ npm install --save camelcase -``` - - -## Usage - -```js -const camelCase = require('camelcase'); - -camelCase('foo-bar'); -//=> 'fooBar' - -camelCase('foo_bar'); -//=> 'fooBar' - -camelCase('Foo-Bar'); -//=> 'fooBar' - -camelCase('--foo.bar'); -//=> 'fooBar' - -camelCase('__foo__bar__'); -//=> 'fooBar' - -camelCase('foo bar'); -//=> 'fooBar' - -console.log(process.argv[3]); -//=> '--foo-bar' -camelCase(process.argv[3]); -//=> 'fooBar' - -camelCase('foo', 'bar'); -//=> 'fooBar' - -camelCase('__foo__', '--bar'); -//=> 'fooBar' -``` - - -## Related - -- [decamelize](https://github.com/sindresorhus/decamelize) - The inverse of this module -- [uppercamelcase](https://github.com/SamVerschueren/uppercamelcase) - Like this module, but to PascalCase instead of camelCase - - -## License - -MIT © [Sindre Sorhus](http://sindresorhus.com) diff --git a/publi/node_modules/caniuse-lite/CHANGELOG.md b/publi/node_modules/caniuse-lite/CHANGELOG.md deleted file mode 100644 index 2025968..0000000 --- a/publi/node_modules/caniuse-lite/CHANGELOG.md +++ /dev/null @@ -1,133 +0,0 @@ -# 1.x releases - -The contents of this section have been generated automatically; each version -tracks the `caniuse-db` package at the same version. - -- **1.0.30000783** was released on December 13th, 2017 at 06:01. -- **1.0.30000782** was released on December 10th, 2017 at 07:01. -- **1.0.30000781** was released on December 10th, 2017 at 06:01. -- **1.0.30000780** was released on December 6th, 2017 at 06:01. -- **1.0.30000779** was released on December 6th, 2017 at 05:01. -- **1.0.30000778** was released on December 4th, 2017 at 07:01. -- **1.0.30000777** was released on December 1st, 2017 at 07:00. -- **1.0.30000776** was released on December 1st, 2017 at 05:01. -- **1.0.30000775** was released on November 29th, 2017 at 06:00. -- **1.0.30000774** was released on November 29th, 2017 at 05:01. -- **1.0.30000772** was released on November 26th, 2017 at 07:01. -- **1.0.30000770** was released on November 23rd, 2017 at 06:01. -- **1.0.30000769** was released on November 21st, 2017 at 06:01. -- **1.0.30000766** was released on November 17th, 2017 at 06:01. -- **1.0.30000765** was released on November 16th, 2017 at 05:00. -- **1.0.30000764** was released on November 14th, 2017 at 07:00. -- **1.0.30000762** was released on November 14th, 2017 at 06:00. -- **1.0.30000760** was released on November 8th, 2017 at 04:00. -- **1.0.30000758** was released on November 3rd, 2017 at 06:01. -- **1.0.30000757** was released on November 2nd, 2017 at 06:00. -- **1.0.30000756** was released on October 30th, 2017 at 06:00. -- **1.0.30000755** was released on October 28th, 2017 at 07:00. -- **1.0.30000753** was released on October 28th, 2017 at 06:00. -- **1.0.30000752** was released on October 27th, 2017 at 05:00. -- **1.0.30000751** was released on October 26th, 2017 at 05:00. -- **1.0.30000750** was released on October 25th, 2017 at 05:00. -- **1.0.30000749** was released on October 22nd, 2017 at 23:00. -- **1.0.30000748** was released on October 19th, 2017 at 06:00. -- **1.0.30000747** was released on October 18th, 2017 at 06:00. -- **1.0.30000746** was released on October 11th, 2017 at 05:00. -- **1.0.30000745** was released on October 9th, 2017 at 03:00. -- **1.0.30000744** was released on October 5th, 2017 at 06:01. -- **1.0.30000743** was released on October 4th, 2017 at 06:00. -- **1.0.30000742** was released on October 4th, 2017 at 05:01. -- **1.0.30000741** was released on October 3rd, 2017 at 04:00. -- **1.0.30000740** was released on September 29th, 2017 at 05:00. -- **1.0.30000739** was released on September 28th, 2017 at 05:00. -- **1.0.30000738** was released on September 25th, 2017 at 07:00. -- **1.0.30000737** was released on September 24th, 2017 at 06:00. -- **1.0.30000736** was released on September 24th, 2017 at 05:00. -- **1.0.30000735** was released on September 22nd, 2017 at 05:00. -- **1.0.30000734** was released on September 22nd, 2017 at 01:00. -- **1.0.30000733** was released on September 18th, 2017 at 05:00. -- **1.0.30000732** was released on September 17th, 2017 at 06:00. -- **1.0.30000731** was released on September 16th, 2017 at 06:00. -- **1.0.30000730** was released on September 15th, 2017 at 06:00. -- **1.0.30000727** was released on September 11th, 2017 at 07:00. -- **1.0.30000726** was released on September 6th, 2017 at 04:00. -- **1.0.30000725** was released on September 5th, 2017 at 06:00. -- **1.0.30000724** was released on September 5th, 2017 at 05:00. -- **1.0.30000723** was released on September 4th, 2017 at 20:00. -- **1.0.30000722** was released on September 4th, 2017 at 05:00. -- **1.0.30000721** was released on August 30th, 2017 at 06:00. -- **1.0.30000720** was released on August 30th, 2017 at 05:00. -- **1.0.30000718** was released on August 25th, 2017 at 07:00. -- **1.0.30000717** was released on August 22nd, 2017 at 04:00. -- **1.0.30000716** was released on August 20th, 2017 at 07:00. -- **1.0.30000715** was released on August 11th, 2017 at 06:00. -- **1.0.30000714** was released on August 11th, 2017 at 05:00. -- **1.0.30000713** was released on August 9th, 2017 at 06:00. -- **1.0.30000712** was released on August 7th, 2017 at 04:00. -- **1.0.30000711** was released on August 7th, 2017 at 01:00. -- **1.0.30000710** was released on August 4th, 2017 at 03:00. -- **1.0.30000709** was released on August 1st, 2017 at 05:00. -- **1.0.30000708** was released on July 27th, 2017 at 07:01. -- **1.0.30000706** was released on July 25th, 2017 at 16:06. -- **1.0.30000704** was released on July 20th, 2017 at 07:01. -- **1.0.30000703** was released on July 19th, 2017 at 06:01. -- **1.0.30000702** was released on July 18th, 2017 at 08:01. -- **1.0.30000701** was released on July 14th, 2017 at 06:01. -- **1.0.30000700** was released on July 12th, 2017 at 07:01. -- **1.0.30000699** was released on July 11th, 2017 at 06:02. -- **1.0.30000698** was released on July 10th, 2017 at 06:01. -- **1.0.30000697** was released on July 5th, 2017 at 06:01. -- **1.0.30000696** was released on June 27th, 2017 at 07:01. -- **1.0.30000695** was released on June 27th, 2017 at 05:01. -- **1.0.30000694** was released on June 24th, 2017 at 05:01. -- **1.0.30000693** was released on June 22nd, 2017 at 04:01. -- **1.0.30000692** was released on June 19th, 2017 at 07:01. -- **1.0.30000690** was released on June 18th, 2017 at 07:01. -- **1.0.30000689** was released on June 18th, 2017 at 06:01. -- **1.0.30000688** was released on June 18th, 2017 at 05:01. -- **1.0.30000687** was released on June 18th, 2017 at 04:01. -- **1.0.30000686** was released on June 15th, 2017 at 07:01. -- **1.0.30000684** was released on June 13th, 2017 at 05:01. -- **1.0.30000683** was released on June 10th, 2017 at 05:01. -- **1.0.30000680** was released on June 8th, 2017 at 08:01. -- **1.0.30000679** was released on June 6th, 2017 at 06:01. -- **1.0.30000677** was released on June 5th, 2017 at 00:01. -- **1.0.30000676** was released on May 30th, 2017 at 06:01. -- **1.0.30000674** was released on May 28th, 2017 at 06:01. -- **1.0.30000673** was released on May 27th, 2017 at 06:01. -- **1.0.30000672** was released on May 26th, 2017 at 06:01. -- **1.0.30000671** was released on May 25th, 2017 at 07:01. -- **1.0.30000670** was released on May 15th, 2017 at 07:01. -- **1.0.30000669** was released on May 14th, 2017 at 06:01. -- **1.0.30000668** was released on May 14th, 2017 at 05:01. -- **1.0.30000667** was released on May 12th, 2017 at 07:01. -- **1.0.30000666** was released on May 8th, 2017 at 06:01. -- **1.0.30000665** was released on May 3rd, 2017 at 08:01. -- **1.0.30000664** was released on April 28th, 2017 at 06:01. -- **1.0.30000663** was released on April 28th, 2017 at 05:01. -- **1.0.30000662** was released on April 26th, 2017 at 07:01. -- **1.0.30000661** was released on April 26th, 2017 at 06:01. -- **1.0.30000660** was released on April 24th, 2017 at 17:01. -- **1.0.30000659** was released on April 24th, 2017 at 00:01. -- **1.0.30000657** was released on April 21st, 2017 at 06:01. -- **1.0.30000656** was released on April 20th, 2017 at 12:16. -- **1.0.30000655** was released on April 17th, 2017 at 17:06. - -# 0.3.0 - -- Add the `title` key to each feature. -- Update `caniuse-db` to `1.0.30000653`. -- Test automated publish script. - -# 0.2.0 - -- Rewrite of the module. Now tries to be less clever with version merging, - instead opting for base62 identifiers for versions, and it is now tested - for accuracy against the original data. -- `null` versions are now preserved to be consistent with caniuse-db. -- All data is now stored as JS objects rather than JSON. -- The browser map is now automatically generated. - -# 0.1.0 - -- Initial release. diff --git a/publi/node_modules/caniuse-lite/LICENSE b/publi/node_modules/caniuse-lite/LICENSE deleted file mode 100644 index 06c608d..0000000 --- a/publi/node_modules/caniuse-lite/LICENSE +++ /dev/null @@ -1,395 +0,0 @@ -Attribution 4.0 International - -======================================================================= - -Creative Commons Corporation ("Creative Commons") is not a law firm and -does not provide legal services or legal advice. Distribution of -Creative Commons public licenses does not create a lawyer-client or -other relationship. Creative Commons makes its licenses and related -information available on an "as-is" basis. Creative Commons gives no -warranties regarding its licenses, any material licensed under their -terms and conditions, or any related information. Creative Commons -disclaims all liability for damages resulting from their use to the -fullest extent possible. - -Using Creative Commons Public Licenses - -Creative Commons public licenses provide a standard set of terms and -conditions that creators and other rights holders may use to share -original works of authorship and other material subject to copyright -and certain other rights specified in the public license below. The -following considerations are for informational purposes only, are not -exhaustive, and do not form part of our licenses. - - Considerations for licensors: Our public licenses are - intended for use by those authorized to give the public - permission to use material in ways otherwise restricted by - copyright and certain other rights. Our licenses are - irrevocable. Licensors should read and understand the terms - and conditions of the license they choose before applying it. - Licensors should also secure all rights necessary before - applying our licenses so that the public can reuse the - material as expected. Licensors should clearly mark any - material not subject to the license. This includes other CC- - licensed material, or material used under an exception or - limitation to copyright. More considerations for licensors: - wiki.creativecommons.org/Considerations_for_licensors - - Considerations for the public: By using one of our public - licenses, a licensor grants the public permission to use the - licensed material under specified terms and conditions. If - the licensor's permission is not necessary for any reason--for - example, because of any applicable exception or limitation to - copyright--then that use is not regulated by the license. Our - licenses grant only permissions under copyright and certain - other rights that a licensor has authority to grant. Use of - the licensed material may still be restricted for other - reasons, including because others have copyright or other - rights in the material. A licensor may make special requests, - such as asking that all changes be marked or described. - Although not required by our licenses, you are encouraged to - respect those requests where reasonable. More_considerations - for the public: - wiki.creativecommons.org/Considerations_for_licensees - -======================================================================= - -Creative Commons Attribution 4.0 International Public License - -By exercising the Licensed Rights (defined below), You accept and agree -to be bound by the terms and conditions of this Creative Commons -Attribution 4.0 International Public License ("Public License"). To the -extent this Public License may be interpreted as a contract, You are -granted the Licensed Rights in consideration of Your acceptance of -these terms and conditions, and the Licensor grants You such rights in -consideration of benefits the Licensor receives from making the -Licensed Material available under these terms and conditions. - - -Section 1 -- Definitions. - - a. Adapted Material means material subject to Copyright and Similar - Rights that is derived from or based upon the Licensed Material - and in which the Licensed Material is translated, altered, - arranged, transformed, or otherwise modified in a manner requiring - permission under the Copyright and Similar Rights held by the - Licensor. For purposes of this Public License, where the Licensed - Material is a musical work, performance, or sound recording, - Adapted Material is always produced where the Licensed Material is - synched in timed relation with a moving image. - - b. Adapter's License means the license You apply to Your Copyright - and Similar Rights in Your contributions to Adapted Material in - accordance with the terms and conditions of this Public License. - - c. Copyright and Similar Rights means copyright and/or similar rights - closely related to copyright including, without limitation, - performance, broadcast, sound recording, and Sui Generis Database - Rights, without regard to how the rights are labeled or - categorized. For purposes of this Public License, the rights - specified in Section 2(b)(1)-(2) are not Copyright and Similar - Rights. - - d. Effective Technological Measures means those measures that, in the - absence of proper authority, may not be circumvented under laws - fulfilling obligations under Article 11 of the WIPO Copyright - Treaty adopted on December 20, 1996, and/or similar international - agreements. - - e. Exceptions and Limitations means fair use, fair dealing, and/or - any other exception or limitation to Copyright and Similar Rights - that applies to Your use of the Licensed Material. - - f. Licensed Material means the artistic or literary work, database, - or other material to which the Licensor applied this Public - License. - - g. Licensed Rights means the rights granted to You subject to the - terms and conditions of this Public License, which are limited to - all Copyright and Similar Rights that apply to Your use of the - Licensed Material and that the Licensor has authority to license. - - h. Licensor means the individual(s) or entity(ies) granting rights - under this Public License. - - i. Share means to provide material to the public by any means or - process that requires permission under the Licensed Rights, such - as reproduction, public display, public performance, distribution, - dissemination, communication, or importation, and to make material - available to the public including in ways that members of the - public may access the material from a place and at a time - individually chosen by them. - - j. Sui Generis Database Rights means rights other than copyright - resulting from Directive 96/9/EC of the European Parliament and of - the Council of 11 March 1996 on the legal protection of databases, - as amended and/or succeeded, as well as other essentially - equivalent rights anywhere in the world. - - k. You means the individual or entity exercising the Licensed Rights - under this Public License. Your has a corresponding meaning. - - -Section 2 -- Scope. - - a. License grant. - - 1. Subject to the terms and conditions of this Public License, - the Licensor hereby grants You a worldwide, royalty-free, - non-sublicensable, non-exclusive, irrevocable license to - exercise the Licensed Rights in the Licensed Material to: - - a. reproduce and Share the Licensed Material, in whole or - in part; and - - b. produce, reproduce, and Share Adapted Material. - - 2. Exceptions and Limitations. For the avoidance of doubt, where - Exceptions and Limitations apply to Your use, this Public - License does not apply, and You do not need to comply with - its terms and conditions. - - 3. Term. The term of this Public License is specified in Section - 6(a). - - 4. Media and formats; technical modifications allowed. The - Licensor authorizes You to exercise the Licensed Rights in - all media and formats whether now known or hereafter created, - and to make technical modifications necessary to do so. The - Licensor waives and/or agrees not to assert any right or - authority to forbid You from making technical modifications - necessary to exercise the Licensed Rights, including - technical modifications necessary to circumvent Effective - Technological Measures. For purposes of this Public License, - simply making modifications authorized by this Section 2(a) - (4) never produces Adapted Material. - - 5. Downstream recipients. - - a. Offer from the Licensor -- Licensed Material. Every - recipient of the Licensed Material automatically - receives an offer from the Licensor to exercise the - Licensed Rights under the terms and conditions of this - Public License. - - b. No downstream restrictions. You may not offer or impose - any additional or different terms or conditions on, or - apply any Effective Technological Measures to, the - Licensed Material if doing so restricts exercise of the - Licensed Rights by any recipient of the Licensed - Material. - - 6. No endorsement. Nothing in this Public License constitutes or - may be construed as permission to assert or imply that You - are, or that Your use of the Licensed Material is, connected - with, or sponsored, endorsed, or granted official status by, - the Licensor or others designated to receive attribution as - provided in Section 3(a)(1)(A)(i). - - b. Other rights. - - 1. Moral rights, such as the right of integrity, are not - licensed under this Public License, nor are publicity, - privacy, and/or other similar personality rights; however, to - the extent possible, the Licensor waives and/or agrees not to - assert any such rights held by the Licensor to the limited - extent necessary to allow You to exercise the Licensed - Rights, but not otherwise. - - 2. Patent and trademark rights are not licensed under this - Public License. - - 3. To the extent possible, the Licensor waives any right to - collect royalties from You for the exercise of the Licensed - Rights, whether directly or through a collecting society - under any voluntary or waivable statutory or compulsory - licensing scheme. In all other cases the Licensor expressly - reserves any right to collect such royalties. - - -Section 3 -- License Conditions. - -Your exercise of the Licensed Rights is expressly made subject to the -following conditions. - - a. Attribution. - - 1. If You Share the Licensed Material (including in modified - form), You must: - - a. retain the following if it is supplied by the Licensor - with the Licensed Material: - - i. identification of the creator(s) of the Licensed - Material and any others designated to receive - attribution, in any reasonable manner requested by - the Licensor (including by pseudonym if - designated); - - ii. a copyright notice; - - iii. a notice that refers to this Public License; - - iv. a notice that refers to the disclaimer of - warranties; - - v. a URI or hyperlink to the Licensed Material to the - extent reasonably practicable; - - b. indicate if You modified the Licensed Material and - retain an indication of any previous modifications; and - - c. indicate the Licensed Material is licensed under this - Public License, and include the text of, or the URI or - hyperlink to, this Public License. - - 2. You may satisfy the conditions in Section 3(a)(1) in any - reasonable manner based on the medium, means, and context in - which You Share the Licensed Material. For example, it may be - reasonable to satisfy the conditions by providing a URI or - hyperlink to a resource that includes the required - information. - - 3. If requested by the Licensor, You must remove any of the - information required by Section 3(a)(1)(A) to the extent - reasonably practicable. - - 4. If You Share Adapted Material You produce, the Adapter's - License You apply must not prevent recipients of the Adapted - Material from complying with this Public License. - - -Section 4 -- Sui Generis Database Rights. - -Where the Licensed Rights include Sui Generis Database Rights that -apply to Your use of the Licensed Material: - - a. for the avoidance of doubt, Section 2(a)(1) grants You the right - to extract, reuse, reproduce, and Share all or a substantial - portion of the contents of the database; - - b. if You include all or a substantial portion of the database - contents in a database in which You have Sui Generis Database - Rights, then the database in which You have Sui Generis Database - Rights (but not its individual contents) is Adapted Material; and - - c. You must comply with the conditions in Section 3(a) if You Share - all or a substantial portion of the contents of the database. - -For the avoidance of doubt, this Section 4 supplements and does not -replace Your obligations under this Public License where the Licensed -Rights include other Copyright and Similar Rights. - - -Section 5 -- Disclaimer of Warranties and Limitation of Liability. - - a. UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE - EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS - AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF - ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS, - IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION, - WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR - PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS, - ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT - KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT - ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU. - - b. TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE - TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION, - NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT, - INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES, - COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR - USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN - ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR - DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR - IN PART, THIS LIMITATION MAY NOT APPLY TO YOU. - - c. The disclaimer of warranties and limitation of liability provided - above shall be interpreted in a manner that, to the extent - possible, most closely approximates an absolute disclaimer and - waiver of all liability. - - -Section 6 -- Term and Termination. - - a. This Public License applies for the term of the Copyright and - Similar Rights licensed here. However, if You fail to comply with - this Public License, then Your rights under this Public License - terminate automatically. - - b. Where Your right to use the Licensed Material has terminated under - Section 6(a), it reinstates: - - 1. automatically as of the date the violation is cured, provided - it is cured within 30 days of Your discovery of the - violation; or - - 2. upon express reinstatement by the Licensor. - - For the avoidance of doubt, this Section 6(b) does not affect any - right the Licensor may have to seek remedies for Your violations - of this Public License. - - c. For the avoidance of doubt, the Licensor may also offer the - Licensed Material under separate terms or conditions or stop - distributing the Licensed Material at any time; however, doing so - will not terminate this Public License. - - d. Sections 1, 5, 6, 7, and 8 survive termination of this Public - License. - - -Section 7 -- Other Terms and Conditions. - - a. The Licensor shall not be bound by any additional or different - terms or conditions communicated by You unless expressly agreed. - - b. Any arrangements, understandings, or agreements regarding the - Licensed Material not stated herein are separate from and - independent of the terms and conditions of this Public License. - - -Section 8 -- Interpretation. - - a. For the avoidance of doubt, this Public License does not, and - shall not be interpreted to, reduce, limit, restrict, or impose - conditions on any use of the Licensed Material that could lawfully - be made without permission under this Public License. - - b. To the extent possible, if any provision of this Public License is - deemed unenforceable, it shall be automatically reformed to the - minimum extent necessary to make it enforceable. If the provision - cannot be reformed, it shall be severed from this Public License - without affecting the enforceability of the remaining terms and - conditions. - - c. No term or condition of this Public License will be waived and no - failure to comply consented to unless expressly agreed to by the - Licensor. - - d. Nothing in this Public License constitutes or may be interpreted - as a limitation upon, or waiver of, any privileges and immunities - that apply to the Licensor or You, including from the legal - processes of any jurisdiction or authority. - - -======================================================================= - -Creative Commons is not a party to its public -licenses. Notwithstanding, Creative Commons may elect to apply one of -its public licenses to material it publishes and in those instances -will be considered the “Licensor.” The text of the Creative Commons -public licenses is dedicated to the public domain under the CC0 Public -Domain Dedication. Except for the limited purpose of indicating that -material is shared under a Creative Commons public license or as -otherwise permitted by the Creative Commons policies published at -creativecommons.org/policies, Creative Commons does not authorize the -use of the trademark "Creative Commons" or any other trademark or logo -of Creative Commons without its prior written consent including, -without limitation, in connection with any unauthorized modifications -to any of its public licenses or any other arrangements, -understandings, or agreements concerning use of licensed material. For -the avoidance of doubt, this paragraph does not form part of the -public licenses. - -Creative Commons may be contacted at creativecommons.org. diff --git a/publi/node_modules/caniuse-lite/README.md b/publi/node_modules/caniuse-lite/README.md deleted file mode 100644 index 4c528e9..0000000 --- a/publi/node_modules/caniuse-lite/README.md +++ /dev/null @@ -1,92 +0,0 @@ -# caniuse-lite - -> A smaller version of caniuse-db, with only the essentials! - -## Why? - -The full data behind [Can I use][1] is incredibly useful for any front end -developer, and on the website all of the details from the database are displayed -to the user. However in automated tools, [many of these fields go unused][2]; -it's not a problem for server side consumption but client side, the less -JavaScript that we send to the end user the better. - -caniuse-lite then, is a smaller dataset that keeps essential parts of the data -in a compact format. It does this in multiple ways, such as converting `null` -array entries into empty strings, representing support data as an integer rather -than a string, and using base62 references instead of longer human-readable -keys. - -This packed data is then reassembled (via functions exposed by this module) into -a larger format which is mostly compatible with caniuse-db, and so it can be -used as an almost drop-in replacement for caniuse-db for contexts where size on -disk is important; for example, usage in web browsers. The API differences are -very small and are detailed in the section below. - - -## API - -```js -import * as lite from 'caniuse-lite'; -``` - -### `lite.agents` - -caniuse-db provides a full `data.json` file which contains all of the features -data. Instead of this large file, caniuse-lite provides this data subset -instead, which has the `browser`, `prefix`, `prefix_exceptions`, `usage_global` -and `versions` keys from the original. - -In addition, the subset contains the `release_date` key with release dates (as timestamps) for each version: -```json -{ - "release_date": { - "6": 998870400, - "7": 1161129600, - "8": 1237420800, - "9": 1300060800, - "10": 1346716800, - "11": 1381968000, - "5.5": 962323200 - } -} -``` - -### `lite.feature(js)` - -The `feature` method takes a file from `data/features` and converts it into -something that more closely represents the `caniuse-db` format. Note that only -the `title`, `stats` and `status` keys are kept from the original data. - -### `lite.features` - -The `features` index is provided as a way to query all of the features that -are listed in the `caniuse-db` dataset. Note that you will need to use the -`feature` method on values from this index to get a human-readable format. - -### `lite.region(js)` - -The `region` method takes a file from `data/regions` and converts it into -something that more closely represents the `caniuse-db` format. Note that *only* -the usage data is exposed here (the `data` key in the original files). - - -## Contributors - -Thanks goes to these wonderful people ([emoji key](https://github.com/kentcdodds/all-contributors#emoji-key)): - - -| [
Ben Briggs](http://beneb.info)
[💻](https://github.com/ben-eb/caniuse-lite/commits?author=ben-eb "Code") [📖](https://github.com/ben-eb/caniuse-lite/commits?author=ben-eb "Documentation") [👀](#review-ben-eb "Reviewed Pull Requests") [⚠️](https://github.com/ben-eb/caniuse-lite/commits?author=ben-eb "Tests") | [
Andy Jansson](https://github.com/andyjansson)
[💻](https://github.com/ben-eb/caniuse-lite/commits?author=andyjansson "Code") | [
Andrey Sitnik](http://twitter.com/sitnikcode)
[💻](https://github.com/ben-eb/caniuse-lite/commits?author=ai "Code") | [
Igor Deryabin](http://rodweb.ru)
[💻](https://github.com/ben-eb/caniuse-lite/commits?author=rodweb "Code") | -| :---: | :---: | :---: | :---: | - - -This project follows the [all-contributors](https://github.com/kentcdodds/all-contributors) specification. Contributions of any kind welcome! - -## License - -The data in this repo is available for use under a CC BY 4.0 license -(http://creativecommons.org/licenses/by/4.0/). For attribution just mention -somewhere that the source is caniuse.com. If you have any questions about using -the data for your project please contact me here: http://a.deveria.com/contact - -[1]: http://caniuse.com/ -[2]: https://github.com/Fyrd/caniuse/issues/1827 diff --git a/publi/node_modules/caniuse-lite/data/agents.js b/publi/node_modules/caniuse-lite/data/agents.js deleted file mode 100644 index c685abb..0000000 --- a/publi/node_modules/caniuse-lite/data/agents.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{K:0.0187424,C:0.0140568,G:0.271764,E:0.163996,A:0.163996,B:3.3174,CB:0.009298},B:"ms",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","CB","K","C","G","E","A","B","","",""],E:"IE",F:{CB:962323200,K:998870400,C:1161129600,G:1237420800,E:1300060800,A:1346716800,B:1381968000}},B:{A:{D:0.032039,u:0.059501,Y:0.324967,I:1.33648,M:0.238004,H:0},B:"ms",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","D","u","Y","I","M","H","",""],E:"Edge",F:{D:1438128000,u:1447286400,Y:1470096000,I:1491868800,M:1508198400,H:null}},C:{A:{"0":0.054924,"1":0.009154,"2":0.13731,"3":2.30223,"4":0.077809,"5":0.054924,"6":0,"7":0,VB:0.004227,F:0.004577,J:0.004879,K:0.020136,C:0.005725,G:0.004577,E:0.00533,A:0.004283,B:0.004577,D:0.004577,u:0.004486,Y:0.00453,I:0.004283,M:0.004577,H:0.004349,N:0.009154,O:0.004443,P:0.004283,Q:0.004577,R:0.004494,S:0.004349,T:0.004577,U:0.004577,V:0.004577,W:0.004577,X:0.004577,w:0.013731,Z:0.004577,a:0.013731,b:0.004577,c:0.009154,d:0.009154,e:0.009154,f:0.013731,L:0.009154,h:0.04577,i:0.013731,j:0.013731,k:0.018308,l:0.013731,m:0.041193,n:0.018308,o:0.054924,p:0.013731,q:0.068655,r:0.128156,s:0.032039,t:0.041193,y:0.068655,z:0.485162,v:1.79418,TB:0.004349,SB:0.009154},B:"moz",C:["","","VB","1","TB","SB","F","J","K","C","G","E","A","B","D","u","Y","I","M","H","N","O","P","Q","R","S","T","U","V","W","X","w","Z","a","b","c","d","e","f","L","h","i","j","k","l","m","n","o","p","q","r","s","t","y","z","0","4","2","3","v","5","6","7"],E:"Firefox",F:{"0":1492560000,"1":1213660800,"2":1502150400,"3":1506556800,"4":1497312000,"5":null,"6":null,"7":null,VB:1161648000,TB:1246320000,SB:1264032000,F:1300752000,J:1308614400,K:1313452800,C:1317081600,G:1317081600,E:1320710400,A:1324339200,B:1327968000,D:1331596800,u:1335225600,Y:1338854400,I:1342483200,M:1346112000,H:1349740800,N:1353628800,O:1357603200,P:1361232000,Q:1364860800,R:1368489600,S:1372118400,T:1375747200,U:1379376000,V:1386633600,W:1391472000,X:1395100800,w:1398729600,Z:1402358400,a:1405987200,b:1409616000,c:1413244800,d:1417392000,e:1421107200,f:1424736000,L:1428278400,h:1431475200,i:1435881600,j:1439251200,k:1442880000,l:1446508800,m:1450137600,n:1453852800,o:1457395200,p:1461628800,q:1465257600,r:1470096000,s:1474329600,t:1479168000,y:1485216000,z:1488844800,v:1510617600}},D:{A:{"0":0.036616,"2":0.370737,"3":0.18308,"4":0.077809,"5":0.27462,"6":0.283774,"7":0.471431,F:0.004706,J:0.004879,K:0.004879,C:0.005591,G:0.005591,E:0.005591,A:0.004534,B:0.018308,D:0.004283,u:0.004879,Y:0.004706,I:0.009154,M:0.004349,H:0.004349,N:0.009154,O:0.004283,P:0.004349,Q:0.009154,R:0.022885,S:0.004577,T:0.004349,U:0.009154,V:0.013731,W:0.013731,X:0.009154,w:0.068655,Z:0.022885,a:0.036616,b:0.018308,c:0.018308,d:0.027462,e:0.009154,f:0.036616,L:0.036616,h:0.041193,i:0.018308,j:0.018308,k:0.022885,l:0.013731,m:0.09154,n:0.018308,o:0.041193,p:0.027462,q:0.096117,r:0.04577,s:0.952016,t:0.054924,y:0.068655,z:0.041193,v:0.164772,HB:10.2616,g:14.3901,DB:0.077809,XB:0.054924,EB:0,FB:0},B:"webkit",C:["F","J","K","C","G","E","A","B","D","u","Y","I","M","H","N","O","P","Q","R","S","T","U","V","W","X","w","Z","a","b","c","d","e","f","L","h","i","j","k","l","m","n","o","p","q","r","s","t","y","z","0","4","2","3","v","5","6","7","HB","g","DB","XB","EB","FB"],E:"Chrome",F:{"0":1472601600,"2":1480550400,"3":1485302400,"4":1476230400,"5":1492560000,"6":1496707200,"7":1500940800,F:1264377600,J:1274745600,K:1283385600,C:1287619200,G:1291248000,E:1296777600,A:1299542400,B:1303862400,D:1307404800,u:1312243200,Y:1316131200,I:1316131200,M:1319500800,H:1323734400,N:1328659200,O:1332892800,P:1337040000,Q:1340668800,R:1343692800,S:1348531200,T:1352246400,U:1357862400,V:1361404800,W:1364428800,X:1369094400,w:1374105600,Z:1376956800,a:1384214400,b:1389657600,c:1392940800,d:1397001600,e:1400544000,f:1405468800,L:1409011200,h:1412640000,i:1416268800,j:1421798400,k:1425513600,l:1429401600,m:1432080000,n:1437523200,o:1441152000,p:1444780800,q:1449014400,r:1453248000,s:1456963200,t:1460592000,y:1464134400,z:1469059200,v:1489017600,HB:1504569600,g:1508198400,DB:1512518400,XB:null,EB:null,FB:null}},E:{A:{F:0,J:0.018308,K:0.004349,C:0.032039,G:0.050347,E:0.054924,A:0.18308,B:1.4326,GB:0,AB:0.008692,IB:0.119002,JB:0.018308,KB:0.004283,LB:0.265466,MB:0.558394,NB:0},B:"webkit",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","GB","AB","F","J","IB","K","JB","C","KB","G","E","LB","A","MB","B","NB","",""],E:"Safari",F:{GB:1205798400,AB:1226534400,F:1244419200,J:1275868800,IB:1311120000,K:1343174400,JB:1382400000,C:1382400000,KB:1410998400,G:1413417600,E:1443657600,LB:1458518400,A:1474329600,MB:1490572800,B:1505779200,NB:null}},F:{A:{"8":0.004879,"9":0.006229,E:0.0082,B:0.016581,D:0.008698,I:0.00685,M:0.00685,H:0.00685,N:0.005014,O:0.006015,P:0.004879,Q:0.006597,R:0.006597,S:0.013434,T:0.006702,U:0.006015,V:0.005595,W:0.004706,X:0.008698,w:0.004879,Z:0.004879,a:0.004577,b:0.005152,c:0.005014,d:0.009758,e:0.004879,f:0.036616,L:0.004283,h:0.004367,i:0.004534,j:0.004367,k:0.004227,l:0.004577,m:0.009154,n:0.004227,o:0.009154,p:0.009154,q:0.013731,r:0.494316,s:0.288351,t:0.004577,OB:0.00685,PB:0,QB:0.008392,RB:0.004706,UB:0.004349,x:0.050347},B:"webkit",C:["","","","","","","","","","","","","","","","E","OB","PB","QB","RB","B","9","8","UB","D","x","I","M","H","N","O","P","Q","R","S","T","U","V","W","X","w","Z","a","b","c","d","e","f","L","h","i","j","k","l","m","n","o","p","q","r","s","t",""],E:"Opera",F:{"8":1309219200,"9":1302566400,E:1150761600,OB:1223424000,PB:1251763200,QB:1267488000,RB:1277942400,B:1292457600,UB:1323129600,D:1323129600,x:1352073600,I:1372723200,M:1377561600,H:1375920000,N:1386288000,O:1390867200,P:1393891200,Q:1399334400,R:1401753600,S:1405987200,T:1409616000,U:1413331200,V:1417132800,W:1422316800,X:1425945600,w:1430179200,Z:1433808000,a:1438646400,b:1442448000,c:1445904000,d:1449100800,e:1454371200,f:1457308800,L:1462320000,h:1465344000,i:1470096000,j:1474329600,k:1477267200,l:1481587200,m:1486425600,n:1490054400,o:1494374400,p:1498003200,q:1502236800,r:1506470400,s:null,t:null},D:{"8":"o","9":"o",E:"o",B:"o",D:"o",OB:"o",PB:"o",QB:"o",RB:"o",UB:"o",x:"o"}},G:{A:{G:0.0162839,AB:0.00101775,WB:0.00101775,BB:0.138413,YB:0.0234082,ZB:0.0152662,aB:0.0651357,bB:0.111952,cB:0.068189,dB:0.470199,eB:0.872208,fB:1.81871,gB:6.57362},B:"webkit",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","AB","WB","BB","YB","ZB","aB","G","bB","cB","dB","eB","fB","gB","","",""],E:"iOS Safari",F:{AB:1270252800,WB:1283904000,BB:1299628800,YB:1331078400,ZB:1359331200,aB:1394409600,G:1410912000,bB:1413763200,cB:1442361600,dB:1458518400,eB:1473724800,fB:1490572800,gB:1505779200}},H:{A:{hB:2.84484},B:"o",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","hB","","",""],E:"Opera Mini",F:{hB:1426464000}},I:{A:{"1":0,F:0,g:0,iB:0,jB:0,kB:0,lB:0.0854191,BB:0.240488,mB:0.683353,nB:0.395556},B:"webkit",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","iB","jB","kB","1","F","lB","BB","mB","nB","g","","",""],E:"Android Browser",F:{"1":1298332800,iB:1256515200,jB:1274313600,kB:1291593600,F:1318896000,lB:1341792000,BB:1374624000,mB:1386547200,nB:1401667200,g:1485907200}},J:{A:{C:0.0184416,A:0.0737664},B:"webkit",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","C","A","","",""],E:"Blackberry Browser",F:{C:1325376000,A:1359504000}},K:{A:{"8":0,"9":0,A:0,B:0,D:0,L:0.0111391,x:0},B:"o",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","A","B","9","8","D","x","L","","",""],E:"Opera Mobile",F:{"8":1318291200,"9":1314835200,A:1287100800,B:1300752000,D:1330300800,x:1349740800,L:1474588800},D:{L:"webkit"}},L:{A:{g:27.4048},B:"webkit",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","g","","",""],E:"Chrome for Android",F:{g:1508803200}},M:{A:{v:0.368832},B:"moz",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","v","","",""],E:"Firefox for Android",F:{v:1510617600}},N:{A:{A:0.044296,B:0.22148},B:"ms",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","A","B","","",""],E:"IE Mobile",F:{A:1340150400,B:1353456000}},O:{A:{oB:8.23906},B:"webkit",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","oB","","",""],E:"UC Browser for Android",F:{oB:1471392000},D:{oB:"webkit"}},P:{A:{F:1.18589,J:0.724131,pB:1.31183},B:"webkit",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","F","J","pB","","",""],E:"Samsung Internet",F:{F:1461024000,J:1481846400,pB:1509408000}},Q:{A:{qB:0},B:"webkit",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","qB","","",""],E:"QQ Browser",F:{qB:1483228800}},R:{A:{rB:0},B:"webkit",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","rB","","",""],E:"Baidu Browser",F:{rB:1491004800}}}; diff --git a/publi/node_modules/caniuse-lite/data/browserVersions.js b/publi/node_modules/caniuse-lite/data/browserVersions.js deleted file mode 100644 index d9ba911..0000000 --- a/publi/node_modules/caniuse-lite/data/browserVersions.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={"0":"53","1":"3","2":"55","3":"56","4":"54","5":"58","6":"59","7":"60","8":"11.5","9":"11.1",A:"10",B:"11",C:"7",D:"12",E:"9",F:"4",G:"8",H:"17",I:"15",J:"5",K:"6",L:"37",M:"16",N:"18",O:"19",P:"20",Q:"21",R:"22",S:"23",T:"24",U:"25",V:"26",W:"27",X:"28",Y:"14",Z:"30",a:"31",b:"32",c:"33",d:"34",e:"35",f:"36",g:"62",h:"38",i:"39",j:"40",k:"41",l:"42",m:"43",n:"44",o:"45",p:"46",q:"47",r:"48",s:"49",t:"50",u:"13",v:"57",w:"29",x:"12.1",y:"51",z:"52",AB:"3.2",BB:"4.2-4.3",CB:"5.5",DB:"63",EB:"65",FB:"66",GB:"3.1",HB:"61",IB:"5.1",JB:"6.1",KB:"7.1",LB:"9.1",MB:"10.1",NB:"TP",OB:"9.5-9.6",PB:"10.0-10.1",QB:"10.5",RB:"10.6",SB:"3.6",TB:"3.5",UB:"11.6",VB:"2",WB:"4.0-4.1",XB:"64",YB:"5.0-5.1",ZB:"6.0-6.1",aB:"7.0-7.1",bB:"8.1-8.4",cB:"9.0-9.2",dB:"9.3",eB:"10.0-10.2",fB:"10.3",gB:"11.0-11.2",hB:"all",iB:"2.1",jB:"2.2",kB:"2.3",lB:"4.1",mB:"4.4",nB:"4.4.3-4.4.4",oB:"11.4",pB:"6.2",qB:"1.2",rB:"7.12"}; diff --git a/publi/node_modules/caniuse-lite/data/browsers.js b/publi/node_modules/caniuse-lite/data/browsers.js deleted file mode 100644 index cd9145c..0000000 --- a/publi/node_modules/caniuse-lite/data/browsers.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:"ie",B:"edge",C:"firefox",D:"chrome",E:"safari",F:"opera",G:"ios_saf",H:"op_mini",I:"android",J:"bb",K:"op_mob",L:"and_chr",M:"and_ff",N:"ie_mob",O:"and_uc",P:"samsung",Q:"and_qq",R:"baidu"}; diff --git a/publi/node_modules/caniuse-lite/data/features.js b/publi/node_modules/caniuse-lite/data/features.js deleted file mode 100644 index 739bf44..0000000 --- a/publi/node_modules/caniuse-lite/data/features.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={"aac":require("./features/aac"),"ac3-ec3":require("./features/ac3-ec3"),"addeventlistener":require("./features/addeventlistener"),"alternate-stylesheet":require("./features/alternate-stylesheet"),"ambient-light":require("./features/ambient-light"),"apng":require("./features/apng"),"arrow-functions":require("./features/arrow-functions"),"asmjs":require("./features/asmjs"),"async-functions":require("./features/async-functions"),"atob-btoa":require("./features/atob-btoa"),"audio-api":require("./features/audio-api"),"audio":require("./features/audio"),"audiotracks":require("./features/audiotracks"),"autofocus":require("./features/autofocus"),"aux-click":require("./features/aux-click"),"background-attachment":require("./features/background-attachment"),"background-img-opts":require("./features/background-img-opts"),"background-position-x-y":require("./features/background-position-x-y"),"background-repeat-round-space":require("./features/background-repeat-round-space"),"battery-status":require("./features/battery-status"),"beacon":require("./features/beacon"),"beforeafterprint":require("./features/beforeafterprint"),"blobbuilder":require("./features/blobbuilder"),"bloburls":require("./features/bloburls"),"border-image":require("./features/border-image"),"border-radius":require("./features/border-radius"),"broadcastchannel":require("./features/broadcastchannel"),"brotli":require("./features/brotli"),"calc":require("./features/calc"),"canvas-blending":require("./features/canvas-blending"),"canvas-text":require("./features/canvas-text"),"canvas":require("./features/canvas"),"ch-unit":require("./features/ch-unit"),"chacha20-poly1305":require("./features/chacha20-poly1305"),"channel-messaging":require("./features/channel-messaging"),"childnode-remove":require("./features/childnode-remove"),"classlist":require("./features/classlist"),"client-hints-dpr-width-viewport":require("./features/client-hints-dpr-width-viewport"),"clipboard":require("./features/clipboard"),"comparedocumentposition":require("./features/comparedocumentposition"),"console-basic":require("./features/console-basic"),"console-time":require("./features/console-time"),"const":require("./features/const"),"constraint-validation":require("./features/constraint-validation"),"contenteditable":require("./features/contenteditable"),"contentsecuritypolicy":require("./features/contentsecuritypolicy"),"contentsecuritypolicy2":require("./features/contentsecuritypolicy2"),"cors":require("./features/cors"),"credential-management":require("./features/credential-management"),"cryptography":require("./features/cryptography"),"css-all":require("./features/css-all"),"css-animation":require("./features/css-animation"),"css-any-link":require("./features/css-any-link"),"css-appearance":require("./features/css-appearance"),"css-apply-rule":require("./features/css-apply-rule"),"css-at-counter-style":require("./features/css-at-counter-style"),"css-backdrop-filter":require("./features/css-backdrop-filter"),"css-background-offsets":require("./features/css-background-offsets"),"css-backgroundblendmode":require("./features/css-backgroundblendmode"),"css-boxdecorationbreak":require("./features/css-boxdecorationbreak"),"css-boxshadow":require("./features/css-boxshadow"),"css-canvas":require("./features/css-canvas"),"css-caret-color":require("./features/css-caret-color"),"css-case-insensitive":require("./features/css-case-insensitive"),"css-clip-path":require("./features/css-clip-path"),"css-conic-gradients":require("./features/css-conic-gradients"),"css-containment":require("./features/css-containment"),"css-counters":require("./features/css-counters"),"css-crisp-edges":require("./features/css-crisp-edges"),"css-cross-fade":require("./features/css-cross-fade"),"css-default-pseudo":require("./features/css-default-pseudo"),"css-descendant-gtgt":require("./features/css-descendant-gtgt"),"css-deviceadaptation":require("./features/css-deviceadaptation"),"css-dir-pseudo":require("./features/css-dir-pseudo"),"css-display-contents":require("./features/css-display-contents"),"css-element-function":require("./features/css-element-function"),"css-exclusions":require("./features/css-exclusions"),"css-featurequeries":require("./features/css-featurequeries"),"css-filter-function":require("./features/css-filter-function"),"css-filters":require("./features/css-filters"),"css-first-letter":require("./features/css-first-letter"),"css-first-line":require("./features/css-first-line"),"css-fixed":require("./features/css-fixed"),"css-focus-ring":require("./features/css-focus-ring"),"css-focus-within":require("./features/css-focus-within"),"css-font-rendering-controls":require("./features/css-font-rendering-controls"),"css-font-stretch":require("./features/css-font-stretch"),"css-gencontent":require("./features/css-gencontent"),"css-gradients":require("./features/css-gradients"),"css-grid":require("./features/css-grid"),"css-hanging-punctuation":require("./features/css-hanging-punctuation"),"css-has":require("./features/css-has"),"css-hyphenate":require("./features/css-hyphenate"),"css-hyphens":require("./features/css-hyphens"),"css-image-orientation":require("./features/css-image-orientation"),"css-image-set":require("./features/css-image-set"),"css-in-out-of-range":require("./features/css-in-out-of-range"),"css-indeterminate-pseudo":require("./features/css-indeterminate-pseudo"),"css-initial-letter":require("./features/css-initial-letter"),"css-initial-value":require("./features/css-initial-value"),"css-letter-spacing":require("./features/css-letter-spacing"),"css-line-clamp":require("./features/css-line-clamp"),"css-logical-props":require("./features/css-logical-props"),"css-marker-pseudo":require("./features/css-marker-pseudo"),"css-masks":require("./features/css-masks"),"css-matches-pseudo":require("./features/css-matches-pseudo"),"css-media-interaction":require("./features/css-media-interaction"),"css-media-resolution":require("./features/css-media-resolution"),"css-media-scripting":require("./features/css-media-scripting"),"css-mediaqueries":require("./features/css-mediaqueries"),"css-mixblendmode":require("./features/css-mixblendmode"),"css-motion-paths":require("./features/css-motion-paths"),"css-namespaces":require("./features/css-namespaces"),"css-not-sel-list":require("./features/css-not-sel-list"),"css-nth-child-of":require("./features/css-nth-child-of"),"css-opacity":require("./features/css-opacity"),"css-optional-pseudo":require("./features/css-optional-pseudo"),"css-overflow-anchor":require("./features/css-overflow-anchor"),"css-page-break":require("./features/css-page-break"),"css-paged-media":require("./features/css-paged-media"),"css-placeholder-shown":require("./features/css-placeholder-shown"),"css-placeholder":require("./features/css-placeholder"),"css-read-only-write":require("./features/css-read-only-write"),"css-rebeccapurple":require("./features/css-rebeccapurple"),"css-reflections":require("./features/css-reflections"),"css-regions":require("./features/css-regions"),"css-repeating-gradients":require("./features/css-repeating-gradients"),"css-resize":require("./features/css-resize"),"css-revert-value":require("./features/css-revert-value"),"css-rrggbbaa":require("./features/css-rrggbbaa"),"css-scroll-behavior":require("./features/css-scroll-behavior"),"css-scrollbar":require("./features/css-scrollbar"),"css-sel2":require("./features/css-sel2"),"css-sel3":require("./features/css-sel3"),"css-selection":require("./features/css-selection"),"css-shapes":require("./features/css-shapes"),"css-snappoints":require("./features/css-snappoints"),"css-sticky":require("./features/css-sticky"),"css-supports-api":require("./features/css-supports-api"),"css-table":require("./features/css-table"),"css-text-align-last":require("./features/css-text-align-last"),"css-text-indent":require("./features/css-text-indent"),"css-text-justify":require("./features/css-text-justify"),"css-text-orientation":require("./features/css-text-orientation"),"css-text-spacing":require("./features/css-text-spacing"),"css-textshadow":require("./features/css-textshadow"),"css-touch-action-2":require("./features/css-touch-action-2"),"css-touch-action":require("./features/css-touch-action"),"css-transitions":require("./features/css-transitions"),"css-unicode-bidi":require("./features/css-unicode-bidi"),"css-unset-value":require("./features/css-unset-value"),"css-variables":require("./features/css-variables"),"css-widows-orphans":require("./features/css-widows-orphans"),"css-writing-mode":require("./features/css-writing-mode"),"css-zoom":require("./features/css-zoom"),"css3-attr":require("./features/css3-attr"),"css3-boxsizing":require("./features/css3-boxsizing"),"css3-colors":require("./features/css3-colors"),"css3-cursors-grab":require("./features/css3-cursors-grab"),"css3-cursors-newer":require("./features/css3-cursors-newer"),"css3-cursors":require("./features/css3-cursors"),"css3-tabsize":require("./features/css3-tabsize"),"currentcolor":require("./features/currentcolor"),"custom-elements":require("./features/custom-elements"),"custom-elementsv1":require("./features/custom-elementsv1"),"customevent":require("./features/customevent"),"datalist":require("./features/datalist"),"dataset":require("./features/dataset"),"datauri":require("./features/datauri"),"details":require("./features/details"),"deviceorientation":require("./features/deviceorientation"),"devicepixelratio":require("./features/devicepixelratio"),"dialog":require("./features/dialog"),"dispatchevent":require("./features/dispatchevent"),"document-currentscript":require("./features/document-currentscript"),"document-evaluate-xpath":require("./features/document-evaluate-xpath"),"document-execcommand":require("./features/document-execcommand"),"documenthead":require("./features/documenthead"),"dom-manip-convenience":require("./features/dom-manip-convenience"),"dom-range":require("./features/dom-range"),"domcontentloaded":require("./features/domcontentloaded"),"domfocusin-domfocusout-events":require("./features/domfocusin-domfocusout-events"),"dommatrix":require("./features/dommatrix"),"download":require("./features/download"),"dragndrop":require("./features/dragndrop"),"element-closest":require("./features/element-closest"),"element-from-point":require("./features/element-from-point"),"eme":require("./features/eme"),"eot":require("./features/eot"),"es5":require("./features/es5"),"es6-class":require("./features/es6-class"),"es6-generators":require("./features/es6-generators"),"es6-module-dynamic-import":require("./features/es6-module-dynamic-import"),"es6-module-nomodule":require("./features/es6-module-nomodule"),"es6-module":require("./features/es6-module"),"es6-number":require("./features/es6-number"),"es6-string-includes":require("./features/es6-string-includes"),"eventsource":require("./features/eventsource"),"fetch":require("./features/fetch"),"fieldset-disabled":require("./features/fieldset-disabled"),"fileapi":require("./features/fileapi"),"filereader":require("./features/filereader"),"filereadersync":require("./features/filereadersync"),"filesystem":require("./features/filesystem"),"flac":require("./features/flac"),"flexbox":require("./features/flexbox"),"flow-root":require("./features/flow-root"),"focusin-focusout-events":require("./features/focusin-focusout-events"),"font-feature":require("./features/font-feature"),"font-kerning":require("./features/font-kerning"),"font-loading":require("./features/font-loading"),"font-size-adjust":require("./features/font-size-adjust"),"font-smooth":require("./features/font-smooth"),"font-unicode-range":require("./features/font-unicode-range"),"font-variant-alternates":require("./features/font-variant-alternates"),"font-variant-east-asian":require("./features/font-variant-east-asian"),"fontface":require("./features/fontface"),"form-attribute":require("./features/form-attribute"),"form-submit-attributes":require("./features/form-submit-attributes"),"form-validation":require("./features/form-validation"),"forms":require("./features/forms"),"fullscreen":require("./features/fullscreen"),"gamepad":require("./features/gamepad"),"geolocation":require("./features/geolocation"),"getboundingclientrect":require("./features/getboundingclientrect"),"getcomputedstyle":require("./features/getcomputedstyle"),"getelementsbyclassname":require("./features/getelementsbyclassname"),"getrandomvalues":require("./features/getrandomvalues"),"hardwareconcurrency":require("./features/hardwareconcurrency"),"hashchange":require("./features/hashchange"),"heif":require("./features/heif"),"hevc":require("./features/hevc"),"hidden":require("./features/hidden"),"high-resolution-time":require("./features/high-resolution-time"),"history":require("./features/history"),"html-media-capture":require("./features/html-media-capture"),"html5semantic":require("./features/html5semantic"),"http-live-streaming":require("./features/http-live-streaming"),"http2":require("./features/http2"),"iframe-sandbox":require("./features/iframe-sandbox"),"iframe-seamless":require("./features/iframe-seamless"),"iframe-srcdoc":require("./features/iframe-srcdoc"),"imagecapture":require("./features/imagecapture"),"ime":require("./features/ime"),"img-naturalwidth-naturalheight":require("./features/img-naturalwidth-naturalheight"),"imports":require("./features/imports"),"indeterminate-checkbox":require("./features/indeterminate-checkbox"),"indexeddb":require("./features/indexeddb"),"indexeddb2":require("./features/indexeddb2"),"inline-block":require("./features/inline-block"),"innertext":require("./features/innertext"),"input-autocomplete-onoff":require("./features/input-autocomplete-onoff"),"input-color":require("./features/input-color"),"input-datetime":require("./features/input-datetime"),"input-email-tel-url":require("./features/input-email-tel-url"),"input-event":require("./features/input-event"),"input-file-accept":require("./features/input-file-accept"),"input-file-directory":require("./features/input-file-directory"),"input-file-multiple":require("./features/input-file-multiple"),"input-inputmode":require("./features/input-inputmode"),"input-minlength":require("./features/input-minlength"),"input-number":require("./features/input-number"),"input-pattern":require("./features/input-pattern"),"input-placeholder":require("./features/input-placeholder"),"input-range":require("./features/input-range"),"input-search":require("./features/input-search"),"input-selection":require("./features/input-selection"),"insert-adjacent":require("./features/insert-adjacent"),"insertadjacenthtml":require("./features/insertadjacenthtml"),"internationalization":require("./features/internationalization"),"intersectionobserver":require("./features/intersectionobserver"),"intrinsic-width":require("./features/intrinsic-width"),"jpeg2000":require("./features/jpeg2000"),"jpegxr":require("./features/jpegxr"),"json":require("./features/json"),"kerning-pairs-ligatures":require("./features/kerning-pairs-ligatures"),"keyboardevent-charcode":require("./features/keyboardevent-charcode"),"keyboardevent-code":require("./features/keyboardevent-code"),"keyboardevent-getmodifierstate":require("./features/keyboardevent-getmodifierstate"),"keyboardevent-key":require("./features/keyboardevent-key"),"keyboardevent-location":require("./features/keyboardevent-location"),"keyboardevent-which":require("./features/keyboardevent-which"),"lazyload":require("./features/lazyload"),"let":require("./features/let"),"link-icon-png":require("./features/link-icon-png"),"link-icon-svg":require("./features/link-icon-svg"),"link-rel-dns-prefetch":require("./features/link-rel-dns-prefetch"),"link-rel-preconnect":require("./features/link-rel-preconnect"),"link-rel-prefetch":require("./features/link-rel-prefetch"),"link-rel-preload":require("./features/link-rel-preload"),"link-rel-prerender":require("./features/link-rel-prerender"),"localecompare":require("./features/localecompare"),"matchesselector":require("./features/matchesselector"),"matchmedia":require("./features/matchmedia"),"mathml":require("./features/mathml"),"maxlength":require("./features/maxlength"),"media-attribute":require("./features/media-attribute"),"media-fragments":require("./features/media-fragments"),"media-session-api":require("./features/media-session-api"),"mediacapture-fromelement":require("./features/mediacapture-fromelement"),"mediarecorder":require("./features/mediarecorder"),"mediasource":require("./features/mediasource"),"menu":require("./features/menu"),"meter":require("./features/meter"),"midi":require("./features/midi"),"minmaxwh":require("./features/minmaxwh"),"mp3":require("./features/mp3"),"mpeg-dash":require("./features/mpeg-dash"),"mpeg4":require("./features/mpeg4"),"multibackgrounds":require("./features/multibackgrounds"),"multicolumn":require("./features/multicolumn"),"mutation-events":require("./features/mutation-events"),"mutationobserver":require("./features/mutationobserver"),"namevalue-storage":require("./features/namevalue-storage"),"nav-timing":require("./features/nav-timing"),"netinfo":require("./features/netinfo"),"node-contains":require("./features/node-contains"),"node-parentelement":require("./features/node-parentelement"),"notifications":require("./features/notifications"),"object-fit":require("./features/object-fit"),"object-observe":require("./features/object-observe"),"object-values":require("./features/object-values"),"objectrtc":require("./features/objectrtc"),"offline-apps":require("./features/offline-apps"),"offscreencanvas":require("./features/offscreencanvas"),"ogg-vorbis":require("./features/ogg-vorbis"),"ogv":require("./features/ogv"),"ol-reversed":require("./features/ol-reversed"),"once-event-listener":require("./features/once-event-listener"),"online-status":require("./features/online-status"),"opus":require("./features/opus"),"outline":require("./features/outline"),"pad-start-end":require("./features/pad-start-end"),"page-transition-events":require("./features/page-transition-events"),"pagevisibility":require("./features/pagevisibility"),"passive-event-listener":require("./features/passive-event-listener"),"path2d":require("./features/path2d"),"payment-request":require("./features/payment-request"),"permissions-api":require("./features/permissions-api"),"picture":require("./features/picture"),"ping":require("./features/ping"),"png-alpha":require("./features/png-alpha"),"pointer-events":require("./features/pointer-events"),"pointer":require("./features/pointer"),"pointerlock":require("./features/pointerlock"),"progress":require("./features/progress"),"promises":require("./features/promises"),"proximity":require("./features/proximity"),"proxy":require("./features/proxy"),"publickeypinning":require("./features/publickeypinning"),"push-api":require("./features/push-api"),"queryselector":require("./features/queryselector"),"readonly-attr":require("./features/readonly-attr"),"referrer-policy":require("./features/referrer-policy"),"registerprotocolhandler":require("./features/registerprotocolhandler"),"rel-noopener":require("./features/rel-noopener"),"rel-noreferrer":require("./features/rel-noreferrer"),"rellist":require("./features/rellist"),"rem":require("./features/rem"),"requestanimationframe":require("./features/requestanimationframe"),"requestidlecallback":require("./features/requestidlecallback"),"resizeobserver":require("./features/resizeobserver"),"resource-timing":require("./features/resource-timing"),"rest-parameters":require("./features/rest-parameters"),"rtcpeerconnection":require("./features/rtcpeerconnection"),"ruby":require("./features/ruby"),"run-in":require("./features/run-in"),"same-site-cookie-attribute":require("./features/same-site-cookie-attribute"),"screen-orientation":require("./features/screen-orientation"),"script-async":require("./features/script-async"),"script-defer":require("./features/script-defer"),"scrollintoview":require("./features/scrollintoview"),"scrollintoviewifneeded":require("./features/scrollintoviewifneeded"),"sdch":require("./features/sdch"),"selection-api":require("./features/selection-api"),"serviceworkers":require("./features/serviceworkers"),"setimmediate":require("./features/setimmediate"),"sha-2":require("./features/sha-2"),"shadowdom":require("./features/shadowdom"),"shadowdomv1":require("./features/shadowdomv1"),"sharedworkers":require("./features/sharedworkers"),"sni":require("./features/sni"),"spdy":require("./features/spdy"),"speech-recognition":require("./features/speech-recognition"),"speech-synthesis":require("./features/speech-synthesis"),"spellcheck-attribute":require("./features/spellcheck-attribute"),"sql-storage":require("./features/sql-storage"),"srcset":require("./features/srcset"),"stopimmediatepropagation":require("./features/stopimmediatepropagation"),"stream":require("./features/stream"),"streams":require("./features/streams"),"stricttransportsecurity":require("./features/stricttransportsecurity"),"style-scoped":require("./features/style-scoped"),"subresource-integrity":require("./features/subresource-integrity"),"svg-css":require("./features/svg-css"),"svg-filters":require("./features/svg-filters"),"svg-fonts":require("./features/svg-fonts"),"svg-fragment":require("./features/svg-fragment"),"svg-html":require("./features/svg-html"),"svg-html5":require("./features/svg-html5"),"svg-img":require("./features/svg-img"),"svg-smil":require("./features/svg-smil"),"svg":require("./features/svg"),"tabindex-attr":require("./features/tabindex-attr"),"template-literals":require("./features/template-literals"),"template":require("./features/template"),"testfeat":require("./features/testfeat"),"text-decoration":require("./features/text-decoration"),"text-emphasis":require("./features/text-emphasis"),"text-overflow":require("./features/text-overflow"),"text-size-adjust":require("./features/text-size-adjust"),"text-stroke":require("./features/text-stroke"),"textcontent":require("./features/textcontent"),"textencoder":require("./features/textencoder"),"tls1-1":require("./features/tls1-1"),"tls1-2":require("./features/tls1-2"),"tls1-3":require("./features/tls1-3"),"token-binding":require("./features/token-binding"),"touch":require("./features/touch"),"transforms2d":require("./features/transforms2d"),"transforms3d":require("./features/transforms3d"),"ttf":require("./features/ttf"),"typedarrays":require("./features/typedarrays"),"u2f":require("./features/u2f"),"unhandledrejection":require("./features/unhandledrejection"),"upgradeinsecurerequests":require("./features/upgradeinsecurerequests"),"url":require("./features/url"),"urlsearchparams":require("./features/urlsearchparams"),"use-strict":require("./features/use-strict"),"user-select-none":require("./features/user-select-none"),"user-timing":require("./features/user-timing"),"variable-fonts":require("./features/variable-fonts"),"vibration":require("./features/vibration"),"video":require("./features/video"),"videotracks":require("./features/videotracks"),"viewport-units":require("./features/viewport-units"),"wai-aria":require("./features/wai-aria"),"wasm":require("./features/wasm"),"wav":require("./features/wav"),"wbr-element":require("./features/wbr-element"),"web-animation":require("./features/web-animation"),"web-app-manifest":require("./features/web-app-manifest"),"web-bluetooth":require("./features/web-bluetooth"),"web-share":require("./features/web-share"),"webgl":require("./features/webgl"),"webgl2":require("./features/webgl2"),"webm":require("./features/webm"),"webp":require("./features/webp"),"websockets":require("./features/websockets"),"webusb":require("./features/webusb"),"webvr":require("./features/webvr"),"webvtt":require("./features/webvtt"),"webworkers":require("./features/webworkers"),"will-change":require("./features/will-change"),"woff":require("./features/woff"),"woff2":require("./features/woff2"),"word-break":require("./features/word-break"),"wordwrap":require("./features/wordwrap"),"x-doc-messaging":require("./features/x-doc-messaging"),"x-frame-options":require("./features/x-frame-options"),"xhr2":require("./features/xhr2"),"xhtml":require("./features/xhtml"),"xhtmlsmil":require("./features/xhtmlsmil"),"xml-serializer":require("./features/xml-serializer")}; diff --git a/publi/node_modules/caniuse-lite/data/features/aac.js b/publi/node_modules/caniuse-lite/data/features/aac.js deleted file mode 100644 index 3b6ef79..0000000 --- a/publi/node_modules/caniuse-lite/data/features/aac.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"E A B","2":"K C G CB"},B:{"1":"D u Y I M H"},C:{"2":"1 VB F J K C G E A B D u Y I M H N O P Q TB SB","132":"0 2 3 4 5 6 7 R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v"},D:{"1":"0 2 3 4 5 6 7 D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB","2":"F J K C G E","16":"A B"},E:{"1":"F J K C G E A B IB JB KB LB MB NB","2":"GB AB"},F:{"1":"I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t","2":"8 9 E B D OB PB QB RB UB x"},G:{"1":"G WB BB YB ZB aB bB cB dB eB fB gB","16":"AB"},H:{"2":"hB"},I:{"1":"1 F g lB BB mB nB","2":"iB jB kB"},J:{"1":"A","2":"C"},K:{"1":"L","2":"8 9 A B D x"},L:{"1":"g"},M:{"132":"v"},N:{"1":"A","2":"B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:6,C:"AAC audio file format"}; diff --git a/publi/node_modules/caniuse-lite/data/features/ac3-ec3.js b/publi/node_modules/caniuse-lite/data/features/ac3-ec3.js deleted file mode 100644 index ee2ef34..0000000 --- a/publi/node_modules/caniuse-lite/data/features/ac3-ec3.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"1":"D u Y I M H"},C:{"2":"0 1 2 3 4 5 6 7 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v TB SB"},D:{"2":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"2":"F J K C G E A B GB AB IB JB KB LB MB NB"},F:{"2":"8 9 E B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t OB PB QB RB UB x"},G:{"2":"G AB WB BB YB ZB aB bB","132":"cB dB eB fB gB"},H:{"2":"hB"},I:{"2":"1 F g iB jB kB lB BB mB nB"},J:{"2":"C","132":"A"},K:{"2":"8 9 A B D L","132":"x"},L:{"2":"g"},M:{"2":"v"},N:{"2":"A B"},O:{"132":"oB"},P:{"2":"F J pB"},Q:{"2":"qB"},R:{"2":"rB"}},B:6,C:"AC-3 (Dolby Digital) and EC-3 (Dolby Digital Plus) codecs"}; diff --git a/publi/node_modules/caniuse-lite/data/features/addeventlistener.js b/publi/node_modules/caniuse-lite/data/features/addeventlistener.js deleted file mode 100644 index 4a53304..0000000 --- a/publi/node_modules/caniuse-lite/data/features/addeventlistener.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"E A B","130":"K C G CB"},B:{"1":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v","257":"1 VB F J K TB SB"},D:{"1":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"1":"F J K C G E A B GB AB IB JB KB LB MB NB"},F:{"1":"8 9 E B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t OB PB QB RB UB x"},G:{"1":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"1":"hB"},I:{"1":"1 F g iB jB kB lB BB mB nB"},J:{"1":"C A"},K:{"1":"8 9 A B D L x"},L:{"1":"g"},M:{"1":"v"},N:{"1":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:1,C:"EventTarget.addEventListener()"}; diff --git a/publi/node_modules/caniuse-lite/data/features/alternate-stylesheet.js b/publi/node_modules/caniuse-lite/data/features/alternate-stylesheet.js deleted file mode 100644 index cb08d8c..0000000 --- a/publi/node_modules/caniuse-lite/data/features/alternate-stylesheet.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"G E A B","2":"K C CB"},B:{"2":"D u Y I M H"},C:{"1":"0 1 2 3 4 5 6 7 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v TB SB"},D:{"2":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"2":"F J K C G E A B GB AB IB JB KB LB MB NB"},F:{"1":"8 9 E B D OB PB QB RB UB x","16":"I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t"},G:{"2":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"16":"hB"},I:{"2":"1 F g iB jB kB lB BB mB nB"},J:{"16":"C A"},K:{"16":"8 9 A B D L x"},L:{"16":"g"},M:{"16":"v"},N:{"16":"A B"},O:{"16":"oB"},P:{"16":"F J pB"},Q:{"2":"qB"},R:{"16":"rB"}},B:1,C:"Alternate stylesheet"}; diff --git a/publi/node_modules/caniuse-lite/data/features/ambient-light.js b/publi/node_modules/caniuse-lite/data/features/ambient-light.js deleted file mode 100644 index 2d07b46..0000000 --- a/publi/node_modules/caniuse-lite/data/features/ambient-light.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"1":"Y I M H","2":"D u"},C:{"2":"1 VB F J K C G E A B D u Y I M H N O P Q TB SB","132":"0 2 3 4 5 6 7 R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v"},D:{"2":"0 2 3 4 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v","322":"5 6 7 HB g DB XB EB FB"},E:{"2":"F J K C G E A B GB AB IB JB KB LB MB NB"},F:{"2":"8 9 E B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t OB PB QB RB UB x"},G:{"2":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"2":"hB"},I:{"2":"1 F g iB jB kB lB BB mB nB"},J:{"2":"C A"},K:{"2":"8 9 A B D L x"},L:{"2":"g"},M:{"1":"v"},N:{"2":"A B"},O:{"2":"oB"},P:{"2":"F J pB"},Q:{"2":"qB"},R:{"2":"rB"}},B:4,C:"Ambient Light API"}; diff --git a/publi/node_modules/caniuse-lite/data/features/apng.js b/publi/node_modules/caniuse-lite/data/features/apng.js deleted file mode 100644 index ce6e446..0000000 --- a/publi/node_modules/caniuse-lite/data/features/apng.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"2":"D u Y I M H"},C:{"1":"0 1 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v TB SB","2":"VB"},D:{"1":"6 7 HB g DB XB EB FB","2":"0 2 3 4 5 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v"},E:{"1":"G E A B LB MB NB","2":"F J K C GB AB IB JB KB"},F:{"1":"8 9 B D p q r s t OB PB QB RB UB x","2":"E I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o"},G:{"1":"G bB cB dB eB fB gB","2":"AB WB BB YB ZB aB"},H:{"2":"hB"},I:{"2":"1 F g iB jB kB lB BB mB nB"},J:{"2":"C A"},K:{"1":"8 9 A B D x","2":"L"},L:{"1":"g"},M:{"1":"v"},N:{"2":"A B"},O:{"2":"oB"},P:{"2":"F J pB"},Q:{"2":"qB"},R:{"2":"rB"}},B:7,C:"Animated PNG (APNG)"}; diff --git a/publi/node_modules/caniuse-lite/data/features/arrow-functions.js b/publi/node_modules/caniuse-lite/data/features/arrow-functions.js deleted file mode 100644 index 9037a85..0000000 --- a/publi/node_modules/caniuse-lite/data/features/arrow-functions.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"1":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v","2":"1 VB F J K C G E A B D u Y I M H N O P Q TB SB"},D:{"1":"0 2 3 4 5 6 7 o p q r s t y z v HB g DB XB EB FB","2":"F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n"},E:{"1":"A B MB NB","2":"F J K C G E GB AB IB JB KB LB"},F:{"1":"b c d e f L h i j k l m n o p q r s t","2":"8 9 E B D I M H N O P Q R S T U V W X w Z a OB PB QB RB UB x"},G:{"1":"eB fB gB","2":"G AB WB BB YB ZB aB bB cB dB"},H:{"2":"hB"},I:{"1":"g","2":"1 F iB jB kB lB BB mB nB"},J:{"2":"C A"},K:{"1":"L","2":"8 9 A B D x"},L:{"1":"g"},M:{"1":"v"},N:{"2":"A B"},O:{"2":"oB"},P:{"1":"J pB","2":"F"},Q:{"2":"qB"},R:{"1":"rB"}},B:6,C:"Arrow functions"}; diff --git a/publi/node_modules/caniuse-lite/data/features/asmjs.js b/publi/node_modules/caniuse-lite/data/features/asmjs.js deleted file mode 100644 index c9135fc..0000000 --- a/publi/node_modules/caniuse-lite/data/features/asmjs.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"1":"u Y I M H","322":"D"},C:{"1":"0 2 3 4 5 6 7 R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v","2":"1 VB F J K C G E A B D u Y I M H N O P Q TB SB"},D:{"2":"F J K C G E A B D u Y I M H N O P Q R S T U V W","132":"0 2 3 4 5 6 7 X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"2":"F J K C G E A B GB AB IB JB KB LB MB NB"},F:{"2":"8 9 E B D OB PB QB RB UB x","132":"I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t"},G:{"2":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"2":"hB"},I:{"2":"1 F iB jB kB lB BB mB nB","132":"g"},J:{"2":"C A"},K:{"2":"8 9 A B D x","132":"L"},L:{"132":"g"},M:{"1":"v"},N:{"2":"A B"},O:{"2":"oB"},P:{"2":"F","132":"J pB"},Q:{"132":"qB"},R:{"132":"rB"}},B:6,C:"asm.js"}; diff --git a/publi/node_modules/caniuse-lite/data/features/async-functions.js b/publi/node_modules/caniuse-lite/data/features/async-functions.js deleted file mode 100644 index e3e583f..0000000 --- a/publi/node_modules/caniuse-lite/data/features/async-functions.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"1":"I M H","2":"D u","194":"Y"},C:{"1":"0 2 3 4 5 6 7 z v","2":"1 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y TB SB"},D:{"1":"2 3 5 6 7 v HB g DB XB EB FB","2":"0 4 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z"},E:{"1":"B MB NB","2":"F J K C G E A GB AB IB JB KB LB"},F:{"1":"l m n o p q r s t","2":"8 9 E B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k OB PB QB RB UB x"},G:{"1":"fB gB","2":"G AB WB BB YB ZB aB bB cB dB eB"},H:{"2":"hB"},I:{"1":"g","2":"1 F iB jB kB lB BB mB nB"},J:{"2":"C A"},K:{"2":"8 9 A B D L x"},L:{"1":"g"},M:{"1":"v"},N:{"2":"A B"},O:{"2":"oB"},P:{"1":"pB","2":"F J"},Q:{"2":"qB"},R:{"2":"rB"}},B:6,C:"Async functions"}; diff --git a/publi/node_modules/caniuse-lite/data/features/atob-btoa.js b/publi/node_modules/caniuse-lite/data/features/atob-btoa.js deleted file mode 100644 index 8b20a2f..0000000 --- a/publi/node_modules/caniuse-lite/data/features/atob-btoa.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"A B","2":"K C G E CB"},B:{"1":"D u Y I M H"},C:{"1":"0 1 2 3 4 5 6 7 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v TB SB"},D:{"1":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"1":"F J K C G E A B GB AB IB JB KB LB MB NB"},F:{"1":"8 9 B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t RB UB x","2":"E OB PB","16":"QB"},G:{"1":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"1":"hB"},I:{"1":"1 F g iB jB kB lB BB mB nB"},J:{"1":"C A"},K:{"1":"8 9 B D L x","16":"A"},L:{"1":"g"},M:{"1":"v"},N:{"1":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:1,C:"Base64 encoding and decoding"}; diff --git a/publi/node_modules/caniuse-lite/data/features/audio-api.js b/publi/node_modules/caniuse-lite/data/features/audio-api.js deleted file mode 100644 index 8416fc7..0000000 --- a/publi/node_modules/caniuse-lite/data/features/audio-api.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"1":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v","2":"1 VB F J K C G E A B D u Y I M H N O P Q R S T TB SB"},D:{"1":"0 2 3 4 5 6 7 d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB","2":"F J K C G E","33":"A B D u Y I M H N O P Q R S T U V W X w Z a b c"},E:{"2":"F J GB AB IB","33":"K C G E A B JB KB LB MB NB"},F:{"1":"R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t","2":"8 9 E B D OB PB QB RB UB x","33":"I M H N O P Q"},G:{"2":"AB WB BB YB","33":"G ZB aB bB cB dB eB fB gB"},H:{"2":"hB"},I:{"1":"g","2":"1 F iB jB kB lB BB mB nB"},J:{"2":"C A"},K:{"1":"L","2":"8 9 A B D x"},L:{"1":"g"},M:{"1":"v"},N:{"2":"A B"},O:{"2":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:5,C:"Web Audio API"}; diff --git a/publi/node_modules/caniuse-lite/data/features/audio.js b/publi/node_modules/caniuse-lite/data/features/audio.js deleted file mode 100644 index 59484bd..0000000 --- a/publi/node_modules/caniuse-lite/data/features/audio.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"E A B","2":"K C G CB"},B:{"1":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v","2":"1 VB","132":"F J K C G E A B D u Y I M H N O TB SB"},D:{"1":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"1":"F J K C G E A B IB JB KB LB MB NB","2":"GB AB"},F:{"1":"8 9 B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t QB RB UB x","2":"E","4":"OB PB"},G:{"1":"G WB BB YB ZB aB bB cB dB eB fB gB","2":"AB"},H:{"2":"hB"},I:{"1":"1 F g kB lB BB mB nB","2":"iB jB"},J:{"1":"C A"},K:{"1":"8 9 B D L x","2":"A"},L:{"1":"g"},M:{"1":"v"},N:{"1":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:1,C:"Audio element"}; diff --git a/publi/node_modules/caniuse-lite/data/features/audiotracks.js b/publi/node_modules/caniuse-lite/data/features/audiotracks.js deleted file mode 100644 index 41b3292..0000000 --- a/publi/node_modules/caniuse-lite/data/features/audiotracks.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"A B","2":"K C G E CB"},B:{"1":"D u Y I M H"},C:{"2":"1 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b TB SB","194":"0 2 3 4 5 6 7 c d e f L h i j k l m n o p q r s t y z v"},D:{"2":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"1":"C G E A B JB KB LB MB NB","2":"F J K GB AB IB"},F:{"2":"8 9 E B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t OB PB QB RB UB x"},G:{"1":"G aB bB cB dB eB fB gB","2":"AB WB BB YB ZB"},H:{"2":"hB"},I:{"2":"1 F g iB jB kB lB BB mB nB"},J:{"2":"C A"},K:{"2":"8 9 A B D L x"},L:{"2":"g"},M:{"2":"v"},N:{"1":"A B"},O:{"2":"oB"},P:{"2":"F J pB"},Q:{"2":"qB"},R:{"2":"rB"}},B:1,C:"Audio Tracks"}; diff --git a/publi/node_modules/caniuse-lite/data/features/autofocus.js b/publi/node_modules/caniuse-lite/data/features/autofocus.js deleted file mode 100644 index 727f9d2..0000000 --- a/publi/node_modules/caniuse-lite/data/features/autofocus.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"A B","2":"K C G E CB"},B:{"1":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v","2":"1 VB TB SB"},D:{"1":"0 2 3 4 5 6 7 J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB","2":"F"},E:{"1":"J K C G E A B IB JB KB LB MB NB","2":"F GB AB"},F:{"1":"8 9 B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t OB PB QB RB UB x","2":"E"},G:{"2":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"2":"hB"},I:{"1":"1 F g lB BB mB nB","2":"iB jB kB"},J:{"1":"C A"},K:{"1":"L","2":"8 9 A B D x"},L:{"1":"g"},M:{"1":"v"},N:{"1":"A B"},O:{"2":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:1,C:"Autofocus attribute"}; diff --git a/publi/node_modules/caniuse-lite/data/features/aux-click.js b/publi/node_modules/caniuse-lite/data/features/aux-click.js deleted file mode 100644 index a5a0410..0000000 --- a/publi/node_modules/caniuse-lite/data/features/aux-click.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"2":"D u Y I M H"},C:{"2":"1 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z TB SB","129":"0 2 3 4 5 6 7 v"},D:{"1":"2 3 5 6 7 v HB g DB XB EB FB","2":"0 4 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z"},E:{"2":"F J K C G E A B GB AB IB JB KB LB MB NB"},F:{"1":"l m n o p q r s t","2":"8 9 E B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k OB PB QB RB UB x"},G:{"2":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"2":"hB"},I:{"1":"g","2":"1 F iB jB kB lB BB mB nB"},J:{"2":"C","16":"A"},K:{"2":"8 9 A B D L x"},L:{"1":"g"},M:{"2":"v"},N:{"2":"A B"},O:{"16":"oB"},P:{"1":"J pB","16":"F"},Q:{"16":"qB"},R:{"1":"rB"}},B:5,C:"Auxclick"}; diff --git a/publi/node_modules/caniuse-lite/data/features/background-attachment.js b/publi/node_modules/caniuse-lite/data/features/background-attachment.js deleted file mode 100644 index b24e9d2..0000000 --- a/publi/node_modules/caniuse-lite/data/features/background-attachment.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"E A B","132":"K C G CB"},B:{"1":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v","132":"1 VB F J K C G E A B D u Y I M H N O P Q R S T TB SB"},D:{"1":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"1":"J K C G E A B IB JB KB LB MB NB","132":"F GB AB"},F:{"1":"8 9 B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t QB RB UB x","132":"E OB PB"},G:{"2":"AB WB BB","772":"G YB ZB aB bB cB dB eB fB gB"},H:{"2":"hB"},I:{"2":"1 F g iB jB kB mB nB","132":"lB BB"},J:{"260":"C A"},K:{"1":"8 9 B D L x","132":"A"},L:{"1":"g"},M:{"1":"v"},N:{"1":"A B"},O:{"132":"oB"},P:{"2":"F","1028":"J pB"},Q:{"1":"qB"},R:{"1028":"rB"}},B:4,C:"CSS background-attachment"}; diff --git a/publi/node_modules/caniuse-lite/data/features/background-img-opts.js b/publi/node_modules/caniuse-lite/data/features/background-img-opts.js deleted file mode 100644 index 4c7985a..0000000 --- a/publi/node_modules/caniuse-lite/data/features/background-img-opts.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"E A B","2":"K C G CB"},B:{"1":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v","2":"1 VB TB","36":"SB"},D:{"1":"0 2 3 4 5 6 7 I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB","516":"F J K C G E A B D u Y"},E:{"1":"C G E A B KB LB MB NB","772":"F J K GB AB IB JB"},F:{"1":"8 9 B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t QB RB UB x","2":"E OB","36":"PB"},G:{"1":"G aB bB cB dB eB fB gB","4":"AB WB BB ZB","516":"YB"},H:{"132":"hB"},I:{"1":"g mB nB","36":"iB","516":"1 F lB BB","548":"jB kB"},J:{"1":"C A"},K:{"1":"8 9 A B D L x"},L:{"1":"g"},M:{"1":"v"},N:{"1":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:4,C:"CSS3 Background-image options"}; diff --git a/publi/node_modules/caniuse-lite/data/features/background-position-x-y.js b/publi/node_modules/caniuse-lite/data/features/background-position-x-y.js deleted file mode 100644 index ffc2028..0000000 --- a/publi/node_modules/caniuse-lite/data/features/background-position-x-y.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"K C G E A B CB"},B:{"1":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 s t y z v","2":"1 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r TB SB"},D:{"1":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"1":"F J K C G E A B GB AB IB JB KB LB MB NB"},F:{"1":"I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t","2":"8 9 E B D OB PB QB RB UB x"},G:{"1":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"2":"hB"},I:{"1":"1 F g iB jB kB lB BB mB nB"},J:{"1":"C A"},K:{"1":"L","2":"8 9 A B D x"},L:{"1":"g"},M:{"1":"v"},N:{"1":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:7,C:"background-position-x & background-position-y"}; diff --git a/publi/node_modules/caniuse-lite/data/features/background-repeat-round-space.js b/publi/node_modules/caniuse-lite/data/features/background-repeat-round-space.js deleted file mode 100644 index 6a298a9..0000000 --- a/publi/node_modules/caniuse-lite/data/features/background-repeat-round-space.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"A B","2":"K C G CB","132":"E"},B:{"1":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 s t y z v","2":"1 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r TB SB"},D:{"1":"0 2 3 4 5 6 7 b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB","2":"F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a"},E:{"1":"C G E A B KB LB MB NB","2":"F J K GB AB IB JB"},F:{"1":"8 9 B D O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t QB RB UB x","2":"E I M H N OB PB"},G:{"1":"G aB bB cB dB eB fB gB","2":"AB WB BB YB ZB"},H:{"1":"hB"},I:{"1":"g mB nB","2":"1 F iB jB kB lB BB"},J:{"1":"A","2":"C"},K:{"1":"8 9 B D L x","2":"A"},L:{"1":"g"},M:{"1":"v"},N:{"1":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:4,C:"CSS background-repeat round and space"}; diff --git a/publi/node_modules/caniuse-lite/data/features/battery-status.js b/publi/node_modules/caniuse-lite/data/features/battery-status.js deleted file mode 100644 index 98b4e5d..0000000 --- a/publi/node_modules/caniuse-lite/data/features/battery-status.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"2":"D u Y I M H"},C:{"1":"m n o p q r s t y","2":"0 1 2 3 4 5 6 7 VB F J K C G E z v TB SB","132":"M H N O P Q R S T U V W X w Z a b c d e f L h i j k l","164":"A B D u Y I"},D:{"1":"0 2 3 4 5 6 7 h i j k l m n o p q r s t y z v HB g DB XB EB FB","2":"F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f","66":"L"},E:{"2":"F J K C G E A B GB AB IB JB KB LB MB NB"},F:{"1":"U V W X w Z a b c d e f L h i j k l m n o p q r s t","2":"8 9 E B D I M H N O P Q R S T OB PB QB RB UB x"},G:{"2":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"2":"hB"},I:{"1":"g","2":"1 F iB jB kB lB BB mB nB"},J:{"2":"C A"},K:{"1":"L","2":"8 9 A B D x"},L:{"1":"g"},M:{"1":"v"},N:{"2":"A B"},O:{"132":"oB"},P:{"1":"F J pB"},Q:{"2":"qB"},R:{"1":"rB"}},B:4,C:"Battery Status API"}; diff --git a/publi/node_modules/caniuse-lite/data/features/beacon.js b/publi/node_modules/caniuse-lite/data/features/beacon.js deleted file mode 100644 index 914bece..0000000 --- a/publi/node_modules/caniuse-lite/data/features/beacon.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"1":"Y I M H","2":"D u"},C:{"1":"0 2 3 4 5 6 7 a b c d e f L h i j k l m n o p q r s t y z v","2":"1 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z TB SB"},D:{"1":"0 2 3 4 5 6 7 i j k l m n o p q r s t y z v HB g DB XB EB FB","2":"F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h"},E:{"1":"NB","2":"F J K C G E A B GB AB IB JB KB LB MB"},F:{"1":"V W X w Z a b c d e f L h i j k l m n o p q r s t","2":"8 9 E B D I M H N O P Q R S T U OB PB QB RB UB x"},G:{"2":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"2":"hB"},I:{"1":"g","2":"1 F iB jB kB lB BB mB nB"},J:{"2":"C A"},K:{"1":"L","2":"8 9 A B D x"},L:{"1":"g"},M:{"1":"v"},N:{"2":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:5,C:"Beacon API"}; diff --git a/publi/node_modules/caniuse-lite/data/features/beforeafterprint.js b/publi/node_modules/caniuse-lite/data/features/beforeafterprint.js deleted file mode 100644 index a814999..0000000 --- a/publi/node_modules/caniuse-lite/data/features/beforeafterprint.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"K C G E A B","16":"CB"},B:{"1":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v","2":"1 VB F J TB SB"},D:{"2":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"2":"F J K C G E A B GB AB IB JB KB LB MB NB"},F:{"2":"8 9 E B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t OB PB QB RB UB x"},G:{"2":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"2":"hB"},I:{"2":"1 F g iB jB kB lB BB mB nB"},J:{"16":"C A"},K:{"2":"8 9 A B D L x"},L:{"2":"g"},M:{"1":"v"},N:{"16":"A B"},O:{"16":"oB"},P:{"2":"J pB","16":"F"},Q:{"2":"qB"},R:{"2":"rB"}},B:2,C:"Printing Events"}; diff --git a/publi/node_modules/caniuse-lite/data/features/blobbuilder.js b/publi/node_modules/caniuse-lite/data/features/blobbuilder.js deleted file mode 100644 index 646a5a6..0000000 --- a/publi/node_modules/caniuse-lite/data/features/blobbuilder.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"A B","2":"K C G E CB"},B:{"1":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v","2":"1 VB F J TB SB","36":"K C G E A B D"},D:{"1":"0 2 3 4 5 6 7 P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB","2":"F J K C","36":"G E A B D u Y I M H N O"},E:{"1":"K C G E A B JB KB LB MB NB","2":"F J GB AB IB"},F:{"1":"I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t x","2":"8 9 E B D OB PB QB RB UB"},G:{"1":"G ZB aB bB cB dB eB fB gB","2":"AB WB BB YB"},H:{"2":"hB"},I:{"1":"g","2":"iB jB kB","36":"1 F lB BB mB nB"},J:{"1":"A","2":"C"},K:{"1":"L x","2":"8 9 A B D"},L:{"1":"g"},M:{"1":"v"},N:{"1":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:5,C:"Blob constructing"}; diff --git a/publi/node_modules/caniuse-lite/data/features/bloburls.js b/publi/node_modules/caniuse-lite/data/features/bloburls.js deleted file mode 100644 index c1d1d75..0000000 --- a/publi/node_modules/caniuse-lite/data/features/bloburls.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"A B","2":"K C G E CB"},B:{"129":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v","2":"1 VB TB SB"},D:{"1":"0 2 3 4 5 6 7 S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB","2":"F J K C","33":"G E A B D u Y I M H N O P Q R"},E:{"1":"C G E A B JB KB LB MB NB","2":"F J GB AB IB","33":"K"},F:{"1":"I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t","2":"8 9 E B D OB PB QB RB UB x"},G:{"1":"G aB bB cB dB eB fB gB","2":"AB WB BB YB","33":"ZB"},H:{"2":"hB"},I:{"1":"g mB nB","2":"1 iB jB kB","33":"F lB BB"},J:{"1":"A","2":"C"},K:{"1":"L","2":"8 9 A B D x"},L:{"1":"g"},M:{"1":"v"},N:{"1":"B","2":"A"},O:{"33":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:5,C:"Blob URLs"}; diff --git a/publi/node_modules/caniuse-lite/data/features/border-image.js b/publi/node_modules/caniuse-lite/data/features/border-image.js deleted file mode 100644 index 4b330f8..0000000 --- a/publi/node_modules/caniuse-lite/data/features/border-image.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"B","2":"K C G E A CB"},B:{"1":"Y I M H","129":"D u"},C:{"1":"0 2 3 4 5 6 7 t y z v","2":"1 VB","260":"I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s","804":"F J K C G E A B D u Y TB SB"},D:{"260":"0 2 3 4 5 6 7 y z v HB g DB XB EB FB","388":"Z a b c d e f L h i j k l m n o p q r s t","1412":"I M H N O P Q R S T U V W X w","1956":"F J K C G E A B D u Y"},E:{"129":"A B LB MB NB","1412":"K C G E JB KB","1956":"F J GB AB IB"},F:{"2":"E OB PB","260":"h i j k l m n o p q r s t","388":"I M H N O P Q R S T U V W X w Z a b c d e f L","1796":"QB RB","1828":"8 9 B D UB x"},G:{"129":"dB eB fB gB","1412":"G ZB aB bB cB","1956":"AB WB BB YB"},H:{"1828":"hB"},I:{"388":"g mB nB","1956":"1 F iB jB kB lB BB"},J:{"1412":"A","1924":"C"},K:{"2":"A","388":"L","1828":"8 9 B D x"},L:{"260":"g"},M:{"1":"v"},N:{"1":"B","2":"A"},O:{"388":"oB"},P:{"260":"J pB","388":"F"},Q:{"260":"qB"},R:{"260":"rB"}},B:4,C:"CSS3 Border images"}; diff --git a/publi/node_modules/caniuse-lite/data/features/border-radius.js b/publi/node_modules/caniuse-lite/data/features/border-radius.js deleted file mode 100644 index 53045a2..0000000 --- a/publi/node_modules/caniuse-lite/data/features/border-radius.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"E A B","2":"K C G CB"},B:{"1":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 t y z v","257":"F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s","289":"1 TB SB","292":"VB"},D:{"1":"0 2 3 4 5 6 7 J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB","33":"F"},E:{"1":"J C G E A B KB LB MB NB","33":"F GB AB","129":"K IB JB"},F:{"1":"8 9 B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t QB RB UB x","2":"E OB PB"},G:{"1":"G WB BB YB ZB aB bB cB dB eB fB gB","33":"AB"},H:{"2":"hB"},I:{"1":"1 F g jB kB lB BB mB nB","33":"iB"},J:{"1":"C A"},K:{"1":"8 9 B D L x","2":"A"},L:{"1":"g"},M:{"1":"v"},N:{"1":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:4,C:"CSS3 Border-radius (rounded corners)"}; diff --git a/publi/node_modules/caniuse-lite/data/features/broadcastchannel.js b/publi/node_modules/caniuse-lite/data/features/broadcastchannel.js deleted file mode 100644 index 605d00b..0000000 --- a/publi/node_modules/caniuse-lite/data/features/broadcastchannel.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"2":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 h i j k l m n o p q r s t y z v","2":"1 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L TB SB"},D:{"1":"2 3 4 5 6 7 v HB g DB XB EB FB","2":"0 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z"},E:{"2":"F J K C G E A B GB AB IB JB KB LB MB NB"},F:{"1":"k l m n o p q r s t","2":"8 9 E B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j OB PB QB RB UB x"},G:{"2":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"2":"hB"},I:{"1":"g","2":"1 F iB jB kB lB BB mB nB"},J:{"2":"C A"},K:{"2":"8 9 A B D L x"},L:{"1":"g"},M:{"1":"v"},N:{"2":"A B"},O:{"2":"oB"},P:{"2":"F J pB"},Q:{"2":"qB"},R:{"2":"rB"}},B:1,C:"BroadcastChannel"}; diff --git a/publi/node_modules/caniuse-lite/data/features/brotli.js b/publi/node_modules/caniuse-lite/data/features/brotli.js deleted file mode 100644 index c143adb..0000000 --- a/publi/node_modules/caniuse-lite/data/features/brotli.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"1":"I M H","2":"D u Y"},C:{"1":"0 2 3 4 5 6 7 n o p q r s t y z v","2":"1 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m TB SB"},D:{"1":"0 2 3 4 5 6 7 y z v HB g DB XB EB FB","2":"F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r","194":"s","257":"t"},E:{"2":"F J K C G E A GB AB IB JB KB LB MB","513":"B NB"},F:{"1":"h i j k l m n o p q r s t","2":"8 9 E B D I M H N O P Q R S T U V W X w Z a b c d e OB PB QB RB UB x","194":"f L"},G:{"1":"gB","2":"G AB WB BB YB ZB aB bB cB dB eB fB"},H:{"2":"hB"},I:{"2":"1 F iB jB kB lB BB mB nB","257":"g"},J:{"2":"C A"},K:{"2":"8 9 A B D L x"},L:{"1":"g"},M:{"1":"v"},N:{"2":"A B"},O:{"2":"oB"},P:{"1":"J pB","2":"F"},Q:{"1":"qB"},R:{"2":"rB"}},B:6,C:"Brotli Accept-Encoding/Content-Encoding"}; diff --git a/publi/node_modules/caniuse-lite/data/features/calc.js b/publi/node_modules/caniuse-lite/data/features/calc.js deleted file mode 100644 index eaaf2a8..0000000 --- a/publi/node_modules/caniuse-lite/data/features/calc.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"A B","2":"K C G CB","260":"E"},B:{"1":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v","2":"1 VB TB SB","33":"F J K C G E A B D u Y I"},D:{"1":"0 2 3 4 5 6 7 V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB","2":"F J K C G E A B D u Y I M H N","33":"O P Q R S T U"},E:{"1":"C G E A B JB KB LB MB NB","2":"F J GB AB IB","33":"K"},F:{"1":"I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t","2":"8 9 E B D OB PB QB RB UB x"},G:{"1":"G aB bB cB dB eB fB gB","2":"AB WB BB YB","33":"ZB"},H:{"2":"hB"},I:{"1":"g","2":"1 F iB jB kB lB BB","132":"mB nB"},J:{"1":"A","2":"C"},K:{"1":"L","2":"8 9 A B D x"},L:{"1":"g"},M:{"1":"v"},N:{"1":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:4,C:"calc() as CSS unit value"}; diff --git a/publi/node_modules/caniuse-lite/data/features/canvas-blending.js b/publi/node_modules/caniuse-lite/data/features/canvas-blending.js deleted file mode 100644 index f84ccf6..0000000 --- a/publi/node_modules/caniuse-lite/data/features/canvas-blending.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"1":"u Y I M H","2":"D"},C:{"1":"0 2 3 4 5 6 7 P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v","2":"1 VB F J K C G E A B D u Y I M H N O TB SB"},D:{"1":"0 2 3 4 5 6 7 Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB","2":"F J K C G E A B D u Y I M H N O P Q R S T U V W X w"},E:{"1":"C G E A B JB KB LB MB NB","2":"F J K GB AB IB"},F:{"1":"H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t","2":"8 9 E B D I M OB PB QB RB UB x"},G:{"1":"G aB bB cB dB eB fB gB","2":"AB WB BB YB ZB"},H:{"2":"hB"},I:{"1":"g mB nB","2":"1 F iB jB kB lB BB"},J:{"2":"C A"},K:{"1":"L","2":"8 9 A B D x"},L:{"1":"g"},M:{"1":"v"},N:{"2":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:4,C:"Canvas blend modes"}; diff --git a/publi/node_modules/caniuse-lite/data/features/canvas-text.js b/publi/node_modules/caniuse-lite/data/features/canvas-text.js deleted file mode 100644 index d4851f2..0000000 --- a/publi/node_modules/caniuse-lite/data/features/canvas-text.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"E A B","2":"CB","8":"K C G"},B:{"1":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v TB SB","8":"1 VB"},D:{"1":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"1":"F J K C G E A B IB JB KB LB MB NB","8":"GB AB"},F:{"1":"8 9 B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t QB RB UB x","8":"E OB PB"},G:{"1":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"2":"hB"},I:{"1":"1 F g iB jB kB lB BB mB nB"},J:{"1":"C A"},K:{"1":"8 9 B D L x","8":"A"},L:{"1":"g"},M:{"1":"v"},N:{"1":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:1,C:"Text API for Canvas"}; diff --git a/publi/node_modules/caniuse-lite/data/features/canvas.js b/publi/node_modules/caniuse-lite/data/features/canvas.js deleted file mode 100644 index f07a94c..0000000 --- a/publi/node_modules/caniuse-lite/data/features/canvas.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"E A B","2":"CB","8":"K C G"},B:{"1":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v SB","132":"1 VB TB"},D:{"1":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"1":"F J K C G E A B IB JB KB LB MB NB","132":"GB AB"},F:{"1":"8 9 E B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t OB PB QB RB UB x"},G:{"1":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"260":"hB"},I:{"1":"1 F g lB BB mB nB","132":"iB jB kB"},J:{"1":"C A"},K:{"1":"8 9 A B D L x"},L:{"1":"g"},M:{"1":"v"},N:{"1":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:1,C:"Canvas (basic support)"}; diff --git a/publi/node_modules/caniuse-lite/data/features/ch-unit.js b/publi/node_modules/caniuse-lite/data/features/ch-unit.js deleted file mode 100644 index 20b001f..0000000 --- a/publi/node_modules/caniuse-lite/data/features/ch-unit.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G CB","132":"E A B"},B:{"1":"D u Y I M H"},C:{"1":"0 1 2 3 4 5 6 7 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v TB SB"},D:{"1":"0 2 3 4 5 6 7 W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB","2":"F J K C G E A B D u Y I M H N O P Q R S T U V"},E:{"1":"C G E A B KB LB MB NB","2":"F J K GB AB IB JB"},F:{"1":"I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t","2":"8 9 E B D OB PB QB RB UB x"},G:{"1":"G aB bB cB dB eB fB gB","2":"AB WB BB YB ZB"},H:{"2":"hB"},I:{"1":"g mB nB","2":"1 F iB jB kB lB BB"},J:{"1":"A","2":"C"},K:{"1":"L","2":"8 9 A B D x"},L:{"1":"g"},M:{"1":"v"},N:{"1":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:4,C:"ch (character) unit"}; diff --git a/publi/node_modules/caniuse-lite/data/features/chacha20-poly1305.js b/publi/node_modules/caniuse-lite/data/features/chacha20-poly1305.js deleted file mode 100644 index 93e0195..0000000 --- a/publi/node_modules/caniuse-lite/data/features/chacha20-poly1305.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"2":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 q r s t y z v","2":"1 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p TB SB"},D:{"1":"0 2 3 4 5 6 7 s t y z v HB g DB XB EB FB","2":"F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b","129":"c d e f L h i j k l m n o p q r"},E:{"2":"F J K C G E A B GB AB IB JB KB LB MB NB"},F:{"1":"f L h i j k l m n o p q r s t","2":"8 9 E B D I M H N O P Q R S T U V W X w Z a b c d e OB PB QB RB UB x"},G:{"2":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"2":"hB"},I:{"1":"g","2":"1 F iB jB kB lB BB mB","16":"nB"},J:{"2":"C A"},K:{"1":"L","2":"8 9 A B D x"},L:{"1":"g"},M:{"1":"v"},N:{"2":"A B"},O:{"2":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:6,C:"ChaCha20-Poly1305 cipher suites for TLS"}; diff --git a/publi/node_modules/caniuse-lite/data/features/channel-messaging.js b/publi/node_modules/caniuse-lite/data/features/channel-messaging.js deleted file mode 100644 index c538307..0000000 --- a/publi/node_modules/caniuse-lite/data/features/channel-messaging.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"A B","2":"K C G E CB"},B:{"1":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 k l m n o p q r s t y z v","2":"1 VB F J K C G E A B D u Y I M H N O P Q R S T U TB SB","194":"V W X w Z a b c d e f L h i j"},D:{"1":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"1":"J K C G E A B IB JB KB LB MB NB","2":"F GB AB"},F:{"1":"8 9 B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t RB UB x","2":"E OB PB","16":"QB"},G:{"1":"G YB ZB aB bB cB dB eB fB gB","2":"AB WB BB"},H:{"2":"hB"},I:{"1":"g mB nB","2":"1 F iB jB kB lB BB"},J:{"1":"C A"},K:{"1":"8 9 B D L x","2":"A"},L:{"1":"g"},M:{"1":"v"},N:{"1":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:1,C:"Channel messaging"}; diff --git a/publi/node_modules/caniuse-lite/data/features/childnode-remove.js b/publi/node_modules/caniuse-lite/data/features/childnode-remove.js deleted file mode 100644 index 0bed06d..0000000 --- a/publi/node_modules/caniuse-lite/data/features/childnode-remove.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"1":"u Y I M H","16":"D"},C:{"1":"0 2 3 4 5 6 7 S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v","2":"1 VB F J K C G E A B D u Y I M H N O P Q R TB SB"},D:{"1":"0 2 3 4 5 6 7 T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB","2":"F J K C G E A B D u Y I M H N O P Q R S"},E:{"1":"C G E A B JB KB LB MB NB","2":"F J GB AB IB","16":"K"},F:{"1":"I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t","2":"8 9 E B D OB PB QB RB UB x"},G:{"1":"G aB bB cB dB eB fB gB","2":"AB WB BB YB ZB"},H:{"2":"hB"},I:{"1":"g mB nB","2":"1 F iB jB kB lB BB"},J:{"1":"A","2":"C"},K:{"1":"L","2":"8 9 A B D x"},L:{"1":"g"},M:{"1":"v"},N:{"2":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:1,C:"ChildNode.remove()"}; diff --git a/publi/node_modules/caniuse-lite/data/features/classlist.js b/publi/node_modules/caniuse-lite/data/features/classlist.js deleted file mode 100644 index b9bb6d8..0000000 --- a/publi/node_modules/caniuse-lite/data/features/classlist.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"8":"K C G E CB","900":"A","1924":"B"},B:{"1":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 V W X w Z a b c d e f L h i j k l m n o p q r s t y z v","8":"1 VB TB","516":"T U","772":"F J K C G E A B D u Y I M H N O P Q R S SB"},D:{"1":"0 2 3 4 5 6 7 X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB","8":"F J K C","516":"T U V W","772":"S","900":"G E A B D u Y I M H N O P Q R"},E:{"1":"C G E A B KB LB MB NB","8":"F J GB AB","900":"K IB JB"},F:{"1":"I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t","8":"9 E B OB PB QB RB","900":"8 D UB x"},G:{"1":"G aB bB cB dB eB fB gB","8":"AB WB BB","900":"YB ZB"},H:{"900":"hB"},I:{"1":"g mB nB","8":"iB jB kB","900":"1 F lB BB"},J:{"1":"A","900":"C"},K:{"1":"L","8":"A B","900":"8 9 D x"},L:{"1":"g"},M:{"1":"v"},N:{"900":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:1,C:"classList (DOMTokenList)"}; diff --git a/publi/node_modules/caniuse-lite/data/features/client-hints-dpr-width-viewport.js b/publi/node_modules/caniuse-lite/data/features/client-hints-dpr-width-viewport.js deleted file mode 100644 index f9d7546..0000000 --- a/publi/node_modules/caniuse-lite/data/features/client-hints-dpr-width-viewport.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"2":"D u Y I M H"},C:{"2":"0 1 2 3 4 5 6 7 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v TB SB"},D:{"1":"0 2 3 4 5 6 7 p q r s t y z v HB g DB XB EB FB","2":"F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o"},E:{"2":"F J K C G E A B GB AB IB JB KB LB MB NB"},F:{"1":"c d e f L h i j k l m n o p q r s t","2":"8 9 E B D I M H N O P Q R S T U V W X w Z a b OB PB QB RB UB x"},G:{"2":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"2":"hB"},I:{"1":"g","2":"1 F iB jB kB lB BB mB nB"},J:{"2":"C A"},K:{"1":"L","2":"8 9 A B D x"},L:{"1":"g"},M:{"2":"v"},N:{"2":"A B"},O:{"2":"oB"},P:{"1":"J pB","2":"F"},Q:{"2":"qB"},R:{"1":"rB"}},B:6,C:"Client Hints: DPR, Width, Viewport-Width"}; diff --git a/publi/node_modules/caniuse-lite/data/features/clipboard.js b/publi/node_modules/caniuse-lite/data/features/clipboard.js deleted file mode 100644 index cac27c7..0000000 --- a/publi/node_modules/caniuse-lite/data/features/clipboard.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2436":"K C G E A B CB"},B:{"2436":"D u Y I M H"},C:{"2":"1 VB F J K C G E A B D u Y I M H N O P Q TB SB","772":"R S T U V W X w Z a b c d e f L h i j","4100":"0 2 3 4 5 6 7 k l m n o p q r s t y z v"},D:{"2":"F J K C G E A B D","2564":"u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l","10244":"0 2 3 4 5 6 7 m n o p q r s t y z v HB g DB XB EB FB"},E:{"16":"GB AB","2308":"A B MB NB","2820":"F J K C G E IB JB KB LB"},F:{"2":"8 9 E B OB PB QB RB UB","16":"D","516":"x","2564":"I M H N O P Q R S T U V W X w","10244":"Z a b c d e f L h i j k l m n o p q r s t"},G:{"2":"AB WB BB","2820":"G YB ZB aB bB cB dB eB fB gB"},H:{"2":"hB"},I:{"2":"1 F iB jB kB lB BB","2308":"g mB nB"},J:{"2":"C","2308":"A"},K:{"2":"8 9 A B D","16":"x","3076":"L"},L:{"2052":"g"},M:{"1028":"v"},N:{"2":"A B"},O:{"2":"oB"},P:{"2052":"J pB","2308":"F"},Q:{"10244":"qB"},R:{"2052":"rB"}},B:5,C:"Clipboard API"}; diff --git a/publi/node_modules/caniuse-lite/data/features/comparedocumentposition.js b/publi/node_modules/caniuse-lite/data/features/comparedocumentposition.js deleted file mode 100644 index 81cf263..0000000 --- a/publi/node_modules/caniuse-lite/data/features/comparedocumentposition.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"E A B","2":"K C G CB"},B:{"1":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v","16":"1 VB TB SB"},D:{"1":"0 2 3 4 5 6 7 Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB","16":"F J K C G E A B D u Y","132":"I M H N O P Q R S T U V W X w"},E:{"1":"A B MB NB","16":"F J K GB AB","132":"C G E JB KB LB","260":"IB"},F:{"1":"D H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t UB x","16":"8 9 E B OB PB QB RB","132":"I M"},G:{"1":"eB fB gB","16":"AB","132":"G WB BB YB ZB aB bB cB dB"},H:{"1":"hB"},I:{"1":"g mB nB","16":"iB jB","132":"1 F kB lB BB"},J:{"132":"C A"},K:{"1":"D L x","16":"8 9 A B"},L:{"1":"g"},M:{"1":"v"},N:{"1":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:1,C:"Node.compareDocumentPosition()"}; diff --git a/publi/node_modules/caniuse-lite/data/features/console-basic.js b/publi/node_modules/caniuse-lite/data/features/console-basic.js deleted file mode 100644 index 33c4bf4..0000000 --- a/publi/node_modules/caniuse-lite/data/features/console-basic.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"A B","2":"K C CB","132":"G E"},B:{"1":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v","2":"1 VB TB SB"},D:{"1":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"1":"F J K C G E A B GB AB IB JB KB LB MB NB"},F:{"1":"8 9 B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t UB x","2":"E OB PB QB RB"},G:{"1":"AB WB BB YB","513":"G ZB aB bB cB dB eB fB gB"},H:{"4097":"hB"},I:{"1025":"1 F g iB jB kB lB BB mB nB"},J:{"258":"C A"},K:{"2":"A","258":"8 9 B D L x"},L:{"1025":"g"},M:{"2049":"v"},N:{"258":"A B"},O:{"258":"oB"},P:{"1025":"F J pB"},Q:{"1":"qB"},R:{"1025":"rB"}},B:1,C:"Basic console logging functions"}; diff --git a/publi/node_modules/caniuse-lite/data/features/console-time.js b/publi/node_modules/caniuse-lite/data/features/console-time.js deleted file mode 100644 index 758e260..0000000 --- a/publi/node_modules/caniuse-lite/data/features/console-time.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"B","2":"K C G E A CB"},B:{"1":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v","2":"1 VB F J K C G E TB SB"},D:{"1":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"1":"F J K C G E A B IB JB KB LB MB NB","2":"GB AB"},F:{"1":"8 9 D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t UB x","2":"E OB PB QB RB","16":"B"},G:{"1":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"1":"hB"},I:{"1":"1 F g iB jB kB lB BB mB nB"},J:{"1":"C A"},K:{"1":"L","16":"8 9 A B D x"},L:{"1":"g"},M:{"1":"v"},N:{"1":"B","2":"A"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:1,C:"console.time and console.timeEnd"}; diff --git a/publi/node_modules/caniuse-lite/data/features/const.js b/publi/node_modules/caniuse-lite/data/features/const.js deleted file mode 100644 index daffa36..0000000 --- a/publi/node_modules/caniuse-lite/data/features/const.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"B","2":"K C G E A CB"},B:{"1":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 f L h i j k l m n o p q r s t y z v","132":"1 VB F J K C G E A B D TB SB","260":"u Y I M H N O P Q R S T U V W X w Z a b c d e"},D:{"1":"0 2 3 4 5 6 7 s t y z v HB g DB XB EB FB","260":"F J K C G E A B D u Y I M H N O P","772":"Q R S T U V W X w Z a b c d e f L h i j","1028":"k l m n o p q r"},E:{"1":"A B MB NB","260":"F J GB AB","772":"K C G E IB JB KB LB"},F:{"1":"f L h i j k l m n o p q r s t","2":"E OB","132":"8 9 B PB QB RB","644":"D UB x","772":"I M H N O P Q R S T U V W","1028":"X w Z a b c d e"},G:{"1":"eB fB gB","260":"AB WB BB","772":"G YB ZB aB bB cB dB"},H:{"644":"hB"},I:{"1":"g","16":"iB jB","260":"kB","772":"1 F lB BB mB nB"},J:{"772":"C A"},K:{"1":"L","132":"8 9 A B","644":"D x"},L:{"1":"g"},M:{"1":"v"},N:{"1":"B","2":"A"},O:{"772":"oB"},P:{"1":"J pB","1028":"F"},Q:{"772":"qB"},R:{"1028":"rB"}},B:6,C:"const"}; diff --git a/publi/node_modules/caniuse-lite/data/features/constraint-validation.js b/publi/node_modules/caniuse-lite/data/features/constraint-validation.js deleted file mode 100644 index 02110fc..0000000 --- a/publi/node_modules/caniuse-lite/data/features/constraint-validation.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E CB","900":"A B"},B:{"388":"Y I M H","900":"D u"},C:{"1":"0 2 3 4 5 6 7 y z v","2":"1 VB TB SB","260":"s t","388":"w Z a b c d e f L h i j k l m n o p q r","900":"F J K C G E A B D u Y I M H N O P Q R S T U V W X"},D:{"1":"0 2 3 4 5 6 7 j k l m n o p q r s t y z v HB g DB XB EB FB","16":"F J K C G E A B D u Y","388":"U V W X w Z a b c d e f L h i","900":"I M H N O P Q R S T"},E:{"1":"A B MB NB","16":"F J GB AB","388":"G E KB LB","900":"K C IB JB"},F:{"1":"W X w Z a b c d e f L h i j k l m n o p q r s t","16":"8 9 E B OB PB QB RB","388":"I M H N O P Q R S T U V","900":"D UB x"},G:{"1":"eB fB gB","16":"AB WB BB","388":"G aB bB cB dB","900":"YB ZB"},H:{"2":"hB"},I:{"1":"g","16":"1 iB jB kB","388":"mB nB","900":"F lB BB"},J:{"16":"C","388":"A"},K:{"1":"L","16":"8 9 A B","900":"D x"},L:{"1":"g"},M:{"1":"v"},N:{"900":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"388":"qB"},R:{"1":"rB"}},B:1,C:"Constraint Validation API"}; diff --git a/publi/node_modules/caniuse-lite/data/features/contenteditable.js b/publi/node_modules/caniuse-lite/data/features/contenteditable.js deleted file mode 100644 index 78554b6..0000000 --- a/publi/node_modules/caniuse-lite/data/features/contenteditable.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"K C G E A B CB"},B:{"1":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v TB SB","2":"VB","4":"1"},D:{"1":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"1":"F J K C G E A B GB AB IB JB KB LB MB NB"},F:{"1":"8 9 E B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t OB PB QB RB UB x"},G:{"1":"G YB ZB aB bB cB dB eB fB gB","2":"AB WB BB"},H:{"2":"hB"},I:{"1":"1 F g lB BB mB nB","2":"iB jB kB"},J:{"1":"C A"},K:{"1":"L x","2":"8 9 A B D"},L:{"1":"g"},M:{"1":"v"},N:{"1":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:1,C:"contenteditable attribute (basic support)"}; diff --git a/publi/node_modules/caniuse-lite/data/features/contentsecuritypolicy.js b/publi/node_modules/caniuse-lite/data/features/contentsecuritypolicy.js deleted file mode 100644 index 469b934..0000000 --- a/publi/node_modules/caniuse-lite/data/features/contentsecuritypolicy.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E CB","132":"A B"},B:{"1":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v","2":"1 VB TB SB","129":"F J K C G E A B D u Y I M H N O P Q R"},D:{"1":"0 2 3 4 5 6 7 U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB","2":"F J K C G E A B D u","257":"Y I M H N O P Q R S T"},E:{"1":"C G E A B KB LB MB NB","2":"F J GB AB","257":"K JB","260":"IB"},F:{"1":"I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t","2":"8 9 E B D OB PB QB RB UB x"},G:{"1":"G aB bB cB dB eB fB gB","2":"AB WB BB","257":"ZB","260":"YB"},H:{"2":"hB"},I:{"1":"g mB nB","2":"1 F iB jB kB lB BB"},J:{"2":"C","257":"A"},K:{"1":"L","2":"8 9 A B D x"},L:{"1":"g"},M:{"1":"v"},N:{"132":"A B"},O:{"257":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:4,C:"Content Security Policy 1.0"}; diff --git a/publi/node_modules/caniuse-lite/data/features/contentsecuritypolicy2.js b/publi/node_modules/caniuse-lite/data/features/contentsecuritypolicy2.js deleted file mode 100644 index 1d6aead..0000000 --- a/publi/node_modules/caniuse-lite/data/features/contentsecuritypolicy2.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"1":"I M H","2":"D u Y"},C:{"2":"1 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z TB SB","132":"a b c d","260":"e","516":"f L h i j k l m n","8196":"0 2 3 4 5 6 7 o p q r s t y z v"},D:{"1":"0 2 3 4 5 6 7 j k l m n o p q r s t y z v HB g DB XB EB FB","2":"F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e","1028":"f L h","2052":"i"},E:{"1":"A B MB NB","2":"F J K C G E GB AB IB JB KB LB"},F:{"1":"W X w Z a b c d e f L h i j k l m n o p q r s t","2":"8 9 E B D I M H N O P Q R OB PB QB RB UB x","1028":"S T U","2052":"V"},G:{"1":"dB eB fB gB","2":"G AB WB BB YB ZB aB bB cB"},H:{"2":"hB"},I:{"1":"g","2":"1 F iB jB kB lB BB mB nB"},J:{"2":"C A"},K:{"1":"L","2":"8 9 A B D x"},L:{"1":"g"},M:{"4100":"v"},N:{"2":"A B"},O:{"2":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:4,C:"Content Security Policy Level 2"}; diff --git a/publi/node_modules/caniuse-lite/data/features/cors.js b/publi/node_modules/caniuse-lite/data/features/cors.js deleted file mode 100644 index c2c5dfb..0000000 --- a/publi/node_modules/caniuse-lite/data/features/cors.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"B","2":"K C CB","132":"A","260":"G E"},B:{"1":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v TB SB","2":"1 VB"},D:{"1":"0 2 3 4 5 6 7 u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB","132":"F J K C G E A B D"},E:{"2":"GB AB","513":"K C G E A B JB KB LB MB NB","644":"F J IB"},F:{"1":"D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t x","2":"8 9 E B OB PB QB RB UB"},G:{"513":"G ZB aB bB cB dB eB fB gB","644":"AB WB BB YB"},H:{"2":"hB"},I:{"1":"g mB nB","132":"1 F iB jB kB lB BB"},J:{"1":"A","132":"C"},K:{"1":"D L x","2":"8 9 A B"},L:{"1":"g"},M:{"1":"v"},N:{"1":"B","132":"A"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:1,C:"Cross-Origin Resource Sharing"}; diff --git a/publi/node_modules/caniuse-lite/data/features/credential-management.js b/publi/node_modules/caniuse-lite/data/features/credential-management.js deleted file mode 100644 index 4ccb335..0000000 --- a/publi/node_modules/caniuse-lite/data/features/credential-management.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"2":"D u Y I M H"},C:{"2":"0 1 2 3 4 5 6 7 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v TB SB"},D:{"1":"5 6 7 v HB g DB XB EB FB","2":"F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q","66":"r s t","129":"0 2 3 4 y z"},E:{"2":"F J K C G E A B GB AB IB JB KB LB MB NB"},F:{"1":"o p q r s t","2":"8 9 E B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n OB PB QB RB UB x"},G:{"2":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"2":"hB"},I:{"1":"g","2":"1 F iB jB kB lB BB mB nB"},J:{"2":"C A"},K:{"2":"8 9 A B D L x"},L:{"1":"g"},M:{"2":"v"},N:{"2":"A B"},O:{"2":"oB"},P:{"2":"F J pB"},Q:{"2":"qB"},R:{"2":"rB"}},B:5,C:"Credential Management API"}; diff --git a/publi/node_modules/caniuse-lite/data/features/cryptography.js b/publi/node_modules/caniuse-lite/data/features/cryptography.js deleted file mode 100644 index 86e9465..0000000 --- a/publi/node_modules/caniuse-lite/data/features/cryptography.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"CB","8":"K C G E A","164":"B"},B:{"1":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 d e f L h i j k l m n o p q r s t y z v","8":"1 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a TB SB","322":"b c"},D:{"1":"0 2 3 4 5 6 7 L h i j k l m n o p q r s t y z v HB g DB XB EB FB","8":"F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f"},E:{"1":"B NB","8":"F J K C GB AB IB JB","545":"G E A KB LB MB"},F:{"1":"T U V W X w Z a b c d e f L h i j k l m n o p q r s t","8":"8 9 E B D I M H N O P Q R S OB PB QB RB UB x"},G:{"1":"gB","8":"AB WB BB YB ZB aB","545":"G bB cB dB eB fB"},H:{"2":"hB"},I:{"1":"g","8":"1 F iB jB kB lB BB mB nB"},J:{"8":"C A"},K:{"1":"L","8":"8 9 A B D x"},L:{"1":"g"},M:{"8":"v"},N:{"8":"A","164":"B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:4,C:"Web Cryptography"}; diff --git a/publi/node_modules/caniuse-lite/data/features/css-all.js b/publi/node_modules/caniuse-lite/data/features/css-all.js deleted file mode 100644 index af5427f..0000000 --- a/publi/node_modules/caniuse-lite/data/features/css-all.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"2":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 W X w Z a b c d e f L h i j k l m n o p q r s t y z v","2":"1 VB F J K C G E A B D u Y I M H N O P Q R S T U V TB SB"},D:{"1":"0 2 3 4 5 6 7 L h i j k l m n o p q r s t y z v HB g DB XB EB FB","2":"F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f"},E:{"1":"A B LB MB NB","2":"F J K C G E GB AB IB JB KB"},F:{"1":"T U V W X w Z a b c d e f L h i j k l m n o p q r s t","2":"8 9 E B D I M H N O P Q R S OB PB QB RB UB x"},G:{"1":"dB eB fB gB","2":"G AB WB BB YB ZB aB bB cB"},H:{"2":"hB"},I:{"1":"g nB","2":"1 F iB jB kB lB BB mB"},J:{"2":"C A"},K:{"1":"L","2":"8 9 A B D x"},L:{"1":"g"},M:{"1":"v"},N:{"2":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:4,C:"CSS all property"}; diff --git a/publi/node_modules/caniuse-lite/data/features/css-animation.js b/publi/node_modules/caniuse-lite/data/features/css-animation.js deleted file mode 100644 index d54ba1e..0000000 --- a/publi/node_modules/caniuse-lite/data/features/css-animation.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"A B","2":"K C G E CB"},B:{"1":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v","2":"1 VB F TB SB","33":"J K C G E A B D u Y I"},D:{"1":"0 2 3 4 5 6 7 m n o p q r s t y z v HB g DB XB EB FB","33":"F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l"},E:{"1":"E A B LB MB NB","2":"GB AB","33":"K C G IB JB KB","292":"F J"},F:{"1":"Z a b c d e f L h i j k l m n o p q r s t x","2":"8 9 E B OB PB QB RB UB","33":"D I M H N O P Q R S T U V W X w"},G:{"1":"cB dB eB fB gB","33":"G ZB aB bB","164":"AB WB BB YB"},H:{"2":"hB"},I:{"1":"g","33":"F lB BB mB nB","164":"1 iB jB kB"},J:{"33":"C A"},K:{"1":"L x","2":"8 9 A B D"},L:{"1":"g"},M:{"1":"v"},N:{"1":"A B"},O:{"33":"oB"},P:{"1":"F J pB"},Q:{"33":"qB"},R:{"1":"rB"}},B:5,C:"CSS Animation"}; diff --git a/publi/node_modules/caniuse-lite/data/features/css-any-link.js b/publi/node_modules/caniuse-lite/data/features/css-any-link.js deleted file mode 100644 index e091d3b..0000000 --- a/publi/node_modules/caniuse-lite/data/features/css-any-link.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"2":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 t y z v","16":"1 VB F J K C G E A B D u Y I M H N O P TB SB","33":"Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s"},D:{"16":"F J K C G E A B D u Y I M H N O P Q R S","33":"0 2 3 4 5 6 7 T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"16":"F J K GB AB IB","33":"C G E A B JB KB LB MB NB"},F:{"2":"8 9 E B D OB PB QB RB UB x","33":"I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t"},G:{"16":"AB WB BB YB","33":"G ZB aB bB cB dB eB fB gB"},H:{"2":"hB"},I:{"16":"1 F iB jB kB lB BB mB nB","33":"g"},J:{"16":"C A"},K:{"2":"8 9 A B D x","33":"L"},L:{"33":"g"},M:{"33":"v"},N:{"2":"A B"},O:{"16":"oB"},P:{"16":"F","33":"J pB"},Q:{"33":"qB"},R:{"33":"rB"}},B:5,C:"CSS :any-link selector"}; diff --git a/publi/node_modules/caniuse-lite/data/features/css-appearance.js b/publi/node_modules/caniuse-lite/data/features/css-appearance.js deleted file mode 100644 index 026fda8..0000000 --- a/publi/node_modules/caniuse-lite/data/features/css-appearance.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"388":"D u Y I M H"},C:{"164":"0 2 3 4 5 6 7 e f L h i j k l m n o p q r s t y z v","676":"1 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d TB SB"},D:{"164":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"164":"F J K C G E A B GB AB IB JB KB LB MB NB"},F:{"2":"8 9 E B D OB PB QB RB UB x","164":"I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t"},G:{"164":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"2":"hB"},I:{"164":"1 F g iB jB kB lB BB mB nB"},J:{"164":"C A"},K:{"2":"8 9 A B D x","164":"L"},L:{"164":"g"},M:{"164":"v"},N:{"2":"A","388":"B"},O:{"164":"oB"},P:{"164":"F J pB"},Q:{"164":"qB"},R:{"164":"rB"}},B:5,C:"CSS Appearance"}; diff --git a/publi/node_modules/caniuse-lite/data/features/css-apply-rule.js b/publi/node_modules/caniuse-lite/data/features/css-apply-rule.js deleted file mode 100644 index 96c7129..0000000 --- a/publi/node_modules/caniuse-lite/data/features/css-apply-rule.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"2":"D u Y","16":"I M H"},C:{"2":"0 1 2 3 4 5 6 7 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v TB SB"},D:{"2":"F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t","194":"0 2 3 4 5 6 7 y z v HB g DB XB EB FB"},E:{"2":"F J K C G E A B GB AB IB JB KB LB MB NB"},F:{"2":"8 9 E B D I M H N O P Q R S T U V W X w Z a b c d e f L OB PB QB RB UB x","194":"h i j k l m n o p q r s t"},G:{"2":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"2":"hB"},I:{"2":"1 F g iB jB kB lB BB mB nB"},J:{"2":"C A"},K:{"2":"8 9 A B D x","194":"L"},L:{"194":"g"},M:{"2":"v"},N:{"2":"A B"},O:{"2":"oB"},P:{"2":"F","194":"J pB"},Q:{"2":"qB"},R:{"194":"rB"}},B:7,C:"CSS @apply rule"}; diff --git a/publi/node_modules/caniuse-lite/data/features/css-at-counter-style.js b/publi/node_modules/caniuse-lite/data/features/css-at-counter-style.js deleted file mode 100644 index 5cd8c4b..0000000 --- a/publi/node_modules/caniuse-lite/data/features/css-at-counter-style.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"2":"D u Y I M H"},C:{"2":"1 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b TB SB","132":"0 2 3 4 5 6 7 c d e f L h i j k l m n o p q r s t y z v"},D:{"2":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"2":"F J K C G E A B GB AB IB JB KB LB MB NB"},F:{"2":"8 9 E B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t OB PB QB RB UB x"},G:{"2":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"2":"hB"},I:{"2":"1 F g iB jB kB lB BB mB nB"},J:{"2":"C A"},K:{"2":"8 9 A B D L x"},L:{"2":"g"},M:{"132":"v"},N:{"2":"A B"},O:{"2":"oB"},P:{"2":"F J pB"},Q:{"2":"qB"},R:{"2":"rB"}},B:4,C:"CSS Counter Styles"}; diff --git a/publi/node_modules/caniuse-lite/data/features/css-backdrop-filter.js b/publi/node_modules/caniuse-lite/data/features/css-backdrop-filter.js deleted file mode 100644 index 548ef01..0000000 --- a/publi/node_modules/caniuse-lite/data/features/css-backdrop-filter.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"2":"D u Y I M H"},C:{"2":"0 1 2 3 4 5 6 7 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v TB SB"},D:{"2":"F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p","194":"0 2 3 4 5 6 7 q r s t y z v HB g DB XB EB FB"},E:{"2":"F J K C G GB AB IB JB KB","33":"E A B LB MB NB"},F:{"2":"8 9 E B D I M H N O P Q R S T U V W X w Z a b c OB PB QB RB UB x","194":"d e f L h i j k l m n o p q r s t"},G:{"2":"G AB WB BB YB ZB aB bB","33":"cB dB eB fB gB"},H:{"2":"hB"},I:{"2":"1 F g iB jB kB lB BB mB nB"},J:{"2":"C A"},K:{"2":"8 9 A B D x","194":"L"},L:{"194":"g"},M:{"2":"v"},N:{"2":"A B"},O:{"2":"oB"},P:{"2":"F","194":"J pB"},Q:{"194":"qB"},R:{"194":"rB"}},B:7,C:"CSS Backdrop Filter"}; diff --git a/publi/node_modules/caniuse-lite/data/features/css-background-offsets.js b/publi/node_modules/caniuse-lite/data/features/css-background-offsets.js deleted file mode 100644 index ed7987e..0000000 --- a/publi/node_modules/caniuse-lite/data/features/css-background-offsets.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"E A B","2":"K C G CB"},B:{"1":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v","2":"1 VB F J K C G E A B D TB SB"},D:{"1":"0 2 3 4 5 6 7 U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB","2":"F J K C G E A B D u Y I M H N O P Q R S T"},E:{"1":"C G E A B KB LB MB NB","2":"F J K GB AB IB JB"},F:{"1":"8 9 B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t QB RB UB x","2":"E OB PB"},G:{"1":"G aB bB cB dB eB fB gB","2":"AB WB BB YB ZB"},H:{"1":"hB"},I:{"1":"g mB nB","2":"1 F iB jB kB lB BB"},J:{"1":"A","2":"C"},K:{"1":"8 9 B D L x","2":"A"},L:{"1":"g"},M:{"1":"v"},N:{"1":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:4,C:"CSS background-position edge offsets"}; diff --git a/publi/node_modules/caniuse-lite/data/features/css-backgroundblendmode.js b/publi/node_modules/caniuse-lite/data/features/css-backgroundblendmode.js deleted file mode 100644 index c299a6f..0000000 --- a/publi/node_modules/caniuse-lite/data/features/css-backgroundblendmode.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"2":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 Z a b c d e f L h i j k l m n o p q r s t y z v","2":"1 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w TB SB"},D:{"1":"0 2 3 4 5 6 7 e f L h i j k l m n o q r s t y z v HB g DB XB EB FB","2":"F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d","260":"p"},E:{"2":"F J K C GB AB IB JB","132":"G E A B KB LB MB NB"},F:{"1":"R S T U V W X w Z a b d e f L h i j k l m n o p q r s t","2":"8 9 E B D I M H N O P Q OB PB QB RB UB x","260":"c"},G:{"2":"AB WB BB YB ZB aB","132":"G bB cB dB eB fB gB"},H:{"2":"hB"},I:{"1":"g","2":"1 F iB jB kB lB BB mB nB"},J:{"2":"C A"},K:{"2":"8 9 A B D x","260":"L"},L:{"1":"g"},M:{"1":"v"},N:{"2":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:4,C:"CSS background-blend-mode"}; diff --git a/publi/node_modules/caniuse-lite/data/features/css-boxdecorationbreak.js b/publi/node_modules/caniuse-lite/data/features/css-boxdecorationbreak.js deleted file mode 100644 index e1892df..0000000 --- a/publi/node_modules/caniuse-lite/data/features/css-boxdecorationbreak.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"2":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 b c d e f L h i j k l m n o p q r s t y z v","2":"1 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a TB SB"},D:{"2":"F J K C G E A B D u Y I M H N O P Q","164":"0 2 3 4 5 6 7 R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"2":"F J K GB AB IB","164":"C G E A B JB KB LB MB NB"},F:{"2":"E OB PB QB RB","129":"8 9 B D UB x","164":"I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t"},G:{"2":"AB WB BB YB ZB","164":"G aB bB cB dB eB fB gB"},H:{"132":"hB"},I:{"2":"1 F iB jB kB lB BB","164":"g mB nB"},J:{"2":"C","164":"A"},K:{"2":"A","129":"8 9 B D x","164":"L"},L:{"164":"g"},M:{"1":"v"},N:{"2":"A B"},O:{"1":"oB"},P:{"164":"F J pB"},Q:{"164":"qB"},R:{"164":"rB"}},B:5,C:"CSS box-decoration-break"}; diff --git a/publi/node_modules/caniuse-lite/data/features/css-boxshadow.js b/publi/node_modules/caniuse-lite/data/features/css-boxshadow.js deleted file mode 100644 index 85dd276..0000000 --- a/publi/node_modules/caniuse-lite/data/features/css-boxshadow.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"E A B","2":"K C G CB"},B:{"1":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v","2":"1 VB","33":"TB SB"},D:{"1":"0 2 3 4 5 6 7 A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB","33":"F J K C G E"},E:{"1":"K C G E A B IB JB KB LB MB NB","33":"J","164":"F GB AB"},F:{"1":"8 9 B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t QB RB UB x","2":"E OB PB"},G:{"1":"G YB ZB aB bB cB dB eB fB gB","33":"WB BB","164":"AB"},H:{"2":"hB"},I:{"1":"F g lB BB mB nB","164":"1 iB jB kB"},J:{"1":"A","33":"C"},K:{"1":"8 9 B D L x","2":"A"},L:{"1":"g"},M:{"1":"v"},N:{"1":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:4,C:"CSS3 Box-shadow"}; diff --git a/publi/node_modules/caniuse-lite/data/features/css-canvas.js b/publi/node_modules/caniuse-lite/data/features/css-canvas.js deleted file mode 100644 index 41178bf..0000000 --- a/publi/node_modules/caniuse-lite/data/features/css-canvas.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"2":"D u Y I M H"},C:{"2":"1 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y TB SB","16":"0 2 3 4 5 6 7 z v"},D:{"2":"0 2 3 4 5 6 7 r s t y z v HB g DB XB EB FB","33":"F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q"},E:{"2":"GB AB","33":"F J K C G E A B IB JB KB LB MB NB"},F:{"2":"8 9 E B D e f L h i j k l m n o p q r s t OB PB QB RB UB x","33":"I M H N O P Q R S T U V W X w Z a b c d"},G:{"33":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"2":"hB"},I:{"2":"g","33":"1 F iB jB kB lB BB mB nB"},J:{"33":"C A"},K:{"2":"8 9 A B D L x"},L:{"2":"g"},M:{"2":"v"},N:{"2":"A B"},O:{"33":"oB"},P:{"2":"J pB","33":"F"},Q:{"33":"qB"},R:{"2":"rB"}},B:7,C:"CSS Canvas Drawings"}; diff --git a/publi/node_modules/caniuse-lite/data/features/css-caret-color.js b/publi/node_modules/caniuse-lite/data/features/css-caret-color.js deleted file mode 100644 index d882bb2..0000000 --- a/publi/node_modules/caniuse-lite/data/features/css-caret-color.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"2":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 v","2":"1 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z TB SB"},D:{"1":"5 6 7 v HB g DB XB EB FB","2":"0 2 3 4 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z"},E:{"1":"NB","2":"F J K C G E A B GB AB IB JB KB LB MB"},F:{"1":"n o p q r s t","2":"8 9 E B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m OB PB QB RB UB x"},G:{"2":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"2":"hB"},I:{"1":"g","2":"1 F iB jB kB lB BB mB nB"},J:{"2":"C A"},K:{"2":"8 9 A B D L x"},L:{"1":"g"},M:{"1":"v"},N:{"2":"A B"},O:{"2":"oB"},P:{"2":"F J pB"},Q:{"2":"qB"},R:{"2":"rB"}},B:4,C:"CSS caret-color"}; diff --git a/publi/node_modules/caniuse-lite/data/features/css-case-insensitive.js b/publi/node_modules/caniuse-lite/data/features/css-case-insensitive.js deleted file mode 100644 index 0f10e98..0000000 --- a/publi/node_modules/caniuse-lite/data/features/css-case-insensitive.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"2":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 q r s t y z v","2":"1 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p TB SB"},D:{"1":"0 2 3 4 5 6 7 s t y z v HB g DB XB EB FB","2":"F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r"},E:{"1":"E A B LB MB NB","2":"F J K C G GB AB IB JB KB"},F:{"1":"f L h i j k l m n o p q r s t","2":"8 9 E B D I M H N O P Q R S T U V W X w Z a b c d e OB PB QB RB UB x"},G:{"1":"cB dB eB fB gB","2":"G AB WB BB YB ZB aB bB"},H:{"2":"hB"},I:{"2":"1 F g iB jB kB lB BB mB nB"},J:{"2":"C A"},K:{"1":"L","2":"8 9 A B D x"},L:{"1":"g"},M:{"1":"v"},N:{"2":"A B"},O:{"2":"oB"},P:{"1":"J pB","2":"F"},Q:{"2":"qB"},R:{"2":"rB"}},B:7,C:"Case-insensitive CSS attribute selectors"}; diff --git a/publi/node_modules/caniuse-lite/data/features/css-clip-path.js b/publi/node_modules/caniuse-lite/data/features/css-clip-path.js deleted file mode 100644 index cd3b62c..0000000 --- a/publi/node_modules/caniuse-lite/data/features/css-clip-path.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"2":"D u Y I M H"},C:{"1":"2 3 4 5 6 7 v","2":"1 VB","132":"F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p TB SB","644":"0 q r s t y z"},D:{"2":"F J K C G E A B D u Y I M H N O P Q R S","260":"2 3 5 6 7 v HB g DB XB EB FB","292":"0 4 T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z"},E:{"2":"F J K GB AB IB JB","292":"C G E A B KB LB MB NB"},F:{"2":"8 9 E B D OB PB QB RB UB x","260":"l m n o p q r s t","292":"I M H N O P Q R S T U V W X w Z a b c d e f L h i j k"},G:{"2":"AB WB BB YB ZB","292":"G aB bB cB dB eB fB gB"},H:{"2":"hB"},I:{"2":"1 F iB jB kB lB BB","260":"g","292":"mB nB"},J:{"2":"C A"},K:{"2":"8 9 A B D x","292":"L"},L:{"260":"g"},M:{"1":"v"},N:{"2":"A B"},O:{"292":"oB"},P:{"292":"F J pB"},Q:{"292":"qB"},R:{"260":"rB"}},B:4,C:"CSS clip-path property (for HTML)"}; diff --git a/publi/node_modules/caniuse-lite/data/features/css-conic-gradients.js b/publi/node_modules/caniuse-lite/data/features/css-conic-gradients.js deleted file mode 100644 index 4c8e3f6..0000000 --- a/publi/node_modules/caniuse-lite/data/features/css-conic-gradients.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"2":"D u Y I M H"},C:{"2":"0 1 2 3 4 5 6 7 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v TB SB"},D:{"2":"0 2 3 4 5 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v","194":"6 7 HB g DB XB EB FB"},E:{"2":"F J K C G E A B GB AB IB JB KB LB MB NB"},F:{"2":"8 9 E B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o OB PB QB RB UB x","194":"p q r s t"},G:{"2":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"2":"hB"},I:{"2":"1 F g iB jB kB lB BB mB nB"},J:{"2":"C A"},K:{"2":"8 9 A B D L x"},L:{"194":"g"},M:{"2":"v"},N:{"2":"A B"},O:{"2":"oB"},P:{"2":"F J pB"},Q:{"2":"qB"},R:{"2":"rB"}},B:5,C:"CSS Conical Gradients"}; diff --git a/publi/node_modules/caniuse-lite/data/features/css-containment.js b/publi/node_modules/caniuse-lite/data/features/css-containment.js deleted file mode 100644 index 9fb5adf..0000000 --- a/publi/node_modules/caniuse-lite/data/features/css-containment.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"2":"D u Y I M H"},C:{"2":"1 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y TB SB","16":"0 2 3 4 5 6 7 z v"},D:{"1":"0 2 3 4 5 6 7 z v HB g DB XB EB FB","2":"F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t","194":"y"},E:{"2":"F J K C G E A B GB AB IB JB KB LB MB NB"},F:{"1":"j k l m n o p q r s t","2":"8 9 E B D I M H N O P Q R S T U V W X w Z a b c d e f L OB PB QB RB UB x","194":"h i"},G:{"2":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"2":"hB"},I:{"1":"g","2":"1 F iB jB kB lB BB mB nB"},J:{"2":"C A"},K:{"2":"8 9 A B D L x"},L:{"1":"g"},M:{"2":"v"},N:{"2":"A B"},O:{"2":"oB"},P:{"1":"pB","2":"F J"},Q:{"2":"qB"},R:{"2":"rB"}},B:7,C:"CSS Containment"}; diff --git a/publi/node_modules/caniuse-lite/data/features/css-counters.js b/publi/node_modules/caniuse-lite/data/features/css-counters.js deleted file mode 100644 index a8a81f2..0000000 --- a/publi/node_modules/caniuse-lite/data/features/css-counters.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"G E A B","2":"K C CB"},B:{"1":"D u Y I M H"},C:{"1":"0 1 2 3 4 5 6 7 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v TB SB"},D:{"1":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"1":"F J K C G E A B GB AB IB JB KB LB MB NB"},F:{"1":"8 9 E B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t OB PB QB RB UB x"},G:{"1":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"1":"hB"},I:{"1":"1 F g iB jB kB lB BB mB nB"},J:{"1":"C A"},K:{"1":"8 9 A B D L x"},L:{"1":"g"},M:{"1":"v"},N:{"1":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:2,C:"CSS Counters"}; diff --git a/publi/node_modules/caniuse-lite/data/features/css-crisp-edges.js b/publi/node_modules/caniuse-lite/data/features/css-crisp-edges.js deleted file mode 100644 index 337d3e9..0000000 --- a/publi/node_modules/caniuse-lite/data/features/css-crisp-edges.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K CB","2340":"C G E A B"},B:{"2":"D u Y I M H"},C:{"2":"1 VB TB","545":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v SB"},D:{"2":"F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j","1025":"0 2 3 4 5 6 7 k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"1":"A B MB NB","2":"F J GB AB IB","164":"K","4644":"C G E JB KB LB"},F:{"2":"8 9 E B I M H N O P Q R S T U V W OB PB QB RB","545":"D UB x","1025":"X w Z a b c d e f L h i j k l m n o p q r s t"},G:{"1":"eB fB gB","2":"AB WB BB","4260":"YB ZB","4644":"G aB bB cB dB"},H:{"2":"hB"},I:{"2":"1 F iB jB kB lB BB mB nB","1025":"g"},J:{"2":"C","4260":"A"},K:{"2":"8 9 A B","545":"D x","1025":"L"},L:{"1025":"g"},M:{"545":"v"},N:{"2340":"A B"},O:{"4260":"oB"},P:{"1025":"F J pB"},Q:{"2":"qB"},R:{"1025":"rB"}},B:7,C:"Crisp edges/pixelated images"}; diff --git a/publi/node_modules/caniuse-lite/data/features/css-cross-fade.js b/publi/node_modules/caniuse-lite/data/features/css-cross-fade.js deleted file mode 100644 index e38f3aa..0000000 --- a/publi/node_modules/caniuse-lite/data/features/css-cross-fade.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"2":"D u Y I M H"},C:{"2":"0 1 2 3 4 5 6 7 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v TB SB"},D:{"2":"F J K C G E A B D u Y I M","33":"0 2 3 4 5 6 7 H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"1":"A B MB NB","2":"F J GB AB","33":"K C G E IB JB KB LB"},F:{"2":"8 9 E B D OB PB QB RB UB x","33":"I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t"},G:{"1":"eB fB gB","2":"AB WB BB","33":"G YB ZB aB bB cB dB"},H:{"2":"hB"},I:{"2":"1 F iB jB kB lB BB","33":"g mB nB"},J:{"2":"C A"},K:{"2":"8 9 A B D x","33":"L"},L:{"33":"g"},M:{"2":"v"},N:{"2":"A B"},O:{"33":"oB"},P:{"33":"F J pB"},Q:{"33":"qB"},R:{"33":"rB"}},B:7,C:"CSS Cross-Fade Function"}; diff --git a/publi/node_modules/caniuse-lite/data/features/css-default-pseudo.js b/publi/node_modules/caniuse-lite/data/features/css-default-pseudo.js deleted file mode 100644 index e759368..0000000 --- a/publi/node_modules/caniuse-lite/data/features/css-default-pseudo.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"2":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v","16":"1 VB TB SB"},D:{"1":"0 2 3 4 5 6 7 y z v HB g DB XB EB FB","16":"F J K C G E A B D u Y","132":"I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t"},E:{"1":"B MB NB","16":"F J GB AB","132":"K C G E A IB JB KB LB"},F:{"1":"h i j k l m n o p q r s t","16":"8 9 E B OB PB QB RB","132":"I M H N O P Q R S T U V W X w Z a b c d e f L","260":"D UB x"},G:{"1":"fB gB","16":"AB WB BB YB ZB","132":"G aB bB cB dB eB"},H:{"260":"hB"},I:{"1":"g","16":"1 iB jB kB","132":"F lB BB mB nB"},J:{"16":"C","132":"A"},K:{"16":"8 9 A B D","132":"L","260":"x"},L:{"1":"g"},M:{"1":"v"},N:{"2":"A B"},O:{"132":"oB"},P:{"1":"J pB","132":"F"},Q:{"1":"qB"},R:{"2":"rB"}},B:7,C:":default CSS pseudo-class"}; diff --git a/publi/node_modules/caniuse-lite/data/features/css-descendant-gtgt.js b/publi/node_modules/caniuse-lite/data/features/css-descendant-gtgt.js deleted file mode 100644 index f3e1037..0000000 --- a/publi/node_modules/caniuse-lite/data/features/css-descendant-gtgt.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"2":"D u Y I M H"},C:{"2":"0 1 2 3 4 5 6 7 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v TB SB"},D:{"2":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB","16":"XB EB FB"},E:{"1":"B","2":"F J K C G E A GB AB IB JB KB LB MB NB"},F:{"2":"8 9 E B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t OB PB QB RB UB x"},G:{"2":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"2":"hB"},I:{"2":"1 F g iB jB kB lB BB mB nB"},J:{"2":"C A"},K:{"2":"8 9 A B D L x"},L:{"2":"g"},M:{"2":"v"},N:{"2":"A B"},O:{"2":"oB"},P:{"2":"F J pB"},Q:{"2":"qB"},R:{"2":"rB"}},B:7,C:"Explicit descendant combinator >>"}; diff --git a/publi/node_modules/caniuse-lite/data/features/css-deviceadaptation.js b/publi/node_modules/caniuse-lite/data/features/css-deviceadaptation.js deleted file mode 100644 index 71af18a..0000000 --- a/publi/node_modules/caniuse-lite/data/features/css-deviceadaptation.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E CB","164":"A B"},B:{"164":"D u Y I M H"},C:{"2":"0 1 2 3 4 5 6 7 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v TB SB"},D:{"2":"F J K C G E A B D u Y I M H N O P Q R S T U V W X","66":"0 2 3 4 5 6 7 w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"2":"F J K C G E A B GB AB IB JB KB LB MB NB"},F:{"2":"8 9 E B D I M H N O P Q R S T U V W X w Z a b c d e f L h i OB PB QB RB UB x","66":"j k l m n o p q r s t"},G:{"2":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"292":"hB"},I:{"2":"1 F g iB jB kB lB BB mB nB"},J:{"2":"C A"},K:{"2":"A L","292":"8 9 B D x"},L:{"2":"g"},M:{"2":"v"},N:{"164":"A B"},O:{"2":"oB"},P:{"2":"F J pB"},Q:{"66":"qB"},R:{"2":"rB"}},B:5,C:"CSS Device Adaptation"}; diff --git a/publi/node_modules/caniuse-lite/data/features/css-dir-pseudo.js b/publi/node_modules/caniuse-lite/data/features/css-dir-pseudo.js deleted file mode 100644 index 2ae43e3..0000000 --- a/publi/node_modules/caniuse-lite/data/features/css-dir-pseudo.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"2":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 s t y z v","2":"1 VB F J K C G E A B D u Y I M TB SB","33":"H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r"},D:{"2":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"2":"F J K C G E A B GB AB IB JB KB LB MB NB"},F:{"2":"8 9 E B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t OB PB QB RB UB x"},G:{"2":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"2":"hB"},I:{"2":"1 F g iB jB kB lB BB mB nB"},J:{"2":"C A"},K:{"2":"8 9 A B D L x"},L:{"2":"g"},M:{"1":"v"},N:{"2":"A B"},O:{"2":"oB"},P:{"2":"F J pB"},Q:{"2":"qB"},R:{"2":"rB"}},B:5,C:":dir() CSS pseudo-class"}; diff --git a/publi/node_modules/caniuse-lite/data/features/css-display-contents.js b/publi/node_modules/caniuse-lite/data/features/css-display-contents.js deleted file mode 100644 index a8c7356..0000000 --- a/publi/node_modules/caniuse-lite/data/features/css-display-contents.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"2":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 L h i j k l m n o p q r s t y z v","2":"1 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f TB SB"},D:{"2":"0 2 3 4 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v","194":"5 6 7 HB g DB XB EB FB"},E:{"1":"NB","2":"F J K C G E A B GB AB IB JB KB LB MB"},F:{"2":"8 9 E B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t OB PB QB RB UB x"},G:{"2":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"2":"hB"},I:{"2":"1 F g iB jB kB lB BB mB nB"},J:{"2":"C A"},K:{"2":"8 9 A B D L x"},L:{"2":"g"},M:{"1":"v"},N:{"2":"A B"},O:{"2":"oB"},P:{"2":"F J pB"},Q:{"2":"qB"},R:{"2":"rB"}},B:5,C:"CSS display: contents"}; diff --git a/publi/node_modules/caniuse-lite/data/features/css-element-function.js b/publi/node_modules/caniuse-lite/data/features/css-element-function.js deleted file mode 100644 index da46ad4..0000000 --- a/publi/node_modules/caniuse-lite/data/features/css-element-function.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"2":"D u Y I M H"},C:{"33":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v","164":"1 VB TB SB"},D:{"2":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"2":"F J K C G E A B GB AB IB JB KB LB MB NB"},F:{"2":"8 9 E B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t OB PB QB RB UB x"},G:{"2":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"2":"hB"},I:{"2":"1 F g iB jB kB lB BB mB nB"},J:{"2":"C A"},K:{"2":"8 9 A B D L x"},L:{"2":"g"},M:{"33":"v"},N:{"2":"A B"},O:{"2":"oB"},P:{"2":"F J pB"},Q:{"2":"qB"},R:{"2":"rB"}},B:5,C:"CSS element() function"}; diff --git a/publi/node_modules/caniuse-lite/data/features/css-exclusions.js b/publi/node_modules/caniuse-lite/data/features/css-exclusions.js deleted file mode 100644 index a8d5d8e..0000000 --- a/publi/node_modules/caniuse-lite/data/features/css-exclusions.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E CB","33":"A B"},B:{"33":"D u Y I M H"},C:{"2":"0 1 2 3 4 5 6 7 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v TB SB"},D:{"2":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"2":"F J K C G E A B GB AB IB JB KB LB MB NB"},F:{"2":"8 9 E B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t OB PB QB RB UB x"},G:{"2":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"2":"hB"},I:{"2":"1 F g iB jB kB lB BB mB nB"},J:{"2":"C A"},K:{"2":"8 9 A B D L x"},L:{"2":"g"},M:{"2":"v"},N:{"33":"A B"},O:{"2":"oB"},P:{"2":"F J pB"},Q:{"2":"qB"},R:{"2":"rB"}},B:5,C:"CSS Exclusions Level 1"}; diff --git a/publi/node_modules/caniuse-lite/data/features/css-featurequeries.js b/publi/node_modules/caniuse-lite/data/features/css-featurequeries.js deleted file mode 100644 index da8136d..0000000 --- a/publi/node_modules/caniuse-lite/data/features/css-featurequeries.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"1":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v","2":"1 VB F J K C G E A B D u Y I M H N O P Q TB SB"},D:{"1":"0 2 3 4 5 6 7 X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB","2":"F J K C G E A B D u Y I M H N O P Q R S T U V W"},E:{"1":"E A B LB MB NB","2":"F J K C G GB AB IB JB KB"},F:{"1":"I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t x","2":"8 9 E B D OB PB QB RB UB"},G:{"1":"cB dB eB fB gB","2":"G AB WB BB YB ZB aB bB"},H:{"1":"hB"},I:{"1":"g mB nB","2":"1 F iB jB kB lB BB"},J:{"2":"C A"},K:{"1":"L","2":"8 9 A B D x"},L:{"1":"g"},M:{"1":"v"},N:{"2":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:4,C:"CSS Feature Queries"}; diff --git a/publi/node_modules/caniuse-lite/data/features/css-filter-function.js b/publi/node_modules/caniuse-lite/data/features/css-filter-function.js deleted file mode 100644 index 7334ed8..0000000 --- a/publi/node_modules/caniuse-lite/data/features/css-filter-function.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"2":"D u Y I M H"},C:{"2":"0 1 2 3 4 5 6 7 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v TB SB"},D:{"2":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"1":"A B LB MB NB","2":"F J K C G GB AB IB JB KB","33":"E"},F:{"2":"8 9 E B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t OB PB QB RB UB x"},G:{"1":"eB fB gB","2":"G AB WB BB YB ZB aB bB","33":"cB dB"},H:{"2":"hB"},I:{"2":"1 F g iB jB kB lB BB mB nB"},J:{"2":"C A"},K:{"2":"8 9 A B D L x"},L:{"2":"g"},M:{"2":"v"},N:{"2":"A B"},O:{"2":"oB"},P:{"2":"F J pB"},Q:{"2":"qB"},R:{"2":"rB"}},B:5,C:"CSS filter() function"}; diff --git a/publi/node_modules/caniuse-lite/data/features/css-filters.js b/publi/node_modules/caniuse-lite/data/features/css-filters.js deleted file mode 100644 index 5215183..0000000 --- a/publi/node_modules/caniuse-lite/data/features/css-filters.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"1028":"u Y I M H","1346":"D"},C:{"1":"0 2 3 4 5 6 7 e f L h i j k l m n o p q r s t y z v","2":"1 VB TB","196":"d","516":"F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c SB"},D:{"1":"0 2 3 4 5 6 7 v HB g DB XB EB FB","2":"F J K C G E A B D u Y I M H","33":"N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z"},E:{"1":"A B LB MB NB","2":"F J GB AB IB","33":"K C G E JB KB"},F:{"1":"j k l m n o p q r s t","2":"8 9 E B D OB PB QB RB UB x","33":"I M H N O P Q R S T U V W X w Z a b c d e f L h i"},G:{"1":"dB eB fB gB","2":"AB WB BB YB","33":"G ZB aB bB cB"},H:{"2":"hB"},I:{"1":"g","2":"1 F iB jB kB lB BB","33":"mB nB"},J:{"2":"C","33":"A"},K:{"2":"8 9 A B D x","33":"L"},L:{"1":"g"},M:{"1":"v"},N:{"2":"A B"},O:{"33":"oB"},P:{"33":"F J pB"},Q:{"33":"qB"},R:{"33":"rB"}},B:5,C:"CSS Filter Effects"}; diff --git a/publi/node_modules/caniuse-lite/data/features/css-first-letter.js b/publi/node_modules/caniuse-lite/data/features/css-first-letter.js deleted file mode 100644 index 4b71a96..0000000 --- a/publi/node_modules/caniuse-lite/data/features/css-first-letter.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"E A B","16":"CB","516":"G","1540":"K C"},B:{"1":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v TB SB","132":"1","260":"VB"},D:{"1":"0 2 3 4 5 6 7 E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB","16":"J K C G","132":"F"},E:{"1":"K C G E A B IB JB KB LB MB NB","16":"J GB","132":"F AB"},F:{"1":"D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t UB x","16":"E OB","260":"8 9 B PB QB RB"},G:{"1":"G YB ZB aB bB cB dB eB fB gB","16":"AB WB BB"},H:{"1":"hB"},I:{"1":"1 F g lB BB mB nB","16":"iB jB","132":"kB"},J:{"1":"C A"},K:{"1":"D L x","260":"8 9 A B"},L:{"1":"g"},M:{"1":"v"},N:{"1":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:2,C:"::first-letter CSS pseudo-element selector"}; diff --git a/publi/node_modules/caniuse-lite/data/features/css-first-line.js b/publi/node_modules/caniuse-lite/data/features/css-first-line.js deleted file mode 100644 index 0eb958e..0000000 --- a/publi/node_modules/caniuse-lite/data/features/css-first-line.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"E A B","132":"K C G CB"},B:{"1":"D u Y I M H"},C:{"1":"0 1 2 3 4 5 6 7 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v TB SB"},D:{"1":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"1":"F J K C G E A B GB AB IB JB KB LB MB NB"},F:{"1":"8 9 E B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t OB PB QB RB UB x"},G:{"1":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"1":"hB"},I:{"1":"1 F g iB jB kB lB BB mB nB"},J:{"1":"C A"},K:{"1":"8 9 A B D L x"},L:{"1":"g"},M:{"1":"v"},N:{"1":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:2,C:"CSS first-line pseudo-element"}; diff --git a/publi/node_modules/caniuse-lite/data/features/css-fixed.js b/publi/node_modules/caniuse-lite/data/features/css-fixed.js deleted file mode 100644 index 7439756..0000000 --- a/publi/node_modules/caniuse-lite/data/features/css-fixed.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"C G E A B","2":"CB","8":"K"},B:{"1":"D u Y I M H"},C:{"1":"0 1 2 3 4 5 6 7 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v TB SB"},D:{"1":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"1":"F J K C G E A B GB AB IB JB KB MB NB","1025":"LB"},F:{"1":"8 9 E B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t OB PB QB RB UB x"},G:{"1":"G bB cB dB eB fB gB","2":"AB WB BB","132":"YB ZB aB"},H:{"2":"hB"},I:{"1":"1 g mB nB","260":"iB jB kB","513":"F lB BB"},J:{"1":"C A"},K:{"1":"8 9 A B D L x"},L:{"1":"g"},M:{"1":"v"},N:{"1":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:2,C:"CSS position:fixed"}; diff --git a/publi/node_modules/caniuse-lite/data/features/css-focus-ring.js b/publi/node_modules/caniuse-lite/data/features/css-focus-ring.js deleted file mode 100644 index 4bd9d78..0000000 --- a/publi/node_modules/caniuse-lite/data/features/css-focus-ring.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"2":"D u Y I M H"},C:{"2":"1 VB TB SB","161":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v"},D:{"2":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"2":"F J K C G E A B GB AB IB JB KB LB MB NB"},F:{"2":"8 9 E B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t OB PB QB RB UB x"},G:{"2":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"2":"hB"},I:{"2":"1 F g iB jB kB lB BB mB nB"},J:{"2":"C A"},K:{"2":"8 9 A B D L x"},L:{"2":"g"},M:{"161":"v"},N:{"2":"A B"},O:{"2":"oB"},P:{"2":"F J pB"},Q:{"2":"qB"},R:{"2":"rB"}},B:7,C:":focus-ring CSS pseudo-class"}; diff --git a/publi/node_modules/caniuse-lite/data/features/css-focus-within.js b/publi/node_modules/caniuse-lite/data/features/css-focus-within.js deleted file mode 100644 index f8b04fe..0000000 --- a/publi/node_modules/caniuse-lite/data/features/css-focus-within.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"2":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 z v","2":"1 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y TB SB"},D:{"1":"7 HB g DB XB EB FB","2":"0 2 3 4 5 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v","194":"6"},E:{"1":"B MB NB","2":"F J K C G E A GB AB IB JB KB LB"},F:{"1":"q r s t","2":"8 9 E B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o OB PB QB RB UB x","194":"p"},G:{"1":"fB gB","2":"G AB WB BB YB ZB aB bB cB dB eB"},H:{"2":"hB"},I:{"2":"1 F g iB jB kB lB BB mB nB"},J:{"2":"C A"},K:{"2":"8 9 A B D L x"},L:{"1":"g"},M:{"1":"v"},N:{"2":"A B"},O:{"2":"oB"},P:{"2":"F J pB"},Q:{"2":"qB"},R:{"2":"rB"}},B:7,C:":focus-within CSS pseudo-class"}; diff --git a/publi/node_modules/caniuse-lite/data/features/css-font-rendering-controls.js b/publi/node_modules/caniuse-lite/data/features/css-font-rendering-controls.js deleted file mode 100644 index cef99ea..0000000 --- a/publi/node_modules/caniuse-lite/data/features/css-font-rendering-controls.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"2":"D u Y I M H"},C:{"1":"5 6 7","2":"1 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o TB SB","322":"0 2 3 4 p q r s t y z v"},D:{"1":"7 HB g DB XB EB FB","2":"F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r","194":"0 2 3 4 5 6 s t y z v"},E:{"1":"NB","2":"F J K C G E A B GB AB IB JB KB LB MB"},F:{"1":"q r s t","2":"8 9 E B D I M H N O P Q R S T U V W X w Z a b c d e OB PB QB RB UB x","194":"f L h i j k l m n o p"},G:{"2":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"2":"hB"},I:{"2":"1 F g iB jB kB lB BB mB nB"},J:{"2":"C A"},K:{"2":"8 9 A B D x","194":"L"},L:{"1":"g"},M:{"2":"v"},N:{"2":"A B"},O:{"2":"oB"},P:{"2":"F","194":"J pB"},Q:{"194":"qB"},R:{"2":"rB"}},B:7,C:"CSS font-rendering controls"}; diff --git a/publi/node_modules/caniuse-lite/data/features/css-font-stretch.js b/publi/node_modules/caniuse-lite/data/features/css-font-stretch.js deleted file mode 100644 index 1a791fb..0000000 --- a/publi/node_modules/caniuse-lite/data/features/css-font-stretch.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"E A B","2":"K C G CB"},B:{"1":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v","2":"1 VB F J K C G TB SB"},D:{"1":"0 2 3 4 5 6 7 r s t y z v HB g DB XB EB FB","2":"F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q"},E:{"1":"B NB","2":"F J K C G E A GB AB IB JB KB LB MB"},F:{"1":"e f L h i j k l m n o p q r s t","2":"8 9 E B D I M H N O P Q R S T U V W X w Z a b c d OB PB QB RB UB x"},G:{"2":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"2":"hB"},I:{"1":"g","2":"1 F iB jB kB lB BB mB nB"},J:{"2":"C A"},K:{"1":"L","2":"8 9 A B D x"},L:{"1":"g"},M:{"1":"v"},N:{"1":"A B"},O:{"2":"oB"},P:{"1":"J pB","2":"F"},Q:{"2":"qB"},R:{"1":"rB"}},B:4,C:"CSS font-stretch"}; diff --git a/publi/node_modules/caniuse-lite/data/features/css-gencontent.js b/publi/node_modules/caniuse-lite/data/features/css-gencontent.js deleted file mode 100644 index 4759379..0000000 --- a/publi/node_modules/caniuse-lite/data/features/css-gencontent.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"E A B","2":"K C CB","132":"G"},B:{"1":"D u Y I M H"},C:{"1":"0 1 2 3 4 5 6 7 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v TB SB"},D:{"1":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"1":"F J K C G E A B GB AB IB JB KB LB MB NB"},F:{"1":"8 9 E B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t OB PB QB RB UB x"},G:{"1":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"1":"hB"},I:{"1":"1 F g iB jB kB lB BB mB nB"},J:{"1":"C A"},K:{"1":"8 9 A B D L x"},L:{"1":"g"},M:{"1":"v"},N:{"1":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:2,C:"CSS Generated content for pseudo-elements"}; diff --git a/publi/node_modules/caniuse-lite/data/features/css-gradients.js b/publi/node_modules/caniuse-lite/data/features/css-gradients.js deleted file mode 100644 index b9c1988..0000000 --- a/publi/node_modules/caniuse-lite/data/features/css-gradients.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"A B","2":"K C G E CB"},B:{"1":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v","2":"1 VB TB","33":"F J K C G E A B D u Y I SB"},D:{"1":"0 2 3 4 5 6 7 V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB","33":"A B D u Y I M H N O P Q R S T U","36":"F J K C G E"},E:{"1":"C G E A B JB KB LB MB NB","2":"GB AB","33":"K IB","36":"F J"},F:{"1":"I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t x","2":"E B OB PB QB RB","33":"D UB","164":"8 9"},G:{"1":"G aB bB cB dB eB fB gB","33":"YB ZB","36":"AB WB BB"},H:{"2":"hB"},I:{"1":"g mB nB","33":"F lB BB","36":"1 iB jB kB"},J:{"1":"A","36":"C"},K:{"1":"L x","2":"A B","33":"D","164":"8 9"},L:{"1":"g"},M:{"1":"v"},N:{"1":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:4,C:"CSS Gradients"}; diff --git a/publi/node_modules/caniuse-lite/data/features/css-grid.js b/publi/node_modules/caniuse-lite/data/features/css-grid.js deleted file mode 100644 index 69dd1a6..0000000 --- a/publi/node_modules/caniuse-lite/data/features/css-grid.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G CB","8":"E","292":"A B"},B:{"1":"M H","292":"D u Y I"},C:{"1":"2 3 4 5 6 7 v","2":"1 VB F J K C G E A B D u Y I M H N TB SB","8":"O P Q R S T U V W X w Z a b c d e f L h i","584":"j k l m n o p q r s t y","1025":"0 z"},D:{"1":"5 6 7 HB g DB XB EB FB","2":"F J K C G E A B D u Y I M H N O P Q R S T","8":"U V W X","200":"0 2 3 4 w Z a b c d e f L h i j k l m n o p q r s t y z","1025":"v"},E:{"1":"B MB NB","2":"F J GB AB IB","8":"K C G E A JB KB LB"},F:{"1":"n o p q r s t","2":"8 9 E B D I M H N O P Q R S T U V W OB PB QB RB UB x","200":"X w Z a b c d e f L h i j k l m"},G:{"1":"fB gB","2":"AB WB BB YB","8":"G ZB aB bB cB dB eB"},H:{"2":"hB"},I:{"1":"g","2":"1 F iB jB kB lB","8":"BB mB nB"},J:{"2":"C A"},K:{"2":"8 9 A B D x","8":"L"},L:{"1":"g"},M:{"1":"v"},N:{"292":"A B"},O:{"2":"oB"},P:{"1":"pB","2":"J","8":"F"},Q:{"200":"qB"},R:{"2":"rB"}},B:4,C:"CSS Grid Layout"}; diff --git a/publi/node_modules/caniuse-lite/data/features/css-hanging-punctuation.js b/publi/node_modules/caniuse-lite/data/features/css-hanging-punctuation.js deleted file mode 100644 index 3cea972..0000000 --- a/publi/node_modules/caniuse-lite/data/features/css-hanging-punctuation.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"2":"D u Y","16":"I M H"},C:{"2":"0 1 2 3 4 5 6 7 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v TB SB"},D:{"2":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"1":"A B MB NB","2":"F J K C G E GB AB IB JB KB LB"},F:{"2":"8 9 E B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t OB PB QB RB UB x"},G:{"1":"eB fB gB","2":"G AB WB BB YB ZB aB bB cB dB"},H:{"2":"hB"},I:{"2":"1 F g iB jB kB lB BB mB nB"},J:{"2":"C A"},K:{"2":"8 9 A B D L x"},L:{"2":"g"},M:{"2":"v"},N:{"2":"A B"},O:{"2":"oB"},P:{"2":"F J pB"},Q:{"2":"qB"},R:{"2":"rB"}},B:5,C:"CSS hanging-punctuation"}; diff --git a/publi/node_modules/caniuse-lite/data/features/css-has.js b/publi/node_modules/caniuse-lite/data/features/css-has.js deleted file mode 100644 index 9310680..0000000 --- a/publi/node_modules/caniuse-lite/data/features/css-has.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"2":"D u Y I M H"},C:{"2":"0 1 2 3 4 5 6 7 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v TB SB"},D:{"2":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"2":"F J K C G E A B GB AB IB JB KB LB MB NB"},F:{"2":"8 9 E B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t OB PB QB RB UB x"},G:{"2":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"2":"hB"},I:{"2":"1 F g iB jB kB lB BB mB nB"},J:{"2":"C A"},K:{"2":"8 9 A B D L x"},L:{"2":"g"},M:{"2":"v"},N:{"2":"A B"},O:{"2":"oB"},P:{"2":"F J pB"},Q:{"2":"qB"},R:{"2":"rB"}},B:5,C:":has() CSS relational pseudo-class"}; diff --git a/publi/node_modules/caniuse-lite/data/features/css-hyphenate.js b/publi/node_modules/caniuse-lite/data/features/css-hyphenate.js deleted file mode 100644 index ad25e71..0000000 --- a/publi/node_modules/caniuse-lite/data/features/css-hyphenate.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"16":"K C G E A B CB"},B:{"16":"D u Y I M H"},C:{"16":"0 1 2 3 4 5 6 7 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v TB SB"},D:{"1":"2 3 5 6 7 v HB g DB XB EB FB","16":"0 4 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z"},E:{"16":"F J K C G E A B GB AB IB JB KB LB MB NB"},F:{"16":"8 9 E B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t OB PB QB RB UB x"},G:{"16":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"16":"hB"},I:{"16":"1 F g iB jB kB lB BB mB nB"},J:{"16":"C A"},K:{"16":"8 9 A B D L x"},L:{"16":"g"},M:{"16":"v"},N:{"16":"A B"},O:{"16":"oB"},P:{"16":"F J pB"},Q:{"16":"qB"},R:{"16":"rB"}},B:5,C:"CSS4 Hyphenation"}; diff --git a/publi/node_modules/caniuse-lite/data/features/css-hyphens.js b/publi/node_modules/caniuse-lite/data/features/css-hyphens.js deleted file mode 100644 index f4d9e97..0000000 --- a/publi/node_modules/caniuse-lite/data/features/css-hyphens.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E CB","33":"A B"},B:{"33":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 m n o p q r s t y z v","2":"1 VB F J TB SB","33":"K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l"},D:{"2":"0 4 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z","132":"2 3 5 6 7 v HB g DB XB EB FB"},E:{"2":"F J GB AB","33":"K C G E A B IB JB KB LB MB NB"},F:{"2":"8 9 E B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k OB PB QB RB UB x","132":"l m n o p q r s t"},G:{"2":"AB WB","33":"G BB YB ZB aB bB cB dB eB fB gB"},H:{"2":"hB"},I:{"2":"1 F iB jB kB lB BB mB nB","132":"g"},J:{"2":"C A"},K:{"2":"8 9 A B D L x"},L:{"132":"g"},M:{"1":"v"},N:{"2":"A B"},O:{"36":"oB"},P:{"1":"pB","2":"F","132":"J"},Q:{"2":"qB"},R:{"132":"rB"}},B:5,C:"CSS Hyphenation"}; diff --git a/publi/node_modules/caniuse-lite/data/features/css-image-orientation.js b/publi/node_modules/caniuse-lite/data/features/css-image-orientation.js deleted file mode 100644 index ec53ff1..0000000 --- a/publi/node_modules/caniuse-lite/data/features/css-image-orientation.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"2":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 V W X w Z a b c d e f L h i j k l m n o p q r s t y z v","2":"1 VB F J K C G E A B D u Y I M H N O P Q R S T U TB SB"},D:{"2":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"2":"F J K C G E A B GB AB IB JB KB LB MB NB"},F:{"2":"8 9 E B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t OB PB QB RB UB x"},G:{"132":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"2":"hB"},I:{"2":"1 F g iB jB kB lB BB mB nB"},J:{"2":"C A"},K:{"2":"8 9 A B D L x"},L:{"2":"g"},M:{"1":"v"},N:{"2":"A B"},O:{"2":"oB"},P:{"2":"F J pB"},Q:{"2":"qB"},R:{"2":"rB"}},B:4,C:"CSS3 image-orientation"}; diff --git a/publi/node_modules/caniuse-lite/data/features/css-image-set.js b/publi/node_modules/caniuse-lite/data/features/css-image-set.js deleted file mode 100644 index d6f0c50..0000000 --- a/publi/node_modules/caniuse-lite/data/features/css-image-set.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"2":"D u Y I M H"},C:{"2":"0 1 2 3 4 5 6 7 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v TB SB"},D:{"2":"F J K C G E A B D u Y I M H N O P","33":"0 2 3 4 5 6 7 Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"2":"F J GB AB IB","33":"K C G E A B JB KB LB MB NB"},F:{"2":"8 9 E B D OB PB QB RB UB x","33":"I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t"},G:{"2":"AB WB BB YB","33":"G ZB aB bB cB dB eB fB gB"},H:{"2":"hB"},I:{"2":"1 F iB jB kB lB BB","33":"g mB nB"},J:{"2":"C","33":"A"},K:{"2":"8 9 A B D x","33":"L"},L:{"33":"g"},M:{"2":"v"},N:{"2":"A B"},O:{"33":"oB"},P:{"33":"F J pB"},Q:{"33":"qB"},R:{"33":"rB"}},B:7,C:"CSS image-set"}; diff --git a/publi/node_modules/caniuse-lite/data/features/css-in-out-of-range.js b/publi/node_modules/caniuse-lite/data/features/css-in-out-of-range.js deleted file mode 100644 index 417442f..0000000 --- a/publi/node_modules/caniuse-lite/data/features/css-in-out-of-range.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"2":"D","260":"u Y I M H"},C:{"1":"0 2 3 4 5 6 7 t y z v","2":"1 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X TB SB","516":"w Z a b c d e f L h i j k l m n o p q r s"},D:{"1":"0 2 3 4 5 6 7 v HB g DB XB EB FB","2":"F","16":"J K C G E A B D u Y","260":"z","772":"I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y"},E:{"1":"B MB NB","2":"F GB AB","16":"J","772":"K C G E A IB JB KB LB"},F:{"1":"j k l m n o p q r s t","16":"E OB","260":"8 9 B D i PB QB RB UB x","772":"I M H N O P Q R S T U V W X w Z a b c d e f L h"},G:{"1":"fB gB","2":"AB WB BB","772":"G YB ZB aB bB cB dB eB"},H:{"132":"hB"},I:{"1":"g","2":"1 iB jB kB","260":"F lB BB mB nB"},J:{"2":"C","260":"A"},K:{"260":"8 9 A B D L x"},L:{"1":"g"},M:{"1":"v"},N:{"2":"A B"},O:{"260":"oB"},P:{"1":"J pB","260":"F"},Q:{"1":"qB"},R:{"1":"rB"}},B:5,C:":in-range and :out-of-range CSS pseudo-classes"}; diff --git a/publi/node_modules/caniuse-lite/data/features/css-indeterminate-pseudo.js b/publi/node_modules/caniuse-lite/data/features/css-indeterminate-pseudo.js deleted file mode 100644 index 49ed420..0000000 --- a/publi/node_modules/caniuse-lite/data/features/css-indeterminate-pseudo.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G CB","132":"A B","388":"E"},B:{"132":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 y z v","16":"1 VB TB SB","132":"K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t","388":"F J"},D:{"1":"0 2 3 4 5 6 7 i j k l m n o p q r s t y z v HB g DB XB EB FB","16":"F J K C G E A B D u Y","132":"I M H N O P Q R S T U V W X w Z a b c d e f L h"},E:{"1":"B MB NB","16":"F J K GB AB","132":"C G E A JB KB LB","388":"IB"},F:{"1":"V W X w Z a b c d e f L h i j k l m n o p q r s t","16":"8 9 E B OB PB QB RB","132":"I M H N O P Q R S T U","516":"D UB x"},G:{"1":"fB gB","16":"AB WB BB YB ZB","132":"G aB bB cB dB eB"},H:{"516":"hB"},I:{"1":"g","16":"1 iB jB kB nB","132":"mB","388":"F lB BB"},J:{"16":"C","132":"A"},K:{"1":"L","16":"8 9 A B D","516":"x"},L:{"1":"g"},M:{"132":"v"},N:{"132":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:7,C:":indeterminate CSS pseudo-class"}; diff --git a/publi/node_modules/caniuse-lite/data/features/css-initial-letter.js b/publi/node_modules/caniuse-lite/data/features/css-initial-letter.js deleted file mode 100644 index 329cf34..0000000 --- a/publi/node_modules/caniuse-lite/data/features/css-initial-letter.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"2":"D u Y I M H"},C:{"2":"0 1 2 3 4 5 6 7 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v TB SB"},D:{"2":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"2":"F J K C G GB AB IB JB KB","4":"E","164":"A B LB MB NB"},F:{"2":"8 9 E B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t OB PB QB RB UB x"},G:{"2":"G AB WB BB YB ZB aB bB","164":"cB dB eB fB gB"},H:{"2":"hB"},I:{"2":"1 F g iB jB kB lB BB mB nB"},J:{"2":"C A"},K:{"2":"8 9 A B D L x"},L:{"2":"g"},M:{"2":"v"},N:{"2":"A B"},O:{"2":"oB"},P:{"2":"F J pB"},Q:{"2":"qB"},R:{"2":"rB"}},B:5,C:"CSS Initial Letter"}; diff --git a/publi/node_modules/caniuse-lite/data/features/css-initial-value.js b/publi/node_modules/caniuse-lite/data/features/css-initial-value.js deleted file mode 100644 index 484ecc7..0000000 --- a/publi/node_modules/caniuse-lite/data/features/css-initial-value.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"1":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v","2":"1 VB F J K C G E A B D u Y I M H N TB SB"},D:{"1":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"1":"F J K C G E A B AB IB JB KB LB MB NB","16":"GB"},F:{"1":"I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t","2":"8 9 E B D OB PB QB RB UB x"},G:{"1":"G WB BB YB ZB aB bB cB dB eB fB gB","16":"AB"},H:{"2":"hB"},I:{"1":"1 F g kB lB BB mB nB","16":"iB jB"},J:{"1":"C A"},K:{"1":"L","2":"8 9 A B D x"},L:{"1":"g"},M:{"1":"v"},N:{"2":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:4,C:"CSS initial value"}; diff --git a/publi/node_modules/caniuse-lite/data/features/css-letter-spacing.js b/publi/node_modules/caniuse-lite/data/features/css-letter-spacing.js deleted file mode 100644 index 55cd16b..0000000 --- a/publi/node_modules/caniuse-lite/data/features/css-letter-spacing.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"E A B","16":"CB","132":"K C G"},B:{"1":"D u Y I M H"},C:{"1":"0 1 2 3 4 5 6 7 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v TB SB"},D:{"1":"0 2 3 4 5 6 7 Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB","132":"F J K C G E A B D u Y I M H N O P Q R S T U V W X w"},E:{"1":"C G E A B JB KB LB MB NB","16":"GB","132":"F J K AB IB"},F:{"1":"H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t","16":"E OB","132":"8 9 B D I M PB QB RB UB x"},G:{"1":"G WB BB YB ZB aB bB cB dB eB fB gB","16":"AB"},H:{"2":"hB"},I:{"1":"g mB nB","16":"iB jB","132":"1 F kB lB BB"},J:{"132":"C A"},K:{"1":"L","132":"8 9 A B D x"},L:{"1":"g"},M:{"1":"v"},N:{"1":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:2,C:"letter-spacing CSS property"}; diff --git a/publi/node_modules/caniuse-lite/data/features/css-line-clamp.js b/publi/node_modules/caniuse-lite/data/features/css-line-clamp.js deleted file mode 100644 index 17de383..0000000 --- a/publi/node_modules/caniuse-lite/data/features/css-line-clamp.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"2":"D u Y I M H"},C:{"2":"0 1 2 3 4 5 6 7 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v TB SB"},D:{"16":"F J K C G E A B D u","33":"0 2 3 4 5 6 7 Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"2":"F GB AB","33":"J K C G E A B IB JB KB LB MB NB"},F:{"2":"8 9 E B D OB PB QB RB UB x","33":"I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t"},G:{"2":"AB WB BB","33":"G YB ZB aB bB cB dB eB fB gB"},H:{"2":"hB"},I:{"16":"iB jB","33":"1 F g kB lB BB mB nB"},J:{"33":"C A"},K:{"2":"8 9 A B D x","33":"L"},L:{"33":"g"},M:{"2":"v"},N:{"2":"A B"},O:{"33":"oB"},P:{"33":"F J pB"},Q:{"33":"qB"},R:{"33":"rB"}},B:7,C:"CSS line-clamp"}; diff --git a/publi/node_modules/caniuse-lite/data/features/css-logical-props.js b/publi/node_modules/caniuse-lite/data/features/css-logical-props.js deleted file mode 100644 index 520aff7..0000000 --- a/publi/node_modules/caniuse-lite/data/features/css-logical-props.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"2":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 k l m n o p q r s t y z v","2":"VB","164":"1 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j TB SB"},D:{"292":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"292":"F J K C G E A B GB AB IB JB KB LB MB NB"},F:{"2":"8 9 E B D OB PB QB RB UB x","292":"I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t"},G:{"292":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"2":"hB"},I:{"292":"1 F g iB jB kB lB BB mB nB"},J:{"292":"C A"},K:{"2":"8 9 A B D x","292":"L"},L:{"292":"g"},M:{"164":"v"},N:{"2":"A B"},O:{"292":"oB"},P:{"292":"F J pB"},Q:{"292":"qB"},R:{"292":"rB"}},B:7,C:"CSS Logical Properties"}; diff --git a/publi/node_modules/caniuse-lite/data/features/css-marker-pseudo.js b/publi/node_modules/caniuse-lite/data/features/css-marker-pseudo.js deleted file mode 100644 index a973114..0000000 --- a/publi/node_modules/caniuse-lite/data/features/css-marker-pseudo.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"2":"D u Y I M H"},C:{"2":"0 1 2 3 4 5 6 7 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v TB SB"},D:{"2":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"2":"F J K C G E A B GB AB IB JB KB LB MB","129":"NB"},F:{"2":"8 9 E B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t OB PB QB RB UB x"},G:{"2":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"2":"hB"},I:{"2":"1 F g iB jB kB lB BB mB nB"},J:{"2":"C A"},K:{"2":"8 9 A B D L x"},L:{"2":"g"},M:{"2":"v"},N:{"2":"A B"},O:{"2":"oB"},P:{"2":"F J pB"},Q:{"2":"qB"},R:{"2":"rB"}},B:5,C:"CSS ::marker pseudo-element"}; diff --git a/publi/node_modules/caniuse-lite/data/features/css-masks.js b/publi/node_modules/caniuse-lite/data/features/css-masks.js deleted file mode 100644 index c609190..0000000 --- a/publi/node_modules/caniuse-lite/data/features/css-masks.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"2":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 v","2":"1 VB","260":"F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z TB SB"},D:{"164":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"2":"GB AB","164":"F J K C G E A B IB JB KB LB MB NB"},F:{"2":"8 9 E B D OB PB QB RB UB x","164":"I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t"},G:{"164":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"2":"hB"},I:{"164":"g mB nB","676":"1 F iB jB kB lB BB"},J:{"164":"C A"},K:{"2":"8 9 A B D x","164":"L"},L:{"164":"g"},M:{"1":"v"},N:{"2":"A B"},O:{"164":"oB"},P:{"164":"F J pB"},Q:{"164":"qB"},R:{"164":"rB"}},B:4,C:"CSS Masks"}; diff --git a/publi/node_modules/caniuse-lite/data/features/css-matches-pseudo.js b/publi/node_modules/caniuse-lite/data/features/css-matches-pseudo.js deleted file mode 100644 index 1b65967..0000000 --- a/publi/node_modules/caniuse-lite/data/features/css-matches-pseudo.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"2":"D u Y I M H"},C:{"16":"1 VB TB SB","548":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v"},D:{"16":"F J K C G E A B D u Y","164":"0 2 3 4 5 6 7 I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"2":"F GB AB","16":"J","164":"K C G IB JB KB","257":"E A B LB MB NB"},F:{"2":"8 9 E B D OB PB QB RB UB x","164":"I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t"},G:{"16":"AB WB BB YB ZB","164":"G aB bB","257":"cB dB eB fB gB"},H:{"2":"hB"},I:{"16":"1 iB jB kB","164":"F g lB BB mB nB"},J:{"16":"C","164":"A"},K:{"2":"8 9 A B D x","164":"L"},L:{"164":"g"},M:{"548":"v"},N:{"2":"A B"},O:{"164":"oB"},P:{"164":"F J pB"},Q:{"164":"qB"},R:{"164":"rB"}},B:5,C:":matches() CSS pseudo-class"}; diff --git a/publi/node_modules/caniuse-lite/data/features/css-media-interaction.js b/publi/node_modules/caniuse-lite/data/features/css-media-interaction.js deleted file mode 100644 index 78e8319..0000000 --- a/publi/node_modules/caniuse-lite/data/features/css-media-interaction.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"1":"D u Y I M H"},C:{"2":"0 1 2 3 4 5 6 7 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v TB SB"},D:{"1":"0 2 3 4 5 6 7 k l m n o p q r s t y z v HB g DB XB EB FB","2":"F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j"},E:{"1":"E A B LB MB NB","2":"F J K C G GB AB IB JB KB"},F:{"1":"X w Z a b c d e f L h i j k l m n o p q r s t","2":"8 9 E B D I M H N O P Q R S T U V W OB PB QB RB UB x"},G:{"1":"cB dB eB fB gB","2":"G AB WB BB YB ZB aB bB"},H:{"2":"hB"},I:{"1":"g","2":"1 F iB jB kB lB BB mB nB"},J:{"2":"C A"},K:{"1":"L","2":"8 9 A B D x"},L:{"1":"g"},M:{"2":"v"},N:{"2":"A B"},O:{"1":"oB"},P:{"1":"J pB","2":"F"},Q:{"2":"qB"},R:{"1":"rB"}},B:5,C:"Media Queries: interaction media features"}; diff --git a/publi/node_modules/caniuse-lite/data/features/css-media-resolution.js b/publi/node_modules/caniuse-lite/data/features/css-media-resolution.js deleted file mode 100644 index 4eaf65e..0000000 --- a/publi/node_modules/caniuse-lite/data/features/css-media-resolution.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G CB","132":"E A B"},B:{"1":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v","2":"1 VB","260":"F J K C G E A B D u Y I TB SB"},D:{"1":"0 2 3 4 5 6 7 w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB","548":"F J K C G E A B D u Y I M H N O P Q R S T U V W X"},E:{"2":"GB AB","548":"F J K C G E A B IB JB KB LB MB NB"},F:{"1":"I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t x","2":"E","548":"8 9 B D OB PB QB RB UB"},G:{"16":"AB","548":"G WB BB YB ZB aB bB cB dB eB fB gB"},H:{"132":"hB"},I:{"1":"g mB nB","16":"iB jB","548":"1 F kB lB BB"},J:{"548":"C A"},K:{"1":"L x","548":"8 9 A B D"},L:{"1":"g"},M:{"1":"v"},N:{"132":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:2,C:"Media Queries: resolution feature"}; diff --git a/publi/node_modules/caniuse-lite/data/features/css-media-scripting.js b/publi/node_modules/caniuse-lite/data/features/css-media-scripting.js deleted file mode 100644 index d70e8ec..0000000 --- a/publi/node_modules/caniuse-lite/data/features/css-media-scripting.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"16":"D u Y I M H"},C:{"2":"1 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y TB SB","16":"0 2 3 4 5 6 7 z v"},D:{"2":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB","16":"XB EB FB"},E:{"2":"F J K C G E A B GB AB IB JB KB LB MB NB"},F:{"2":"8 9 E B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r OB PB QB RB UB x","16":"s t"},G:{"2":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"2":"hB"},I:{"2":"1 F g iB jB kB lB BB mB nB"},J:{"2":"C A"},K:{"2":"8 9 A B D L x"},L:{"2":"g"},M:{"2":"v"},N:{"2":"A B"},O:{"2":"oB"},P:{"2":"F J pB"},Q:{"2":"qB"},R:{"2":"rB"}},B:5,C:"Media Queries: scripting media feature"}; diff --git a/publi/node_modules/caniuse-lite/data/features/css-mediaqueries.js b/publi/node_modules/caniuse-lite/data/features/css-mediaqueries.js deleted file mode 100644 index 6d7b072..0000000 --- a/publi/node_modules/caniuse-lite/data/features/css-mediaqueries.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"8":"K C G CB","129":"E A B"},B:{"1":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v TB SB","2":"1 VB"},D:{"1":"0 2 3 4 5 6 7 V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB","129":"F J K C G E A B D u Y I M H N O P Q R S T U"},E:{"1":"C G E A B JB KB LB MB NB","129":"F J K IB","388":"GB AB"},F:{"1":"8 9 B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t OB PB QB RB UB x","2":"E"},G:{"1":"G aB bB cB dB eB fB gB","129":"AB WB BB YB ZB"},H:{"1":"hB"},I:{"1":"g mB nB","129":"1 F iB jB kB lB BB"},J:{"1":"C A"},K:{"1":"8 9 A B D L x"},L:{"1":"g"},M:{"1":"v"},N:{"129":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:2,C:"CSS3 Media Queries"}; diff --git a/publi/node_modules/caniuse-lite/data/features/css-mixblendmode.js b/publi/node_modules/caniuse-lite/data/features/css-mixblendmode.js deleted file mode 100644 index 06996e0..0000000 --- a/publi/node_modules/caniuse-lite/data/features/css-mixblendmode.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"2":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 b c d e f L h i j k l m n o p q r s t y z v","2":"1 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a TB SB"},D:{"1":"0 2 3 4 5 6 7 k l m n o p q r s t y z v HB g DB XB EB FB","2":"F J K C G E A B D u Y I M H N O P Q R S T U V W X","194":"w Z a b c d e f L h i j"},E:{"2":"F J K C GB AB IB JB","260":"G E A B KB LB MB NB"},F:{"1":"w Z a b c d e f L h i j k l m n o p q r s t","2":"8 9 E B D I M H N O P Q R S T U V W X OB PB QB RB UB x"},G:{"2":"AB WB BB YB ZB aB","260":"G bB cB dB eB fB gB"},H:{"2":"hB"},I:{"1":"g","2":"1 F iB jB kB lB BB mB nB"},J:{"2":"C A"},K:{"1":"L","2":"8 9 A B D x"},L:{"1":"g"},M:{"1":"v"},N:{"2":"A B"},O:{"2":"oB"},P:{"1":"J pB","2":"F"},Q:{"1":"qB"},R:{"1":"rB"}},B:4,C:"Blending of HTML/SVG elements"}; diff --git a/publi/node_modules/caniuse-lite/data/features/css-motion-paths.js b/publi/node_modules/caniuse-lite/data/features/css-motion-paths.js deleted file mode 100644 index b7827f4..0000000 --- a/publi/node_modules/caniuse-lite/data/features/css-motion-paths.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"2":"D u Y I M H"},C:{"2":"0 1 2 3 4 5 6 7 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v TB SB"},D:{"1":"0 2 3 4 5 6 7 p q r s t y z v HB g DB XB EB FB","2":"F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l","194":"m n o"},E:{"2":"F J K C G E A B GB AB IB JB KB LB MB NB"},F:{"1":"c d e f L h i j k l m n o p q r s t","2":"8 9 E B D I M H N O P Q R S T U V W X w OB PB QB RB UB x","194":"Z a b"},G:{"2":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"2":"hB"},I:{"1":"g","2":"1 F iB jB kB lB BB mB nB"},J:{"2":"C A"},K:{"1":"L","2":"8 9 A B D x"},L:{"1":"g"},M:{"2":"v"},N:{"2":"A B"},O:{"2":"oB"},P:{"1":"J pB","2":"F"},Q:{"2":"qB"},R:{"1":"rB"}},B:7,C:"CSS Motion Path"}; diff --git a/publi/node_modules/caniuse-lite/data/features/css-namespaces.js b/publi/node_modules/caniuse-lite/data/features/css-namespaces.js deleted file mode 100644 index a550cab..0000000 --- a/publi/node_modules/caniuse-lite/data/features/css-namespaces.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"E A B","2":"K C G CB"},B:{"1":"D u Y I M H"},C:{"1":"0 1 2 3 4 5 6 7 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v TB SB"},D:{"1":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"1":"F J K C G E A B IB JB KB LB MB NB","16":"GB AB"},F:{"1":"8 9 E B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t OB PB QB RB UB x"},G:{"1":"G BB YB ZB aB bB cB dB eB fB gB","16":"AB WB"},H:{"1":"hB"},I:{"1":"1 F g iB jB kB lB BB mB nB"},J:{"1":"C A"},K:{"1":"8 9 A B D L x"},L:{"1":"g"},M:{"1":"v"},N:{"1":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:2,C:"CSS namespaces"}; diff --git a/publi/node_modules/caniuse-lite/data/features/css-not-sel-list.js b/publi/node_modules/caniuse-lite/data/features/css-not-sel-list.js deleted file mode 100644 index e8974f7..0000000 --- a/publi/node_modules/caniuse-lite/data/features/css-not-sel-list.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"2":"D u Y I M H"},C:{"2":"0 1 2 3 4 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v TB SB","16":"5 6 7"},D:{"2":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB","16":"XB EB FB"},E:{"1":"E A B LB MB NB","2":"F J K C G GB AB IB JB KB"},F:{"2":"8 9 E B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t OB PB QB RB UB x"},G:{"1":"cB dB eB fB gB","2":"G AB WB BB YB ZB aB bB"},H:{"2":"hB"},I:{"2":"1 F g iB jB kB lB BB mB nB"},J:{"2":"C A"},K:{"2":"8 9 A B D L x"},L:{"2":"g"},M:{"2":"v"},N:{"2":"A B"},O:{"2":"oB"},P:{"2":"F J pB"},Q:{"2":"qB"},R:{"2":"rB"}},B:5,C:"selector list argument of :not()"}; diff --git a/publi/node_modules/caniuse-lite/data/features/css-nth-child-of.js b/publi/node_modules/caniuse-lite/data/features/css-nth-child-of.js deleted file mode 100644 index 38e65d2..0000000 --- a/publi/node_modules/caniuse-lite/data/features/css-nth-child-of.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"2":"D u Y I M H"},C:{"2":"0 1 2 3 4 5 6 7 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v TB SB"},D:{"2":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"1":"E A B LB MB NB","2":"F J K C G GB AB IB JB KB"},F:{"2":"8 9 E B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t OB PB QB RB UB x"},G:{"1":"cB dB eB fB gB","2":"G AB WB BB YB ZB aB bB"},H:{"2":"hB"},I:{"2":"1 F g iB jB kB lB BB mB nB"},J:{"2":"C A"},K:{"2":"8 9 A B D L x"},L:{"2":"g"},M:{"2":"v"},N:{"2":"A B"},O:{"2":"oB"},P:{"2":"F J pB"},Q:{"2":"qB"},R:{"2":"rB"}},B:7,C:"selector list argument of :nth-child and :nth-last-child CSS pseudo-classes"}; diff --git a/publi/node_modules/caniuse-lite/data/features/css-opacity.js b/publi/node_modules/caniuse-lite/data/features/css-opacity.js deleted file mode 100644 index ed3413e..0000000 --- a/publi/node_modules/caniuse-lite/data/features/css-opacity.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"E A B","4":"K C G CB"},B:{"1":"D u Y I M H"},C:{"1":"0 1 2 3 4 5 6 7 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v TB SB"},D:{"1":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"1":"F J K C G E A B GB AB IB JB KB LB MB NB"},F:{"1":"8 9 E B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t OB PB QB RB UB x"},G:{"1":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"1":"hB"},I:{"1":"1 F g iB jB kB lB BB mB nB"},J:{"1":"C A"},K:{"1":"8 9 A B D L x"},L:{"1":"g"},M:{"1":"v"},N:{"1":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:2,C:"CSS3 Opacity"}; diff --git a/publi/node_modules/caniuse-lite/data/features/css-optional-pseudo.js b/publi/node_modules/caniuse-lite/data/features/css-optional-pseudo.js deleted file mode 100644 index 07acc4e..0000000 --- a/publi/node_modules/caniuse-lite/data/features/css-optional-pseudo.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"A B","2":"K C G E CB"},B:{"1":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v","2":"1 VB TB SB"},D:{"1":"0 2 3 4 5 6 7 I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB","16":"F J K C G E A B D u Y"},E:{"1":"J K C G E A B IB JB KB LB MB NB","2":"F GB AB"},F:{"1":"I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t","16":"E OB","132":"8 9 B D PB QB RB UB x"},G:{"1":"G YB ZB aB bB cB dB eB fB gB","2":"AB WB BB"},H:{"132":"hB"},I:{"1":"1 F g kB lB BB mB nB","16":"iB jB"},J:{"1":"C A"},K:{"1":"L","132":"8 9 A B D x"},L:{"1":"g"},M:{"1":"v"},N:{"1":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:7,C:":optional CSS pseudo-class"}; diff --git a/publi/node_modules/caniuse-lite/data/features/css-overflow-anchor.js b/publi/node_modules/caniuse-lite/data/features/css-overflow-anchor.js deleted file mode 100644 index 103926e..0000000 --- a/publi/node_modules/caniuse-lite/data/features/css-overflow-anchor.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"2":"D u Y I M H"},C:{"2":"0 1 2 3 4 5 6 7 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v TB SB"},D:{"1":"3 5 6 7 v HB g DB XB EB FB","2":"0 2 4 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z"},E:{"2":"F J K C G E A B GB AB IB JB KB LB MB NB"},F:{"1":"m n o p q r s t","2":"8 9 E B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l OB PB QB RB UB x"},G:{"2":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"2":"hB"},I:{"1":"g","2":"1 F iB jB kB lB BB mB nB"},J:{"2":"C A"},K:{"2":"8 9 A B D L x"},L:{"1":"g"},M:{"2":"v"},N:{"2":"A B"},O:{"2":"oB"},P:{"1":"J pB","2":"F"},Q:{"2":"qB"},R:{"1":"rB"}},B:5,C:"CSS overflow-anchor (Scroll Anchoring)"}; diff --git a/publi/node_modules/caniuse-lite/data/features/css-page-break.js b/publi/node_modules/caniuse-lite/data/features/css-page-break.js deleted file mode 100644 index 374ac4d..0000000 --- a/publi/node_modules/caniuse-lite/data/features/css-page-break.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"388":"A B","900":"K C G E CB"},B:{"388":"D u Y I M H"},C:{"900":"0 1 2 3 4 5 6 7 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v TB SB"},D:{"900":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"772":"A","900":"F J K C G E B GB AB IB JB KB LB MB NB"},F:{"16":"E OB","129":"8 9 B D PB QB RB UB x","900":"I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t"},G:{"900":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"129":"hB"},I:{"900":"1 F g iB jB kB lB BB mB nB"},J:{"900":"C A"},K:{"129":"8 9 A B D x","900":"L"},L:{"900":"g"},M:{"900":"v"},N:{"388":"A B"},O:{"900":"oB"},P:{"900":"F J pB"},Q:{"900":"qB"},R:{"900":"rB"}},B:2,C:"CSS page-break properties"}; diff --git a/publi/node_modules/caniuse-lite/data/features/css-paged-media.js b/publi/node_modules/caniuse-lite/data/features/css-paged-media.js deleted file mode 100644 index c5134a3..0000000 --- a/publi/node_modules/caniuse-lite/data/features/css-paged-media.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C CB","132":"G E A B"},B:{"132":"D u Y I M H"},C:{"2":"1 VB F J K C G E A B D u Y I M H N TB SB","132":"0 2 3 4 5 6 7 O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v"},D:{"1":"0 2 3 4 5 6 7 I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB","16":"F J K C G E A B D u Y"},E:{"2":"F J K C G E A B GB AB IB JB KB LB MB NB"},F:{"1":"I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t","132":"8 9 E B D OB PB QB RB UB x"},G:{"2":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"16":"hB"},I:{"16":"1 F g iB jB kB lB BB mB nB"},J:{"16":"C A"},K:{"16":"8 9 A B D x","258":"L"},L:{"1":"g"},M:{"132":"v"},N:{"258":"A B"},O:{"258":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:5,C:"CSS Paged Media (@page)"}; diff --git a/publi/node_modules/caniuse-lite/data/features/css-placeholder-shown.js b/publi/node_modules/caniuse-lite/data/features/css-placeholder-shown.js deleted file mode 100644 index f6b0a36..0000000 --- a/publi/node_modules/caniuse-lite/data/features/css-placeholder-shown.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"2":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 y z v","2":"1 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t TB SB"},D:{"1":"0 2 3 4 5 6 7 q r s t y z v HB g DB XB EB FB","2":"F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p"},E:{"1":"E A B LB MB NB","2":"F J K C G GB AB IB JB KB"},F:{"1":"d e f L h i j k l m n o p q r s t","2":"8 9 E B D I M H N O P Q R S T U V W X w Z a b c OB PB QB RB UB x"},G:{"1":"cB dB eB fB gB","2":"G AB WB BB YB ZB aB bB"},H:{"2":"hB"},I:{"1":"g","2":"1 F iB jB kB lB BB mB nB"},J:{"2":"C A"},K:{"2":"8 9 A B D L x"},L:{"1":"g"},M:{"1":"v"},N:{"2":"A B"},O:{"2":"oB"},P:{"1":"J pB","2":"F"},Q:{"1":"qB"},R:{"1":"rB"}},B:5,C:":placeholder-shown CSS pseudo-class"}; diff --git a/publi/node_modules/caniuse-lite/data/features/css-placeholder.js b/publi/node_modules/caniuse-lite/data/features/css-placeholder.js deleted file mode 100644 index 7a08edb..0000000 --- a/publi/node_modules/caniuse-lite/data/features/css-placeholder.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E CB","36":"A B"},B:{"36":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 y z v","2":"1 VB TB SB","33":"O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t","164":"F J K C G E A B D u Y I M H N"},D:{"1":"5 6 7 v HB g DB XB EB FB","36":"0 2 3 4 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z"},E:{"1":"B MB NB","2":"F GB AB","36":"J K C G E A IB JB KB LB"},F:{"1":"n o p q r s t","2":"8 9 E B D OB PB QB RB UB x","36":"I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m"},G:{"1":"fB gB","2":"AB WB","36":"G BB YB ZB aB bB cB dB eB"},H:{"2":"hB"},I:{"1":"g","36":"1 F iB jB kB lB BB mB nB"},J:{"36":"C A"},K:{"2":"8 9 A B D x","36":"L"},L:{"1":"g"},M:{"1":"v"},N:{"36":"A B"},O:{"36":"oB"},P:{"36":"F J pB"},Q:{"36":"qB"},R:{"1":"rB"}},B:5,C:"::placeholder CSS pseudo-element"}; diff --git a/publi/node_modules/caniuse-lite/data/features/css-read-only-write.js b/publi/node_modules/caniuse-lite/data/features/css-read-only-write.js deleted file mode 100644 index e1ed5fa..0000000 --- a/publi/node_modules/caniuse-lite/data/features/css-read-only-write.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"1":"u Y I M H","2":"D"},C:{"16":"1 VB F J K C G E A B D u Y I M H N O P Q R S T U V TB SB","33":"0 2 3 4 5 6 7 W X w Z a b c d e f L h i j k l m n o p q r s t y z v"},D:{"16":"F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c","132":"0 2 3 4 5 6 7 d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"16":"F J K GB AB IB JB","132":"C G E A B KB LB MB NB"},F:{"2":"8 9 E B D OB PB QB RB UB x","132":"I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t"},G:{"16":"AB WB BB YB ZB aB","132":"G bB cB dB eB fB gB"},H:{"2":"hB"},I:{"2":"1 F iB jB kB lB BB mB nB","132":"g"},J:{"16":"C A"},K:{"2":"8 9 A B D x","132":"L"},L:{"132":"g"},M:{"33":"v"},N:{"16":"A B"},O:{"16":"oB"},P:{"2":"F","132":"J pB"},Q:{"132":"qB"},R:{"132":"rB"}},B:1,C:"CSS :read-only and :read-write selectors"}; diff --git a/publi/node_modules/caniuse-lite/data/features/css-rebeccapurple.js b/publi/node_modules/caniuse-lite/data/features/css-rebeccapurple.js deleted file mode 100644 index 1ca01d8..0000000 --- a/publi/node_modules/caniuse-lite/data/features/css-rebeccapurple.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A CB","132":"B"},B:{"1":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 c d e f L h i j k l m n o p q r s t y z v","2":"1 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b TB SB"},D:{"1":"0 2 3 4 5 6 7 h i j k l m n o p q r s t y z v HB g DB XB EB FB","2":"F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L"},E:{"1":"C G E A B KB LB MB NB","2":"F J K GB AB IB","16":"JB"},F:{"1":"U V W X w Z a b c d e f L h i j k l m n o p q r s t","2":"8 9 E B D I M H N O P Q R S T OB PB QB RB UB x"},G:{"1":"G bB cB dB eB fB gB","2":"AB WB BB YB ZB aB"},H:{"2":"hB"},I:{"1":"g mB nB","2":"1 F iB jB kB lB BB"},J:{"2":"C A"},K:{"1":"L","2":"8 9 A B D x"},L:{"1":"g"},M:{"1":"v"},N:{"2":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"2":"qB"},R:{"1":"rB"}},B:5,C:"Rebeccapurple color"}; diff --git a/publi/node_modules/caniuse-lite/data/features/css-reflections.js b/publi/node_modules/caniuse-lite/data/features/css-reflections.js deleted file mode 100644 index 1c27f00..0000000 --- a/publi/node_modules/caniuse-lite/data/features/css-reflections.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"2":"D u Y I M H"},C:{"2":"0 1 2 3 4 5 6 7 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v TB SB"},D:{"33":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"2":"GB AB","33":"F J K C G E A B IB JB KB LB MB NB"},F:{"2":"8 9 E B D OB PB QB RB UB x","33":"I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t"},G:{"33":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"2":"hB"},I:{"33":"1 F g iB jB kB lB BB mB nB"},J:{"33":"C A"},K:{"2":"8 9 A B D x","33":"L"},L:{"33":"g"},M:{"2":"v"},N:{"2":"A B"},O:{"2":"oB"},P:{"33":"F J pB"},Q:{"33":"qB"},R:{"33":"rB"}},B:7,C:"CSS Reflections"}; diff --git a/publi/node_modules/caniuse-lite/data/features/css-regions.js b/publi/node_modules/caniuse-lite/data/features/css-regions.js deleted file mode 100644 index 1a536a5..0000000 --- a/publi/node_modules/caniuse-lite/data/features/css-regions.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E CB","420":"A B"},B:{"420":"D u Y I M H"},C:{"2":"0 1 2 3 4 5 6 7 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v TB SB"},D:{"2":"0 2 3 4 5 6 7 F J K C G E A B D u Y e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB","36":"I M H N","66":"O P Q R S T U V W X w Z a b c d"},E:{"2":"F J K GB AB IB NB","33":"C G E A B JB KB LB MB"},F:{"2":"8 9 E B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t OB PB QB RB UB x"},G:{"2":"AB WB BB YB ZB","33":"G aB bB cB dB eB fB gB"},H:{"2":"hB"},I:{"2":"1 F g iB jB kB lB BB mB nB"},J:{"2":"C A"},K:{"2":"8 9 A B D L x"},L:{"2":"g"},M:{"2":"v"},N:{"420":"A B"},O:{"2":"oB"},P:{"2":"F J pB"},Q:{"2":"qB"},R:{"2":"rB"}},B:5,C:"CSS Regions"}; diff --git a/publi/node_modules/caniuse-lite/data/features/css-repeating-gradients.js b/publi/node_modules/caniuse-lite/data/features/css-repeating-gradients.js deleted file mode 100644 index f201945..0000000 --- a/publi/node_modules/caniuse-lite/data/features/css-repeating-gradients.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"A B","2":"K C G E CB"},B:{"1":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v","2":"1 VB TB","33":"F J K C G E A B D u Y I SB"},D:{"1":"0 2 3 4 5 6 7 V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB","2":"F J K C G E","33":"A B D u Y I M H N O P Q R S T U"},E:{"1":"C G E A B JB KB LB MB NB","2":"F J GB AB","33":"K IB"},F:{"1":"I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t x","2":"E B OB PB QB RB","33":"D UB","36":"8 9"},G:{"1":"G aB bB cB dB eB fB gB","2":"AB WB BB","33":"YB ZB"},H:{"2":"hB"},I:{"1":"g mB nB","2":"1 iB jB kB","33":"F lB BB"},J:{"1":"A","2":"C"},K:{"1":"L x","2":"A B","33":"D","36":"8 9"},L:{"1":"g"},M:{"1":"v"},N:{"1":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:4,C:"CSS Repeating Gradients"}; diff --git a/publi/node_modules/caniuse-lite/data/features/css-resize.js b/publi/node_modules/caniuse-lite/data/features/css-resize.js deleted file mode 100644 index 9890310..0000000 --- a/publi/node_modules/caniuse-lite/data/features/css-resize.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"2":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v","2":"1 VB TB SB","33":"F"},D:{"1":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"1":"F J K C G E A B IB JB KB LB MB NB","2":"GB AB"},F:{"1":"I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t","2":"8 9 E B D OB PB QB RB UB","132":"x"},G:{"2":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"2":"hB"},I:{"1":"g","2":"1 F iB jB kB lB BB mB nB"},J:{"2":"C A"},K:{"1":"L","2":"8 9 A B D x"},L:{"1":"g"},M:{"1":"v"},N:{"2":"A B"},O:{"1":"oB"},P:{"1":"J pB","2":"F"},Q:{"1":"qB"},R:{"1":"rB"}},B:4,C:"CSS resize property"}; diff --git a/publi/node_modules/caniuse-lite/data/features/css-revert-value.js b/publi/node_modules/caniuse-lite/data/features/css-revert-value.js deleted file mode 100644 index 7f1607a..0000000 --- a/publi/node_modules/caniuse-lite/data/features/css-revert-value.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"2":"D u Y I M H"},C:{"2":"0 1 2 3 4 5 6 7 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v TB SB"},D:{"2":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"1":"A B LB MB NB","2":"F J K C G E GB AB IB JB KB"},F:{"2":"8 9 E B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t OB PB QB RB UB x"},G:{"1":"dB eB fB gB","2":"G AB WB BB YB ZB aB bB cB"},H:{"2":"hB"},I:{"2":"1 F g iB jB kB lB BB mB nB"},J:{"2":"C A"},K:{"2":"8 9 A B D L x"},L:{"2":"g"},M:{"2":"v"},N:{"2":"A B"},O:{"2":"oB"},P:{"2":"F J pB"},Q:{"2":"qB"},R:{"2":"rB"}},B:5,C:"CSS revert value"}; diff --git a/publi/node_modules/caniuse-lite/data/features/css-rrggbbaa.js b/publi/node_modules/caniuse-lite/data/features/css-rrggbbaa.js deleted file mode 100644 index cf91172..0000000 --- a/publi/node_modules/caniuse-lite/data/features/css-rrggbbaa.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"2":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 s t y z v","2":"1 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r TB SB"},D:{"1":"g DB XB EB FB","2":"F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y","194":"0 2 3 4 5 6 7 z v HB"},E:{"1":"A B MB NB","2":"F J K C G E GB AB IB JB KB LB"},F:{"2":"8 9 E B D I M H N O P Q R S T U V W X w Z a b c d e f L h OB PB QB RB UB x","194":"i j k l m n o p q r s t"},G:{"1":"eB fB gB","2":"G AB WB BB YB ZB aB bB cB dB"},H:{"2":"hB"},I:{"1":"g","2":"1 F iB jB kB lB BB mB nB"},J:{"2":"C A"},K:{"2":"8 9 A B D L x"},L:{"1":"g"},M:{"1":"v"},N:{"2":"A B"},O:{"2":"oB"},P:{"2":"F","194":"J pB"},Q:{"194":"qB"},R:{"194":"rB"}},B:7,C:"#rrggbbaa hex color notation"}; diff --git a/publi/node_modules/caniuse-lite/data/features/css-scroll-behavior.js b/publi/node_modules/caniuse-lite/data/features/css-scroll-behavior.js deleted file mode 100644 index bd81768..0000000 --- a/publi/node_modules/caniuse-lite/data/features/css-scroll-behavior.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"2":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 f L h i j k l m n o p q r s t y z v","2":"1 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e TB SB"},D:{"2":"F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j","129":"HB g DB XB EB FB","450":"0 2 3 4 5 6 7 k l m n o p q r s t y z v"},E:{"2":"F J K C G E A B GB AB IB JB KB LB MB NB"},F:{"2":"8 9 E B D I M H N O P Q R S T U V W OB PB QB RB UB x","129":"r s t","450":"X w Z a b c d e f L h i j k l m n o p q"},G:{"2":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"2":"hB"},I:{"2":"1 F g iB jB kB lB BB mB nB"},J:{"2":"C A"},K:{"2":"8 9 A B D L x"},L:{"1":"g"},M:{"2":"v"},N:{"2":"A B"},O:{"2":"oB"},P:{"2":"F J pB"},Q:{"450":"qB"},R:{"2":"rB"}},B:5,C:"CSSOM Scroll-behavior"}; diff --git a/publi/node_modules/caniuse-lite/data/features/css-scrollbar.js b/publi/node_modules/caniuse-lite/data/features/css-scrollbar.js deleted file mode 100644 index 9323e42..0000000 --- a/publi/node_modules/caniuse-lite/data/features/css-scrollbar.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"132":"K C G E A B CB"},B:{"2":"D u Y I M H"},C:{"2":"0 1 2 3 4 5 6 7 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v TB SB"},D:{"289":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"16":"F J GB AB","289":"K C G E A B IB JB KB LB MB NB"},F:{"2":"8 9 E B D OB PB QB RB UB x","289":"I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t"},G:{"16":"AB WB BB YB ZB","289":"G aB bB cB dB eB fB gB"},H:{"2":"hB"},I:{"16":"iB jB","289":"1 F g kB lB BB mB nB"},J:{"289":"C A"},K:{"2":"8 9 A B D x","289":"L"},L:{"289":"g"},M:{"2":"v"},N:{"2":"A B"},O:{"289":"oB"},P:{"289":"F J pB"},Q:{"289":"qB"},R:{"289":"rB"}},B:7,C:"CSS scrollbar styling"}; diff --git a/publi/node_modules/caniuse-lite/data/features/css-sel2.js b/publi/node_modules/caniuse-lite/data/features/css-sel2.js deleted file mode 100644 index a3ca251..0000000 --- a/publi/node_modules/caniuse-lite/data/features/css-sel2.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"C G E A B","2":"CB","8":"K"},B:{"1":"D u Y I M H"},C:{"1":"0 1 2 3 4 5 6 7 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v TB SB"},D:{"1":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"1":"F J K C G E A B GB AB IB JB KB LB MB NB"},F:{"1":"8 9 E B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t OB PB QB RB UB x"},G:{"1":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"1":"hB"},I:{"1":"1 F g iB jB kB lB BB mB nB"},J:{"1":"C A"},K:{"1":"8 9 A B D L x"},L:{"1":"g"},M:{"1":"v"},N:{"1":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:2,C:"CSS 2.1 selectors"}; diff --git a/publi/node_modules/caniuse-lite/data/features/css-sel3.js b/publi/node_modules/caniuse-lite/data/features/css-sel3.js deleted file mode 100644 index 1ea7642..0000000 --- a/publi/node_modules/caniuse-lite/data/features/css-sel3.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"E A B","2":"CB","8":"K","132":"C G"},B:{"1":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v TB SB","2":"1 VB"},D:{"1":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"1":"F J K C G E A B AB IB JB KB LB MB NB","2":"GB"},F:{"1":"8 9 B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t OB PB QB RB UB x","2":"E"},G:{"1":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"1":"hB"},I:{"1":"1 F g iB jB kB lB BB mB nB"},J:{"1":"C A"},K:{"1":"8 9 A B D L x"},L:{"1":"g"},M:{"1":"v"},N:{"1":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:2,C:"CSS3 selectors"}; diff --git a/publi/node_modules/caniuse-lite/data/features/css-selection.js b/publi/node_modules/caniuse-lite/data/features/css-selection.js deleted file mode 100644 index 8bb06d9..0000000 --- a/publi/node_modules/caniuse-lite/data/features/css-selection.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"E A B","2":"K C G CB"},B:{"1":"D u Y I M H"},C:{"33":"0 1 2 3 4 5 6 7 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v TB SB"},D:{"1":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"1":"F J K C G E A B GB AB IB JB KB LB MB NB"},F:{"1":"8 9 B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t OB PB QB RB UB x","2":"E"},G:{"2":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"2":"hB"},I:{"1":"g mB nB","2":"1 F iB jB kB lB BB"},J:{"1":"A","2":"C"},K:{"1":"8 D L x","16":"9 A B"},L:{"1":"g"},M:{"33":"v"},N:{"1":"A B"},O:{"2":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:5,C:"::selection CSS pseudo-element"}; diff --git a/publi/node_modules/caniuse-lite/data/features/css-shapes.js b/publi/node_modules/caniuse-lite/data/features/css-shapes.js deleted file mode 100644 index 38df6d2..0000000 --- a/publi/node_modules/caniuse-lite/data/features/css-shapes.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"2":"D u Y I M H"},C:{"2":"0 1 2 3 4 5 6 7 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v TB SB"},D:{"1":"0 2 3 4 5 6 7 L h i j k l m n o p q r s t y z v HB g DB XB EB FB","2":"F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c","194":"d e f"},E:{"1":"B MB NB","2":"F J K C GB AB IB JB","33":"G E A KB LB"},F:{"1":"T U V W X w Z a b c d e f L h i j k l m n o p q r s t","2":"8 9 E B D I M H N O P Q R S OB PB QB RB UB x"},G:{"1":"fB gB","2":"AB WB BB YB ZB aB","33":"G bB cB dB eB"},H:{"2":"hB"},I:{"1":"g","2":"1 F iB jB kB lB BB mB nB"},J:{"2":"C A"},K:{"1":"L","2":"8 9 A B D x"},L:{"1":"g"},M:{"2":"v"},N:{"2":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:4,C:"CSS Shapes Level 1"}; diff --git a/publi/node_modules/caniuse-lite/data/features/css-snappoints.js b/publi/node_modules/caniuse-lite/data/features/css-snappoints.js deleted file mode 100644 index 7ab9ed0..0000000 --- a/publi/node_modules/caniuse-lite/data/features/css-snappoints.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E CB","6308":"A","6436":"B"},B:{"6436":"D u Y I M H"},C:{"2":"1 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h TB SB","2052":"0 2 3 4 5 6 7 i j k l m n o p q r s t y z v"},D:{"2":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"1":"B NB","2":"F J K C G GB AB IB JB KB","3108":"E A LB MB"},F:{"2":"8 9 E B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t OB PB QB RB UB x"},G:{"1":"gB","2":"G AB WB BB YB ZB aB bB","3108":"cB dB eB fB"},H:{"2":"hB"},I:{"2":"1 F g iB jB kB lB BB mB nB"},J:{"2":"C A"},K:{"2":"8 9 A B D L x"},L:{"2":"g"},M:{"2052":"v"},N:{"2":"A B"},O:{"2":"oB"},P:{"2":"F J pB"},Q:{"2":"qB"},R:{"2":"rB"}},B:4,C:"CSS Scroll snap points"}; diff --git a/publi/node_modules/caniuse-lite/data/features/css-sticky.js b/publi/node_modules/caniuse-lite/data/features/css-sticky.js deleted file mode 100644 index 4f40d2d..0000000 --- a/publi/node_modules/caniuse-lite/data/features/css-sticky.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"1":"M H","2":"D u Y I"},C:{"2":"1 VB F J K C G E A B D u Y I M H N O P Q R S T U TB SB","194":"V W X w Z a","516":"0 2 3 4 5 6 7 b c d e f L h i j k l m n o p q r s t y z v"},D:{"1":"XB EB FB","2":"F J K C G E A B D u Y I M H N O P Q R L h i j k l m n o p q r s t y","322":"0 2 4 S T U V W X w Z a b c d e f z","1028":"3 5 6 7 v HB g DB"},E:{"2":"F J K GB AB IB","33":"G E A B KB LB MB NB","2084":"C JB"},F:{"2":"8 9 E B D I M H N O P Q R S T U V W X w Z a b c d e f L h OB PB QB RB UB x","322":"i j k","1028":"l m n o p q r s t"},G:{"2":"AB WB BB YB","33":"G bB cB dB eB fB gB","2084":"ZB aB"},H:{"2":"hB"},I:{"2":"1 F iB jB kB lB BB mB nB","1028":"g"},J:{"2":"C A"},K:{"2":"8 9 A B D L x"},L:{"1028":"g"},M:{"516":"v"},N:{"2":"A B"},O:{"2":"oB"},P:{"1":"pB","2":"F J"},Q:{"322":"qB"},R:{"2":"rB"}},B:5,C:"CSS position:sticky"}; diff --git a/publi/node_modules/caniuse-lite/data/features/css-supports-api.js b/publi/node_modules/caniuse-lite/data/features/css-supports-api.js deleted file mode 100644 index 56b7b39..0000000 --- a/publi/node_modules/caniuse-lite/data/features/css-supports-api.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"1":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v","2":"1 VB F J K C G E A B D u Y I M H N O TB SB","66":"P Q R"},D:{"1":"0 2 3 4 5 6 7 X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB","2":"F J K C G E A B D u Y I M H N O P Q R S T U V W"},E:{"1":"E A B LB MB NB","2":"F J K C G GB AB IB JB KB"},F:{"1":"I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t","2":"8 9 E B D OB PB QB RB UB","132":"x"},G:{"1":"cB dB eB fB gB","2":"G AB WB BB YB ZB aB bB"},H:{"132":"hB"},I:{"1":"g mB nB","2":"1 F iB jB kB lB BB"},J:{"2":"C A"},K:{"1":"L","2":"8 9 A B D","132":"x"},L:{"1":"g"},M:{"1":"v"},N:{"2":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:4,C:"CSS.supports() API"}; diff --git a/publi/node_modules/caniuse-lite/data/features/css-table.js b/publi/node_modules/caniuse-lite/data/features/css-table.js deleted file mode 100644 index b9bb9ce..0000000 --- a/publi/node_modules/caniuse-lite/data/features/css-table.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"G E A B","2":"K C CB"},B:{"1":"D u Y I M H"},C:{"1":"0 1 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v TB SB","132":"VB"},D:{"1":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"1":"F J K C G E A B GB AB IB JB KB LB MB NB"},F:{"1":"8 9 E B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t OB PB QB RB UB x"},G:{"1":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"1":"hB"},I:{"1":"1 F g iB jB kB lB BB mB nB"},J:{"1":"C A"},K:{"1":"8 9 A B D L x"},L:{"1":"g"},M:{"1":"v"},N:{"1":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:2,C:"CSS Table display"}; diff --git a/publi/node_modules/caniuse-lite/data/features/css-text-align-last.js b/publi/node_modules/caniuse-lite/data/features/css-text-align-last.js deleted file mode 100644 index 44daf31..0000000 --- a/publi/node_modules/caniuse-lite/data/features/css-text-align-last.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"132":"K C G E A B CB"},B:{"4":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 s t y z v","2":"1 VB F J K C G E A B TB SB","33":"D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r"},D:{"1":"0 2 3 4 5 6 7 q r s t y z v HB g DB XB EB FB","2":"F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d","322":"e f L h i j k l m n o p"},E:{"2":"F J K C G E A B GB AB IB JB KB LB MB NB"},F:{"1":"d e f L h i j k l m n o p q r s t","2":"8 9 E B D I M H N O P Q OB PB QB RB UB x","578":"R S T U V W X w Z a b c"},G:{"2":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"2":"hB"},I:{"1":"g","2":"1 F iB jB kB lB BB mB nB"},J:{"2":"C A"},K:{"2":"8 9 A B D L x"},L:{"1":"g"},M:{"1":"v"},N:{"132":"A B"},O:{"2":"oB"},P:{"1":"J pB","2":"F"},Q:{"2":"qB"},R:{"1":"rB"}},B:5,C:"CSS3 text-align-last"}; diff --git a/publi/node_modules/caniuse-lite/data/features/css-text-indent.js b/publi/node_modules/caniuse-lite/data/features/css-text-indent.js deleted file mode 100644 index 2163b06..0000000 --- a/publi/node_modules/caniuse-lite/data/features/css-text-indent.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"132":"K C G E A B CB"},B:{"132":"D u Y I M H"},C:{"132":"0 1 2 3 4 5 6 7 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v TB SB"},D:{"132":"F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L","388":"0 2 3 4 5 6 7 h i j k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"132":"F J K C G E A B GB AB IB JB KB LB MB NB"},F:{"132":"8 9 E B D I M H N O P Q R S T OB PB QB RB UB x","388":"U V W X w Z a b c d e f L h i j k l m n o p q r s t"},G:{"132":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"132":"hB"},I:{"132":"1 F g iB jB kB lB BB mB nB"},J:{"132":"C A"},K:{"132":"8 9 A B D x","388":"L"},L:{"388":"g"},M:{"132":"v"},N:{"132":"A B"},O:{"132":"oB"},P:{"132":"F","388":"J pB"},Q:{"388":"qB"},R:{"388":"rB"}},B:5,C:"CSS text-indent"}; diff --git a/publi/node_modules/caniuse-lite/data/features/css-text-justify.js b/publi/node_modules/caniuse-lite/data/features/css-text-justify.js deleted file mode 100644 index a207c1c..0000000 --- a/publi/node_modules/caniuse-lite/data/features/css-text-justify.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"16":"K C CB","132":"G E A B"},B:{"132":"D u Y I M H"},C:{"2":"0 1 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z TB SB","1025":"2 3 5 6 7 v","1602":"4"},D:{"2":"F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l","322":"0 2 3 4 5 6 7 m n o p q r s t y z v HB g DB XB EB FB"},E:{"2":"F J K C G E A B GB AB IB JB KB LB MB NB"},F:{"2":"8 9 E B D I M H N O P Q R S T U V W X w OB PB QB RB UB x","322":"Z a b c d e f L h i j k l m n o p q r s t"},G:{"2":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"2":"hB"},I:{"2":"1 F iB jB kB lB BB mB nB","322":"g"},J:{"2":"C A"},K:{"2":"8 9 A B D x","322":"L"},L:{"322":"g"},M:{"1025":"v"},N:{"132":"A B"},O:{"2":"oB"},P:{"2":"F","322":"J pB"},Q:{"322":"qB"},R:{"322":"rB"}},B:5,C:"CSS text-justify"}; diff --git a/publi/node_modules/caniuse-lite/data/features/css-text-orientation.js b/publi/node_modules/caniuse-lite/data/features/css-text-orientation.js deleted file mode 100644 index 140debb..0000000 --- a/publi/node_modules/caniuse-lite/data/features/css-text-orientation.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"2":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 y z v","2":"1 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t TB SB"},D:{"1":"0 2 3 4 5 6 7 r s t y z v HB g DB XB EB FB","2":"F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q"},E:{"2":"F J K C G E GB AB IB JB KB LB","16":"A","33":"B MB NB"},F:{"1":"e f L h i j k l m n o p q r s t","2":"8 9 E B D I M H N O P Q R S T U V W X w Z a b c d OB PB QB RB UB x"},G:{"1":"eB fB gB","2":"G AB WB BB YB ZB aB bB cB dB"},H:{"2":"hB"},I:{"1":"g","2":"1 F iB jB kB lB BB mB nB"},J:{"2":"C A"},K:{"1":"L","2":"8 9 A B D x"},L:{"1":"g"},M:{"1":"v"},N:{"2":"A B"},O:{"2":"oB"},P:{"1":"J pB","2":"F"},Q:{"2":"qB"},R:{"1":"rB"}},B:4,C:"CSS text-orientation"}; diff --git a/publi/node_modules/caniuse-lite/data/features/css-text-spacing.js b/publi/node_modules/caniuse-lite/data/features/css-text-spacing.js deleted file mode 100644 index c16cc8c..0000000 --- a/publi/node_modules/caniuse-lite/data/features/css-text-spacing.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C CB","161":"G E A B"},B:{"161":"D u Y I M H"},C:{"2":"0 1 2 3 4 5 6 7 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v TB SB"},D:{"2":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"2":"F J K C G E A B GB AB IB JB KB LB MB NB"},F:{"2":"8 9 E B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t OB PB QB RB UB x"},G:{"2":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"2":"hB"},I:{"2":"1 F g iB jB kB lB BB mB nB"},J:{"2":"C A"},K:{"2":"8 9 A B D L x"},L:{"2":"g"},M:{"2":"v"},N:{"16":"A B"},O:{"2":"oB"},P:{"2":"F J pB"},Q:{"2":"qB"},R:{"2":"rB"}},B:5,C:"CSS Text 4 text-spacing"}; diff --git a/publi/node_modules/caniuse-lite/data/features/css-textshadow.js b/publi/node_modules/caniuse-lite/data/features/css-textshadow.js deleted file mode 100644 index 9a00f12..0000000 --- a/publi/node_modules/caniuse-lite/data/features/css-textshadow.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E CB","129":"A B"},B:{"129":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v TB SB","2":"1 VB"},D:{"1":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"1":"F J K C G E A B IB JB KB LB MB NB","260":"GB AB"},F:{"1":"8 9 B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t OB PB QB RB UB x","2":"E"},G:{"1":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"4":"hB"},I:{"1":"1 F g iB jB kB lB BB mB nB"},J:{"1":"A","4":"C"},K:{"1":"8 9 A B D L x"},L:{"1":"g"},M:{"1":"v"},N:{"129":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:4,C:"CSS3 Text-shadow"}; diff --git a/publi/node_modules/caniuse-lite/data/features/css-touch-action-2.js b/publi/node_modules/caniuse-lite/data/features/css-touch-action-2.js deleted file mode 100644 index 9797fae..0000000 --- a/publi/node_modules/caniuse-lite/data/features/css-touch-action-2.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E CB","132":"B","164":"A"},B:{"132":"D u Y I M H"},C:{"2":"0 1 2 3 4 5 6 7 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v TB SB"},D:{"1":"3 5 6 7 v HB g DB XB EB FB","2":"0 4 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z","260":"2"},E:{"2":"F J K C G E A B GB AB IB JB KB LB MB NB"},F:{"1":"m n o p q r s t","2":"8 9 E B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k OB PB QB RB UB x","260":"l"},G:{"2":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"2":"hB"},I:{"1":"g","2":"1 F iB jB kB lB BB mB nB"},J:{"2":"C A"},K:{"2":"8 9 A B D L x"},L:{"1":"g"},M:{"2":"v"},N:{"132":"B","164":"A"},O:{"2":"oB"},P:{"1":"J pB","16":"F"},Q:{"2":"qB"},R:{"1":"rB"}},B:5,C:"CSS touch-action level 2 values"}; diff --git a/publi/node_modules/caniuse-lite/data/features/css-touch-action.js b/publi/node_modules/caniuse-lite/data/features/css-touch-action.js deleted file mode 100644 index 26d0e92..0000000 --- a/publi/node_modules/caniuse-lite/data/features/css-touch-action.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"B","2":"K C G E CB","289":"A"},B:{"1":"D u Y I M H"},C:{"1":"5 6 7 v","2":"1 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X TB SB","194":"w Z a b c d e f L h i j k l m n o p q r s t y","1025":"0 2 3 4 z"},D:{"1":"0 2 3 4 5 6 7 f L h i j k l m n o p q r s t y z v HB g DB XB EB FB","2":"F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e"},E:{"2":"F J K C G E A B GB AB IB JB KB LB MB NB"},F:{"1":"S T U V W X w Z a b c d e f L h i j k l m n o p q r s t","2":"8 9 E B D I M H N O P Q R OB PB QB RB UB x"},G:{"2":"G AB WB BB YB ZB aB bB cB","516":"dB eB fB gB"},H:{"2":"hB"},I:{"1":"g","2":"1 F iB jB kB lB BB mB nB"},J:{"2":"C A"},K:{"1":"L","2":"8 9 A B D x"},L:{"1":"g"},M:{"1":"v"},N:{"1":"B","289":"A"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:2,C:"CSS touch-action property"}; diff --git a/publi/node_modules/caniuse-lite/data/features/css-transitions.js b/publi/node_modules/caniuse-lite/data/features/css-transitions.js deleted file mode 100644 index 0ef9f1f..0000000 --- a/publi/node_modules/caniuse-lite/data/features/css-transitions.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"A B","2":"K C G E CB"},B:{"1":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v","2":"1 VB TB SB","33":"J K C G E A B D u Y I","164":"F"},D:{"1":"0 2 3 4 5 6 7 V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB","33":"F J K C G E A B D u Y I M H N O P Q R S T U"},E:{"1":"C G E A B JB KB LB MB NB","33":"K IB","164":"F J GB AB"},F:{"1":"I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t x","2":"E OB PB","33":"D","164":"8 9 B QB RB UB"},G:{"1":"G aB bB cB dB eB fB gB","33":"ZB","164":"AB WB BB YB"},H:{"2":"hB"},I:{"1":"g mB nB","33":"1 F iB jB kB lB BB"},J:{"1":"A","33":"C"},K:{"1":"L x","33":"D","164":"8 9 A B"},L:{"1":"g"},M:{"1":"v"},N:{"1":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:5,C:"CSS3 Transitions"}; diff --git a/publi/node_modules/caniuse-lite/data/features/css-unicode-bidi.js b/publi/node_modules/caniuse-lite/data/features/css-unicode-bidi.js deleted file mode 100644 index e325567..0000000 --- a/publi/node_modules/caniuse-lite/data/features/css-unicode-bidi.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"132":"K C G E A B CB"},B:{"132":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 t y z v","33":"H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s","132":"1 VB F J K C G E TB SB","292":"A B D u Y I M"},D:{"1":"0 2 3 4 5 6 7 r s t y z v HB g DB XB EB FB","132":"F J K C G E A B D u Y I M","548":"H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q"},E:{"132":"F J K C G GB AB IB JB KB","548":"E A B LB MB NB"},F:{"132":"8 9 E B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t OB PB QB RB UB x"},G:{"132":"G AB WB BB YB ZB aB bB","548":"cB dB eB fB gB"},H:{"16":"hB"},I:{"1":"g","16":"1 F iB jB kB lB BB mB nB"},J:{"16":"C A"},K:{"16":"8 9 A B D L x"},L:{"1":"g"},M:{"1":"v"},N:{"132":"A B"},O:{"16":"oB"},P:{"1":"J pB","16":"F"},Q:{"16":"qB"},R:{"16":"rB"}},B:4,C:"CSS unicode-bidi property"}; diff --git a/publi/node_modules/caniuse-lite/data/features/css-unset-value.js b/publi/node_modules/caniuse-lite/data/features/css-unset-value.js deleted file mode 100644 index 52ad069..0000000 --- a/publi/node_modules/caniuse-lite/data/features/css-unset-value.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"1":"u Y I M H","2":"D"},C:{"1":"0 2 3 4 5 6 7 W X w Z a b c d e f L h i j k l m n o p q r s t y z v","2":"1 VB F J K C G E A B D u Y I M H N O P Q R S T U V TB SB"},D:{"1":"0 2 3 4 5 6 7 k l m n o p q r s t y z v HB g DB XB EB FB","2":"F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j"},E:{"1":"A B LB MB NB","2":"F J K C G E GB AB IB JB KB"},F:{"1":"X w Z a b c d e f L h i j k l m n o p q r s t","2":"8 9 E B D I M H N O P Q R S T U V W OB PB QB RB UB x"},G:{"1":"dB eB fB gB","2":"G AB WB BB YB ZB aB bB cB"},H:{"2":"hB"},I:{"1":"g","2":"1 F iB jB kB lB BB mB nB"},J:{"2":"C A"},K:{"2":"8 9 A B D L x"},L:{"1":"g"},M:{"1":"v"},N:{"2":"A B"},O:{"2":"oB"},P:{"1":"F J pB"},Q:{"2":"qB"},R:{"1":"rB"}},B:4,C:"CSS unset value"}; diff --git a/publi/node_modules/caniuse-lite/data/features/css-variables.js b/publi/node_modules/caniuse-lite/data/features/css-variables.js deleted file mode 100644 index b208ce6..0000000 --- a/publi/node_modules/caniuse-lite/data/features/css-variables.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"1":"M H","2":"D u Y","260":"I"},C:{"1":"0 2 3 4 5 6 7 a b c d e f L h i j k l m n o p q r s t y z v","2":"1 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z TB SB"},D:{"1":"0 2 3 4 5 6 7 s t y z v HB g DB XB EB FB","2":"F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q","194":"r"},E:{"1":"A B LB MB NB","2":"F J K C G E GB AB IB JB KB"},F:{"1":"f L h i j k l m n o p q r s t","2":"8 9 E B D I M H N O P Q R S T U V W X w Z a b c d OB PB QB RB UB x","194":"e"},G:{"1":"dB eB fB gB","2":"G AB WB BB YB ZB aB bB cB"},H:{"2":"hB"},I:{"1":"g","2":"1 F iB jB kB lB BB mB nB"},J:{"2":"C A"},K:{"1":"L","2":"8 9 A B D x"},L:{"1":"g"},M:{"1":"v"},N:{"2":"A B"},O:{"2":"oB"},P:{"1":"J pB","2":"F"},Q:{"2":"qB"},R:{"2":"rB"}},B:4,C:"CSS Variables (Custom Properties)"}; diff --git a/publi/node_modules/caniuse-lite/data/features/css-widows-orphans.js b/publi/node_modules/caniuse-lite/data/features/css-widows-orphans.js deleted file mode 100644 index 792aaf6..0000000 --- a/publi/node_modules/caniuse-lite/data/features/css-widows-orphans.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"A B","2":"K C CB","129":"G E"},B:{"1":"D u Y I M H"},C:{"2":"0 1 2 3 4 5 6 7 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v TB SB"},D:{"1":"0 2 3 4 5 6 7 U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB","2":"F J K C G E A B D u Y I M H N O P Q R S T"},E:{"1":"C G E A B KB LB MB NB","2":"F J K GB AB IB JB"},F:{"1":"D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t x","129":"8 9 E B OB PB QB RB UB"},G:{"1":"G aB bB cB dB eB fB gB","2":"AB WB BB YB ZB"},H:{"1":"hB"},I:{"1":"g mB nB","2":"1 F iB jB kB lB BB"},J:{"2":"C A"},K:{"1":"L x","2":"8 9 A B D"},L:{"1":"g"},M:{"2":"v"},N:{"1":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:2,C:"CSS widows & orphans"}; diff --git a/publi/node_modules/caniuse-lite/data/features/css-writing-mode.js b/publi/node_modules/caniuse-lite/data/features/css-writing-mode.js deleted file mode 100644 index c41e36d..0000000 --- a/publi/node_modules/caniuse-lite/data/features/css-writing-mode.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"132":"K C G E A B CB"},B:{"1":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 k l m n o p q r s t y z v","2":"1 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e TB SB","322":"f L h i j"},D:{"1":"0 2 3 4 5 6 7 r s t y z v HB g DB XB EB FB","2":"F J K","16":"C","33":"G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q"},E:{"1":"B NB","2":"F GB AB","16":"J","33":"K C G E A IB JB KB LB MB"},F:{"1":"e f L h i j k l m n o p q r s t","2":"8 9 E B D OB PB QB RB UB x","33":"I M H N O P Q R S T U V W X w Z a b c d"},G:{"1":"gB","16":"AB WB BB","33":"G YB ZB aB bB cB dB eB fB"},H:{"2":"hB"},I:{"1":"g","2":"iB jB kB","33":"1 F lB BB mB nB"},J:{"33":"C A"},K:{"1":"L","2":"8 9 A B D x"},L:{"1":"g"},M:{"1":"v"},N:{"36":"A B"},O:{"33":"oB"},P:{"1":"J pB","33":"F"},Q:{"33":"qB"},R:{"1":"rB"}},B:4,C:"CSS writing-mode property"}; diff --git a/publi/node_modules/caniuse-lite/data/features/css-zoom.js b/publi/node_modules/caniuse-lite/data/features/css-zoom.js deleted file mode 100644 index 5c5410e..0000000 --- a/publi/node_modules/caniuse-lite/data/features/css-zoom.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"K C CB","129":"G E A B"},B:{"1":"D u Y I M H"},C:{"2":"0 1 2 3 4 5 6 7 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v TB SB"},D:{"1":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"1":"F J K C G E A B IB JB KB LB MB NB","2":"GB AB"},F:{"1":"I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t","2":"8 9 E B D OB PB QB RB UB x"},G:{"1":"G WB BB YB ZB aB bB cB dB eB fB gB","2":"AB"},H:{"2":"hB"},I:{"1":"1 F g iB jB kB lB BB mB nB"},J:{"1":"C A"},K:{"1":"L","2":"8 9 A B D x"},L:{"1":"g"},M:{"2":"v"},N:{"129":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:7,C:"CSS zoom"}; diff --git a/publi/node_modules/caniuse-lite/data/features/css3-attr.js b/publi/node_modules/caniuse-lite/data/features/css3-attr.js deleted file mode 100644 index eae5ded..0000000 --- a/publi/node_modules/caniuse-lite/data/features/css3-attr.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"2":"D u Y I M H"},C:{"2":"0 1 2 3 4 5 6 7 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v TB SB"},D:{"2":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"2":"F J K C G E A B GB AB IB JB KB LB MB NB"},F:{"2":"8 9 E B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t OB PB QB RB UB x"},G:{"2":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"2":"hB"},I:{"2":"1 F g iB jB kB lB BB mB nB"},J:{"2":"C A"},K:{"2":"8 9 A B D L x"},L:{"2":"g"},M:{"2":"v"},N:{"2":"A B"},O:{"2":"oB"},P:{"2":"F J pB"},Q:{"2":"qB"},R:{"2":"rB"}},B:4,C:"CSS3 attr() function"}; diff --git a/publi/node_modules/caniuse-lite/data/features/css3-boxsizing.js b/publi/node_modules/caniuse-lite/data/features/css3-boxsizing.js deleted file mode 100644 index dbc0b7b..0000000 --- a/publi/node_modules/caniuse-lite/data/features/css3-boxsizing.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"G E A B","8":"K C CB"},B:{"1":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 w Z a b c d e f L h i j k l m n o p q r s t y z v","33":"1 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X TB SB"},D:{"1":"0 2 3 4 5 6 7 A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB","33":"F J K C G E"},E:{"1":"K C G E A B IB JB KB LB MB NB","33":"F J GB AB"},F:{"1":"8 9 B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t OB PB QB RB UB x","2":"E"},G:{"1":"G YB ZB aB bB cB dB eB fB gB","33":"AB WB BB"},H:{"1":"hB"},I:{"1":"F g lB BB mB nB","33":"1 iB jB kB"},J:{"1":"A","33":"C"},K:{"1":"8 9 A B D L x"},L:{"1":"g"},M:{"1":"v"},N:{"1":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:4,C:"CSS3 Box-sizing"}; diff --git a/publi/node_modules/caniuse-lite/data/features/css3-colors.js b/publi/node_modules/caniuse-lite/data/features/css3-colors.js deleted file mode 100644 index aebb413..0000000 --- a/publi/node_modules/caniuse-lite/data/features/css3-colors.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"E A B","2":"K C G CB"},B:{"1":"D u Y I M H"},C:{"1":"0 1 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v TB SB","4":"VB"},D:{"1":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"1":"F J K C G E A B GB AB IB JB KB LB MB NB"},F:{"1":"8 9 B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t PB QB RB UB x","2":"E","4":"OB"},G:{"1":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"1":"hB"},I:{"1":"1 F g iB jB kB lB BB mB nB"},J:{"1":"C A"},K:{"1":"8 9 A B D L x"},L:{"1":"g"},M:{"1":"v"},N:{"1":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:2,C:"CSS3 Colors"}; diff --git a/publi/node_modules/caniuse-lite/data/features/css3-cursors-grab.js b/publi/node_modules/caniuse-lite/data/features/css3-cursors-grab.js deleted file mode 100644 index a2e0581..0000000 --- a/publi/node_modules/caniuse-lite/data/features/css3-cursors-grab.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"2":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 W X w Z a b c d e f L h i j k l m n o p q r s t y z v","33":"1 VB F J K C G E A B D u Y I M H N O P Q R S T U V TB SB"},D:{"33":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"33":"F J K C G E A B GB AB IB JB KB LB MB NB"},F:{"1":"D UB x","2":"8 9 E B OB PB QB RB","33":"I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t"},G:{"2":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"2":"hB"},I:{"2":"1 F g iB jB kB lB BB mB nB"},J:{"33":"C A"},K:{"2":"8 9 A B D L x"},L:{"2":"g"},M:{"2":"v"},N:{"2":"A B"},O:{"2":"oB"},P:{"2":"F J pB"},Q:{"33":"qB"},R:{"2":"rB"}},B:4,C:"CSS3 Cursors: grab & grabbing"}; diff --git a/publi/node_modules/caniuse-lite/data/features/css3-cursors-newer.js b/publi/node_modules/caniuse-lite/data/features/css3-cursors-newer.js deleted file mode 100644 index 9cfb5f4..0000000 --- a/publi/node_modules/caniuse-lite/data/features/css3-cursors-newer.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"1":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v","33":"1 VB F J K C G E A B D u Y I M H N O P Q R S TB SB"},D:{"1":"0 2 3 4 5 6 7 L h i j k l m n o p q r s t y z v HB g DB XB EB FB","33":"F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f"},E:{"1":"E A B LB MB NB","33":"F J K C G GB AB IB JB KB"},F:{"1":"D T U V W X w Z a b c d e f L h i j k l m n o p q r s t UB x","2":"8 9 E B OB PB QB RB","33":"I M H N O P Q R S"},G:{"2":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"2":"hB"},I:{"2":"1 F g iB jB kB lB BB mB nB"},J:{"33":"C A"},K:{"2":"8 9 A B D L x"},L:{"2":"g"},M:{"2":"v"},N:{"2":"A B"},O:{"2":"oB"},P:{"2":"F J pB"},Q:{"2":"qB"},R:{"2":"rB"}},B:4,C:"CSS3 Cursors: zoom-in & zoom-out"}; diff --git a/publi/node_modules/caniuse-lite/data/features/css3-cursors.js b/publi/node_modules/caniuse-lite/data/features/css3-cursors.js deleted file mode 100644 index eea4508..0000000 --- a/publi/node_modules/caniuse-lite/data/features/css3-cursors.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"E A B","132":"K C G CB"},B:{"1":"Y I M H","260":"D u"},C:{"1":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v","4":"1 VB TB SB"},D:{"1":"0 2 3 4 5 6 7 J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB","4":"F"},E:{"1":"J K C G E A B IB JB KB LB MB NB","4":"F GB AB"},F:{"1":"I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t","260":"8 9 E B D OB PB QB RB UB x"},G:{"2":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"2":"hB"},I:{"2":"1 F g iB jB kB lB BB mB nB"},J:{"2":"C","16":"A"},K:{"2":"8 9 A B D L x"},L:{"2":"g"},M:{"2":"v"},N:{"2":"A B"},O:{"2":"oB"},P:{"2":"F J pB"},Q:{"2":"qB"},R:{"2":"rB"}},B:4,C:"CSS3 Cursors (original values)"}; diff --git a/publi/node_modules/caniuse-lite/data/features/css3-tabsize.js b/publi/node_modules/caniuse-lite/data/features/css3-tabsize.js deleted file mode 100644 index 463dd8e..0000000 --- a/publi/node_modules/caniuse-lite/data/features/css3-tabsize.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"2":"D u Y I M H"},C:{"2":"1 VB TB SB","33":"0 2 3 4 5 6 7 v","164":"F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z"},D:{"1":"0 2 3 4 5 6 7 l m n o p q r s t y z v HB g DB XB EB FB","2":"F J K C G E A B D u Y I M H N O P","132":"Q R S T U V W X w Z a b c d e f L h i j k"},E:{"2":"F J K GB AB IB","132":"C G E A B JB KB LB MB NB"},F:{"1":"w Z a b c d e f L h i j k l m n o p q r s t","2":"E OB PB QB","132":"I M H N O P Q R S T U V W X","164":"8 9 B D RB UB x"},G:{"2":"AB WB BB YB ZB","132":"G aB bB cB dB eB fB gB"},H:{"164":"hB"},I:{"1":"g","2":"1 F iB jB kB lB BB","132":"mB nB"},J:{"132":"C A"},K:{"1":"L","2":"A","164":"8 9 B D x"},L:{"1":"g"},M:{"33":"v"},N:{"2":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:5,C:"CSS3 tab-size"}; diff --git a/publi/node_modules/caniuse-lite/data/features/currentcolor.js b/publi/node_modules/caniuse-lite/data/features/currentcolor.js deleted file mode 100644 index 112af6e..0000000 --- a/publi/node_modules/caniuse-lite/data/features/currentcolor.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"E A B","2":"K C G CB"},B:{"1":"D u Y I M H"},C:{"1":"0 1 2 3 4 5 6 7 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v TB SB"},D:{"1":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"1":"F J K C G E A B IB JB KB LB MB NB","2":"GB AB"},F:{"1":"8 9 B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t OB PB QB RB UB x","2":"E"},G:{"1":"G WB BB YB ZB aB bB cB dB eB fB gB","16":"AB"},H:{"1":"hB"},I:{"1":"1 F g iB jB kB lB BB mB nB"},J:{"1":"C A"},K:{"1":"8 9 A B D L x"},L:{"1":"g"},M:{"1":"v"},N:{"1":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:2,C:"CSS currentColor value"}; diff --git a/publi/node_modules/caniuse-lite/data/features/custom-elements.js b/publi/node_modules/caniuse-lite/data/features/custom-elements.js deleted file mode 100644 index 5f7c39f..0000000 --- a/publi/node_modules/caniuse-lite/data/features/custom-elements.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E CB","8":"A B"},B:{"8":"D u Y I M H"},C:{"2":"1 VB F J K C G E A B D u Y I M H N O P Q R TB SB","194":"S T U V W X w","200":"0 2 3 4 5 6 7 Z a b c d e f L h i j k l m n o p q r s t y z v"},D:{"1":"0 2 3 4 5 6 7 c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB","2":"F J K C G E A B D u Y I M H N O P Q R S T U V","66":"W X w Z a b"},E:{"2":"F J GB AB IB","8":"K C G E A B JB KB LB MB NB"},F:{"1":"P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t","2":"8 9 E B D OB PB QB RB UB x","66":"I M H N O"},G:{"2":"AB WB BB YB ZB","8":"G aB bB cB dB eB fB gB"},H:{"2":"hB"},I:{"1":"g nB","2":"1 F iB jB kB lB BB mB"},J:{"2":"C A"},K:{"1":"L","2":"8 9 A B D x"},L:{"1":"g"},M:{"200":"v"},N:{"2":"A B"},O:{"2":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:5,C:"Custom Elements v0"}; diff --git a/publi/node_modules/caniuse-lite/data/features/custom-elementsv1.js b/publi/node_modules/caniuse-lite/data/features/custom-elementsv1.js deleted file mode 100644 index 30c561f..0000000 --- a/publi/node_modules/caniuse-lite/data/features/custom-elementsv1.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E CB","8":"A B"},B:{"8":"D u Y I M H"},C:{"2":"1 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w TB SB","8":"0 2 3 4 5 6 7 Z a b c d e f L h i j k l m n o p q r s t y z v"},D:{"2":"F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y","8":"0 z","132":"2 3 4 5 6 7 v HB g DB XB EB FB"},E:{"2":"F J K C GB AB IB JB KB","8":"G E A LB","132":"B MB NB"},F:{"2":"8 9 E B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j OB PB QB RB UB x","132":"k l m n o p q r s t"},G:{"2":"G AB WB BB YB ZB aB bB cB dB eB","132":"fB gB"},H:{"2":"hB"},I:{"2":"1 F iB jB kB lB BB mB nB","132":"g"},J:{"2":"C A"},K:{"2":"8 9 A B D L x"},L:{"132":"g"},M:{"8":"v"},N:{"2":"A B"},O:{"2":"oB"},P:{"1":"pB","2":"F","132":"J"},Q:{"8":"qB"},R:{"132":"rB"}},B:1,C:"Custom Elements v1"}; diff --git a/publi/node_modules/caniuse-lite/data/features/customevent.js b/publi/node_modules/caniuse-lite/data/features/customevent.js deleted file mode 100644 index 7140400..0000000 --- a/publi/node_modules/caniuse-lite/data/features/customevent.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G CB","132":"E A B"},B:{"1":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v","2":"1 VB F J TB SB","132":"K C G E A"},D:{"1":"0 2 3 4 5 6 7 I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB","2":"F","16":"J K C G u Y","388":"E A B D"},E:{"1":"C G E A B JB KB LB MB NB","2":"F GB AB","16":"J K","388":"IB"},F:{"1":"D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t UB x","2":"E OB PB QB RB","132":"8 9 B"},G:{"1":"G ZB aB bB cB dB eB fB gB","2":"WB","16":"AB BB","388":"YB"},H:{"1":"hB"},I:{"1":"g mB nB","2":"iB jB kB","388":"1 F lB BB"},J:{"1":"A","388":"C"},K:{"1":"D L x","2":"A","132":"8 9 B"},L:{"1":"g"},M:{"1":"v"},N:{"132":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:1,C:"CustomEvent"}; diff --git a/publi/node_modules/caniuse-lite/data/features/datalist.js b/publi/node_modules/caniuse-lite/data/features/datalist.js deleted file mode 100644 index 53651dc..0000000 --- a/publi/node_modules/caniuse-lite/data/features/datalist.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"CB","8":"K C G E","260":"A B"},B:{"260":"D u Y I M H"},C:{"8":"1 VB TB SB","516":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v"},D:{"1":"DB XB EB FB","8":"F J K C G E A B D u Y I M H N O","132":"0 2 3 4 5 6 7 P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g"},E:{"8":"F J K C G E A B GB AB IB JB KB LB MB NB"},F:{"1":"8 9 E B D OB PB QB RB UB x","132":"I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t"},G:{"8":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"2":"hB"},I:{"1":"nB","8":"1 F iB jB kB lB BB mB","132":"g"},J:{"1":"A","8":"C"},K:{"1":"8 9 A B D x","8":"L"},L:{"1":"g"},M:{"516":"v"},N:{"8":"A B"},O:{"8":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:1,C:"Datalist element"}; diff --git a/publi/node_modules/caniuse-lite/data/features/dataset.js b/publi/node_modules/caniuse-lite/data/features/dataset.js deleted file mode 100644 index 45bc46c..0000000 --- a/publi/node_modules/caniuse-lite/data/features/dataset.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"B","4":"K C G E A CB"},B:{"1":"D u Y I M H"},C:{"1":"K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t","4":"1 VB F J TB SB","129":"0 2 3 4 5 6 7 y z v"},D:{"1":"0 4 o p q r s t y z","4":"F J K","129":"2 3 5 6 7 C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n v HB g DB XB EB FB"},E:{"4":"F J GB AB","129":"K C G E A B IB JB KB LB MB NB"},F:{"1":"8 9 D b c d e f L h i j k UB x","4":"E B OB PB QB RB","129":"I M H N O P Q R S T U V W X w Z a l m n o p q r s t"},G:{"4":"AB WB BB","129":"G YB ZB aB bB cB dB eB fB gB"},H:{"4":"hB"},I:{"4":"iB jB kB","129":"1 F g lB BB mB nB"},J:{"129":"C A"},K:{"1":"8 9 D x","4":"A B","129":"L"},L:{"129":"g"},M:{"129":"v"},N:{"1":"B","4":"A"},O:{"129":"oB"},P:{"129":"F J pB"},Q:{"1":"qB"},R:{"129":"rB"}},B:1,C:"dataset & data-* attributes"}; diff --git a/publi/node_modules/caniuse-lite/data/features/datauri.js b/publi/node_modules/caniuse-lite/data/features/datauri.js deleted file mode 100644 index dea946d..0000000 --- a/publi/node_modules/caniuse-lite/data/features/datauri.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C CB","132":"G","260":"E A B"},B:{"260":"D u I M H","772":"Y"},C:{"1":"0 1 2 3 4 5 6 7 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v TB SB"},D:{"1":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"1":"F J K C G E A B GB AB IB JB KB LB MB NB"},F:{"1":"8 9 E B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t OB PB QB RB UB x"},G:{"1":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"1":"hB"},I:{"1":"1 F g iB jB kB lB BB mB nB"},J:{"1":"C A"},K:{"1":"8 9 A B D L x"},L:{"1":"g"},M:{"1":"v"},N:{"260":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:6,C:"Data URIs"}; diff --git a/publi/node_modules/caniuse-lite/data/features/details.js b/publi/node_modules/caniuse-lite/data/features/details.js deleted file mode 100644 index 6251160..0000000 --- a/publi/node_modules/caniuse-lite/data/features/details.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"E A B CB","8":"K C G"},B:{"2":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 s t y z v","2":"VB","8":"1 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p TB SB","194":"q r"},D:{"1":"0 2 3 4 5 6 7 f L h i j k l m n o p q r s t y z v HB g DB XB EB FB","8":"F J K C G E A B","257":"O P Q R S T U V W X w Z a b c d e","769":"D u Y I M H N"},E:{"1":"B MB NB","8":"F J GB AB IB","257":"K C G E A JB KB LB"},F:{"1":"I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t","2":"8 9 D UB x","8":"E B OB PB QB RB"},G:{"1":"G ZB aB bB cB dB eB fB gB","8":"AB WB BB YB"},H:{"8":"hB"},I:{"1":"F g lB BB mB nB","8":"1 iB jB kB"},J:{"1":"A","8":"C"},K:{"1":"L","8":"8 9 A B D x"},L:{"1":"g"},M:{"1":"v"},N:{"2":"A B"},O:{"769":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:1,C:"Details & Summary elements"}; diff --git a/publi/node_modules/caniuse-lite/data/features/deviceorientation.js b/publi/node_modules/caniuse-lite/data/features/deviceorientation.js deleted file mode 100644 index be944de..0000000 --- a/publi/node_modules/caniuse-lite/data/features/deviceorientation.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A CB","132":"B"},B:{"1":"D u Y I M H"},C:{"2":"1 VB TB","4":"0 2 3 4 5 6 7 K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v","8":"F J SB"},D:{"2":"F J K","4":"0 2 3 4 5 6 7 C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"2":"F J K C G E A B GB AB IB JB KB LB MB NB"},F:{"2":"8 9 E B D OB PB QB RB UB x","4":"I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t"},G:{"2":"AB WB","4":"G BB YB ZB aB bB cB dB eB fB gB"},H:{"2":"hB"},I:{"2":"iB jB kB","4":"1 F g lB BB mB nB"},J:{"2":"C","4":"A"},K:{"1":"D x","2":"8 9 A B","4":"L"},L:{"4":"g"},M:{"4":"v"},N:{"1":"B","2":"A"},O:{"4":"oB"},P:{"4":"F J pB"},Q:{"4":"qB"},R:{"4":"rB"}},B:4,C:"DeviceOrientation & DeviceMotion events"}; diff --git a/publi/node_modules/caniuse-lite/data/features/devicepixelratio.js b/publi/node_modules/caniuse-lite/data/features/devicepixelratio.js deleted file mode 100644 index f631373..0000000 --- a/publi/node_modules/caniuse-lite/data/features/devicepixelratio.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"B","2":"K C G E A CB"},B:{"1":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v","2":"1 VB F J K C G E A B D u Y I M H TB SB"},D:{"1":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"1":"F J K C G E A B GB AB IB JB KB LB MB NB"},F:{"1":"D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t UB x","2":"8 9 E B OB PB QB RB"},G:{"1":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"1":"hB"},I:{"1":"1 F g iB jB kB lB BB mB nB"},J:{"1":"C A"},K:{"1":"D L x","2":"8 9 A B"},L:{"1":"g"},M:{"1":"v"},N:{"1":"B","2":"A"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:5,C:"Window.devicePixelRatio"}; diff --git a/publi/node_modules/caniuse-lite/data/features/dialog.js b/publi/node_modules/caniuse-lite/data/features/dialog.js deleted file mode 100644 index ba4f8f7..0000000 --- a/publi/node_modules/caniuse-lite/data/features/dialog.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"2":"D u Y I M H"},C:{"2":"1 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z TB SB","194":"0 2 3 4 5 6 7 v"},D:{"1":"0 2 3 4 5 6 7 L h i j k l m n o p q r s t y z v HB g DB XB EB FB","2":"F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a","322":"b c d e f"},E:{"2":"F J K C G E A B GB AB IB JB KB LB MB NB"},F:{"1":"T U V W X w Z a b c d e f L h i j k l m n o p q r s t","2":"8 9 E B D I M H N OB PB QB RB UB x","578":"O P Q R S"},G:{"2":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"2":"hB"},I:{"1":"g","2":"1 F iB jB kB lB BB mB nB"},J:{"2":"C A"},K:{"1":"L","2":"8 9 A B D x"},L:{"1":"g"},M:{"2":"v"},N:{"2":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:1,C:"Dialog element"}; diff --git a/publi/node_modules/caniuse-lite/data/features/dispatchevent.js b/publi/node_modules/caniuse-lite/data/features/dispatchevent.js deleted file mode 100644 index 8c0b3ad..0000000 --- a/publi/node_modules/caniuse-lite/data/features/dispatchevent.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"B","16":"CB","129":"E A","130":"K C G"},B:{"1":"D u Y I M H"},C:{"1":"0 1 2 3 4 5 6 7 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v TB SB"},D:{"1":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"1":"F J K C G E A B AB IB JB KB LB MB NB","16":"GB"},F:{"1":"8 9 B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t OB PB QB RB UB x","16":"E"},G:{"1":"G WB BB YB ZB aB bB cB dB eB fB gB","16":"AB"},H:{"1":"hB"},I:{"1":"1 F g kB lB BB mB nB","16":"iB jB"},J:{"1":"C A"},K:{"1":"8 9 A B D L x"},L:{"1":"g"},M:{"1":"v"},N:{"1":"B","129":"A"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:1,C:"EventTarget.dispatchEvent"}; diff --git a/publi/node_modules/caniuse-lite/data/features/document-currentscript.js b/publi/node_modules/caniuse-lite/data/features/document-currentscript.js deleted file mode 100644 index 6170447..0000000 --- a/publi/node_modules/caniuse-lite/data/features/document-currentscript.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"1":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v","2":"1 VB TB SB"},D:{"1":"0 2 3 4 5 6 7 w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB","2":"F J K C G E A B D u Y I M H N O P Q R S T U V W X"},E:{"1":"G E A B LB MB NB","2":"F J K C GB AB IB JB KB"},F:{"1":"M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t","2":"8 9 E B D I OB PB QB RB UB x"},G:{"1":"G bB cB dB eB fB gB","2":"AB WB BB YB ZB aB"},H:{"2":"hB"},I:{"1":"g mB nB","2":"1 F iB jB kB lB BB"},J:{"2":"C A"},K:{"1":"L","2":"8 9 A B D x"},L:{"1":"g"},M:{"1":"v"},N:{"2":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:1,C:"document.currentScript"}; diff --git a/publi/node_modules/caniuse-lite/data/features/document-evaluate-xpath.js b/publi/node_modules/caniuse-lite/data/features/document-evaluate-xpath.js deleted file mode 100644 index 213a5c3..0000000 --- a/publi/node_modules/caniuse-lite/data/features/document-evaluate-xpath.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"1":"D u Y I M H"},C:{"1":"0 1 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v TB SB","16":"VB"},D:{"1":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"1":"F J K C G E A B GB AB IB JB KB LB MB NB"},F:{"1":"8 9 B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t OB PB QB RB UB x","16":"E"},G:{"1":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"1":"hB"},I:{"1":"1 F g iB jB kB lB BB mB nB"},J:{"1":"C A"},K:{"1":"8 9 A B D L x"},L:{"1":"g"},M:{"1":"v"},N:{"2":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:7,C:"document.evaluate & XPath"}; diff --git a/publi/node_modules/caniuse-lite/data/features/document-execcommand.js b/publi/node_modules/caniuse-lite/data/features/document-execcommand.js deleted file mode 100644 index 61609a0..0000000 --- a/publi/node_modules/caniuse-lite/data/features/document-execcommand.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"K C G E A B CB"},B:{"1":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v","2":"1 VB F J K C G TB SB"},D:{"1":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"1":"K C G E A B JB KB LB MB NB","16":"F J GB AB IB"},F:{"1":"8 9 B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t PB QB RB UB x","16":"E OB"},G:{"1":"G aB bB cB dB eB fB gB","2":"AB WB","16":"BB YB ZB"},H:{"2":"hB"},I:{"1":"lB BB mB nB","2":"1 F g iB jB kB"},J:{"1":"A","2":"C"},K:{"1":"8 9 A B D L x"},L:{"1":"g"},M:{"1":"v"},N:{"1":"B","2":"A"},O:{"2":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:7,C:"Document.execCommand()"}; diff --git a/publi/node_modules/caniuse-lite/data/features/documenthead.js b/publi/node_modules/caniuse-lite/data/features/documenthead.js deleted file mode 100644 index a11af38..0000000 --- a/publi/node_modules/caniuse-lite/data/features/documenthead.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"E A B","2":"K C G CB"},B:{"1":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v","2":"1 VB TB SB"},D:{"1":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"1":"K C G E A B IB JB KB LB MB NB","2":"F GB AB","16":"J"},F:{"1":"8 9 B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t UB x","2":"E OB PB QB RB"},G:{"1":"G WB BB YB ZB aB bB cB dB eB fB gB","16":"AB"},H:{"1":"hB"},I:{"1":"1 F g kB lB BB mB nB","16":"iB jB"},J:{"1":"C A"},K:{"1":"8 9 B D L x","2":"A"},L:{"1":"g"},M:{"1":"v"},N:{"1":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:1,C:"document.head"}; diff --git a/publi/node_modules/caniuse-lite/data/features/dom-manip-convenience.js b/publi/node_modules/caniuse-lite/data/features/dom-manip-convenience.js deleted file mode 100644 index fecdc91..0000000 --- a/publi/node_modules/caniuse-lite/data/features/dom-manip-convenience.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"2":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 s t y z v","2":"1 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r TB SB"},D:{"1":"2 3 4 5 6 7 v HB g DB XB EB FB","2":"F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y","194":"0 z"},E:{"1":"A B MB NB","2":"F J K C G E GB AB IB JB KB LB"},F:{"1":"k l m n o p q r s t","2":"8 9 E B D I M H N O P Q R S T U V W X w Z a b c d e f L h i OB PB QB RB UB x","194":"j"},G:{"1":"eB fB gB","2":"G AB WB BB YB ZB aB bB cB dB"},H:{"2":"hB"},I:{"1":"g","2":"1 F iB jB kB lB BB mB nB"},J:{"2":"C A"},K:{"2":"8 9 A B D L x"},L:{"1":"g"},M:{"1":"v"},N:{"2":"A B"},O:{"2":"oB"},P:{"1":"pB","2":"F J"},Q:{"194":"qB"},R:{"2":"rB"}},B:1,C:"DOM manipulation convenience methods"}; diff --git a/publi/node_modules/caniuse-lite/data/features/dom-range.js b/publi/node_modules/caniuse-lite/data/features/dom-range.js deleted file mode 100644 index 7657a38..0000000 --- a/publi/node_modules/caniuse-lite/data/features/dom-range.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"E A B","2":"CB","8":"K C G"},B:{"1":"D u Y I M H"},C:{"1":"0 1 2 3 4 5 6 7 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v TB SB"},D:{"1":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"1":"F J K C G E A B GB AB IB JB KB LB MB NB"},F:{"1":"8 9 E B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t OB PB QB RB UB x"},G:{"1":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"1":"hB"},I:{"1":"1 F g iB jB kB lB BB mB nB"},J:{"1":"C A"},K:{"1":"8 9 A B D L x"},L:{"1":"g"},M:{"1":"v"},N:{"1":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:1,C:"Document Object Model Range"}; diff --git a/publi/node_modules/caniuse-lite/data/features/domcontentloaded.js b/publi/node_modules/caniuse-lite/data/features/domcontentloaded.js deleted file mode 100644 index ea7f63a..0000000 --- a/publi/node_modules/caniuse-lite/data/features/domcontentloaded.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"E A B","2":"K C G CB"},B:{"1":"D u Y I M H"},C:{"1":"0 1 2 3 4 5 6 7 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v TB SB"},D:{"1":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"1":"F J K C G E A B GB AB IB JB KB LB MB NB"},F:{"1":"8 9 E B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t OB PB QB RB UB x"},G:{"1":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"1":"hB"},I:{"1":"1 F g iB jB kB lB BB mB nB"},J:{"1":"C A"},K:{"1":"8 9 A B D L x"},L:{"1":"g"},M:{"1":"v"},N:{"1":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:1,C:"DOMContentLoaded"}; diff --git a/publi/node_modules/caniuse-lite/data/features/domfocusin-domfocusout-events.js b/publi/node_modules/caniuse-lite/data/features/domfocusin-domfocusout-events.js deleted file mode 100644 index c7be878..0000000 --- a/publi/node_modules/caniuse-lite/data/features/domfocusin-domfocusout-events.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"2":"D u Y I M H"},C:{"2":"0 1 2 3 4 5 6 7 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v TB SB"},D:{"1":"0 2 3 4 5 6 7 V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB","16":"F J K C G E A B D u Y I M H N O P Q R S T U"},E:{"1":"K C G E A B IB JB KB LB MB NB","2":"F GB AB","16":"J"},F:{"1":"D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t UB x","16":"8 9 E B OB PB QB RB"},G:{"1":"G aB bB cB dB eB fB gB","16":"AB WB BB YB ZB"},H:{"16":"hB"},I:{"1":"F g lB BB mB nB","16":"1 iB jB kB"},J:{"16":"C A"},K:{"16":"8 9 A B D L x"},L:{"1":"g"},M:{"2":"v"},N:{"16":"A B"},O:{"16":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:5,C:"DOMFocusIn & DOMFocusOut events"}; diff --git a/publi/node_modules/caniuse-lite/data/features/dommatrix.js b/publi/node_modules/caniuse-lite/data/features/dommatrix.js deleted file mode 100644 index 7ec35dc..0000000 --- a/publi/node_modules/caniuse-lite/data/features/dommatrix.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E CB","132":"A B"},B:{"132":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 s t y z v","2":"1 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b TB SB","516":"c d e f L h i j k l m n o p q r"},D:{"1":"HB g DB XB EB FB","16":"F J K C","132":"0 2 3 4 5 6 7 E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v","388":"G"},E:{"1":"B NB","16":"F GB AB","132":"J K C G E A IB JB KB LB MB"},F:{"1":"r s t","2":"8 9 E B D OB PB QB RB UB x","132":"I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q"},G:{"16":"AB WB BB","132":"G YB ZB aB bB cB dB eB fB gB"},H:{"2":"hB"},I:{"1":"g","132":"F lB BB mB nB","292":"1 iB jB kB"},J:{"16":"C","132":"A"},K:{"2":"8 9 A B D x","132":"L"},L:{"1":"g"},M:{"1":"v"},N:{"132":"A B"},O:{"132":"oB"},P:{"132":"F J pB"},Q:{"132":"qB"},R:{"132":"rB"}},B:4,C:"DOMMatrix"}; diff --git a/publi/node_modules/caniuse-lite/data/features/download.js b/publi/node_modules/caniuse-lite/data/features/download.js deleted file mode 100644 index 32b59b5..0000000 --- a/publi/node_modules/caniuse-lite/data/features/download.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"1":"u Y I M H","2":"D"},C:{"1":"0 2 3 4 5 6 7 P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v","2":"1 VB F J K C G E A B D u Y I M H N O TB SB"},D:{"1":"0 2 3 4 5 6 7 Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB","2":"F J K C G E A B D u"},E:{"1":"B MB NB","2":"F J K C G E A GB AB IB JB KB LB"},F:{"1":"I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t","2":"8 9 E B D OB PB QB RB UB x"},G:{"2":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"2":"hB"},I:{"1":"g mB nB","2":"1 F iB jB kB lB BB"},J:{"1":"A","2":"C"},K:{"1":"L","2":"8 9 A B D x"},L:{"1":"g"},M:{"1":"v"},N:{"2":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:1,C:"Download attribute"}; diff --git a/publi/node_modules/caniuse-lite/data/features/dragndrop.js b/publi/node_modules/caniuse-lite/data/features/dragndrop.js deleted file mode 100644 index 630419d..0000000 --- a/publi/node_modules/caniuse-lite/data/features/dragndrop.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"644":"K C G E CB","772":"A B"},B:{"260":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v TB SB","8":"1 VB"},D:{"1":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"1":"F J K C G E A B GB AB IB JB KB LB MB NB"},F:{"1":"D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t x","8":"8 9 E B OB PB QB RB UB"},G:{"1":"gB","2":"G AB WB BB YB ZB aB bB cB dB eB fB"},H:{"2":"hB"},I:{"2":"1 F g iB jB kB lB BB mB nB"},J:{"2":"C A"},K:{"1":"x","2":"L","8":"8 9 A B D"},L:{"2":"g"},M:{"2":"v"},N:{"1":"A B"},O:{"2":"oB"},P:{"2":"F J pB"},Q:{"2":"qB"},R:{"2":"rB"}},B:1,C:"Drag and Drop"}; diff --git a/publi/node_modules/caniuse-lite/data/features/element-closest.js b/publi/node_modules/caniuse-lite/data/features/element-closest.js deleted file mode 100644 index dc6fd1a..0000000 --- a/publi/node_modules/caniuse-lite/data/features/element-closest.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"1":"I M H","2":"D u Y"},C:{"1":"0 2 3 4 5 6 7 e f L h i j k l m n o p q r s t y z v","2":"1 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d TB SB"},D:{"1":"0 2 3 4 5 6 7 k l m n o p q r s t y z v HB g DB XB EB FB","2":"F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j"},E:{"1":"E A B LB MB NB","2":"F J K C G GB AB IB JB KB"},F:{"1":"X w Z a b c d e f L h i j k l m n o p q r s t","2":"8 9 E B D I M H N O P Q R S T U V W OB PB QB RB UB x"},G:{"1":"cB dB eB fB gB","2":"G AB WB BB YB ZB aB bB"},H:{"2":"hB"},I:{"1":"g","2":"1 F iB jB kB lB BB mB nB"},J:{"2":"C A"},K:{"1":"L","2":"8 9 A B D x"},L:{"1":"g"},M:{"1":"v"},N:{"2":"A B"},O:{"2":"oB"},P:{"1":"J pB","2":"F"},Q:{"2":"qB"},R:{"1":"rB"}},B:1,C:"Element.closest()"}; diff --git a/publi/node_modules/caniuse-lite/data/features/element-from-point.js b/publi/node_modules/caniuse-lite/data/features/element-from-point.js deleted file mode 100644 index dd4da8d..0000000 --- a/publi/node_modules/caniuse-lite/data/features/element-from-point.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"K C G E A B","16":"CB"},B:{"1":"D u Y I M H"},C:{"1":"0 1 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v TB SB","16":"VB"},D:{"1":"0 2 3 4 5 6 7 I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB","16":"F J K C G E A B D u Y"},E:{"1":"J K C G E A B IB JB KB LB MB NB","16":"F GB AB"},F:{"1":"8 9 B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t UB x","16":"E OB PB QB RB"},G:{"1":"G WB BB YB ZB aB bB cB dB eB fB gB","16":"AB"},H:{"1":"hB"},I:{"1":"1 F g kB lB BB mB nB","16":"iB jB"},J:{"1":"C A"},K:{"1":"D L x","16":"8 9 A B"},L:{"1":"g"},M:{"1":"v"},N:{"1":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:5,C:"document.elementFromPoint()"}; diff --git a/publi/node_modules/caniuse-lite/data/features/eme.js b/publi/node_modules/caniuse-lite/data/features/eme.js deleted file mode 100644 index 64596bb..0000000 --- a/publi/node_modules/caniuse-lite/data/features/eme.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A CB","164":"B"},B:{"1":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 h i j k l m n o p q r s t y z v","2":"1 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L TB SB"},D:{"1":"0 2 3 4 5 6 7 l m n o p q r s t y z v HB g DB XB EB FB","2":"F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d","132":"e f L h i j k"},E:{"2":"F J K GB AB IB JB","164":"C G E A B KB LB MB NB"},F:{"1":"w Z a b c d e f L h i j k l m n o p q r s t","2":"8 9 E B D I M H N O P Q OB PB QB RB UB x","132":"R S T U V W X"},G:{"2":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"2":"hB"},I:{"1":"g","2":"1 F iB jB kB lB BB mB nB"},J:{"2":"C A"},K:{"1":"L","2":"8 9 A B D x"},L:{"1":"g"},M:{"2":"v"},N:{"2":"A B"},O:{"2":"oB"},P:{"1":"J pB","2":"F"},Q:{"2":"qB"},R:{"2":"rB"}},B:3,C:"Encrypted Media Extensions"}; diff --git a/publi/node_modules/caniuse-lite/data/features/eot.js b/publi/node_modules/caniuse-lite/data/features/eot.js deleted file mode 100644 index db9ff18..0000000 --- a/publi/node_modules/caniuse-lite/data/features/eot.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"K C G E A B","2":"CB"},B:{"2":"D u Y I M H"},C:{"2":"0 1 2 3 4 5 6 7 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v TB SB"},D:{"2":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"2":"F J K C G E A B GB AB IB JB KB LB MB NB"},F:{"2":"8 9 E B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t OB PB QB RB UB x"},G:{"2":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"2":"hB"},I:{"2":"1 F g iB jB kB lB BB mB nB"},J:{"2":"C A"},K:{"2":"8 9 A B D L x"},L:{"2":"g"},M:{"2":"v"},N:{"2":"A B"},O:{"2":"oB"},P:{"2":"F J pB"},Q:{"2":"qB"},R:{"2":"rB"}},B:7,C:"EOT - Embedded OpenType fonts"}; diff --git a/publi/node_modules/caniuse-lite/data/features/es5.js b/publi/node_modules/caniuse-lite/data/features/es5.js deleted file mode 100644 index e91878e..0000000 --- a/publi/node_modules/caniuse-lite/data/features/es5.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"A B","2":"K C CB","260":"E","1026":"G"},B:{"1":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v","4":"1 VB TB SB","132":"F J K C G E A B D u Y I M H N O P"},D:{"1":"0 2 3 4 5 6 7 S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB","4":"F J K C G E A B D u Y I M H N","132":"O P Q R"},E:{"1":"K C G E A B JB KB LB MB NB","4":"F J GB AB IB"},F:{"1":"I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t","4":"8 9 E B D OB PB QB RB UB","132":"x"},G:{"1":"G ZB aB bB cB dB eB fB gB","4":"AB WB BB YB"},H:{"132":"hB"},I:{"1":"g mB nB","4":"1 iB jB kB","132":"lB BB","900":"F"},J:{"1":"A","4":"C"},K:{"1":"L","4":"8 9 A B D","132":"x"},L:{"1":"g"},M:{"1":"v"},N:{"1":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:6,C:"ECMAScript 5"}; diff --git a/publi/node_modules/caniuse-lite/data/features/es6-class.js b/publi/node_modules/caniuse-lite/data/features/es6-class.js deleted file mode 100644 index 8eb7974..0000000 --- a/publi/node_modules/caniuse-lite/data/features/es6-class.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"1":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 o p q r s t y z v","2":"1 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n TB SB"},D:{"1":"0 2 3 4 5 6 7 s t y z v HB g DB XB EB FB","2":"F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k","132":"l m n o p q r"},E:{"1":"E A B LB MB NB","2":"F J K C G GB AB IB JB KB"},F:{"1":"f L h i j k l m n o p q r s t","2":"8 9 E B D I M H N O P Q R S T U V W X OB PB QB RB UB x","132":"w Z a b c d e"},G:{"1":"cB dB eB fB gB","2":"G AB WB BB YB ZB aB bB"},H:{"2":"hB"},I:{"1":"g","2":"1 F iB jB kB lB BB mB nB"},J:{"2":"C A"},K:{"1":"L","2":"8 9 A B D x"},L:{"1":"g"},M:{"1":"v"},N:{"2":"A B"},O:{"2":"oB"},P:{"1":"J pB","2":"F"},Q:{"2":"qB"},R:{"1":"rB"}},B:6,C:"ES6 classes"}; diff --git a/publi/node_modules/caniuse-lite/data/features/es6-generators.js b/publi/node_modules/caniuse-lite/data/features/es6-generators.js deleted file mode 100644 index 9a4a469..0000000 --- a/publi/node_modules/caniuse-lite/data/features/es6-generators.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"1":"u Y I M H","2":"D"},C:{"1":"0 2 3 4 5 6 7 V W X w Z a b c d e f L h i j k l m n o p q r s t y z v","2":"1 VB F J K C G E A B D u Y I M H N O P Q R S T U TB SB"},D:{"1":"0 2 3 4 5 6 7 i j k l m n o p q r s t y z v HB g DB XB EB FB","2":"F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h"},E:{"1":"A B MB NB","2":"F J K C G E GB AB IB JB KB LB"},F:{"1":"V W X w Z a b c d e f L h i j k l m n o p q r s t","2":"8 9 E B D I M H N O P Q R S T U OB PB QB RB UB x"},G:{"1":"eB fB gB","2":"G AB WB BB YB ZB aB bB cB dB"},H:{"2":"hB"},I:{"1":"g","2":"1 F iB jB kB lB BB mB nB"},J:{"2":"C A"},K:{"1":"L","2":"8 9 A B D x"},L:{"1":"g"},M:{"1":"v"},N:{"2":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"2":"qB"},R:{"1":"rB"}},B:6,C:"ES6 Generators"}; diff --git a/publi/node_modules/caniuse-lite/data/features/es6-module-dynamic-import.js b/publi/node_modules/caniuse-lite/data/features/es6-module-dynamic-import.js deleted file mode 100644 index fdfa4cd..0000000 --- a/publi/node_modules/caniuse-lite/data/features/es6-module-dynamic-import.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"2":"D u Y I M H"},C:{"2":"0 1 2 3 4 5 6 7 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v TB SB"},D:{"2":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"1":"NB","2":"F J K C G E A GB AB IB JB KB LB","130":"B MB"},F:{"2":"8 9 E B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t OB PB QB RB UB x"},G:{"2":"G AB WB BB YB ZB aB bB cB dB eB","16":"gB","130":"fB"},H:{"2":"hB"},I:{"2":"1 F g iB jB kB lB BB mB nB"},J:{"2":"C A"},K:{"2":"8 9 A B D L x"},L:{"2":"g"},M:{"2":"v"},N:{"2":"A B"},O:{"2":"oB"},P:{"2":"F J pB"},Q:{"2":"qB"},R:{"2":"rB"}},B:7,C:"JavaScript modules: dynamic import()"}; diff --git a/publi/node_modules/caniuse-lite/data/features/es6-module-nomodule.js b/publi/node_modules/caniuse-lite/data/features/es6-module-nomodule.js deleted file mode 100644 index 4839e89..0000000 --- a/publi/node_modules/caniuse-lite/data/features/es6-module-nomodule.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"2":"D u Y I","514":"M H"},C:{"2":"0 1 4 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z TB SB","322":"2 3 5 6 7 v"},D:{"1":"HB g DB XB EB FB","2":"0 2 3 4 5 6 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v","194":"7"},E:{"1":"B NB","2":"F J K C G E A GB AB IB JB KB LB MB"},F:{"2":"8 9 E B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q OB PB QB RB UB x","194":"r s t"},G:{"1":"gB","2":"G AB WB BB YB ZB aB bB cB dB eB fB"},H:{"2":"hB"},I:{"2":"1 F g iB jB kB lB BB mB nB"},J:{"2":"C A"},K:{"2":"8 9 A B D L x"},L:{"2":"g"},M:{"2":"v"},N:{"2":"A B"},O:{"2":"oB"},P:{"2":"F J pB"},Q:{"2":"qB"},R:{"2":"rB"}},B:1,C:"JavaScript modules: nomodule attribute"}; diff --git a/publi/node_modules/caniuse-lite/data/features/es6-module.js b/publi/node_modules/caniuse-lite/data/features/es6-module.js deleted file mode 100644 index ee61cda..0000000 --- a/publi/node_modules/caniuse-lite/data/features/es6-module.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"1":"M H","2":"D u Y","194":"I"},C:{"2":"0 1 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z TB SB","322":"2 3 4 5 6 7 v"},D:{"1":"HB g DB XB EB FB","2":"0 2 3 4 5 6 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v","194":"7"},E:{"1":"B MB NB","2":"F J K C G E A GB AB IB JB KB LB"},F:{"2":"8 9 E B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p OB PB QB RB UB x","194":"q r s t"},G:{"1":"fB gB","2":"G AB WB BB YB ZB aB bB cB dB eB"},H:{"2":"hB"},I:{"2":"1 F g iB jB kB lB BB mB nB"},J:{"2":"C A"},K:{"2":"8 9 A B D L x"},L:{"1":"g"},M:{"322":"v"},N:{"2":"A B"},O:{"2":"oB"},P:{"2":"F J pB"},Q:{"2":"qB"},R:{"2":"rB"}},B:1,C:"JavaScript modules via script tag"}; diff --git a/publi/node_modules/caniuse-lite/data/features/es6-number.js b/publi/node_modules/caniuse-lite/data/features/es6-number.js deleted file mode 100644 index 2bdfc9f..0000000 --- a/publi/node_modules/caniuse-lite/data/features/es6-number.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"1":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 b c d e f L h i j k l m n o p q r s t y z v","2":"1 VB F J K C G E A B D u Y I TB SB","132":"M H N O P Q R S T","260":"U V W X w Z","516":"a"},D:{"1":"0 2 3 4 5 6 7 d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB","2":"F J K C G E A B D u Y I M H N","1028":"O P Q R S T U V W X w Z a b c"},E:{"1":"E A B LB MB NB","2":"F J K C G GB AB IB JB KB"},F:{"1":"Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t","2":"8 9 E B D OB PB QB RB UB x","1028":"I M H N O P"},G:{"1":"cB dB eB fB gB","2":"G AB WB BB YB ZB aB bB"},H:{"2":"hB"},I:{"1":"g","2":"1 F iB jB kB","1028":"lB BB mB nB"},J:{"2":"C A"},K:{"1":"L","2":"8 9 A B D x"},L:{"1":"g"},M:{"1":"v"},N:{"2":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:6,C:"ES6 Number"}; diff --git a/publi/node_modules/caniuse-lite/data/features/es6-string-includes.js b/publi/node_modules/caniuse-lite/data/features/es6-string-includes.js deleted file mode 100644 index 2da88b4..0000000 --- a/publi/node_modules/caniuse-lite/data/features/es6-string-includes.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"1":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 j k l m n o p q r s t y z v","2":"1 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i TB SB"},D:{"1":"0 2 3 4 5 6 7 k l m n o p q r s t y z v HB g DB XB EB FB","2":"F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j"},E:{"1":"E A B LB MB NB","2":"F J K C G GB AB IB JB KB"},F:{"1":"8 9 E B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t OB PB QB RB UB x"},G:{"1":"cB dB eB fB gB","2":"G AB WB BB YB ZB aB bB"},H:{"16":"hB"},I:{"1":"1 F g iB jB kB lB BB mB nB"},J:{"16":"C A"},K:{"1":"8 9 A B D L x"},L:{"1":"g"},M:{"1":"v"},N:{"2":"A B"},O:{"16":"oB"},P:{"16":"F J pB"},Q:{"16":"qB"},R:{"16":"rB"}},B:1,C:"String.prototype.includes"}; diff --git a/publi/node_modules/caniuse-lite/data/features/eventsource.js b/publi/node_modules/caniuse-lite/data/features/eventsource.js deleted file mode 100644 index 26ef932..0000000 --- a/publi/node_modules/caniuse-lite/data/features/eventsource.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"2":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v","2":"1 VB F J TB SB"},D:{"1":"0 2 3 4 5 6 7 K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB","2":"F J"},E:{"1":"J K C G E A B IB JB KB LB MB NB","2":"F GB AB"},F:{"1":"8 9 B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t UB x","4":"E OB PB QB RB"},G:{"1":"G WB BB YB ZB aB bB cB dB eB fB gB","2":"AB"},H:{"2":"hB"},I:{"1":"g mB nB","2":"1 F iB jB kB lB BB"},J:{"1":"C A"},K:{"1":"8 9 D L x","4":"A B"},L:{"1":"g"},M:{"1":"v"},N:{"2":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:1,C:"Server-sent events"}; diff --git a/publi/node_modules/caniuse-lite/data/features/fetch.js b/publi/node_modules/caniuse-lite/data/features/fetch.js deleted file mode 100644 index 7cd49d5..0000000 --- a/publi/node_modules/caniuse-lite/data/features/fetch.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"1":"Y I M H","2":"D u"},C:{"1":"0 2 3 4 5 6 7 j k l m n o p q r s t y z v","2":"1 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c TB SB","1025":"i","1218":"d e f L h"},D:{"1":"0 2 3 4 5 6 7 l m n o p q r s t y z v HB g DB XB EB FB","2":"F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i","260":"j","772":"k"},E:{"1":"B MB NB","2":"F J K C G E A GB AB IB JB KB LB"},F:{"1":"w Z a b c d e f L h i j k l m n o p q r s t","2":"8 9 E B D I M H N O P Q R S T U V OB PB QB RB UB x","260":"W","772":"X"},G:{"1":"fB gB","2":"G AB WB BB YB ZB aB bB cB dB eB"},H:{"2":"hB"},I:{"1":"g","2":"1 F iB jB kB lB BB mB nB"},J:{"2":"C A"},K:{"1":"L","2":"8 9 A B D x"},L:{"1":"g"},M:{"1":"v"},N:{"2":"A B"},O:{"2":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:1,C:"Fetch"}; diff --git a/publi/node_modules/caniuse-lite/data/features/fieldset-disabled.js b/publi/node_modules/caniuse-lite/data/features/fieldset-disabled.js deleted file mode 100644 index fe3afc8..0000000 --- a/publi/node_modules/caniuse-lite/data/features/fieldset-disabled.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"16":"CB","132":"G E","388":"K C A B"},B:{"1":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v","2":"1 VB TB SB"},D:{"1":"0 2 3 4 5 6 7 P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB","2":"F J K C G E A B D u Y I","16":"M H N O"},E:{"1":"K C G E A B JB KB LB MB NB","2":"F J GB AB IB"},F:{"1":"8 9 B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t PB QB RB UB x","16":"E OB"},G:{"1":"G ZB aB bB cB dB eB fB gB","2":"AB WB BB YB"},H:{"388":"hB"},I:{"1":"g mB nB","2":"1 F iB jB kB lB BB"},J:{"1":"A","2":"C"},K:{"1":"8 9 A B D L x"},L:{"1":"g"},M:{"1":"v"},N:{"1":"A","260":"B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:1,C:"disabled attribute of the fieldset element"}; diff --git a/publi/node_modules/caniuse-lite/data/features/fileapi.js b/publi/node_modules/caniuse-lite/data/features/fileapi.js deleted file mode 100644 index 454daeb..0000000 --- a/publi/node_modules/caniuse-lite/data/features/fileapi.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E CB","260":"A B"},B:{"260":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 X w Z a b c d e f L h i j k l m n o p q r s t y z v","2":"1 VB TB","260":"F J K C G E A B D u Y I M H N O P Q R S T U V W SB"},D:{"1":"0 2 3 4 5 6 7 h i j k l m n o p q r s t y z v HB g DB XB EB FB","2":"F J","260":"u Y I M H N O P Q R S T U V W X w Z a b c d e f L","388":"K C G E A B D"},E:{"1":"A B MB NB","2":"F J GB AB","260":"K C G E JB KB LB","388":"IB"},F:{"1":"U V W X w Z a b c d e f L h i j k l m n o p q r s t","2":"E B OB PB QB RB","260":"8 9 D I M H N O P Q R S T UB x"},G:{"1":"eB fB gB","2":"AB WB BB YB","260":"G ZB aB bB cB dB"},H:{"2":"hB"},I:{"1":"g nB","2":"iB jB kB","260":"mB","388":"1 F lB BB"},J:{"260":"A","388":"C"},K:{"1":"L","2":"A B","260":"8 9 D x"},L:{"1":"g"},M:{"1":"v"},N:{"2":"A","260":"B"},O:{"260":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:5,C:"File API"}; diff --git a/publi/node_modules/caniuse-lite/data/features/filereader.js b/publi/node_modules/caniuse-lite/data/features/filereader.js deleted file mode 100644 index 2642c5e..0000000 --- a/publi/node_modules/caniuse-lite/data/features/filereader.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E CB","132":"A B"},B:{"1":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v SB","2":"1 VB TB"},D:{"1":"0 2 3 4 5 6 7 K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB","2":"F J"},E:{"1":"K C G E A B JB KB LB MB NB","2":"F J GB AB IB"},F:{"1":"8 9 D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t UB x","2":"E B OB PB QB RB"},G:{"1":"G ZB aB bB cB dB eB fB gB","2":"AB WB BB YB"},H:{"2":"hB"},I:{"1":"1 F g lB BB mB nB","2":"iB jB kB"},J:{"1":"A","2":"C"},K:{"1":"8 9 D L x","2":"A B"},L:{"1":"g"},M:{"1":"v"},N:{"1":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:5,C:"FileReader API"}; diff --git a/publi/node_modules/caniuse-lite/data/features/filereadersync.js b/publi/node_modules/caniuse-lite/data/features/filereadersync.js deleted file mode 100644 index c2aba06..0000000 --- a/publi/node_modules/caniuse-lite/data/features/filereadersync.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"A B","2":"K C G E CB"},B:{"1":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v","2":"1 VB F J K C TB SB"},D:{"1":"0 2 3 4 5 6 7 I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB","16":"F J K C G E A B D u Y"},E:{"1":"K C G E A B JB KB LB MB NB","2":"F J GB AB IB"},F:{"1":"D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t UB x","2":"E OB PB","16":"8 9 B QB RB"},G:{"1":"G ZB aB bB cB dB eB fB gB","2":"AB WB BB YB"},H:{"2":"hB"},I:{"1":"g mB nB","2":"1 F iB jB kB lB BB"},J:{"1":"A","2":"C"},K:{"1":"8 D L x","2":"A","16":"9 B"},L:{"1":"g"},M:{"1":"v"},N:{"1":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:5,C:"FileReaderSync"}; diff --git a/publi/node_modules/caniuse-lite/data/features/filesystem.js b/publi/node_modules/caniuse-lite/data/features/filesystem.js deleted file mode 100644 index 6af08c9..0000000 --- a/publi/node_modules/caniuse-lite/data/features/filesystem.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"2":"D u Y I M H"},C:{"2":"0 1 2 3 4 5 6 7 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v TB SB"},D:{"2":"F J K C","33":"0 2 3 4 5 6 7 u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB","36":"G E A B D"},E:{"2":"F J K C G E A B GB AB IB JB KB LB MB NB"},F:{"2":"8 9 E B D OB PB QB RB UB x","33":"I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t"},G:{"2":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"2":"hB"},I:{"2":"1 F g iB jB kB lB BB mB nB"},J:{"2":"C","33":"A"},K:{"2":"8 9 A B D x","33":"L"},L:{"33":"g"},M:{"2":"v"},N:{"2":"A B"},O:{"2":"oB"},P:{"2":"F","33":"J pB"},Q:{"2":"qB"},R:{"2":"rB"}},B:7,C:"Filesystem & FileWriter API"}; diff --git a/publi/node_modules/caniuse-lite/data/features/flac.js b/publi/node_modules/caniuse-lite/data/features/flac.js deleted file mode 100644 index c47649d..0000000 --- a/publi/node_modules/caniuse-lite/data/features/flac.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"1":"M H","2":"D u Y I"},C:{"1":"0 2 3 4 5 6 7 y z v","2":"1 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t TB SB"},D:{"1":"3 5 6 7 v HB g DB XB EB FB","2":"F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m","16":"n o p","388":"0 2 4 q r s t y z"},E:{"2":"F J K C G E A B GB AB IB JB KB LB MB NB"},F:{"1":"l m n o p q r s t","2":"8 9 E B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k OB PB QB RB UB x"},G:{"2":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"2":"hB"},I:{"1":"g","2":"iB jB kB","16":"1 F lB BB mB nB"},J:{"1":"A","2":"C"},K:{"1":"x","16":"8 9 A B D","129":"L"},L:{"1":"g"},M:{"2":"v"},N:{"2":"A B"},O:{"1":"oB"},P:{"1":"J pB","129":"F"},Q:{"2":"qB"},R:{"1":"rB"}},B:6,C:"FLAC audio format"}; diff --git a/publi/node_modules/caniuse-lite/data/features/flexbox.js b/publi/node_modules/caniuse-lite/data/features/flexbox.js deleted file mode 100644 index a2a9a12..0000000 --- a/publi/node_modules/caniuse-lite/data/features/flexbox.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E CB","1028":"B","1316":"A"},B:{"1":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 X w Z a b c d e f L h i j k l m n o p q r s t y z v","164":"1 VB F J K C G E A B D u Y I M H N O P Q TB SB","516":"R S T U V W"},D:{"1":"0 2 3 4 5 6 7 w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB","33":"Q R S T U V W X","164":"F J K C G E A B D u Y I M H N O P"},E:{"1":"E A B LB MB NB","33":"C G JB KB","164":"F J K GB AB IB"},F:{"1":"H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t x","2":"8 9 E B D OB PB QB RB UB","33":"I M"},G:{"1":"cB dB eB fB gB","33":"G aB bB","164":"AB WB BB YB ZB"},H:{"1":"hB"},I:{"1":"g mB nB","164":"1 F iB jB kB lB BB"},J:{"1":"A","164":"C"},K:{"1":"L x","2":"8 9 A B D"},L:{"1":"g"},M:{"1":"v"},N:{"1":"B","292":"A"},O:{"164":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:4,C:"CSS Flexible Box Layout Module"}; diff --git a/publi/node_modules/caniuse-lite/data/features/flow-root.js b/publi/node_modules/caniuse-lite/data/features/flow-root.js deleted file mode 100644 index 057afd4..0000000 --- a/publi/node_modules/caniuse-lite/data/features/flow-root.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"2":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 v","2":"1 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z TB SB"},D:{"1":"5 6 7 HB g DB XB EB FB","2":"0 2 3 4 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v"},E:{"2":"F J K C G E A B GB AB IB JB KB LB MB NB"},F:{"1":"o p q r s t","2":"8 9 E B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n OB PB QB RB UB x"},G:{"2":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"2":"hB"},I:{"1":"g","2":"1 F iB jB kB lB BB mB nB"},J:{"2":"C A"},K:{"2":"8 9 A B D L x"},L:{"1":"g"},M:{"1":"v"},N:{"2":"A B"},O:{"2":"oB"},P:{"2":"F J pB"},Q:{"2":"qB"},R:{"2":"rB"}},B:5,C:"display: flow-root"}; diff --git a/publi/node_modules/caniuse-lite/data/features/focusin-focusout-events.js b/publi/node_modules/caniuse-lite/data/features/focusin-focusout-events.js deleted file mode 100644 index 9f401ef..0000000 --- a/publi/node_modules/caniuse-lite/data/features/focusin-focusout-events.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"K C G E A B","2":"CB"},B:{"1":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 z v","2":"1 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y TB SB"},D:{"1":"0 2 3 4 5 6 7 I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB","16":"F J K C G E A B D u Y"},E:{"1":"K C G E A B IB JB KB LB MB NB","16":"F J GB AB"},F:{"1":"D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t UB x","2":"E OB PB QB RB","16":"8 9 B"},G:{"1":"G YB ZB aB bB cB dB eB fB gB","2":"AB WB BB"},H:{"2":"hB"},I:{"1":"F g lB BB mB nB","2":"iB jB kB","16":"1"},J:{"1":"C A"},K:{"1":"D L x","2":"A","16":"8 9 B"},L:{"1":"g"},M:{"1":"v"},N:{"1":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:5,C:"focusin & focusout events"}; diff --git a/publi/node_modules/caniuse-lite/data/features/font-feature.js b/publi/node_modules/caniuse-lite/data/features/font-feature.js deleted file mode 100644 index 2d4844b..0000000 --- a/publi/node_modules/caniuse-lite/data/features/font-feature.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"A B","2":"K C G E CB"},B:{"1":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 d e f L h i j k l m n o p q r s t y z v","2":"1 VB TB SB","33":"I M H N O P Q R S T U V W X w Z a b c","164":"F J K C G E A B D u Y"},D:{"1":"0 2 3 4 5 6 7 r s t y z v HB g DB XB EB FB","2":"F J K C G E A B D u Y I","33":"Q R S T U V W X w Z a b c d e f L h i j k l m n o p q","292":"M H N O P"},E:{"1":"A B LB MB NB","2":"C G E GB AB JB KB","4":"F J K IB"},F:{"1":"e f L h i j k l m n o p q r s t","2":"8 9 E B D OB PB QB RB UB x","33":"I M H N O P Q R S T U V W X w Z a b c d"},G:{"1":"dB eB fB gB","2":"G aB bB cB","4":"AB WB BB YB ZB"},H:{"2":"hB"},I:{"1":"g","2":"1 F iB jB kB lB BB","33":"mB nB"},J:{"2":"C","33":"A"},K:{"1":"L","2":"8 9 A B D x"},L:{"1":"g"},M:{"1":"v"},N:{"2":"A B"},O:{"33":"oB"},P:{"1":"J pB","33":"F"},Q:{"1":"qB"},R:{"1":"rB"}},B:4,C:"CSS font-feature-settings"}; diff --git a/publi/node_modules/caniuse-lite/data/features/font-kerning.js b/publi/node_modules/caniuse-lite/data/features/font-kerning.js deleted file mode 100644 index 321d093..0000000 --- a/publi/node_modules/caniuse-lite/data/features/font-kerning.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"2":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 d e f L h i j k l m n o p q r s t y z v","2":"1 VB F J K C G E A B D u Y I M H N O P Q R S TB SB","194":"T U V W X w Z a b c"},D:{"1":"0 2 3 4 5 6 7 c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB","2":"F J K C G E A B D u Y I M H N O P Q R S T U V W X","33":"w Z a b"},E:{"1":"A B LB MB NB","2":"F J K GB AB IB JB","33":"C G E KB"},F:{"1":"P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t","2":"8 9 E B D I OB PB QB RB UB x","33":"M H N O"},G:{"2":"AB WB BB YB ZB aB","33":"G bB cB dB eB fB gB"},H:{"2":"hB"},I:{"1":"g nB","2":"1 F iB jB kB lB BB","33":"mB"},J:{"2":"C","33":"A"},K:{"1":"L","2":"8 9 A B D x"},L:{"1":"g"},M:{"1":"v"},N:{"2":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:4,C:"CSS3 font-kerning"}; diff --git a/publi/node_modules/caniuse-lite/data/features/font-loading.js b/publi/node_modules/caniuse-lite/data/features/font-loading.js deleted file mode 100644 index 826323b..0000000 --- a/publi/node_modules/caniuse-lite/data/features/font-loading.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"2":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 k l m n o p q r s t y z v","2":"1 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d TB SB","194":"e f L h i j"},D:{"1":"0 2 3 4 5 6 7 e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB","2":"F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d"},E:{"1":"A B MB NB","2":"F J K C G E GB AB IB JB KB LB"},F:{"1":"R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t","2":"8 9 E B D I M H N O P Q OB PB QB RB UB x"},G:{"1":"eB fB gB","2":"G AB WB BB YB ZB aB bB cB dB"},H:{"2":"hB"},I:{"1":"g","2":"1 F iB jB kB lB BB mB nB"},J:{"2":"C A"},K:{"1":"L","2":"8 9 A B D x"},L:{"1":"g"},M:{"1":"v"},N:{"2":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:7,C:"CSS Font Loading"}; diff --git a/publi/node_modules/caniuse-lite/data/features/font-size-adjust.js b/publi/node_modules/caniuse-lite/data/features/font-size-adjust.js deleted file mode 100644 index 708dfe4..0000000 --- a/publi/node_modules/caniuse-lite/data/features/font-size-adjust.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"2":"D u Y I M H"},C:{"1":"0 1 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v TB SB","2":"VB"},D:{"2":"F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l","194":"0 2 3 4 5 6 7 m n o p q r s t y z v HB g DB XB EB FB"},E:{"2":"F J K C G E A B GB AB IB JB KB LB MB NB"},F:{"2":"8 9 E B D I M H N O P Q R S T U V W X w OB PB QB RB UB x","194":"Z a b c d e f L h i j k l m n o p q r s t"},G:{"2":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"2":"hB"},I:{"2":"1 F g iB jB kB lB BB mB nB"},J:{"2":"C A"},K:{"2":"8 9 A B D L x"},L:{"2":"g"},M:{"258":"v"},N:{"2":"A B"},O:{"2":"oB"},P:{"2":"F J pB"},Q:{"194":"qB"},R:{"2":"rB"}},B:4,C:"CSS font-size-adjust"}; diff --git a/publi/node_modules/caniuse-lite/data/features/font-smooth.js b/publi/node_modules/caniuse-lite/data/features/font-smooth.js deleted file mode 100644 index ec9f84f..0000000 --- a/publi/node_modules/caniuse-lite/data/features/font-smooth.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"2":"D u Y I M H"},C:{"2":"1 VB F J K C G E A B D u Y I M H N O P Q R S T TB SB","804":"0 2 3 4 5 6 7 U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v"},D:{"2":"F","676":"0 2 3 4 5 6 7 J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"2":"GB AB","676":"F J K C G E A B IB JB KB LB MB NB"},F:{"2":"8 9 E B D OB PB QB RB UB x","676":"I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t"},G:{"2":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"2":"hB"},I:{"2":"1 F g iB jB kB lB BB mB nB"},J:{"2":"C A"},K:{"2":"8 9 A B D L x"},L:{"2":"g"},M:{"2":"v"},N:{"2":"A B"},O:{"2":"oB"},P:{"2":"F J pB"},Q:{"2":"qB"},R:{"2":"rB"}},B:7,C:"CSS font-smooth"}; diff --git a/publi/node_modules/caniuse-lite/data/features/font-unicode-range.js b/publi/node_modules/caniuse-lite/data/features/font-unicode-range.js deleted file mode 100644 index e3043d9..0000000 --- a/publi/node_modules/caniuse-lite/data/features/font-unicode-range.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G CB","4":"E A B"},B:{"4":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 n o p q r s t y z v","2":"1 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e TB SB","194":"f L h i j k l m"},D:{"1":"0 2 3 4 5 6 7 f L h i j k l m n o p q r s t y z v HB g DB XB EB FB","4":"F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e"},E:{"1":"A B MB NB","4":"F J K C G E GB AB IB JB KB LB"},F:{"1":"S T U V W X w Z a b c d e f L h i j k l m n o p q r s t","2":"8 9 E B D OB PB QB RB UB x","4":"I M H N O P Q R"},G:{"1":"eB fB gB","4":"G AB WB BB YB ZB aB bB cB dB"},H:{"2":"hB"},I:{"1":"g","4":"1 F iB jB kB lB BB mB nB"},J:{"2":"C","4":"A"},K:{"2":"8 9 A B D x","4":"L"},L:{"1":"g"},M:{"1":"v"},N:{"4":"A B"},O:{"4":"oB"},P:{"1":"J pB","4":"F"},Q:{"1":"qB"},R:{"2":"rB"}},B:4,C:"Font unicode-range subsetting"}; diff --git a/publi/node_modules/caniuse-lite/data/features/font-variant-alternates.js b/publi/node_modules/caniuse-lite/data/features/font-variant-alternates.js deleted file mode 100644 index e0e565a..0000000 --- a/publi/node_modules/caniuse-lite/data/features/font-variant-alternates.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E CB","130":"A B"},B:{"130":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 d e f L h i j k l m n o p q r s t y z v","2":"1 VB TB SB","130":"F J K C G E A B D u Y I M H N O P Q R S","322":"T U V W X w Z a b c"},D:{"2":"F J K C G E A B D u Y I","130":"0 2 3 4 5 6 7 M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"1":"A B LB MB NB","2":"C G E GB AB JB KB","130":"F J K IB"},F:{"2":"8 9 E B D OB PB QB RB UB x","130":"I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t"},G:{"1":"dB eB fB gB","2":"G AB aB bB cB","130":"WB BB YB ZB"},H:{"2":"hB"},I:{"2":"1 F iB jB kB lB BB","130":"g mB nB"},J:{"2":"C","130":"A"},K:{"2":"8 9 A B D x","130":"L"},L:{"130":"g"},M:{"1":"v"},N:{"2":"A B"},O:{"130":"oB"},P:{"130":"F J pB"},Q:{"130":"qB"},R:{"130":"rB"}},B:4,C:"CSS font-variant-alternates"}; diff --git a/publi/node_modules/caniuse-lite/data/features/font-variant-east-asian.js b/publi/node_modules/caniuse-lite/data/features/font-variant-east-asian.js deleted file mode 100644 index 9d323b7..0000000 --- a/publi/node_modules/caniuse-lite/data/features/font-variant-east-asian.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"2":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 d e f L h i j k l m n o p q r s t y z v","2":"1 VB F J K C G E A B D u Y I M H N O P Q R S TB SB","132":"T U V W X w Z a b c"},D:{"1":"DB XB EB FB","2":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g"},E:{"2":"F J K C G E A B GB AB IB JB KB LB MB NB"},F:{"1":"t","2":"8 9 E B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s OB PB QB RB UB x"},G:{"2":"G WB BB YB ZB aB bB cB dB eB fB gB","16":"AB"},H:{"2":"hB"},I:{"2":"1 F g iB jB kB lB BB mB nB"},J:{"2":"C A"},K:{"2":"8 9 A B D L x"},L:{"2":"g"},M:{"132":"v"},N:{"2":"A B"},O:{"2":"oB"},P:{"2":"F J pB"},Q:{"2":"qB"},R:{"2":"rB"}},B:4,C:"CSS font-variant-east-asian "}; diff --git a/publi/node_modules/caniuse-lite/data/features/fontface.js b/publi/node_modules/caniuse-lite/data/features/fontface.js deleted file mode 100644 index 9bd4ab4..0000000 --- a/publi/node_modules/caniuse-lite/data/features/fontface.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"E A B","132":"K C G CB"},B:{"1":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v TB SB","2":"1 VB"},D:{"1":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"1":"F J K C G E A B AB IB JB KB LB MB NB","2":"GB"},F:{"1":"8 9 B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t PB QB RB UB x","2":"E OB"},G:{"1":"G BB YB ZB aB bB cB dB eB fB gB","260":"AB WB"},H:{"2":"hB"},I:{"1":"F g lB BB mB nB","2":"iB","4":"1 jB kB"},J:{"1":"A","4":"C"},K:{"1":"8 9 A B D L x"},L:{"1":"g"},M:{"1":"v"},N:{"1":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:4,C:"@font-face Web fonts"}; diff --git a/publi/node_modules/caniuse-lite/data/features/form-attribute.js b/publi/node_modules/caniuse-lite/data/features/form-attribute.js deleted file mode 100644 index 9f470fe..0000000 --- a/publi/node_modules/caniuse-lite/data/features/form-attribute.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"1":"M H","2":"D u Y I"},C:{"1":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v","2":"1 VB TB SB"},D:{"1":"0 2 3 4 5 6 7 A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB","2":"F J K C G E"},E:{"1":"K C G E A B IB JB KB LB MB NB","2":"F GB AB","16":"J"},F:{"1":"8 9 B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t OB PB QB RB UB x","2":"E"},G:{"1":"G YB ZB aB bB cB dB eB fB gB","2":"AB WB BB"},H:{"1":"hB"},I:{"1":"1 F g lB BB mB nB","2":"iB jB kB"},J:{"1":"C A"},K:{"1":"8 9 A B D L x"},L:{"1":"g"},M:{"1":"v"},N:{"2":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:1,C:"Form attribute"}; diff --git a/publi/node_modules/caniuse-lite/data/features/form-submit-attributes.js b/publi/node_modules/caniuse-lite/data/features/form-submit-attributes.js deleted file mode 100644 index fc9c8d8..0000000 --- a/publi/node_modules/caniuse-lite/data/features/form-submit-attributes.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"A B","2":"K C G E CB"},B:{"1":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v","2":"1 VB TB SB"},D:{"1":"0 2 3 4 5 6 7 I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB","16":"F J K C G E A B D u Y"},E:{"1":"K C G E A B IB JB KB LB MB NB","2":"F J GB AB"},F:{"1":"8 9 B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t RB UB x","2":"E OB","16":"PB QB"},G:{"1":"G YB ZB aB bB cB dB eB fB gB","2":"AB WB BB"},H:{"1":"hB"},I:{"1":"F g lB BB mB nB","2":"iB jB kB","16":"1"},J:{"1":"A","2":"C"},K:{"1":"8 9 B D L x","16":"A"},L:{"1":"g"},M:{"1":"v"},N:{"1":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:1,C:"Attributes for form submission"}; diff --git a/publi/node_modules/caniuse-lite/data/features/form-validation.js b/publi/node_modules/caniuse-lite/data/features/form-validation.js deleted file mode 100644 index d01ff55..0000000 --- a/publi/node_modules/caniuse-lite/data/features/form-validation.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"A B","2":"K C G E CB"},B:{"1":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v","2":"1 VB TB SB"},D:{"1":"0 2 3 4 5 6 7 A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB","2":"F J K C G E"},E:{"1":"B MB NB","2":"F GB AB","132":"J K C G E A IB JB KB LB"},F:{"1":"8 9 B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t PB QB RB UB x","2":"E OB"},G:{"1":"fB gB","2":"AB","132":"G WB BB YB ZB aB bB cB dB eB"},H:{"516":"hB"},I:{"1":"g nB","2":"1 iB jB kB","132":"F lB BB mB"},J:{"1":"A","132":"C"},K:{"1":"8 9 A B D L x"},L:{"1":"g"},M:{"1":"v"},N:{"260":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:1,C:"Form validation"}; diff --git a/publi/node_modules/caniuse-lite/data/features/forms.js b/publi/node_modules/caniuse-lite/data/features/forms.js deleted file mode 100644 index 2909f76..0000000 --- a/publi/node_modules/caniuse-lite/data/features/forms.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"CB","4":"A B","8":"K C G E"},B:{"1":"M H","4":"D u Y I"},C:{"4":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v","8":"1 VB TB SB"},D:{"1":"HB g DB XB EB FB","4":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v"},E:{"4":"F J K C G E A B IB JB KB LB MB NB","8":"GB AB"},F:{"1":"8 9 E B D OB PB QB RB UB x","4":"I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t"},G:{"2":"AB","4":"G WB BB YB ZB aB bB cB dB eB fB gB"},H:{"2":"hB"},I:{"2":"1 F iB jB kB lB BB","4":"g mB nB"},J:{"2":"C","4":"A"},K:{"1":"8 9 A B D x","4":"L"},L:{"4":"g"},M:{"4":"v"},N:{"4":"A B"},O:{"1":"oB"},P:{"4":"F J pB"},Q:{"4":"qB"},R:{"4":"rB"}},B:1,C:"HTML5 form features"}; diff --git a/publi/node_modules/caniuse-lite/data/features/fullscreen.js b/publi/node_modules/caniuse-lite/data/features/fullscreen.js deleted file mode 100644 index 44c03df..0000000 --- a/publi/node_modules/caniuse-lite/data/features/fullscreen.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A CB","548":"B"},B:{"516":"D u Y I M H"},C:{"2":"1 VB F J K C G E TB SB","676":"A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p","1700":"0 2 3 4 5 6 7 q r s t y z v"},D:{"2":"F J K C G E A B D u Y","676":"I M H N O","804":"0 2 3 4 5 6 7 P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"2":"F J GB AB","676":"IB","804":"K C G E A B JB KB LB MB NB"},F:{"1":"x","2":"8 9 E B D OB PB QB RB UB","804":"I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t"},G:{"2":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"2":"hB"},I:{"2":"1 F g iB jB kB lB BB mB nB"},J:{"2":"C","292":"A"},K:{"2":"8 9 A B D x","804":"L"},L:{"804":"g"},M:{"1700":"v"},N:{"2":"A","548":"B"},O:{"804":"oB"},P:{"804":"F J pB"},Q:{"804":"qB"},R:{"804":"rB"}},B:1,C:"Full Screen API"}; diff --git a/publi/node_modules/caniuse-lite/data/features/gamepad.js b/publi/node_modules/caniuse-lite/data/features/gamepad.js deleted file mode 100644 index f64ee3f..0000000 --- a/publi/node_modules/caniuse-lite/data/features/gamepad.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"1":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 w Z a b c d e f L h i j k l m n o p q r s t y z v","2":"1 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X TB SB"},D:{"1":"0 2 3 4 5 6 7 U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB","2":"F J K C G E A B D u Y I M H N O P","33":"Q R S T"},E:{"1":"B MB NB","2":"F J K C G E A GB AB IB JB KB LB"},F:{"1":"T U V W X w Z a b c d e f L h i j k l m n o p q r s t","2":"8 9 E B D I M H N O P Q R S OB PB QB RB UB x"},G:{"1":"fB gB","2":"G AB WB BB YB ZB aB bB cB dB eB"},H:{"2":"hB"},I:{"2":"1 F g iB jB kB lB BB mB nB"},J:{"2":"C A"},K:{"2":"8 9 A B D L x"},L:{"1":"g"},M:{"1":"v"},N:{"2":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:5,C:"Gamepad API"}; diff --git a/publi/node_modules/caniuse-lite/data/features/geolocation.js b/publi/node_modules/caniuse-lite/data/features/geolocation.js deleted file mode 100644 index 5d9a00e..0000000 --- a/publi/node_modules/caniuse-lite/data/features/geolocation.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"E A B","2":"CB","8":"K C G"},B:{"1":"D u Y I M H"},C:{"1":"0 4 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z TB SB","8":"1 VB","129":"2 3 5 6 7 v"},D:{"1":"J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s","4":"F","129":"0 2 3 4 5 6 7 t y z v HB g DB XB EB FB"},E:{"1":"J K C G E B IB JB KB LB MB NB","8":"F GB AB","129":"A"},F:{"1":"8 9 B D M H N O P Q R S T U V W X w Z a b c d e f L h RB UB x","2":"E I OB","8":"PB QB","129":"i j k l m n o p q r s t"},G:{"1":"G AB WB BB YB ZB aB bB cB dB","129":"eB fB gB"},H:{"2":"hB"},I:{"1":"1 F iB jB kB lB BB mB nB","129":"g"},J:{"1":"C A"},K:{"1":"8 9 B D L x","8":"A"},L:{"129":"g"},M:{"129":"v"},N:{"1":"A B"},O:{"1":"oB"},P:{"1":"F","129":"J pB"},Q:{"129":"qB"},R:{"129":"rB"}},B:2,C:"Geolocation"}; diff --git a/publi/node_modules/caniuse-lite/data/features/getboundingclientrect.js b/publi/node_modules/caniuse-lite/data/features/getboundingclientrect.js deleted file mode 100644 index 27f779a..0000000 --- a/publi/node_modules/caniuse-lite/data/features/getboundingclientrect.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"E A B","644":"K C G CB"},B:{"1":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v","2":"VB","260":"F J K C G E A B","1156":"1","1284":"TB","1796":"SB"},D:{"1":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"1":"F J K C G E A B IB JB KB LB MB NB","16":"GB AB"},F:{"1":"8 9 B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t RB UB x","16":"E OB","132":"PB QB"},G:{"1":"G WB BB YB ZB aB bB cB dB eB fB gB","16":"AB"},H:{"1":"hB"},I:{"1":"1 F g kB lB BB mB nB","16":"iB jB"},J:{"1":"C A"},K:{"1":"8 9 B D L x","132":"A"},L:{"1":"g"},M:{"1":"v"},N:{"1":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:5,C:"Element.getBoundingClientRect()"}; diff --git a/publi/node_modules/caniuse-lite/data/features/getcomputedstyle.js b/publi/node_modules/caniuse-lite/data/features/getcomputedstyle.js deleted file mode 100644 index 303e718..0000000 --- a/publi/node_modules/caniuse-lite/data/features/getcomputedstyle.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"E A B","2":"K C G CB"},B:{"1":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v","2":"VB","132":"1 TB SB"},D:{"1":"0 2 3 4 5 6 7 B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB","260":"F J K C G E A"},E:{"1":"J K C G E A B IB JB KB LB MB NB","260":"F GB AB"},F:{"1":"8 9 B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t RB UB x","260":"E OB PB QB"},G:{"1":"G YB ZB aB bB cB dB eB fB gB","260":"AB WB BB"},H:{"260":"hB"},I:{"1":"F g lB BB mB nB","260":"1 iB jB kB"},J:{"1":"A","260":"C"},K:{"1":"8 9 B D L x","260":"A"},L:{"1":"g"},M:{"1":"v"},N:{"1":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:2,C:"getComputedStyle"}; diff --git a/publi/node_modules/caniuse-lite/data/features/getelementsbyclassname.js b/publi/node_modules/caniuse-lite/data/features/getelementsbyclassname.js deleted file mode 100644 index c0518bc..0000000 --- a/publi/node_modules/caniuse-lite/data/features/getelementsbyclassname.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"E A B","2":"CB","8":"K C G"},B:{"1":"D u Y I M H"},C:{"1":"0 1 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v TB SB","8":"VB"},D:{"1":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"1":"F J K C G E A B GB AB IB JB KB LB MB NB"},F:{"1":"8 9 B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t OB PB QB RB UB x","2":"E"},G:{"1":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"1":"hB"},I:{"1":"1 F g iB jB kB lB BB mB nB"},J:{"1":"C A"},K:{"1":"8 9 A B D L x"},L:{"1":"g"},M:{"1":"v"},N:{"1":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:1,C:"getElementsByClassName"}; diff --git a/publi/node_modules/caniuse-lite/data/features/getrandomvalues.js b/publi/node_modules/caniuse-lite/data/features/getrandomvalues.js deleted file mode 100644 index 727872c..0000000 --- a/publi/node_modules/caniuse-lite/data/features/getrandomvalues.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A CB","33":"B"},B:{"1":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v","2":"1 VB F J K C G E A B D u Y I M H N O P TB SB"},D:{"1":"0 2 3 4 5 6 7 B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB","2":"F J K C G E A"},E:{"1":"C G E A B JB KB LB MB NB","2":"F J K GB AB IB"},F:{"1":"I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t","2":"8 9 E B D OB PB QB RB UB x"},G:{"1":"G aB bB cB dB eB fB gB","2":"AB WB BB YB ZB"},H:{"2":"hB"},I:{"1":"g mB nB","2":"1 F iB jB kB lB BB"},J:{"1":"A","2":"C"},K:{"1":"L","2":"8 9 A B D x"},L:{"1":"g"},M:{"1":"v"},N:{"2":"A","33":"B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:4,C:"crypto.getRandomValues()"}; diff --git a/publi/node_modules/caniuse-lite/data/features/hardwareconcurrency.js b/publi/node_modules/caniuse-lite/data/features/hardwareconcurrency.js deleted file mode 100644 index 0aed084..0000000 --- a/publi/node_modules/caniuse-lite/data/features/hardwareconcurrency.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"1":"I M H","2":"D u Y"},C:{"1":"0 2 3 4 5 6 7 r s t y z v","2":"1 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q TB SB"},D:{"1":"0 2 3 4 5 6 7 L h i j k l m n o p q r s t y z v HB g DB XB EB FB","2":"F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f"},E:{"2":"F J K C GB AB IB JB KB","129":"B MB NB","194":"G E A LB"},F:{"1":"T U V W X w Z a b c d e f L h i j k l m n o p q r s t","2":"8 9 E B D I M H N O P Q R S OB PB QB RB UB x"},G:{"2":"AB WB BB YB ZB aB","129":"fB gB","194":"G bB cB dB eB"},H:{"2":"hB"},I:{"1":"g","2":"1 F iB jB kB lB BB mB nB"},J:{"2":"C A"},K:{"1":"L","2":"8 9 A B D x"},L:{"1":"g"},M:{"1":"v"},N:{"2":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:1,C:"navigator.hardwareConcurrency"}; diff --git a/publi/node_modules/caniuse-lite/data/features/hashchange.js b/publi/node_modules/caniuse-lite/data/features/hashchange.js deleted file mode 100644 index 9da9283..0000000 --- a/publi/node_modules/caniuse-lite/data/features/hashchange.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"G E A B","8":"K C CB"},B:{"1":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v SB","8":"1 VB TB"},D:{"1":"0 2 3 4 5 6 7 J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB","8":"F"},E:{"1":"J K C G E A B IB JB KB LB MB NB","8":"F GB AB"},F:{"1":"8 9 B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t RB UB x","8":"E OB PB QB"},G:{"1":"G WB BB YB ZB aB bB cB dB eB fB gB","2":"AB"},H:{"2":"hB"},I:{"1":"1 F g jB kB lB BB mB nB","2":"iB"},J:{"1":"C A"},K:{"1":"8 9 B D L x","8":"A"},L:{"1":"g"},M:{"1":"v"},N:{"1":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:1,C:"Hashchange event"}; diff --git a/publi/node_modules/caniuse-lite/data/features/heif.js b/publi/node_modules/caniuse-lite/data/features/heif.js deleted file mode 100644 index 19fedfb..0000000 --- a/publi/node_modules/caniuse-lite/data/features/heif.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"2":"D u Y I M H"},C:{"2":"0 1 2 3 4 5 6 7 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v TB SB"},D:{"2":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"2":"F J K C G E A GB AB IB JB KB LB MB","130":"B NB"},F:{"2":"8 9 E B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t OB PB QB RB UB x"},G:{"2":"G AB WB BB YB ZB aB bB cB dB eB fB","130":"gB"},H:{"2":"hB"},I:{"2":"1 F g iB jB kB lB BB mB nB"},J:{"2":"C A"},K:{"2":"8 9 A B D L x"},L:{"2":"g"},M:{"2":"v"},N:{"2":"A B"},O:{"2":"oB"},P:{"2":"F J pB"},Q:{"2":"qB"},R:{"2":"rB"}},B:6,C:"HEIF/ISO Base Media File Format"}; diff --git a/publi/node_modules/caniuse-lite/data/features/hevc.js b/publi/node_modules/caniuse-lite/data/features/hevc.js deleted file mode 100644 index 3ba5687..0000000 --- a/publi/node_modules/caniuse-lite/data/features/hevc.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A CB","132":"B"},B:{"132":"D u Y I M H"},C:{"2":"0 1 2 3 4 5 6 7 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v TB SB"},D:{"2":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"2":"F J K C G E A GB AB IB JB KB LB MB","513":"B NB"},F:{"2":"8 9 E B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t OB PB QB RB UB x"},G:{"1":"gB","2":"G AB WB BB YB ZB aB bB cB dB eB fB"},H:{"2":"hB"},I:{"2":"1 F iB jB kB lB BB mB nB","258":"g"},J:{"2":"C A"},K:{"2":"8 9 A B D L x"},L:{"258":"g"},M:{"2":"v"},N:{"2":"A B"},O:{"2":"oB"},P:{"2":"F","258":"J pB"},Q:{"2":"qB"},R:{"2":"rB"}},B:6,C:"HEVC/H.265 video format"}; diff --git a/publi/node_modules/caniuse-lite/data/features/hidden.js b/publi/node_modules/caniuse-lite/data/features/hidden.js deleted file mode 100644 index 6489658..0000000 --- a/publi/node_modules/caniuse-lite/data/features/hidden.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"B","2":"K C G E A CB"},B:{"1":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v","2":"1 VB TB SB"},D:{"1":"0 2 3 4 5 6 7 K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB","2":"F J"},E:{"1":"K C G E A B IB JB KB LB MB NB","2":"F J GB AB"},F:{"1":"8 9 D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t UB x","2":"E B OB PB QB RB"},G:{"1":"G YB ZB aB bB cB dB eB fB gB","2":"AB WB BB"},H:{"1":"hB"},I:{"1":"F g lB BB mB nB","2":"1 iB jB kB"},J:{"1":"A","2":"C"},K:{"1":"8 9 D L x","2":"A B"},L:{"1":"g"},M:{"1":"v"},N:{"1":"B","2":"A"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:1,C:"hidden attribute"}; diff --git a/publi/node_modules/caniuse-lite/data/features/high-resolution-time.js b/publi/node_modules/caniuse-lite/data/features/high-resolution-time.js deleted file mode 100644 index b024fff..0000000 --- a/publi/node_modules/caniuse-lite/data/features/high-resolution-time.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"A B","2":"K C G E CB"},B:{"1":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v","2":"1 VB F J K C G E A B D u Y TB SB"},D:{"1":"0 2 3 4 5 6 7 T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB","2":"F J K C G E A B D u Y I M H N O","33":"P Q R S"},E:{"1":"G E A B LB MB NB","2":"F J K C GB AB IB JB KB"},F:{"1":"I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t","2":"8 9 E B D OB PB QB RB UB x"},G:{"1":"G cB dB eB fB gB","2":"AB WB BB YB ZB aB bB"},H:{"2":"hB"},I:{"1":"g mB nB","2":"1 F iB jB kB lB BB"},J:{"1":"A","2":"C"},K:{"1":"L","2":"8 9 A B D x"},L:{"1":"g"},M:{"1":"v"},N:{"1":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:2,C:"High Resolution Time API"}; diff --git a/publi/node_modules/caniuse-lite/data/features/history.js b/publi/node_modules/caniuse-lite/data/features/history.js deleted file mode 100644 index 45e437f..0000000 --- a/publi/node_modules/caniuse-lite/data/features/history.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"A B","2":"K C G E CB"},B:{"1":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v","2":"1 VB TB SB"},D:{"1":"0 2 3 4 5 6 7 J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB","2":"F"},E:{"1":"K C G E A B JB KB LB MB NB","2":"F GB AB","4":"J IB"},F:{"1":"8 D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t UB x","2":"9 E B OB PB QB RB"},G:{"1":"G YB ZB aB bB cB dB eB fB gB","2":"AB WB","4":"BB"},H:{"2":"hB"},I:{"1":"g jB kB BB mB nB","2":"1 F iB lB"},J:{"1":"C A"},K:{"1":"8 9 D L x","2":"A B"},L:{"1":"g"},M:{"1":"v"},N:{"1":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:1,C:"Session history management"}; diff --git a/publi/node_modules/caniuse-lite/data/features/html-media-capture.js b/publi/node_modules/caniuse-lite/data/features/html-media-capture.js deleted file mode 100644 index cbbfa46..0000000 --- a/publi/node_modules/caniuse-lite/data/features/html-media-capture.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"2":"D u Y I M H"},C:{"2":"0 1 2 3 4 5 6 7 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v TB SB"},D:{"2":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"2":"F J K C G E A B GB AB IB JB KB LB MB NB"},F:{"2":"8 9 E B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t OB PB QB RB UB x"},G:{"2":"AB WB BB YB","129":"G ZB aB bB cB dB eB fB gB"},H:{"2":"hB"},I:{"1":"1 F g lB BB mB nB","2":"iB","257":"jB kB"},J:{"1":"A","16":"C"},K:{"1":"L","2":"8 9 A B D x"},L:{"1":"g"},M:{"2":"v"},N:{"2":"A B"},O:{"516":"oB"},P:{"1":"F J pB"},Q:{"16":"qB"},R:{"1":"rB"}},B:4,C:"HTML Media Capture"}; diff --git a/publi/node_modules/caniuse-lite/data/features/html5semantic.js b/publi/node_modules/caniuse-lite/data/features/html5semantic.js deleted file mode 100644 index a774577..0000000 --- a/publi/node_modules/caniuse-lite/data/features/html5semantic.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"CB","8":"K C G","260":"E A B"},B:{"1":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v","2":"VB","132":"1 TB SB","260":"F J K C G E A B D u Y I M H N O P"},D:{"1":"0 2 3 4 5 6 7 V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB","132":"F J","260":"K C G E A B D u Y I M H N O P Q R S T U"},E:{"1":"C G E A B JB KB LB MB NB","132":"F GB AB","260":"J K IB"},F:{"1":"I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t","132":"E B OB PB QB RB","260":"8 9 D UB x"},G:{"1":"G aB bB cB dB eB fB gB","132":"AB","260":"WB BB YB ZB"},H:{"132":"hB"},I:{"1":"g mB nB","132":"iB","260":"1 F jB kB lB BB"},J:{"260":"C A"},K:{"1":"L","132":"A","260":"8 9 B D x"},L:{"1":"g"},M:{"1":"v"},N:{"260":"A B"},O:{"260":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:1,C:"New semantic elements"}; diff --git a/publi/node_modules/caniuse-lite/data/features/http-live-streaming.js b/publi/node_modules/caniuse-lite/data/features/http-live-streaming.js deleted file mode 100644 index 0a6b995..0000000 --- a/publi/node_modules/caniuse-lite/data/features/http-live-streaming.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"1":"D u Y I M H"},C:{"2":"0 1 2 3 4 5 6 7 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v TB SB"},D:{"2":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"1":"K C G E A B JB KB LB MB NB","2":"F J GB AB IB"},F:{"2":"8 9 E B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t OB PB QB RB UB x"},G:{"1":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"2":"hB"},I:{"1":"1 F g lB BB mB nB","2":"iB jB kB"},J:{"1":"A","2":"C"},K:{"1":"L","2":"8 9 A B D x"},L:{"1":"g"},M:{"2":"v"},N:{"2":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:7,C:"HTTP Live Streaming (HLS)"}; diff --git a/publi/node_modules/caniuse-lite/data/features/http2.js b/publi/node_modules/caniuse-lite/data/features/http2.js deleted file mode 100644 index 568b767..0000000 --- a/publi/node_modules/caniuse-lite/data/features/http2.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A CB","388":"B"},B:{"257":"D u Y I M H"},C:{"2":"1 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e TB SB","257":"f L h i j k l m n o p q r s t y z","1281":"0 2 3 4 5 6 7 v"},D:{"2":"F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j","257":"k l m n o p q r s t","1281":"0 2 3 4 5 6 7 y z v HB g DB XB EB FB"},E:{"2":"F J K C G GB AB IB JB KB","772":"E A B LB MB NB"},F:{"2":"8 9 E B D I M H N O P Q R S T U V W OB PB QB RB UB x","257":"X w Z a b c d e f L","1281":"h i j k l m n o p q r s t"},G:{"2":"G AB WB BB YB ZB aB bB","257":"cB dB eB fB gB"},H:{"2":"hB"},I:{"2":"1 F iB jB kB lB BB mB nB","257":"g"},J:{"2":"C A"},K:{"2":"8 9 A B D x","257":"L"},L:{"1281":"g"},M:{"257":"v"},N:{"2":"A B"},O:{"2":"oB"},P:{"257":"F","1281":"J pB"},Q:{"1281":"qB"},R:{"257":"rB"}},B:6,C:"HTTP/2 protocol"}; diff --git a/publi/node_modules/caniuse-lite/data/features/iframe-sandbox.js b/publi/node_modules/caniuse-lite/data/features/iframe-sandbox.js deleted file mode 100644 index b2d1947..0000000 --- a/publi/node_modules/caniuse-lite/data/features/iframe-sandbox.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"A B","2":"K C G E CB"},B:{"1":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 X w Z a b c d e f L h i j k l m n o p q r s t y z v","2":"1 VB F J K C G E A B D u Y I M TB SB","4":"H N O P Q R S T U V W"},D:{"1":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"1":"J K C G E A B IB JB KB LB MB NB","2":"F GB AB"},F:{"1":"I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t","2":"8 9 E B D OB PB QB RB UB x"},G:{"1":"G BB YB ZB aB bB cB dB eB fB gB","2":"AB WB"},H:{"2":"hB"},I:{"1":"1 F g jB kB lB BB mB nB","2":"iB"},J:{"1":"C A"},K:{"1":"L","2":"8 9 A B D x"},L:{"1":"g"},M:{"1":"v"},N:{"1":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:1,C:"sandbox attribute for iframes"}; diff --git a/publi/node_modules/caniuse-lite/data/features/iframe-seamless.js b/publi/node_modules/caniuse-lite/data/features/iframe-seamless.js deleted file mode 100644 index c21b2f9..0000000 --- a/publi/node_modules/caniuse-lite/data/features/iframe-seamless.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"2":"D u Y I M H"},C:{"2":"1 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y TB SB","16":"0 2 3 4 5 6 7 z v"},D:{"2":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB","66":"P Q R S T U V"},E:{"2":"F J K G E A B GB AB IB JB LB MB NB","130":"C KB"},F:{"2":"8 9 E B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t OB PB QB RB UB x"},G:{"2":"G AB WB BB YB ZB bB cB dB eB fB gB","130":"aB"},H:{"2":"hB"},I:{"2":"1 F g iB jB kB lB BB mB nB"},J:{"2":"C A"},K:{"2":"8 9 A B D L x"},L:{"2":"g"},M:{"2":"v"},N:{"2":"A B"},O:{"1":"oB"},P:{"2":"F J pB"},Q:{"2":"qB"},R:{"2":"rB"}},B:7,C:"seamless attribute for iframes"}; diff --git a/publi/node_modules/caniuse-lite/data/features/iframe-srcdoc.js b/publi/node_modules/caniuse-lite/data/features/iframe-srcdoc.js deleted file mode 100644 index 0853f03..0000000 --- a/publi/node_modules/caniuse-lite/data/features/iframe-srcdoc.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"CB","8":"K C G E A B"},B:{"8":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v","2":"VB","8":"1 F J K C G E A B D u Y I M H N O P Q R S T TB SB"},D:{"1":"0 2 3 4 5 6 7 P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB","2":"F J K C G E A B D u","8":"Y I M H N O"},E:{"1":"K C G E A B JB KB LB MB NB","2":"GB AB","8":"F J IB"},F:{"1":"I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t","2":"E B OB PB QB RB","8":"8 9 D UB x"},G:{"1":"G ZB aB bB cB dB eB fB gB","2":"AB","8":"WB BB YB"},H:{"2":"hB"},I:{"1":"g mB nB","8":"1 F iB jB kB lB BB"},J:{"1":"A","8":"C"},K:{"1":"L","2":"A B","8":"8 9 D x"},L:{"1":"g"},M:{"1":"v"},N:{"8":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:1,C:"srcdoc attribute for iframes"}; diff --git a/publi/node_modules/caniuse-lite/data/features/imagecapture.js b/publi/node_modules/caniuse-lite/data/features/imagecapture.js deleted file mode 100644 index 2407fed..0000000 --- a/publi/node_modules/caniuse-lite/data/features/imagecapture.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"2":"D u Y I M H"},C:{"2":"1 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d TB SB","194":"0 2 3 4 5 6 7 e f L h i j k l m n o p q r s t y z v"},D:{"2":"F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z","322":"0 2 3 4 5 6 7 v HB g DB XB EB FB"},E:{"2":"F J K C G E A B GB AB IB JB KB LB MB NB"},F:{"2":"8 9 E B D I M H N O P Q R S T U V W X w Z a b c d e f L h i OB PB QB RB UB x","322":"j k l m n o p q r s t"},G:{"2":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"2":"hB"},I:{"2":"1 F g iB jB kB lB BB mB nB"},J:{"2":"C A"},K:{"2":"8 9 A B D L x"},L:{"1":"g"},M:{"2":"v"},N:{"2":"A B"},O:{"2":"oB"},P:{"1":"J pB","2":"F"},Q:{"322":"qB"},R:{"1":"rB"}},B:5,C:"ImageCapture API"}; diff --git a/publi/node_modules/caniuse-lite/data/features/ime.js b/publi/node_modules/caniuse-lite/data/features/ime.js deleted file mode 100644 index 63db397..0000000 --- a/publi/node_modules/caniuse-lite/data/features/ime.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A CB","161":"B"},B:{"161":"D u Y I M H"},C:{"2":"0 1 2 3 4 5 6 7 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v TB SB"},D:{"2":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"2":"F J K C G E A B GB AB IB JB KB LB MB NB"},F:{"2":"8 9 E B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t OB PB QB RB UB x"},G:{"2":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"2":"hB"},I:{"2":"1 F g iB jB kB lB BB mB nB"},J:{"2":"C A"},K:{"2":"8 9 A B D L x"},L:{"2":"g"},M:{"2":"v"},N:{"2":"A","161":"B"},O:{"2":"oB"},P:{"2":"F J pB"},Q:{"2":"qB"},R:{"2":"rB"}},B:5,C:"Input Method Editor API"}; diff --git a/publi/node_modules/caniuse-lite/data/features/img-naturalwidth-naturalheight.js b/publi/node_modules/caniuse-lite/data/features/img-naturalwidth-naturalheight.js deleted file mode 100644 index a29cbc5..0000000 --- a/publi/node_modules/caniuse-lite/data/features/img-naturalwidth-naturalheight.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"E A B","2":"K C G CB"},B:{"1":"D u Y I M H"},C:{"1":"0 1 2 3 4 5 6 7 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v TB SB"},D:{"1":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"1":"F J K C G E A B GB AB IB JB KB LB MB NB"},F:{"1":"8 9 E B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t OB PB QB RB UB x"},G:{"1":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"1":"hB"},I:{"1":"1 F g iB jB kB lB BB mB nB"},J:{"1":"C A"},K:{"1":"8 9 A B D L x"},L:{"1":"g"},M:{"1":"v"},N:{"1":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:1,C:"naturalWidth & naturalHeight image properties"}; diff --git a/publi/node_modules/caniuse-lite/data/features/imports.js b/publi/node_modules/caniuse-lite/data/features/imports.js deleted file mode 100644 index d167b93..0000000 --- a/publi/node_modules/caniuse-lite/data/features/imports.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E CB","8":"A B"},B:{"8":"D u Y I M H"},C:{"2":"1 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w TB SB","8":"Z a","200":"0 2 3 4 5 6 7 b c d e f L h i j k l m n o p q r s t y z v"},D:{"1":"0 2 3 4 5 6 7 f L h i j k l m n o p q r s t y z v HB g DB XB EB FB","2":"F J K C G E A B D u Y I M H N O P Q R S T U V W X w","322":"Z a b c d","584":"e"},E:{"2":"F J GB AB IB","8":"K C G E A B JB KB LB MB NB"},F:{"1":"S T U V W X w Z a b c d e f L h i j k l m n o p q r s t","2":"8 9 E B D I M OB PB QB RB UB x","1090":"H N O P Q","2120":"R"},G:{"2":"AB WB BB YB ZB","8":"G aB bB cB dB eB fB gB"},H:{"2":"hB"},I:{"1":"g","2":"1 F iB jB kB lB BB mB nB"},J:{"2":"C A"},K:{"1":"L","2":"8 9 A B D x"},L:{"1":"g"},M:{"8":"v"},N:{"2":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:5,C:"HTML Imports"}; diff --git a/publi/node_modules/caniuse-lite/data/features/indeterminate-checkbox.js b/publi/node_modules/caniuse-lite/data/features/indeterminate-checkbox.js deleted file mode 100644 index 5183f74..0000000 --- a/publi/node_modules/caniuse-lite/data/features/indeterminate-checkbox.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"K C G E A B","16":"CB"},B:{"1":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v SB","2":"1 VB","16":"TB"},D:{"1":"0 2 3 4 5 6 7 X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB","2":"F J K C G E A B D u Y I M H N O P Q R S T U V W"},E:{"1":"K C G E A B JB KB LB MB NB","2":"F J GB AB IB"},F:{"1":"D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t UB x","2":"8 9 E B OB PB QB RB"},G:{"2":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"2":"hB"},I:{"1":"g mB nB","2":"1 F iB jB kB lB BB"},J:{"2":"C A"},K:{"1":"L","2":"8 9 A B D x"},L:{"1":"g"},M:{"1":"v"},N:{"1":"A B"},O:{"2":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:1,C:"indeterminate checkbox"}; diff --git a/publi/node_modules/caniuse-lite/data/features/indexeddb.js b/publi/node_modules/caniuse-lite/data/features/indexeddb.js deleted file mode 100644 index f49cbc8..0000000 --- a/publi/node_modules/caniuse-lite/data/features/indexeddb.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E CB","132":"A B"},B:{"132":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v","2":"1 VB TB SB","33":"A B D u Y I","36":"F J K C G E"},D:{"1":"0 2 3 4 5 6 7 T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB","2":"A","8":"F J K C G E","33":"S","36":"B D u Y I M H N O P Q R"},E:{"1":"A B MB NB","8":"F J K C GB AB IB JB","260":"G E KB LB"},F:{"1":"I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t","2":"E OB PB","8":"8 9 B D QB RB UB x"},G:{"1":"eB fB gB","8":"AB WB BB YB ZB aB","260":"G bB cB dB"},H:{"2":"hB"},I:{"1":"g mB nB","8":"1 F iB jB kB lB BB"},J:{"1":"A","8":"C"},K:{"1":"L","2":"A","8":"8 9 B D x"},L:{"1":"g"},M:{"1":"v"},N:{"132":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:2,C:"IndexedDB"}; diff --git a/publi/node_modules/caniuse-lite/data/features/indexeddb2.js b/publi/node_modules/caniuse-lite/data/features/indexeddb2.js deleted file mode 100644 index b639827..0000000 --- a/publi/node_modules/caniuse-lite/data/features/indexeddb2.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"2":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 y z v","2":"1 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m TB SB","132":"n o p","260":"q r s t"},D:{"1":"5 6 7 HB g DB XB EB FB","2":"F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q","132":"r s t y","260":"0 2 3 4 z v"},E:{"1":"B MB NB","2":"F J K C G E A GB AB IB JB KB LB"},F:{"1":"o p q r s t","2":"8 9 E B D I M H N O P Q R S T U V W X w Z a b c d OB PB QB RB UB x","132":"e f L h","260":"i j k l m n"},G:{"1":"fB gB","2":"G AB WB BB YB ZB aB bB cB dB","16":"eB"},H:{"2":"hB"},I:{"1":"g","2":"1 F iB jB kB lB BB mB nB"},J:{"2":"C A"},K:{"2":"8 9 A B D x","132":"L"},L:{"1":"g"},M:{"1":"v"},N:{"2":"A B"},O:{"2":"oB"},P:{"2":"F","260":"J pB"},Q:{"2":"qB"},R:{"2":"rB"}},B:4,C:"IndexedDB 2.0"}; diff --git a/publi/node_modules/caniuse-lite/data/features/inline-block.js b/publi/node_modules/caniuse-lite/data/features/inline-block.js deleted file mode 100644 index c0dd6c3..0000000 --- a/publi/node_modules/caniuse-lite/data/features/inline-block.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"G E A B","4":"CB","132":"K C"},B:{"1":"D u Y I M H"},C:{"1":"0 1 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v TB SB","36":"VB"},D:{"1":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"1":"F J K C G E A B GB AB IB JB KB LB MB NB"},F:{"1":"8 9 E B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t OB PB QB RB UB x"},G:{"1":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"1":"hB"},I:{"1":"1 F g iB jB kB lB BB mB nB"},J:{"1":"C A"},K:{"1":"8 9 A B D L x"},L:{"1":"g"},M:{"1":"v"},N:{"1":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:2,C:"CSS inline-block"}; diff --git a/publi/node_modules/caniuse-lite/data/features/innertext.js b/publi/node_modules/caniuse-lite/data/features/innertext.js deleted file mode 100644 index 0a18cb2..0000000 --- a/publi/node_modules/caniuse-lite/data/features/innertext.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"K C G E A B","16":"CB"},B:{"1":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 o p q r s t y z v","2":"1 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n TB SB"},D:{"1":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"1":"F J K C G E A B AB IB JB KB LB MB NB","16":"GB"},F:{"1":"8 9 B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t OB PB QB RB UB x","16":"E"},G:{"1":"G WB BB YB ZB aB bB cB dB eB fB gB","16":"AB"},H:{"1":"hB"},I:{"1":"1 F g kB lB BB mB nB","16":"iB jB"},J:{"1":"C A"},K:{"1":"8 9 A B D L x"},L:{"1":"g"},M:{"1":"v"},N:{"1":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:1,C:"Node.innerText"}; diff --git a/publi/node_modules/caniuse-lite/data/features/input-autocomplete-onoff.js b/publi/node_modules/caniuse-lite/data/features/input-autocomplete-onoff.js deleted file mode 100644 index 013effc..0000000 --- a/publi/node_modules/caniuse-lite/data/features/input-autocomplete-onoff.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"K C G E A CB","132":"B"},B:{"132":"D u Y I M H"},C:{"1":"1 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w TB SB","516":"0 2 3 4 5 6 7 Z a b c d e f L h i j k l m n o p q r s t y z v"},D:{"1":"H N O P Q R S T U V","2":"F J K C G E A B D u Y I M","132":"W X w Z a b c d e f L h i j","260":"0 2 3 4 5 6 7 k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"1":"K IB JB","2":"F J GB AB","2052":"C G E A B KB LB MB NB"},F:{"1":"8 9 E B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t OB PB QB RB UB x"},G:{"2":"AB WB BB","1025":"G YB ZB aB bB cB dB eB fB gB"},H:{"1025":"hB"},I:{"1":"1 F g iB jB kB lB BB mB nB"},J:{"1":"C A"},K:{"1":"8 9 A B D L x"},L:{"1":"g"},M:{"1":"v"},N:{"2052":"A B"},O:{"1025":"oB"},P:{"1":"F J pB"},Q:{"260":"qB"},R:{"1":"rB"}},B:1,C:"autocomplete attribute: on & off values"}; diff --git a/publi/node_modules/caniuse-lite/data/features/input-color.js b/publi/node_modules/caniuse-lite/data/features/input-color.js deleted file mode 100644 index 43681b1..0000000 --- a/publi/node_modules/caniuse-lite/data/features/input-color.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"1":"Y I M H","2":"D u"},C:{"1":"0 2 3 4 5 6 7 w Z a b c d e f L h i j k l m n o p q r s t y z v","2":"1 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X TB SB"},D:{"1":"0 2 3 4 5 6 7 P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB","2":"F J K C G E A B D u Y I M H N O"},E:{"1":"B NB","2":"F J K C G E A GB AB IB JB KB LB MB"},F:{"1":"8 9 B D H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t UB x","2":"E I M OB PB QB RB"},G:{"2":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"2":"hB"},I:{"1":"g mB nB","2":"1 F iB jB kB lB BB"},J:{"1":"C A"},K:{"1":"8 9 A B D L x"},L:{"1":"g"},M:{"1":"v"},N:{"2":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:1,C:"Color input type"}; diff --git a/publi/node_modules/caniuse-lite/data/features/input-datetime.js b/publi/node_modules/caniuse-lite/data/features/input-datetime.js deleted file mode 100644 index 8e33b28..0000000 --- a/publi/node_modules/caniuse-lite/data/features/input-datetime.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"1":"u Y I M H","132":"D"},C:{"1":"5 6 7 v","2":"1 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z TB SB","1090":"0 2 3 4"},D:{"1":"0 2 3 4 5 6 7 P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB","2":"F J K C G E A B D u Y I M H N O"},E:{"2":"F J K C G E A B GB AB IB JB KB LB MB NB"},F:{"1":"8 9 E B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t OB PB QB RB UB x"},G:{"2":"AB WB BB","260":"G YB ZB aB bB cB dB eB fB gB"},H:{"2":"hB"},I:{"1":"g mB nB","2":"1 iB jB kB","514":"F lB BB"},J:{"1":"A","2":"C"},K:{"1":"8 9 A B D L x"},L:{"1":"g"},M:{"1":"v"},N:{"2":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:1,C:"Date and time input types"}; diff --git a/publi/node_modules/caniuse-lite/data/features/input-email-tel-url.js b/publi/node_modules/caniuse-lite/data/features/input-email-tel-url.js deleted file mode 100644 index 96eccff..0000000 --- a/publi/node_modules/caniuse-lite/data/features/input-email-tel-url.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"A B","2":"K C G E CB"},B:{"1":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v","2":"1 VB TB SB"},D:{"1":"0 2 3 4 5 6 7 J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB","2":"F"},E:{"1":"J K C G E A B IB JB KB LB MB NB","2":"F GB AB"},F:{"1":"8 9 B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t OB PB QB RB UB x","2":"E"},G:{"1":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"2":"hB"},I:{"1":"1 F g lB BB mB nB","132":"iB jB kB"},J:{"1":"A","132":"C"},K:{"1":"8 9 A B D L x"},L:{"1":"g"},M:{"1":"v"},N:{"1":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:1,C:"Email, telephone & URL input types"}; diff --git a/publi/node_modules/caniuse-lite/data/features/input-event.js b/publi/node_modules/caniuse-lite/data/features/input-event.js deleted file mode 100644 index 514c184..0000000 --- a/publi/node_modules/caniuse-lite/data/features/input-event.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G CB","2561":"A B","2692":"E"},B:{"2561":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 s t y z v","16":"VB","1537":"F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r SB","1796":"1 TB"},D:{"16":"F J K C G E A B D u Y","1025":"0 2 3 4 5 6 7 e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB","1537":"I M H N O P Q R S T U V W X w Z a b c d"},E:{"16":"F J K GB AB","1025":"C G E A B JB KB LB MB NB","1537":"IB"},F:{"1":"x","16":"8 9 E B D OB PB QB RB","260":"UB","1025":"R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t","1537":"I M H N O P Q"},G:{"16":"AB WB BB","1025":"G bB cB dB eB fB gB","1537":"YB ZB aB"},H:{"2":"hB"},I:{"16":"iB jB","1025":"g nB","1537":"1 F kB lB BB mB"},J:{"1025":"A","1537":"C"},K:{"1":"8 9 A B D x","1025":"L"},L:{"1025":"g"},M:{"1537":"v"},N:{"2561":"A B"},O:{"1537":"oB"},P:{"1025":"F J pB"},Q:{"1025":"qB"},R:{"1025":"rB"}},B:1,C:"input event"}; diff --git a/publi/node_modules/caniuse-lite/data/features/input-file-accept.js b/publi/node_modules/caniuse-lite/data/features/input-file-accept.js deleted file mode 100644 index e2ab878..0000000 --- a/publi/node_modules/caniuse-lite/data/features/input-file-accept.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"A B","2":"K C G E CB"},B:{"2":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 L h i j k l m n o p q r s t y z v","2":"1 VB TB SB","132":"F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f"},D:{"1":"0 2 3 4 5 6 7 V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB","2":"F","16":"J K C G Q R S T U","132":"E A B D u Y I M H N O P"},E:{"1":"NB","2":"F J GB AB IB","132":"K C G E A B JB KB LB MB"},F:{"1":"I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t","2":"8 9 E B D OB PB QB RB UB x"},G:{"2":"ZB aB","132":"G bB cB dB eB fB gB","514":"AB WB BB YB"},H:{"2":"hB"},I:{"2":"iB jB kB","260":"1 F lB BB","514":"g mB nB"},J:{"132":"A","260":"C"},K:{"2":"8 9 A B D x","260":"L"},L:{"260":"g"},M:{"2":"v"},N:{"514":"A","1028":"B"},O:{"2":"oB"},P:{"260":"F J pB"},Q:{"1":"qB"},R:{"260":"rB"}},B:1,C:"accept attribute for file input"}; diff --git a/publi/node_modules/caniuse-lite/data/features/input-file-directory.js b/publi/node_modules/caniuse-lite/data/features/input-file-directory.js deleted file mode 100644 index 00ac0b8..0000000 --- a/publi/node_modules/caniuse-lite/data/features/input-file-directory.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"1":"Y I M H","2":"D u"},C:{"1":"0 2 3 4 5 6 7 t y z v","2":"1 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s TB SB"},D:{"1":"0 2 3 4 5 6 7 Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB","2":"F J K C G E A B D u Y I M H N O P Q R S T U V W X w"},E:{"1":"NB","2":"F J K C G E A B GB AB IB JB KB LB MB"},F:{"1":"H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t","2":"8 9 E B D I M OB PB QB RB UB x"},G:{"2":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"2":"hB"},I:{"2":"1 F g iB jB kB lB BB mB nB"},J:{"2":"C A"},K:{"2":"8 9 A B D L x"},L:{"2":"g"},M:{"2":"v"},N:{"2":"A B"},O:{"2":"oB"},P:{"2":"F J pB"},Q:{"2":"qB"},R:{"2":"rB"}},B:7,C:"Directory selection from file input"}; diff --git a/publi/node_modules/caniuse-lite/data/features/input-file-multiple.js b/publi/node_modules/caniuse-lite/data/features/input-file-multiple.js deleted file mode 100644 index 30854ae..0000000 --- a/publi/node_modules/caniuse-lite/data/features/input-file-multiple.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"A B","2":"K C G E CB"},B:{"1":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v SB","2":"1 VB TB"},D:{"1":"0 2 3 4 5 6 7 J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB","2":"F"},E:{"1":"F J K C G E A B IB JB KB LB MB NB","2":"GB AB"},F:{"1":"8 9 B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t RB UB x","2":"E OB PB QB"},G:{"1":"G ZB aB bB cB dB eB fB gB","2":"AB WB BB YB"},H:{"130":"hB"},I:{"130":"1 F g iB jB kB lB BB mB nB"},J:{"2":"C A"},K:{"130":"8 9 A B D L x"},L:{"132":"g"},M:{"130":"v"},N:{"2":"A B"},O:{"130":"oB"},P:{"130":"F","132":"J pB"},Q:{"1":"qB"},R:{"132":"rB"}},B:1,C:"Multiple file selection"}; diff --git a/publi/node_modules/caniuse-lite/data/features/input-inputmode.js b/publi/node_modules/caniuse-lite/data/features/input-inputmode.js deleted file mode 100644 index 53dcb58..0000000 --- a/publi/node_modules/caniuse-lite/data/features/input-inputmode.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"2":"D u Y I M H"},C:{"2":"1 VB F J K C G E A B D u Y I M TB SB","4":"H N O P","194":"0 2 3 4 5 6 7 Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v"},D:{"2":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"2":"F J K C G E A B GB AB IB JB KB LB MB NB"},F:{"2":"8 9 E B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t OB PB QB RB UB x"},G:{"2":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"2":"hB"},I:{"2":"1 F g iB jB kB lB BB mB nB"},J:{"2":"C A"},K:{"2":"8 9 A B D L x"},L:{"2":"g"},M:{"194":"v"},N:{"2":"A B"},O:{"2":"oB"},P:{"2":"F J pB"},Q:{"2":"qB"},R:{"2":"rB"}},B:1,C:"inputmode attribute"}; diff --git a/publi/node_modules/caniuse-lite/data/features/input-minlength.js b/publi/node_modules/caniuse-lite/data/features/input-minlength.js deleted file mode 100644 index 2841a3f..0000000 --- a/publi/node_modules/caniuse-lite/data/features/input-minlength.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"2":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 y z v","2":"1 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t TB SB"},D:{"1":"0 2 3 4 5 6 7 j k l m n o p q r s t y z v HB g DB XB EB FB","2":"F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i"},E:{"1":"B MB NB","2":"F J K C G E A GB AB IB JB KB LB"},F:{"1":"W X w Z a b c d e f L h i j k l m n o p q r s t","2":"8 9 E B D I M H N O P Q R S T U V OB PB QB RB UB x"},G:{"1":"fB gB","2":"G AB WB BB YB ZB aB bB cB dB eB"},H:{"2":"hB"},I:{"1":"g","2":"1 F iB jB kB lB BB mB nB"},J:{"2":"C A"},K:{"1":"L","2":"8 9 A B D x"},L:{"1":"g"},M:{"1":"v"},N:{"2":"A B"},O:{"2":"oB"},P:{"1":"J pB","2":"F"},Q:{"2":"qB"},R:{"1":"rB"}},B:1,C:"Minimum length attribute for input fields"}; diff --git a/publi/node_modules/caniuse-lite/data/features/input-number.js b/publi/node_modules/caniuse-lite/data/features/input-number.js deleted file mode 100644 index d9c6c56..0000000 --- a/publi/node_modules/caniuse-lite/data/features/input-number.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E CB","129":"A B"},B:{"129":"D u","1025":"Y I M H"},C:{"2":"1 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X TB SB","513":"0 2 3 4 5 6 7 w Z a b c d e f L h i j k l m n o p q r s t y z v"},D:{"1":"0 2 3 4 5 6 7 K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB","2":"F J"},E:{"1":"J K C G E A B IB JB KB LB MB NB","2":"F GB AB"},F:{"1":"8 9 E B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t OB PB QB RB UB x"},G:{"388":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"2":"hB"},I:{"2":"1 iB jB kB","388":"F g lB BB mB nB"},J:{"2":"C","388":"A"},K:{"1":"8 9 A B D x","388":"L"},L:{"388":"g"},M:{"641":"v"},N:{"388":"A B"},O:{"388":"oB"},P:{"388":"F J pB"},Q:{"1":"qB"},R:{"388":"rB"}},B:1,C:"Number input type"}; diff --git a/publi/node_modules/caniuse-lite/data/features/input-pattern.js b/publi/node_modules/caniuse-lite/data/features/input-pattern.js deleted file mode 100644 index 1f8321c..0000000 --- a/publi/node_modules/caniuse-lite/data/features/input-pattern.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"A B","2":"K C G E CB"},B:{"1":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v","2":"1 VB TB SB"},D:{"1":"0 2 3 4 5 6 7 A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB","2":"F J K C G E"},E:{"1":"B MB NB","2":"F GB AB","16":"J","388":"K C G E A IB JB KB LB"},F:{"1":"8 9 B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t OB PB QB RB UB x","2":"E"},G:{"1":"fB gB","16":"AB WB BB","388":"G YB ZB aB bB cB dB eB"},H:{"2":"hB"},I:{"1":"g nB","2":"1 F iB jB kB lB BB mB"},J:{"1":"A","2":"C"},K:{"1":"8 9 A B D x","132":"L"},L:{"1":"g"},M:{"1":"v"},N:{"132":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:1,C:"Pattern attribute for input fields"}; diff --git a/publi/node_modules/caniuse-lite/data/features/input-placeholder.js b/publi/node_modules/caniuse-lite/data/features/input-placeholder.js deleted file mode 100644 index 567a6e5..0000000 --- a/publi/node_modules/caniuse-lite/data/features/input-placeholder.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"A B","2":"K C G E CB"},B:{"1":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v","2":"1 VB TB SB"},D:{"1":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"1":"J K C G E A B IB JB KB LB MB NB","132":"F GB AB"},F:{"1":"8 D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t UB x","2":"E OB PB QB RB","132":"9 B"},G:{"1":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"1":"hB"},I:{"1":"1 g iB jB kB BB mB nB","4":"F lB"},J:{"1":"C A"},K:{"1":"8 9 B D L x","2":"A"},L:{"1":"g"},M:{"1":"v"},N:{"1":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:1,C:"input placeholder attribute"}; diff --git a/publi/node_modules/caniuse-lite/data/features/input-range.js b/publi/node_modules/caniuse-lite/data/features/input-range.js deleted file mode 100644 index 1cf3d07..0000000 --- a/publi/node_modules/caniuse-lite/data/features/input-range.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"A B","2":"K C G E CB"},B:{"1":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v","2":"1 VB F J K C G E A B D u Y I M H N O P Q R TB SB"},D:{"1":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"1":"F J K C G E A B GB AB IB JB KB LB MB NB"},F:{"1":"8 9 E B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t OB PB QB RB UB x"},G:{"1":"G YB ZB aB bB cB dB eB fB gB","2":"AB WB BB"},H:{"2":"hB"},I:{"1":"g BB mB nB","4":"1 F iB jB kB lB"},J:{"1":"C A"},K:{"1":"8 9 A B D L x"},L:{"1":"g"},M:{"1":"v"},N:{"1":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:1,C:"Range input type"}; diff --git a/publi/node_modules/caniuse-lite/data/features/input-search.js b/publi/node_modules/caniuse-lite/data/features/input-search.js deleted file mode 100644 index d51e04e..0000000 --- a/publi/node_modules/caniuse-lite/data/features/input-search.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E CB","129":"A B"},B:{"129":"D u Y I M H"},C:{"2":"1 VB TB SB","129":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v"},D:{"1":"0 2 3 4 5 6 7 V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB","16":"F J K C G E A B D u Y Q R S T U","129":"I M H N O P"},E:{"1":"K C G E A B IB JB KB LB MB NB","16":"F J GB AB"},F:{"1":"D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t UB x","2":"E OB PB QB RB","16":"8 9 B"},G:{"1":"G YB ZB aB bB cB dB eB fB gB","16":"AB WB BB"},H:{"129":"hB"},I:{"1":"g mB nB","16":"iB jB","129":"1 F kB lB BB"},J:{"1":"C","129":"A"},K:{"1":"D","2":"A","16":"8 9 B","129":"L x"},L:{"1":"g"},M:{"129":"v"},N:{"129":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:1,C:"Search input type"}; diff --git a/publi/node_modules/caniuse-lite/data/features/input-selection.js b/publi/node_modules/caniuse-lite/data/features/input-selection.js deleted file mode 100644 index 52016ae..0000000 --- a/publi/node_modules/caniuse-lite/data/features/input-selection.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"E A B","2":"K C G CB"},B:{"1":"D u Y I M H"},C:{"1":"0 1 2 3 4 5 6 7 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v TB SB"},D:{"1":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"1":"F J K C G E A B IB JB KB LB MB NB","16":"GB AB"},F:{"1":"8 9 B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t RB UB x","16":"E OB PB QB"},G:{"1":"G WB BB YB ZB aB bB cB dB eB fB gB","16":"AB"},H:{"2":"hB"},I:{"1":"1 F g iB jB kB lB BB mB nB"},J:{"1":"C A"},K:{"1":"8 9 A B D L x"},L:{"1":"g"},M:{"1":"v"},N:{"1":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:1,C:"Selection controls for input & textarea"}; diff --git a/publi/node_modules/caniuse-lite/data/features/insert-adjacent.js b/publi/node_modules/caniuse-lite/data/features/insert-adjacent.js deleted file mode 100644 index 1ee596a..0000000 --- a/publi/node_modules/caniuse-lite/data/features/insert-adjacent.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"K C G E A B","16":"CB"},B:{"1":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 r s t y z v","2":"1 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q TB SB"},D:{"1":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"1":"F J K C G E A B GB AB IB JB KB LB MB NB"},F:{"1":"8 9 B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t OB PB QB RB UB x","16":"E"},G:{"1":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"1":"hB"},I:{"1":"1 F g kB lB BB mB nB","16":"iB jB"},J:{"1":"C A"},K:{"1":"8 9 A B D L x"},L:{"1":"g"},M:{"1":"v"},N:{"1":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:1,C:"Element.insertAdjacentElement() & Element.insertAdjacentText()"}; diff --git a/publi/node_modules/caniuse-lite/data/features/insertadjacenthtml.js b/publi/node_modules/caniuse-lite/data/features/insertadjacenthtml.js deleted file mode 100644 index df9c472..0000000 --- a/publi/node_modules/caniuse-lite/data/features/insertadjacenthtml.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"A B","16":"CB","132":"K C G E"},B:{"1":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v","2":"1 VB F J K C TB SB"},D:{"1":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"1":"F J K C G E A B IB JB KB LB MB NB","2":"GB AB"},F:{"1":"8 9 B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t PB QB RB UB x","16":"E OB"},G:{"1":"G WB BB YB ZB aB bB cB dB eB fB gB","16":"AB"},H:{"1":"hB"},I:{"1":"1 F g kB lB BB mB nB","16":"iB jB"},J:{"1":"C A"},K:{"1":"8 9 A B D L x"},L:{"1":"g"},M:{"1":"v"},N:{"1":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:4,C:"Element.insertAdjacentHTML()"}; diff --git a/publi/node_modules/caniuse-lite/data/features/internationalization.js b/publi/node_modules/caniuse-lite/data/features/internationalization.js deleted file mode 100644 index a1cbae6..0000000 --- a/publi/node_modules/caniuse-lite/data/features/internationalization.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"B","2":"K C G E A CB"},B:{"1":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 w Z a b c d e f L h i j k l m n o p q r s t y z v","2":"1 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X TB SB"},D:{"1":"0 2 3 4 5 6 7 T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB","2":"F J K C G E A B D u Y I M H N O P Q R S"},E:{"1":"A B MB NB","2":"F J K C G E GB AB IB JB KB LB"},F:{"1":"I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t","2":"8 9 E B D OB PB QB RB UB x"},G:{"1":"eB fB gB","2":"G AB WB BB YB ZB aB bB cB dB"},H:{"2":"hB"},I:{"1":"g mB nB","2":"1 F iB jB kB lB BB"},J:{"2":"C A"},K:{"1":"L","2":"8 9 A B D x"},L:{"1":"g"},M:{"1":"v"},N:{"1":"B","2":"A"},O:{"2":"oB"},P:{"1":"F J pB"},Q:{"2":"qB"},R:{"1":"rB"}},B:6,C:"Internationalization API"}; diff --git a/publi/node_modules/caniuse-lite/data/features/intersectionobserver.js b/publi/node_modules/caniuse-lite/data/features/intersectionobserver.js deleted file mode 100644 index 0353bc3..0000000 --- a/publi/node_modules/caniuse-lite/data/features/intersectionobserver.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"1":"I M H","2":"D u Y"},C:{"1":"2 3 5 6 7 v","2":"1 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y TB SB","194":"0 4 z"},D:{"1":"0 2 3 4 5 6 7 y z v HB g DB XB EB FB","2":"F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t"},E:{"2":"F J K C G E A B GB AB IB JB KB LB MB NB"},F:{"1":"h i j k l m n o p q r s t","2":"8 9 E B D I M H N O P Q R S T U V W X w Z a b c d e f L OB PB QB RB UB x"},G:{"2":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"2":"hB"},I:{"1":"g","2":"1 F iB jB kB lB BB mB nB"},J:{"2":"C A"},K:{"1":"L","2":"8 9 A B D x"},L:{"1":"g"},M:{"1":"v"},N:{"2":"A B"},O:{"2":"oB"},P:{"1":"J pB","2":"F"},Q:{"2":"qB"},R:{"2":"rB"}},B:7,C:"IntersectionObserver"}; diff --git a/publi/node_modules/caniuse-lite/data/features/intrinsic-width.js b/publi/node_modules/caniuse-lite/data/features/intrinsic-width.js deleted file mode 100644 index a44edcc..0000000 --- a/publi/node_modules/caniuse-lite/data/features/intrinsic-width.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"2":"D u Y I M H"},C:{"2":"VB","932":"0 1 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v TB SB"},D:{"2":"F J K C G E A B D u Y I M H N O P Q","545":"R S T U V W X w Z a b c d e f L h i j k l m n o","1537":"0 2 3 4 5 6 7 p q r s t y z v HB g DB XB EB FB"},E:{"2":"F J K GB AB IB","516":"B NB","548":"E A LB MB","676":"C G JB KB"},F:{"2":"8 9 E B D OB PB QB RB UB x","513":"d","545":"I M H N O P Q R S T U V W X w Z a b","1537":"c e f L h i j k l m n o p q r s t"},G:{"2":"AB WB BB YB ZB","548":"cB dB eB fB gB","676":"G aB bB"},H:{"2":"hB"},I:{"2":"1 F iB jB kB lB BB","545":"mB nB","1537":"g"},J:{"2":"C","545":"A"},K:{"2":"8 9 A B D x","1537":"L"},L:{"1537":"g"},M:{"932":"v"},N:{"2":"A B"},O:{"545":"oB"},P:{"545":"F","1537":"J pB"},Q:{"545":"qB"},R:{"1537":"rB"}},B:5,C:"Intrinsic & Extrinsic Sizing"}; diff --git a/publi/node_modules/caniuse-lite/data/features/jpeg2000.js b/publi/node_modules/caniuse-lite/data/features/jpeg2000.js deleted file mode 100644 index d4f3af3..0000000 --- a/publi/node_modules/caniuse-lite/data/features/jpeg2000.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"2":"D u Y I M H"},C:{"2":"0 1 2 3 4 5 6 7 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v TB SB"},D:{"2":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"1":"K C G E A B JB KB LB MB NB","2":"F GB AB","129":"J IB"},F:{"2":"8 9 E B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t OB PB QB RB UB x"},G:{"1":"G YB ZB aB bB cB dB eB fB gB","2":"AB WB BB"},H:{"2":"hB"},I:{"2":"1 F g iB jB kB lB BB mB nB"},J:{"2":"C A"},K:{"2":"8 9 A B D L x"},L:{"2":"g"},M:{"2":"v"},N:{"2":"A B"},O:{"2":"oB"},P:{"2":"F J pB"},Q:{"2":"qB"},R:{"2":"rB"}},B:6,C:"JPEG 2000 image format"}; diff --git a/publi/node_modules/caniuse-lite/data/features/jpegxr.js b/publi/node_modules/caniuse-lite/data/features/jpegxr.js deleted file mode 100644 index d4844fd..0000000 --- a/publi/node_modules/caniuse-lite/data/features/jpegxr.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"E A B","2":"K C G CB"},B:{"1":"D u Y I M H"},C:{"2":"0 1 2 3 4 5 6 7 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v TB SB"},D:{"2":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"2":"F J K C G E A B GB AB IB JB KB LB MB NB"},F:{"2":"8 9 E B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t OB PB QB RB UB x"},G:{"2":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"2":"hB"},I:{"2":"1 F g iB jB kB lB BB mB nB"},J:{"2":"C A"},K:{"2":"8 9 A B D L x"},L:{"2":"g"},M:{"2":"v"},N:{"1":"A B"},O:{"2":"oB"},P:{"2":"F J pB"},Q:{"2":"qB"},R:{"2":"rB"}},B:6,C:"JPEG XR image format"}; diff --git a/publi/node_modules/caniuse-lite/data/features/json.js b/publi/node_modules/caniuse-lite/data/features/json.js deleted file mode 100644 index d3202ca..0000000 --- a/publi/node_modules/caniuse-lite/data/features/json.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"E A B","2":"K C CB","129":"G"},B:{"1":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v TB SB","2":"1 VB"},D:{"1":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"1":"F J K C G E A B IB JB KB LB MB NB","2":"GB AB"},F:{"1":"8 9 B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t QB RB UB x","2":"E OB PB"},G:{"1":"G WB BB YB ZB aB bB cB dB eB fB gB","2":"AB"},H:{"1":"hB"},I:{"1":"1 F g iB jB kB lB BB mB nB"},J:{"1":"C A"},K:{"1":"8 9 A B D L x"},L:{"1":"g"},M:{"1":"v"},N:{"1":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:6,C:"JSON parsing"}; diff --git a/publi/node_modules/caniuse-lite/data/features/kerning-pairs-ligatures.js b/publi/node_modules/caniuse-lite/data/features/kerning-pairs-ligatures.js deleted file mode 100644 index 60ff29a..0000000 --- a/publi/node_modules/caniuse-lite/data/features/kerning-pairs-ligatures.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"2":"D u Y I M H"},C:{"1":"0 1 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v TB SB","2":"VB"},D:{"1":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"1":"J K C G E A B IB JB KB LB MB NB","2":"F GB AB"},F:{"1":"I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t","2":"8 9 E B D OB PB QB RB UB x"},G:{"1":"G BB YB ZB aB bB cB dB eB fB gB","16":"AB WB"},H:{"2":"hB"},I:{"1":"g mB nB","2":"iB jB kB","132":"1 F lB BB"},J:{"1":"A","2":"C"},K:{"1":"L","2":"8 9 A B D x"},L:{"1":"g"},M:{"1":"v"},N:{"2":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:7,C:"Improved kerning pairs & ligatures"}; diff --git a/publi/node_modules/caniuse-lite/data/features/keyboardevent-charcode.js b/publi/node_modules/caniuse-lite/data/features/keyboardevent-charcode.js deleted file mode 100644 index b347657..0000000 --- a/publi/node_modules/caniuse-lite/data/features/keyboardevent-charcode.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"E A B","2":"K C G CB"},B:{"1":"D u Y I M H"},C:{"1":"0 1 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v TB SB","16":"VB"},D:{"1":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"1":"F J K C G E A B IB JB KB LB MB NB","16":"GB AB"},F:{"1":"I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t x","2":"8 9 E B OB PB QB RB UB","16":"D"},G:{"1":"G YB ZB aB bB cB dB eB fB gB","16":"AB WB BB"},H:{"2":"hB"},I:{"1":"1 F g kB lB BB mB nB","16":"iB jB"},J:{"1":"C A"},K:{"1":"x","2":"8 9 A B","16":"D","130":"L"},L:{"1":"g"},M:{"130":"v"},N:{"130":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:7,C:"KeyboardEvent.charCode"}; diff --git a/publi/node_modules/caniuse-lite/data/features/keyboardevent-code.js b/publi/node_modules/caniuse-lite/data/features/keyboardevent-code.js deleted file mode 100644 index ae65566..0000000 --- a/publi/node_modules/caniuse-lite/data/features/keyboardevent-code.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"2":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 h i j k l m n o p q r s t y z v","2":"1 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L TB SB"},D:{"1":"0 2 3 4 5 6 7 r s t y z v HB g DB XB EB FB","2":"F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k","194":"l m n o p q"},E:{"1":"B MB NB","2":"F J K C G E A GB AB IB JB KB LB"},F:{"1":"e f L h i j k l m n o p q r s t","2":"8 9 E B D I M H N O P Q R S T U V W X OB PB QB RB UB x","194":"w Z a b c d"},G:{"1":"fB gB","2":"G AB WB BB YB ZB aB bB cB dB eB"},H:{"2":"hB"},I:{"2":"1 F g iB jB kB lB BB mB nB"},J:{"2":"C A"},K:{"2":"8 9 A B D x","194":"L"},L:{"194":"g"},M:{"1":"v"},N:{"2":"A B"},O:{"2":"oB"},P:{"2":"F","194":"J pB"},Q:{"2":"qB"},R:{"194":"rB"}},B:5,C:"KeyboardEvent.code"}; diff --git a/publi/node_modules/caniuse-lite/data/features/keyboardevent-getmodifierstate.js b/publi/node_modules/caniuse-lite/data/features/keyboardevent-getmodifierstate.js deleted file mode 100644 index 7e8e9af..0000000 --- a/publi/node_modules/caniuse-lite/data/features/keyboardevent-getmodifierstate.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"E A B","2":"K C G CB"},B:{"1":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v","2":"1 VB F J K C G E A B D u Y TB SB"},D:{"1":"0 2 3 4 5 6 7 Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB","2":"F J K C G E A B D u Y I M H N O P Q R S T U V W X w"},E:{"1":"B MB NB","2":"F J K C G E A GB AB IB JB KB LB"},F:{"1":"H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t x","2":"8 9 E B I M OB PB QB RB UB","16":"D"},G:{"1":"fB gB","2":"G AB WB BB YB ZB aB bB cB dB eB"},H:{"2":"hB"},I:{"1":"g mB nB","2":"1 F iB jB kB lB BB"},J:{"2":"C A"},K:{"1":"L x","2":"8 9 A B","16":"D"},L:{"1":"g"},M:{"1":"v"},N:{"1":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:5,C:"KeyboardEvent.getModifierState()"}; diff --git a/publi/node_modules/caniuse-lite/data/features/keyboardevent-key.js b/publi/node_modules/caniuse-lite/data/features/keyboardevent-key.js deleted file mode 100644 index 41a7b31..0000000 --- a/publi/node_modules/caniuse-lite/data/features/keyboardevent-key.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G CB","260":"E A B"},B:{"260":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 w Z a b c d e f L h i j k l m n o p q r s t y z v","2":"1 VB F J K C G E A B D u Y I M H N O P Q R TB SB","132":"S T U V W X"},D:{"1":"0 2 3 4 5 6 7 y z v HB g DB XB EB FB","2":"F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t"},E:{"1":"B MB NB","2":"F J K C G E A GB AB IB JB KB LB"},F:{"1":"h i j k l m n o p q r s t x","2":"8 9 E B I M H N O P Q R S T U V W X w Z a b c d e f L OB PB QB RB UB","16":"D"},G:{"1":"fB gB","2":"G AB WB BB YB ZB aB bB cB dB eB"},H:{"2":"hB"},I:{"2":"1 F g iB jB kB lB BB mB nB"},J:{"2":"C A"},K:{"1":"x","2":"8 9 A B L","16":"D"},L:{"1":"g"},M:{"1":"v"},N:{"260":"A B"},O:{"2":"oB"},P:{"1":"J pB","2":"F"},Q:{"2":"qB"},R:{"2":"rB"}},B:5,C:"KeyboardEvent.key"}; diff --git a/publi/node_modules/caniuse-lite/data/features/keyboardevent-location.js b/publi/node_modules/caniuse-lite/data/features/keyboardevent-location.js deleted file mode 100644 index 0c7cf93..0000000 --- a/publi/node_modules/caniuse-lite/data/features/keyboardevent-location.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"E A B","2":"K C G CB"},B:{"1":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v","2":"1 VB F J K C G E A B D u Y TB SB"},D:{"1":"0 2 3 4 5 6 7 Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB","132":"F J K C G E A B D u Y I M H N O P Q R S T U V W X w"},E:{"1":"C G E A B JB KB LB MB NB","16":"K GB AB","132":"F J IB"},F:{"1":"H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t x","2":"8 9 E B OB PB QB RB UB","16":"D","132":"I M"},G:{"1":"G bB cB dB eB fB gB","16":"AB WB BB","132":"YB ZB aB"},H:{"2":"hB"},I:{"1":"g mB nB","16":"iB jB","132":"1 F kB lB BB"},J:{"132":"C A"},K:{"1":"L x","2":"8 9 A B","16":"D"},L:{"1":"g"},M:{"1":"v"},N:{"1":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:5,C:"KeyboardEvent.location"}; diff --git a/publi/node_modules/caniuse-lite/data/features/keyboardevent-which.js b/publi/node_modules/caniuse-lite/data/features/keyboardevent-which.js deleted file mode 100644 index 0dfa43c..0000000 --- a/publi/node_modules/caniuse-lite/data/features/keyboardevent-which.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"E A B","2":"K C G CB"},B:{"1":"D u Y I M H"},C:{"1":"0 1 2 3 4 5 6 7 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v TB SB"},D:{"1":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"1":"K C G E A B IB JB KB LB MB NB","2":"F GB AB","16":"J"},F:{"1":"8 9 B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t PB QB RB UB x","16":"E OB"},G:{"1":"G YB ZB aB bB cB dB eB fB gB","16":"AB WB BB"},H:{"2":"hB"},I:{"1":"1 F g kB lB BB","16":"iB jB","132":"mB nB"},J:{"1":"C A"},K:{"1":"8 9 A B D x","132":"L"},L:{"132":"g"},M:{"132":"v"},N:{"1":"A B"},O:{"1":"oB"},P:{"2":"F","132":"J pB"},Q:{"1":"qB"},R:{"132":"rB"}},B:7,C:"KeyboardEvent.which"}; diff --git a/publi/node_modules/caniuse-lite/data/features/lazyload.js b/publi/node_modules/caniuse-lite/data/features/lazyload.js deleted file mode 100644 index 6274af5..0000000 --- a/publi/node_modules/caniuse-lite/data/features/lazyload.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"B","2":"K C G E A CB"},B:{"1":"D u Y I M H"},C:{"2":"0 1 2 3 4 5 6 7 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v TB SB"},D:{"2":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"2":"F J K C G E A B GB AB IB JB KB LB MB NB"},F:{"2":"8 9 E B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t OB PB QB RB UB x"},G:{"2":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"2":"hB"},I:{"2":"1 F g iB jB kB lB BB mB nB"},J:{"2":"C A"},K:{"2":"8 9 A B D L x"},L:{"2":"g"},M:{"2":"v"},N:{"1":"B","2":"A"},O:{"2":"oB"},P:{"2":"F J pB"},Q:{"2":"qB"},R:{"2":"rB"}},B:7,C:"Resource Hints: Lazyload"}; diff --git a/publi/node_modules/caniuse-lite/data/features/let.js b/publi/node_modules/caniuse-lite/data/features/let.js deleted file mode 100644 index 5e53426..0000000 --- a/publi/node_modules/caniuse-lite/data/features/let.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"B","2":"K C G E A CB"},B:{"1":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 n o p q r s t y z v","194":"1 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m TB SB"},D:{"1":"0 2 3 4 5 6 7 s t y z v HB g DB XB EB FB","2":"F J K C G E A B D u Y I M H N","322":"O P Q R S T U V W X w Z a b c d e f L h i j","516":"k l m n o p q r"},E:{"1":"A B MB NB","2":"F J K C G E GB AB IB JB KB LB"},F:{"1":"f L h i j k l m n o p q r s t","2":"8 9 E B D OB PB QB RB UB x","322":"I M H N O P Q R S T U V W","516":"X w Z a b c d e"},G:{"1":"eB fB gB","2":"G AB WB BB YB ZB aB bB cB dB"},H:{"2":"hB"},I:{"1":"g","2":"1 F iB jB kB lB BB mB nB"},J:{"2":"C A"},K:{"1":"L","2":"8 9 A B D x"},L:{"1":"g"},M:{"1":"v"},N:{"1":"B","2":"A"},O:{"2":"oB"},P:{"1":"J pB","516":"F"},Q:{"2":"qB"},R:{"516":"rB"}},B:6,C:"let"}; diff --git a/publi/node_modules/caniuse-lite/data/features/link-icon-png.js b/publi/node_modules/caniuse-lite/data/features/link-icon-png.js deleted file mode 100644 index 31f5c16..0000000 --- a/publi/node_modules/caniuse-lite/data/features/link-icon-png.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"B","2":"K C G E A CB"},B:{"1":"D u Y I M H"},C:{"1":"0 1 2 3 4 5 6 7 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v TB SB"},D:{"129":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"257":"F J K C G E A B GB AB IB JB KB LB MB NB"},F:{"129":"I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t","513":"8 9 E B D OB PB QB RB UB x"},G:{"1026":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"1026":"hB"},I:{"1":"1 F iB jB kB lB BB","513":"g mB nB"},J:{"1":"C","1026":"A"},K:{"1026":"8 9 A B D L x"},L:{"1":"g"},M:{"1":"v"},N:{"1026":"A B"},O:{"257":"oB"},P:{"1":"J pB","513":"F"},Q:{"129":"qB"},R:{"1":"rB"}},B:1,C:"PNG favicons"}; diff --git a/publi/node_modules/caniuse-lite/data/features/link-icon-svg.js b/publi/node_modules/caniuse-lite/data/features/link-icon-svg.js deleted file mode 100644 index 6dc7e1a..0000000 --- a/publi/node_modules/caniuse-lite/data/features/link-icon-svg.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"2":"D u Y I M H"},C:{"2":"1 VB TB SB","260":"F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j","1025":"0 2 3 4 5 6 7 k l m n o p q r s t y z v"},D:{"2":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB","16":"XB EB FB"},E:{"2":"F J K C G GB AB IB JB KB","516":"E A B LB MB NB"},F:{"1":"n o p q r s t","2":"8 9 E B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m OB PB QB RB UB x"},G:{"130":"G AB WB BB YB ZB aB bB","516":"cB dB eB fB gB"},H:{"130":"hB"},I:{"2":"1 F g iB jB kB lB BB mB nB"},J:{"2":"C","130":"A"},K:{"130":"8 9 A B D L x"},L:{"2":"g"},M:{"2":"v"},N:{"130":"A B"},O:{"2":"oB"},P:{"2":"F J pB"},Q:{"2":"qB"},R:{"2":"rB"}},B:1,C:"SVG favicons"}; diff --git a/publi/node_modules/caniuse-lite/data/features/link-rel-dns-prefetch.js b/publi/node_modules/caniuse-lite/data/features/link-rel-dns-prefetch.js deleted file mode 100644 index 258cb46..0000000 --- a/publi/node_modules/caniuse-lite/data/features/link-rel-dns-prefetch.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"A B","2":"K C G CB","132":"E"},B:{"1":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v TB SB","2":"1 VB"},D:{"1":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"1":"J K C G E A B IB JB KB LB MB NB","2":"F GB AB"},F:{"1":"I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t","2":"8 9 E B D OB PB QB RB UB x"},G:{"16":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"2":"hB"},I:{"16":"1 F g iB jB kB lB BB mB nB"},J:{"16":"C A"},K:{"16":"8 9 A B D L x"},L:{"1":"g"},M:{"1":"v"},N:{"1":"B","2":"A"},O:{"16":"oB"},P:{"1":"J pB","16":"F"},Q:{"1":"qB"},R:{"1":"rB"}},B:5,C:"Resource Hints: dns-prefetch"}; diff --git a/publi/node_modules/caniuse-lite/data/features/link-rel-preconnect.js b/publi/node_modules/caniuse-lite/data/features/link-rel-preconnect.js deleted file mode 100644 index a4981d3..0000000 --- a/publi/node_modules/caniuse-lite/data/features/link-rel-preconnect.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"2":"D u Y","260":"I M H"},C:{"1":"0 2 3 4 5 6 7 j k l m n o p q r s t y z v","2":"1 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h TB SB","129":"i"},D:{"1":"0 2 3 4 5 6 7 p q r s t y z v HB g DB XB EB FB","2":"F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o"},E:{"1":"NB","2":"F J K C G E A B GB AB IB JB KB LB MB"},F:{"1":"c d e f L h i j k l m n o p q r s t","2":"8 9 E B D I M H N O P Q R S T U V W X w Z a b OB PB QB RB UB x"},G:{"2":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"2":"hB"},I:{"1":"g","2":"1 F iB jB kB lB BB mB nB"},J:{"2":"C A"},K:{"1":"L","2":"8 9 A B D x"},L:{"1":"g"},M:{"16":"v"},N:{"2":"A B"},O:{"16":"oB"},P:{"1":"J pB","2":"F"},Q:{"1":"qB"},R:{"1":"rB"}},B:5,C:"Resource Hints: preconnect"}; diff --git a/publi/node_modules/caniuse-lite/data/features/link-rel-prefetch.js b/publi/node_modules/caniuse-lite/data/features/link-rel-prefetch.js deleted file mode 100644 index c168cdb..0000000 --- a/publi/node_modules/caniuse-lite/data/features/link-rel-prefetch.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"B","2":"K C G E A CB"},B:{"1":"D u Y I M H"},C:{"1":"0 1 2 3 4 5 6 7 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v TB SB"},D:{"1":"0 2 3 4 5 6 7 G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB","2":"F J K C"},E:{"2":"F J K C G E A B GB AB IB JB KB LB MB NB"},F:{"1":"I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t","2":"8 9 E B D OB PB QB RB UB x"},G:{"2":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"2":"hB"},I:{"1":"F g mB nB","2":"1 iB jB kB lB BB"},J:{"2":"C A"},K:{"1":"L","2":"8 9 A B D x"},L:{"1":"g"},M:{"1":"v"},N:{"1":"B","2":"A"},O:{"2":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:5,C:"Resource Hints: prefetch"}; diff --git a/publi/node_modules/caniuse-lite/data/features/link-rel-preload.js b/publi/node_modules/caniuse-lite/data/features/link-rel-preload.js deleted file mode 100644 index bf67fdf..0000000 --- a/publi/node_modules/caniuse-lite/data/features/link-rel-preload.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"2":"D u Y I M H"},C:{"1":"6 7","2":"0 1 2 4 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z TB SB","132":"3","578":"5 v"},D:{"1":"0 2 3 4 5 6 7 t y z v HB g DB XB EB FB","2":"F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s"},E:{"1":"NB","2":"F J K C G E A GB AB IB JB KB LB MB","322":"B"},F:{"1":"L h i j k l m n o p q r s t","2":"8 9 E B D I M H N O P Q R S T U V W X w Z a b c d e f OB PB QB RB UB x"},G:{"2":"G AB WB BB YB ZB aB bB cB dB eB fB","322":"gB"},H:{"2":"hB"},I:{"1":"g","2":"1 F iB jB kB lB BB mB nB"},J:{"2":"C A"},K:{"1":"L","2":"8 9 A B D x"},L:{"1":"g"},M:{"132":"v"},N:{"2":"A B"},O:{"2":"oB"},P:{"1":"J pB","2":"F"},Q:{"2":"qB"},R:{"2":"rB"}},B:5,C:"Resource Hints: preload"}; diff --git a/publi/node_modules/caniuse-lite/data/features/link-rel-prerender.js b/publi/node_modules/caniuse-lite/data/features/link-rel-prerender.js deleted file mode 100644 index 3009e9e..0000000 --- a/publi/node_modules/caniuse-lite/data/features/link-rel-prerender.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"B","2":"K C G E A CB"},B:{"2":"D u Y I M H"},C:{"2":"0 1 2 3 4 5 6 7 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v TB SB"},D:{"1":"0 2 3 4 u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v","2":"5 6 7 F J K C G E A B D HB g DB XB EB FB"},E:{"2":"F J K C G E A B GB AB IB JB KB LB MB NB"},F:{"1":"I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t","2":"8 9 E B D OB PB QB RB UB x"},G:{"2":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"2":"hB"},I:{"2":"1 F g iB jB kB lB BB mB nB"},J:{"2":"C A"},K:{"2":"8 9 A B D L x"},L:{"1":"g"},M:{"2":"v"},N:{"1":"B","2":"A"},O:{"2":"oB"},P:{"1":"F J pB"},Q:{"2":"qB"},R:{"1":"rB"}},B:5,C:"Resource Hints: prerender"}; diff --git a/publi/node_modules/caniuse-lite/data/features/localecompare.js b/publi/node_modules/caniuse-lite/data/features/localecompare.js deleted file mode 100644 index d682bb2..0000000 --- a/publi/node_modules/caniuse-lite/data/features/localecompare.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"B","16":"CB","132":"K C G E A"},B:{"1":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 w Z a b c d e f L h i j k l m n o p q r s t y z v","132":"1 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X TB SB"},D:{"1":"0 2 3 4 5 6 7 T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB","132":"F J K C G E A B D u Y I M H N O P Q R S"},E:{"1":"A B MB NB","132":"F J K C G E GB AB IB JB KB LB"},F:{"1":"I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t","16":"8 9 E B D OB PB QB RB UB","132":"x"},G:{"1":"eB fB gB","132":"G AB WB BB YB ZB aB bB cB dB"},H:{"132":"hB"},I:{"1":"g mB nB","132":"1 F iB jB kB lB BB"},J:{"132":"C A"},K:{"1":"L","16":"8 9 A B D","132":"x"},L:{"1":"g"},M:{"1":"v"},N:{"1":"B","132":"A"},O:{"132":"oB"},P:{"1":"J pB","132":"F"},Q:{"132":"qB"},R:{"1":"rB"}},B:6,C:"localeCompare()"}; diff --git a/publi/node_modules/caniuse-lite/data/features/matchesselector.js b/publi/node_modules/caniuse-lite/data/features/matchesselector.js deleted file mode 100644 index f3e5525..0000000 --- a/publi/node_modules/caniuse-lite/data/features/matchesselector.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G CB","36":"E A B"},B:{"1":"I M H","36":"D u Y"},C:{"1":"0 2 3 4 5 6 7 d e f L h i j k l m n o p q r s t y z v","2":"1 VB TB","36":"F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c SB"},D:{"1":"0 2 3 4 5 6 7 d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB","36":"F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c"},E:{"1":"G E A B KB LB MB NB","2":"F GB AB","36":"J K C IB JB"},F:{"1":"Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t","2":"9 E B OB PB QB RB","36":"8 D I M H N O P UB x"},G:{"1":"G bB cB dB eB fB gB","2":"AB","36":"WB BB YB ZB aB"},H:{"2":"hB"},I:{"1":"g","2":"iB","36":"1 F jB kB lB BB mB nB"},J:{"36":"C A"},K:{"1":"L","2":"A B","36":"8 9 D x"},L:{"1":"g"},M:{"1":"v"},N:{"36":"A B"},O:{"36":"oB"},P:{"1":"J pB","36":"F"},Q:{"1":"qB"},R:{"1":"rB"}},B:1,C:"matches() DOM method"}; diff --git a/publi/node_modules/caniuse-lite/data/features/matchmedia.js b/publi/node_modules/caniuse-lite/data/features/matchmedia.js deleted file mode 100644 index 9850baf..0000000 --- a/publi/node_modules/caniuse-lite/data/features/matchmedia.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"A B","2":"K C G E CB"},B:{"1":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v","2":"1 VB F J TB SB"},D:{"1":"0 2 3 4 5 6 7 E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB","2":"F J K C G"},E:{"1":"K C G E A B IB JB KB LB MB NB","2":"F J GB AB"},F:{"1":"I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t x","2":"8 9 E B D OB PB QB RB UB"},G:{"1":"G YB ZB aB bB cB dB eB fB gB","2":"AB WB BB"},H:{"1":"hB"},I:{"1":"1 F g lB BB mB nB","2":"iB jB kB"},J:{"1":"A","2":"C"},K:{"1":"L x","2":"8 9 A B D"},L:{"1":"g"},M:{"1":"v"},N:{"1":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:5,C:"matchMedia"}; diff --git a/publi/node_modules/caniuse-lite/data/features/mathml.js b/publi/node_modules/caniuse-lite/data/features/mathml.js deleted file mode 100644 index 32aa207..0000000 --- a/publi/node_modules/caniuse-lite/data/features/mathml.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"E A B CB","8":"K C G"},B:{"2":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v","129":"1 VB TB SB"},D:{"1":"T","8":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"1":"A B MB NB","260":"F J K C G E GB AB IB JB KB LB"},F:{"2":"E","4":"8 9 B D OB PB QB RB UB x","8":"I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t"},G:{"1":"G YB ZB aB bB cB dB eB fB gB","8":"AB WB BB"},H:{"8":"hB"},I:{"8":"1 F g iB jB kB lB BB mB nB"},J:{"1":"A","8":"C"},K:{"8":"8 9 A B D L x"},L:{"8":"g"},M:{"1":"v"},N:{"2":"A B"},O:{"4":"oB"},P:{"8":"F J pB"},Q:{"8":"qB"},R:{"8":"rB"}},B:2,C:"MathML"}; diff --git a/publi/node_modules/caniuse-lite/data/features/maxlength.js b/publi/node_modules/caniuse-lite/data/features/maxlength.js deleted file mode 100644 index a06da5b..0000000 --- a/publi/node_modules/caniuse-lite/data/features/maxlength.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"A B","16":"CB","900":"K C G E"},B:{"1025":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 y z v","900":"1 VB TB SB","1025":"F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t"},D:{"1":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"1":"K C G E A B IB JB KB LB MB NB","16":"J GB","900":"F AB"},F:{"1":"I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t","16":"E","132":"8 9 B D OB PB QB RB UB x"},G:{"1":"WB BB YB ZB aB cB dB eB fB gB","16":"AB","2052":"G bB"},H:{"132":"hB"},I:{"1":"1 F kB lB BB mB nB","16":"iB jB","4097":"g"},J:{"1":"C A"},K:{"132":"8 9 A B D x","4100":"L"},L:{"4097":"g"},M:{"4097":"v"},N:{"1":"A B"},O:{"4100":"oB"},P:{"4097":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:1,C:"maxlength attribute for input and textarea elements"}; diff --git a/publi/node_modules/caniuse-lite/data/features/media-attribute.js b/publi/node_modules/caniuse-lite/data/features/media-attribute.js deleted file mode 100644 index ab88c72..0000000 --- a/publi/node_modules/caniuse-lite/data/features/media-attribute.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"E A B","2":"K C G CB"},B:{"1":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v","2":"1 VB F J K C G E A B D u Y TB SB"},D:{"1":"F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c","2":"0 2 3 4 5 6 7 d e f L h i j k l m n o p q r s t y z v HB g DB","16":"XB EB FB"},E:{"1":"K C G E A B IB JB KB LB MB NB","2":"F J GB AB"},F:{"1":"8 9 B D I M H N O P Q R S T PB QB RB UB x","2":"E U V W X w Z a b c d e f L h i j k l m n o p q r s t OB"},G:{"1":"G YB ZB aB bB cB dB eB fB gB","16":"AB WB BB"},H:{"16":"hB"},I:{"1":"F g lB BB mB nB","16":"1 iB jB kB"},J:{"16":"C A"},K:{"1":"D L x","16":"8 9 A B"},L:{"1":"g"},M:{"1":"v"},N:{"16":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"2":"qB"},R:{"1":"rB"}},B:1,C:"Media attribute"}; diff --git a/publi/node_modules/caniuse-lite/data/features/media-fragments.js b/publi/node_modules/caniuse-lite/data/features/media-fragments.js deleted file mode 100644 index 57d1a10..0000000 --- a/publi/node_modules/caniuse-lite/data/features/media-fragments.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"2":"D u Y I M H"},C:{"2":"1 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c TB SB","132":"0 2 3 4 5 6 7 d e f L h i j k l m n o p q r s t y z v"},D:{"2":"F J K C G E A B D u Y I M H","132":"0 2 3 4 5 6 7 N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"2":"F J GB AB IB","132":"K C G E A B JB KB LB MB NB"},F:{"2":"8 9 E B D OB PB QB RB UB x","132":"I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t"},G:{"2":"AB WB BB YB ZB aB","132":"G bB cB dB eB fB gB"},H:{"2":"hB"},I:{"2":"1 F iB jB kB lB BB","132":"g mB nB"},J:{"2":"C A"},K:{"2":"8 9 A B D L x"},L:{"132":"g"},M:{"132":"v"},N:{"132":"A B"},O:{"2":"oB"},P:{"2":"F J","132":"pB"},Q:{"2":"qB"},R:{"2":"rB"}},B:2,C:"Media Fragments"}; diff --git a/publi/node_modules/caniuse-lite/data/features/media-session-api.js b/publi/node_modules/caniuse-lite/data/features/media-session-api.js deleted file mode 100644 index 6301bc5..0000000 --- a/publi/node_modules/caniuse-lite/data/features/media-session-api.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"2":"D u Y I M H"},C:{"2":"0 1 2 3 4 5 6 7 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v TB SB"},D:{"1":"5 6 7 v HB g DB XB EB FB","2":"0 2 3 4 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z"},E:{"2":"F J K C G E A B GB AB IB JB KB LB MB","16":"NB"},F:{"2":"8 9 E B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r OB PB QB RB UB x","16":"s t"},G:{"2":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"2":"hB"},I:{"2":"1 F g iB jB kB lB BB mB nB"},J:{"2":"C A"},K:{"2":"8 9 A B D L x"},L:{"2":"g"},M:{"2":"v"},N:{"2":"A B"},O:{"2":"oB"},P:{"2":"F J pB"},Q:{"2":"qB"},R:{"2":"rB"}},B:6,C:"Media Session API"}; diff --git a/publi/node_modules/caniuse-lite/data/features/mediacapture-fromelement.js b/publi/node_modules/caniuse-lite/data/features/mediacapture-fromelement.js deleted file mode 100644 index fe9210b..0000000 --- a/publi/node_modules/caniuse-lite/data/features/mediacapture-fromelement.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"2":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 m n o p q r s t y z v","2":"1 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l TB SB"},D:{"2":"F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t","193":"0 2 3 4 5 6 7 y z v HB g DB XB EB FB"},E:{"2":"F J K C G E A B GB AB IB JB KB LB MB NB"},F:{"1":"f L h i j k l m n o p q r s t","2":"8 9 E B D I M H N O P Q R S T U V W X w Z a b c d e OB PB QB RB UB x"},G:{"2":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"2":"hB"},I:{"2":"1 F g iB jB kB lB BB mB nB"},J:{"2":"C A"},K:{"2":"8 9 A B D L x"},L:{"1":"g"},M:{"2":"v"},N:{"2":"A B"},O:{"2":"oB"},P:{"1":"J pB","2":"F"},Q:{"2":"qB"},R:{"1":"rB"}},B:5,C:"Media Capture from DOM Elements API"}; diff --git a/publi/node_modules/caniuse-lite/data/features/mediarecorder.js b/publi/node_modules/caniuse-lite/data/features/mediarecorder.js deleted file mode 100644 index 898072e..0000000 --- a/publi/node_modules/caniuse-lite/data/features/mediarecorder.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"2":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 w Z a b c d e f L h i j k l m n o p q r s t y z v","2":"1 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X TB SB"},D:{"1":"0 2 3 4 5 6 7 s t y z v HB g DB XB EB FB","2":"F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p","194":"q r"},E:{"2":"F J K C G E A B GB AB IB JB KB LB MB NB"},F:{"1":"f L h i j k l m n o p q r s t","2":"8 9 E B D I M H N O P Q R S T U V W X w Z a b c OB PB QB RB UB x","194":"d e"},G:{"2":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"2":"hB"},I:{"2":"1 F g iB jB kB lB BB mB nB"},J:{"2":"C A"},K:{"2":"8 9 A B D L x"},L:{"1":"g"},M:{"2":"v"},N:{"2":"A B"},O:{"2":"oB"},P:{"1":"J pB","2":"F"},Q:{"2":"qB"},R:{"2":"rB"}},B:5,C:"MediaRecorder API"}; diff --git a/publi/node_modules/caniuse-lite/data/features/mediasource.js b/publi/node_modules/caniuse-lite/data/features/mediasource.js deleted file mode 100644 index 7c67cd9..0000000 --- a/publi/node_modules/caniuse-lite/data/features/mediasource.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A CB","260":"B"},B:{"1":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 l m n o p q r s t y z v","2":"1 VB F J K C G E A B D u Y I M H N O P Q R S T TB SB","194":"U V W X w Z a b c d e f L h i j k"},D:{"1":"0 2 3 4 5 6 7 a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB","2":"F J K C G E A B D u Y I M","33":"S T U V W X w Z","66":"H N O P Q R"},E:{"1":"G E A B LB MB NB","2":"F J K C GB AB IB JB KB"},F:{"1":"I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t","2":"8 9 E B D OB PB QB RB UB x"},G:{"2":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"2":"hB"},I:{"1":"g nB","2":"1 F iB jB kB lB BB mB"},J:{"2":"C A"},K:{"1":"L","2":"8 9 A B D x"},L:{"1":"g"},M:{"1":"v"},N:{"1":"B","2":"A"},O:{"1":"oB"},P:{"1":"J pB","514":"F"},Q:{"2":"qB"},R:{"1":"rB"}},B:4,C:"Media Source Extensions"}; diff --git a/publi/node_modules/caniuse-lite/data/features/menu.js b/publi/node_modules/caniuse-lite/data/features/menu.js deleted file mode 100644 index d213cf2..0000000 --- a/publi/node_modules/caniuse-lite/data/features/menu.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"2":"D u Y I M H"},C:{"2":"1 VB F J K C TB SB","132":"0 2 3 4 5 6 7 G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v"},D:{"2":"F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j","322":"r s t y","578":"k l m n o p q","2114":"0 2 3 4 5 6 7 z v HB g DB XB EB FB"},E:{"2":"F J K C G E A B GB AB IB JB KB LB MB NB"},F:{"2":"8 9 E B D I M H N O P Q R S T U V W X w Z a b c d OB PB QB RB UB x","322":"e f L h","2114":"i j k l m n o p q r s t"},G:{"2":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"2":"hB"},I:{"2":"1 F g iB jB kB lB BB mB nB"},J:{"2":"C A"},K:{"2":"8 9 A B D L x"},L:{"2":"g"},M:{"1156":"v"},N:{"2":"A B"},O:{"2":"oB"},P:{"2":"F J pB"},Q:{"2114":"qB"},R:{"2":"rB"}},B:7,C:"Context menu item (menuitem element)"}; diff --git a/publi/node_modules/caniuse-lite/data/features/meter.js b/publi/node_modules/caniuse-lite/data/features/meter.js deleted file mode 100644 index fa3331d..0000000 --- a/publi/node_modules/caniuse-lite/data/features/meter.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"1":"u Y I M H","2":"D"},C:{"1":"0 2 3 4 5 6 7 M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v","2":"1 VB F J K C G E A B D u Y I TB SB"},D:{"1":"0 2 3 4 5 6 7 G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB","2":"F J K C"},E:{"1":"K C G E A B JB KB LB MB NB","2":"F J GB AB IB"},F:{"1":"8 9 B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t UB x","2":"E OB PB QB RB"},G:{"1":"fB gB","2":"G AB WB BB YB ZB aB bB cB dB eB"},H:{"1":"hB"},I:{"1":"g mB nB","2":"1 F iB jB kB lB BB"},J:{"1":"C A"},K:{"1":"8 9 B D L x","2":"A"},L:{"1":"g"},M:{"1":"v"},N:{"2":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:1,C:"meter element"}; diff --git a/publi/node_modules/caniuse-lite/data/features/midi.js b/publi/node_modules/caniuse-lite/data/features/midi.js deleted file mode 100644 index 286445c..0000000 --- a/publi/node_modules/caniuse-lite/data/features/midi.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"2":"D u Y I M H"},C:{"2":"0 1 2 3 4 5 6 7 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v TB SB"},D:{"1":"0 2 3 4 5 6 7 m n o p q r s t y z v HB g DB XB EB FB","2":"F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l"},E:{"2":"F J K C G E A B GB AB IB JB KB LB MB NB"},F:{"1":"Z a b c d e f L h i j k l m n o p q r s t","2":"8 9 E B D I M H N O P Q R S T U V W X w OB PB QB RB UB x"},G:{"2":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"2":"hB"},I:{"1":"g","2":"1 F iB jB kB lB BB mB nB"},J:{"2":"C A"},K:{"1":"L","2":"8 9 A B D x"},L:{"1":"g"},M:{"2":"v"},N:{"2":"A B"},O:{"2":"oB"},P:{"1":"F J pB"},Q:{"2":"qB"},R:{"1":"rB"}},B:5,C:"Web MIDI API"}; diff --git a/publi/node_modules/caniuse-lite/data/features/minmaxwh.js b/publi/node_modules/caniuse-lite/data/features/minmaxwh.js deleted file mode 100644 index b564719..0000000 --- a/publi/node_modules/caniuse-lite/data/features/minmaxwh.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"E A B","8":"K CB","129":"C","257":"G"},B:{"1":"D u Y I M H"},C:{"1":"0 1 2 3 4 5 6 7 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v TB SB"},D:{"1":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"1":"F J K C G E A B GB AB IB JB KB LB MB NB"},F:{"1":"8 9 E B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t OB PB QB RB UB x"},G:{"1":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"1":"hB"},I:{"1":"1 F g iB jB kB lB BB mB nB"},J:{"1":"C A"},K:{"1":"8 9 A B D L x"},L:{"1":"g"},M:{"1":"v"},N:{"1":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:2,C:"CSS min/max-width/height"}; diff --git a/publi/node_modules/caniuse-lite/data/features/mp3.js b/publi/node_modules/caniuse-lite/data/features/mp3.js deleted file mode 100644 index 4f5af3a..0000000 --- a/publi/node_modules/caniuse-lite/data/features/mp3.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"E A B","2":"K C G CB"},B:{"1":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v","2":"1 VB","132":"F J K C G E A B D u Y I M H N O P Q TB SB"},D:{"1":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"1":"F J K C G E A B IB JB KB LB MB NB","2":"GB AB"},F:{"1":"I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t","2":"8 9 E B D OB PB QB RB UB x"},G:{"1":"G WB BB YB ZB aB bB cB dB eB fB gB","2":"AB"},H:{"2":"hB"},I:{"1":"1 F g kB lB BB mB nB","2":"iB jB"},J:{"1":"C A"},K:{"1":"8 9 B D L x","2":"A"},L:{"1":"g"},M:{"1":"v"},N:{"1":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:6,C:"MP3 audio format"}; diff --git a/publi/node_modules/caniuse-lite/data/features/mpeg-dash.js b/publi/node_modules/caniuse-lite/data/features/mpeg-dash.js deleted file mode 100644 index 9988b45..0000000 --- a/publi/node_modules/caniuse-lite/data/features/mpeg-dash.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"1":"D u Y I M H"},C:{"2":"0 1 2 3 4 5 6 7 VB F J K C G E A B D u Y I M H N O P S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v TB SB","386":"Q R"},D:{"2":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"2":"F J K C G E A B GB AB IB JB KB LB MB NB"},F:{"2":"8 9 E B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t OB PB QB RB UB x"},G:{"2":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"2":"hB"},I:{"2":"1 F g iB jB kB lB BB mB nB"},J:{"2":"C A"},K:{"2":"8 9 A B D L x"},L:{"2":"g"},M:{"2":"v"},N:{"2":"A B"},O:{"2":"oB"},P:{"2":"F J pB"},Q:{"2":"qB"},R:{"2":"rB"}},B:6,C:"Dynamic Adaptive Streaming over HTTP (MPEG-DASH)"}; diff --git a/publi/node_modules/caniuse-lite/data/features/mpeg4.js b/publi/node_modules/caniuse-lite/data/features/mpeg4.js deleted file mode 100644 index 04e9c60..0000000 --- a/publi/node_modules/caniuse-lite/data/features/mpeg4.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"E A B","2":"K C G CB"},B:{"1":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 e f L h i j k l m n o p q r s t y z v","2":"1 VB F J K C G E A B D u Y I M H N O P TB SB","4":"Q R S T U V W X w Z a b c d"},D:{"1":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"1":"F J K C G E A B AB IB JB KB LB MB NB","2":"GB"},F:{"1":"U V W X w Z a b c d e f L h i j k l m n o p q r s t","2":"8 9 E B D I M H N O P Q R S T OB PB QB RB UB x"},G:{"1":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"2":"hB"},I:{"1":"g mB nB","4":"1 F iB jB lB BB","132":"kB"},J:{"1":"C A"},K:{"1":"8 9 B D L x","2":"A"},L:{"1":"g"},M:{"260":"v"},N:{"1":"A B"},O:{"4":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:6,C:"MPEG-4/H.264 video format"}; diff --git a/publi/node_modules/caniuse-lite/data/features/multibackgrounds.js b/publi/node_modules/caniuse-lite/data/features/multibackgrounds.js deleted file mode 100644 index 4594233..0000000 --- a/publi/node_modules/caniuse-lite/data/features/multibackgrounds.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"E A B","2":"K C G CB"},B:{"1":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v SB","2":"1 VB TB"},D:{"1":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"1":"F J K C G E A B GB AB IB JB KB LB MB NB"},F:{"1":"8 9 B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t QB RB UB x","2":"E OB PB"},G:{"1":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"1":"hB"},I:{"1":"1 F g iB jB kB lB BB mB nB"},J:{"1":"C A"},K:{"1":"8 9 A B D L x"},L:{"1":"g"},M:{"1":"v"},N:{"1":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:4,C:"CSS3 Multiple backgrounds"}; diff --git a/publi/node_modules/caniuse-lite/data/features/multicolumn.js b/publi/node_modules/caniuse-lite/data/features/multicolumn.js deleted file mode 100644 index a2caa56..0000000 --- a/publi/node_modules/caniuse-lite/data/features/multicolumn.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"A B","2":"K C G E CB"},B:{"1":"D u Y I M H"},C:{"132":"0 2 3 4 5 6 7 z v","164":"1 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y TB SB"},D:{"1":"0 2 3 4 5 6 7 t y z v HB g DB XB EB FB","420":"F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s"},E:{"1":"A B MB NB","132":"E LB","164":"C G KB","420":"F J K GB AB IB JB"},F:{"1":"8 9 D L h i j k l m n o p q r s t UB x","2":"E B OB PB QB RB","420":"I M H N O P Q R S T U V W X w Z a b c d e f"},G:{"1":"eB fB gB","132":"cB dB","164":"G aB bB","420":"AB WB BB YB ZB"},H:{"1":"hB"},I:{"1":"g","420":"1 F iB jB kB lB BB mB nB"},J:{"420":"C A"},K:{"1":"8 9 D x","2":"A B","132":"L"},L:{"1":"g"},M:{"132":"v"},N:{"1":"A B"},O:{"420":"oB"},P:{"1":"J pB","420":"F"},Q:{"132":"qB"},R:{"132":"rB"}},B:4,C:"CSS3 Multiple column layout"}; diff --git a/publi/node_modules/caniuse-lite/data/features/mutation-events.js b/publi/node_modules/caniuse-lite/data/features/mutation-events.js deleted file mode 100644 index 7cef4a8..0000000 --- a/publi/node_modules/caniuse-lite/data/features/mutation-events.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G CB","260":"E A B"},B:{"260":"D u Y I M H"},C:{"2":"1 VB F J TB SB","260":"0 2 3 4 5 6 7 K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v"},D:{"16":"F J K C G E A B D u Y","132":"0 2 3 4 5 6 7 I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"16":"GB AB","132":"F J K C G E A B IB JB KB LB MB NB"},F:{"1":"D UB x","2":"E OB PB QB RB","16":"8 9 B","132":"I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t"},G:{"16":"AB WB","132":"G BB YB ZB aB bB cB dB eB fB gB"},H:{"2":"hB"},I:{"16":"iB jB","132":"1 F g kB lB BB mB nB"},J:{"132":"C A"},K:{"1":"D x","2":"A","16":"8 9 B","132":"L"},L:{"132":"g"},M:{"260":"v"},N:{"260":"A B"},O:{"132":"oB"},P:{"132":"F J pB"},Q:{"132":"qB"},R:{"132":"rB"}},B:5,C:"Mutation events"}; diff --git a/publi/node_modules/caniuse-lite/data/features/mutationobserver.js b/publi/node_modules/caniuse-lite/data/features/mutationobserver.js deleted file mode 100644 index 14cf642..0000000 --- a/publi/node_modules/caniuse-lite/data/features/mutationobserver.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"B","2":"K C G CB","8":"E A"},B:{"1":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v","2":"1 VB F J K C G E A B D u TB SB"},D:{"1":"0 2 3 4 5 6 7 W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB","2":"F J K C G E A B D u Y I M H","33":"N O P Q R S T U V"},E:{"1":"C G E A B JB KB LB MB NB","2":"F J GB AB IB","33":"K"},F:{"1":"I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t","2":"8 9 E B D OB PB QB RB UB x"},G:{"1":"G aB bB cB dB eB fB gB","2":"AB WB BB YB","33":"ZB"},H:{"2":"hB"},I:{"1":"g mB nB","2":"1 iB jB kB","8":"F lB BB"},J:{"1":"A","2":"C"},K:{"1":"L","2":"8 9 A B D x"},L:{"1":"g"},M:{"1":"v"},N:{"1":"B","8":"A"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:1,C:"Mutation Observer"}; diff --git a/publi/node_modules/caniuse-lite/data/features/namevalue-storage.js b/publi/node_modules/caniuse-lite/data/features/namevalue-storage.js deleted file mode 100644 index be8439d..0000000 --- a/publi/node_modules/caniuse-lite/data/features/namevalue-storage.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"G E A B","2":"CB","8":"K C"},B:{"1":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v TB SB","4":"1 VB"},D:{"1":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"1":"F J K C G E A B IB JB KB LB MB NB","2":"GB AB"},F:{"1":"8 9 B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t QB RB UB x","2":"E OB PB"},G:{"1":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"2":"hB"},I:{"1":"1 F g iB jB kB lB BB mB nB"},J:{"1":"C A"},K:{"1":"8 9 B D L x","2":"A"},L:{"1":"g"},M:{"1":"v"},N:{"1":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:1,C:"Web Storage - name/value pairs"}; diff --git a/publi/node_modules/caniuse-lite/data/features/nav-timing.js b/publi/node_modules/caniuse-lite/data/features/nav-timing.js deleted file mode 100644 index 4c2c8fe..0000000 --- a/publi/node_modules/caniuse-lite/data/features/nav-timing.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"E A B","2":"K C G CB"},B:{"1":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v","2":"1 VB F J K TB SB"},D:{"1":"0 2 3 4 5 6 7 u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB","2":"F J","33":"K C G E A B D"},E:{"1":"G E A B LB MB NB","2":"F J K C GB AB IB JB KB"},F:{"1":"I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t","2":"8 9 E B D OB PB QB RB UB x"},G:{"1":"G cB dB eB fB gB","2":"AB WB BB YB ZB aB bB"},H:{"2":"hB"},I:{"1":"F g lB BB mB nB","2":"1 iB jB kB"},J:{"1":"A","2":"C"},K:{"1":"L","2":"8 9 A B D x"},L:{"1":"g"},M:{"1":"v"},N:{"1":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:2,C:"Navigation Timing API"}; diff --git a/publi/node_modules/caniuse-lite/data/features/netinfo.js b/publi/node_modules/caniuse-lite/data/features/netinfo.js deleted file mode 100644 index a8497cb..0000000 --- a/publi/node_modules/caniuse-lite/data/features/netinfo.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"2":"D u Y I M H"},C:{"2":"0 1 2 3 4 5 6 7 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v TB SB"},D:{"2":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v","1028":"HB g DB XB EB FB"},E:{"2":"F J K C G E A B GB AB IB JB KB LB MB NB"},F:{"2":"8 9 E B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q OB PB QB RB UB x","1028":"r s t"},G:{"2":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"2":"hB"},I:{"2":"iB mB nB","132":"1 F jB kB lB BB","516":"g"},J:{"2":"C A"},K:{"2":"8 9 A B D x","516":"L"},L:{"516":"g"},M:{"260":"v"},N:{"2":"A B"},O:{"2":"oB"},P:{"132":"F","516":"J pB"},Q:{"2":"qB"},R:{"516":"rB"}},B:7,C:"Network Information API"}; diff --git a/publi/node_modules/caniuse-lite/data/features/node-contains.js b/publi/node_modules/caniuse-lite/data/features/node-contains.js deleted file mode 100644 index f40c9d1..0000000 --- a/publi/node_modules/caniuse-lite/data/features/node-contains.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"16":"CB","644":"E A B","2308":"K C G"},B:{"1":"u Y I M H","16":"D"},C:{"1":"0 2 3 4 5 6 7 E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v","2":"1 VB F J K C G TB SB"},D:{"1":"0 2 3 4 5 6 7 V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB","16":"F J K C G E A B D u Y I M H N O P Q R S T U"},E:{"1":"C G E A B JB KB LB MB NB","16":"F J K GB AB","1668":"IB"},F:{"1":"I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t x","16":"8 9 E B D OB PB QB RB","132":"UB"},G:{"1":"G aB bB cB dB eB fB gB","16":"AB WB BB YB ZB"},H:{"16":"hB"},I:{"1":"g mB nB","16":"1 iB jB kB","1668":"F lB BB"},J:{"16":"C A"},K:{"16":"8 9 A B D L x"},L:{"1":"g"},M:{"1":"v"},N:{"16":"A B"},O:{"16":"oB"},P:{"1":"J pB","16":"F"},Q:{"1":"qB"},R:{"1":"rB"}},B:1,C:"Node.contains()"}; diff --git a/publi/node_modules/caniuse-lite/data/features/node-parentelement.js b/publi/node_modules/caniuse-lite/data/features/node-parentelement.js deleted file mode 100644 index 62392df..0000000 --- a/publi/node_modules/caniuse-lite/data/features/node-parentelement.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"16":"CB","132":"E A B","260":"K C G"},B:{"1":"u Y I M H","16":"D"},C:{"1":"0 2 3 4 5 6 7 E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v","2":"1 VB F J K C G TB SB"},D:{"1":"0 2 3 4 5 6 7 V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB","16":"F J K C G E A B D u Y I M H N O P Q R S T U"},E:{"1":"K C G E A B IB JB KB LB MB NB","16":"F J GB AB"},F:{"1":"I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t","16":"8 9 E B OB PB QB RB","132":"D UB x"},G:{"1":"G ZB aB bB cB dB eB fB gB","16":"AB WB BB YB"},H:{"16":"hB"},I:{"1":"F g lB BB mB nB","16":"1 iB jB kB"},J:{"16":"C A"},K:{"16":"8 9 A B D L x"},L:{"1":"g"},M:{"1":"v"},N:{"16":"A B"},O:{"16":"oB"},P:{"1":"J pB","16":"F"},Q:{"1":"qB"},R:{"1":"rB"}},B:1,C:"Node.parentElement"}; diff --git a/publi/node_modules/caniuse-lite/data/features/notifications.js b/publi/node_modules/caniuse-lite/data/features/notifications.js deleted file mode 100644 index c687a47..0000000 --- a/publi/node_modules/caniuse-lite/data/features/notifications.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"1":"Y I M H","2":"D u"},C:{"1":"0 2 3 4 5 6 7 R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v","2":"1 VB F J K C G E A B D u Y I M H N O P Q TB SB"},D:{"1":"0 2 3 4 5 6 7 R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB","2":"F","36":"J K C G E A B D u Y I M H N O P Q"},E:{"1":"K C G E A B JB KB LB MB NB","2":"F J GB AB IB"},F:{"1":"U V W X w Z a b c d e f L h i j k l m n o p q r s t","2":"8 9 E B D I M H N O P Q R S T OB PB QB RB UB x"},G:{"2":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"2":"hB"},I:{"2":"1 F iB jB kB lB BB","36":"g mB nB"},J:{"1":"A","2":"C"},K:{"2":"8 9 A B D x","36":"L"},L:{"258":"g"},M:{"1":"v"},N:{"2":"A B"},O:{"2":"oB"},P:{"36":"F","258":"J pB"},Q:{"2":"qB"},R:{"258":"rB"}},B:1,C:"Web Notifications"}; diff --git a/publi/node_modules/caniuse-lite/data/features/object-fit.js b/publi/node_modules/caniuse-lite/data/features/object-fit.js deleted file mode 100644 index b364ada..0000000 --- a/publi/node_modules/caniuse-lite/data/features/object-fit.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"2":"D u Y I","260":"M H"},C:{"1":"0 2 3 4 5 6 7 f L h i j k l m n o p q r s t y z v","2":"1 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e TB SB"},D:{"1":"0 2 3 4 5 6 7 a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB","2":"F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z"},E:{"1":"A B MB NB","2":"F J K C GB AB IB JB","132":"G E KB LB"},F:{"1":"O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t","2":"E I M H N OB PB QB","33":"8 9 B D RB UB x"},G:{"1":"eB fB gB","2":"AB WB BB YB ZB aB","132":"G bB cB dB"},H:{"33":"hB"},I:{"1":"g nB","2":"1 F iB jB kB lB BB mB"},J:{"2":"C A"},K:{"1":"L","2":"A","33":"8 9 B D x"},L:{"1":"g"},M:{"1":"v"},N:{"2":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:4,C:"CSS3 object-fit/object-position"}; diff --git a/publi/node_modules/caniuse-lite/data/features/object-observe.js b/publi/node_modules/caniuse-lite/data/features/object-observe.js deleted file mode 100644 index 88fe6f0..0000000 --- a/publi/node_modules/caniuse-lite/data/features/object-observe.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"2":"D u Y I M H"},C:{"2":"0 1 2 3 4 5 6 7 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v TB SB"},D:{"1":"f L h i j k l m n o p q r s","2":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e t y z v HB g DB XB EB FB"},E:{"2":"F J K C G E A B GB AB IB JB KB LB MB NB"},F:{"1":"S T U V W X w Z a b c d e f","2":"8 9 E B D I M H N O P Q R L h i j k l m n o p q r s t OB PB QB RB UB x"},G:{"2":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"2":"hB"},I:{"2":"1 F g iB jB kB lB BB mB nB"},J:{"2":"C A"},K:{"2":"8 9 A B D L x"},L:{"2":"g"},M:{"2":"v"},N:{"2":"A B"},O:{"1":"oB"},P:{"1":"F","2":"J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:7,C:"Object.observe data binding"}; diff --git a/publi/node_modules/caniuse-lite/data/features/object-values.js b/publi/node_modules/caniuse-lite/data/features/object-values.js deleted file mode 100644 index e1e305d..0000000 --- a/publi/node_modules/caniuse-lite/data/features/object-values.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"8":"K C G E A B CB"},B:{"1":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 q r s t y z v","8":"1 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p TB SB"},D:{"1":"2 3 4 5 6 7 v HB g DB XB EB FB","8":"0 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z"},E:{"1":"B MB NB","8":"F J K C G E A GB AB IB JB KB LB"},F:{"1":"8 9 E B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t OB PB QB RB UB x"},G:{"1":"fB gB","8":"G AB WB BB YB ZB aB bB cB dB eB"},H:{"16":"hB"},I:{"1":"g","8":"1 F iB jB kB lB BB mB nB"},J:{"16":"C A"},K:{"1":"8 9 A B D L x"},L:{"1":"g"},M:{"1":"v"},N:{"8":"A B"},O:{"16":"oB"},P:{"16":"F J pB"},Q:{"16":"qB"},R:{"16":"rB"}},B:1,C:"Object.values method"}; diff --git a/publi/node_modules/caniuse-lite/data/features/objectrtc.js b/publi/node_modules/caniuse-lite/data/features/objectrtc.js deleted file mode 100644 index e7ff676..0000000 --- a/publi/node_modules/caniuse-lite/data/features/objectrtc.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"1":"u Y I M H","2":"D"},C:{"2":"0 1 2 3 4 5 6 7 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v TB SB"},D:{"2":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"2":"F J K C G E A B GB AB IB JB KB LB MB NB"},F:{"2":"8 9 E B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t OB PB QB RB UB x"},G:{"2":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"2":"hB"},I:{"2":"1 F g iB jB kB lB BB mB nB"},J:{"2":"C","130":"A"},K:{"2":"8 9 A B D L x"},L:{"2":"g"},M:{"2":"v"},N:{"2":"A B"},O:{"2":"oB"},P:{"2":"F J pB"},Q:{"2":"qB"},R:{"2":"rB"}},B:6,C:"Object RTC (ORTC) API for WebRTC"}; diff --git a/publi/node_modules/caniuse-lite/data/features/offline-apps.js b/publi/node_modules/caniuse-lite/data/features/offline-apps.js deleted file mode 100644 index d86edb3..0000000 --- a/publi/node_modules/caniuse-lite/data/features/offline-apps.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"A B","2":"E CB","8":"K C G"},B:{"1":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v TB SB","4":"1","8":"VB"},D:{"1":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"1":"F J K C G E A B IB JB KB LB MB NB","8":"GB AB"},F:{"1":"8 9 B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t RB UB x","2":"E OB","8":"PB QB"},G:{"1":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"2":"hB"},I:{"1":"1 F g iB jB kB lB BB mB nB"},J:{"1":"C A"},K:{"1":"8 9 B D L x","2":"A"},L:{"1":"g"},M:{"1":"v"},N:{"1":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:7,C:"Offline web applications"}; diff --git a/publi/node_modules/caniuse-lite/data/features/offscreencanvas.js b/publi/node_modules/caniuse-lite/data/features/offscreencanvas.js deleted file mode 100644 index 1ca6aac..0000000 --- a/publi/node_modules/caniuse-lite/data/features/offscreencanvas.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"2":"D u Y I M H"},C:{"2":"1 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m TB SB","194":"0 2 3 4 5 6 7 n o p q r s t y z v"},D:{"2":"0 2 3 4 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v","322":"5 6 7 HB g DB XB EB FB"},E:{"2":"F J K C G E A B GB AB IB JB KB LB MB NB"},F:{"2":"8 9 E B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n OB PB QB RB UB x","322":"o p q r s t"},G:{"2":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"2":"hB"},I:{"2":"1 F g iB jB kB lB BB mB nB"},J:{"2":"C A"},K:{"2":"8 9 A B D L x"},L:{"194":"g"},M:{"194":"v"},N:{"2":"A B"},O:{"2":"oB"},P:{"2":"F J pB"},Q:{"2":"qB"},R:{"2":"rB"}},B:1,C:"OffscreenCanvas"}; diff --git a/publi/node_modules/caniuse-lite/data/features/ogg-vorbis.js b/publi/node_modules/caniuse-lite/data/features/ogg-vorbis.js deleted file mode 100644 index 1b40dff..0000000 --- a/publi/node_modules/caniuse-lite/data/features/ogg-vorbis.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"2":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v TB SB","2":"1 VB"},D:{"1":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"2":"F J K C G E A B GB AB IB JB KB LB MB NB"},F:{"1":"8 9 B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t QB RB UB x","2":"E OB PB"},G:{"2":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"2":"hB"},I:{"1":"1 F g kB lB BB mB nB","16":"iB jB"},J:{"1":"A","2":"C"},K:{"1":"8 9 B D L x","2":"A"},L:{"1":"g"},M:{"1":"v"},N:{"2":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:6,C:"Ogg Vorbis audio format"}; diff --git a/publi/node_modules/caniuse-lite/data/features/ogv.js b/publi/node_modules/caniuse-lite/data/features/ogv.js deleted file mode 100644 index 25f9f01..0000000 --- a/publi/node_modules/caniuse-lite/data/features/ogv.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G CB","8":"E A B"},B:{"8":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v TB SB","2":"1 VB"},D:{"1":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"2":"F J K C G E A B GB AB IB JB KB LB MB NB"},F:{"1":"8 9 B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t QB RB UB x","2":"E OB PB"},G:{"2":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"2":"hB"},I:{"2":"1 F g iB jB kB lB BB mB nB"},J:{"2":"C A"},K:{"2":"8 9 A B D L x"},L:{"2":"g"},M:{"1":"v"},N:{"8":"A B"},O:{"1":"oB"},P:{"2":"F J pB"},Q:{"2":"qB"},R:{"2":"rB"}},B:6,C:"Ogg/Theora video format"}; diff --git a/publi/node_modules/caniuse-lite/data/features/ol-reversed.js b/publi/node_modules/caniuse-lite/data/features/ol-reversed.js deleted file mode 100644 index 523175a..0000000 --- a/publi/node_modules/caniuse-lite/data/features/ol-reversed.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"2":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v","2":"1 VB F J K C G E A B D u Y I M H TB SB"},D:{"1":"0 2 3 4 5 6 7 P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB","2":"F J K C G E A B D u Y I","16":"M H N O"},E:{"1":"C G E A B JB KB LB MB NB","2":"F J GB AB IB","16":"K"},F:{"1":"I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t x","2":"8 9 E B OB PB QB RB UB","16":"D"},G:{"1":"G ZB aB bB cB dB eB fB gB","2":"AB WB BB YB"},H:{"1":"hB"},I:{"1":"g mB nB","2":"1 F iB jB kB lB BB"},J:{"1":"A","2":"C"},K:{"1":"L","2":"8 9 A B D x"},L:{"1":"g"},M:{"1":"v"},N:{"2":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:1,C:"Reversed attribute of ordered lists"}; diff --git a/publi/node_modules/caniuse-lite/data/features/once-event-listener.js b/publi/node_modules/caniuse-lite/data/features/once-event-listener.js deleted file mode 100644 index 07c3d4f..0000000 --- a/publi/node_modules/caniuse-lite/data/features/once-event-listener.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"1":"M H","2":"D u Y I"},C:{"1":"0 2 3 4 5 6 7 t y z v","2":"1 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s TB SB"},D:{"1":"2 3 5 6 7 v HB g DB XB EB FB","2":"0 4 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z"},E:{"1":"A B MB NB","2":"F J K C G E GB AB IB JB KB LB"},F:{"1":"l m n o p q r s t","2":"8 9 E B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k OB PB QB RB UB x"},G:{"1":"eB fB gB","2":"G AB WB BB YB ZB aB bB cB dB"},H:{"2":"hB"},I:{"1":"g","2":"1 F iB jB kB lB BB mB nB"},J:{"2":"C A"},K:{"2":"8 9 A B D L x"},L:{"1":"g"},M:{"1":"v"},N:{"2":"A B"},O:{"2":"oB"},P:{"1":"pB","2":"F J"},Q:{"2":"qB"},R:{"2":"rB"}},B:1,C:"\"once\" event listener option"}; diff --git a/publi/node_modules/caniuse-lite/data/features/online-status.js b/publi/node_modules/caniuse-lite/data/features/online-status.js deleted file mode 100644 index df57899..0000000 --- a/publi/node_modules/caniuse-lite/data/features/online-status.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"E A B","2":"K C CB","260":"G"},B:{"1":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 k l m n o p q r s t y z v TB SB","2":"1 VB","516":"F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j"},D:{"1":"0 2 3 4 5 6 7 Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB","2":"F J K C G E A B D u"},E:{"1":"J K C G E A B IB JB KB LB MB NB","2":"F GB AB"},F:{"1":"I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t","2":"8 9 E B D OB PB QB RB UB","4":"x"},G:{"1":"G BB YB ZB aB bB cB dB eB fB gB","16":"AB WB"},H:{"2":"hB"},I:{"1":"1 F g kB lB BB mB nB","16":"iB jB"},J:{"1":"A","132":"C"},K:{"1":"L","2":"8 9 A B D x"},L:{"1":"g"},M:{"1":"v"},N:{"1":"A B"},O:{"132":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:1,C:"Online/offline status"}; diff --git a/publi/node_modules/caniuse-lite/data/features/opus.js b/publi/node_modules/caniuse-lite/data/features/opus.js deleted file mode 100644 index c313eb8..0000000 --- a/publi/node_modules/caniuse-lite/data/features/opus.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"1":"Y I M H","2":"D u"},C:{"1":"0 2 3 4 5 6 7 I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v","2":"1 VB F J K C G E A B D u Y TB SB"},D:{"1":"0 2 3 4 5 6 7 c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB","2":"F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b"},E:{"1":"B NB","2":"F J K C G E A GB AB IB JB KB LB MB"},F:{"1":"P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t","2":"8 9 E B D I M H N O OB PB QB RB UB x"},G:{"1":"gB","2":"G AB WB BB YB ZB aB bB cB dB eB fB"},H:{"2":"hB"},I:{"2":"1 F g iB jB kB lB BB mB nB"},J:{"2":"C A"},K:{"2":"8 9 A B D L x"},L:{"1":"g"},M:{"1":"v"},N:{"2":"A B"},O:{"2":"oB"},P:{"1":"J pB","2":"F"},Q:{"2":"qB"},R:{"1":"rB"}},B:6,C:"Opus"}; diff --git a/publi/node_modules/caniuse-lite/data/features/outline.js b/publi/node_modules/caniuse-lite/data/features/outline.js deleted file mode 100644 index 05fecd4..0000000 --- a/publi/node_modules/caniuse-lite/data/features/outline.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C CB","260":"G","388":"E A B"},B:{"1":"I M H","388":"D u Y"},C:{"1":"0 1 2 3 4 5 6 7 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v TB SB"},D:{"1":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"1":"F J K C G E A B GB AB IB JB KB LB MB NB"},F:{"1":"D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t UB","129":"x","260":"8 9 E B OB PB QB RB"},G:{"1":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"2":"hB"},I:{"1":"1 F g iB jB kB lB BB mB nB"},J:{"1":"C A"},K:{"1":"D L x","260":"8 9 A B"},L:{"1":"g"},M:{"1":"v"},N:{"388":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:4,C:"CSS outline properties"}; diff --git a/publi/node_modules/caniuse-lite/data/features/pad-start-end.js b/publi/node_modules/caniuse-lite/data/features/pad-start-end.js deleted file mode 100644 index 8ac5ec2..0000000 --- a/publi/node_modules/caniuse-lite/data/features/pad-start-end.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"1":"I M H","2":"D u Y"},C:{"1":"0 2 3 4 5 6 7 r s t y z v","2":"1 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q TB SB"},D:{"1":"5 6 7 v HB g DB XB EB FB","2":"0 2 3 4 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z"},E:{"1":"A B MB NB","2":"F J K C G E GB AB IB JB KB LB"},F:{"1":"n o p q r s t","2":"8 9 E B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m OB PB QB RB UB x"},G:{"1":"eB fB gB","2":"G AB WB BB YB ZB aB bB cB dB"},H:{"16":"hB"},I:{"2":"1 F iB jB kB lB BB mB nB","16":"g"},J:{"2":"C","16":"A"},K:{"2":"8 9 A B D x","16":"L"},L:{"2":"g"},M:{"2":"v"},N:{"2":"A B"},O:{"2":"oB"},P:{"2":"F J pB"},Q:{"2":"qB"},R:{"2":"rB"}},B:7,C:"String.prototype.padStart(), String.prototype.padEnd()"}; diff --git a/publi/node_modules/caniuse-lite/data/features/page-transition-events.js b/publi/node_modules/caniuse-lite/data/features/page-transition-events.js deleted file mode 100644 index deef2b6..0000000 --- a/publi/node_modules/caniuse-lite/data/features/page-transition-events.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"B","2":"K C G E A CB"},B:{"1":"D u Y I M H"},C:{"1":"0 1 2 3 4 5 6 7 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v TB SB"},D:{"1":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"1":"J K C G E A B IB JB KB LB MB NB","2":"F GB AB"},F:{"1":"I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t","2":"8 9 E B D OB PB QB RB UB x"},G:{"1":"G YB ZB aB bB cB dB eB fB gB","16":"AB WB BB"},H:{"2":"hB"},I:{"1":"1 F g kB lB BB mB nB","16":"iB jB"},J:{"1":"C A"},K:{"1":"L","2":"8 9 A B D x"},L:{"1":"g"},M:{"1":"v"},N:{"1":"B","2":"A"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:1,C:"PageTransitionEvent"}; diff --git a/publi/node_modules/caniuse-lite/data/features/pagevisibility.js b/publi/node_modules/caniuse-lite/data/features/pagevisibility.js deleted file mode 100644 index 797d1aa..0000000 --- a/publi/node_modules/caniuse-lite/data/features/pagevisibility.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"A B","2":"K C G E CB"},B:{"1":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v","2":"1 VB F J K C G E TB SB","33":"A B D u Y I M H"},D:{"1":"0 2 3 4 5 6 7 c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB","2":"F J K C G E A B D u","33":"Y I M H N O P Q R S T U V W X w Z a b"},E:{"1":"C G E A B JB KB LB MB NB","2":"F J K GB AB IB"},F:{"1":"P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t x","2":"8 9 E B D OB PB QB RB UB","33":"I M H N O"},G:{"1":"G aB bB cB dB eB fB gB","2":"AB WB BB YB ZB"},H:{"2":"hB"},I:{"1":"g","2":"1 F iB jB kB lB BB","33":"mB nB"},J:{"1":"A","2":"C"},K:{"1":"L x","2":"8 9 A B D"},L:{"1":"g"},M:{"1":"v"},N:{"1":"A B"},O:{"1":"oB"},P:{"1":"J pB","33":"F"},Q:{"1":"qB"},R:{"1":"rB"}},B:2,C:"Page Visibility"}; diff --git a/publi/node_modules/caniuse-lite/data/features/passive-event-listener.js b/publi/node_modules/caniuse-lite/data/features/passive-event-listener.js deleted file mode 100644 index a1e85ce..0000000 --- a/publi/node_modules/caniuse-lite/data/features/passive-event-listener.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"1":"M H","2":"D u Y I"},C:{"1":"0 2 3 4 5 6 7 s t y z v","2":"1 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r TB SB"},D:{"1":"0 2 3 4 5 6 7 y z v HB g DB XB EB FB","2":"F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t"},E:{"1":"A B MB NB","2":"F J K C G E GB AB IB JB KB LB"},F:{"1":"h i j k l m n o p q r s t","2":"8 9 E B D I M H N O P Q R S T U V W X w Z a b c d e f L OB PB QB RB UB x"},G:{"1":"eB fB gB","2":"G AB WB BB YB ZB aB bB cB dB"},H:{"2":"hB"},I:{"1":"g","2":"1 F iB jB kB lB BB mB nB"},J:{"2":"C A"},K:{"2":"8 9 A B D L x"},L:{"1":"g"},M:{"1":"v"},N:{"2":"A B"},O:{"1":"oB"},P:{"1":"J pB","2":"F"},Q:{"2":"qB"},R:{"2":"rB"}},B:1,C:"Passive event listeners"}; diff --git a/publi/node_modules/caniuse-lite/data/features/path2d.js b/publi/node_modules/caniuse-lite/data/features/path2d.js deleted file mode 100644 index 4888a5f..0000000 --- a/publi/node_modules/caniuse-lite/data/features/path2d.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"2":"D u","132":"Y I M H"},C:{"1":"0 2 3 4 5 6 7 r s t y z v","2":"1 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z TB SB","132":"a b c d e f L h i j k l m n o p q"},D:{"1":"DB XB EB FB","2":"F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e","132":"0 2 3 4 5 6 7 f L h i j k l m n o p q r s t y z v HB g"},E:{"1":"A B LB MB NB","2":"F J K C GB AB IB JB","132":"G E KB"},F:{"2":"8 9 E B D I M H N O P Q R OB PB QB RB UB x","132":"S T U V W X w Z a b c d e f L h i j k l m n o p q r s t"},G:{"1":"cB dB eB fB gB","2":"AB WB BB YB ZB aB","16":"G","132":"bB"},H:{"2":"hB"},I:{"2":"1 F iB jB kB lB BB mB nB","132":"g"},J:{"1":"A","2":"C"},K:{"2":"8 9 A B D x","132":"L"},L:{"132":"g"},M:{"1":"v"},N:{"2":"A B"},O:{"132":"oB"},P:{"132":"F J pB"},Q:{"132":"qB"},R:{"132":"rB"}},B:1,C:"Path2D"}; diff --git a/publi/node_modules/caniuse-lite/data/features/payment-request.js b/publi/node_modules/caniuse-lite/data/features/payment-request.js deleted file mode 100644 index b3d67b8..0000000 --- a/publi/node_modules/caniuse-lite/data/features/payment-request.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"1":"I M H","2":"D u","322":"Y"},C:{"2":"0 1 4 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z TB SB","4162":"2 3 5 6 7 v"},D:{"1":"HB g DB XB EB FB","2":"F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z","194":"0 2 3 4 5 v","1090":"6 7"},E:{"1":"NB","2":"F J K C G E GB AB IB JB KB LB","514":"A B MB"},F:{"1":"r s t","2":"8 9 E B D I M H N O P Q R S T U V W X w Z a b c d e f L h i OB PB QB RB UB x","194":"j k l m n o p q"},G:{"2":"G AB WB BB YB ZB aB bB cB dB","514":"eB fB gB"},H:{"2":"hB"},I:{"2":"1 F g iB jB kB lB BB mB nB"},J:{"2":"C A"},K:{"2":"8 9 A B D L x"},L:{"2049":"g"},M:{"2":"v"},N:{"2":"A B"},O:{"2":"oB"},P:{"1":"J pB","2":"F"},Q:{"194":"qB"},R:{"2":"rB"}},B:5,C:"Payment Request API"}; diff --git a/publi/node_modules/caniuse-lite/data/features/permissions-api.js b/publi/node_modules/caniuse-lite/data/features/permissions-api.js deleted file mode 100644 index 6c21086..0000000 --- a/publi/node_modules/caniuse-lite/data/features/permissions-api.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"2":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 p q r s t y z v","2":"1 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o TB SB"},D:{"1":"0 2 3 4 5 6 7 m n o p q r s t y z v HB g DB XB EB FB","2":"F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l"},E:{"2":"F J K C G E A B GB AB IB JB KB LB MB NB"},F:{"1":"Z a b c d e f L h i j k l m n o p q r s t","2":"8 9 E B D I M H N O P Q R S T U V W X w OB PB QB RB UB x"},G:{"2":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"2":"hB"},I:{"2":"1 F g iB jB kB lB BB mB nB"},J:{"2":"C A"},K:{"2":"8 9 A B D L x"},L:{"1":"g"},M:{"1":"v"},N:{"2":"A B"},O:{"2":"oB"},P:{"1":"F J pB"},Q:{"2":"qB"},R:{"2":"rB"}},B:7,C:"Permissions API"}; diff --git a/publi/node_modules/caniuse-lite/data/features/picture.js b/publi/node_modules/caniuse-lite/data/features/picture.js deleted file mode 100644 index ed2218b..0000000 --- a/publi/node_modules/caniuse-lite/data/features/picture.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"1":"u Y I M H","2":"D"},C:{"1":"0 2 3 4 5 6 7 h i j k l m n o p q r s t y z v","2":"1 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c TB SB","578":"d e f L"},D:{"1":"0 2 3 4 5 6 7 h i j k l m n o p q r s t y z v HB g DB XB EB FB","2":"F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f","194":"L"},E:{"1":"A B LB MB NB","2":"F J K C G E GB AB IB JB KB"},F:{"1":"U V W X w Z a b c d e f L h i j k l m n o p q r s t","2":"8 9 E B D I M H N O P Q R S OB PB QB RB UB x","322":"T"},G:{"1":"dB eB fB gB","2":"G AB WB BB YB ZB aB bB cB"},H:{"2":"hB"},I:{"1":"g","2":"1 F iB jB kB lB BB mB nB"},J:{"2":"C A"},K:{"1":"L","2":"8 9 A B D x"},L:{"1":"g"},M:{"1":"v"},N:{"2":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:1,C:"Picture element"}; diff --git a/publi/node_modules/caniuse-lite/data/features/ping.js b/publi/node_modules/caniuse-lite/data/features/ping.js deleted file mode 100644 index 3d0538a..0000000 --- a/publi/node_modules/caniuse-lite/data/features/ping.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"2":"D u Y I M H"},C:{"2":"VB","194":"0 1 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v TB SB"},D:{"1":"0 2 3 4 5 6 7 I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB","16":"F J K C G E A B D u Y"},E:{"1":"K C G E A B JB KB LB MB NB","2":"F J GB AB IB"},F:{"1":"I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t","2":"8 9 E B D OB PB QB RB UB x"},G:{"1":"G YB ZB aB bB cB dB eB fB gB","2":"AB WB BB"},H:{"2":"hB"},I:{"1":"g mB nB","2":"1 F iB jB kB lB BB"},J:{"2":"C A"},K:{"1":"L","2":"8 9 A B D x"},L:{"1":"g"},M:{"194":"v"},N:{"2":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:1,C:"Ping attribute"}; diff --git a/publi/node_modules/caniuse-lite/data/features/png-alpha.js b/publi/node_modules/caniuse-lite/data/features/png-alpha.js deleted file mode 100644 index 9f05f3b..0000000 --- a/publi/node_modules/caniuse-lite/data/features/png-alpha.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"C G E A B","2":"CB","8":"K"},B:{"1":"D u Y I M H"},C:{"1":"0 1 2 3 4 5 6 7 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v TB SB"},D:{"1":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"1":"F J K C G E A B GB AB IB JB KB LB MB NB"},F:{"1":"8 9 E B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t OB PB QB RB UB x"},G:{"1":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"1":"hB"},I:{"1":"1 F g iB jB kB lB BB mB nB"},J:{"1":"C A"},K:{"1":"8 9 A B D L x"},L:{"1":"g"},M:{"1":"v"},N:{"1":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:2,C:"PNG alpha transparency"}; diff --git a/publi/node_modules/caniuse-lite/data/features/pointer-events.js b/publi/node_modules/caniuse-lite/data/features/pointer-events.js deleted file mode 100644 index a06c6bd..0000000 --- a/publi/node_modules/caniuse-lite/data/features/pointer-events.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"B","2":"K C G E A CB"},B:{"1":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v SB","2":"1 VB TB"},D:{"1":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"1":"F J K C G E A B IB JB KB LB MB NB","2":"GB AB"},F:{"1":"I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t","2":"8 9 E B D OB PB QB RB UB x"},G:{"1":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"2":"hB"},I:{"1":"1 F g iB jB kB lB BB mB nB"},J:{"1":"C A"},K:{"1":"L","2":"8 9 A B D x"},L:{"1":"g"},M:{"1":"v"},N:{"1":"B","2":"A"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:7,C:"CSS pointer-events (for HTML)"}; diff --git a/publi/node_modules/caniuse-lite/data/features/pointer.js b/publi/node_modules/caniuse-lite/data/features/pointer.js deleted file mode 100644 index 678396b..0000000 --- a/publi/node_modules/caniuse-lite/data/features/pointer.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"B","2":"K C G E CB","164":"A"},B:{"1":"D u Y I M H"},C:{"2":"1 VB F J TB SB","8":"K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j","328":"0 2 3 4 5 6 7 k l m n o p q r s t y z v"},D:{"1":"2 3 5 6 7 v HB g DB XB EB FB","2":"F J K C G E A B D u Y I M H N O P Q","8":"R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y","584":"0 4 z"},E:{"2":"F J K GB AB IB","8":"C G E A B JB KB LB MB NB"},F:{"1":"l m n o p q r s t","2":"8 9 E B D OB PB QB RB UB x","8":"I M H N O P Q R S T U V W X w Z a b c d e f L h","584":"i j k"},G:{"8":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"2":"hB"},I:{"1":"g","8":"1 F iB jB kB lB BB mB nB"},J:{"8":"C A"},K:{"2":"A","8":"8 9 B D L x"},L:{"1":"g"},M:{"328":"v"},N:{"1":"B","36":"A"},O:{"8":"oB"},P:{"1":"pB","2":"J","8":"F"},Q:{"584":"qB"},R:{"2":"rB"}},B:2,C:"Pointer events"}; diff --git a/publi/node_modules/caniuse-lite/data/features/pointerlock.js b/publi/node_modules/caniuse-lite/data/features/pointerlock.js deleted file mode 100644 index e7f0158..0000000 --- a/publi/node_modules/caniuse-lite/data/features/pointerlock.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"1":"u Y I M H","2":"D"},C:{"1":"0 2 3 4 5 6 7 k l m n o p q r s t y z v","2":"1 VB F J K C G E A B D u TB SB","33":"Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j"},D:{"1":"0 2 3 4 5 6 7 L h i j k l m n o p q r s t y z v HB g DB XB EB FB","2":"F J K C G E A B D u Y I","33":"R S T U V W X w Z a b c d e f","66":"M H N O P Q"},E:{"1":"B MB NB","2":"F J K C G E A GB AB IB JB KB LB"},F:{"1":"T U V W X w Z a b c d e f L h i j k l m n o p q r s t","2":"8 9 E B D OB PB QB RB UB x","33":"I M H N O P Q R S"},G:{"1":"fB gB","2":"G AB WB BB YB ZB aB bB cB dB eB"},H:{"2":"hB"},I:{"2":"1 F g iB jB kB lB BB mB nB"},J:{"2":"C A"},K:{"2":"8 9 A B D L x"},L:{"2":"g"},M:{"2":"v"},N:{"2":"A B"},O:{"2":"oB"},P:{"2":"F J pB"},Q:{"2":"qB"},R:{"2":"rB"}},B:4,C:"PointerLock API"}; diff --git a/publi/node_modules/caniuse-lite/data/features/progress.js b/publi/node_modules/caniuse-lite/data/features/progress.js deleted file mode 100644 index 5d45882..0000000 --- a/publi/node_modules/caniuse-lite/data/features/progress.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"A B","2":"K C G E CB"},B:{"1":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v","2":"1 VB F J TB SB"},D:{"1":"0 2 3 4 5 6 7 G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB","2":"F J K C"},E:{"1":"K C G E A B JB KB LB MB NB","2":"F J GB AB IB"},F:{"1":"8 9 B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t UB x","2":"E OB PB QB RB"},G:{"2":"AB WB BB YB ZB","132":"G aB bB cB dB eB fB gB"},H:{"1":"hB"},I:{"1":"g mB nB","2":"1 F iB jB kB lB BB"},J:{"1":"C A"},K:{"1":"8 9 B D L x","2":"A"},L:{"1":"g"},M:{"1":"v"},N:{"1":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:1,C:"progress element"}; diff --git a/publi/node_modules/caniuse-lite/data/features/promises.js b/publi/node_modules/caniuse-lite/data/features/promises.js deleted file mode 100644 index cba1bbd..0000000 --- a/publi/node_modules/caniuse-lite/data/features/promises.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"8":"K C G E A B CB"},B:{"1":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 w Z a b c d e f L h i j k l m n o p q r s t y z v","4":"W X","8":"1 VB F J K C G E A B D u Y I M H N O P Q R S T U V TB SB"},D:{"1":"0 2 3 4 5 6 7 c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB","4":"b","8":"F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a"},E:{"1":"G E A B KB LB MB NB","8":"F J K C GB AB IB JB"},F:{"1":"P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t","4":"O","8":"8 9 E B D I M H N OB PB QB RB UB x"},G:{"1":"G bB cB dB eB fB gB","8":"AB WB BB YB ZB aB"},H:{"8":"hB"},I:{"1":"g nB","8":"1 F iB jB kB lB BB mB"},J:{"8":"C A"},K:{"1":"L","8":"8 9 A B D x"},L:{"1":"g"},M:{"1":"v"},N:{"8":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:6,C:"Promises"}; diff --git a/publi/node_modules/caniuse-lite/data/features/proximity.js b/publi/node_modules/caniuse-lite/data/features/proximity.js deleted file mode 100644 index ac205ca..0000000 --- a/publi/node_modules/caniuse-lite/data/features/proximity.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"2":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v","2":"1 VB F J K C G E A B D u Y TB SB"},D:{"2":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"2":"F J K C G E A B GB AB IB JB KB LB MB NB"},F:{"2":"8 9 E B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t OB PB QB RB UB x"},G:{"2":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"2":"hB"},I:{"2":"1 F g iB jB kB lB BB mB nB"},J:{"2":"C A"},K:{"2":"8 9 A B D L x"},L:{"2":"g"},M:{"1":"v"},N:{"2":"A B"},O:{"2":"oB"},P:{"2":"F J pB"},Q:{"2":"qB"},R:{"2":"rB"}},B:4,C:"Proximity API"}; diff --git a/publi/node_modules/caniuse-lite/data/features/proxy.js b/publi/node_modules/caniuse-lite/data/features/proxy.js deleted file mode 100644 index 8727d71..0000000 --- a/publi/node_modules/caniuse-lite/data/features/proxy.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"1":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v","2":"1 VB F J K C G E A B D u Y I M H TB SB"},D:{"1":"0 2 3 4 5 6 7 s t y z v HB g DB XB EB FB","2":"F J K C G E A B D u Y I M H N h i j k l m n o p q r","66":"O P Q R S T U V W X w Z a b c d e f L"},E:{"1":"A B MB NB","2":"F J K C G E GB AB IB JB KB LB"},F:{"1":"f L h i j k l m n o p q r s t","2":"8 9 E B D U V W X w Z a b c d e OB PB QB RB UB x","66":"I M H N O P Q R S T"},G:{"1":"eB fB gB","2":"G AB WB BB YB ZB aB bB cB dB"},H:{"2":"hB"},I:{"1":"g","2":"1 F iB jB kB lB BB mB nB"},J:{"2":"C A"},K:{"1":"L","2":"8 9 A B D x"},L:{"1":"g"},M:{"1":"v"},N:{"2":"A B"},O:{"2":"oB"},P:{"1":"J pB","2":"F"},Q:{"2":"qB"},R:{"2":"rB"}},B:6,C:"Proxy object"}; diff --git a/publi/node_modules/caniuse-lite/data/features/publickeypinning.js b/publi/node_modules/caniuse-lite/data/features/publickeypinning.js deleted file mode 100644 index 36c7759..0000000 --- a/publi/node_modules/caniuse-lite/data/features/publickeypinning.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"2":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 e f L h i j k l m n o p q r s t y z v","2":"1 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d TB SB"},D:{"1":"0 2 3 4 5 6 7 h i j k l m n o p q r s t y z v HB g DB XB EB FB","2":"F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L"},E:{"2":"F J K C G E A B GB AB IB JB KB LB MB NB"},F:{"1":"U V W X w Z a b c d e f L h i j k l m n o p q r s t","2":"8 9 E B D I M H N O OB PB QB RB UB x","4":"S","16":"P Q R T"},G:{"2":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"2":"hB"},I:{"1":"g","2":"1 F iB jB kB lB BB mB nB"},J:{"2":"C A"},K:{"2":"8 9 A B D L x"},L:{"1":"g"},M:{"1":"v"},N:{"2":"A B"},O:{"2":"oB"},P:{"1":"F J pB"},Q:{"2":"qB"},R:{"1":"rB"}},B:6,C:"Public Key Pinning"}; diff --git a/publi/node_modules/caniuse-lite/data/features/push-api.js b/publi/node_modules/caniuse-lite/data/features/push-api.js deleted file mode 100644 index 1d0dffe..0000000 --- a/publi/node_modules/caniuse-lite/data/features/push-api.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"2":"D u Y I M H"},C:{"2":"1 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m TB SB","257":"0 2 3 4 5 6 7 n p q r s t y v","1281":"o z"},D:{"2":"F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m","257":"0 2 3 4 5 6 7 t y z v HB g DB XB EB FB","388":"n o p q r s"},E:{"2":"F J K C G E GB AB IB JB KB","514":"A B LB MB NB"},F:{"2":"8 9 E B D I M H N O P Q R S T U V W X w Z a b c d e f OB PB QB RB UB x","16":"L h i j k","257":"l m n o p q r s t"},G:{"2":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"2":"hB"},I:{"2":"1 F g iB jB kB lB BB mB nB"},J:{"2":"C A"},K:{"1":"L","2":"8 9 A B D x"},L:{"1":"g"},M:{"1":"v"},N:{"2":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"2":"rB"}},B:5,C:"Push API"}; diff --git a/publi/node_modules/caniuse-lite/data/features/queryselector.js b/publi/node_modules/caniuse-lite/data/features/queryselector.js deleted file mode 100644 index 19874f7..0000000 --- a/publi/node_modules/caniuse-lite/data/features/queryselector.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"E A B","2":"CB","8":"K C","132":"G"},B:{"1":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v TB SB","8":"1 VB"},D:{"1":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"1":"F J K C G E A B GB AB IB JB KB LB MB NB"},F:{"1":"8 9 B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t PB QB RB UB x","8":"E OB"},G:{"1":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"1":"hB"},I:{"1":"1 F g iB jB kB lB BB mB nB"},J:{"1":"C A"},K:{"1":"8 9 A B D L x"},L:{"1":"g"},M:{"1":"v"},N:{"1":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:1,C:"querySelector/querySelectorAll"}; diff --git a/publi/node_modules/caniuse-lite/data/features/readonly-attr.js b/publi/node_modules/caniuse-lite/data/features/readonly-attr.js deleted file mode 100644 index dae4308..0000000 --- a/publi/node_modules/caniuse-lite/data/features/readonly-attr.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"K C G E A B","16":"CB"},B:{"1":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v","16":"1 VB TB SB"},D:{"1":"0 2 3 4 5 6 7 V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB","16":"F J K C G E A B D u Y I M H N O P Q R S T U"},E:{"1":"K C G E A B IB JB KB LB MB NB","16":"F J GB AB"},F:{"1":"I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t","16":"E OB","132":"8 9 B D PB QB RB UB x"},G:{"1":"G aB bB cB dB eB fB gB","16":"AB WB BB YB ZB"},H:{"1":"hB"},I:{"1":"1 F g kB lB BB mB nB","16":"iB jB"},J:{"1":"C A"},K:{"1":"L","132":"8 9 A B D x"},L:{"1":"g"},M:{"1":"v"},N:{"257":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:1,C:"readonly attribute of input and textarea elements"}; diff --git a/publi/node_modules/caniuse-lite/data/features/referrer-policy.js b/publi/node_modules/caniuse-lite/data/features/referrer-policy.js deleted file mode 100644 index 9cb137b..0000000 --- a/publi/node_modules/caniuse-lite/data/features/referrer-policy.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"132":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 f L h i j k l m n o p q r s t y z v","2":"1 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e TB SB"},D:{"1":"HB g DB XB EB FB","2":"F J K C G E A B D u Y I M H N O P","260":"0 2 3 4 5 6 7 Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v"},E:{"1":"NB","2":"F J K C GB AB IB JB","132":"G E A B KB LB MB"},F:{"1":"I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t","2":"8 9 E B D OB PB QB RB UB x"},G:{"2":"AB WB BB YB ZB aB","132":"G bB cB dB eB fB gB"},H:{"2":"hB"},I:{"1":"g","2":"1 F iB jB kB lB BB mB nB"},J:{"2":"C A"},K:{"1":"L","2":"8 9 A B D x"},L:{"1":"g"},M:{"1":"v"},N:{"2":"A B"},O:{"2":"oB"},P:{"1":"J pB","2":"F"},Q:{"1":"qB"},R:{"1":"rB"}},B:5,C:"Referrer Policy"}; diff --git a/publi/node_modules/caniuse-lite/data/features/registerprotocolhandler.js b/publi/node_modules/caniuse-lite/data/features/registerprotocolhandler.js deleted file mode 100644 index a31838d..0000000 --- a/publi/node_modules/caniuse-lite/data/features/registerprotocolhandler.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"2":"D u Y I M H"},C:{"1":"0 1 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v TB SB","2":"VB"},D:{"2":"F J K C G E A B D","129":"0 2 3 4 5 6 7 u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"2":"F J K C G E A B GB AB IB JB KB LB MB NB"},F:{"2":"8 9 E B OB PB QB RB","129":"D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t UB x"},G:{"2":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"2":"hB"},I:{"2":"1 F g iB jB kB lB BB mB nB"},J:{"2":"C","129":"A"},K:{"2":"8 9 A B D L x"},L:{"2":"g"},M:{"2":"v"},N:{"2":"A B"},O:{"2":"oB"},P:{"2":"F J pB"},Q:{"2":"qB"},R:{"2":"rB"}},B:1,C:"Custom protocol handling"}; diff --git a/publi/node_modules/caniuse-lite/data/features/rel-noopener.js b/publi/node_modules/caniuse-lite/data/features/rel-noopener.js deleted file mode 100644 index c24bfab..0000000 --- a/publi/node_modules/caniuse-lite/data/features/rel-noopener.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"2":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 z v","2":"1 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y TB SB"},D:{"1":"0 2 3 4 5 6 7 s t y z v HB g DB XB EB FB","2":"F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r"},E:{"1":"B MB NB","2":"F J K C G E A GB AB IB JB KB LB"},F:{"1":"f L h i j k l m n o p q r s t","2":"8 9 E B D I M H N O P Q R S T U V W X w Z a b c d e OB PB QB RB UB x"},G:{"1":"fB gB","2":"G AB WB BB YB ZB aB bB cB dB eB"},H:{"2":"hB"},I:{"1":"g","2":"1 F iB jB kB lB BB mB nB"},J:{"2":"C A"},K:{"1":"L","2":"8 9 A B D x"},L:{"1":"g"},M:{"1":"v"},N:{"2":"A B"},O:{"2":"oB"},P:{"1":"J pB","2":"F"},Q:{"1":"qB"},R:{"1":"rB"}},B:1,C:"rel=noopener"}; diff --git a/publi/node_modules/caniuse-lite/data/features/rel-noreferrer.js b/publi/node_modules/caniuse-lite/data/features/rel-noreferrer.js deleted file mode 100644 index ca0096e..0000000 --- a/publi/node_modules/caniuse-lite/data/features/rel-noreferrer.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A CB","132":"B"},B:{"1":"u Y I M H","16":"D"},C:{"1":"0 2 3 4 5 6 7 c d e f L h i j k l m n o p q r s t y z v","2":"1 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b TB SB"},D:{"1":"0 2 3 4 5 6 7 M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB","16":"F J K C G E A B D u Y I"},E:{"1":"J K C G E A B IB JB KB LB MB NB","2":"F GB AB"},F:{"1":"I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t","2":"8 9 E B D OB PB QB RB UB x"},G:{"1":"G WB BB YB ZB aB bB cB dB eB fB gB","2":"AB"},H:{"2":"hB"},I:{"1":"1 F g kB lB BB mB nB","16":"iB jB"},J:{"1":"C A"},K:{"1":"L","2":"8 9 A B D x"},L:{"1":"g"},M:{"1":"v"},N:{"2":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:1,C:"Link type \"noreferrer\""}; diff --git a/publi/node_modules/caniuse-lite/data/features/rellist.js b/publi/node_modules/caniuse-lite/data/features/rellist.js deleted file mode 100644 index fc25bc8..0000000 --- a/publi/node_modules/caniuse-lite/data/features/rellist.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"2":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 Z a b c d e f L h i j k l m n o p q r s t y z v","2":"1 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w TB SB"},D:{"2":"F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s","132":"0 2 3 4 5 6 7 t y z v HB g DB XB EB FB"},E:{"1":"E A B LB MB NB","2":"F J K C G GB AB IB JB KB"},F:{"2":"8 9 E B D I M H N O P Q R S T U V W X w Z a b c d e f OB PB QB RB UB x","132":"L h i j k l m n o p q r s t"},G:{"1":"cB dB eB fB gB","2":"G AB WB BB YB ZB aB bB"},H:{"2":"hB"},I:{"2":"1 F iB jB kB lB BB mB nB","132":"g"},J:{"2":"C A"},K:{"2":"8 9 A B D L x"},L:{"132":"g"},M:{"1":"v"},N:{"2":"A B"},O:{"2":"oB"},P:{"2":"F","132":"J pB"},Q:{"2":"qB"},R:{"2":"rB"}},B:1,C:"relList (DOMTokenList)"}; diff --git a/publi/node_modules/caniuse-lite/data/features/rem.js b/publi/node_modules/caniuse-lite/data/features/rem.js deleted file mode 100644 index 1ccd8d9..0000000 --- a/publi/node_modules/caniuse-lite/data/features/rem.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"B","2":"K C G CB","132":"E A"},B:{"1":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v SB","2":"1 VB TB"},D:{"1":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"1":"J K C G E A B IB JB KB LB MB NB","2":"F GB AB"},F:{"1":"D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t UB x","2":"8 9 E B OB PB QB RB"},G:{"1":"G WB BB ZB aB bB cB dB eB fB gB","2":"AB","260":"YB"},H:{"1":"hB"},I:{"1":"1 F g iB jB kB lB BB mB nB"},J:{"1":"C A"},K:{"1":"D L x","2":"8 9 A B"},L:{"1":"g"},M:{"1":"v"},N:{"1":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:4,C:"rem (root em) units"}; diff --git a/publi/node_modules/caniuse-lite/data/features/requestanimationframe.js b/publi/node_modules/caniuse-lite/data/features/requestanimationframe.js deleted file mode 100644 index 0d54fde..0000000 --- a/publi/node_modules/caniuse-lite/data/features/requestanimationframe.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"A B","2":"K C G E CB"},B:{"1":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v","2":"1 VB TB SB","33":"B D u Y I M H N O P Q R","164":"F J K C G E A"},D:{"1":"0 2 3 4 5 6 7 T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB","2":"F J K C G E","33":"R S","164":"N O P Q","420":"A B D u Y I M H"},E:{"1":"C G E A B JB KB LB MB NB","2":"F J GB AB IB","33":"K"},F:{"1":"I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t","2":"8 9 E B D OB PB QB RB UB x"},G:{"1":"G aB bB cB dB eB fB gB","2":"AB WB BB YB","33":"ZB"},H:{"2":"hB"},I:{"1":"g mB nB","2":"1 F iB jB kB lB BB"},J:{"1":"A","2":"C"},K:{"1":"L","2":"8 9 A B D x"},L:{"1":"g"},M:{"1":"v"},N:{"1":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:1,C:"requestAnimationFrame"}; diff --git a/publi/node_modules/caniuse-lite/data/features/requestidlecallback.js b/publi/node_modules/caniuse-lite/data/features/requestidlecallback.js deleted file mode 100644 index 4e41b94..0000000 --- a/publi/node_modules/caniuse-lite/data/features/requestidlecallback.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"2":"D u Y I M H"},C:{"1":"2 3 5 6 7 v","2":"1 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z TB SB","194":"0 4"},D:{"1":"0 2 3 4 5 6 7 q r s t y z v HB g DB XB EB FB","2":"F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p"},E:{"2":"F J K C G E A B GB AB IB JB KB LB MB NB"},F:{"1":"d e f L h i j k l m n o p q r s t","2":"8 9 E B D I M H N O P Q R S T U V W X w Z a b c OB PB QB RB UB x"},G:{"2":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"2":"hB"},I:{"1":"g","2":"1 F iB jB kB lB BB mB nB"},J:{"2":"C A"},K:{"1":"L","2":"8 9 A B D x"},L:{"1":"g"},M:{"1":"v"},N:{"2":"A B"},O:{"2":"oB"},P:{"1":"J pB","2":"F"},Q:{"2":"qB"},R:{"1":"rB"}},B:5,C:"requestIdleCallback"}; diff --git a/publi/node_modules/caniuse-lite/data/features/resizeobserver.js b/publi/node_modules/caniuse-lite/data/features/resizeobserver.js deleted file mode 100644 index 42f33f5..0000000 --- a/publi/node_modules/caniuse-lite/data/features/resizeobserver.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"2":"D u Y I M H"},C:{"2":"0 1 2 3 4 5 6 7 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v TB SB"},D:{"1":"XB EB FB","2":"0 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z","194":"2 3 4 5 6 7 v HB g DB"},E:{"2":"F J K C G E A B GB AB IB JB KB LB MB NB"},F:{"2":"8 9 E B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j OB PB QB RB UB x","194":"k l m n o p q r s t"},G:{"2":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"2":"hB"},I:{"2":"1 F g iB jB kB lB BB mB nB"},J:{"2":"C A"},K:{"2":"8 9 A B D L x"},L:{"194":"g"},M:{"2":"v"},N:{"2":"A B"},O:{"2":"oB"},P:{"2":"F J pB"},Q:{"2":"qB"},R:{"2":"rB"}},B:7,C:"Resize Observer"}; diff --git a/publi/node_modules/caniuse-lite/data/features/resource-timing.js b/publi/node_modules/caniuse-lite/data/features/resource-timing.js deleted file mode 100644 index 6a31079..0000000 --- a/publi/node_modules/caniuse-lite/data/features/resource-timing.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"A B","2":"K C G E CB"},B:{"1":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 e f L h i j k l m n o p q r s t y z v","2":"1 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z TB SB","194":"a b c d"},D:{"1":"0 2 3 4 5 6 7 U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB","2":"F J K C G E A B D u Y I M H N O P Q R S T"},E:{"1":"B NB","2":"F J K C G E A GB AB IB JB KB LB MB"},F:{"1":"I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t","2":"8 9 E B D OB PB QB RB UB x"},G:{"1":"gB","2":"G AB WB BB YB ZB aB bB cB dB eB fB"},H:{"2":"hB"},I:{"1":"g mB nB","2":"1 F iB jB kB lB BB"},J:{"2":"C A"},K:{"1":"L","2":"8 9 A B D x"},L:{"1":"g"},M:{"1":"v"},N:{"1":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:4,C:"Resource Timing"}; diff --git a/publi/node_modules/caniuse-lite/data/features/rest-parameters.js b/publi/node_modules/caniuse-lite/data/features/rest-parameters.js deleted file mode 100644 index 093be2f..0000000 --- a/publi/node_modules/caniuse-lite/data/features/rest-parameters.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"1":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v","2":"1 VB F J K C G E A B D u Y TB SB"},D:{"1":"0 2 3 4 5 6 7 q r s t y z v HB g DB XB EB FB","2":"F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m","194":"n o p"},E:{"1":"A B MB NB","2":"F J K C G E GB AB IB JB KB LB"},F:{"1":"d e f L h i j k l m n o p q r s t","2":"8 9 E B D I M H N O P Q R S T U V W X w Z OB PB QB RB UB x","194":"a b c"},G:{"1":"eB fB gB","2":"G AB WB BB YB ZB aB bB cB dB"},H:{"2":"hB"},I:{"1":"g","2":"1 F iB jB kB lB BB mB nB"},J:{"2":"C A"},K:{"2":"8 9 A B D L x"},L:{"1":"g"},M:{"1":"v"},N:{"2":"A B"},O:{"2":"oB"},P:{"1":"J pB","2":"F"},Q:{"2":"qB"},R:{"1":"rB"}},B:6,C:"Rest parameters"}; diff --git a/publi/node_modules/caniuse-lite/data/features/rtcpeerconnection.js b/publi/node_modules/caniuse-lite/data/features/rtcpeerconnection.js deleted file mode 100644 index 9862ae1..0000000 --- a/publi/node_modules/caniuse-lite/data/features/rtcpeerconnection.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"1":"I M H","2":"D u Y"},C:{"1":"0 2 3 4 5 6 7 n o p q r s t y z v","2":"1 VB F J K C G E A B D u Y I M H N O P Q TB SB","33":"R S T U V W X w Z a b c d e f L h i j k l m"},D:{"2":"F J K C G E A B D u Y I M H N O P Q R","33":"0 2 3 4 5 6 7 S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"1":"B NB","2":"F J K C G E A GB AB IB JB KB LB MB"},F:{"2":"8 9 E B D I M H OB PB QB RB UB x","33":"N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t"},G:{"1":"gB","2":"G AB WB BB YB ZB aB bB cB dB eB fB"},H:{"2":"hB"},I:{"2":"1 F iB jB kB lB BB mB nB","33":"g"},J:{"2":"C","130":"A"},K:{"2":"8 9 A B D x","33":"L"},L:{"33":"g"},M:{"1":"v"},N:{"2":"A B"},O:{"2":"oB"},P:{"33":"F J pB"},Q:{"33":"qB"},R:{"33":"rB"}},B:5,C:"WebRTC Peer-to-peer connections"}; diff --git a/publi/node_modules/caniuse-lite/data/features/ruby.js b/publi/node_modules/caniuse-lite/data/features/ruby.js deleted file mode 100644 index 644a0fd..0000000 --- a/publi/node_modules/caniuse-lite/data/features/ruby.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"4":"K C G E A B CB"},B:{"4":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 h i j k l m n o p q r s t y z v","8":"1 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L TB SB"},D:{"4":"0 2 3 4 5 6 7 J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB","8":"F"},E:{"4":"J K C G E A B IB JB KB LB MB NB","8":"F GB AB"},F:{"4":"I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t","8":"8 9 E B D OB PB QB RB UB x"},G:{"4":"G YB ZB aB bB cB dB eB fB gB","8":"AB WB BB"},H:{"8":"hB"},I:{"4":"1 F g lB BB mB nB","8":"iB jB kB"},J:{"4":"A","8":"C"},K:{"4":"L","8":"8 9 A B D x"},L:{"4":"g"},M:{"1":"v"},N:{"4":"A B"},O:{"4":"oB"},P:{"4":"F J pB"},Q:{"4":"qB"},R:{"4":"rB"}},B:1,C:"Ruby annotation"}; diff --git a/publi/node_modules/caniuse-lite/data/features/run-in.js b/publi/node_modules/caniuse-lite/data/features/run-in.js deleted file mode 100644 index 3964d85..0000000 --- a/publi/node_modules/caniuse-lite/data/features/run-in.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"G E A B","2":"K C CB"},B:{"2":"D u Y I M H"},C:{"2":"0 1 2 3 4 5 6 7 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v TB SB"},D:{"1":"F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a","2":"0 2 3 4 5 6 7 b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"1":"J K IB","2":"C G E A B KB LB MB NB","16":"JB","129":"F GB AB"},F:{"1":"8 9 E B D I M H N OB PB QB RB UB x","2":"O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t"},G:{"1":"WB BB YB ZB aB","2":"G bB cB dB eB fB gB","129":"AB"},H:{"1":"hB"},I:{"1":"1 F iB jB kB lB BB mB","2":"g nB"},J:{"16":"C A"},K:{"1":"8 9 A B D x","2":"L"},L:{"2":"g"},M:{"2":"v"},N:{"1":"A B"},O:{"2":"oB"},P:{"2":"F J pB"},Q:{"2":"qB"},R:{"2":"rB"}},B:5,C:"display: run-in"}; diff --git a/publi/node_modules/caniuse-lite/data/features/same-site-cookie-attribute.js b/publi/node_modules/caniuse-lite/data/features/same-site-cookie-attribute.js deleted file mode 100644 index cebb20a..0000000 --- a/publi/node_modules/caniuse-lite/data/features/same-site-cookie-attribute.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"2":"D u Y I M H"},C:{"1":"5 6 7","2":"0 1 2 3 4 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v TB SB"},D:{"1":"0 2 3 4 5 6 7 y z v HB g DB XB EB FB","2":"F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t"},E:{"2":"F J K C G E A B GB AB IB JB KB LB MB NB"},F:{"1":"i j k l m n o p q r s t","2":"8 9 E B D I M H N O P Q R S T U V W X w Z a b c d e f L h OB PB QB RB UB x"},G:{"2":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"2":"hB"},I:{"1":"g","2":"1 F iB jB kB lB BB mB nB"},J:{"2":"C A"},K:{"2":"8 9 A B D L x"},L:{"1":"g"},M:{"2":"v"},N:{"2":"A B"},O:{"2":"oB"},P:{"1":"J pB","2":"F"},Q:{"2":"qB"},R:{"1":"rB"}},B:6,C:"'SameSite' cookie attribute"}; diff --git a/publi/node_modules/caniuse-lite/data/features/screen-orientation.js b/publi/node_modules/caniuse-lite/data/features/screen-orientation.js deleted file mode 100644 index 9ba8146..0000000 --- a/publi/node_modules/caniuse-lite/data/features/screen-orientation.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A CB","36":"B"},B:{"36":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 n o p q r s t y z v","2":"1 VB F J K C G E A B D u Y I M H TB SB","36":"N O P Q R S T U V W X w Z a b c d e f L h i j k l m"},D:{"1":"0 2 3 4 5 6 7 h i j k l m n o p q r s t y z v HB g DB XB EB FB","2":"F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L"},E:{"2":"F J K C G E A B GB AB IB JB KB LB MB NB"},F:{"1":"U V W X w Z a b c d e f L h i j k l m n o p q r s t","2":"8 9 E B D I M H N O P Q R S T OB PB QB RB UB x"},G:{"2":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"2":"hB"},I:{"2":"1 F g iB jB kB lB BB mB nB"},J:{"2":"C A"},K:{"1":"L","2":"8 9 A B D x"},L:{"1":"g"},M:{"1":"v"},N:{"2":"A","36":"B"},O:{"1":"oB"},P:{"1":"J pB","16":"F"},Q:{"2":"qB"},R:{"1":"rB"}},B:5,C:"Screen Orientation"}; diff --git a/publi/node_modules/caniuse-lite/data/features/script-async.js b/publi/node_modules/caniuse-lite/data/features/script-async.js deleted file mode 100644 index 224d97c..0000000 --- a/publi/node_modules/caniuse-lite/data/features/script-async.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"A B","2":"K C G E CB"},B:{"1":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v SB","2":"1 VB TB"},D:{"1":"0 2 3 4 5 6 7 G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB","2":"F J K C"},E:{"1":"K C G E A B IB JB KB LB MB NB","2":"F GB AB","132":"J"},F:{"1":"I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t","2":"8 9 E B D OB PB QB RB UB x"},G:{"1":"G YB ZB aB bB cB dB eB fB gB","2":"AB WB BB"},H:{"2":"hB"},I:{"1":"1 F g lB BB mB nB","2":"iB jB kB"},J:{"1":"C A"},K:{"1":"L","2":"8 9 A B D x"},L:{"1":"g"},M:{"1":"v"},N:{"1":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:1,C:"async attribute for external scripts"}; diff --git a/publi/node_modules/caniuse-lite/data/features/script-defer.js b/publi/node_modules/caniuse-lite/data/features/script-defer.js deleted file mode 100644 index a86e6fa..0000000 --- a/publi/node_modules/caniuse-lite/data/features/script-defer.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"A B","132":"K C G E CB"},B:{"1":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 a b c d e f L h i j k l m n o p q r s t y z v","2":"1 VB","257":"F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z TB SB"},D:{"1":"0 2 3 4 5 6 7 G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB","2":"F J K C"},E:{"1":"J K C G E A B IB JB KB LB MB NB","2":"F GB AB"},F:{"1":"I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t","2":"8 9 E B D OB PB QB RB UB x"},G:{"1":"G YB ZB aB bB cB dB eB fB gB","2":"AB WB BB"},H:{"2":"hB"},I:{"1":"1 F g lB BB mB nB","2":"iB jB kB"},J:{"1":"C A"},K:{"1":"L","2":"8 9 A B D x"},L:{"1":"g"},M:{"1":"v"},N:{"1":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:1,C:"defer attribute for external scripts"}; diff --git a/publi/node_modules/caniuse-lite/data/features/scrollintoview.js b/publi/node_modules/caniuse-lite/data/features/scrollintoview.js deleted file mode 100644 index 48e9198..0000000 --- a/publi/node_modules/caniuse-lite/data/features/scrollintoview.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C CB","132":"G E A B"},B:{"132":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 f L h i j k l m n o p q r s t y z v","132":"1 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e TB SB"},D:{"1":"HB g DB XB EB FB","132":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v"},E:{"2":"F J GB AB","132":"K C G E A B IB JB KB LB MB NB"},F:{"1":"r s t","2":"E OB PB QB RB","16":"8 9 B","132":"D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q UB x"},G:{"16":"AB WB BB","132":"G YB ZB aB bB cB dB eB fB gB"},H:{"2":"hB"},I:{"16":"iB jB","132":"1 F g kB lB BB mB nB"},J:{"132":"C A"},K:{"132":"8 9 A B D L x"},L:{"1":"g"},M:{"132":"v"},N:{"132":"A B"},O:{"132":"oB"},P:{"132":"F J pB"},Q:{"132":"qB"},R:{"132":"rB"}},B:5,C:"scrollIntoView"}; diff --git a/publi/node_modules/caniuse-lite/data/features/scrollintoviewifneeded.js b/publi/node_modules/caniuse-lite/data/features/scrollintoviewifneeded.js deleted file mode 100644 index 4b60b5f..0000000 --- a/publi/node_modules/caniuse-lite/data/features/scrollintoviewifneeded.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"2":"D u Y I M H"},C:{"2":"0 1 2 3 4 5 6 7 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v TB SB"},D:{"1":"0 2 3 4 5 6 7 I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB","16":"F J K C G E A B D u Y"},E:{"1":"K C G E A B IB JB KB LB MB NB","16":"F J GB AB"},F:{"1":"I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t","2":"8 9 E B D OB PB QB RB UB x"},G:{"1":"G YB ZB aB bB cB dB eB fB gB","16":"AB WB BB"},H:{"2":"hB"},I:{"1":"1 F g kB lB BB mB nB","16":"iB jB"},J:{"1":"C A"},K:{"1":"L","2":"8 9 A B D x"},L:{"1":"g"},M:{"2":"v"},N:{"2":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:7,C:"Element.scrollIntoViewIfNeeded()"}; diff --git a/publi/node_modules/caniuse-lite/data/features/sdch.js b/publi/node_modules/caniuse-lite/data/features/sdch.js deleted file mode 100644 index 5dbdee5..0000000 --- a/publi/node_modules/caniuse-lite/data/features/sdch.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"2":"D u Y I M H"},C:{"2":"0 1 2 3 4 5 6 7 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v TB SB"},D:{"1":"0 2 3 4 5 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v","2":"6 7 HB g DB XB EB FB"},E:{"2":"F J K C G E A B GB AB IB JB KB LB MB NB"},F:{"1":"I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t","2":"8 9 E B D OB PB QB RB UB x"},G:{"2":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"2":"hB"},I:{"1":"g","2":"1 F iB jB kB lB BB mB nB"},J:{"2":"C A"},K:{"2":"8 9 A B D L x"},L:{"2":"g"},M:{"2":"v"},N:{"2":"A B"},O:{"2":"oB"},P:{"1":"J pB","2":"F"},Q:{"2":"qB"},R:{"2":"rB"}},B:6,C:"SDCH Accept-Encoding/Content-Encoding"}; diff --git a/publi/node_modules/caniuse-lite/data/features/selection-api.js b/publi/node_modules/caniuse-lite/data/features/selection-api.js deleted file mode 100644 index 4d50dd4..0000000 --- a/publi/node_modules/caniuse-lite/data/features/selection-api.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"E A B","16":"CB","260":"K C G"},B:{"1":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 z v","132":"1 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l TB SB","2180":"m n o p q r s t y"},D:{"1":"0 2 3 4 5 6 7 I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB","16":"F J K C G E A B D u Y"},E:{"1":"K C G E A B IB JB KB LB MB NB","16":"F J GB AB"},F:{"1":"I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t","132":"8 9 E B D OB PB QB RB UB x"},G:{"16":"BB","132":"AB WB","516":"G YB ZB aB bB cB dB eB fB gB"},H:{"2":"hB"},I:{"1":"g mB nB","16":"1 F iB jB kB lB","1025":"BB"},J:{"1":"A","16":"C"},K:{"1":"L","16":"8 9 A B D","132":"x"},L:{"1":"g"},M:{"132":"v"},N:{"1":"B","16":"A"},O:{"1025":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:5,C:"Selection API"}; diff --git a/publi/node_modules/caniuse-lite/data/features/serviceworkers.js b/publi/node_modules/caniuse-lite/data/features/serviceworkers.js deleted file mode 100644 index 5d75b3a..0000000 --- a/publi/node_modules/caniuse-lite/data/features/serviceworkers.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"2":"D u Y","322":"I M H"},C:{"1":"0 2 3 4 5 6 7 n p q r s t y v","2":"1 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b TB SB","194":"c d e f L h i j k l m","513":"o z"},D:{"1":"0 2 3 4 5 6 7 o p q r s t y z v HB g DB XB EB FB","2":"F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i","4":"j k l m n"},E:{"2":"F J K C G E A B GB AB IB JB KB LB MB","1090":"NB"},F:{"1":"b c d e f L h i j k l m n o p q r s t","2":"8 9 E B D I M H N O P Q R S T U V OB PB QB RB UB x","4":"W X w Z a"},G:{"2":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"2":"hB"},I:{"2":"1 F iB jB kB lB BB mB nB","4":"g"},J:{"2":"C A"},K:{"2":"8 9 A B D x","4":"L"},L:{"1":"g"},M:{"1":"v"},N:{"2":"A B"},O:{"4":"oB"},P:{"1":"F J pB"},Q:{"4":"qB"},R:{"4":"rB"}},B:5,C:"Service Workers"}; diff --git a/publi/node_modules/caniuse-lite/data/features/setimmediate.js b/publi/node_modules/caniuse-lite/data/features/setimmediate.js deleted file mode 100644 index e5ca0c4..0000000 --- a/publi/node_modules/caniuse-lite/data/features/setimmediate.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"A B","2":"K C G E CB"},B:{"1":"D u Y I M H"},C:{"2":"0 1 2 3 4 5 6 7 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v TB SB"},D:{"2":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"2":"F J K C G E A B GB AB IB JB KB LB MB NB"},F:{"2":"8 9 E B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t OB PB QB RB UB x"},G:{"2":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"2":"hB"},I:{"2":"1 F g iB jB kB lB BB mB nB"},J:{"2":"C A"},K:{"2":"8 9 A B D L x"},L:{"2":"g"},M:{"2":"v"},N:{"1":"A B"},O:{"2":"oB"},P:{"2":"F J pB"},Q:{"2":"qB"},R:{"2":"rB"}},B:7,C:"Efficient Script Yielding: setImmediate()"}; diff --git a/publi/node_modules/caniuse-lite/data/features/sha-2.js b/publi/node_modules/caniuse-lite/data/features/sha-2.js deleted file mode 100644 index 1bbab8f..0000000 --- a/publi/node_modules/caniuse-lite/data/features/sha-2.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"K C G E A B","2":"CB"},B:{"1":"D u Y I M H"},C:{"1":"0 1 2 3 4 5 6 7 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v TB SB"},D:{"1":"0 2 3 4 5 6 7 h i j k l m n o p q r s t y z v HB g DB XB EB FB","132":"F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L"},E:{"1":"F J K C G E A B GB AB IB JB KB LB MB NB"},F:{"1":"8 9 E B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t OB PB QB RB UB x"},G:{"1":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"16":"hB"},I:{"1":"1 F g jB kB lB BB mB nB","260":"iB"},J:{"1":"C A"},K:{"16":"8 9 A B D L x"},L:{"1":"g"},M:{"16":"v"},N:{"16":"A B"},O:{"16":"oB"},P:{"1":"J pB","16":"F"},Q:{"1":"qB"},R:{"1":"rB"}},B:6,C:"SHA-2 SSL certificates"}; diff --git a/publi/node_modules/caniuse-lite/data/features/shadowdom.js b/publi/node_modules/caniuse-lite/data/features/shadowdom.js deleted file mode 100644 index 007449f..0000000 --- a/publi/node_modules/caniuse-lite/data/features/shadowdom.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"2":"D u Y I M H"},C:{"2":"1 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X TB SB","194":"0 2 3 4 5 6 7 w Z a b c d e f L h i j k l m n o p q r s t y z v"},D:{"1":"0 2 3 4 5 6 7 e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB","2":"F J K C G E A B D u Y I M H N O P Q R S T","33":"U V W X w Z a b c d"},E:{"2":"F J K C G E A B GB AB IB JB KB LB MB NB"},F:{"1":"R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t","2":"8 9 E B D OB PB QB RB UB x","33":"I M H N O P Q"},G:{"2":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"2":"hB"},I:{"1":"g","2":"1 F iB jB kB lB BB","33":"mB nB"},J:{"2":"C A"},K:{"1":"L","2":"8 9 A B D x"},L:{"1":"g"},M:{"2":"v"},N:{"2":"A B"},O:{"1":"oB"},P:{"1":"J pB","33":"F"},Q:{"1":"qB"},R:{"1":"rB"}},B:5,C:"Shadow DOM v0"}; diff --git a/publi/node_modules/caniuse-lite/data/features/shadowdomv1.js b/publi/node_modules/caniuse-lite/data/features/shadowdomv1.js deleted file mode 100644 index 2087720..0000000 --- a/publi/node_modules/caniuse-lite/data/features/shadowdomv1.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"2":"D u Y I M H"},C:{"2":"0 1 2 3 4 5 6 7 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v TB SB"},D:{"1":"0 2 3 4 5 6 7 v HB g DB XB EB FB","2":"F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z"},E:{"2":"F J K C G E GB AB IB JB KB LB","132":"A B MB NB"},F:{"1":"j k l m n o p q r s t","2":"8 9 E B D I M H N O P Q R S T U V W X w Z a b c d e f L h i OB PB QB RB UB x"},G:{"2":"G AB WB BB YB ZB aB bB cB dB","132":"eB fB gB"},H:{"2":"hB"},I:{"1":"g","2":"1 F iB jB kB lB BB mB nB"},J:{"2":"C A"},K:{"2":"8 9 A B D L x"},L:{"1":"g"},M:{"2":"v"},N:{"2":"A B"},O:{"2":"oB"},P:{"1":"pB","2":"F","4":"J"},Q:{"1":"qB"},R:{"2":"rB"}},B:5,C:"Shadow DOM v1"}; diff --git a/publi/node_modules/caniuse-lite/data/features/sharedworkers.js b/publi/node_modules/caniuse-lite/data/features/sharedworkers.js deleted file mode 100644 index 9384b2f..0000000 --- a/publi/node_modules/caniuse-lite/data/features/sharedworkers.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"2":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 w Z a b c d e f L h i j k l m n o p q r s t y z v","2":"1 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X TB SB"},D:{"1":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"1":"J K IB","2":"F C G E A B GB AB JB KB LB MB NB"},F:{"1":"8 9 B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t RB UB x","2":"E OB PB QB"},G:{"1":"YB ZB","2":"G AB WB BB aB bB cB dB eB fB gB"},H:{"2":"hB"},I:{"2":"1 F g iB jB kB lB BB mB nB"},J:{"1":"C A"},K:{"1":"8 9 B D x","2":"L","16":"A"},L:{"2":"g"},M:{"1":"v"},N:{"2":"A B"},O:{"1":"oB"},P:{"1":"F","2":"J pB"},Q:{"2":"qB"},R:{"2":"rB"}},B:1,C:"Shared Web Workers"}; diff --git a/publi/node_modules/caniuse-lite/data/features/sni.js b/publi/node_modules/caniuse-lite/data/features/sni.js deleted file mode 100644 index e5557c9..0000000 --- a/publi/node_modules/caniuse-lite/data/features/sni.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"E A B","2":"K CB","132":"C G"},B:{"1":"D u Y I M H"},C:{"1":"0 1 2 3 4 5 6 7 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v TB SB"},D:{"1":"0 2 3 4 5 6 7 K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB","2":"F J"},E:{"1":"F J K C G E A B GB AB IB JB KB LB MB NB"},F:{"1":"8 9 E B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t OB PB QB RB UB x"},G:{"1":"G WB BB YB ZB aB bB cB dB eB fB gB","2":"AB"},H:{"1":"hB"},I:{"1":"1 F g lB BB mB nB","2":"iB jB kB"},J:{"1":"A","2":"C"},K:{"1":"8 9 A B D L x"},L:{"1":"g"},M:{"1":"v"},N:{"1":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:6,C:"Server Name Indication"}; diff --git a/publi/node_modules/caniuse-lite/data/features/spdy.js b/publi/node_modules/caniuse-lite/data/features/spdy.js deleted file mode 100644 index d811f77..0000000 --- a/publi/node_modules/caniuse-lite/data/features/spdy.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"B","2":"K C G E A CB"},B:{"2":"D u Y I M H"},C:{"1":"u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t","2":"0 1 2 3 4 5 6 7 VB F J K C G E A B D y z v TB SB"},D:{"1":"F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t","2":"0 2 3 4 5 6 7 y z v HB g DB XB EB FB"},E:{"1":"G E A B LB MB NB","2":"F J K C GB AB IB JB KB"},F:{"1":"I M H N O P Q R S T U V W X w Z a b c d e f L h i l n x","2":"8 9 E B D j k m o p q r s t OB PB QB RB UB"},G:{"1":"G bB cB dB eB fB gB","2":"AB WB BB YB ZB aB"},H:{"2":"hB"},I:{"1":"1 F lB BB mB nB","2":"g iB jB kB"},J:{"2":"C A"},K:{"1":"L x","2":"8 9 A B D"},L:{"2":"g"},M:{"2":"v"},N:{"1":"B","2":"A"},O:{"2":"oB"},P:{"1":"F","2":"J pB"},Q:{"2":"qB"},R:{"16":"rB"}},B:7,C:"SPDY protocol"}; diff --git a/publi/node_modules/caniuse-lite/data/features/speech-recognition.js b/publi/node_modules/caniuse-lite/data/features/speech-recognition.js deleted file mode 100644 index db30d61..0000000 --- a/publi/node_modules/caniuse-lite/data/features/speech-recognition.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"2":"D u Y I M H"},C:{"2":"1 VB F J K C G E A B D u Y I M H N O P Q TB SB","322":"0 2 3 4 5 6 7 R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v"},D:{"2":"F J K C G E A B D u Y I M H N O P Q R S T","164":"0 2 3 4 5 6 7 U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"2":"F J K C G E A B GB AB IB JB KB LB MB NB"},F:{"2":"8 9 E B D I M H N O P Q R S T U V OB PB QB RB UB x","164":"W X w Z a b c d e f L h i j k l m n o p q r s t"},G:{"2":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"2":"hB"},I:{"2":"1 F g iB jB kB lB BB mB nB"},J:{"2":"C A"},K:{"2":"8 9 A B D L x"},L:{"164":"g"},M:{"2":"v"},N:{"2":"A B"},O:{"2":"oB"},P:{"164":"F J pB"},Q:{"164":"qB"},R:{"164":"rB"}},B:7,C:"Speech Recognition API"}; diff --git a/publi/node_modules/caniuse-lite/data/features/speech-synthesis.js b/publi/node_modules/caniuse-lite/data/features/speech-synthesis.js deleted file mode 100644 index 7dde13d..0000000 --- a/publi/node_modules/caniuse-lite/data/features/speech-synthesis.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"1":"Y I M H","2":"D u"},C:{"1":"0 2 3 4 5 6 7 s t y z v","2":"1 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z TB SB","194":"a b c d e f L h i j k l m n o p q r"},D:{"1":"0 4 c d e f L h i j k l m n o p q r s t y z","2":"F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b","257":"2 3 5 6 7 v HB g DB XB EB FB"},E:{"1":"C G E A B KB LB MB NB","2":"F J K GB AB IB JB"},F:{"1":"W X w Z a b c d e f L h i j k l m n o p q r s t","2":"8 9 E B D I M H N O P Q R S T U V OB PB QB RB UB x"},G:{"1":"G aB bB cB dB eB fB gB","2":"AB WB BB YB ZB"},H:{"2":"hB"},I:{"2":"1 F g iB jB kB lB BB mB nB"},J:{"2":"C A"},K:{"2":"8 9 A B D L x"},L:{"1":"g"},M:{"2":"v"},N:{"2":"A B"},O:{"2":"oB"},P:{"1":"J pB","2":"F"},Q:{"1":"qB"},R:{"2":"rB"}},B:7,C:"Speech Synthesis API"}; diff --git a/publi/node_modules/caniuse-lite/data/features/spellcheck-attribute.js b/publi/node_modules/caniuse-lite/data/features/spellcheck-attribute.js deleted file mode 100644 index 09f4725..0000000 --- a/publi/node_modules/caniuse-lite/data/features/spellcheck-attribute.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"A B","2":"K C G E CB"},B:{"1":"D u Y I M H"},C:{"1":"0 1 2 3 4 5 6 7 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v TB SB"},D:{"1":"0 2 3 4 5 6 7 E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB","2":"F J K C G"},E:{"1":"K C G E A B IB JB KB LB MB NB","2":"F J GB AB"},F:{"1":"8 9 B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t QB RB UB x","2":"E OB PB"},G:{"4":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"4":"hB"},I:{"4":"1 F g iB jB kB lB BB mB nB"},J:{"1":"A","4":"C"},K:{"4":"8 9 A B D L x"},L:{"4":"g"},M:{"4":"v"},N:{"4":"A B"},O:{"4":"oB"},P:{"4":"F J pB"},Q:{"1":"qB"},R:{"4":"rB"}},B:1,C:"Spellcheck attribute"}; diff --git a/publi/node_modules/caniuse-lite/data/features/sql-storage.js b/publi/node_modules/caniuse-lite/data/features/sql-storage.js deleted file mode 100644 index b622f16..0000000 --- a/publi/node_modules/caniuse-lite/data/features/sql-storage.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"2":"D u Y I M H"},C:{"2":"0 1 2 3 4 5 6 7 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v TB SB"},D:{"1":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"1":"F J K C G E A B GB AB IB JB KB LB MB NB"},F:{"1":"8 9 B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t QB RB UB x","2":"E OB PB"},G:{"1":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"2":"hB"},I:{"1":"1 F g iB jB kB lB BB mB nB"},J:{"1":"C A"},K:{"1":"8 9 B D L x","2":"A"},L:{"1":"g"},M:{"2":"v"},N:{"2":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:7,C:"Web SQL Database"}; diff --git a/publi/node_modules/caniuse-lite/data/features/srcset.js b/publi/node_modules/caniuse-lite/data/features/srcset.js deleted file mode 100644 index 5ad9cd2..0000000 --- a/publi/node_modules/caniuse-lite/data/features/srcset.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"1":"M H","260":"D","514":"u Y I"},C:{"1":"0 2 3 4 5 6 7 h i j k l m n o p q r s t y z v","2":"1 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a TB SB","194":"b c d e f L"},D:{"1":"0 2 3 4 5 6 7 h i j k l m n o p q r s t y z v HB g DB XB EB FB","2":"F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c","260":"d e f L"},E:{"1":"E A B LB MB NB","2":"F J K C GB AB IB JB","260":"G KB"},F:{"1":"U V W X w Z a b c d e f L h i j k l m n o p q r s t","2":"8 9 E B D I M H N O P OB PB QB RB UB x","260":"Q R S T"},G:{"1":"cB dB eB fB gB","2":"AB WB BB YB ZB aB","260":"G bB"},H:{"2":"hB"},I:{"1":"g","2":"1 F iB jB kB lB BB mB nB"},J:{"2":"C A"},K:{"1":"L","2":"8 9 A B D x"},L:{"1":"g"},M:{"1":"v"},N:{"2":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:1,C:"Srcset and sizes attributes"}; diff --git a/publi/node_modules/caniuse-lite/data/features/stopimmediatepropagation.js b/publi/node_modules/caniuse-lite/data/features/stopimmediatepropagation.js deleted file mode 100644 index a2ad421..0000000 --- a/publi/node_modules/caniuse-lite/data/features/stopimmediatepropagation.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"E A B","2":"K C G CB"},B:{"1":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v","2":"1 VB F J K C G E TB SB"},D:{"1":"0 2 3 4 5 6 7 V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB","16":"F J K C G E A B D u Y I M H N O P Q R S T U"},E:{"1":"K C G E A B IB JB KB LB MB NB","16":"F J GB AB"},F:{"1":"I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t x","2":"8 9 E B OB PB QB RB UB","16":"D"},G:{"1":"G ZB aB bB cB dB eB fB gB","16":"AB WB BB YB"},H:{"16":"hB"},I:{"1":"F g lB BB mB nB","16":"1 iB jB kB"},J:{"16":"C A"},K:{"16":"8 9 A B D L x"},L:{"1":"g"},M:{"1":"v"},N:{"16":"A B"},O:{"16":"oB"},P:{"1":"J pB","16":"F"},Q:{"1":"qB"},R:{"1":"rB"}},B:1,C:"Event.stopImmediatePropagation()"}; diff --git a/publi/node_modules/caniuse-lite/data/features/stream.js b/publi/node_modules/caniuse-lite/data/features/stream.js deleted file mode 100644 index d6110dc..0000000 --- a/publi/node_modules/caniuse-lite/data/features/stream.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"1":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 l m n o p q r s t y z v","2":"1 VB F J K C G E A B D u Y I M TB SB","129":"f L h i j k","420":"H N O P Q R S T U V W X w Z a b c d e"},D:{"1":"0 2 3 4 5 6 7 v HB g DB XB EB FB","2":"F J K C G E A B D u Y I M H N O P","420":"Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z"},E:{"1":"B NB","2":"F J K C G E A GB AB IB JB KB LB MB"},F:{"1":"j k l m n o p q r s t","2":"8 9 E B I M H OB PB QB RB UB","420":"D N O P Q R S T U V W X w Z a b c d e f L h i x"},G:{"1":"gB","2":"G AB WB BB YB ZB aB bB cB dB eB fB"},H:{"2":"hB"},I:{"1":"g","2":"1 F iB jB kB lB BB mB nB"},J:{"2":"C","420":"A"},K:{"1":"L","2":"8 9 A B","420":"D x"},L:{"1":"g"},M:{"1":"v"},N:{"2":"A B"},O:{"420":"oB"},P:{"1":"pB","420":"F J"},Q:{"420":"qB"},R:{"420":"rB"}},B:4,C:"getUserMedia/Stream API"}; diff --git a/publi/node_modules/caniuse-lite/data/features/streams.js b/publi/node_modules/caniuse-lite/data/features/streams.js deleted file mode 100644 index 3ed2c0e..0000000 --- a/publi/node_modules/caniuse-lite/data/features/streams.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A CB","130":"B"},B:{"16":"D u","260":"Y I","5124":"M H"},C:{"2":"0 1 2 3 4 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z TB SB","2626":"5 6 7 v"},D:{"2":"F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y","260":"0 2 3 4 5 z v","1028":"6 7 HB g DB XB EB FB"},E:{"2":"F J K C G E GB AB IB JB KB LB","3076":"A B MB NB"},F:{"2":"8 9 E B D I M H N O P Q R S T U V W X w Z a b c d e f L h OB PB QB RB UB x","260":"i j k l m n o","1028":"p q r s t"},G:{"2":"G AB WB BB YB ZB aB bB cB dB","16":"eB","1028":"fB gB"},H:{"2":"hB"},I:{"2":"1 F iB jB kB lB BB mB nB","260":"g"},J:{"2":"C A"},K:{"2":"8 9 A B D x","1028":"L"},L:{"1028":"g"},M:{"2626":"v"},N:{"2":"A B"},O:{"2":"oB"},P:{"2":"F J pB"},Q:{"2":"qB"},R:{"2":"rB"}},B:1,C:"Streams"}; diff --git a/publi/node_modules/caniuse-lite/data/features/stricttransportsecurity.js b/publi/node_modules/caniuse-lite/data/features/stricttransportsecurity.js deleted file mode 100644 index dd19980..0000000 --- a/publi/node_modules/caniuse-lite/data/features/stricttransportsecurity.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A CB","129":"B"},B:{"1":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v","2":"1 VB TB SB"},D:{"1":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"1":"C G E A B KB LB MB NB","2":"F J K GB AB IB JB"},F:{"1":"D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t x","2":"8 9 E B OB PB QB RB UB"},G:{"1":"G aB bB cB dB eB fB gB","2":"AB WB BB YB ZB"},H:{"2":"hB"},I:{"1":"g mB nB","2":"1 F iB jB kB lB BB"},J:{"1":"C A"},K:{"1":"L","2":"8 9 A B D x"},L:{"1":"g"},M:{"1":"v"},N:{"2":"A B"},O:{"2":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:6,C:"Strict Transport Security"}; diff --git a/publi/node_modules/caniuse-lite/data/features/style-scoped.js b/publi/node_modules/caniuse-lite/data/features/style-scoped.js deleted file mode 100644 index da22691..0000000 --- a/publi/node_modules/caniuse-lite/data/features/style-scoped.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"2":"D u Y I M H"},C:{"1":"0 4 Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z","2":"1 VB F J K C G E A B D u Y I M H N O P TB SB","322":"2 3 5 6 7 v"},D:{"2":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O L h i j k l m n o p q r s t y z v HB g DB XB EB FB","194":"P Q R S T U V W X w Z a b c d e f"},E:{"2":"F J K C G E A B GB AB IB JB KB LB MB NB"},F:{"2":"8 9 E B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t OB PB QB RB UB x"},G:{"2":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"2":"hB"},I:{"2":"1 F g iB jB kB lB BB mB nB"},J:{"2":"C A"},K:{"2":"8 9 A B D L x"},L:{"2":"g"},M:{"322":"v"},N:{"2":"A B"},O:{"1":"oB"},P:{"2":"F J pB"},Q:{"2":"qB"},R:{"2":"rB"}},B:7,C:"Scoped CSS"}; diff --git a/publi/node_modules/caniuse-lite/data/features/subresource-integrity.js b/publi/node_modules/caniuse-lite/data/features/subresource-integrity.js deleted file mode 100644 index d68155f..0000000 --- a/publi/node_modules/caniuse-lite/data/features/subresource-integrity.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"2":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 m n o p q r s t y z v","2":"1 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l TB SB"},D:{"1":"0 2 3 4 5 6 7 o p q r s t y z v HB g DB XB EB FB","2":"F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n"},E:{"1":"B NB","2":"F J K C G E A GB AB IB JB KB LB MB"},F:{"1":"b c d e f L h i j k l m n o p q r s t","2":"8 9 E B D I M H N O P Q R S T U V W X w Z a OB PB QB RB UB x"},G:{"2":"G AB WB BB YB ZB aB bB cB dB eB fB","194":"gB"},H:{"2":"hB"},I:{"1":"g","2":"1 F iB jB kB lB BB mB nB"},J:{"2":"C A"},K:{"1":"L","2":"8 9 A B D x"},L:{"1":"g"},M:{"1":"v"},N:{"2":"A B"},O:{"2":"oB"},P:{"1":"J pB","2":"F"},Q:{"1":"qB"},R:{"1":"rB"}},B:2,C:"Subresource Integrity"}; diff --git a/publi/node_modules/caniuse-lite/data/features/svg-css.js b/publi/node_modules/caniuse-lite/data/features/svg-css.js deleted file mode 100644 index b722795..0000000 --- a/publi/node_modules/caniuse-lite/data/features/svg-css.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"E A B","2":"K C G CB"},B:{"1":"M H","516":"D u Y I"},C:{"1":"0 2 3 4 5 6 7 T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v","2":"1 VB TB SB","260":"F J K C G E A B D u Y I M H N O P Q R S"},D:{"1":"0 2 3 4 5 6 7 J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB","4":"F"},E:{"1":"J K C G E A B IB JB KB LB MB NB","2":"GB","132":"F AB"},F:{"1":"8 9 B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t OB PB QB RB UB x","2":"E"},G:{"1":"G BB YB ZB aB bB cB dB eB fB gB","132":"AB WB"},H:{"260":"hB"},I:{"1":"1 F g lB BB mB nB","2":"iB jB kB"},J:{"1":"C A"},K:{"1":"L","260":"8 9 A B D x"},L:{"1":"g"},M:{"1":"v"},N:{"1":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:4,C:"SVG in CSS backgrounds"}; diff --git a/publi/node_modules/caniuse-lite/data/features/svg-filters.js b/publi/node_modules/caniuse-lite/data/features/svg-filters.js deleted file mode 100644 index 75a034f..0000000 --- a/publi/node_modules/caniuse-lite/data/features/svg-filters.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"A B","2":"K C G E CB"},B:{"1":"D u Y I M H"},C:{"1":"0 1 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v TB SB","2":"VB"},D:{"1":"0 2 3 4 5 6 7 G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB","2":"F","4":"J K C"},E:{"1":"K C G E A B JB KB LB MB NB","2":"F J GB AB IB"},F:{"1":"8 9 E B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t OB PB QB RB UB x"},G:{"1":"G ZB aB bB cB dB eB fB gB","2":"AB WB BB YB"},H:{"1":"hB"},I:{"1":"g mB nB","2":"1 F iB jB kB lB BB"},J:{"1":"A","2":"C"},K:{"1":"8 9 A B D L x"},L:{"1":"g"},M:{"1":"v"},N:{"1":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:2,C:"SVG filters"}; diff --git a/publi/node_modules/caniuse-lite/data/features/svg-fonts.js b/publi/node_modules/caniuse-lite/data/features/svg-fonts.js deleted file mode 100644 index 261107c..0000000 --- a/publi/node_modules/caniuse-lite/data/features/svg-fonts.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"E A B CB","8":"K C G"},B:{"2":"D u Y I M H"},C:{"2":"0 1 2 3 4 5 6 7 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v TB SB"},D:{"1":"F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L","2":"0 2 3 4 5 6 7 y z v HB g DB XB EB FB","130":"h i j k l m n o p q r s t"},E:{"1":"F J K C G E A B AB IB JB KB LB MB NB","2":"GB"},F:{"1":"8 9 E B D I M H N O P Q R S T OB PB QB RB UB x","2":"L h i j k l m n o p q r s t","130":"U V W X w Z a b c d e f"},G:{"1":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"258":"hB"},I:{"1":"1 F lB BB mB nB","2":"g iB jB kB"},J:{"1":"C A"},K:{"1":"8 9 A B D L x"},L:{"130":"g"},M:{"2":"v"},N:{"2":"A B"},O:{"1":"oB"},P:{"1":"F","130":"J pB"},Q:{"1":"qB"},R:{"130":"rB"}},B:7,C:"SVG fonts"}; diff --git a/publi/node_modules/caniuse-lite/data/features/svg-fragment.js b/publi/node_modules/caniuse-lite/data/features/svg-fragment.js deleted file mode 100644 index e6cfc20..0000000 --- a/publi/node_modules/caniuse-lite/data/features/svg-fragment.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"E A B","2":"K C G CB"},B:{"1":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v","2":"1 VB F J K C G E A B D u Y TB SB"},D:{"1":"0 2 3 4 5 6 7 t y z v HB g DB XB EB FB","2":"F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e","132":"f L h i j k l m n o p q r s"},E:{"1":"NB","2":"F J K C E A B GB AB IB JB LB MB","132":"G KB"},F:{"1":"L h i j k l m n o p q r s t x","2":"I M H N O P Q R","4":"8 9 B D PB QB RB UB","16":"E OB","132":"S T U V W X w Z a b c d e f"},G:{"2":"AB WB BB YB ZB aB cB dB eB fB gB","132":"G bB"},H:{"1":"hB"},I:{"1":"g","2":"1 F iB jB kB lB BB mB nB"},J:{"2":"C","132":"A"},K:{"1":"L x","4":"8 9 A B D"},L:{"1":"g"},M:{"1":"v"},N:{"1":"A B"},O:{"132":"oB"},P:{"1":"J pB","132":"F"},Q:{"132":"qB"},R:{"132":"rB"}},B:2,C:"SVG fragment identifiers"}; diff --git a/publi/node_modules/caniuse-lite/data/features/svg-html.js b/publi/node_modules/caniuse-lite/data/features/svg-html.js deleted file mode 100644 index e3ab9f2..0000000 --- a/publi/node_modules/caniuse-lite/data/features/svg-html.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G CB","388":"E A B"},B:{"260":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v TB SB","2":"VB","4":"1"},D:{"4":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"2":"GB AB","4":"F J K C G E A B IB JB KB LB MB NB"},F:{"4":"8 9 E B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t OB PB QB RB UB x"},G:{"4":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"2":"hB"},I:{"2":"1 F iB jB kB lB BB","4":"g mB nB"},J:{"1":"A","2":"C"},K:{"4":"8 9 A B D L x"},L:{"4":"g"},M:{"1":"v"},N:{"2":"A B"},O:{"2":"oB"},P:{"4":"F J pB"},Q:{"4":"qB"},R:{"4":"rB"}},B:2,C:"SVG effects for HTML"}; diff --git a/publi/node_modules/caniuse-lite/data/features/svg-html5.js b/publi/node_modules/caniuse-lite/data/features/svg-html5.js deleted file mode 100644 index 777d1da..0000000 --- a/publi/node_modules/caniuse-lite/data/features/svg-html5.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"CB","8":"K C G","129":"E A B"},B:{"129":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v","8":"1 VB TB SB"},D:{"1":"0 2 3 4 5 6 7 C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB","8":"F J K"},E:{"1":"E A B LB MB NB","8":"F J GB AB","129":"K C G IB JB KB"},F:{"1":"D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t UB x","2":"8 9 B RB","8":"E OB PB QB"},G:{"1":"cB dB eB fB gB","8":"AB WB BB","129":"G YB ZB aB bB"},H:{"1":"hB"},I:{"1":"g mB nB","2":"iB jB kB","129":"1 F lB BB"},J:{"1":"A","129":"C"},K:{"1":"D L x","8":"8 9 A B"},L:{"1":"g"},M:{"1":"v"},N:{"129":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:1,C:"Inline SVG in HTML5"}; diff --git a/publi/node_modules/caniuse-lite/data/features/svg-img.js b/publi/node_modules/caniuse-lite/data/features/svg-img.js deleted file mode 100644 index 670264b..0000000 --- a/publi/node_modules/caniuse-lite/data/features/svg-img.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"E A B","2":"K C G CB"},B:{"1":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v","2":"1 VB TB SB"},D:{"1":"0 2 3 4 5 6 7 X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB","132":"F J K C G E A B D u Y I M H N O P Q R S T U V W"},E:{"1":"E A B LB MB NB","2":"GB","4":"AB","132":"F J K C G IB JB KB"},F:{"1":"8 9 E B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t OB PB QB RB UB x"},G:{"1":"cB dB eB fB gB","132":"G AB WB BB YB ZB aB bB"},H:{"1":"hB"},I:{"1":"g mB nB","2":"iB jB kB","132":"1 F lB BB"},J:{"1":"C A"},K:{"1":"8 9 A B D L x"},L:{"1":"g"},M:{"1":"v"},N:{"1":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:1,C:"SVG in HTML img element"}; diff --git a/publi/node_modules/caniuse-lite/data/features/svg-smil.js b/publi/node_modules/caniuse-lite/data/features/svg-smil.js deleted file mode 100644 index ff9a732..0000000 --- a/publi/node_modules/caniuse-lite/data/features/svg-smil.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"CB","8":"K C G E A B"},B:{"8":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v","8":"1 VB TB SB"},D:{"1":"J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n","4":"F","257":"0 2 3 4 5 6 7 o p q r s t y z v HB g DB XB EB FB"},E:{"1":"K C G E A B JB KB LB MB NB","8":"GB AB","132":"F J IB"},F:{"1":"8 9 E B D I M H N O P Q R S T U V W X w Z a OB PB QB RB UB x","257":"b c d e f L h i j k l m n o p q r s t"},G:{"1":"G ZB aB bB cB dB eB fB gB","132":"AB WB BB YB"},H:{"2":"hB"},I:{"1":"1 F g lB BB mB nB","2":"iB jB kB"},J:{"1":"C A"},K:{"1":"8 9 A B D L x"},L:{"1":"g"},M:{"1":"v"},N:{"8":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"257":"qB"},R:{"1":"rB"}},B:2,C:"SVG SMIL animation"}; diff --git a/publi/node_modules/caniuse-lite/data/features/svg.js b/publi/node_modules/caniuse-lite/data/features/svg.js deleted file mode 100644 index e33e6b3..0000000 --- a/publi/node_modules/caniuse-lite/data/features/svg.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"CB","8":"K C G","257":"E A B"},B:{"257":"D u Y I M H"},C:{"1":"0 1 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v TB SB","4":"VB"},D:{"1":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"1":"F J K C G E A B AB IB JB KB LB MB NB","4":"GB"},F:{"1":"8 9 E B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t OB PB QB RB UB x"},G:{"1":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"1":"hB"},I:{"1":"g mB nB","2":"iB jB kB","132":"1 F lB BB"},J:{"1":"C A"},K:{"1":"8 9 A B D L x"},L:{"1":"g"},M:{"1":"v"},N:{"257":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:2,C:"SVG (basic support)"}; diff --git a/publi/node_modules/caniuse-lite/data/features/tabindex-attr.js b/publi/node_modules/caniuse-lite/data/features/tabindex-attr.js deleted file mode 100644 index 9747c98..0000000 --- a/publi/node_modules/caniuse-lite/data/features/tabindex-attr.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"C G E A B","16":"K CB"},B:{"1":"D u Y I M H"},C:{"16":"1 VB TB SB","129":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v"},D:{"1":"0 2 3 4 5 6 7 I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB","16":"F J K C G E A B D u Y"},E:{"16":"F J GB AB","257":"K C G E A B IB JB KB LB MB NB"},F:{"1":"8 9 B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t OB PB QB RB UB x","16":"E"},G:{"769":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"16":"hB"},I:{"16":"1 F g iB jB kB lB BB mB nB"},J:{"16":"C A"},K:{"16":"8 9 A B D L x"},L:{"16":"g"},M:{"16":"v"},N:{"16":"A B"},O:{"16":"oB"},P:{"16":"F J pB"},Q:{"2":"qB"},R:{"16":"rB"}},B:1,C:"tabindex global attribute"}; diff --git a/publi/node_modules/caniuse-lite/data/features/template-literals.js b/publi/node_modules/caniuse-lite/data/features/template-literals.js deleted file mode 100644 index 32db26e..0000000 --- a/publi/node_modules/caniuse-lite/data/features/template-literals.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"1":"u Y I M H","16":"D"},C:{"1":"0 2 3 4 5 6 7 d e f L h i j k l m n o p q r s t y z v","2":"1 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c TB SB"},D:{"1":"0 2 3 4 5 6 7 k l m n o p q r s t y z v HB g DB XB EB FB","2":"F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j"},E:{"1":"A B LB MB NB","2":"F J K C G E GB AB IB JB KB"},F:{"1":"w Z a b c d e f L h i j k l m n o p q r s t","2":"8 9 E B D I M H N O P Q R S T U V W X OB PB QB RB UB x"},G:{"1":"cB dB eB fB gB","2":"G AB WB BB YB ZB aB bB"},H:{"2":"hB"},I:{"1":"g","2":"1 F iB jB kB lB BB mB nB"},J:{"2":"C A"},K:{"1":"L","2":"8 9 A B D x"},L:{"1":"g"},M:{"1":"v"},N:{"2":"A B"},O:{"2":"oB"},P:{"1":"F J pB"},Q:{"2":"qB"},R:{"1":"rB"}},B:6,C:"ES6 Template Literals (Template Strings)"}; diff --git a/publi/node_modules/caniuse-lite/data/features/template.js b/publi/node_modules/caniuse-lite/data/features/template.js deleted file mode 100644 index 9119fe7..0000000 --- a/publi/node_modules/caniuse-lite/data/features/template.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"2":"D","388":"u Y I M H"},C:{"1":"0 2 3 4 5 6 7 R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v","2":"1 VB F J K C G E A B D u Y I M H N O P Q TB SB"},D:{"1":"0 2 3 4 5 6 7 e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB","2":"F J K C G E A B D u Y I M H N O P Q R S T U","132":"V W X w Z a b c d"},E:{"1":"E A B LB MB NB","2":"F J K C GB AB IB","388":"G KB","514":"JB"},F:{"1":"R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t","2":"8 9 E B D OB PB QB RB UB x","132":"I M H N O P Q"},G:{"1":"cB dB eB fB gB","2":"AB WB BB YB ZB aB","388":"G bB"},H:{"2":"hB"},I:{"1":"g mB nB","2":"1 F iB jB kB lB BB"},J:{"2":"C A"},K:{"1":"L","2":"8 9 A B D x"},L:{"1":"g"},M:{"1":"v"},N:{"2":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:1,C:"HTML templates"}; diff --git a/publi/node_modules/caniuse-lite/data/features/testfeat.js b/publi/node_modules/caniuse-lite/data/features/testfeat.js deleted file mode 100644 index b13e5db..0000000 --- a/publi/node_modules/caniuse-lite/data/features/testfeat.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G A B CB","16":"E"},B:{"2":"D u Y I M H"},C:{"2":"0 1 2 3 4 5 6 7 VB K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v TB SB","16":"F J"},D:{"2":"0 2 3 4 5 6 7 F J K C G E A u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB","16":"B D"},E:{"2":"F K GB AB IB","16":"J C G E A B JB KB LB MB NB"},F:{"2":"8 E B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t OB PB QB RB UB x","16":"9"},G:{"2":"AB WB BB YB ZB","16":"G aB bB cB dB eB fB gB"},H:{"2":"hB"},I:{"2":"1 F g iB jB lB BB mB nB","16":"kB"},J:{"2":"A","16":"C"},K:{"2":"8 9 A B D L x"},L:{"2":"g"},M:{"2":"v"},N:{"2":"A B"},O:{"2":"oB"},P:{"2":"F J pB"},Q:{"2":"qB"},R:{"2":"rB"}},B:7,C:"Test feature - updated"}; diff --git a/publi/node_modules/caniuse-lite/data/features/text-decoration.js b/publi/node_modules/caniuse-lite/data/features/text-decoration.js deleted file mode 100644 index a2bd287..0000000 --- a/publi/node_modules/caniuse-lite/data/features/text-decoration.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"2":"D u Y I M H"},C:{"2":"1 VB F J TB SB","1028":"0 2 3 4 5 6 7 f L h i j k l m n o p q r s t y z v","1060":"K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e"},D:{"2":"F J K C G E A B D u Y I M H N O P Q R S T U","226":"0 2 3 4 V W X w Z a b c d e f L h i j k l m n o p q r s t y z","2052":"5 6 7 v HB g DB XB EB FB"},E:{"2":"F J K C GB AB IB JB","804":"G E A B LB MB NB","1316":"KB"},F:{"2":"8 9 E B D I M H N O P Q R S T U V W X w Z a b c d OB PB QB RB UB x","226":"e f L h i j k l m","2052":"n o p q r s t"},G:{"2":"AB WB BB YB ZB aB","292":"G bB cB dB eB fB gB"},H:{"2":"hB"},I:{"1":"g","2":"1 F iB jB kB lB BB mB nB"},J:{"2":"C A"},K:{"2":"8 9 A B D L x"},L:{"2052":"g"},M:{"1":"v"},N:{"2":"A B"},O:{"2":"oB"},P:{"2":"F J pB"},Q:{"2":"qB"},R:{"1":"rB"}},B:4,C:"text-decoration styling"}; diff --git a/publi/node_modules/caniuse-lite/data/features/text-emphasis.js b/publi/node_modules/caniuse-lite/data/features/text-emphasis.js deleted file mode 100644 index 3bb494c..0000000 --- a/publi/node_modules/caniuse-lite/data/features/text-emphasis.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"2":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 p q r s t y z v","2":"1 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n TB SB","322":"o"},D:{"2":"F J K C G E A B D u Y I M H N O P Q R S T","164":"0 2 3 4 5 6 7 U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"1":"G E A B KB LB MB NB","2":"F J K GB AB IB","164":"C JB"},F:{"2":"8 9 E B D OB PB QB RB UB x","164":"I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t"},G:{"1":"G aB bB cB dB eB fB gB","2":"AB WB BB YB ZB"},H:{"2":"hB"},I:{"2":"1 F iB jB kB lB BB","164":"g mB nB"},J:{"2":"C","164":"A"},K:{"2":"8 9 A B D x","164":"L"},L:{"164":"g"},M:{"2":"v"},N:{"2":"A B"},O:{"164":"oB"},P:{"164":"F J pB"},Q:{"164":"qB"},R:{"164":"rB"}},B:4,C:"text-emphasis styling"}; diff --git a/publi/node_modules/caniuse-lite/data/features/text-overflow.js b/publi/node_modules/caniuse-lite/data/features/text-overflow.js deleted file mode 100644 index 08d7adc..0000000 --- a/publi/node_modules/caniuse-lite/data/features/text-overflow.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"K C G E A B","2":"CB"},B:{"1":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v","8":"1 VB F J K TB SB"},D:{"1":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"1":"F J K C G E A B GB AB IB JB KB LB MB NB"},F:{"1":"8 9 B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t UB x","33":"E OB PB QB RB"},G:{"1":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"1":"hB"},I:{"1":"1 F g iB jB kB lB BB mB nB"},J:{"1":"C A"},K:{"1":"L x","33":"8 9 A B D"},L:{"1":"g"},M:{"1":"v"},N:{"1":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:4,C:"CSS3 Text-overflow"}; diff --git a/publi/node_modules/caniuse-lite/data/features/text-size-adjust.js b/publi/node_modules/caniuse-lite/data/features/text-size-adjust.js deleted file mode 100644 index f1a8d44..0000000 --- a/publi/node_modules/caniuse-lite/data/features/text-size-adjust.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"2":"D u Y I M H"},C:{"2":"0 1 2 3 4 5 6 7 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v TB SB"},D:{"1":"2 3 4 5 6 7 v HB g DB XB EB FB","2":"0 F J K C G E A B D u Y I M H N O P Q R S T U W X w Z a b c d e f L h i j k l m n o p q r s t y z","258":"V"},E:{"2":"F J K C G E A B GB AB JB KB LB MB NB","258":"IB"},F:{"1":"m o p q r s t","2":"8 9 E B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l n OB PB QB RB UB x"},G:{"2":"AB WB BB","33":"G YB ZB aB bB cB dB eB fB gB"},H:{"2":"hB"},I:{"1":"g","2":"1 F iB jB kB lB BB mB nB"},J:{"2":"C A"},K:{"2":"8 9 A B D L x"},L:{"1":"g"},M:{"33":"v"},N:{"161":"A B"},O:{"33":"oB"},P:{"1":"J pB","2":"F"},Q:{"2":"qB"},R:{"2":"rB"}},B:7,C:"CSS text-size-adjust"}; diff --git a/publi/node_modules/caniuse-lite/data/features/text-stroke.js b/publi/node_modules/caniuse-lite/data/features/text-stroke.js deleted file mode 100644 index 84f96bb..0000000 --- a/publi/node_modules/caniuse-lite/data/features/text-stroke.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"2":"D u Y","161":"I M H"},C:{"2":"1 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q TB SB","161":"0 2 3 4 5 6 7 s t y z v","450":"r"},D:{"33":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"1":"B NB","33":"F J K C G E A GB AB IB JB KB LB MB"},F:{"2":"8 9 E B D OB PB QB RB UB x","33":"I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t"},G:{"33":"G WB BB YB ZB aB bB cB dB eB fB gB","36":"AB"},H:{"2":"hB"},I:{"2":"1","33":"F g iB jB kB lB BB mB nB"},J:{"33":"C A"},K:{"2":"8 9 A B D x","33":"L"},L:{"33":"g"},M:{"161":"v"},N:{"2":"A B"},O:{"2":"oB"},P:{"33":"F J pB"},Q:{"33":"qB"},R:{"33":"rB"}},B:7,C:"CSS text-stroke and text-fill"}; diff --git a/publi/node_modules/caniuse-lite/data/features/textcontent.js b/publi/node_modules/caniuse-lite/data/features/textcontent.js deleted file mode 100644 index 2ca2ed4..0000000 --- a/publi/node_modules/caniuse-lite/data/features/textcontent.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"E A B","2":"K C G CB"},B:{"1":"D u Y I M H"},C:{"1":"0 1 2 3 4 5 6 7 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v TB SB"},D:{"1":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"1":"F J K C G E A B AB IB JB KB LB MB NB","16":"GB"},F:{"1":"8 9 B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t OB PB QB RB UB x","16":"E"},G:{"1":"G WB BB YB ZB aB bB cB dB eB fB gB","16":"AB"},H:{"1":"hB"},I:{"1":"1 F g kB lB BB mB nB","16":"iB jB"},J:{"1":"C A"},K:{"1":"8 9 A B D L x"},L:{"1":"g"},M:{"1":"v"},N:{"1":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:1,C:"Node.textContent"}; diff --git a/publi/node_modules/caniuse-lite/data/features/textencoder.js b/publi/node_modules/caniuse-lite/data/features/textencoder.js deleted file mode 100644 index 1255775..0000000 --- a/publi/node_modules/caniuse-lite/data/features/textencoder.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"2":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v","2":"1 VB F J K C G E A B D u Y I M H N TB SB","132":"O"},D:{"1":"0 2 3 4 5 6 7 h i j k l m n o p q r s t y z v HB g DB XB EB FB","2":"F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L"},E:{"1":"B MB NB","2":"F J K C G E A GB AB IB JB KB LB"},F:{"1":"U V W X w Z a b c d e f L h i j k l m n o p q r s t","2":"8 9 E B D I M H N O P Q R S T OB PB QB RB UB x"},G:{"1":"fB gB","2":"G AB WB BB YB ZB aB bB cB dB eB"},H:{"2":"hB"},I:{"1":"g","2":"1 F iB jB kB lB BB mB nB"},J:{"2":"C A"},K:{"1":"L","2":"8 9 A B D x"},L:{"1":"g"},M:{"1":"v"},N:{"2":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"2":"qB"},R:{"1":"rB"}},B:1,C:"TextEncoder & TextDecoder"}; diff --git a/publi/node_modules/caniuse-lite/data/features/tls1-1.js b/publi/node_modules/caniuse-lite/data/features/tls1-1.js deleted file mode 100644 index d9fb86d..0000000 --- a/publi/node_modules/caniuse-lite/data/features/tls1-1.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"B","2":"K C CB","66":"G E A"},B:{"1":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v","2":"1 VB F J K C G E A B D u Y I M H N O P Q R TB SB","66":"S"},D:{"1":"0 2 3 4 5 6 7 R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB","2":"F J K C G E A B D u Y I M H N O P Q"},E:{"1":"C G E A B KB LB MB NB","2":"F J K GB AB IB JB"},F:{"1":"I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t x","2":"8 9 E B D OB PB QB RB UB"},G:{"1":"G YB ZB aB bB cB dB eB fB gB","2":"AB WB BB"},H:{"1":"hB"},I:{"1":"g","2":"1 F iB jB kB lB BB mB nB"},J:{"1":"A","2":"C"},K:{"1":"L x","2":"8 9 A B D"},L:{"1":"g"},M:{"1":"v"},N:{"1":"B","66":"A"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:6,C:"TLS 1.1"}; diff --git a/publi/node_modules/caniuse-lite/data/features/tls1-2.js b/publi/node_modules/caniuse-lite/data/features/tls1-2.js deleted file mode 100644 index 0e412e6..0000000 --- a/publi/node_modules/caniuse-lite/data/features/tls1-2.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"B","2":"K C CB","66":"G E A"},B:{"1":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 W X w Z a b c d e f L h i j k l m n o p q r s t y z v","2":"1 VB F J K C G E A B D u Y I M H N O P Q R S TB SB","66":"T U V"},D:{"1":"0 2 3 4 5 6 7 Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB","2":"F J K C G E A B D u Y I M H N O P Q R S T U V W X w"},E:{"1":"C G E A B KB LB MB NB","2":"F J K GB AB IB JB"},F:{"1":"H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t x","2":"E I M OB","66":"8 9 B D PB QB RB UB"},G:{"1":"G YB ZB aB bB cB dB eB fB gB","2":"AB WB BB"},H:{"1":"hB"},I:{"1":"g","2":"1 F iB jB kB lB BB mB nB"},J:{"1":"A","2":"C"},K:{"1":"L x","2":"8 9 A B D"},L:{"1":"g"},M:{"1":"v"},N:{"1":"B","66":"A"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:6,C:"TLS 1.2"}; diff --git a/publi/node_modules/caniuse-lite/data/features/tls1-3.js b/publi/node_modules/caniuse-lite/data/features/tls1-3.js deleted file mode 100644 index da99c25..0000000 --- a/publi/node_modules/caniuse-lite/data/features/tls1-3.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"2":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 z v","2":"1 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t TB SB","66":"y"},D:{"1":"3 5 6 7 v HB g DB XB EB FB","2":"0 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z","66":"2 4"},E:{"2":"F J K C G E A B GB AB IB JB KB LB MB NB"},F:{"1":"m n o p q r s t","2":"8 9 E B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k OB PB QB RB UB x","66":"l"},G:{"2":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"2":"hB"},I:{"2":"1 F iB jB kB lB BB mB nB","16":"g"},J:{"2":"C","16":"A"},K:{"2":"8 9 A B D L x"},L:{"1":"g"},M:{"16":"v"},N:{"2":"A","16":"B"},O:{"16":"oB"},P:{"1":"pB","16":"F J"},Q:{"16":"qB"},R:{"16":"rB"}},B:6,C:"TLS 1.3"}; diff --git a/publi/node_modules/caniuse-lite/data/features/token-binding.js b/publi/node_modules/caniuse-lite/data/features/token-binding.js deleted file mode 100644 index 6aecc0b..0000000 --- a/publi/node_modules/caniuse-lite/data/features/token-binding.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"2":"D u Y","257":"I M H"},C:{"2":"0 1 2 3 4 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v TB SB","16":"5 6 7"},D:{"2":"F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h","16":"0 2 3 4 i j k l m n o p q r s t y z v","194":"5 6 7 HB g DB XB EB FB"},E:{"2":"F J K C G GB AB IB JB KB","16":"E A B LB MB NB"},F:{"2":"8 9 E B D I M H N O P Q R S T U V W X w OB PB QB RB UB x","16":"Z a b c d e f L h i j k l m n o p q r s t"},G:{"2":"G AB WB BB YB ZB aB bB","16":"cB dB eB fB gB"},H:{"16":"hB"},I:{"2":"1 F iB jB kB lB BB mB nB","16":"g"},J:{"2":"C A"},K:{"2":"8 9 A B D x","16":"L"},L:{"16":"g"},M:{"16":"v"},N:{"2":"A","16":"B"},O:{"16":"oB"},P:{"16":"F J pB"},Q:{"16":"qB"},R:{"16":"rB"}},B:6,C:"Token Binding"}; diff --git a/publi/node_modules/caniuse-lite/data/features/touch.js b/publi/node_modules/caniuse-lite/data/features/touch.js deleted file mode 100644 index 4b49dfe..0000000 --- a/publi/node_modules/caniuse-lite/data/features/touch.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E CB","8":"A B"},B:{"578":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 N O P Q R S T z v","2":"1 VB TB SB","4":"F J K C G E A B D u Y I M H","194":"U V W X w Z a b c d e f L h i j k l m n o p q r s t y"},D:{"1":"0 2 3 4 5 6 7 R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB","2":"F J K C G E A B D u Y I M H N O P Q"},E:{"2":"F J K C G E A B GB AB IB JB KB LB MB NB"},F:{"1":"I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t","2":"8 9 E B D OB PB QB RB UB x"},G:{"1":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"2":"hB"},I:{"1":"1 F g iB jB kB lB BB mB nB"},J:{"1":"C A"},K:{"1":"8 9 B D L x","2":"A"},L:{"1":"g"},M:{"1":"v"},N:{"8":"A","260":"B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:2,C:"Touch events"}; diff --git a/publi/node_modules/caniuse-lite/data/features/transforms2d.js b/publi/node_modules/caniuse-lite/data/features/transforms2d.js deleted file mode 100644 index 7574971..0000000 --- a/publi/node_modules/caniuse-lite/data/features/transforms2d.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"CB","8":"K C G","129":"A B","161":"E"},B:{"129":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v","2":"1 VB","33":"F J K C G E A B D u Y I TB SB"},D:{"1":"0 2 3 4 5 6 7 f L h i j k l m n o p q r s t y z v HB g DB XB EB FB","33":"F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e"},E:{"1":"E A B LB MB NB","33":"F J K C G GB AB IB JB KB"},F:{"1":"S T U V W X w Z a b c d e f L h i j k l m n o p q r s t x","2":"E OB PB","33":"8 9 B D I M H N O P Q R QB RB UB"},G:{"1":"cB dB eB fB gB","33":"G AB WB BB YB ZB aB bB"},H:{"2":"hB"},I:{"1":"g","33":"1 F iB jB kB lB BB mB nB"},J:{"33":"C A"},K:{"1":"8 9 B D L x","2":"A"},L:{"1":"g"},M:{"1":"v"},N:{"1":"A B"},O:{"33":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:5,C:"CSS3 2D Transforms"}; diff --git a/publi/node_modules/caniuse-lite/data/features/transforms3d.js b/publi/node_modules/caniuse-lite/data/features/transforms3d.js deleted file mode 100644 index 7da4c7e..0000000 --- a/publi/node_modules/caniuse-lite/data/features/transforms3d.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E CB","132":"A B"},B:{"1":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v","2":"1 VB F J K C G E TB SB","33":"A B D u Y I"},D:{"1":"0 2 3 4 5 6 7 f L h i j k l m n o p q r s t y z v HB g DB XB EB FB","2":"F J K C G E A B","33":"D u Y I M H N O P Q R S T U V W X w Z a b c d e"},E:{"2":"GB AB","33":"F J K C G IB JB KB","257":"E A B LB MB NB"},F:{"1":"S T U V W X w Z a b c d e f L h i j k l m n o p q r s t","2":"8 9 E B D OB PB QB RB UB x","33":"I M H N O P Q R"},G:{"33":"G AB WB BB YB ZB aB bB","257":"cB dB eB fB gB"},H:{"2":"hB"},I:{"1":"g","2":"iB jB kB","33":"1 F lB BB mB nB"},J:{"33":"C A"},K:{"1":"L","2":"8 9 A B D x"},L:{"1":"g"},M:{"1":"v"},N:{"132":"A B"},O:{"33":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:5,C:"CSS3 3D Transforms"}; diff --git a/publi/node_modules/caniuse-lite/data/features/ttf.js b/publi/node_modules/caniuse-lite/data/features/ttf.js deleted file mode 100644 index 222f313..0000000 --- a/publi/node_modules/caniuse-lite/data/features/ttf.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G CB","132":"E A B"},B:{"1":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v TB SB","2":"1 VB"},D:{"1":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"1":"F J K C G E A B GB AB IB JB KB LB MB NB"},F:{"1":"8 9 B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t PB QB RB UB x","2":"E OB"},G:{"1":"G BB YB ZB aB bB cB dB eB fB gB","2":"AB WB"},H:{"2":"hB"},I:{"1":"1 F g jB kB lB BB mB nB","2":"iB"},J:{"1":"C A"},K:{"1":"8 9 A B D L x"},L:{"1":"g"},M:{"1":"v"},N:{"132":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:6,C:"TTF/OTF - TrueType and OpenType font support"}; diff --git a/publi/node_modules/caniuse-lite/data/features/typedarrays.js b/publi/node_modules/caniuse-lite/data/features/typedarrays.js deleted file mode 100644 index 4d7f9bc..0000000 --- a/publi/node_modules/caniuse-lite/data/features/typedarrays.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"B","2":"K C G E CB","132":"A"},B:{"1":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v","2":"1 VB TB SB"},D:{"1":"0 2 3 4 5 6 7 C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB","2":"F J K"},E:{"1":"K C G E A B JB KB LB MB NB","2":"F J GB AB","260":"IB"},F:{"1":"D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t UB x","2":"8 9 E B OB PB QB RB"},G:{"1":"G YB ZB aB bB cB dB eB fB gB","2":"AB WB","260":"BB"},H:{"1":"hB"},I:{"1":"F g lB BB mB nB","2":"1 iB jB kB"},J:{"1":"A","2":"C"},K:{"1":"D L x","2":"8 9 A B"},L:{"1":"g"},M:{"1":"v"},N:{"132":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:6,C:"Typed Arrays"}; diff --git a/publi/node_modules/caniuse-lite/data/features/u2f.js b/publi/node_modules/caniuse-lite/data/features/u2f.js deleted file mode 100644 index 74f80da..0000000 --- a/publi/node_modules/caniuse-lite/data/features/u2f.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"2":"D u Y I M H"},C:{"2":"1 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p TB SB","322":"0 2 3 4 5 6 7 q r s t y z v"},D:{"1":"0 2 3 4 5 6 7 k l m n o p q r s t y z v HB g DB XB EB FB","2":"F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L","130":"h i j"},E:{"2":"F J K C G E A B GB AB IB JB KB LB MB NB"},F:{"1":"j l m n o p q r s t","2":"8 9 E B D I M H N O P Q R S T U V W X w Z a b c d e f L h i k OB PB QB RB UB x"},G:{"2":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"2":"hB"},I:{"2":"1 F g iB jB kB lB BB mB nB"},J:{"2":"C A"},K:{"2":"8 9 A B D L x"},L:{"2":"g"},M:{"2":"v"},N:{"2":"A B"},O:{"2":"oB"},P:{"2":"F J pB"},Q:{"2":"qB"},R:{"2":"rB"}},B:6,C:"FIDO U2F API"}; diff --git a/publi/node_modules/caniuse-lite/data/features/unhandledrejection.js b/publi/node_modules/caniuse-lite/data/features/unhandledrejection.js deleted file mode 100644 index cead28f..0000000 --- a/publi/node_modules/caniuse-lite/data/features/unhandledrejection.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"2":"D u Y I M H"},C:{"2":"0 1 2 3 4 5 6 7 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v TB SB"},D:{"1":"0 2 3 4 5 6 7 f L h i j k l m n o p q r s t y z v HB g DB XB EB FB","2":"F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e"},E:{"1":"B NB","2":"F J K C G E A GB AB IB JB KB LB MB"},F:{"1":"f L h i j k l m n o p q r s t","2":"8 9 E B D I M H N O P Q R S T U V W X w Z a b c d e OB PB QB RB UB x"},G:{"2":"G AB WB BB YB ZB aB bB cB dB eB fB","16":"gB"},H:{"2":"hB"},I:{"1":"g","2":"1 F iB jB kB lB BB mB nB"},J:{"2":"C A"},K:{"1":"L","2":"8 9 A B D x"},L:{"1":"g"},M:{"2":"v"},N:{"2":"A B"},O:{"2":"oB"},P:{"1":"J pB","2":"F"},Q:{"2":"qB"},R:{"2":"rB"}},B:1,C:"unhandledrejection/rejectionhandled events"}; diff --git a/publi/node_modules/caniuse-lite/data/features/upgradeinsecurerequests.js b/publi/node_modules/caniuse-lite/data/features/upgradeinsecurerequests.js deleted file mode 100644 index 693af1b..0000000 --- a/publi/node_modules/caniuse-lite/data/features/upgradeinsecurerequests.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"2":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 l m n o p q r s t y z v","2":"1 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k TB SB"},D:{"1":"0 2 3 4 5 6 7 m n o p q r s t y z v HB g DB XB EB FB","2":"F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l"},E:{"1":"B MB NB","2":"F J K C G E A GB AB IB JB KB LB"},F:{"1":"Z a b c d e f L h i j k l m n o p q r s t","2":"8 9 E B D I M H N O P Q R S T U V W X w OB PB QB RB UB x"},G:{"1":"fB gB","2":"G AB WB BB YB ZB aB bB cB dB eB"},H:{"2":"hB"},I:{"1":"g","2":"1 F iB jB kB lB BB mB nB"},J:{"2":"C A"},K:{"1":"L","2":"8 9 A B D x"},L:{"1":"g"},M:{"1":"v"},N:{"2":"A B"},O:{"2":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:4,C:"Upgrade Insecure Requests"}; diff --git a/publi/node_modules/caniuse-lite/data/features/url.js b/publi/node_modules/caniuse-lite/data/features/url.js deleted file mode 100644 index c568660..0000000 --- a/publi/node_modules/caniuse-lite/data/features/url.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"1":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 V W X w Z a b c d e f L h i j k l m n o p q r s t y z v","2":"1 VB F J K C G E A B D u Y I M H N O P Q R S T U TB SB"},D:{"1":"0 2 3 4 5 6 7 b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB","2":"F J K C G E A B D u Y I M H N O P Q R","130":"S T U V W X w Z a"},E:{"1":"G E A B KB LB MB NB","2":"F J K GB AB IB JB","130":"C"},F:{"1":"O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t","2":"8 9 E B D OB PB QB RB UB x","130":"I M H N"},G:{"1":"G bB cB dB eB fB gB","2":"AB WB BB YB ZB","130":"aB"},H:{"2":"hB"},I:{"1":"g nB","2":"1 F iB jB kB lB BB","130":"mB"},J:{"2":"C","130":"A"},K:{"1":"L","2":"8 9 A B D x"},L:{"1":"g"},M:{"1":"v"},N:{"2":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:1,C:"URL API"}; diff --git a/publi/node_modules/caniuse-lite/data/features/urlsearchparams.js b/publi/node_modules/caniuse-lite/data/features/urlsearchparams.js deleted file mode 100644 index 350464c..0000000 --- a/publi/node_modules/caniuse-lite/data/features/urlsearchparams.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"1":"H","2":"D u Y I M"},C:{"1":"0 2 3 4 5 6 7 n o p q r s t y z v","2":"1 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X TB SB","132":"w Z a b c d e f L h i j k l m"},D:{"1":"0 2 3 4 5 6 7 s t y z v HB g DB XB EB FB","2":"F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r"},E:{"1":"B MB NB","2":"F J K C G E A GB AB IB JB KB LB"},F:{"1":"f L h i j k l m n o p q r s t","2":"8 9 E B D I M H N O P Q R S T U V W X w Z a b c d e OB PB QB RB UB x"},G:{"1":"fB gB","2":"G AB WB BB YB ZB aB bB cB dB eB"},H:{"2":"hB"},I:{"1":"g","2":"1 F iB jB kB lB BB mB nB"},J:{"2":"C A"},K:{"1":"L","2":"8 9 A B D x"},L:{"1":"g"},M:{"1":"v"},N:{"2":"A B"},O:{"2":"oB"},P:{"1":"J pB","2":"F"},Q:{"2":"qB"},R:{"2":"rB"}},B:1,C:"URLSearchParams"}; diff --git a/publi/node_modules/caniuse-lite/data/features/use-strict.js b/publi/node_modules/caniuse-lite/data/features/use-strict.js deleted file mode 100644 index f30a5d4..0000000 --- a/publi/node_modules/caniuse-lite/data/features/use-strict.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"A B","2":"K C G E CB"},B:{"1":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v","2":"1 VB TB SB"},D:{"1":"0 2 3 4 5 6 7 u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB","2":"F J K C G E A B D"},E:{"1":"K C G E A B JB KB LB MB NB","2":"F GB AB","132":"J IB"},F:{"1":"D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t UB x","2":"8 9 E B OB PB QB RB"},G:{"1":"G YB ZB aB bB cB dB eB fB gB","2":"AB WB BB"},H:{"1":"hB"},I:{"1":"1 F g lB BB mB nB","2":"iB jB kB"},J:{"1":"C A"},K:{"1":"8 D L x","2":"9 A B"},L:{"1":"g"},M:{"1":"v"},N:{"1":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:6,C:"ECMAScript 5 Strict Mode"}; diff --git a/publi/node_modules/caniuse-lite/data/features/user-select-none.js b/publi/node_modules/caniuse-lite/data/features/user-select-none.js deleted file mode 100644 index d02148e..0000000 --- a/publi/node_modules/caniuse-lite/data/features/user-select-none.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E CB","33":"A B"},B:{"33":"D u Y I M H"},C:{"33":"0 1 2 3 4 5 6 7 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v TB SB"},D:{"1":"2 3 4 5 6 7 v HB g DB XB EB FB","33":"0 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z"},E:{"33":"F J K C G E A B GB AB IB JB KB LB MB NB"},F:{"1":"k l m n o p q r s t","2":"8 9 E B D OB PB QB RB UB x","33":"I M H N O P Q R S T U V W X w Z a b c d e f L h i j"},G:{"33":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"2":"hB"},I:{"1":"g","33":"1 F iB jB kB lB BB mB nB"},J:{"33":"C A"},K:{"2":"8 9 A B D x","33":"L"},L:{"1":"g"},M:{"33":"v"},N:{"33":"A B"},O:{"33":"oB"},P:{"33":"F J pB"},Q:{"33":"qB"},R:{"2":"rB"}},B:5,C:"CSS user-select: none"}; diff --git a/publi/node_modules/caniuse-lite/data/features/user-timing.js b/publi/node_modules/caniuse-lite/data/features/user-timing.js deleted file mode 100644 index a14d9d0..0000000 --- a/publi/node_modules/caniuse-lite/data/features/user-timing.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"A B","2":"K C G E CB"},B:{"1":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 h i j k l m n o p q r s t y z v","2":"1 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L TB SB"},D:{"1":"0 2 3 4 5 6 7 U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB","2":"F J K C G E A B D u Y I M H N O P Q R S T"},E:{"1":"B NB","2":"F J K C G E A GB AB IB JB KB LB MB"},F:{"1":"I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t","2":"8 9 E B D OB PB QB RB UB x"},G:{"1":"gB","2":"G AB WB BB YB ZB aB bB cB dB eB fB"},H:{"2":"hB"},I:{"1":"g mB nB","2":"1 F iB jB kB lB BB"},J:{"2":"C A"},K:{"1":"L","2":"8 9 A B D x"},L:{"1":"g"},M:{"1":"v"},N:{"1":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:2,C:"User Timing API"}; diff --git a/publi/node_modules/caniuse-lite/data/features/variable-fonts.js b/publi/node_modules/caniuse-lite/data/features/variable-fonts.js deleted file mode 100644 index 8331e07..0000000 --- a/publi/node_modules/caniuse-lite/data/features/variable-fonts.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"2":"D u Y I M H"},C:{"2":"1 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z TB SB","322":"0 2 3 4 5 6 7 v"},D:{"1":"g DB XB EB FB","2":"0 2 3 4 5 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v","194":"6 7 HB"},E:{"2":"F J K C G E A GB AB IB JB KB LB MB","513":"B NB"},F:{"1":"s t","2":"8 9 E B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r OB PB QB RB UB x"},G:{"1":"gB","2":"G AB WB BB YB ZB aB bB cB dB eB fB"},H:{"2":"hB"},I:{"1":"g","2":"1 F iB jB kB lB BB mB nB"},J:{"2":"C A"},K:{"2":"8 9 A B D L x"},L:{"1":"g"},M:{"2":"v"},N:{"2":"A B"},O:{"2":"oB"},P:{"2":"F J pB"},Q:{"2":"qB"},R:{"2":"rB"}},B:5,C:"Variable fonts"}; diff --git a/publi/node_modules/caniuse-lite/data/features/vibration.js b/publi/node_modules/caniuse-lite/data/features/vibration.js deleted file mode 100644 index af6f3a4..0000000 --- a/publi/node_modules/caniuse-lite/data/features/vibration.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"2":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v","2":"1 VB F J K C G E A TB SB","33":"B D u Y I"},D:{"1":"0 2 3 4 5 6 7 Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB","2":"F J K C G E A B D u Y I M H N O P Q R S T U V W X w"},E:{"2":"F J K C G E A B GB AB IB JB KB LB MB NB"},F:{"1":"H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t","2":"8 9 E B D I M OB PB QB RB UB x"},G:{"2":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"2":"hB"},I:{"1":"g mB nB","2":"1 F iB jB kB lB BB"},J:{"1":"A","2":"C"},K:{"1":"L","2":"8 9 A B D x"},L:{"1":"g"},M:{"1":"v"},N:{"2":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:2,C:"Vibration API"}; diff --git a/publi/node_modules/caniuse-lite/data/features/video.js b/publi/node_modules/caniuse-lite/data/features/video.js deleted file mode 100644 index 3b8c280..0000000 --- a/publi/node_modules/caniuse-lite/data/features/video.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"E A B","2":"K C G CB"},B:{"1":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v","2":"1 VB","260":"F J K C G E A B D u Y I M H N O TB SB"},D:{"1":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"1":"F J K C G E A B IB JB KB LB MB NB","2":"GB AB"},F:{"1":"8 9 B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t QB RB UB x","2":"E OB PB"},G:{"1":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"2":"hB"},I:{"1":"1 F g kB lB BB mB nB","132":"iB jB"},J:{"1":"C A"},K:{"1":"8 9 B D L x","2":"A"},L:{"1":"g"},M:{"1":"v"},N:{"1":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:1,C:"Video element"}; diff --git a/publi/node_modules/caniuse-lite/data/features/videotracks.js b/publi/node_modules/caniuse-lite/data/features/videotracks.js deleted file mode 100644 index d03d76d..0000000 --- a/publi/node_modules/caniuse-lite/data/features/videotracks.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"1":"D u Y I M H"},C:{"2":"0 1 2 3 4 5 6 7 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v TB SB"},D:{"2":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"1":"C G E A B JB KB LB MB NB","2":"F J K GB AB IB"},F:{"2":"8 9 E B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t OB PB QB RB UB x"},G:{"1":"G aB bB cB dB eB fB gB","2":"AB WB BB YB ZB"},H:{"2":"hB"},I:{"2":"1 F g iB jB kB lB BB mB nB"},J:{"2":"C A"},K:{"2":"8 9 A B D L x"},L:{"2":"g"},M:{"2":"v"},N:{"2":"A B"},O:{"2":"oB"},P:{"2":"F J pB"},Q:{"2":"qB"},R:{"2":"rB"}},B:1,C:"Video Tracks"}; diff --git a/publi/node_modules/caniuse-lite/data/features/viewport-units.js b/publi/node_modules/caniuse-lite/data/features/viewport-units.js deleted file mode 100644 index a90b7d0..0000000 --- a/publi/node_modules/caniuse-lite/data/features/viewport-units.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G CB","132":"E","260":"A B"},B:{"1":"M H","260":"D u Y I"},C:{"1":"0 2 3 4 5 6 7 O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v","2":"1 VB F J K C G E A B D u Y I M H N TB SB"},D:{"1":"0 2 3 4 5 6 7 V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB","2":"F J K C G E A B D u Y I M H N O","260":"P Q R S T U"},E:{"1":"C G E A B JB KB LB MB NB","2":"F J GB AB IB","260":"K"},F:{"1":"I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t","2":"8 9 E B D OB PB QB RB UB x"},G:{"1":"G bB cB dB eB fB gB","2":"AB WB BB YB","516":"aB","772":"ZB"},H:{"2":"hB"},I:{"1":"g mB nB","2":"1 F iB jB kB lB BB"},J:{"1":"A","2":"C"},K:{"1":"L","2":"8 9 A B D x"},L:{"1":"g"},M:{"1":"v"},N:{"260":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:4,C:"Viewport units: vw, vh, vmin, vmax"}; diff --git a/publi/node_modules/caniuse-lite/data/features/wai-aria.js b/publi/node_modules/caniuse-lite/data/features/wai-aria.js deleted file mode 100644 index b4987e0..0000000 --- a/publi/node_modules/caniuse-lite/data/features/wai-aria.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C CB","4":"G E A B"},B:{"4":"D u Y I M H"},C:{"4":"0 1 2 3 4 5 6 7 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v TB SB"},D:{"4":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"2":"GB AB","4":"F J K C G E A B IB JB KB LB MB NB"},F:{"2":"E","4":"8 9 B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t OB PB QB RB UB x"},G:{"4":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"4":"hB"},I:{"2":"1 F iB jB kB lB BB","4":"g mB nB"},J:{"2":"C A"},K:{"4":"8 9 A B D L x"},L:{"4":"g"},M:{"4":"v"},N:{"4":"A B"},O:{"2":"oB"},P:{"4":"F J pB"},Q:{"4":"qB"},R:{"4":"rB"}},B:2,C:"WAI-ARIA Accessibility features"}; diff --git a/publi/node_modules/caniuse-lite/data/features/wasm.js b/publi/node_modules/caniuse-lite/data/features/wasm.js deleted file mode 100644 index ee9d8b4..0000000 --- a/publi/node_modules/caniuse-lite/data/features/wasm.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"1":"M H","2":"D u Y","578":"I"},C:{"1":"0 2 3 4 5 6 7 v","2":"1 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p TB SB","194":"q r s t y","1025":"z"},D:{"1":"5 6 7 v HB g DB XB EB FB","2":"F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t","322":"0 2 3 4 y z"},E:{"1":"B NB","2":"F J K C G E A GB AB IB JB KB LB MB"},F:{"1":"n o p q r s t","2":"8 9 E B D I M H N O P Q R S T U V W X w Z a b c d e f L OB PB QB RB UB x","322":"h i j k l m"},G:{"1":"gB","2":"G AB WB BB YB ZB aB bB cB dB eB fB"},H:{"2":"hB"},I:{"1":"g","2":"1 F iB jB kB lB BB mB nB"},J:{"2":"C A"},K:{"2":"8 9 A B D L x"},L:{"1":"g"},M:{"1":"v"},N:{"2":"A B"},O:{"2":"oB"},P:{"2":"F J pB"},Q:{"322":"qB"},R:{"2":"rB"}},B:6,C:"WebAssembly"}; diff --git a/publi/node_modules/caniuse-lite/data/features/wav.js b/publi/node_modules/caniuse-lite/data/features/wav.js deleted file mode 100644 index fdb3ec7..0000000 --- a/publi/node_modules/caniuse-lite/data/features/wav.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"1":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v TB SB","2":"1 VB"},D:{"1":"0 2 3 4 5 6 7 G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB","2":"F J K C"},E:{"1":"F J K C G E A B IB JB KB LB MB NB","2":"GB AB"},F:{"1":"8 9 B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t QB RB UB x","2":"E OB PB"},G:{"1":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"2":"hB"},I:{"1":"1 F g kB lB BB mB nB","16":"iB jB"},J:{"1":"C A"},K:{"1":"8 9 B D L x","16":"A"},L:{"1":"g"},M:{"1":"v"},N:{"2":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:6,C:"Wav audio format"}; diff --git a/publi/node_modules/caniuse-lite/data/features/wbr-element.js b/publi/node_modules/caniuse-lite/data/features/wbr-element.js deleted file mode 100644 index c9f07b4..0000000 --- a/publi/node_modules/caniuse-lite/data/features/wbr-element.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"K C CB","2":"G E A B"},B:{"1":"D u Y I M H"},C:{"1":"0 1 2 3 4 5 6 7 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v TB SB"},D:{"1":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"1":"F J K C G E A B AB IB JB KB LB MB NB","16":"GB"},F:{"1":"8 9 B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t OB PB QB RB UB x","16":"E"},G:{"1":"G YB ZB aB bB cB dB eB fB gB","16":"AB WB BB"},H:{"1":"hB"},I:{"1":"1 F g kB lB BB mB nB","16":"iB jB"},J:{"1":"C A"},K:{"1":"8 9 B D L x","2":"A"},L:{"1":"g"},M:{"1":"v"},N:{"2":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:1,C:"wbr (word break opportunity) element"}; diff --git a/publi/node_modules/caniuse-lite/data/features/web-animation.js b/publi/node_modules/caniuse-lite/data/features/web-animation.js deleted file mode 100644 index c762e24..0000000 --- a/publi/node_modules/caniuse-lite/data/features/web-animation.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"2":"D u Y I M H"},C:{"1":"6 7","2":"1 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b TB SB","516":"0 2 3 4 5 q r s t y z v","580":"c d e f L h i j k l m n o p"},D:{"2":"F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e","132":"f L h","260":"0 2 3 4 5 6 7 i j k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"2":"F J K C G E A GB AB IB JB KB LB MB","1090":"B NB"},F:{"2":"8 9 E B D I M H N O P Q R OB PB QB RB UB x","132":"S T U","260":"V W X w Z a b c d e f L h i j k l m n o p q r s t"},G:{"2":"G AB WB BB YB ZB aB bB cB dB eB fB","1090":"gB"},H:{"2":"hB"},I:{"2":"1 F iB jB kB lB BB mB nB","260":"g"},J:{"2":"C A"},K:{"2":"8 9 A B D x","260":"L"},L:{"260":"g"},M:{"516":"v"},N:{"2":"A B"},O:{"260":"oB"},P:{"260":"F J pB"},Q:{"260":"qB"},R:{"260":"rB"}},B:5,C:"Web Animations API"}; diff --git a/publi/node_modules/caniuse-lite/data/features/web-app-manifest.js b/publi/node_modules/caniuse-lite/data/features/web-app-manifest.js deleted file mode 100644 index a53fbf3..0000000 --- a/publi/node_modules/caniuse-lite/data/features/web-app-manifest.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"2":"D u Y I M H"},C:{"2":"0 1 2 3 4 5 6 7 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v TB SB"},D:{"1":"0 2 3 4 5 6 7 h i j k l m n o p q r s t y z v HB g DB XB EB FB","2":"F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L"},E:{"2":"F J K C G E A B GB AB IB JB KB LB MB NB"},F:{"1":"b c d e f L h i j k l m n o p q r s t","2":"8 9 E B D I M H N O P Q R S T U V W X w Z a OB PB QB RB UB x"},G:{"2":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"2":"hB"},I:{"2":"1 F g iB jB kB lB BB mB nB"},J:{"2":"C A"},K:{"1":"L","2":"8 9 A B D x"},L:{"1":"g"},M:{"2":"v"},N:{"2":"A B"},O:{"2":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:5,C:"Web App Manifest"}; diff --git a/publi/node_modules/caniuse-lite/data/features/web-bluetooth.js b/publi/node_modules/caniuse-lite/data/features/web-bluetooth.js deleted file mode 100644 index 535bd69..0000000 --- a/publi/node_modules/caniuse-lite/data/features/web-bluetooth.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"2":"D u Y I M H"},C:{"2":"0 1 2 3 4 5 6 7 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v TB SB"},D:{"2":"F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n","194":"o p q r s t y z","706":"0 2 4","1025":"3 5 6 7 v HB g DB XB EB FB"},E:{"2":"F J K C G E A B GB AB IB JB KB LB MB NB"},F:{"2":"8 9 E B D I M H N O P Q R S T U V W X w Z a b c d e OB PB QB RB UB x","450":"f L h i","706":"j k l","1025":"m n o p q r s t"},G:{"2":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"2":"hB"},I:{"2":"1 F iB jB kB lB BB mB nB","1025":"g"},J:{"2":"C A"},K:{"2":"8 9 A B D L x"},L:{"1025":"g"},M:{"2":"v"},N:{"2":"A B"},O:{"2":"oB"},P:{"1":"pB","2":"F J"},Q:{"706":"qB"},R:{"2":"rB"}},B:7,C:"Web Bluetooth"}; diff --git a/publi/node_modules/caniuse-lite/data/features/web-share.js b/publi/node_modules/caniuse-lite/data/features/web-share.js deleted file mode 100644 index b196311..0000000 --- a/publi/node_modules/caniuse-lite/data/features/web-share.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"2":"D u Y I M H"},C:{"2":"0 1 2 3 4 5 6 7 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v TB SB"},D:{"2":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB","258":"N O P Q R S T"},E:{"2":"F J K C G E A B GB AB IB KB LB MB NB","16":"JB"},F:{"2":"8 9 E B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t OB PB QB RB UB x"},G:{"2":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"2":"hB"},I:{"2":"1 F iB jB kB lB BB mB","514":"g nB"},J:{"2":"C A"},K:{"2":"8 9 A B D L x"},L:{"1":"g"},M:{"514":"v"},N:{"2":"A B"},O:{"2":"oB"},P:{"2":"F","514":"J pB"},Q:{"2":"qB"},R:{"16":"rB"}},B:7,C:"Web Share API"}; diff --git a/publi/node_modules/caniuse-lite/data/features/webgl.js b/publi/node_modules/caniuse-lite/data/features/webgl.js deleted file mode 100644 index 6bb5e4c..0000000 --- a/publi/node_modules/caniuse-lite/data/features/webgl.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"CB","8":"K C G E A","129":"B"},B:{"129":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v","2":"1 VB TB SB","129":"F J K C G E A B D u Y I M H N O P Q R S"},D:{"1":"0 2 3 4 5 6 7 c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB","2":"F J K C","129":"G E A B D u Y I M H N O P Q R S T U V W X w Z a b"},E:{"1":"G E A B LB MB NB","2":"F J GB AB","129":"K C IB JB KB"},F:{"1":"O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t","2":"8 9 E B OB PB QB RB UB","129":"D I M H N x"},G:{"1":"G bB cB dB eB fB gB","2":"AB WB BB YB ZB aB"},H:{"2":"hB"},I:{"1":"g","2":"1 F iB jB kB lB BB mB nB"},J:{"1":"A","2":"C"},K:{"1":"D L x","2":"8 9 A B"},L:{"1":"g"},M:{"1":"v"},N:{"8":"A","129":"B"},O:{"129":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:6,C:"WebGL - 3D Canvas graphics"}; diff --git a/publi/node_modules/caniuse-lite/data/features/webgl2.js b/publi/node_modules/caniuse-lite/data/features/webgl2.js deleted file mode 100644 index b65590f..0000000 --- a/publi/node_modules/caniuse-lite/data/features/webgl2.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"2":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 y z v","2":"1 VB F J K C G E A B D u Y I M H N O P Q R S T TB SB","194":"l m n","450":"U V W X w Z a b c d e f L h i j k","2242":"o p q r s t"},D:{"1":"3 5 6 7 v HB g DB XB EB FB","2":"F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l","578":"0 2 4 m n o p q r s t y z"},E:{"2":"F J K C G E A GB AB IB JB KB LB","1090":"B MB NB"},F:{"1":"m n o p q r s t","2":"8 9 E B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l OB PB QB RB UB x"},G:{"2":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"2":"hB"},I:{"2":"1 F g iB jB kB lB BB mB nB"},J:{"2":"C A"},K:{"2":"8 9 A B D L x"},L:{"1":"g"},M:{"1":"v"},N:{"2":"A B"},O:{"2":"oB"},P:{"2":"F J pB"},Q:{"578":"qB"},R:{"2":"rB"}},B:6,C:"WebGL 2.0"}; diff --git a/publi/node_modules/caniuse-lite/data/features/webm.js b/publi/node_modules/caniuse-lite/data/features/webm.js deleted file mode 100644 index 7cce7dd..0000000 --- a/publi/node_modules/caniuse-lite/data/features/webm.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G CB","8":"E A B"},B:{"4":"Y I M H","8":"D u"},C:{"1":"0 2 3 4 5 6 7 X w Z a b c d e f L h i j k l m n o p q r s t y z v","2":"1 VB TB SB","4":"F J K C G E A B D u Y I M H N O P Q R S T U V W"},D:{"1":"0 2 3 4 5 6 7 U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB","2":"F J","4":"K C G E A B D u Y I M H N O P Q R S T"},E:{"2":"GB","8":"F J K C G E A B AB IB JB KB LB MB NB"},F:{"1":"M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t","2":"E OB PB QB","4":"8 9 B D I RB UB x"},G:{"2":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"2":"hB"},I:{"1":"g","2":"iB jB","4":"1 F kB lB BB mB nB"},J:{"2":"C A"},K:{"2":"8 9 A B D x","4":"L"},L:{"1":"g"},M:{"1":"v"},N:{"8":"A B"},O:{"1":"oB"},P:{"1":"J pB","4":"F"},Q:{"1":"qB"},R:{"1":"rB"}},B:6,C:"WebM video format"}; diff --git a/publi/node_modules/caniuse-lite/data/features/webp.js b/publi/node_modules/caniuse-lite/data/features/webp.js deleted file mode 100644 index acefb7f..0000000 --- a/publi/node_modules/caniuse-lite/data/features/webp.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"2":"D u Y I M H"},C:{"2":"1 VB TB SB","8":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v"},D:{"1":"0 2 3 4 5 6 7 S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB","2":"F J","8":"K C G","132":"E A B D u Y I M H N O P Q R"},E:{"2":"F J K C G E A B GB AB IB JB KB LB MB NB"},F:{"1":"D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t x","2":"E OB PB QB","8":"B RB","132":"8 9 UB"},G:{"2":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"1":"hB"},I:{"1":"g BB mB nB","2":"1 iB jB kB","132":"F lB"},J:{"2":"C A"},K:{"1":"8 9 D L x","2":"A","132":"B"},L:{"1":"g"},M:{"8":"v"},N:{"2":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:7,C:"WebP image format"}; diff --git a/publi/node_modules/caniuse-lite/data/features/websockets.js b/publi/node_modules/caniuse-lite/data/features/websockets.js deleted file mode 100644 index 370c1aa..0000000 --- a/publi/node_modules/caniuse-lite/data/features/websockets.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"A B","2":"K C G E CB"},B:{"1":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v","2":"1 VB TB SB","132":"F J","292":"K C G E A"},D:{"1":"0 2 3 4 5 6 7 M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB","132":"F J K C G E A B D u Y","260":"I"},E:{"1":"C G E A B KB LB MB NB","2":"F GB AB","132":"J IB","260":"K JB"},F:{"1":"I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t x","2":"E OB PB QB RB","132":"8 9 B D UB"},G:{"1":"G ZB aB bB cB dB eB fB gB","2":"AB WB","132":"BB YB"},H:{"2":"hB"},I:{"1":"g mB nB","2":"1 F iB jB kB lB BB"},J:{"1":"A","129":"C"},K:{"1":"L x","2":"A","132":"8 9 B D"},L:{"1":"g"},M:{"1":"v"},N:{"1":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:1,C:"Web Sockets"}; diff --git a/publi/node_modules/caniuse-lite/data/features/webusb.js b/publi/node_modules/caniuse-lite/data/features/webusb.js deleted file mode 100644 index 609b9ff..0000000 --- a/publi/node_modules/caniuse-lite/data/features/webusb.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"2":"D u Y I M H"},C:{"2":"0 1 2 3 4 5 6 7 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v TB SB"},D:{"1":"HB g DB XB EB FB","2":"0 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z","66":"2 3 4 5 6 7 v"},E:{"2":"F J K C G E A B GB AB IB JB KB LB MB NB"},F:{"1":"r s t","2":"8 9 E B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j OB PB QB RB UB x","66":"k l m n o p q"},G:{"2":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"2":"hB"},I:{"2":"1 F g iB jB kB lB BB mB nB"},J:{"2":"C A"},K:{"2":"8 9 A B D L x"},L:{"1":"g"},M:{"2":"v"},N:{"2":"A B"},O:{"2":"oB"},P:{"2":"F J pB"},Q:{"2":"qB"},R:{"2":"rB"}},B:7,C:"WebUSB"}; diff --git a/publi/node_modules/caniuse-lite/data/features/webvr.js b/publi/node_modules/caniuse-lite/data/features/webvr.js deleted file mode 100644 index 4c8b18d..0000000 --- a/publi/node_modules/caniuse-lite/data/features/webvr.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"2":"D u Y","513":"I M H"},C:{"2":"0 1 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z TB SB","129":"2 3 5 6 7 v","194":"4"},D:{"2":"0 2 3 4 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z","322":"5 6 7 v HB g DB XB EB FB"},E:{"2":"F J K C G E A B GB AB IB JB KB LB MB NB"},F:{"2":"8 9 E B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t OB PB QB RB UB x"},G:{"2":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"2":"hB"},I:{"2":"1 F g iB jB kB lB BB mB nB"},J:{"2":"C A"},K:{"2":"8 9 A B D L x"},L:{"2049":"g"},M:{"2":"v"},N:{"2":"A B"},O:{"2":"oB"},P:{"1025":"F","1028":"J pB"},Q:{"2":"qB"},R:{"322":"rB"}},B:7,C:"WebVR API"}; diff --git a/publi/node_modules/caniuse-lite/data/features/webvtt.js b/publi/node_modules/caniuse-lite/data/features/webvtt.js deleted file mode 100644 index 9169ef6..0000000 --- a/publi/node_modules/caniuse-lite/data/features/webvtt.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"A B","2":"K C G E CB"},B:{"1":"D u Y I M H"},C:{"2":"1 VB F J K C G E A B D u Y I M H N O P Q R S TB SB","66":"T U V W X w Z","129":"0 2 3 4 5 6 7 a b c d e f L h i j k l m n o p q r s t y z v"},D:{"1":"0 2 3 4 5 6 7 N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB","2":"F J K C G E A B D u Y I M H"},E:{"1":"K C G E A B JB KB LB MB NB","2":"F J GB AB IB"},F:{"1":"I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t","2":"8 9 E B D OB PB QB RB UB x"},G:{"1":"G aB bB cB dB eB fB gB","2":"AB WB BB YB ZB"},H:{"2":"hB"},I:{"1":"g mB nB","2":"1 F iB jB kB lB BB"},J:{"1":"A","2":"C"},K:{"1":"L","2":"8 9 A B D x"},L:{"1":"g"},M:{"1":"v"},N:{"1":"B","2":"A"},O:{"2":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:5,C:"WebVTT - Web Video Text Tracks"}; diff --git a/publi/node_modules/caniuse-lite/data/features/webworkers.js b/publi/node_modules/caniuse-lite/data/features/webworkers.js deleted file mode 100644 index 1f55421..0000000 --- a/publi/node_modules/caniuse-lite/data/features/webworkers.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"A B","2":"CB","8":"K C G E"},B:{"1":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v TB SB","8":"1 VB"},D:{"1":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"1":"F J K C G E A B IB JB KB LB MB NB","8":"GB AB"},F:{"1":"8 9 B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t RB UB x","2":"E OB","8":"PB QB"},G:{"1":"G YB ZB aB bB cB dB eB fB gB","2":"AB WB BB"},H:{"2":"hB"},I:{"1":"g iB mB nB","2":"1 F jB kB lB BB"},J:{"1":"C A"},K:{"1":"8 9 B D L x","8":"A"},L:{"1":"g"},M:{"1":"v"},N:{"1":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:1,C:"Web Workers"}; diff --git a/publi/node_modules/caniuse-lite/data/features/will-change.js b/publi/node_modules/caniuse-lite/data/features/will-change.js deleted file mode 100644 index c87bb30..0000000 --- a/publi/node_modules/caniuse-lite/data/features/will-change.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"2":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 f L h i j k l m n o p q r s t y z v","2":"1 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X TB SB","194":"w Z a b c d e"},D:{"1":"0 2 3 4 5 6 7 f L h i j k l m n o p q r s t y z v HB g DB XB EB FB","2":"F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e"},E:{"1":"A B LB MB NB","2":"F J K C G E GB AB IB JB KB"},F:{"1":"T U V W X w Z a b c d e f L h i j k l m n o p q r s t","2":"8 9 E B D I M H N O P Q R S OB PB QB RB UB x"},G:{"1":"dB eB fB gB","2":"G AB WB BB YB ZB aB bB cB"},H:{"2":"hB"},I:{"1":"g","2":"1 F iB jB kB lB BB mB nB"},J:{"2":"C A"},K:{"1":"L","2":"8 9 A B D x"},L:{"1":"g"},M:{"1":"v"},N:{"2":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:5,C:"CSS will-change property"}; diff --git a/publi/node_modules/caniuse-lite/data/features/woff.js b/publi/node_modules/caniuse-lite/data/features/woff.js deleted file mode 100644 index e7afa67..0000000 --- a/publi/node_modules/caniuse-lite/data/features/woff.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"E A B","2":"K C G CB"},B:{"1":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v SB","2":"1 VB TB"},D:{"1":"0 2 3 4 5 6 7 J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB","2":"F"},E:{"1":"K C G E A B IB JB KB LB MB NB","2":"F J GB AB"},F:{"1":"8 9 D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t UB x","2":"E B OB PB QB RB"},G:{"1":"G YB ZB aB bB cB dB eB fB gB","2":"AB WB BB"},H:{"2":"hB"},I:{"1":"g mB nB","2":"1 iB jB kB lB BB","130":"F"},J:{"1":"C A"},K:{"1":"8 9 B D L x","2":"A"},L:{"1":"g"},M:{"1":"v"},N:{"1":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:2,C:"WOFF - Web Open Font Format"}; diff --git a/publi/node_modules/caniuse-lite/data/features/woff2.js b/publi/node_modules/caniuse-lite/data/features/woff2.js deleted file mode 100644 index 1cb0c72..0000000 --- a/publi/node_modules/caniuse-lite/data/features/woff2.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E A B CB"},B:{"1":"Y I M H","2":"D u"},C:{"1":"0 2 3 4 5 6 7 i j k l m n o p q r s t y z v","2":"1 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h TB SB"},D:{"1":"0 2 3 4 5 6 7 f L h i j k l m n o p q r s t y z v HB g DB XB EB FB","2":"F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e"},E:{"2":"F J K C G E GB AB IB JB KB LB","132":"A B MB NB"},F:{"1":"S T U V W X w Z a b c d e f L h i j k l m n o p q r s t","2":"8 9 E B D I M H N O P Q R OB PB QB RB UB x"},G:{"1":"eB fB gB","2":"G AB WB BB YB ZB aB bB cB dB"},H:{"2":"hB"},I:{"1":"g","2":"1 F iB jB kB lB BB mB nB"},J:{"2":"C A"},K:{"1":"L","2":"8 9 A B D x"},L:{"1":"g"},M:{"1":"v"},N:{"2":"A B"},O:{"2":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:4,C:"WOFF 2.0 - Web Open Font Format"}; diff --git a/publi/node_modules/caniuse-lite/data/features/word-break.js b/publi/node_modules/caniuse-lite/data/features/word-break.js deleted file mode 100644 index c116030..0000000 --- a/publi/node_modules/caniuse-lite/data/features/word-break.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"K C G E A B CB"},B:{"1":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v","2":"1 VB F J K C G E A B D u Y TB SB"},D:{"1":"0 2 3 4 5 6 7 n o p q r s t y z v HB g DB XB EB FB","4":"F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m"},E:{"1":"E A B LB MB NB","4":"F J K C G GB AB IB JB KB"},F:{"1":"a b c d e f L h i j k l m n o p q r s t","2":"8 9 E B D OB PB QB RB UB x","4":"I M H N O P Q R S T U V W X w Z"},G:{"1":"cB dB eB fB gB","4":"G AB WB BB YB ZB aB bB"},H:{"2":"hB"},I:{"1":"g","4":"1 F iB jB kB lB BB mB nB"},J:{"4":"C A"},K:{"2":"8 9 A B D x","4":"L"},L:{"1":"g"},M:{"1":"v"},N:{"1":"A B"},O:{"4":"oB"},P:{"1":"F J pB"},Q:{"4":"qB"},R:{"1":"rB"}},B:5,C:"CSS3 word-break"}; diff --git a/publi/node_modules/caniuse-lite/data/features/wordwrap.js b/publi/node_modules/caniuse-lite/data/features/wordwrap.js deleted file mode 100644 index 31de6b9..0000000 --- a/publi/node_modules/caniuse-lite/data/features/wordwrap.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"4":"K C G E A B CB"},B:{"4":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 s t y z v","2":"1 VB","4":"F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r TB SB"},D:{"1":"0 2 3 4 5 6 7 S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB","4":"F J K C G E A B D u Y I M H N O P Q R"},E:{"1":"C G E A B JB KB LB MB NB","4":"F J K GB AB IB"},F:{"1":"I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t x","2":"E OB PB","4":"8 9 B D QB RB UB"},G:{"1":"G aB bB cB dB eB fB gB","4":"AB WB BB YB ZB"},H:{"4":"hB"},I:{"1":"g mB nB","4":"1 F iB jB kB lB BB"},J:{"1":"A","4":"C"},K:{"1":"L","4":"8 9 A B D x"},L:{"1":"g"},M:{"1":"v"},N:{"4":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:5,C:"CSS3 Overflow-wrap"}; diff --git a/publi/node_modules/caniuse-lite/data/features/x-doc-messaging.js b/publi/node_modules/caniuse-lite/data/features/x-doc-messaging.js deleted file mode 100644 index 0f7c566..0000000 --- a/publi/node_modules/caniuse-lite/data/features/x-doc-messaging.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C CB","132":"G E","260":"A B"},B:{"1":"D u Y I M H"},C:{"1":"0 1 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v TB SB","2":"VB"},D:{"1":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"1":"F J K C G E A B IB JB KB LB MB NB","2":"GB AB"},F:{"1":"8 9 B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t OB PB QB RB UB x","2":"E"},G:{"1":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"1":"hB"},I:{"1":"1 F g iB jB kB lB BB mB nB"},J:{"1":"C A"},K:{"1":"8 9 A B D L x"},L:{"1":"g"},M:{"1":"v"},N:{"4":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:1,C:"Cross-document messaging"}; diff --git a/publi/node_modules/caniuse-lite/data/features/x-frame-options.js b/publi/node_modules/caniuse-lite/data/features/x-frame-options.js deleted file mode 100644 index 4b242e2..0000000 --- a/publi/node_modules/caniuse-lite/data/features/x-frame-options.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"G E A B","2":"K C CB"},B:{"1":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v","4":"F J K C G E A B D u Y I M H","16":"1 VB TB SB"},D:{"4":"0 2 3 4 5 6 7 V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB","16":"F J K C G E A B D u Y I M H N O P Q R S T U"},E:{"4":"K C G E A B IB JB KB LB MB NB","16":"F J GB AB"},F:{"4":"D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t UB x","16":"8 9 E B OB PB QB RB"},G:{"4":"G aB bB cB dB eB fB gB","16":"AB WB BB YB ZB"},H:{"2":"hB"},I:{"4":"F g lB BB mB nB","16":"1 iB jB kB"},J:{"4":"C A"},K:{"4":"L x","16":"8 9 A B D"},L:{"4":"g"},M:{"1":"v"},N:{"1":"A B"},O:{"4":"oB"},P:{"4":"F J pB"},Q:{"4":"qB"},R:{"4":"rB"}},B:6,C:"X-Frame-Options HTTP header"}; diff --git a/publi/node_modules/caniuse-lite/data/features/xhr2.js b/publi/node_modules/caniuse-lite/data/features/xhr2.js deleted file mode 100644 index a7a4309..0000000 --- a/publi/node_modules/caniuse-lite/data/features/xhr2.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K C G E CB","132":"A B"},B:{"1":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v","2":"1 VB","260":"A B","388":"K C G E","900":"F J TB SB"},D:{"1":"0 2 3 4 5 6 7 a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB","16":"F J K","132":"w Z","388":"C G E A B D u Y I M H N O P Q R S T U V W X"},E:{"1":"G E A B KB LB MB NB","2":"F GB AB","132":"C JB","388":"J K IB"},F:{"1":"D N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t x","2":"8 9 E B OB PB QB RB UB","132":"I M H"},G:{"1":"G bB cB dB eB fB gB","2":"AB WB BB","132":"aB","388":"YB ZB"},H:{"2":"hB"},I:{"1":"g nB","2":"iB jB kB","388":"mB","900":"1 F lB BB"},J:{"132":"A","388":"C"},K:{"1":"D L x","2":"8 9 A B"},L:{"1":"g"},M:{"1":"v"},N:{"132":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:1,C:"XMLHttpRequest advanced features"}; diff --git a/publi/node_modules/caniuse-lite/data/features/xhtml.js b/publi/node_modules/caniuse-lite/data/features/xhtml.js deleted file mode 100644 index 0485915..0000000 --- a/publi/node_modules/caniuse-lite/data/features/xhtml.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"E A B","2":"K C G CB"},B:{"1":"D u Y I M H"},C:{"1":"0 1 2 3 4 5 6 7 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v TB SB"},D:{"1":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"1":"F J K C G E A B GB AB IB JB KB LB MB NB"},F:{"1":"8 9 E B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t OB PB QB RB UB x"},G:{"1":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"1":"hB"},I:{"1":"1 F g iB jB kB lB BB mB nB"},J:{"1":"C A"},K:{"1":"8 9 A B D L x"},L:{"1":"g"},M:{"1":"v"},N:{"1":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"2":"rB"}},B:1,C:"XHTML served as application/xhtml+xml"}; diff --git a/publi/node_modules/caniuse-lite/data/features/xhtmlsmil.js b/publi/node_modules/caniuse-lite/data/features/xhtmlsmil.js deleted file mode 100644 index 0fe820d..0000000 --- a/publi/node_modules/caniuse-lite/data/features/xhtmlsmil.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"E A B CB","4":"K C G"},B:{"2":"D u Y I M H"},C:{"8":"0 1 2 3 4 5 6 7 VB F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v TB SB"},D:{"8":"0 2 3 4 5 6 7 F J K C G E A B D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB"},E:{"8":"F J K C G E A B GB AB IB JB KB LB MB NB"},F:{"8":"8 9 E B D I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t OB PB QB RB UB x"},G:{"8":"G AB WB BB YB ZB aB bB cB dB eB fB gB"},H:{"8":"hB"},I:{"8":"1 F g iB jB kB lB BB mB nB"},J:{"8":"C A"},K:{"8":"8 9 A B D L x"},L:{"8":"g"},M:{"8":"v"},N:{"2":"A B"},O:{"8":"oB"},P:{"8":"F J pB"},Q:{"8":"qB"},R:{"8":"rB"}},B:7,C:"XHTML+SMIL animation"}; diff --git a/publi/node_modules/caniuse-lite/data/features/xml-serializer.js b/publi/node_modules/caniuse-lite/data/features/xml-serializer.js deleted file mode 100644 index f263393..0000000 --- a/publi/node_modules/caniuse-lite/data/features/xml-serializer.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"A B","132":"E","260":"K C G CB"},B:{"1":"D u Y I M H"},C:{"1":"0 2 3 4 5 6 7 D u Y I M H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t y z v","132":"B","260":"1 VB F J K C TB SB","516":"G E A"},D:{"1":"0 2 3 4 5 6 7 Z a b c d e f L h i j k l m n o p q r s t y z v HB g DB XB EB FB","132":"F J K C G E A B D u Y I M H N O P Q R S T U V W X w"},E:{"1":"G E A B KB LB MB NB","132":"F J K C GB AB IB JB"},F:{"1":"H N O P Q R S T U V W X w Z a b c d e f L h i j k l m n o p q r s t","16":"E OB","132":"8 9 B D I M PB QB RB UB x"},G:{"1":"G bB cB dB eB fB gB","132":"AB WB BB YB ZB aB"},H:{"132":"hB"},I:{"1":"g mB nB","132":"1 F iB jB kB lB BB"},J:{"132":"C A"},K:{"1":"L","16":"A","132":"8 9 B D x"},L:{"1":"g"},M:{"1":"v"},N:{"1":"A B"},O:{"1":"oB"},P:{"1":"F J pB"},Q:{"1":"qB"},R:{"1":"rB"}},B:4,C:"DOM Parsing and Serialization"}; diff --git a/publi/node_modules/caniuse-lite/data/regions/AD.js b/publi/node_modules/caniuse-lite/data/regions/AD.js deleted file mode 100644 index c69cbcf..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/AD.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.024204,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0.006051,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0.018153,"30":0.012102,"31":0.012102,"32":0,"33":0,"34":0.006051,"35":0,"36":0.012102,"37":0.036306,"38":0.018153,"39":0.096816,"40":0.006051,"41":0,"42":0.006051,"43":0.006051,"44":0.006051,"45":0,"46":0,"47":0,"48":0,"49":0.695865,"50":0.024204,"51":0.006051,"52":0.018153,"53":0,"54":0.006051,"55":0.054459,"56":0.06051,"57":0.054459,"58":0.108918,"59":0.012102,"60":0.229938,"61":7.418526,"62":9.851028,"63":0.090765,"64":0.048408,"65":0},C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0.006051,"30":0.030255,"31":0.006051,"32":0,"33":0,"34":0.006051,"35":0.006051,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0.006051,"42":0,"43":0.006051,"44":0.006051,"45":0.006051,"46":0,"47":0.024204,"48":0.163377,"49":0.084714,"50":0.006051,"51":0.024204,"52":0.326754,"53":0.024204,"54":0.030255,"55":0.054459,"56":2.468808,"57":1.778994,"58":0,"59":0,"60":0,"3.5":0,"3.6":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0.006051,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0.018153,"37":0,"38":0,"39":0,"40":0.006051,"41":0,"42":0,"43":0.012102,"44":0,"45":0,"46":0.006051,"47":0,"48":0.30255,"49":0.127071,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},E:{"4":0,"5":0.018153,"6":0,"7":0.006051,"8":0.024204,"9":0.235989,"10":0.078663,"11":3.001296,_:"0","3.1":0,"3.2":0,"5.1":0.102867,"6.1":0.036306,"7.1":0,"9.1":0.375162,"10.1":1.246506},G:{"8":0.0385624292859,"3.2":0.00241015183037,"4.0-4.1":0.00241015183037,"4.2-4.3":0.32778064893,"5.0-5.1":0.0554334920984,"6.0-6.1":0.0361522774555,"7.0-7.1":0.154249717143,"8.1-8.4":0.26511670134,"9.0-9.2":0.161480172635,"9.3":1.11349014563,"10.0-10.2":2.06550011862,"10.3":4.30694132086,"11.0-11.2":15.5671706723},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.0718305940131,"4.2-4.3":0.202230749298,"4.4":0.574644752105,"4.4.3-4.4.4":0.332630904584},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0.006051,"7":0,"8":0.036306,"9":0.018153,"10":0.078663,"11":1.45224,"5.5":0},B:{"12":0.006051,"13":0.024204,"14":0.163377,"15":1.428036,"16":0.078663,"17":0},P:{"4":0.978078129032,"5":0.400122870968,"6.2":1.378201},N:{"10":0,"11":0.071082},J:{"7":0.0007898,"10":0.0031592},O:{"0":0.003949},H:{"0":0.0785118195876},L:{"0":36.636841},R:{_:"0"},M:{"0":0.126368},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/AE.js b/publi/node_modules/caniuse-lite/data/regions/AE.js deleted file mode 100644 index d8cd2f2..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/AE.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.003952,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0.003952,"19":0,"20":0,"21":0,"22":0.007904,"23":0.003952,"24":0,"25":0,"26":0.003952,"27":0,"28":0.003952,"29":0.031616,"30":0.003952,"31":0.003952,"32":0.007904,"33":0.007904,"34":0.011856,"35":0,"36":0.007904,"37":0.007904,"38":0.023712,"39":0.011856,"40":0.003952,"41":0.003952,"42":0.003952,"43":0.047424,"44":0.003952,"45":0.003952,"46":0.003952,"47":0.007904,"48":0.011856,"49":0.260832,"50":0.003952,"51":0.007904,"52":0.011856,"53":0.003952,"54":0.011856,"55":0.03952,"56":0.031616,"57":0.082992,"58":0.071136,"59":0.05928,"60":0.11856,"61":4.145648,"62":5.67112,"63":0.035568,"64":0.035568,"65":0},C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0.003952,"37":0.003952,"38":0.007904,"39":0,"40":0,"41":0.003952,"42":0.003952,"43":0.003952,"44":0.003952,"45":0.007904,"46":0.003952,"47":0.011856,"48":0.015808,"49":0.003952,"50":0.007904,"51":0.003952,"52":0.03952,"53":0.011856,"54":0.011856,"55":0.01976,"56":0.501904,"57":0.383344,"58":0.01976,"59":0,"60":0,"3.5":0,"3.6":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0.011856,"21":0,"22":0.003952,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0.003952,"29":0.003952,"30":0.003952,"31":0.007904,"32":0,"33":0,"34":0,"35":0,"36":0.003952,"37":0.01976,"38":0,"39":0,"40":0,"41":0,"42":0.003952,"43":0.047424,"44":0.007904,"45":0,"46":0.003952,"47":0.003952,"48":0.146224,"49":0.086944,"50":0.003952,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.003952},E:{"4":0,"5":0.003952,"6":0,"7":0.007904,"8":0.027664,"9":0.023712,"10":0.090896,"11":0.628368,_:"0","3.1":0,"3.2":0,"5.1":0.007904,"6.1":0.003952,"7.1":0,"9.1":0.122512,"10.1":0.27664},G:{"8":0.0251557511502,"3.2":0.00157223444689,"4.0-4.1":0.00157223444689,"4.2-4.3":0.213823884777,"5.0-5.1":0.0361613922785,"6.0-6.1":0.0235835167033,"7.0-7.1":0.100623004601,"8.1-8.4":0.172945789158,"9.0-9.2":0.105339707942,"9.3":0.726372314463,"10.0-10.2":1.34740492098,"10.3":2.80958295659,"11.0-11.2":10.1550622925},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.0655161085126,"4.2-4.3":0.184453043966,"4.4":0.524128868101,"4.4.3-4.4.4":0.30338997942},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0.0159510588235,"8":0.0358898823529,"9":0.0319021176471,"10":0.0398776470588,"11":0.757675294118,"5.5":0},B:{"12":0.011856,"13":0.031616,"14":0.15808,"15":0.446576,"16":0.047424,"17":0},P:{"4":0.677285393258,"5":0.541828314607,"6.2":1.56296629213},N:{"10":0.0109963636364,"11":0.109963636364},J:{"7":0.018144,"10":0.072576},O:{"0":22.419936},H:{"0":4.0023731134},L:{"0":26.728992},R:{_:"0"},M:{"0":0.127008},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/AF.js b/publi/node_modules/caniuse-lite/data/regions/AF.js deleted file mode 100644 index aeffc2f..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/AF.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.00787,"12":0,"13":0,"14":0,"15":0,"16":0.003935,"17":0.003935,"18":0.043285,"19":0,"20":0.003935,"21":0,"22":0.003935,"23":0.00787,"24":0.003935,"25":0.03935,"26":0,"27":0,"28":0.003935,"29":0.003935,"30":0.019675,"31":0.01574,"32":0,"33":0.01574,"34":0.011805,"35":0.003935,"36":0.00787,"37":0.003935,"38":0.00787,"39":0.003935,"40":0.03148,"41":0.003935,"42":0.003935,"43":0.090505,"44":0.011805,"45":0.00787,"46":0.01574,"47":0.00787,"48":0.011805,"49":0.074765,"50":0.00787,"51":0.019675,"52":0.019675,"53":0.00787,"54":0.035415,"55":0.066895,"56":0.03935,"57":0.16527,"58":0.07083,"59":0.07083,"60":0.145595,"61":3.207025,"62":4.25767,"63":0.011805,"64":0.027545,"65":0},C:{"2":0,"3":0.00787,"4":0.00787,"5":0,"6":0,"7":0,"8":0.003935,"9":0.003935,"10":0,"11":0,"12":0.00787,"13":0.003935,"14":0.003935,"15":0.003935,"16":0.003935,"17":0.00787,"18":0.003935,"19":0,"20":0.003935,"21":0.003935,"22":0.00787,"23":0,"24":0.01574,"25":0.01574,"26":0.003935,"27":0.00787,"28":0,"29":0.01574,"30":0.02361,"31":0.01574,"32":0.003935,"33":0.027545,"34":0.02361,"35":0.011805,"36":0.011805,"37":0.003935,"38":0.019675,"39":0.00787,"40":0.02361,"41":0.011805,"42":0.02361,"43":0.08657,"44":0.04722,"45":0.01574,"46":0.00787,"47":0.08657,"48":0.114115,"49":0.019675,"50":0.027545,"51":0.003935,"52":0.10231,"53":0.287255,"54":0.027545,"55":0.074765,"56":1.066385,"57":0.73978,"58":0.066895,"59":0.003935,"60":0,"3.5":0,"3.6":0.003935},F:{"9":0,"11":0,"12":0,"15":0,"16":0.00787,"17":0,"18":0.003935,"19":0,"20":0,"21":0.011805,"22":0.00787,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0.003935,"30":0.003935,"31":0.003935,"32":0,"33":0.019675,"34":0,"35":0.003935,"36":0.00787,"37":0.00787,"38":0,"39":0,"40":0.003935,"41":0.02361,"42":0.003935,"43":0.01574,"44":0,"45":0.003935,"46":0.003935,"47":0.00787,"48":0.255775,"49":0.161335,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.01574},E:{"4":0,"5":0,"6":0,"7":0,"8":0.003935,"9":0.003935,"10":0.019675,"11":0.11805,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0.04722,"10.1":0.03935},G:{"8":0.0144545389078,"3.2":0.000903408681736,"4.0-4.1":0.000903408681736,"4.2-4.3":0.122863580716,"5.0-5.1":0.0207783996799,"6.0-6.1":0.013551130226,"7.0-7.1":0.0578181556311,"8.1-8.4":0.099374954991,"9.0-9.2":0.0605283816763,"9.3":0.417374810962,"10.0-10.2":0.774221240248,"10.3":1.61439131426,"11.0-11.2":5.83511667534},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.438369971936,"4.2-4.3":1.23418007484,"4.4":3.50695977549,"4.4.3-4.4.4":2.02999017774},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0.0197129826255,"7":0.0354833687259,"8":0.315407722008,"9":0.102507509653,"10":0.126163088803,"11":1.44299032819,"5.5":0},B:{"12":0.043285,"13":0.074765,"14":0.074765,"15":0.19675,"16":0.02361,"17":0},P:{"4":3.66876133829,"5":1.34521249071,"6.2":0.468786171004},N:{"10":0.0202166666667,"11":0.0404333333333},J:{"7":0.006065,"10":0.02426},O:{"0":6.374315},H:{"0":3.16955649485},L:{"0":46.34892},R:{_:"0"},M:{"0":0.224405},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/AG.js b/publi/node_modules/caniuse-lite/data/regions/AG.js deleted file mode 100644 index 943ffb4..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/AG.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.005219,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0.005219,"23":0.005219,"24":0,"25":0.005219,"26":0,"27":0.026095,"28":0.062628,"29":0.292264,"30":0.281826,"31":0.135694,"32":0.083504,"33":0.010438,"34":0.005219,"35":0.015657,"36":0.297483,"37":0.579309,"38":0.146132,"39":0.010438,"40":0.010438,"41":0.120037,"42":0.010438,"43":0.020876,"44":0.015657,"45":0.026095,"46":0.010438,"47":0.015657,"48":0.010438,"49":0.193103,"50":0.031314,"51":0.026095,"52":0.005219,"53":0.005219,"54":0.010438,"55":0.031314,"56":0.015657,"57":0.05219,"58":0.088723,"59":0.083504,"60":0.172227,"61":4.952831,"62":7.238753,"63":0.031314,"64":0.015657,"65":0},C:{"2":0.005219,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0.005219,"11":0,"12":0,"13":0,"14":0.010438,"15":0,"16":0.005219,"17":0.005219,"18":0,"19":0,"20":0.005219,"21":0.073066,"22":0.015657,"23":0.015657,"24":0.020876,"25":0.020876,"26":0.005219,"27":0.010438,"28":0.010438,"29":0.088723,"30":0,"31":0.067847,"32":0,"33":0.005219,"34":0.193103,"35":0,"36":0.005219,"37":0.067847,"38":0,"39":0,"40":0.005219,"41":0.005219,"42":0,"43":0.005219,"44":0,"45":0.010438,"46":0.005219,"47":0.005219,"48":0.031314,"49":0.005219,"50":0.005219,"51":0.005219,"52":0.067847,"53":0.010438,"54":0.015657,"55":0.036533,"56":0.965515,"57":0.704565,"58":0.010438,"59":0,"60":0,"3.5":0,"3.6":0.010438},F:{"9":0,"11":0,"12":0.010438,"15":0,"16":0,"17":0.015657,"18":0,"19":0.005219,"20":0.005219,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0.109599,"29":0.015657,"30":0.005219,"31":0.015657,"32":0,"33":0.005219,"34":0,"35":0,"36":0.005219,"37":0.005219,"38":0,"39":0,"40":0.005219,"41":0,"42":0.005219,"43":0.05219,"44":0,"45":0,"46":0.005219,"47":0.005219,"48":0.083504,"49":0.062628,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0.005219,"12.1":0.020876},E:{"4":0.005219,"5":0.026095,"6":0.005219,"7":0.005219,"8":0.026095,"9":0.031314,"10":0.078285,"11":0.861135,_:"0","3.1":0,"3.2":0,"5.1":0.031314,"6.1":0.015657,"7.1":0,"9.1":0.078285,"10.1":0.537557},G:{"8":0.0284101540308,"3.2":0.00177563462693,"4.0-4.1":0.00177563462693,"4.2-4.3":0.241486309262,"5.0-5.1":0.0408395964193,"6.0-6.1":0.0266345194039,"7.0-7.1":0.113640616123,"8.1-8.4":0.195319808962,"9.0-9.2":0.118967520004,"9.3":0.82034319764,"10.0-10.2":1.52171887528,"10.3":3.17305907832,"11.0-11.2":11.4688240553},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.185817549111,"4.2-4.3":0.523147869036,"4.4":1.48654039289,"4.4.3-4.4.4":0.860478188962},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0.031314,"8":0.234855,"9":0.250512,"10":0.240074,"11":1.179494,"5.5":0},B:{"12":0.05219,"13":0.125256,"14":0.307921,"15":1.910154,"16":0.26095,"17":0},P:{"4":1.59222924183,"5":1.10147365359,"6.2":2.31200410458},N:{"10":0.129087,"11":0.258174},J:{"7":0.0248612,"10":0.0994448},O:{"0":0.401604},H:{"0":0.828320572165},L:{"0":43.285591},R:{_:"0"},M:{"0":0.09562},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/AI.js b/publi/node_modules/caniuse-lite/data/regions/AI.js deleted file mode 100644 index 5a10807..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/AI.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0.050432,"23":0,"24":0,"25":0,"26":0.06304,"27":0,"28":0,"29":0.037824,"30":0,"31":0,"32":0.012608,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0.069344,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0.006304,"56":0.012608,"57":0.037824,"58":0.056736,"59":0.201728,"60":0.195424,"61":7.035264,"62":9.670336,"63":0.037824,"64":0.044128,"65":0},C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0.006304,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0.170208,"50":0,"51":0,"52":0.428672,"53":0,"54":0.012608,"55":0.138688,"56":1.966848,"57":1.834464,"58":0.012608,"59":0,"60":0,"3.5":0,"3.6":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0.012608,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0.012608,"44":0,"45":0,"46":0,"47":0.006304,"48":0.069344,"49":0.069344,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},E:{"4":0,"5":0.018912,"6":0,"7":0,"8":0.012608,"9":0.006304,"10":0.113472,"11":3.56176,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0.006304,"7.1":0,"9.1":0.1576,"10.1":0.649312},G:{"8":0.0229591134227,"3.2":0.00143494458892,"4.0-4.1":0.00143494458892,"4.2-4.3":0.195152464093,"5.0-5.1":0.0330037255451,"6.0-6.1":0.0215241688338,"7.0-7.1":0.0918364536907,"8.1-8.4":0.157843904781,"9.0-9.2":0.0961412874575,"9.3":0.66294440008,"10.0-10.2":1.2297475127,"10.3":2.5642459804,"11.0-11.2":9.26830709982},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.0907164078578,"4.2-4.3":0.255401579046,"4.4":0.725731262862,"4.4.3-4.4.4":0.420086750234},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.018912,"9":0.018912,"10":0.012608,"11":3.221344,"5.5":0},B:{"12":0.088256,"13":0.353024,"14":0.66192,"15":2.988096,"16":0.857344,"17":0},P:{"4":1.21305910791,"5":0.382496115108,"6.2":1.44255677698},N:{"10":0.0105952,"11":0.1483328},J:{"7":0.103488,"10":0.413952},O:{"0":0.03696},H:{"0":0.0944766185567},L:{"0":41.412608},R:{_:"0"},M:{"0":0.051744},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/AL.js b/publi/node_modules/caniuse-lite/data/regions/AL.js deleted file mode 100644 index 9e27929..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/AL.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0.004978,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.009956,"12":0,"13":0,"14":0,"15":0,"16":0.004978,"17":0.004978,"18":0.004978,"19":0,"20":0,"21":0,"22":0.02489,"23":0.004978,"24":0.004978,"25":0,"26":0.009956,"27":0,"28":0.014934,"29":0.179208,"30":0.004978,"31":0.004978,"32":0.004978,"33":0.004978,"34":0.02489,"35":0.004978,"36":0.014934,"37":0.009956,"38":0.019912,"39":0.02489,"40":0.014934,"41":0.014934,"42":0.004978,"43":0.02489,"44":0.009956,"45":0.004978,"46":0.019912,"47":0.014934,"48":0.019912,"49":1.871728,"50":0.019912,"51":0.014934,"52":0.009956,"53":0.009956,"54":0.034846,"55":0.02489,"56":0.144362,"57":0.084626,"58":0.233966,"59":0.258856,"60":0.283746,"61":6.182676,"62":9.288948,"63":0.044802,"64":0.034846,"65":0},C:{"2":0.004978,"3":0.009956,"4":0,"5":0,"6":0,"7":0.059736,"8":0,"9":0,"10":0.004978,"11":0,"12":0.004978,"13":0,"14":0.004978,"15":0,"16":0,"17":0,"18":0,"19":0.004978,"20":0.004978,"21":0,"22":0.009956,"23":0.004978,"24":0.004978,"25":0,"26":0,"27":0.004978,"28":0,"29":0,"30":0,"31":0.004978,"32":0,"33":0.009956,"34":0.009956,"35":0.004978,"36":0.02489,"37":0.004978,"38":0.004978,"39":0.009956,"40":0.014934,"41":0.009956,"42":0.004978,"43":0.019912,"44":0.009956,"45":0.009956,"46":0.004978,"47":0.04978,"48":0.09956,"49":0.019912,"50":0.044802,"51":0.014934,"52":0.313614,"53":0.029868,"54":0.044802,"55":0.04978,"56":0.930886,"57":0.736744,"58":0.009956,"59":0,"60":0,"3.5":0,"3.6":0.009956},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0.004978,"32":0,"33":0,"34":0,"35":0,"36":0.019912,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0.014934,"44":0,"45":0.004978,"46":0.009956,"47":0.02489,"48":0.288724,"49":0.17423,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.004978},E:{"4":0.004978,"5":0,"6":0,"7":0.004978,"8":0.014934,"9":0.019912,"10":0.02489,"11":0.17423,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0.004978,"7.1":0,"9.1":0.02489,"10.1":0.04978},G:{"8":0.0356431638328,"3.2":0.00222769773955,"4.0-4.1":0.00222769773955,"4.2-4.3":0.302966892579,"5.0-5.1":0.0512370480096,"6.0-6.1":0.0334154660932,"7.0-7.1":0.142572655331,"8.1-8.4":0.24504675135,"9.0-9.2":0.14925574855,"9.3":1.02919635567,"10.0-10.2":1.90913696279,"10.3":3.98089586057,"11.0-11.2":14.3886996997},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.251406136576,"4.2-4.3":0.70780496913,"4.4":2.01124909261,"4.4.3-4.4.4":1.16420380168},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0.0104059887006,"7":0.00520299435028,"8":0.265352711864,"9":0.0468269491525,"10":0.0572329378531,"11":0.535908418079,"5.5":0},B:{"12":0.014934,"13":0.019912,"14":0.089604,"15":0.253878,"16":0.02489,"17":0},P:{"4":1.14322850847,"5":0.648859423729,"6.2":1.2462220678},N:{"10":0.103309714286,"11":0.459154285714},J:{"7":0.0220968,"10":0.0883872},O:{"0":0.441936},H:{"0":0.632349185567},L:{"0":41.912348},R:{_:"0"},M:{"0":0.07533},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/AM.js b/publi/node_modules/caniuse-lite/data/regions/AM.js deleted file mode 100644 index 9bcd458..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/AM.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.0252,"12":0,"13":0.0084,"14":0,"15":0,"16":0.0084,"17":0.0084,"18":0.0252,"19":0,"20":0,"21":0.042,"22":0.0252,"23":0.0084,"24":0.0084,"25":0.0084,"26":0.0084,"27":0.0084,"28":0.042,"29":0.1932,"30":0.1512,"31":0.0672,"32":0.042,"33":0,"34":0.0168,"35":0.0084,"36":0.1764,"37":0.252,"38":0.1092,"39":0.0168,"40":0.0168,"41":0.0168,"42":0.0084,"43":0.0336,"44":0.0084,"45":0.0168,"46":0.0084,"47":0.294,"48":0.0252,"49":1.7136,"50":0.0252,"51":0.0252,"52":0.0588,"53":0.0336,"54":0.0168,"55":0.1512,"56":0.1596,"57":0.1932,"58":0.168,"59":0.1764,"60":0.4956,"61":14.28,"62":21.5376,"63":0.042,"64":0.1092,"65":0},C:{"2":0,"3":0.0084,"4":0.0084,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0.0084,"20":0.0084,"21":0.0084,"22":0.0084,"23":0.0084,"24":0.0168,"25":0.0084,"26":0.0084,"27":0,"28":0,"29":0.0588,"30":0,"31":0.042,"32":0.0084,"33":0,"34":0.1176,"35":0,"36":0.0084,"37":0.0084,"38":0.0336,"39":0.0084,"40":0,"41":0.0168,"42":0.0252,"43":0.0252,"44":0.0084,"45":0.042,"46":0,"47":0.0336,"48":0.0924,"49":0.0252,"50":0.0168,"51":0.0084,"52":17.7996,"53":0.0336,"54":0.0252,"55":0.0756,"56":1.3272,"57":1.0584,"58":0.0168,"59":0,"60":0,"3.5":0,"3.6":0.0336},F:{"9":0,"11":0,"12":0.0084,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0.0084,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0.0168,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0.0084,"35":0.0084,"36":0.0504,"37":0.0168,"38":0,"39":0,"40":0,"41":0,"42":0.0168,"43":0.084,"44":0.0084,"45":0.0168,"46":0.0084,"47":0.0084,"48":0.9996,"49":0.5712,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0.0084,"12.1":0.0504},E:{"4":0.0084,"5":0.0168,"6":0.0084,"7":0.1512,"8":0.0084,"9":0.0252,"10":0.042,"11":0.7056,_:"0","3.1":0,"3.2":0,"5.1":0.0672,"6.1":0,"7.1":0,"9.1":0.0672,"10.1":0.21},G:{"8":0.0158802960592,"3.2":0.000992518503701,"4.0-4.1":0.000992518503701,"4.2-4.3":0.134982516503,"5.0-5.1":0.0228279255851,"6.0-6.1":0.0148877775555,"7.0-7.1":0.0635211842368,"8.1-8.4":0.109177035407,"9.0-9.2":0.0664987397479,"9.3":0.45854354871,"10.0-10.2":0.850588357672,"10.3":1.77363056611,"11.0-11.2":6.4106770154},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.069463049579,"4.2-4.3":0.195565201123,"4.4":0.555704396632,"4.4.3-4.4.4":0.321667352666},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0.00868571428571,"8":0.277942857143,"9":0.112914285714,"10":0.138971428571,"11":0.738285714286,"5.5":0},B:{"12":0.0084,"13":0.0252,"14":0.1176,"15":0.3528,"16":0.0756,"17":0},P:{"4":0.264533333333,"5":0.132266666667,"6.2":0.3968},N:{"10":0.0384,"11":0.0896},J:{"7":0.0032,"10":0.0128},O:{"0":0.1792},H:{"0":0.386268041237},L:{"0":16.9724},R:{_:"0"},M:{"0":0.0272},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/AN.js b/publi/node_modules/caniuse-lite/data/regions/AN.js deleted file mode 100644 index 9ce90e4..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/AN.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"11":0.080201,"21":0.051037,"22":0.080201,"24":0.029164,"26":0.131238,"28":0.102074,"31":0.51037,"32":0.306222,"33":2.223755,"34":0.204148,"35":1.407163,"36":28.87236,"38":0.080201,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 23 25 27 29 30 37 39 40"},C:{"10":0.029164,"12":0.051037,"21":0.029164,"26":0.051037,"27":0.029164,"29":0.029164,"30":4.031923,"31":10.827135,"32":0.051037,_:"2 3 4 5 6 7 8 9 11 13 14 15 16 17 18 19 20 22 23 24 25 28 33 34 3.5 3.6"},F:{"21":0.051037,"23":0.051037,"24":0.051037,_:"9 11 12 15 16 17 18 19 20 22 25 9.5-9.6 10.5 10.6 11.1 11.5 11.6","10.0-10.1":0,"12.1":0.539534},E:{"4":0,"5":0.233312,"6":0.102074,"7":6.05153,"8":0.029164,_:"3.1 3.2","5.1":0.765555,"6.1":0.561407},I:{"3":0,"4":0.648893454545,"2.1":0.00612163636364,"2.2":0.0428514545455,"2.3":0.832542545455,"4.1":1.62223363636,"4.2-4.3":1.69569327273,"4.4":1.279422,_:"4.4.3"},K:{"10":0,"11":0,"12":0.0000648307692308,_:"0","11.1":0,"11.5":0,"12.1":0.000356569230769},A:{"8":1.4582,"9":2.47894,"10":1.633184,"11":9.471009,_:"6 7 5.5"},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.0939043474576,"6.0-6.1":0.473354567797,"7.0-7.1":8.93049508475},J:{"7":0.40838175,_:"10"},M:{"0":0.051471},N:{"10":0.09419193},H:{"5.0-7.0":0.0239596},L:{"0":8.88552}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/AO.js b/publi/node_modules/caniuse-lite/data/regions/AO.js deleted file mode 100644 index c0e25d0..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/AO.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.038544,"12":0.003504,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0.007008,"19":0,"20":0.003504,"21":0.003504,"22":0,"23":0,"24":0,"25":0.003504,"26":0.014016,"27":0.003504,"28":0.003504,"29":0.003504,"30":0,"31":0.003504,"32":0.003504,"33":0.010512,"34":0,"35":0.01752,"36":0.126144,"37":0.003504,"38":0.003504,"39":0.003504,"40":0.038544,"41":0,"42":0.003504,"43":0.24528,"44":0.007008,"45":0.007008,"46":0.024528,"47":0.042048,"48":0.014016,"49":0.136656,"50":0.031536,"51":0.007008,"52":0.007008,"53":0.007008,"54":0.014016,"55":0.119136,"56":0.038544,"57":0.126144,"58":0.073584,"59":0.03504,"60":0.091104,"61":2.34768,"62":3.518016,"63":0.01752,"64":0.010512,"65":0},C:{"2":0,"3":0.003504,"4":0,"5":0.003504,"6":0,"7":0,"8":0.003504,"9":0,"10":0.003504,"11":0.003504,"12":0.007008,"13":0.003504,"14":0.003504,"15":0.003504,"16":0.003504,"17":0,"18":0,"19":0,"20":0.003504,"21":0.007008,"22":0.003504,"23":0.003504,"24":0,"25":0,"26":0.007008,"27":0,"28":0.003504,"29":0,"30":0.003504,"31":0,"32":0.007008,"33":0.003504,"34":0,"35":0.003504,"36":0.003504,"37":0.003504,"38":0.003504,"39":0.003504,"40":0.003504,"41":0.003504,"42":0.003504,"43":0.021024,"44":0.007008,"45":0.010512,"46":0.003504,"47":0.05256,"48":0.03504,"49":0.007008,"50":0.010512,"51":0.007008,"52":0.056064,"53":0.010512,"54":0.01752,"55":0.024528,"56":0.529104,"57":0.381936,"58":0.010512,"59":0,"60":0,"3.5":0,"3.6":0},F:{"9":0,"11":0.003504,"12":0.003504,"15":0,"16":0,"17":0,"18":0.003504,"19":0,"20":0.010512,"21":0.003504,"22":0.003504,"23":0.007008,"24":0,"25":0,"26":0,"27":0,"28":0.010512,"29":0.010512,"30":0.010512,"31":0.003504,"32":0.003504,"33":0.003504,"34":0.003504,"35":0,"36":0.010512,"37":0.007008,"38":0,"39":0,"40":0.003504,"41":0.003504,"42":0.007008,"43":0.03504,"44":0.003504,"45":0.003504,"46":0.010512,"47":0.021024,"48":0.311856,"49":0.185712,"50":0,"9.5-9.6":0,"10.0-10.1":0.003504,"10.5":0,"10.6":0.003504,"11.1":0.003504,"11.5":0.003504,"11.6":0.003504,"12.1":0.021024},E:{"4":0,"5":0.003504,"6":0.003504,"7":0,"8":0.028032,"9":0.007008,"10":0.056064,"11":0.241776,_:"0","3.1":0,"3.2":0,"5.1":0.007008,"6.1":0.007008,"7.1":0,"9.1":0.049056,"10.1":0.063072},G:{"8":0.0111772754551,"3.2":0.000698579715943,"4.0-4.1":0.000698579715943,"4.2-4.3":0.0950068413683,"5.0-5.1":0.0160673334667,"6.0-6.1":0.0104786957391,"7.0-7.1":0.0447091018204,"8.1-8.4":0.0768437687538,"9.0-9.2":0.0468048409682,"9.3":0.322743828766,"10.0-10.2":0.598682816563,"10.3":1.24836195239,"11.0-11.2":4.51212638528},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.567445986904,"4.2-4.3":1.59757870159,"4.4":4.53956789523,"4.4.3-4.4.4":2.62771141628},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.0642308031496,"9":0.0428205354331,"10":0.110619716535,"11":1.13831256693,"5.5":0},B:{"12":0.056064,"13":0.056064,"14":0.115632,"15":0.294336,"16":0.045552,"17":0},P:{"4":2.17490108527,"5":0.82853374677,"6.2":1.00459716796},N:{"10":0.155904,"11":0.220864},J:{"7":0.0207872,"10":0.0831488},O:{"0":1.75392},H:{"0":15.3257828729},L:{"0":40.658128},R:{_:"0"},M:{"0":0.175392},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/AR.js b/publi/node_modules/caniuse-lite/data/regions/AR.js deleted file mode 100644 index 9a630d3..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/AR.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.005922,"12":0.005922,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0.005922,"19":0,"20":0,"21":0.005922,"22":0.011844,"23":0,"24":0,"25":0,"26":0.011844,"27":0.005922,"28":0,"29":0.005922,"30":0.005922,"31":0.011844,"32":0.005922,"33":0.005922,"34":0.023688,"35":0.011844,"36":0.011844,"37":0.011844,"38":0.023688,"39":0.011844,"40":0.005922,"41":0.005922,"42":0.005922,"43":0.023688,"44":0.011844,"45":0.023688,"46":0.02961,"47":0.035532,"48":0.011844,"49":2.362878,"50":0.023688,"51":0.047376,"52":0.011844,"53":0.023688,"54":0.02961,"55":0.041454,"56":0.076986,"57":0.05922,"58":0.171738,"59":0.106596,"60":0.195426,"61":9.842364,"62":13.573224,"63":0.035532,"64":0.017766,"65":0},C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0.005922,"13":0,"14":0,"15":0.005922,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0.005922,"28":0,"29":0.005922,"30":0,"31":0.005922,"32":0,"33":0.005922,"34":0.005922,"35":0.005922,"36":0.005922,"37":0.005922,"38":0.005922,"39":0.005922,"40":0.005922,"41":0.005922,"42":0.005922,"43":0.02961,"44":0.005922,"45":0.023688,"46":0.011844,"47":0.035532,"48":0.041454,"49":0.023688,"50":0.017766,"51":0.023688,"52":0.580356,"53":0.023688,"54":0.035532,"55":0.082908,"56":1.326528,"57":0.983052,"58":0.011844,"59":0,"60":0,"3.5":0,"3.6":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0.005922,"32":0,"33":0,"34":0,"35":0,"36":0.373086,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0.023688,"44":0,"45":0,"46":0.005922,"47":0.005922,"48":0.17766,"49":0.11844,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.011844},E:{"4":0,"5":0,"6":0,"7":0.011844,"8":0.011844,"9":0.011844,"10":0.023688,"11":0.278334,_:"0","3.1":0,"3.2":0,"5.1":0.005922,"6.1":0.005922,"7.1":0,"9.1":0.047376,"10.1":0.11844},G:{"8":0.00740340388078,"3.2":0.000462712742549,"4.0-4.1":0.000462712742549,"4.2-4.3":0.0629289329866,"5.0-5.1":0.0106423930786,"6.0-6.1":0.00694069113823,"7.0-7.1":0.0296136155231,"8.1-8.4":0.0508984016803,"9.0-9.2":0.0310017537508,"9.3":0.213773287057,"10.0-10.2":0.396544820364,"10.3":0.826867670934,"11.0-11.2":2.98866160412},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.0747614312442,"4.2-4.3":0.210482183349,"4.4":0.598091449953,"4.4.3-4.4.4":0.346202935454},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0.0296934084507,"7":0.0356320901408,"8":0.504787943662,"9":0.112834952113,"10":0.0772028619718,"11":1.34214206197,"5.5":0},B:{"12":0.011844,"13":0.02961,"14":0.142128,"15":0.379008,"16":0.035532,"17":0},P:{"4":0.689343276836,"5":0.385221242938,"6.2":0.719755480226},N:{"10":0.085585038961,"11":0.738170961039},J:{"7":0.0024468,"10":0.0097872},O:{"0":0.14273},H:{"0":0.691080862543},L:{"0":53.81376},R:{_:"0"},M:{"0":0.089716},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/AS.js b/publi/node_modules/caniuse-lite/data/regions/AS.js deleted file mode 100644 index 9489fb5..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/AS.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.009252,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0.194292,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0.009252,"45":0,"46":0.009252,"47":0,"48":3.737808,"49":0.305316,"50":0,"51":0.009252,"52":0.009252,"53":0.074016,"54":0.018504,"55":2.701584,"56":0.351576,"57":0.101772,"58":0.619884,"59":0.009252,"60":0.157284,"61":5.199624,"62":10.352988,"63":0.018504,"64":0.009252,"65":0},C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0.009252,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":1.554336,"30":0.009252,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":1.656108,"39":0,"40":2.5443,"41":0,"42":0,"43":0.120276,"44":9.862632,"45":28.422144,"46":0,"47":4.801788,"48":0.037008,"49":0,"50":0,"51":0.166536,"52":0.083268,"53":0.111024,"54":0.037008,"55":0,"56":7.521876,"57":0.638388,"58":0.009252,"59":0,"60":0,"3.5":0,"3.6":0.009252},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0.009252,"31":0.009252,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0.009252,"44":0,"45":0,"46":0,"47":0,"48":0.037008,"49":0.009252,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},E:{"4":0,"5":0.018504,"6":0.009252,"7":0,"8":0.009252,"9":0.037008,"10":0.037008,"11":0.101772,_:"0","3.1":0,"3.2":0,"5.1":0.074016,"6.1":0,"7.1":0,"9.1":0.04626,"10.1":0.037008},G:{"8":0.00617455331066,"3.2":0.000385909581916,"4.0-4.1":0.000385909581916,"4.2-4.3":0.0524837031406,"5.0-5.1":0.00887592038408,"6.0-6.1":0.00578864372875,"7.0-7.1":0.0246982132426,"8.1-8.4":0.0424500540108,"9.0-9.2":0.0258559419884,"9.3":0.178290226845,"10.0-10.2":0.330724511702,"10.3":0.689620422885,"11.0-11.2":2.4925899896},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.0341507202993,"4.2-4.3":0.0961474125351,"4.4":0.273205762395,"4.4.3-4.4.4":0.158144104771},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.027756,"9":0.009252,"10":0.37008,"11":1.48032,"5.5":0},B:{"12":0.037008,"13":0.064764,"14":0.166536,"15":0.083268,"16":0,"17":0},P:{"4":0.322260292683,"5":0.241695219512,"6.2":0.261836487805},N:{"10":0.0305184,"11":0.0203456},J:{"7":0.0001496,"10":0.0005984},O:{"0":0.286484},H:{"0":0.179872151203},L:{"0":8.630624},R:{_:"0"},M:{"0":0.032912},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/AT.js b/publi/node_modules/caniuse-lite/data/regions/AT.js deleted file mode 100644 index 25c752f..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/AT.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.006212,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0.006212,"19":0,"20":0,"21":0,"22":0.018636,"23":0,"24":0,"25":0.006212,"26":0.006212,"27":0,"28":0,"29":0.080756,"30":0,"31":0.006212,"32":0,"33":0,"34":0.018636,"35":0.006212,"36":0.006212,"37":0.006212,"38":0.037272,"39":0.006212,"40":0.012424,"41":0.012424,"42":0.03106,"43":0.012424,"44":0.006212,"45":0.012424,"46":0.012424,"47":0.012424,"48":0.018636,"49":0.304388,"50":0.018636,"51":0.024848,"52":0.012424,"53":0.018636,"54":0.06212,"55":0.06212,"56":0.049696,"57":0.06212,"58":0.086968,"59":0.080756,"60":0.12424,"61":5.739888,"62":7.994844,"63":0.03106,"64":0.018636,"65":0},C:{"2":0.006212,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0.012424,"11":0,"12":0.012424,"13":0,"14":0,"15":0,"16":0.006212,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0.006212,"28":0,"29":0.006212,"30":0,"31":0.006212,"32":0.012424,"33":0.006212,"34":0.006212,"35":0.006212,"36":0.012424,"37":0.012424,"38":0.043484,"39":0.012424,"40":0.012424,"41":0.024848,"42":0.03106,"43":0.024848,"44":0.012424,"45":0.099392,"46":0.012424,"47":0.06212,"48":0.236056,"49":0.037272,"50":0.043484,"51":0.06212,"52":0.639836,"53":0.118028,"54":0.099392,"55":0.1553,"56":4.168252,"57":3.025244,"58":0.03106,"59":0.037272,"60":0,"3.5":0,"3.6":0.006212},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0.006212,"31":0.006212,"32":0,"33":0,"34":0,"35":0,"36":0.024848,"37":0.006212,"38":0,"39":0,"40":0.006212,"41":0,"42":0.006212,"43":0.06212,"44":0.012424,"45":0.006212,"46":0,"47":0.012424,"48":0.546656,"49":0.3106,"50":0.006212,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.018636},E:{"4":0,"5":0.018636,"6":0.006212,"7":0.012424,"8":0.068332,"9":0.055908,"10":0.223632,"11":2.056172,_:"0","3.1":0,"3.2":0,"5.1":0.043484,"6.1":0.03106,"7.1":0,"9.1":0.335448,"10.1":0.658472},G:{"8":0.0335442128426,"3.2":0.00209651330266,"4.0-4.1":0.00209651330266,"4.2-4.3":0.285125809162,"5.0-5.1":0.0482198059612,"6.0-6.1":0.0314476995399,"7.0-7.1":0.13417685137,"8.1-8.4":0.230616463293,"9.0-9.2":0.140466391278,"9.3":0.968589145829,"10.0-10.2":1.79671190038,"10.3":3.74646927185,"11.0-11.2":13.5413794219},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.0744397754911,"4.2-4.3":0.20957659869,"4.4":0.595518203929,"4.4.3-4.4.4":0.34471342189},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0.00622807244502,"8":0.13701759379,"9":0.105877231565,"10":0.0996491591203,"11":4.46552794308,"5.5":0},B:{"12":0.018636,"13":0.080756,"14":0.49696,"15":1.913296,"16":0.323024,"17":0},P:{"4":0.89691704698,"5":1.12114630872,"6.2":2.7548166443},N:{"10":0.022728,"11":0.125004},J:{"7":0.0053032,"10":0.0212128},O:{"0":1.38262},H:{"0":0.509245182131},L:{"0":29.534008},R:{_:"0"},M:{"0":0.39774},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/AU.js b/publi/node_modules/caniuse-lite/data/regions/AU.js deleted file mode 100644 index f1a6de7..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/AU.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.005901,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0.005901,"22":0.005901,"23":0,"24":0,"25":0,"26":0.005901,"27":0,"28":0,"29":0,"30":0.005901,"31":0.005901,"32":0,"33":0.005901,"34":0.011802,"35":0.005901,"36":0.005901,"37":0.005901,"38":0.023604,"39":0.011802,"40":0.017703,"41":0.011802,"42":0.005901,"43":0.017703,"44":0.017703,"45":0.017703,"46":0.017703,"47":0.023604,"48":0.017703,"49":0.359961,"50":0.035406,"51":0.029505,"52":0.029505,"53":0.029505,"54":0.064911,"55":0.47208,"56":0.224238,"57":0.171129,"58":0.23604,"59":0.253743,"60":0.436674,"61":7.665399,"62":8.916411,"63":0.041307,"64":0.023604,"65":0},C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0.005901,"38":0.011802,"39":0.005901,"40":0.005901,"41":0.082614,"42":0.005901,"43":0.005901,"44":0.005901,"45":0.047208,"46":0.005901,"47":0.023604,"48":0.047208,"49":0.011802,"50":0.023604,"51":0.011802,"52":0.165228,"53":0.029505,"54":0.035406,"55":0.053109,"56":1.35723,"57":1.00317,"58":0.017703,"59":0,"60":0,"3.5":0.005901,"3.6":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0.005901,"37":0.082614,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0.017703,"44":0,"45":0,"46":0,"47":0.005901,"48":0.123921,"49":0.064911,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.005901},E:{"4":0,"5":0.005901,"6":0.005901,"7":0.011802,"8":0.064911,"9":0.082614,"10":0.277347,"11":1.675884,_:"0","3.1":0,"3.2":0,"5.1":0.029505,"6.1":0.023604,"7.1":0,"9.1":0.35406,"10.1":0.76713},G:{"8":0.0635435071014,"3.2":0.00397146919384,"4.0-4.1":0.00397146919384,"4.2-4.3":0.540119810362,"5.0-5.1":0.0913437914583,"6.0-6.1":0.0595720379076,"7.0-7.1":0.254174028406,"8.1-8.4":0.436861611322,"9.0-9.2":0.266088435987,"9.3":1.83481876755,"10.0-10.2":3.40354909912,"10.3":7.09701544939,"11.0-11.2":25.651719523},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.0557727362021,"4.2-4.3":0.157021703461,"4.4":0.446181889616,"4.4.3-4.4.4":0.25827067072},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0.00609487268994,"7":0,"8":0.0426641088296,"9":0.0670435995893,"10":0.0609487268994,"11":2.79145169199,"5.5":0},B:{"12":0.017703,"13":0.070812,"14":0.41307,"15":1.422141,"16":0.224238,"17":0},P:{"4":0.595221455285,"5":0.685066203252,"6.2":1.48243834146},N:{"10":0.0127524444444,"11":0.102019555556},J:{"7":0.0024594,"10":0.0098376},O:{"0":0.881285},H:{"0":0.632548946735},L:{"0":20.775781},R:{_:"0"},M:{"0":0.213148},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/AW.js b/publi/node_modules/caniuse-lite/data/regions/AW.js deleted file mode 100644 index e24eea8..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/AW.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.0049,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0.0147,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0.0539,"30":0,"31":0.0196,"32":0.0294,"33":0,"34":0.0049,"35":0.0049,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0.0147,"45":0.0098,"46":0.0049,"47":0.0098,"48":0,"49":0.392,"50":0.0049,"51":0.0098,"52":0.0147,"53":0.0049,"54":0.0294,"55":0.0735,"56":0.0539,"57":0.0343,"58":0.0392,"59":0.0539,"60":0.1127,"61":5.1989,"62":6.6003,"63":0.0245,"64":0.0147,"65":0},C:{"2":0,"3":0.0049,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0.0147,"13":0,"14":0,"15":0.0049,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0.0049,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0.0196,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0.0098,"42":0,"43":0.0049,"44":0,"45":0,"46":0.0049,"47":0.0049,"48":0.0637,"49":0.0196,"50":0.0392,"51":0.0392,"52":0.0784,"53":0.0098,"54":0.0049,"55":0.0245,"56":0.931,"57":0.6517,"58":0.0049,"59":0,"60":0,"3.5":0,"3.6":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0.0049,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0.0049,"30":0,"31":0.0049,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0.0049,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0.049,"44":0,"45":0,"46":0,"47":0,"48":0.0441,"49":0.0245,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},E:{"4":0,"5":0,"6":0,"7":0,"8":0.0441,"9":0.0147,"10":0.0882,"11":1.0094,_:"0","3.1":0,"3.2":0,"5.1":0.0098,"6.1":0.0049,"7.1":0,"9.1":0.1274,"10.1":0.4165},G:{"8":0.047274574915,"3.2":0.00295466093219,"4.0-4.1":0.00295466093219,"4.2-4.3":0.401833886777,"5.0-5.1":0.0679572014403,"6.0-6.1":0.0443199139828,"7.0-7.1":0.18909829966,"8.1-8.4":0.325012702541,"9.0-9.2":0.197962282456,"9.3":1.36505335067,"10.0-10.2":2.53214441888,"10.3":5.27997908582,"11.0-11.2":19.084154961},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.0801220767072,"4.2-4.3":0.225574462114,"4.4":0.640976613658,"4.4.3-4.4.4":0.371026847521},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.044289,"9":0.044289,"10":0.324786,"11":3.031336,"5.5":0},B:{"12":0.0147,"13":0.1568,"14":0.3087,"15":1.3083,"16":0.1421,"17":0},P:{"4":1.52929892183,"5":2.32106361186,"6.2":4.19743746631},N:{"10":0.0495428571429,"11":0.0371571428571},J:{"7":0.0153,"10":0.0612},O:{"0":0.0816},H:{"0":0.193134020619},L:{"0":34.2965},R:{_:"0"},M:{"0":0.1836},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/AX.js b/publi/node_modules/caniuse-lite/data/regions/AX.js deleted file mode 100644 index 25655c8..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/AX.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0.006791,"35":0,"36":0.006791,"37":0,"38":0.013582,"39":0,"40":0.006791,"41":0,"42":0,"43":0.020373,"44":0,"45":0,"46":0,"47":0.006791,"48":0,"49":0.366714,"50":0.006791,"51":0,"52":0,"53":0.196939,"54":0.020373,"55":0.006791,"56":0,"57":0.006791,"58":0.027164,"59":0.033955,"60":0.074701,"61":7.884351,"62":10.071053,"63":0.020373,"64":0.142611,"65":0},C:{"2":0,"3":0,"4":0.006791,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0.013582,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0.006791,"38":0,"39":0,"40":0,"41":0.020373,"42":0,"43":0.006791,"44":0.040746,"45":0.006791,"46":0.149402,"47":0.027164,"48":0.033955,"49":0,"50":0,"51":0.006791,"52":0.176566,"53":0.027164,"54":0.033955,"55":0.040746,"56":2.44476,"57":2.098419,"58":0.006791,"59":0,"60":0,"3.5":0,"3.6":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0.006791,"33":0,"34":0,"35":0,"36":0.006791,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0.088283,"44":0,"45":0,"46":0,"47":0,"48":0.264849,"49":0.122238,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},E:{"4":0,"5":0,"6":0,"7":0.047537,"8":0.020373,"9":0.020373,"10":0.692682,"11":3.252889,_:"0","3.1":0,"3.2":0,"5.1":0.006791,"6.1":0.006791,"7.1":0,"9.1":1.589094,"10.1":0.33955},G:{"8":0.0601290770154,"3.2":0.00375806731346,"4.0-4.1":0.00375806731346,"4.2-4.3":0.511097154631,"5.0-5.1":0.0864355482096,"6.0-6.1":0.0563710097019,"7.0-7.1":0.240516308062,"8.1-8.4":0.413387404481,"9.0-9.2":0.251790510002,"9.3":1.73622709882,"10.0-10.2":3.22066368764,"10.3":6.71566628916,"11.0-11.2":24.2733567777},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.0231510664172,"4.2-4.3":0.0651791562208,"4.4":0.185208531338,"4.4.3-4.4.4":0.107207246024},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.020373,"9":0.013582,"10":0.033955,"11":4.448105,"5.5":0},B:{"12":0.033955,"13":0.06791,"14":0.597608,"15":2.071255,"16":0.183357,"17":0},P:{"4":0.327522829787,"5":0.388175205674,"6.2":0.994698964539},N:{"10":0.0135115789474,"11":0.243208421053},J:{"7":0,"10":0},O:{"0":0.048135},H:{"0":0.151903694158},L:{"0":19.673033},R:{_:"0"},M:{"0":0.157241},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/AZ.js b/publi/node_modules/caniuse-lite/data/regions/AZ.js deleted file mode 100644 index 7cf0064..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/AZ.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0.004018,"9":0.004018,"10":0.004018,"11":0.008036,"12":0.004018,"13":0.004018,"14":0.004018,"15":0,"16":0.004018,"17":0.004018,"18":0.008036,"19":0,"20":0,"21":0.004018,"22":0.044198,"23":0,"24":0,"25":0.004018,"26":0.012054,"27":0.004018,"28":0.004018,"29":0.004018,"30":0,"31":0,"32":0,"33":0.004018,"34":0.012054,"35":0.004018,"36":0.004018,"37":0,"38":0.012054,"39":0.004018,"40":0.004018,"41":0.004018,"42":0.004018,"43":0.016072,"44":0.008036,"45":0.008036,"46":0.008036,"47":0.032144,"48":0.008036,"49":0.50225,"50":0.012054,"51":0.008036,"52":0.008036,"53":0.008036,"54":0.008036,"55":0.044198,"56":0.076342,"57":0.052234,"58":0.124558,"59":0.104468,"60":0.204918,"61":3.881388,"62":5.882352,"63":0.044198,"64":0.028126,"65":0},C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0.004018,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0.004018,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0.004018,"44":0.004018,"45":0.004018,"46":0,"47":0.004018,"48":0.016072,"49":0.012054,"50":0.004018,"51":0.004018,"52":0.056252,"53":0.016072,"54":0.012054,"55":0.012054,"56":0.22099,"57":0.168756,"58":0.004018,"59":0,"60":0,"3.5":0,"3.6":0.004018},F:{"9":0,"11":0,"12":0.004018,"15":0.004018,"16":0,"17":0,"18":0.008036,"19":0.012054,"20":0.016072,"21":0.004018,"22":0.012054,"23":0,"24":0,"25":0.004018,"26":0,"27":0,"28":0.004018,"29":0.004018,"30":0.008036,"31":0.012054,"32":0.004018,"33":0.004018,"34":0.004018,"35":0.004018,"36":0.04018,"37":0.012054,"38":0.004018,"39":0.004018,"40":0.004018,"41":0.012054,"42":0.02009,"43":0.148666,"44":0.016072,"45":0.008036,"46":0.012054,"47":0.024108,"48":0.835744,"49":0.470106,"50":0.008036,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.056252},E:{"4":0,"5":0.004018,"6":0,"7":0.016072,"8":0.096432,"9":0.004018,"10":0.012054,"11":0.16072,_:"0","3.1":0,"3.2":0,"5.1":0.008036,"6.1":0.004018,"7.1":0,"9.1":0.04018,"10.1":0.048216},G:{"8":0.01508124985,"3.2":0.000942578115623,"4.0-4.1":0.000942578115623,"4.2-4.3":0.128190623725,"5.0-5.1":0.0216792966593,"6.0-6.1":0.0141386717343,"7.0-7.1":0.0603249993999,"8.1-8.4":0.103683592719,"9.0-9.2":0.0631527337467,"9.3":0.435471089418,"10.0-10.2":0.807789445089,"10.3":1.68438709262,"11.0-11.2":6.08811204881},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.440987362021,"4.2-4.3":1.24154903461,"4.4":3.52789889616,"4.4.3-4.4.4":2.0421107072},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.0788989090909,"9":0.0175330909091,"10":0.0306829090909,"11":0.258613090909,"5.5":0},B:{"12":0.004018,"13":0.012054,"14":0.032144,"15":0.088396,"16":0.016072,"17":0},P:{"4":2.85292440179,"5":1.26682202679,"6.2":2.80142757143},N:{"10":0.0732795,"11":0.2198385},J:{"7":0.023928,"10":0.095712},O:{"0":0.741768},H:{"0":5.57275719588},L:{"0":47.781554},R:{_:"0"},M:{"0":0.047856},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/BA.js b/publi/node_modules/caniuse-lite/data/regions/BA.js deleted file mode 100644 index d02be0e..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/BA.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.005254,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0.010508,"23":0,"24":0,"25":0,"26":0.005254,"27":0,"28":0,"29":0,"30":0.005254,"31":0.005254,"32":0,"33":0.010508,"34":0.02627,"35":0.005254,"36":0.005254,"37":0.005254,"38":0.021016,"39":0.015762,"40":0.010508,"41":0.005254,"42":0.005254,"43":0.015762,"44":0.005254,"45":0.005254,"46":0.015762,"47":0.042032,"48":0.005254,"49":1.23469,"50":0.005254,"51":0.010508,"52":0.005254,"53":0.010508,"54":0.010508,"55":0.02627,"56":0.068302,"57":0.036778,"58":0.084064,"59":0.07881,"60":0.110334,"61":6.877486,"62":10.150728,"63":0.063048,"64":0.021016,"65":0},C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0.005254,"14":0.005254,"15":0.010508,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0.005254,"30":0,"31":0.005254,"32":0,"33":0,"34":0,"35":0.005254,"36":0.005254,"37":0.005254,"38":0.005254,"39":0.005254,"40":0.005254,"41":0.005254,"42":0.010508,"43":0.021016,"44":0.005254,"45":0.068302,"46":0.010508,"47":0.047286,"48":0.02627,"49":0.010508,"50":0.021016,"51":0.021016,"52":0.57794,"53":0.015762,"54":0.02627,"55":0.042032,"56":1.749582,"57":1.539422,"58":0.031524,"59":0,"60":0,"3.5":0,"3.6":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0.005254,"31":0.010508,"32":0.005254,"33":0,"34":0,"35":0,"36":0.068302,"37":0,"38":0,"39":0,"40":0.005254,"41":0,"42":0.005254,"43":0.057794,"44":0.005254,"45":0.005254,"46":0.005254,"47":0.005254,"48":0.483368,"49":0.336256,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.005254},E:{"4":0,"5":0.021016,"6":0,"7":0.05254,"8":0.005254,"9":0.005254,"10":0.015762,"11":0.225922,_:"0","3.1":0,"3.2":0,"5.1":0.005254,"6.1":0,"7.1":0,"9.1":0.042032,"10.1":0.057794},G:{"8":0.00964244688938,"3.2":0.000602652930586,"4.0-4.1":0.000602652930586,"4.2-4.3":0.0819607985597,"5.0-5.1":0.0138610174035,"6.0-6.1":0.00903979395879,"7.0-7.1":0.0385697875575,"8.1-8.4":0.0662918223645,"9.0-9.2":0.0403777463493,"9.3":0.278425653931,"10.0-10.2":0.516473561512,"10.3":1.07694078696,"11.0-11.2":3.89253527866},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.21923849392,"4.2-4.3":0.617240682881,"4.4":1.75390795136,"4.4.3-4.4.4":1.01524287184},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.02627,"9":0.015762,"10":0.031524,"11":0.977244,"5.5":0},B:{"12":0.015762,"13":0.036778,"14":0.115588,"15":0.436082,"16":0.047286,"17":0},P:{"4":0.668972696629,"5":0.514594382022,"6.2":1.56436692135},N:{"10":0.0979909411765,"11":0.457291058824},J:{"7":0.0028476,"10":0.0113904},O:{"0":0.061698},H:{"0":0.260605958763},L:{"0":57.65114},R:{_:"0"},M:{"0":0.123396},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/BB.js b/publi/node_modules/caniuse-lite/data/regions/BB.js deleted file mode 100644 index 8e98287..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/BB.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.019893,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0.006631,"19":0,"20":0,"21":0,"22":0.172406,"23":0,"24":0,"25":0,"26":0,"27":0.006631,"28":0,"29":0.450908,"30":0,"31":0,"32":0,"33":0.006631,"34":0.026524,"35":0,"36":0.013262,"37":0.059679,"38":0.006631,"39":0.019893,"40":0,"41":0.006631,"42":0,"43":0.013262,"44":0.006631,"45":0.006631,"46":0,"47":0.006631,"48":0.072941,"49":0.576897,"50":0.006631,"51":0.013262,"52":0.006631,"53":0.006631,"54":0.033155,"55":0.192299,"56":0.06631,"57":0.145882,"58":0.092834,"59":0.046417,"60":0.13262,"61":8.368322,"62":12.114837,"63":0.033155,"64":0.026524,"65":0},C:{"2":0,"3":0.013262,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0.006631,"10":0,"11":0.006631,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0.006631,"43":0,"44":0,"45":0.006631,"46":0,"47":0.013262,"48":0.059679,"49":0.019893,"50":0.013262,"51":0.006631,"52":0.152513,"53":0.019893,"54":0.013262,"55":0.046417,"56":1.942883,"57":1.531761,"58":0.019893,"59":0.006631,"60":0,"3.5":0,"3.6":0.006631},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0.232085,"18":0,"19":0,"20":0,"21":0.006631,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0.006631,"30":0.006631,"31":0.006631,"32":0,"33":0.006631,"34":0,"35":0,"36":0.013262,"37":0.019893,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0.145882,"44":0,"45":0,"46":0.006631,"47":0,"48":0.484063,"49":0.278502,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.152513},E:{"4":0.026524,"5":0,"6":0,"7":0,"8":0.026524,"9":0.019893,"10":0.165775,"11":1.498606,_:"0","3.1":0,"3.2":0,"5.1":0.019893,"6.1":0.006631,"7.1":0,"9.1":0.278502,"10.1":0.444277},G:{"8":0.022237794759,"3.2":0.00138986217243,"4.0-4.1":0.00138986217243,"4.2-4.3":0.189021255451,"5.0-5.1":0.031966829966,"6.0-6.1":0.0208479325865,"7.0-7.1":0.0889511790358,"8.1-8.4":0.152884838968,"9.0-9.2":0.0931207655531,"9.3":0.642116323665,"10.0-10.2":1.19111188178,"10.3":2.48368370214,"11.0-11.2":8.97711977175},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.20259606174,"4.2-4.3":0.57038583536,"4.4":1.62076849392,"4.4.3-4.4.4":0.93817560898},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.208427303226,"9":0.071871483871,"10":0.114994374194,"11":1.83272283871,"5.5":0},B:{"12":0.026524,"13":0.159144,"14":0.557004,"15":3.521061,"16":0.33155,"17":0},P:{"4":0.864483370482,"5":0.615796373494,"6.2":2.43950101807},N:{"10":0.0251143636364,"11":0.251143636364},J:{"7":0.0316686,"10":0.1266744},O:{"0":0.272889},H:{"0":0.50394914433},L:{"0":33.820653},R:{_:"0"},M:{"0":0.181926},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/BD.js b/publi/node_modules/caniuse-lite/data/regions/BD.js deleted file mode 100644 index 173e987..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/BD.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.005414,"12":0.002707,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0.002707,"19":0,"20":0,"21":0,"22":0.002707,"23":0.002707,"24":0,"25":0,"26":0.002707,"27":0.002707,"28":0.002707,"29":0.024363,"30":0.002707,"31":0.008121,"32":0.002707,"33":0.008121,"34":0.002707,"35":0,"36":0.005414,"37":0.002707,"38":0.002707,"39":0,"40":0.005414,"41":0.002707,"42":0,"43":0.032484,"44":0.002707,"45":0.002707,"46":0.002707,"47":0.010828,"48":0.005414,"49":0.110987,"50":0.002707,"51":0.005414,"52":0.002707,"53":0.002707,"54":0.005414,"55":0.013535,"56":0.018949,"57":0.021656,"58":0.032484,"59":0.029777,"60":0.064968,"61":1.169424,"62":2.100632,"63":0.02707,"64":0.032484,"65":0},C:{"2":0,"3":0.010828,"4":0.002707,"5":0,"6":0,"7":0,"8":0,"9":0.002707,"10":0.002707,"11":0.008121,"12":0.002707,"13":0.002707,"14":0.002707,"15":0.002707,"16":0.002707,"17":0.002707,"18":0.002707,"19":0.002707,"20":0.002707,"21":0.002707,"22":0.002707,"23":0.002707,"24":0.002707,"25":0.002707,"26":0.002707,"27":0.002707,"28":0.002707,"29":0.008121,"30":0.008121,"31":0.005414,"32":0.002707,"33":0.005414,"34":0.005414,"35":0.008121,"36":0.010828,"37":0.005414,"38":0.013535,"39":0.008121,"40":0.013535,"41":0.013535,"42":0.010828,"43":0.040605,"44":0.02707,"45":0.010828,"46":0.013535,"47":0.059554,"48":0.048726,"49":0.021656,"50":0.029777,"51":0.016242,"52":0.143471,"53":0.018949,"54":0.029777,"55":0.032484,"56":0.78503,"57":0.747132,"58":0.121815,"59":0.002707,"60":0,"3.5":0,"3.6":0.002707},F:{"9":0,"11":0.002707,"12":0,"15":0.002707,"16":0,"17":0.002707,"18":0.005414,"19":0.002707,"20":0.005414,"21":0.005414,"22":0.005414,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0.008121,"29":0.008121,"30":0.013535,"31":0.010828,"32":0.002707,"33":0.002707,"34":0.002707,"35":0.002707,"36":0.005414,"37":0.043312,"38":0,"39":0,"40":0,"41":0,"42":0.002707,"43":0.05414,"44":0.008121,"45":0,"46":0.002707,"47":0.002707,"48":0.127229,"49":0.08121,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.029777},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0.002707,"10":0.002707,"11":0.021656,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0.005414,"10.1":0.005414},G:{"8":0.00190173074615,"3.2":0.000118858171634,"4.0-4.1":0.000118858171634,"4.2-4.3":0.0161647113423,"5.0-5.1":0.00273373794759,"6.0-6.1":0.00178287257451,"7.0-7.1":0.0076069229846,"8.1-8.4":0.0130743988798,"9.0-9.2":0.0079634974995,"9.3":0.0549124752951,"10.0-10.2":0.101861453091,"10.3":0.212399552711,"11.0-11.2":0.767704930586},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.298749546305,"4.2-4.3":0.84109487652,"4.4":2.38999637044,"4.4.3-4.4.4":1.38344020674},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0.00296237735849,"7":0,"8":0.0533227924528,"9":0.00592475471698,"10":0.0177742641509,"11":0.0770218113208,"5.5":0},B:{"12":0.021656,"13":0.016242,"14":0.032484,"15":0.051433,"16":0.005414,"17":0},P:{"4":1.24166415254,"5":0.282655254237,"6.2":0.26246559322},N:{"10":0.075075,"11":0.4719},J:{"7":0.0043758,"10":0.0175032},O:{"0":16.810365},H:{"0":15.4799814536},L:{"0":40.651408},R:{_:"0"},M:{"0":0.357357},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/BE.js b/publi/node_modules/caniuse-lite/data/regions/BE.js deleted file mode 100644 index 0892be3..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/BE.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.007,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0.007,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0.028,"30":0,"31":0.014,"32":0,"33":0.007,"34":0.014,"35":0.007,"36":0.014,"37":0.007,"38":0.021,"39":0.021,"40":0.007,"41":0.007,"42":0.007,"43":0.014,"44":0.014,"45":0.007,"46":0.014,"47":0.014,"48":0.007,"49":0.658,"50":0.021,"51":0.014,"52":0.021,"53":0.028,"54":0.049,"55":0.077,"56":0.077,"57":0.084,"58":0.133,"59":0.119,"60":0.182,"61":9.065,"62":12.747,"63":0.035,"64":0.035,"65":0},C:{"2":0.007,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0.007,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0.007,"32":0,"33":0.007,"34":0.007,"35":0,"36":0,"37":0,"38":0.014,"39":0.007,"40":0.007,"41":0.007,"42":0.007,"43":0.014,"44":0.007,"45":0.07,"46":0.007,"47":0.035,"48":0.126,"49":0.014,"50":0.028,"51":0.028,"52":0.42,"53":0.049,"54":0.049,"55":0.084,"56":2.688,"57":2.212,"58":0.035,"59":0,"60":0,"3.5":0,"3.6":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0.007,"32":0,"33":0,"34":0,"35":0,"36":0.014,"37":0.007,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0.021,"44":0,"45":0,"46":0,"47":0,"48":0.315,"49":0.203,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.007},E:{"4":0,"5":0.014,"6":0,"7":0.007,"8":0.07,"9":0.07,"10":0.266,"11":2.464,_:"0","3.1":0,"3.2":0,"5.1":0.042,"6.1":0.028,"7.1":0,"9.1":0.413,"10.1":0.945},G:{"8":0.0353222644529,"3.2":0.00220764152831,"4.0-4.1":0.00220764152831,"4.2-4.3":0.30023924785,"5.0-5.1":0.050775755151,"6.0-6.1":0.0331146229246,"7.0-7.1":0.141289057812,"8.1-8.4":0.242840568114,"9.0-9.2":0.147911982396,"9.3":1.01993038608,"10.0-10.2":1.89194878976,"10.3":3.94505541108,"11.0-11.2":14.2591566313},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.0568521983162,"4.2-4.3":0.16006080449,"4.4":0.454817586529,"4.4.3-4.4.4":0.263269410664},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0.021025,"8":0.0841,"9":0.0841,"10":0.147175,"11":5.5506,"5.5":0},B:{"12":0.021,"13":0.07,"14":1.162,"15":2.996,"16":0.329,"17":0},P:{"4":0.624009836066,"5":0.645904918033,"6.2":2.0690852459},N:{"10":0.024,"11":0.204},J:{"7":0.0024,"10":0.0096},O:{"0":0.087},H:{"0":0.0710051546392},L:{"0":24.836},R:{_:"0"},M:{"0":0.165},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/BF.js b/publi/node_modules/caniuse-lite/data/regions/BF.js deleted file mode 100644 index be90bb2..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/BF.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.010692,"12":0,"13":0,"14":0,"15":0.001782,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0.001782,"27":0.001782,"28":0.001782,"29":0.003564,"30":0,"31":0.001782,"32":0.003564,"33":0.001782,"34":0,"35":0,"36":0,"37":0,"38":0.001782,"39":0,"40":0.001782,"41":0,"42":0,"43":0.007128,"44":0,"45":0,"46":0.001782,"47":0.001782,"48":0,"49":0.048114,"50":0.001782,"51":0,"52":0.001782,"53":0.001782,"54":0,"55":0.00891,"56":0.003564,"57":0.016038,"58":0.010692,"59":0.00891,"60":0.01782,"61":0.370656,"62":0.545292,"63":0.012474,"64":0.001782,"65":0},C:{"2":0,"3":0.065934,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0.007128,"10":0.001782,"11":0,"12":0.001782,"13":0,"14":0,"15":0,"16":0.001782,"17":0,"18":0.012474,"19":0,"20":0.001782,"21":0,"22":0,"23":0,"24":0.003564,"25":0.001782,"26":0.001782,"27":0,"28":0,"29":0.001782,"30":0.005346,"31":0.003564,"32":0.001782,"33":0.001782,"34":0.001782,"35":0.001782,"36":0.003564,"37":0.001782,"38":0.003564,"39":0.001782,"40":0.021384,"41":0.007128,"42":0.001782,"43":0.019602,"44":0.028512,"45":0.005346,"46":0.003564,"47":0.048114,"48":0.01782,"49":0.005346,"50":0.005346,"51":0.001782,"52":0.037422,"53":0.00891,"54":0.02673,"55":0.016038,"56":0.422334,"57":0.308286,"58":0.005346,"59":0,"60":0,"3.5":0.001782,"3.6":0.001782},F:{"9":0,"11":0,"12":0.001782,"15":0.001782,"16":0.028512,"17":0,"18":0.001782,"19":0,"20":0.01782,"21":0.001782,"22":0,"23":0.010692,"24":0,"25":0,"26":0,"27":0,"28":0.007128,"29":0.007128,"30":0.012474,"31":0.001782,"32":0,"33":0,"34":0,"35":0,"36":0.001782,"37":0.001782,"38":0.001782,"39":0.001782,"40":0,"41":0,"42":0.00891,"43":0.023166,"44":0,"45":0,"46":0.001782,"47":0.001782,"48":0.07128,"49":0.048114,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.04455},E:{"4":0,"5":0.003564,"6":0,"7":0,"8":0,"9":0.014256,"10":0.005346,"11":0.012474,_:"0","3.1":0,"3.2":0,"5.1":0.001782,"6.1":0,"7.1":0,"9.1":0.012474,"10.1":0.019602},G:{"8":0.00210957071414,"3.2":0.000131848169634,"4.0-4.1":0.000131848169634,"4.2-4.3":0.0179313510702,"5.0-5.1":0.00303250790158,"6.0-6.1":0.00197772254451,"7.0-7.1":0.00843828285657,"8.1-8.4":0.0145032986597,"9.0-9.2":0.00883382736547,"9.3":0.0609138543709,"10.0-10.2":0.112993881376,"10.3":0.235612679136,"11.0-11.2":0.851607327666},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.276124985968,"4.2-4.3":0.777398037418,"4.4":2.20899988775,"4.4.3-4.4.4":1.27867108887},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.021384,"9":0.001782,"10":0.01782,"11":0.491832,"5.5":0},B:{"12":0.03564,"13":0.012474,"14":0.039204,"15":0.04455,"16":0.001782,"17":0},P:{"4":0.656583958333,"5":0.171721958333,"6.2":0.141418083333},N:{"10":0.0499167407407,"11":0.287021259259},J:{"7":0.0180796,"10":0.0723184},O:{"0":24.28419},H:{"0":23.7765096357},L:{"0":30.21554},R:{_:"0"},M:{"0":0.295848},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/BG.js b/publi/node_modules/caniuse-lite/data/regions/BG.js deleted file mode 100644 index 934d5a3..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/BG.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.00645,"12":0,"13":0,"14":0,"15":0,"16":0.03225,"17":0,"18":0.00645,"19":0,"20":0,"21":0,"22":0.0129,"23":0,"24":0,"25":0,"26":0.01935,"27":0,"28":0,"29":0.01935,"30":0.00645,"31":0.00645,"32":0,"33":0.00645,"34":0.01935,"35":0.00645,"36":0.0129,"37":0.00645,"38":0.01935,"39":0.01935,"40":0.01935,"41":0.0129,"42":0,"43":0.0258,"44":0.0129,"45":0.00645,"46":0.01935,"47":0.03225,"48":0.01935,"49":1.5093,"50":0.0258,"51":0.01935,"52":0.01935,"53":0.0258,"54":0.0387,"55":0.07095,"56":0.12255,"57":0.07095,"58":0.22575,"59":0.17415,"60":0.27735,"61":8.67525,"62":12.9903,"63":0.0516,"64":0.0387,"65":0},C:{"2":0.00645,"3":0.00645,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0.00645,"11":0.00645,"12":0.00645,"13":0,"14":0,"15":0,"16":0.00645,"17":0,"18":0,"19":0,"20":0.00645,"21":0,"22":0,"23":0.00645,"24":0.00645,"25":0,"26":0,"27":0,"28":0,"29":0.00645,"30":0.00645,"31":0.0129,"32":0.00645,"33":0.00645,"34":0.0129,"35":0.00645,"36":0.03225,"37":0.00645,"38":0.01935,"39":0.00645,"40":0.0387,"41":0.01935,"42":0.0129,"43":0.04515,"44":0.0129,"45":0.0516,"46":0.0129,"47":0.05805,"48":0.2451,"49":0.0774,"50":0.0516,"51":0.0516,"52":1.4061,"53":0.0645,"54":0.10965,"55":0.09675,"56":3.5862,"57":3.06375,"58":0.0258,"59":0,"60":0,"3.5":0,"3.6":0.0129},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0.00645,"29":0,"30":0.00645,"31":0.00645,"32":0.00645,"33":0,"34":0,"35":0.00645,"36":0.07095,"37":0.00645,"38":0,"39":0,"40":0.00645,"41":0,"42":0.00645,"43":0.07095,"44":0.00645,"45":0.00645,"46":0.0129,"47":0.0129,"48":0.6966,"49":0.44505,"50":0.00645,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.0387},E:{"4":0.00645,"5":0,"6":0,"7":0.01935,"8":0.0129,"9":0.00645,"10":0.0258,"11":0.3612,_:"0","3.1":0,"3.2":0,"5.1":0.0129,"6.1":0.00645,"7.1":0,"9.1":0.0258,"10.1":0.08385},G:{"8":0.0130578915783,"3.2":0.000816118223645,"4.0-4.1":0.000816118223645,"4.2-4.3":0.110992078416,"5.0-5.1":0.0187707191438,"6.0-6.1":0.0122417733547,"7.0-7.1":0.0522315663133,"8.1-8.4":0.0897730046009,"9.0-9.2":0.0546799209842,"9.3":0.377046619324,"10.0-10.2":0.699413317664,"10.3":1.45840326565,"11.0-11.2":5.27130760652},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.138923058934,"4.2-4.3":0.391121842844,"4.4":1.11138447147,"4.4.3-4.4.4":0.643320626754},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0.00647267135325,"8":0.427196309315,"9":0.23948884007,"10":0.0906173989455,"11":2.91917478032,"5.5":0},B:{"12":0.0129,"13":0.0387,"14":0.1677,"15":0.6966,"16":0.0774,"17":0},P:{"4":0.495092537313,"5":0.515721393035,"6.2":1.06238606965},N:{"10":0.0544333333333,"11":0.272166666667},J:{"7":0.00284,"10":0.01136},O:{"0":0.17395},H:{"0":0.29912104811},L:{"0":43.3108},R:{_:"0"},M:{"0":0.15975},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/BH.js b/publi/node_modules/caniuse-lite/data/regions/BH.js deleted file mode 100644 index d0a7450..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/BH.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.004155,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0.004155,"22":0.004155,"23":0,"24":0,"25":0.004155,"26":0,"27":0,"28":0.004155,"29":0.00831,"30":0.004155,"31":0.004155,"32":0.01662,"33":0.012465,"34":0.00831,"35":0.004155,"36":0.004155,"37":0,"38":0.012465,"39":0.004155,"40":0.004155,"41":0,"42":0,"43":0.03324,"44":0.004155,"45":0.00831,"46":0.004155,"47":0.004155,"48":0.004155,"49":0.286695,"50":0.00831,"51":0.004155,"52":0.02493,"53":0.012465,"54":0.020775,"55":0.020775,"56":0.03324,"57":0.078945,"58":0.045705,"59":0.054015,"60":0.06648,"61":4.308735,"62":5.80038,"63":0.037395,"64":0.054015,"65":0},C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.004155,"12":0,"13":0,"14":0.004155,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0.004155,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0.004155,"39":0,"40":0.01662,"41":0,"42":0.004155,"43":0.00831,"44":0.004155,"45":0.00831,"46":0,"47":0.01662,"48":0.054015,"49":0.01662,"50":0.004155,"51":0.004155,"52":0.054015,"53":0.029085,"54":0.020775,"55":0.02493,"56":0.59832,"57":0.45705,"58":0.02493,"59":0,"60":0,"3.5":0,"3.6":0.004155},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0.00831,"29":0.004155,"30":0.004155,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0.004155,"37":0.00831,"38":0,"39":0,"40":0,"41":0.004155,"42":0,"43":0.037395,"44":0.004155,"45":0.01662,"46":0.00831,"47":0.01662,"48":0.078945,"49":0.00831,"50":0.004155,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.004155},E:{"4":0.004155,"5":0.004155,"6":0.004155,"7":0.00831,"8":0.070635,"9":0.054015,"10":0.145425,"11":0.9141,_:"0","3.1":0,"3.2":0,"5.1":0.01662,"6.1":0.012465,"7.1":0,"9.1":0.245145,"10.1":0.427965},G:{"8":0.0298067853571,"3.2":0.00186292408482,"4.0-4.1":0.00186292408482,"4.2-4.3":0.253357675535,"5.0-5.1":0.0428472539508,"6.0-6.1":0.0279438612723,"7.0-7.1":0.119227141428,"8.1-8.4":0.20492164933,"9.0-9.2":0.124815913683,"9.3":0.860670927185,"10.0-10.2":1.59652594069,"10.3":3.32904533957,"11.0-11.2":12.0326266638},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.0955527362021,"4.2-4.3":0.269017703461,"4.4":0.764421889616,"4.4.3-4.4.4":0.44248267072},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.0666755294118,"9":0.0500066470588,"10":0.0541738676471,"11":1.24599895588,"5.5":0},B:{"12":0.03324,"13":0.070635,"14":0.170355,"15":0.452895,"16":0.04986,"17":0},P:{"4":1.54466781496,"5":1.29752096457,"6.2":2.38908622047},N:{"10":0.0107158333333,"11":0.0535791666667},J:{"7":0.007014,"10":0.028056},O:{"0":13.741595},H:{"0":2.20793368557},L:{"0":32.274035},R:{_:"0"},M:{"0":0.14028},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/BI.js b/publi/node_modules/caniuse-lite/data/regions/BI.js deleted file mode 100644 index aaf8396..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/BI.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0.001776,"9":0,"10":0,"11":0.001776,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0.001776,"27":0,"28":0,"29":0.001776,"30":0.003552,"31":0,"32":0.001776,"33":0.010656,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0.005328,"41":0,"42":0,"43":0.023088,"44":0.001776,"45":0,"46":0,"47":0,"48":0,"49":0.028416,"50":0.001776,"51":0.003552,"52":0.012432,"53":0.00888,"54":0,"55":0.010656,"56":0.007104,"57":0.015984,"58":0.005328,"59":0.003552,"60":0.010656,"61":0.45288,"62":0.660672,"63":0.001776,"64":0.005328,"65":0},C:{"2":0,"3":0.014208,"4":0,"5":0.003552,"6":0,"7":0.001776,"8":0.001776,"9":0,"10":0.001776,"11":0.003552,"12":0,"13":0,"14":0.001776,"15":0,"16":0.001776,"17":0,"18":0,"19":0.005328,"20":0.003552,"21":0.001776,"22":0.001776,"23":0.003552,"24":0.001776,"25":0.001776,"26":0,"27":0,"28":0.001776,"29":0.001776,"30":0.001776,"31":0.00888,"32":0.005328,"33":0.007104,"34":0.003552,"35":0.001776,"36":0.003552,"37":0.005328,"38":0.001776,"39":0,"40":0.003552,"41":0.001776,"42":0.001776,"43":0.014208,"44":0.005328,"45":0.00888,"46":0.001776,"47":0.033744,"48":0.007104,"49":0.005328,"50":0.001776,"51":0.003552,"52":0.049728,"53":0,"54":0.007104,"55":0.010656,"56":0.362304,"57":0.440448,"58":0.014208,"59":0,"60":0,"3.5":0.001776,"3.6":0.005328},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0.007104,"18":0.007104,"19":0.023088,"20":0.058608,"21":0.001776,"22":0,"23":0.010656,"24":0.001776,"25":0,"26":0,"27":0,"28":0.005328,"29":0.005328,"30":0.00888,"31":0.024864,"32":0,"33":0.007104,"34":0,"35":0,"36":0.031968,"37":0.003552,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0.01776,"44":0.001776,"45":0,"46":0.001776,"47":0.001776,"48":0.113664,"49":0.085248,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.03552},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0.001776,"10":0.007104,"11":0.0444,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0.019536,"10.1":0.001776},G:{"8":0.00215011322264,"3.2":0.000134382076415,"4.0-4.1":0.000134382076415,"4.2-4.3":0.0182759623925,"5.0-5.1":0.00309078775755,"6.0-6.1":0.00201573114623,"7.0-7.1":0.00860045289058,"8.1-8.4":0.0147820284057,"9.0-9.2":0.00900359911982,"9.3":0.0620845193039,"10.0-10.2":0.115165439488,"10.3":0.240140770554,"11.0-11.2":0.867973831566},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.205211749298,"4.2-4.3":0.577750001871,"4.4":1.64169399439,"4.4.3-4.4.4":0.950288254443},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.0250942222222,"9":0.0179244444444,"10":0.0250942222222,"11":0.125471111111,"5.5":0},B:{"12":0.028416,"13":0.02664,"14":0.069264,"15":0.047952,"16":0.001776,"17":0},P:{"4":0.311246769231,"5":0.207497846154,"6.2":0.155623384615},N:{"10":0.0572742857143,"11":0.263461714286},J:{"7":0.0279616,"10":0.1118464},O:{"0":8.59408},H:{"0":48.996995244},L:{"0":18.858784},R:{_:"0"},M:{"0":0.139808},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/BJ.js b/publi/node_modules/caniuse-lite/data/regions/BJ.js deleted file mode 100644 index e5161e1..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/BJ.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0.003955,"6":0,"7":0,"8":0,"9":0,"10":0.003955,"11":0.003955,"12":0.01582,"13":0.003955,"14":0.003955,"15":0.00791,"16":0.003955,"17":0,"18":0,"19":0.075145,"20":0,"21":0,"22":0.00791,"23":0.00791,"24":0,"25":0.003955,"26":0.01582,"27":0.003955,"28":0.011865,"29":0.01582,"30":0.00791,"31":0.011865,"32":0.003955,"33":0.00791,"34":0.003955,"35":0,"36":0.01582,"37":0.011865,"38":0.011865,"39":0.003955,"40":0.01582,"41":0.003955,"42":0.003955,"43":0.059325,"44":0.011865,"45":0.00791,"46":0.027685,"47":0.01582,"48":0.027685,"49":0.46669,"50":0.00791,"51":0.019775,"52":0.003955,"53":0.04746,"54":0.03955,"55":0.04746,"56":0.083055,"57":0.10283,"58":0.090965,"59":0.090965,"60":0.28476,"61":2.88715,"62":4.473105,"63":0.019775,"64":0.00791,"65":0},C:{"2":0,"3":0.01582,"4":0.003955,"5":0.003955,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.059325,"12":0,"13":0,"14":0.003955,"15":0.003955,"16":0,"17":0,"18":0,"19":0.00791,"20":0.003955,"21":0.003955,"22":0.003955,"23":0,"24":0.003955,"25":0.003955,"26":0.003955,"27":0.003955,"28":0.003955,"29":0.00791,"30":0.011865,"31":0.011865,"32":0.011865,"33":0.003955,"34":0.003955,"35":0.00791,"36":0.00791,"37":0.00791,"38":0.00791,"39":0.011865,"40":0.011865,"41":0.011865,"42":0.00791,"43":0.067235,"44":0.019775,"45":0.019775,"46":0.01582,"47":0.106785,"48":0.035595,"49":0.02373,"50":0.01582,"51":0.02373,"52":0.130515,"53":0.027685,"54":0.05537,"55":0.03955,"56":1.51872,"57":1.04412,"58":0.03164,"59":0,"60":0,"3.5":0,"3.6":0},F:{"9":0,"11":0,"12":0.003955,"15":0.00791,"16":0.00791,"17":0.003955,"18":0.00791,"19":0.00791,"20":0.0791,"21":0.01582,"22":0.00791,"23":0.035595,"24":0,"25":0,"26":0.003955,"27":0,"28":0.019775,"29":0.01582,"30":0.03164,"31":0.03955,"32":0,"33":0,"34":0.003955,"35":0.003955,"36":0.02373,"37":0.00791,"38":0,"39":0,"40":0,"41":0,"42":0.01582,"43":0.035595,"44":0.00791,"45":0.00791,"46":0.003955,"47":0.011865,"48":0.533925,"49":0.264985,"50":0,"9.5-9.6":0,"10.0-10.1":0.05537,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0.003955,"12.1":0.217525},E:{"4":0.027685,"5":0,"6":0,"7":0.003955,"8":0.02373,"9":0.003955,"10":0.019775,"11":0.233345,_:"0","3.1":0,"3.2":0,"5.1":0.01582,"6.1":0,"7.1":0,"9.1":0.04746,"10.1":0.090965},G:{"8":0.00405277055411,"3.2":0.000253298159632,"4.0-4.1":0.000253298159632,"4.2-4.3":0.0344485497099,"5.0-5.1":0.00582585767153,"6.0-6.1":0.00379947239448,"7.0-7.1":0.0162110822164,"8.1-8.4":0.0278627975595,"9.0-9.2":0.0169709766953,"9.3":0.11702374975,"10.0-10.2":0.217076522805,"10.3":0.452643811262,"11.0-11.2":1.63605281306},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.164617820393,"4.2-4.3":0.463462478952,"4.4":1.31694256314,"4.4.3-4.4.4":0.762307137512},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0.00408538461538,"7":0,"8":0.0776223076923,"9":0.0653661538462,"10":0.0245123076923,"11":0.200183846154,"5.5":0},B:{"12":0.03164,"13":0.03955,"14":0.067235,"15":0.10283,"16":0.011865,"17":0},P:{"4":0.361848591549,"5":0.22349471831,"6.2":0.170281690141},N:{"10":0.065565,"11":0.78678},J:{"7":0.021762,"10":0.087048},O:{"0":11.539905},H:{"0":18.9088430928},L:{"0":32.444415},R:{_:"0"},M:{"0":0.30225},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/BM.js b/publi/node_modules/caniuse-lite/data/regions/BM.js deleted file mode 100644 index f15d4f9..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/BM.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0.009039,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0.009039,"35":0,"36":0,"37":0.009039,"38":0.009039,"39":0.018078,"40":0,"41":0,"42":0,"43":0.009039,"44":0.009039,"45":0.009039,"46":0.027117,"47":0.054234,"48":0.081351,"49":1.111797,"50":0.027117,"51":0.018078,"52":0.018078,"53":0.009039,"54":0.009039,"55":0.081351,"56":0.063273,"57":0.126546,"58":0.216936,"59":0.162702,"60":0.171741,"61":12.690756,"62":19.379616,"63":0.054234,"64":0.036156,"65":0},C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0.009039,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0.009039,"39":0,"40":0.027117,"41":0.045195,"42":0,"43":0.027117,"44":0,"45":0,"46":0,"47":0.009039,"48":0.117507,"49":0,"50":0.009039,"51":0.009039,"52":0.325404,"53":0.018078,"54":0.036156,"55":0.036156,"56":2.25975,"57":1.482396,"58":0,"59":0,"60":0,"3.5":0.018078,"3.6":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0.009039,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0.009039,"34":0,"35":0,"36":0.009039,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0.018078,"44":0,"45":0,"46":0,"47":0,"48":0.099429,"49":0.054234,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.009039},E:{"4":0.018078,"5":0.054234,"6":0.054234,"7":0.036156,"8":0.225975,"9":0.081351,"10":0.244053,"11":3.190767,_:"0","3.1":0,"3.2":0,"5.1":0.072312,"6.1":0.126546,"7.1":0,"9.1":0.578496,"10.1":1.211226},G:{"8":0.0330706893379,"3.2":0.00206691808362,"4.0-4.1":0.00206691808362,"4.2-4.3":0.281100859372,"5.0-5.1":0.0475391159232,"6.0-6.1":0.0310037712543,"7.0-7.1":0.132282757351,"8.1-8.4":0.227360989198,"9.0-9.2":0.138483511602,"9.3":0.954916154631,"10.0-10.2":1.77134879766,"10.3":3.69358261542,"11.0-11.2":13.3502239021},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.037919808232,"4.2-4.3":0.106758844715,"4.4":0.303358465856,"4.4.3-4.4.4":0.175597881197},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0.009039,"8":0.117507,"9":0.424833,"10":0.524262,"11":17.734518,"5.5":0},B:{"12":0.036156,"13":0.244053,"14":0.940056,"15":4.239291,"16":0.352521,"17":0},P:{"4":0.305811555556,"5":0.341097504274,"6.2":0.729242940171},N:{"10":0,"11":0.03844},J:{"7":0.0492032,"10":0.1968128},O:{"0":0.02883},H:{"0":0.0582280137457},L:{"0":5.671733},R:{_:"0"},M:{"0":0.030752},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/BN.js b/publi/node_modules/caniuse-lite/data/regions/BN.js deleted file mode 100644 index 11f58cf..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/BN.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.011154,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0.003718,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0.003718,"32":0,"33":0.007436,"34":0.007436,"35":0,"36":0.01859,"37":0,"38":0.05577,"39":0.003718,"40":0.003718,"41":0,"42":0.003718,"43":0.011154,"44":0.007436,"45":0,"46":0.003718,"47":0.014872,"48":0.05577,"49":0.211926,"50":0.007436,"51":0.003718,"52":0.003718,"53":0.007436,"54":0.007436,"55":0.063206,"56":0.01859,"57":0.089232,"58":0.059488,"59":0.063206,"60":0.11154,"61":3.572998,"62":4.413266,"63":0.026026,"64":0.01859,"65":0},C:{"2":0,"3":0.003718,"4":0,"5":0,"6":0,"7":0.003718,"8":0,"9":0.003718,"10":0,"11":0,"12":0,"13":0.003718,"14":0,"15":0,"16":0,"17":0,"18":0.011154,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0.003718,"30":0.003718,"31":0.014872,"32":0.026026,"33":0.003718,"34":0.003718,"35":0,"36":0.003718,"37":0,"38":0,"39":0,"40":0.003718,"41":0.003718,"42":0.003718,"43":0.014872,"44":0.011154,"45":0.007436,"46":0.022308,"47":0.01859,"48":0.044616,"49":0.003718,"50":0.011154,"51":0.011154,"52":0.089232,"53":0.022308,"54":0.011154,"55":0.014872,"56":0.933218,"57":0.710138,"58":0.066924,"59":0,"60":0,"3.5":0,"3.6":0.003718},F:{"9":0,"11":0,"12":0,"15":0,"16":0.007436,"17":0.003718,"18":0.007436,"19":0,"20":0.040898,"21":0.003718,"22":0.003718,"23":0,"24":0.003718,"25":0,"26":0.003718,"27":0,"28":0.022308,"29":0.003718,"30":0.029744,"31":0.033462,"32":0,"33":0,"34":0,"35":0.003718,"36":0.026026,"37":0.16731,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0.133848,"44":0.007436,"45":0,"46":0,"47":0,"48":0.089232,"49":0.044616,"50":0.003718,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.033462},E:{"4":0,"5":0.007436,"6":0.007436,"7":0.003718,"8":0.044616,"9":0.033462,"10":0.089232,"11":0.420134,_:"0","3.1":0,"3.2":0,"5.1":0.01859,"6.1":0.003718,"7.1":0,"9.1":0.11154,"10.1":0.24167},G:{"8":0.0216455419084,"3.2":0.00135284636927,"4.0-4.1":0.00135284636927,"4.2-4.3":0.183987106221,"5.0-5.1":0.0311154664933,"6.0-6.1":0.0202926955391,"7.0-7.1":0.0865821676335,"8.1-8.4":0.14881310062,"9.0-9.2":0.0906407067413,"9.3":0.625015022605,"10.0-10.2":1.15938933847,"10.3":2.41753646189,"11.0-11.2":8.73803469914},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.298479391955,"4.2-4.3":0.84033428812,"4.4":2.38783513564,"4.4.3-4.4.4":1.38218918428},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.018735234375,"9":0.033723421875,"10":0.018735234375,"11":0.408428109375,"5.5":0},B:{"12":0.003718,"13":0.011154,"14":0.05577,"15":0.234234,"16":0.03718,"17":0},P:{"4":2.83752744361,"5":1.38156766917,"6.2":1.43470488722},N:{"10":0,"11":0.050256},J:{"7":0.0012564,"10":0.0050256},O:{"0":9.240822},H:{"0":9.74182769072},L:{"0":33.174536},R:{_:"0"},M:{"0":0.18846},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/BO.js b/publi/node_modules/caniuse-lite/data/regions/BO.js deleted file mode 100644 index f981117..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/BO.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.020612,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0.005153,"19":0,"20":0,"21":0,"22":0.010306,"23":0.005153,"24":0.005153,"25":0.010306,"26":0.010306,"27":0,"28":0,"29":0.010306,"30":0.005153,"31":0.010306,"32":0,"33":0.015459,"34":0.015459,"35":0.005153,"36":0.015459,"37":0.015459,"38":0.036071,"39":0.010306,"40":0.030918,"41":0.005153,"42":0.005153,"43":0.025765,"44":0.015459,"45":0.015459,"46":0.010306,"47":0.010306,"48":0.010306,"49":0.778103,"50":0.020612,"51":0.020612,"52":0.05153,"53":0.025765,"54":0.056683,"55":0.077295,"56":0.139131,"57":0.087601,"58":0.128825,"59":0.139131,"60":0.283415,"61":6.812266,"62":10.001973,"63":0.041224,"64":0.010306,"65":0},C:{"2":0,"3":0.010306,"4":0.005153,"5":0,"6":0,"7":0,"8":0.005153,"9":0,"10":0,"11":0.005153,"12":0.005153,"13":0,"14":0,"15":0.005153,"16":0.005153,"17":0.010306,"18":0,"19":0,"20":0.005153,"21":0,"22":0,"23":0.005153,"24":0,"25":0.005153,"26":0,"27":0.005153,"28":0,"29":0.010306,"30":0.005153,"31":0.005153,"32":0.005153,"33":0.010306,"34":0.015459,"35":0.010306,"36":0.005153,"37":0.015459,"38":0.010306,"39":0.015459,"40":0.010306,"41":0.010306,"42":0.010306,"43":0.066989,"44":0.010306,"45":0.041224,"46":0.015459,"47":0.108213,"48":0.185508,"49":0.025765,"50":0.041224,"51":0.025765,"52":0.25765,"53":0.056683,"54":0.072142,"55":0.097907,"56":1.891151,"57":1.551053,"58":0.020612,"59":0,"60":0,"3.5":0.005153,"3.6":0.015459},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0.010306,"29":0.010306,"30":0.010306,"31":0.010306,"32":0,"33":0,"34":0.005153,"35":0,"36":0.010306,"37":0.010306,"38":0.005153,"39":0,"40":0,"41":0,"42":0.005153,"43":0.046377,"44":0.005153,"45":0,"46":0.010306,"47":0.005153,"48":0.329792,"49":0.190661,"50":0,"9.5-9.6":0.005153,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.041224},E:{"4":0,"5":0.005153,"6":0.010306,"7":0.010306,"8":0.061836,"9":0.036071,"10":0.066989,"11":0.36071,_:"0","3.1":0,"3.2":0,"5.1":0.010306,"6.1":0.005153,"7.1":0,"9.1":0.139131,"10.1":0.149437},G:{"8":0.0053151190238,"3.2":0.000332194938988,"4.0-4.1":0.000332194938988,"4.2-4.3":0.0451785117023,"5.0-5.1":0.00764048359672,"6.0-6.1":0.00498292408482,"7.0-7.1":0.0212604760952,"8.1-8.4":0.0365414432887,"9.0-9.2":0.0222570609122,"9.3":0.153474061812,"10.0-10.2":0.284691062713,"10.3":0.593632355971,"11.0-11.2":2.14564711092},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.257675565949,"4.2-4.3":0.725455824135,"4.4":2.0614045276,"4.4.3-4.4.4":1.19323608232},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0.005153,"7":0,"8":0.061836,"9":0.046377,"10":0.061836,"11":0.365863,"5.5":0},B:{"12":0.015459,"13":0.036071,"14":0.072142,"15":0.185508,"16":0.030918,"17":0},P:{"4":4.32559894247,"5":0.956720707276,"6.2":0.732807350254},N:{"10":0.0333587647059,"11":0.155674235294},J:{"7":0.0029082,"10":0.0116328},O:{"0":1.9388},H:{"0":3.17087908419},L:{"0":48.280461},R:{_:"0"},M:{"0":0.227809},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/BR.js b/publi/node_modules/caniuse-lite/data/regions/BR.js deleted file mode 100644 index a2a826e..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/BR.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.013848,"12":0.006924,"13":0.006924,"14":0,"15":0,"16":0,"17":0,"18":0.013848,"19":0.006924,"20":0,"21":0,"22":0.013848,"23":0,"24":0.006924,"25":0,"26":0.006924,"27":0.006924,"28":0.006924,"29":0.027696,"30":0.013848,"31":0.013848,"32":0.020772,"33":0.006924,"34":0.013848,"35":0.013848,"36":0.200796,"37":0.020772,"38":0.020772,"39":0.013848,"40":0.013848,"41":0.020772,"42":0.006924,"43":0.083088,"44":0.020772,"45":0.020772,"46":0.027696,"47":0.131556,"48":0.055392,"49":0.62316,"50":0.027696,"51":0.083088,"52":0.027696,"53":0.020772,"54":0.048468,"55":0.090012,"56":0.159252,"57":0.117708,"58":0.429288,"59":0.235416,"60":0.394668,"61":13.889544,"62":21.249756,"63":0.145404,"64":0.076164,"65":0},C:{"2":0.006924,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0.006924,"21":0,"22":0,"23":0,"24":0,"25":0.006924,"26":0,"27":0,"28":0.006924,"29":0.006924,"30":0,"31":0.013848,"32":0.006924,"33":0.006924,"34":0.006924,"35":0,"36":0.006924,"37":0.006924,"38":0.027696,"39":0.006924,"40":0.013848,"41":0.006924,"42":0.006924,"43":0.03462,"44":0.020772,"45":0.055392,"46":0.006924,"47":0.03462,"48":0.048468,"49":0.013848,"50":0.027696,"51":0.027696,"52":0.339276,"53":0.041544,"54":0.06924,"55":0.117708,"56":1.634064,"57":1.3848,"58":0.027696,"59":0,"60":0,"3.5":0,"3.6":0.006924},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0.006924,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0.006924,"26":0,"27":0.006924,"28":0.006924,"29":0.006924,"30":0.013848,"31":0.041544,"32":0.006924,"33":0.006924,"34":0.013848,"35":0.03462,"36":0.006924,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0.020772,"44":0.006924,"45":0.006924,"46":0.006924,"47":0.013848,"48":0.443136,"49":0.290808,"50":0.006924,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.013848},E:{"4":0.006924,"5":0.006924,"6":0,"7":0.03462,"8":0.013848,"9":0.013848,"10":0.055392,"11":0.58854,_:"0","3.1":0,"3.2":0,"5.1":0.006924,"6.1":0.006924,"7.1":0,"9.1":0.06924,"10.1":0.193872},G:{"8":0.0085535315063,"3.2":0.000534595719144,"4.0-4.1":0.000534595719144,"4.2-4.3":0.0727050178036,"5.0-5.1":0.0122957015403,"6.0-6.1":0.00801893578716,"7.0-7.1":0.0342141260252,"8.1-8.4":0.0588055291058,"9.0-9.2":0.0358179131826,"9.3":0.246983222244,"10.0-10.2":0.458148531306,"10.3":0.95532255011,"11.0-11.2":3.45295374995},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.187864714687,"4.2-4.3":0.528911427502,"4.4":1.50291771749,"4.4.3-4.4.4":0.869958140318},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0.0070327539267,"7":0.0070327539267,"8":0.133622324607,"9":0.147687832461,"10":0.105491308901,"11":0.942389026178,"5.5":0},B:{"12":0.027696,"13":0.03462,"14":0.166176,"15":0.58854,"16":0.131556,"17":0},P:{"4":0.783740606742,"5":0.28499658427,"6.2":0.743026808989},N:{"10":0.0424780952381,"11":0.403541904762},J:{"7":0.0018456,"10":0.0073824},O:{"0":0.670568},H:{"0":0.789194838488},L:{"0":36.983184},R:{_:"0"},M:{"0":0.09228},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/BS.js b/publi/node_modules/caniuse-lite/data/regions/BS.js deleted file mode 100644 index 9b70da2..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/BS.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.005566,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0.005566,"31":0,"32":0.005566,"33":0,"34":0.005566,"35":0,"36":0.02783,"37":0,"38":0.011132,"39":0.011132,"40":0,"41":0.022264,"42":0,"43":0.011132,"44":0.005566,"45":0,"46":0.005566,"47":0.005566,"48":0.033396,"49":0.595562,"50":0.022264,"51":0.005566,"52":0.005566,"53":0.011132,"54":0.016698,"55":0.038962,"56":0.022264,"57":0.044528,"58":0.038962,"59":0.077924,"60":0.13915,"61":5.632792,"62":7.558628,"63":0.011132,"64":0.005566,"65":0},C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0.005566,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0.005566,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0.011132,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0.005566,"42":0,"43":0,"44":0,"45":0.011132,"46":0,"47":0.005566,"48":0.072358,"49":0.005566,"50":0.005566,"51":0.005566,"52":0.089056,"53":0.005566,"54":0.016698,"55":0.011132,"56":0.86273,"57":0.562166,"58":0.005566,"59":0,"60":0,"3.5":0,"3.6":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0.011132,"30":0,"31":0.005566,"32":0,"33":0.005566,"34":0,"35":0,"36":0,"37":0.005566,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0.038962,"44":0,"45":0.005566,"46":0,"47":0,"48":0.08349,"49":0.038962,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.005566},E:{"4":0,"5":0.005566,"6":0,"7":0,"8":0.02783,"9":0.022264,"10":0.066792,"11":1.079804,_:"0","3.1":0,"3.2":0,"5.1":0.005566,"6.1":0.016698,"7.1":0,"9.1":0.155848,"10.1":1.591876},G:{"8":0.0294459403881,"3.2":0.00184037127425,"4.0-4.1":0.00184037127425,"4.2-4.3":0.250290493299,"5.0-5.1":0.0423285393079,"6.0-6.1":0.0276055691138,"7.0-7.1":0.117783761552,"8.1-8.4":0.202440840168,"9.0-9.2":0.123304875375,"9.3":0.850251528706,"10.0-10.2":1.57719818204,"10.3":3.28874346709,"11.0-11.2":11.8869580604},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.111415594013,"4.2-4.3":0.313677749298,"4.4":0.891324752105,"4.4.3-4.4.4":0.515939904584},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.044528,"9":0.066792,"10":0.089056,"11":3.14479,"5.5":0},B:{"12":0.061226,"13":0.300564,"14":0.5566,"15":4.486196,"16":0.228206,"17":0},P:{"4":1.94410249561,"5":1.62008541301,"6.2":2.58133609139},N:{"10":0.0115966153846,"11":0.139159384615},J:{"7":0.0062076,"10":0.0248304},O:{"0":0.186228},H:{"0":0.226682536082},L:{"0":40.808428},R:{_:"0"},M:{"0":0.146322},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/BT.js b/publi/node_modules/caniuse-lite/data/regions/BT.js deleted file mode 100644 index 0e892ec..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/BT.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0.002415,"5":0.002415,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0.002415,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0.00966,"19":0,"20":0,"21":0,"22":0.002415,"23":0.00483,"24":0.00483,"25":0,"26":0,"27":0.002415,"28":0,"29":0.007245,"30":0.01449,"31":0.002415,"32":0.016905,"33":0.01449,"34":0,"35":0,"36":0.002415,"37":0,"38":0.002415,"39":0.002415,"40":0,"41":0,"42":0,"43":0.012075,"44":0,"45":0.002415,"46":0.002415,"47":0.002415,"48":0,"49":0.065205,"50":0,"51":0.007245,"52":0.002415,"53":0.007245,"54":0.002415,"55":0.00966,"56":0.01449,"57":0.06279,"58":0.026565,"59":0.016905,"60":0.03864,"61":1.490055,"62":2.26527,"63":0.016905,"64":0.04347,"65":0},C:{"2":0,"3":0.002415,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0.012075,"11":0.007245,"12":0.002415,"13":0,"14":0.002415,"15":0,"16":0,"17":0,"18":0.00966,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0.002415,"25":0.002415,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0.002415,"32":0,"33":0.002415,"34":0,"35":0.00483,"36":0,"37":0.002415,"38":0.002415,"39":0.002415,"40":0.00483,"41":0,"42":0,"43":0.00966,"44":0.01932,"45":0.002415,"46":0,"47":0.012075,"48":0.00966,"49":0.00483,"50":0.002415,"51":0.00483,"52":0.04347,"53":0.01449,"54":0.00966,"55":0.00966,"56":0.40572,"57":0.38157,"58":0.03381,"59":0,"60":0,"3.5":0,"3.6":0.002415},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0.002415,"19":0,"20":0,"21":0.002415,"22":0.002415,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0.002415,"29":0.002415,"30":0,"31":0.002415,"32":0,"33":0,"34":0.00483,"35":0,"36":0.002415,"37":0.161805,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0.00483,"44":0,"45":0,"46":0,"47":0,"48":0.02898,"49":0.00966,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.01932},E:{"4":0,"5":0.002415,"6":0,"7":0,"8":0.002415,"9":0.012075,"10":0.007245,"11":0.079695,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0.00966,"10.1":0.041055},G:{"8":0.0101867413483,"3.2":0.000636671334267,"4.0-4.1":0.000636671334267,"4.2-4.3":0.0865873014603,"5.0-5.1":0.0146434406881,"6.0-6.1":0.009550070014,"7.0-7.1":0.0407469653931,"8.1-8.4":0.0700338467694,"9.0-9.2":0.0426569793959,"9.3":0.294142156431,"10.0-10.2":0.545627333467,"10.3":1.13773167433,"11.0-11.2":4.11226014803},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.080890645463,"4.2-4.3":0.227738278765,"4.4":0.647125163704,"4.4.3-4.4.4":0.374585912067},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.012075,"9":0.002415,"10":0.002415,"11":0.08694,"5.5":0},B:{"12":0.016905,"13":0.01449,"14":0.01449,"15":0.05796,"16":0.007245,"17":0},P:{"4":5.96632102886,"5":1.37215219573,"6.2":0.762306775408},N:{"10":0.0778726666667,"11":0.255867333333},J:{"7":0.003034,"10":0.012136},O:{"0":8.76826},H:{"0":6.49879411512},L:{"0":56.06893},R:{_:"0"},M:{"0":0.128945},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/BW.js b/publi/node_modules/caniuse-lite/data/regions/BW.js deleted file mode 100644 index 34e464a..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/BW.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.043379,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0.006197,"19":0,"20":0,"21":0.006197,"22":0.018591,"23":0,"24":0,"25":0,"26":0.024788,"27":0.006197,"28":0,"29":0.012394,"30":0.018591,"31":0.006197,"32":0.018591,"33":0.018591,"34":0.006197,"35":0.006197,"36":0.272668,"37":0.049576,"38":0.024788,"39":0.012394,"40":0.043379,"41":0.012394,"42":0.006197,"43":0.303653,"44":0.092955,"45":0.006197,"46":0.049576,"47":0.006197,"48":0.012394,"49":0.316047,"50":0.024788,"51":0.012394,"52":0.018591,"53":0.018591,"54":0.030985,"55":0.192107,"56":0.099152,"57":0.229289,"58":0.18591,"59":0.105349,"60":0.30985,"61":7.882584,"62":9.85323,"63":0.068167,"64":0.086758,"65":0},C:{"2":0,"3":0,"4":0.006197,"5":0,"6":0.024788,"7":0,"8":0.006197,"9":0,"10":0,"11":0.006197,"12":0.012394,"13":0,"14":0.006197,"15":0.018591,"16":0.012394,"17":0,"18":0.117743,"19":0,"20":0.006197,"21":0,"22":0,"23":0.080561,"24":0,"25":0.012394,"26":0,"27":0.111546,"28":0,"29":0.037182,"30":0.006197,"31":0.006197,"32":0.316047,"33":0.006197,"34":0.347032,"35":0.086758,"36":0.006197,"37":0.012394,"38":0.018591,"39":0.006197,"40":0.080561,"41":0.018591,"42":0.018591,"43":0.12394,"44":0.080561,"45":0.043379,"46":0.012394,"47":0.179713,"48":0.12394,"49":0.111546,"50":0.086758,"51":0.037182,"52":0.663079,"53":0.049576,"54":0.080561,"55":0.161122,"56":2.66471,"57":1.877691,"58":0.136334,"59":0,"60":0,"3.5":0,"3.6":0.006197},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0.049576,"18":0.006197,"19":0,"20":0,"21":0,"22":0.012394,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0.018591,"29":0.012394,"30":0.018591,"31":0.037182,"32":0,"33":0.018591,"34":0,"35":0,"36":0.012394,"37":0.037182,"38":0,"39":0,"40":0,"41":0.006197,"42":0.006197,"43":0.099152,"44":0.006197,"45":0.006197,"46":0.012394,"47":0.006197,"48":0.347032,"49":0.192107,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.006197},E:{"4":0,"5":0.006197,"6":0,"7":0,"8":0.06197,"9":0.012394,"10":0.303653,"11":0.43379,_:"0","3.1":0,"3.2":0,"5.1":0.006197,"6.1":0.006197,"7.1":0.012394,"9.1":0.328441,"10.1":0.241683},G:{"8":0.00621830286057,"3.2":0.000388643928786,"4.0-4.1":0.000388643928786,"4.2-4.3":0.0528555743149,"5.0-5.1":0.00893881036207,"6.0-6.1":0.00582965893179,"7.0-7.1":0.0248732114423,"8.1-8.4":0.0427508321664,"9.0-9.2":0.0260391432286,"9.3":0.179553495099,"10.0-10.2":0.333067846969,"10.3":0.69450670074,"11.0-11.2":2.51025113603},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.282479480823,"4.2-4.3":0.795288384471,"4.4":2.25983584659,"4.4.3-4.4.4":1.30809728812},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0.618548254934,"8":0.193686827303,"9":0.368629768092,"10":0.324894032895,"11":2.29300211678,"5.5":0},B:{"12":0.229289,"13":1.140248,"14":0.316047,"15":0.601109,"16":0.092955,"17":0},P:{"4":1.69726019672,"5":0.52780652459,"6.2":0.931423278689},N:{"10":0.164162833333,"11":1.80579116667},J:{"7":0.0897508,"10":0.3590032},O:{"0":2.483359},H:{"0":3.47081905842},L:{"0":33.588067},R:{_:"0"},M:{"0":0.627495},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/BY.js b/publi/node_modules/caniuse-lite/data/regions/BY.js deleted file mode 100644 index 36667ec..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/BY.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0.007952,"11":0.023856,"12":0.015904,"13":0.015904,"14":0.007952,"15":0.007952,"16":0.007952,"17":0.023856,"18":0.063616,"19":0.015904,"20":0.007952,"21":0.007952,"22":0.031808,"23":0.007952,"24":0.023856,"25":0.007952,"26":0.023856,"27":0.023856,"28":0.007952,"29":0.007952,"30":0.007952,"31":0.007952,"32":0.007952,"33":0,"34":0.023856,"35":0.007952,"36":0,"37":0.007952,"38":0.015904,"39":0.007952,"40":0.023856,"41":0.007952,"42":0.007952,"43":0.055664,"44":0.015904,"45":0.03976,"46":0.031808,"47":0.023856,"48":0.055664,"49":1.51088,"50":0.023856,"51":0.047712,"52":0.047712,"53":0.063616,"54":0.047712,"55":0.11928,"56":0.270368,"57":0.15904,"58":0.254464,"59":0.341936,"60":0.604352,"61":12.64368,"62":20.460496,"63":0.071568,"64":0.135184,"65":0},C:{"2":0,"3":0.015904,"4":0.007952,"5":0.007952,"6":0,"7":0.007952,"8":0,"9":0.007952,"10":0.007952,"11":0.007952,"12":0.015904,"13":0.007952,"14":0.007952,"15":0.007952,"16":0.007952,"17":0.007952,"18":0.007952,"19":0.007952,"20":0.007952,"21":0.023856,"22":0.015904,"23":0.015904,"24":0.03976,"25":0.015904,"26":0,"27":0.007952,"28":0.007952,"29":0,"30":0.007952,"31":0.015904,"32":0.007952,"33":0,"34":0.007952,"35":0.007952,"36":0,"37":0,"38":0.007952,"39":0.007952,"40":0.007952,"41":0.007952,"42":0.015904,"43":0.03976,"44":0.007952,"45":0.373744,"46":0.007952,"47":0.07952,"48":0.111328,"49":0.023856,"50":0.047712,"51":0.055664,"52":0.91448,"53":0.135184,"54":0.111328,"55":0.206752,"56":2.051616,"57":1.638112,"58":0.023856,"59":0,"60":0,"3.5":0.007952,"3.6":0.047712},F:{"9":0,"11":0.007952,"12":0.031808,"15":0.007952,"16":0.007952,"17":0,"18":0.007952,"19":0,"20":0.015904,"21":0,"22":0.023856,"23":0,"24":0.007952,"25":0.007952,"26":0.007952,"27":0.015904,"28":0.007952,"29":0.007952,"30":0.015904,"31":0.015904,"32":0.007952,"33":0.031808,"34":0.023856,"35":0.023856,"36":0.588448,"37":0.063616,"38":0.015904,"39":0.023856,"40":0.007952,"41":0.007952,"42":0.063616,"43":0.333984,"44":0.047712,"45":0.03976,"46":0.047712,"47":0.063616,"48":4.739392,"49":2.958144,"50":0.023856,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0.007952,"11.1":0,"11.5":0.007952,"11.6":0.047712,"12.1":0.326032},E:{"4":0.015904,"5":0.023856,"6":0.007952,"7":0,"8":0.03976,"9":0.007952,"10":0.127232,"11":1.240512,_:"0","3.1":0,"3.2":0,"5.1":0.015904,"6.1":0.007952,"7.1":0.007952,"9.1":0.071568,"10.1":0.230608},G:{"8":0.00840006721344,"3.2":0.00052500420084,"4.0-4.1":0.00052500420084,"4.2-4.3":0.0714005713143,"5.0-5.1":0.0120750966193,"6.0-6.1":0.0078750630126,"7.0-7.1":0.0336002688538,"8.1-8.4":0.0577504620924,"9.0-9.2":0.0351752814563,"9.3":0.242551940788,"10.0-10.2":0.44992860012,"10.3":0.938182506901,"11.0-11.2":3.39100213323},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.0926105893358,"4.2-4.3":0.260734428438,"4.4":0.740884714687,"4.4.3-4.4.4":0.42885826754},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0.0165823696682,"7":0.00829118483412,"8":0.596965308057,"9":0.0580382938389,"10":0.0912030331754,"11":0.978359810427,"5.5":0},B:{"12":0.015904,"13":0.023856,"14":0.15904,"15":0.421456,"16":0.190848,"17":0},P:{"4":0.362824691358,"5":0.186595555556,"6.2":0.290259753086},N:{"10":0.0453973333333,"11":0.226986666667},J:{"7":0.0012288,"10":0.0049152},O:{"0":0.352256},H:{"0":1.019868811},L:{"0":25.393408},R:{_:"0"},M:{"0":0.053248},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/BZ.js b/publi/node_modules/caniuse-lite/data/regions/BZ.js deleted file mode 100644 index 2235ae0..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/BZ.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.005565,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0.01113,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0.027825,"27":0,"28":0,"29":0,"30":0,"31":0.005565,"32":0.005565,"33":0,"34":0.005565,"35":0.016695,"36":0.005565,"37":0,"38":0.005565,"39":0.005565,"40":0.005565,"41":0.005565,"42":0,"43":0.038955,"44":0.005565,"45":0.016695,"46":0.005565,"47":0.005565,"48":0.005565,"49":0.250425,"50":0.094605,"51":0.038955,"52":0.01113,"53":0.01113,"54":0.03339,"55":0.105735,"56":0.10017,"57":0.061215,"58":0.094605,"59":0.07791,"60":0.183645,"61":7.30128,"62":10.189515,"63":0.01113,"64":0.083475,"65":0},C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0.005565,"29":0,"30":0,"31":0,"32":0,"33":0.005565,"34":0.005565,"35":0,"36":0,"37":0,"38":0.005565,"39":0,"40":0.01113,"41":0,"42":0.016695,"43":0.027825,"44":0,"45":0.016695,"46":0.005565,"47":0.04452,"48":0.072345,"49":0.005565,"50":0.016695,"51":0.01113,"52":0.34503,"53":0.01113,"54":0.03339,"55":0.13356,"56":2.04792,"57":1.54707,"58":0.016695,"59":0,"60":0,"3.5":0,"3.6":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0.005565,"44":0,"45":0.005565,"46":0.005565,"47":0,"48":0.150255,"49":0.083475,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0.01113,"12.1":0.005565},E:{"4":0.03339,"5":0,"6":0,"7":0.027825,"8":0.005565,"9":0.01113,"10":0.05565,"11":0.92379,_:"0","3.1":0,"3.2":0,"5.1":0.239295,"6.1":0,"7.1":0,"9.1":0.30051,"10.1":0.21147},G:{"8":0.020389909982,"3.2":0.00127436937387,"4.0-4.1":0.00127436937387,"4.2-4.3":0.173314234847,"5.0-5.1":0.0293104955991,"6.0-6.1":0.0191155406081,"7.0-7.1":0.081559639928,"8.1-8.4":0.140180631126,"9.0-9.2":0.0853827480496,"9.3":0.58875865073,"10.0-10.2":1.09213455341,"10.3":2.27729807111,"11.0-11.2":8.23115178586},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.197408465856,"4.2-4.3":0.555780757717,"4.4":1.57926772685,"4.4.3-4.4.4":0.914153049579},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0.005565,"7":0,"8":0.050085,"9":0.03339,"10":0.027825,"11":1.129695,"5.5":0},B:{"12":0.050085,"13":0.105735,"14":0.28938,"15":1.12413,"16":0.14469,"17":0},P:{"4":1.18995844595,"5":0.724792871622,"6.2":1.28731868243},N:{"10":0.273558863636,"11":0.773101136364},J:{"7":0.006209,"10":0.024836},O:{"0":1.64982},H:{"0":0.26872137457},L:{"0":45.436985},R:{_:"0"},M:{"0":0.385845},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/CA.js b/publi/node_modules/caniuse-lite/data/regions/CA.js deleted file mode 100644 index 8ab9994..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/CA.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.006672,"12":0,"13":0,"14":0,"15":0.040032,"16":0,"17":0,"18":0.006672,"19":0,"20":0,"21":0,"22":0.006672,"23":0,"24":0,"25":0,"26":0,"27":0.006672,"28":0,"29":0.026688,"30":0.006672,"31":0.006672,"32":0.006672,"33":0.006672,"34":0.013344,"35":0.006672,"36":0.013344,"37":0.006672,"38":0.020016,"39":0.013344,"40":0.013344,"41":0.013344,"42":0.006672,"43":0.020016,"44":0.013344,"45":0.013344,"46":0.020016,"47":0.020016,"48":0.026688,"49":0.60048,"50":0.040032,"51":0.053376,"52":0.040032,"53":0.040032,"54":0.06672,"55":0.20016,"56":0.13344,"57":0.140112,"58":0.180144,"59":0.213504,"60":0.46704,"61":8.393376,"62":10.87536,"63":0.053376,"64":0.026688,"65":0},C:{"2":0,"3":0.006672,"4":0.006672,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0.006672,"17":0,"18":0,"19":0,"20":0,"21":0.006672,"22":0,"23":0,"24":0.006672,"25":0,"26":0.006672,"27":0,"28":0.006672,"29":0.006672,"30":0.006672,"31":0.006672,"32":0,"33":0.006672,"34":0.006672,"35":0.006672,"36":0.006672,"37":0.006672,"38":0.020016,"39":0.006672,"40":0.006672,"41":0.040032,"42":0.006672,"43":0.013344,"44":0.006672,"45":0.040032,"46":0.006672,"47":0.03336,"48":0.120096,"49":0.020016,"50":0.046704,"51":0.040032,"52":0.353616,"53":0.06672,"54":0.060048,"55":0.120096,"56":2.054976,"57":1.53456,"58":0.020016,"59":0,"60":0,"3.5":0,"3.6":0.006672},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0.013344,"37":0.006672,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0.020016,"44":0,"45":0,"46":0.006672,"47":0,"48":0.180144,"49":0.106752,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.006672},E:{"4":0.013344,"5":0.040032,"6":0.006672,"7":0.006672,"8":0.060048,"9":0.060048,"10":0.26688,"11":2.175072,_:"0","3.1":0,"3.2":0,"5.1":0.046704,"6.1":0.03336,"7.1":0.006672,"9.1":0.46704,"10.1":0.860688},G:{"8":0.0520258675735,"3.2":0.00325161672334,"4.0-4.1":0.00325161672334,"4.2-4.3":0.442219874375,"5.0-5.1":0.0747871846369,"6.0-6.1":0.0487742508502,"7.0-7.1":0.208103470294,"8.1-8.4":0.357677839568,"9.0-9.2":0.217858320464,"9.3":1.50224692619,"10.0-10.2":2.78663553191,"10.3":5.81063908462,"11.0-11.2":21.0021924161},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.0622180729654,"4.2-4.3":0.175167805426,"4.4":0.497744583723,"4.4.3-4.4.4":0.288117537886},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0.00672130049261,"7":0.00672130049261,"8":0.174753812808,"9":0.0940982068966,"10":0.141147310345,"11":5.03425406897,"5.5":0},B:{"12":0.013344,"13":0.040032,"14":0.40032,"15":2.208432,"16":0.40032,"17":0},P:{"4":0.429614545455,"5":0.418308899522,"6.2":1.51495655502},N:{"10":0,"11":0.036608},J:{"7":0.0605696,"10":0.2422784},O:{"0":0.39936},H:{"0":0.182742652921},L:{"0":20.6792},R:{_:"0"},M:{"0":0.219648},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/CD.js b/publi/node_modules/caniuse-lite/data/regions/CD.js deleted file mode 100644 index 042a029..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/CD.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.008822,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0.000802,"22":0,"23":0,"24":0,"25":0,"26":0.001604,"27":0,"28":0,"29":0.000802,"30":0,"31":0.009624,"32":0,"33":0.001604,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0.000802,"41":0,"42":0,"43":0.004812,"44":0,"45":0.000802,"46":0.000802,"47":0.003208,"48":0,"49":0.005614,"50":0.000802,"51":0.000802,"52":0,"53":0,"54":0,"55":0.010426,"56":0.001604,"57":0.00802,"58":0.002406,"59":0.001604,"60":0.004812,"61":0.0802,"62":0.114686,"63":0.000802,"64":0,"65":0},C:{"2":0,"3":0.003208,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0.000802,"20":0.002406,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0.000802,"28":0,"29":0.000802,"30":0.000802,"31":0.000802,"32":0.001604,"33":0.000802,"34":0.001604,"35":0,"36":0.000802,"37":0,"38":0.000802,"39":0,"40":0.000802,"41":0.000802,"42":0.000802,"43":0.00401,"44":0.001604,"45":0.001604,"46":0.000802,"47":0.006416,"48":0.003208,"49":0.002406,"50":0.000802,"51":0.000802,"52":0.00401,"53":0.000802,"54":0.002406,"55":0.005614,"56":0.085814,"57":0.051328,"58":0.001604,"59":0,"60":0,"3.5":0,"3.6":0.000802},F:{"9":0,"11":0.001604,"12":0.001604,"15":0.003208,"16":0.002406,"17":0.003208,"18":0.012832,"19":0.003208,"20":0.032882,"21":0.02406,"22":0.003208,"23":0.011228,"24":0,"25":0,"26":0.000802,"27":0.000802,"28":0.005614,"29":0.00802,"30":0.006416,"31":0.002406,"32":0,"33":0.004812,"34":0.000802,"35":0.001604,"36":0.000802,"37":0.00401,"38":0,"39":0,"40":0,"41":0.000802,"42":0.003208,"43":0.010426,"44":0.000802,"45":0.000802,"46":0.000802,"47":0.001604,"48":0.029674,"49":0.012832,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0.000802,"11.6":0.000802,"12.1":0.039298},E:{"4":0,"5":0,"6":0,"7":0,"8":0.001604,"9":0.000802,"10":0.001604,"11":0.006416,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0.000802,"9.1":0.002406,"10.1":0.007218},G:{"8":0.00195178875775,"3.2":0.000121986797359,"4.0-4.1":0.000121986797359,"4.2-4.3":0.0165902044409,"5.0-5.1":0.00280569633927,"6.0-6.1":0.00182980196039,"7.0-7.1":0.00780715503101,"8.1-8.4":0.0134185477095,"9.0-9.2":0.00817311542308,"9.3":0.0563579003801,"10.0-10.2":0.104542685337,"10.3":0.217990406881,"11.0-11.2":0.787912724145},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.277291337699,"4.2-4.3":0.780681766137,"4.4":2.21833070159,"4.4.3-4.4.4":1.28407219457},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.00521979661017,"9":0.000869966101695,"10":0.00521979661017,"11":0.0382785084746,"5.5":0},B:{"12":0.007218,"13":0.00401,"14":0.006416,"15":0.004812,"16":0.000802,"17":0},P:{"4":0.873672716418,"5":0.294610567164,"6.2":0.193020716418},N:{"10":0.524046052174,"11":0.910841947826},J:{"7":0.027594,"10":0.110376},O:{"0":18.432792},H:{"0":51.630159866},L:{"0":10.966642},R:{_:"0"},M:{"0":0.156366},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/CF.js b/publi/node_modules/caniuse-lite/data/regions/CF.js deleted file mode 100644 index 45ecf1b..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/CF.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0.001377,"7":0,"8":0,"9":0,"10":0,"11":0.001377,"12":0.001377,"13":0,"14":0,"15":0,"16":0,"17":0.001377,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0.001377,"32":0,"33":0.001377,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0.001377,"41":0,"42":0.002754,"43":0.004131,"44":0,"45":0.008262,"46":0.147339,"47":0,"48":0,"49":0.008262,"50":0.002754,"51":0.005508,"52":0,"53":0.001377,"54":0,"55":0.026163,"56":0.001377,"57":0.067473,"58":0.002754,"59":0.001377,"60":0.005508,"61":0.235467,"62":0.364905,"63":0.001377,"64":0,"65":0},C:{"2":0,"3":0.004131,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.001377,"12":0.001377,"13":0.001377,"14":0,"15":0,"16":0,"17":0.001377,"18":0,"19":0.001377,"20":0,"21":0,"22":0,"23":0,"24":0.001377,"25":0.001377,"26":0,"27":0.001377,"28":0.002754,"29":0,"30":0.001377,"31":0,"32":0.005508,"33":0.001377,"34":0,"35":0.002754,"36":0,"37":0,"38":0.001377,"39":0,"40":0.001377,"41":0,"42":0,"43":0.01377,"44":0.004131,"45":0.01377,"46":0.001377,"47":0.012393,"48":0.004131,"49":0,"50":0.002754,"51":0.004131,"52":0.017901,"53":0.002754,"54":0.005508,"55":0.005508,"56":0.355266,"57":0.159732,"58":0.002754,"59":0,"60":0,"3.5":0.002754,"3.6":0},F:{"9":0,"11":0,"12":0.001377,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0.002754,"21":0.001377,"22":0,"23":0,"24":0,"25":0.004131,"26":0,"27":0,"28":0.002754,"29":0.004131,"30":0,"31":0.001377,"32":0.001377,"33":0,"34":0,"35":0.002754,"36":0.001377,"37":0.026163,"38":0,"39":0,"40":0,"41":0,"42":0.005508,"43":0.009639,"44":0,"45":0,"46":0.001377,"47":0,"48":0.04131,"49":0.020655,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.017901},E:{"4":0,"5":0,"6":0,"7":0,"8":0.002754,"9":0.001377,"10":0.002754,"11":0.011016,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0.001377,"10.1":0.008262},G:{"8":0.00225240728146,"3.2":0.000140775455091,"4.0-4.1":0.000140775455091,"4.2-4.3":0.0191454618924,"5.0-5.1":0.00323783546709,"6.0-6.1":0.00211163182637,"7.0-7.1":0.00900962912583,"8.1-8.4":0.01548530006,"9.0-9.2":0.0094319554911,"9.3":0.0650382602521,"10.0-10.2":0.120644565013,"10.3":0.251565738248,"11.0-11.2":0.909268664433},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.188573573433,"4.2-4.3":0.530907137512,"4.4":1.50858858746,"4.4.3-4.4.4":0.87324070159},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.016524,"9":0,"10":0.016524,"11":0.158355,"5.5":0},B:{"12":0.02754,"13":0.020655,"14":0.004131,"15":0.023409,"16":0.006885,"17":0},P:{"4":0.2764749375,"5":0.163837,"6.2":0.2150360625},N:{"10":0.0388035,"11":0.1940175},J:{"7":0.008623,"10":0.034492},O:{"0":39.777899},H:{"0":7.46162117182},L:{"0":36.658653},R:{_:"0"},M:{"0":0.224198},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/CG.js b/publi/node_modules/caniuse-lite/data/regions/CG.js deleted file mode 100644 index e991e5d..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/CG.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"9":0.002143,"11":0.132866,"15":0.006429,"16":0.006429,"18":0.004286,"20":0.006429,"22":0.02143,"26":0.051432,"28":0.004286,"29":0.012858,"31":0.002143,"33":0.008572,"35":0.002143,"37":0.002143,"38":0.002143,"39":0.006429,"40":0.008572,"41":0.002143,"42":0.004286,"43":0.06429,"44":0.025716,"45":0.023573,"46":0.004286,"47":0.015001,"49":0.205728,"50":0.019287,"51":0.015001,"52":0.006429,"53":0.010715,"54":0.004286,"55":0.293591,"56":0.079291,"57":0.068576,"58":0.098578,"59":0.180012,"60":0.072862,"61":3.017344,"62":3.505948,"63":0.008572,"64":0.002143,_:"4 5 6 7 8 10 12 13 14 17 19 21 23 24 25 27 30 32 34 36 48 65"},C:{"3":0.863629,"4":0.006429,"6":0.004286,"7":0.004286,"8":0.002143,"9":0.006429,"10":0.004286,"11":0.002143,"12":0.036431,"13":0.006429,"15":0.008572,"16":0.010715,"17":0.006429,"18":0.004286,"19":0.010715,"20":0.004286,"22":0.010715,"23":0.002143,"24":0.004286,"25":0.006429,"26":0.036431,"27":0.004286,"28":0.002143,"29":0.008572,"30":0.008572,"31":0.012858,"32":0.036431,"33":0.006429,"35":0.010715,"36":0.038574,"37":0.004286,"38":0.038574,"39":0.004286,"40":0.015001,"41":0.02143,"42":0.006429,"43":0.105007,"44":0.006429,"45":0.017144,"46":0.015001,"47":0.117865,"48":0.02143,"49":0.081434,"50":0.008572,"51":0.010715,"52":0.207871,"53":0.012858,"54":0.047146,"55":0.098578,"56":2.554456,"57":1.703685,"58":0.015001,_:"2 5 14 21 34 59 60","3.5":0.017144,"3.6":0.027859},F:{"11":0.008572,"20":0.006429,"21":0.006429,"22":0.004286,"28":0.004286,"30":0.002143,"34":0.004286,"35":0.002143,"36":0.012858,"37":0.008572,"41":0.040717,"42":0.053575,"43":0.017144,"44":0.012858,"45":0.027859,"46":0.006429,"47":0.023573,"48":0.865772,"49":0.415742,_:"9 12 15 16 17 18 19 23 24 25 26 27 29 31 32 33 38 39 40 50 9.5-9.6 10.5 10.6 11.1","10.0-10.1":0,"11.5":0.004286,"11.6":0.010715,"12.1":0.02143},E:{"4":0,"5":0.006429,"8":0.017144,"9":0.008572,"10":0.120008,"11":0.180012,_:"0 6 7 3.1 3.2 6.1","5.1":0.002143,"7.1":0.025716,"9.1":0.197156,"10.1":0.162868},G:{"8":0.00378420644129,"3.2":0.000236512902581,"4.0-4.1":0.000236512902581,"4.2-4.3":0.032165754751,"5.0-5.1":0.00543979675935,"6.0-6.1":0.00354769353871,"7.0-7.1":0.0151368257652,"8.1-8.4":0.0260164192839,"9.0-9.2":0.0158463644729,"9.3":0.109268960992,"10.0-10.2":0.202691557512,"10.3":0.422648556911,"11.0-11.2":1.52763683777},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.496309597755,"4.2-4.3":1.39730240599,"4.4":3.97047678204,"4.4.3-4.4.4":2.29829521422},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"7":0.00440766709677,"8":0.165287516129,"9":0.0242421690323,"10":0.132230012903,"11":1.38180363484,_:"6 5.5"},B:{"12":0.190727,"13":0.04286,"14":0.175726,"15":0.188584,"16":0.038574,_:"17"},P:{"4":1.52448601653,"5":0.646139768595,"6.2":0.272590214876},N:{"10":0.123161806452,"11":0.301062193548},J:{"7":0.1524064,"10":0.6096256},O:{"0":23.379456},H:{"0":12.1603995876},L:{"0":28.27483},R:{_:"0"},M:{"0":0.345664},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/CH.js b/publi/node_modules/caniuse-lite/data/regions/CH.js deleted file mode 100644 index d25057d..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/CH.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.006538,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0.013076,"23":0,"24":0,"25":0,"26":0.006538,"27":0,"28":0,"29":0.006538,"30":0,"31":0.006538,"32":0.006538,"33":0.006538,"34":0.013076,"35":0.006538,"36":0.013076,"37":0,"38":0.019614,"39":0.013076,"40":0.006538,"41":0.006538,"42":0.006538,"43":0.013076,"44":0.006538,"45":0.019614,"46":0.013076,"47":0.013076,"48":0.013076,"49":0.287672,"50":0.013076,"51":0.039228,"52":0.013076,"53":0.019614,"54":0.03269,"55":0.078456,"56":0.071918,"57":0.09807,"58":0.13076,"59":0.22883,"60":0.215754,"61":5.465768,"62":7.459858,"63":0.026152,"64":0.019614,"65":0},C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0.006538,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0.006538,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0.006538,"27":0,"28":0,"29":0.006538,"30":0.006538,"31":0.013076,"32":0.006538,"33":0.006538,"34":0.019614,"35":0.006538,"36":0.006538,"37":0.006538,"38":0.071918,"39":0.013076,"40":0.019614,"41":0.026152,"42":0.026152,"43":0.026152,"44":0.006538,"45":0.09807,"46":0.006538,"47":0.058842,"48":0.274596,"49":0.084994,"50":0.16345,"51":0.202678,"52":0.634186,"53":0.084994,"54":0.091532,"55":0.104608,"56":3.321304,"57":2.54982,"58":0.026152,"59":0.006538,"60":0,"3.5":0,"3.6":0.006538},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0.006538,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0.03269,"44":0.006538,"45":0.013076,"46":0.006538,"47":0.013076,"48":0.398818,"49":0.215754,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.026152},E:{"4":0,"5":0.039228,"6":0.006538,"7":0.019614,"8":0.111146,"9":0.104608,"10":0.895706,"11":3.635128,_:"0","3.1":0,"3.2":0,"5.1":0.084994,"6.1":0.06538,"7.1":0.006538,"9.1":0.732256,"10.1":1.287986},G:{"8":0.053557469894,"3.2":0.00334734186837,"4.0-4.1":0.00334734186837,"4.2-4.3":0.455238494099,"5.0-5.1":0.0769888629726,"6.0-6.1":0.0502101280256,"7.0-7.1":0.214229879576,"8.1-8.4":0.368207605521,"9.0-9.2":0.224271905181,"9.3":1.54647194319,"10.0-10.2":2.8686719812,"10.3":5.98169991878,"11.0-11.2":21.6204811278},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.0422829560337,"4.2-4.3":0.11904278391,"4.4":0.338263648269,"4.4.3-4.4.4":0.195802611787},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0.00654495531915,"7":0,"8":0.0392697319149,"9":0.0850844191489,"10":0.0785394638298,"11":5.94281942979,"5.5":0},B:{"12":0.013076,"13":0.071918,"14":0.431508,"15":2.105236,"16":0.353052,"17":0},P:{"4":0.565285445378,"5":1.09795826891,"6.2":2.21765828571},N:{"10":0.0119596363636,"11":0.119596363636},J:{"7":0.0055392,"10":0.0221568},O:{"0":0.166176},H:{"0":0.111438329897},L:{"0":18.412926},R:{_:"0"},M:{"0":0.391206},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/CI.js b/publi/node_modules/caniuse-lite/data/regions/CI.js deleted file mode 100644 index a6da443..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/CI.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.012966,"12":0.008644,"13":0.008644,"14":0,"15":0,"16":0.004322,"17":0.004322,"18":0,"19":0,"20":0,"21":0.004322,"22":0.004322,"23":0,"24":0,"25":0,"26":0.008644,"27":0.004322,"28":0.004322,"29":0.012966,"30":0.008644,"31":0.008644,"32":0.004322,"33":0.017288,"34":0.008644,"35":0.004322,"36":0.025932,"37":0.004322,"38":0.008644,"39":0.004322,"40":0.012966,"41":0.004322,"42":0.004322,"43":0.090762,"44":0.008644,"45":0.012966,"46":0.012966,"47":0.012966,"48":0.004322,"49":1.218804,"50":0.017288,"51":0.012966,"52":0.008644,"53":0.008644,"54":0.012966,"55":0.034576,"56":0.051864,"57":0.15127,"58":0.090762,"59":0.125338,"60":0.155592,"61":3.690988,"62":5.441398,"63":0.025932,"64":0.025932,"65":0},C:{"2":0,"3":0.008644,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0.012966,"13":0,"14":0,"15":0.004322,"16":0,"17":0,"18":0.004322,"19":0,"20":0.004322,"21":0.004322,"22":0,"23":0,"24":0.004322,"25":0,"26":0.004322,"27":0.004322,"28":0,"29":0.004322,"30":0.004322,"31":0.004322,"32":0.220422,"33":0.004322,"34":0.004322,"35":0.034576,"36":0.004322,"37":0.004322,"38":0.004322,"39":0.004322,"40":0.017288,"41":0.008644,"42":0.008644,"43":0.04322,"44":0.012966,"45":0.017288,"46":0.012966,"47":0.082118,"48":0.103728,"49":0.025932,"50":0.038898,"51":0.012966,"52":0.190168,"53":0.038898,"54":0.04322,"55":0.047542,"56":1.40465,"57":1.032958,"58":0.02161,"59":0,"60":0,"3.5":0,"3.6":0},F:{"9":0,"11":0.004322,"12":0,"15":0.004322,"16":0.008644,"17":0,"18":0,"19":0.004322,"20":0.04322,"21":0,"22":0.008644,"23":0.017288,"24":0,"25":0,"26":0,"27":0.004322,"28":0.008644,"29":0.008644,"30":0.02161,"31":0.012966,"32":0.008644,"33":0,"34":0.004322,"35":0.004322,"36":0.012966,"37":0.012966,"38":0,"39":0,"40":0.004322,"41":0.004322,"42":0.004322,"43":0.034576,"44":0.008644,"45":0.004322,"46":0.02161,"47":0.008644,"48":0.332794,"49":0.203134,"50":0.004322,"9.5-9.6":0.008644,"10.0-10.1":0.008644,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.038898},E:{"4":0,"5":0.017288,"6":0.004322,"7":0.008644,"8":0.030254,"9":0.017288,"10":0.056186,"11":0.181524,_:"0","3.1":0,"3.2":0,"5.1":0.008644,"6.1":0.004322,"7.1":0,"9.1":0.095084,"10.1":0.168558},G:{"8":0.00594587397479,"3.2":0.000371617123425,"4.0-4.1":0.000371617123425,"4.2-4.3":0.0505399287858,"5.0-5.1":0.00854719383877,"6.0-6.1":0.00557425685137,"7.0-7.1":0.0237834958992,"8.1-8.4":0.0408778835767,"9.0-9.2":0.0248983472695,"9.3":0.171687111022,"10.0-10.2":0.318475874775,"10.3":0.66407979956,"11.0-11.2":2.4002750002},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.247804321796,"4.2-4.3":0.69766447521,"4.4":1.98243457437,"4.4.3-4.4.4":1.14752462862},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0.0043350969697,"7":0,"8":0.0823668424242,"9":0.043350969697,"10":0.0173403878788,"11":1.28318870303,"5.5":0},B:{"12":0.15127,"13":0.060508,"14":0.142626,"15":0.285252,"16":0.017288,"17":0},P:{"4":0.678375941606,"5":0.400858510949,"6.2":0.328909547445},N:{"10":0.0561491111111,"11":0.449192888889},J:{"7":0.0306612,"10":0.1226448},O:{"0":5.325964},H:{"0":12.8690991959},L:{"0":41.43092},R:{_:"0"},M:{"0":0.88009},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/CK.js b/publi/node_modules/caniuse-lite/data/regions/CK.js deleted file mode 100644 index 581ec67..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/CK.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0.036025,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0.04323,"42":0,"43":0,"44":0.01441,"45":0,"46":0.670065,"47":0.007205,"48":0.01441,"49":0.50435,"50":0,"51":0,"52":0,"53":0,"54":0.036025,"55":0.036025,"56":0.02882,"57":0.24497,"58":0.02882,"59":0.021615,"60":0.1441,"61":7.356305,"62":10.367995,"63":0.007205,"64":0.036025,"65":0},C:{"2":0,"3":0,"4":0,"5":0.01441,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0.021615,"30":0.01441,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0.021615,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0.036025,"46":0,"47":0.05764,"48":0.04323,"49":0.036025,"50":0.136895,"51":0.007205,"52":0.093665,"53":0,"54":0.01441,"55":0.036025,"56":2.039015,"57":1.693175,"58":0.007205,"59":0,"60":0,"3.5":0,"3.6":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0.007205,"32":0,"33":0,"34":0.01441,"35":0,"36":0.01441,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0.07205,"49":0.02882,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},E:{"4":0.01441,"5":0,"6":0,"7":0,"8":0.180125,"9":0.021615,"10":0.079255,"11":0.770935,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0.180125,"10.1":0.25938},G:{"8":0.0331202480496,"3.2":0.0020700155031,"4.0-4.1":0.0020700155031,"4.2-4.3":0.281522108422,"5.0-5.1":0.0476103565713,"6.0-6.1":0.0310502325465,"7.0-7.1":0.132480992198,"8.1-8.4":0.227701705341,"9.0-9.2":0.138691038708,"9.3":0.956347162432,"10.0-10.2":1.77400328616,"10.3":3.69911770404,"11.0-11.2":13.3702301345},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.0177239008419,"4.2-4.3":0.0498995977549,"4.4":0.141791206735,"4.4.3-4.4.4":0.0820752946679},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":10.41843,"9":0.01441,"10":0.036025,"11":13.37248,"5.5":0},B:{"12":0.165715,"13":0.05764,"14":0.27379,"15":0.569195,"16":0.050435,"17":0},P:{"4":0.931828205645,"5":0.900418266129,"6.2":0.764308528226},N:{"10":0,"11":0.053105},J:{"7":0.000559,"10":0.002236},O:{"0":0.265525},H:{"0":0.161413651203},L:{"0":21.73735},R:{_:"0"},M:{"0":1.44222},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/CL.js b/publi/node_modules/caniuse-lite/data/regions/CL.js deleted file mode 100644 index 7977690..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/CL.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.006078,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0.006078,"19":0,"20":0,"21":0.006078,"22":0.024312,"23":0,"24":0,"25":0.006078,"26":0.018234,"27":0.006078,"28":0,"29":0.006078,"30":0,"31":0.006078,"32":0.006078,"33":0,"34":0.024312,"35":0.006078,"36":0.018234,"37":0.006078,"38":0.072936,"39":0.012156,"40":0.006078,"41":0.006078,"42":0,"43":0.024312,"44":0.006078,"45":0.006078,"46":0.018234,"47":0.042546,"48":0.012156,"49":0.753672,"50":0.012156,"51":0.054702,"52":0.018234,"53":0.024312,"54":0.024312,"55":0.048624,"56":0.097248,"57":0.072936,"58":0.164106,"59":0.170184,"60":0.230964,"61":10.490628,"62":14.31369,"63":0.042546,"64":0.018234,"65":0},C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0.006078,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0.012156,"34":0.006078,"35":0,"36":0,"37":0,"38":0.006078,"39":0.006078,"40":0,"41":0,"42":0.006078,"43":0.012156,"44":0,"45":0.018234,"46":0.036468,"47":0.024312,"48":0.085092,"49":0.006078,"50":0.012156,"51":0.012156,"52":0.109404,"53":0.012156,"54":0.036468,"55":0.042546,"56":1.24599,"57":1.051494,"58":0.018234,"59":0,"60":0,"3.5":0,"3.6":0.006078},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0.006078,"28":0,"29":0,"30":0,"31":0.006078,"32":0,"33":0,"34":0,"35":0,"36":0.006078,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0.06078,"44":0,"45":0.006078,"46":0.006078,"47":0,"48":0.39507,"49":0.249198,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.006078},E:{"4":0,"5":0.006078,"6":0,"7":0.036468,"8":0.048624,"9":0.054702,"10":0.145872,"11":1.027182,_:"0","3.1":0,"3.2":0,"5.1":0.012156,"6.1":0.012156,"7.1":0.006078,"9.1":0.261354,"10.1":0.583488},G:{"8":0.0168829861972,"3.2":0.00105518663733,"4.0-4.1":0.00105518663733,"4.2-4.3":0.143505382677,"5.0-5.1":0.0242692926585,"6.0-6.1":0.0158277995599,"7.0-7.1":0.067531944789,"8.1-8.4":0.116070530106,"9.0-9.2":0.0706975047009,"9.3":0.487496226445,"10.0-10.2":0.90429494819,"10.3":1.8856185209,"11.0-11.2":6.8154504905},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.0755787652011,"4.2-4.3":0.212783292797,"4.4":0.604630121609,"4.4.3-4.4.4":0.349987820393},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0.00609955319149,"7":0.012199106383,"8":0.231783021277,"9":0.219583914894,"10":0.0731946382979,"11":1.17721376596,"5.5":0},B:{"12":0.024312,"13":0.036468,"14":0.145872,"15":0.340368,"16":0.054702,"17":0},P:{"4":0.572064744186,"5":0.275816930233,"6.2":0.469910325581},N:{"10":0.0225515,"11":0.0676545},J:{"7":0.0015688,"10":0.0062752},O:{"0":0.070596},H:{"0":0.267342927835},L:{"0":49.069294},R:{_:"0"},M:{"0":0.141192},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/CM.js b/publi/node_modules/caniuse-lite/data/regions/CM.js deleted file mode 100644 index feb92b4..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/CM.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.01108,"12":0,"13":0.00277,"14":0,"15":0,"16":0.00277,"17":0,"18":0,"19":0.00554,"20":0,"21":0,"22":0,"23":0.00277,"24":0,"25":0.00277,"26":0.00277,"27":0,"28":0.01108,"29":0.01108,"30":0.00277,"31":0.00277,"32":0,"33":0.00554,"34":0.00277,"35":0.00554,"36":0.01939,"37":0.00277,"38":0,"39":0.00277,"40":0.01108,"41":0.00277,"42":0.01108,"43":0.04432,"44":0.00277,"45":0,"46":0.00831,"47":0.00277,"48":0.00554,"49":0.13573,"50":0.01662,"51":0.00831,"52":0.00277,"53":0.00831,"54":0.00554,"55":0.03324,"56":0.02493,"57":0.04432,"58":0.04986,"59":0.0554,"60":0.05817,"61":0.98335,"62":1.42655,"63":0.01385,"64":0.00554,"65":0},C:{"2":0,"3":0.02216,"4":0.00277,"5":0.00277,"6":0,"7":0,"8":0,"9":0.00277,"10":0.00277,"11":0.00277,"12":0.00277,"13":0,"14":0.00277,"15":0.00277,"16":0.00277,"17":0.00277,"18":0.00277,"19":0.00277,"20":0.00277,"21":0.00554,"22":0.00277,"23":0.00277,"24":0.00554,"25":0.00277,"26":0.00277,"27":0.00277,"28":0.00277,"29":0.00554,"30":0.01108,"31":0.01108,"32":0.0277,"33":0.00831,"34":0.00831,"35":0.01662,"36":0.00554,"37":0.01385,"38":0.01939,"39":0.01108,"40":0.01662,"41":0.01662,"42":0.01108,"43":0.06925,"44":0.02216,"45":0.02493,"46":0.00831,"47":0.11634,"48":0.11634,"49":0.04986,"50":0.01939,"51":0.01662,"52":0.23545,"53":0.03047,"54":0.04155,"55":0.06094,"56":1.18833,"57":0.86424,"58":0.04432,"59":0.00277,"60":0,"3.5":0,"3.6":0.00554},F:{"9":0,"11":0,"12":0.00277,"15":0,"16":0,"17":0,"18":0,"19":0.00277,"20":0.0277,"21":0.00277,"22":0.00277,"23":0.02216,"24":0,"25":0,"26":0,"27":0,"28":0.00831,"29":0.04432,"30":0.01662,"31":0.00554,"32":0,"33":0.00277,"34":0.00277,"35":0.00554,"36":0.01108,"37":0.00277,"38":0,"39":0,"40":0.00277,"41":0,"42":0.00277,"43":0.04155,"44":0.00277,"45":0.00277,"46":0.00277,"47":0.00554,"48":0.2216,"49":0.12742,"50":0.00277,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.03878},E:{"4":0,"5":0.00277,"6":0.00277,"7":0.00277,"8":0.00554,"9":0.00277,"10":0.00831,"11":0.03047,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0.00277,"9.1":0.01385,"10.1":0.03878},G:{"8":0.00317081016203,"3.2":0.000198175635127,"4.0-4.1":0.000198175635127,"4.2-4.3":0.0269518863773,"5.0-5.1":0.00455803960792,"6.0-6.1":0.00297263452691,"7.0-7.1":0.0126832406481,"8.1-8.4":0.021799319864,"9.0-9.2":0.0132777675535,"9.3":0.0915571434287,"10.0-10.2":0.169836519304,"10.3":0.354139859972,"11.0-11.2":1.28001642729},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.397384097287,"4.2-4.3":1.1187890739,"4.4":3.1790727783,"4.4.3-4.4.4":1.84019405051},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0.00554,"7":0.00277,"8":0.05263,"9":0.00277,"10":0.04986,"11":0.15512,"5.5":0},B:{"12":0.02216,"13":0.04709,"14":0.08864,"15":0.09972,"16":0.00831,"17":0},P:{"4":0.7802375,"5":0.324254545455,"6.2":0.233057954545},N:{"10":0.281420886076,"11":0.607869113924},J:{"7":0.030366,"10":0.121464},O:{"0":19.41978},H:{"0":12.1291573196},L:{"0":37.94474},R:{_:"0"},M:{"0":0.723},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/CN.js b/publi/node_modules/caniuse-lite/data/regions/CN.js deleted file mode 100644 index cbf7867..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/CN.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.059145,"12":0.003943,"13":0,"14":0,"15":0,"16":0,"17":0.047316,"18":0.003943,"19":0,"20":0.007886,"21":0.035487,"22":0.003943,"23":0,"24":0.007886,"25":0.003943,"26":0.003943,"27":0.007886,"28":0.003943,"29":0.019715,"30":0.011829,"31":0.07886,"32":0.003943,"33":0.011829,"34":0.015772,"35":0.003943,"36":0.007886,"37":0.007886,"38":0.015772,"39":0.027601,"40":0.181378,"41":0.019715,"42":0.035487,"43":0.011829,"44":0.011829,"45":0.43373,"46":0.011829,"47":0.666367,"48":0.145891,"49":0.201093,"50":0.441616,"51":0.015772,"52":0.011829,"53":0.023658,"54":0.070974,"55":4.289984,"56":0.114347,"57":0.346984,"58":0.102518,"59":0.126176,"60":0.153777,"61":0.646652,"62":0.839859,"63":0.035487,"64":0.019715,"65":0},C:{"2":0,"3":0.011829,"4":0.007886,"5":0,"6":0,"7":0,"8":0.074917,"9":0,"10":0.003943,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0.007886,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0.031544,"30":0,"31":0,"32":0,"33":0.003943,"34":0,"35":0,"36":0.003943,"37":0.007886,"38":0.003943,"39":0,"40":0.003943,"41":0,"42":0,"43":0.019715,"44":0,"45":0.007886,"46":0,"47":0.007886,"48":0.007886,"49":0.003943,"50":0.003943,"51":0.003943,"52":0.047316,"53":0.035487,"54":0.011829,"55":0.015772,"56":0.23658,"57":0.161663,"58":0.003943,"59":0,"60":0,"3.5":0.003943,"3.6":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0.011829,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0.003943,"44":0,"45":0,"46":0,"47":0.003943,"48":0.023658,"49":0.011829,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.003943},E:{"4":0.015772,"5":0,"6":0.003943,"7":0,"8":0.007886,"9":0.007886,"10":0.023658,"11":0.181378,_:"0","3.1":0,"3.2":0,"5.1":0.003943,"6.1":0,"7.1":0,"9.1":0.019715,"10.1":0.059145},G:{"8":0.0175937475495,"3.2":0.00109960922184,"4.0-4.1":0.00109960922184,"4.2-4.3":0.149546854171,"5.0-5.1":0.0252910121024,"6.0-6.1":0.0164941383277,"7.0-7.1":0.070374990198,"8.1-8.4":0.120957014403,"9.0-9.2":0.0736738178636,"9.3":0.508019460492,"10.0-10.2":0.942365103121,"10.3":1.96500167944,"11.0-11.2":7.10237596389},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.371603419083,"4.2-4.3":1.04620654911,"4.4":2.97282735267,"4.4.3-4.4.4":1.72080967914},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0.0557221404255,"7":0.0309567446809,"8":0.916319642553,"9":0.482925217021,"10":0.309567446809,"11":1.11444280851,"5.5":0},B:{"12":0.007886,"13":0.023658,"14":0.114347,"15":0.15772,"16":0.047316,"17":0},P:{"4":0.2998215,"5":0.171326571429,"6.2":0.128494928571},N:{"10":0.036342,"11":0.024228},J:{"7":0.0036342,"10":0.0145368},O:{"0":19.073493},H:{"0":0.0745468917526},L:{"0":30.781272},R:{_:"0"},M:{"0":0.133254},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/CO.js b/publi/node_modules/caniuse-lite/data/regions/CO.js deleted file mode 100644 index 542e731..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/CO.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.007312,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0.014624,"19":0,"20":0,"21":0,"22":0.07312,"23":0,"24":0,"25":0,"26":0.03656,"27":0,"28":0,"29":0.021936,"30":0.007312,"31":0.014624,"32":0.007312,"33":0.007312,"34":0.021936,"35":0.007312,"36":0.014624,"37":0.007312,"38":0.07312,"39":0.007312,"40":0.007312,"41":0.007312,"42":0.007312,"43":0.029248,"44":0.021936,"45":0.014624,"46":0.029248,"47":0.029248,"48":0.021936,"49":0.753136,"50":0.03656,"51":0.102368,"52":0.03656,"53":0.03656,"54":0.051184,"55":0.102368,"56":0.248608,"57":0.138928,"58":0.43872,"59":0.372912,"60":0.519152,"61":16.393504,"62":24.999728,"63":0.065808,"64":0.021936,"65":0},C:{"2":0,"3":0.021936,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0.007312,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0.007312,"35":0,"36":0,"37":0.007312,"38":0.007312,"39":0.007312,"40":0,"41":0,"42":0.007312,"43":0.014624,"44":0.007312,"45":0.021936,"46":0.007312,"47":0.03656,"48":0.087744,"49":0.014624,"50":0.03656,"51":0.021936,"52":0.102368,"53":0.029248,"54":0.065808,"55":0.065808,"56":1.155296,"57":1.052928,"58":0.014624,"59":0,"60":0,"3.5":0,"3.6":0.007312},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0.007312,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0.014624,"44":0,"45":0.007312,"46":0.007312,"47":0.007312,"48":0.321728,"49":0.212048,"50":0.007312,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.007312},E:{"4":0,"5":0,"6":0,"7":0.021936,"8":0.058496,"9":0.051184,"10":0.204736,"11":1.235728,_:"0","3.1":0,"3.2":0,"5.1":0.007312,"6.1":0.007312,"7.1":0,"9.1":0.270544,"10.1":0.555712},G:{"8":0.00713333066613,"3.2":0.000445833166633,"4.0-4.1":0.000445833166633,"4.2-4.3":0.0606333106621,"5.0-5.1":0.0102541628326,"6.0-6.1":0.0066874974995,"7.0-7.1":0.0285333226645,"8.1-8.4":0.0490416483297,"9.0-9.2":0.0298708221644,"9.3":0.205974922985,"10.0-10.2":0.382079023805,"10.3":0.796703868774,"11.0-11.2":2.87963642328},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.110458896165,"4.2-4.3":0.310984276894,"4.4":0.883671169317,"4.4.3-4.4.4":0.511509657624},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.133773639344,"9":0.0371593442623,"10":0.118909901639,"11":0.616845114754,"5.5":0},B:{"12":0.029248,"13":0.03656,"14":0.14624,"15":0.3656,"16":0.07312,"17":0},P:{"4":0.498439529412,"5":0.193272470588,"6.2":0.345856},N:{"10":0.043008,"11":0.16128},J:{"7":0.0064512,"10":0.0258048},O:{"0":1.413888},H:{"0":0.206130804124},L:{"0":35.91624},R:{_:"0"},M:{"0":0.056448},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/CR.js b/publi/node_modules/caniuse-lite/data/regions/CR.js deleted file mode 100644 index 30ac04b..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/CR.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.019392,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0.006464,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0.006464,"30":0,"31":0.006464,"32":0.012928,"33":0.006464,"34":0.006464,"35":0,"36":0.006464,"37":0.019392,"38":0.006464,"39":0.006464,"40":0.012928,"41":0.006464,"42":0,"43":0.012928,"44":0.006464,"45":0.012928,"46":0.012928,"47":0.019392,"48":0.012928,"49":0.471872,"50":0.03232,"51":0.019392,"52":0.019392,"53":0.012928,"54":0.769216,"55":0.025856,"56":0.090496,"57":0.071104,"58":0.19392,"59":0.12928,"60":0.232704,"61":12.656512,"62":14.505216,"63":0.025856,"64":0.012928,"65":0},C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0.006464,"35":0,"36":0.006464,"37":0,"38":0.038784,"39":0.006464,"40":0,"41":0.006464,"42":0,"43":0.006464,"44":0,"45":0.03232,"46":0.006464,"47":0.03232,"48":0.122816,"49":0.025856,"50":0.012928,"51":0.025856,"52":0.19392,"53":0.084032,"54":0.045248,"55":0.051712,"56":1.893952,"57":1.4544,"58":0.012928,"59":0,"60":0,"3.5":0,"3.6":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0.019392,"18":0,"19":0,"20":0,"21":0,"22":0.006464,"23":0,"24":0,"25":0,"26":0,"27":0.012928,"28":0,"29":0.019392,"30":0.006464,"31":0.012928,"32":0,"33":0.006464,"34":0,"35":0,"36":0.006464,"37":0.006464,"38":0,"39":0.012928,"40":0,"41":0,"42":0,"43":0.077568,"44":0,"45":0,"46":0,"47":0,"48":0.245632,"49":0.135744,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.006464},E:{"4":0,"5":0.012928,"6":0,"7":0.012928,"8":0.058176,"9":0.084032,"10":0.29088,"11":2.126656,_:"0","3.1":0,"3.2":0,"5.1":0.019392,"6.1":0.03232,"7.1":0,"9.1":0.465408,"10.1":0.762752},G:{"8":0.0166290410082,"3.2":0.00103931506301,"4.0-4.1":0.00103931506301,"4.2-4.3":0.14134684857,"5.0-5.1":0.0239042464493,"6.0-6.1":0.0155897259452,"7.0-7.1":0.0665161640328,"8.1-8.4":0.114324656931,"9.0-9.2":0.0696341092218,"9.3":0.480163559112,"10.0-10.2":0.890693009002,"10.3":1.8572560176,"11.0-11.2":6.712935992},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.185710533209,"4.2-4.3":0.52284657811,"4.4":1.48568426567,"4.4.3-4.4.4":0.859982623012},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.116352,"9":0.019392,"10":0.038784,"11":1.564288,"5.5":0},B:{"12":0.019392,"13":0.051712,"14":0.206848,"15":0.536512,"16":0.077568,"17":0},P:{"4":1.135277,"5":0.7740525,"6.2":1.3932945},N:{"10":0.0237876363636,"11":0.107044363636},J:{"7":0.0014144,"10":0.0056576},O:{"0":0.22984},H:{"0":1.2018086323},L:{"0":37.242304},R:{_:"0"},M:{"0":0.137904},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/CU.js b/publi/node_modules/caniuse-lite/data/regions/CU.js deleted file mode 100644 index 8d6b4c0..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/CU.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.007986,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0.007986,"21":0,"22":0.007986,"23":0.007986,"24":0,"25":0.015972,"26":0.007986,"27":0.007986,"28":0.007986,"29":0.031944,"30":0.023958,"31":0.055902,"32":0.023958,"33":0.023958,"34":0.015972,"35":0.015972,"36":0.047916,"37":0.031944,"38":0.183678,"39":0.015972,"40":0.047916,"41":0.007986,"42":0.023958,"43":0.031944,"44":0.031944,"45":0.015972,"46":0.087846,"47":0.03993,"48":0.031944,"49":0.327426,"50":0.03993,"51":0.03993,"52":0.055902,"53":0.111804,"54":0.103818,"55":0.063888,"56":0.127776,"57":0.07986,"58":0.47916,"59":0.854502,"60":0.51909,"61":1.924626,"62":3.362106,"63":0.007986,"64":0.007986,"65":0},C:{"2":0.007986,"3":0.015972,"4":0.031944,"5":0.015972,"6":0.015972,"7":0.071874,"8":0.023958,"9":0.063888,"10":0.047916,"11":0.023958,"12":0.047916,"13":0.015972,"14":0.031944,"15":0.111804,"16":0.015972,"17":0.063888,"18":0.03993,"19":0.023958,"20":0.03993,"21":0.087846,"22":0.143748,"23":0.23958,"24":0.11979,"25":0.167706,"26":0.223608,"27":0.087846,"28":0.03993,"29":0.07986,"30":0.151734,"31":0.143748,"32":0.167706,"33":0.35937,"34":1.022208,"35":0.35937,"36":0.183678,"37":1.469424,"38":0.574992,"39":0.35937,"40":1.629144,"41":0.51909,"42":0.391314,"43":1.110054,"44":0.59895,"45":6.085332,"46":0.910404,"47":2.252052,"48":1.086096,"49":1.27776,"50":1.812822,"51":1.046166,"52":2.87496,"53":1.110054,"54":1.685046,"55":1.309704,"56":10.054374,"57":7.235316,"58":0.31944,"59":0.007986,"60":0,"3.5":0.007986,"3.6":0.071874},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0.015972,"18":0,"19":0,"20":0.007986,"21":0,"22":0,"23":0,"24":0.007986,"25":0,"26":0,"27":0.015972,"28":0.007986,"29":0.03993,"30":0.007986,"31":0,"32":0,"33":0.007986,"34":0.023958,"35":0,"36":0.007986,"37":0.031944,"38":0.007986,"39":0,"40":0.07986,"41":0,"42":0.03993,"43":0.023958,"44":0.007986,"45":0.015972,"46":0.127776,"47":0.047916,"48":0.343398,"49":0.263538,"50":0.015972,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0.023958,"12.1":0.031944},E:{"4":0,"5":0,"6":0,"7":0,"8":0.015972,"9":0.007986,"10":0.031944,"11":0.111804,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0.023958,"10.1":0.271524},G:{"8":0.00547476535307,"3.2":0.000342172834567,"4.0-4.1":0.000342172834567,"4.2-4.3":0.0465355055011,"5.0-5.1":0.00786997519504,"6.0-6.1":0.0051325925185,"7.0-7.1":0.0218990614123,"8.1-8.4":0.0376390118024,"9.0-9.2":0.022925579916,"9.3":0.15808384957,"10.0-10.2":0.293242119224,"10.3":0.611462855371,"11.0-11.2":2.21009433847},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.11984212348,"4.2-4.3":0.33740167072,"4.4":0.958736987839,"4.4.3-4.4.4":0.554961217961},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0.007986,"8":0.391314,"9":0.03993,"10":0.143748,"11":1.070124,"5.5":0},B:{"12":0.095832,"13":0.11979,"14":0.175692,"15":0.175692,"16":0.015972,"17":0},P:{"4":0.971741922078,"5":0.435259402597,"6.2":0.151834675325},N:{"10":0.0112208571429,"11":0.0673251428571},J:{"7":0.0028196,"10":0.0112784},O:{"0":0.612256},H:{"0":0.26122133677},L:{"0":25.058314},R:{_:"0"},M:{"0":1.053322},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/CV.js b/publi/node_modules/caniuse-lite/data/regions/CV.js deleted file mode 100644 index e231667..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/CV.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.004866,"12":0.004866,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0.004866,"27":0,"28":0,"29":0,"30":0,"31":0.004866,"32":0.014598,"33":0.019464,"34":0.004866,"35":0.004866,"36":0.107052,"37":0,"38":0.004866,"39":0.009732,"40":0.150846,"41":0,"42":0.004866,"43":0.686106,"44":0,"45":0.004866,"46":0.04866,"47":0.009732,"48":0.004866,"49":0.311424,"50":0.004866,"51":0.009732,"52":0.014598,"53":0.092454,"54":0.004866,"55":0.17031,"56":0.04866,"57":0.12165,"58":0.253032,"59":0.141114,"60":0.09732,"61":5.30394,"62":8.744202,"63":0.034062,"64":0.014598,"65":0},C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0.004866,"29":0,"30":0,"31":0,"32":0.009732,"33":0,"34":0,"35":0.004866,"36":0.004866,"37":0,"38":0.004866,"39":0,"40":0,"41":0.004866,"42":0.004866,"43":0.009732,"44":0,"45":0.014598,"46":0.009732,"47":0.02433,"48":0.004866,"49":0.014598,"50":0.004866,"51":0.004866,"52":0.087588,"53":0.02433,"54":0.014598,"55":0.029196,"56":0.85155,"57":0.763962,"58":0.019464,"59":0,"60":0,"3.5":0,"3.6":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0.014598,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0.009732,"30":0.004866,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0.04866,"37":0.009732,"38":0,"39":0,"40":0,"41":0,"42":0.004866,"43":0.004866,"44":0.009732,"45":0,"46":0.004866,"47":0.009732,"48":0.501198,"49":0.21897,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},E:{"4":0,"5":0,"6":0,"7":0.014598,"8":0.019464,"9":0.02433,"10":0.019464,"11":0.798024,_:"0","3.1":0,"3.2":0,"5.1":0.004866,"6.1":0.004866,"7.1":0.004866,"9.1":0.04866,"10.1":0.311424},G:{"8":0.0135220324065,"3.2":0.000845127025405,"4.0-4.1":0.000845127025405,"4.2-4.3":0.114937275455,"5.0-5.1":0.0194379215843,"6.0-6.1":0.0126769053811,"7.0-7.1":0.0540881296259,"8.1-8.4":0.0929639727946,"9.0-9.2":0.0566235107021,"9.3":0.390448685737,"10.0-10.2":0.724273860772,"10.3":1.5102419944,"11.0-11.2":5.45867545709},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.577262142189,"4.2-4.3":1.62521495416,"4.4":4.61809713751,"4.4.3-4.4.4":2.67316776614},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.02433,"9":0.029196,"10":0.038928,"11":0.666642,"5.5":0},B:{"12":0.063258,"13":0.150846,"14":0.184908,"15":0.4866,"16":0.034062,"17":0},P:{"4":1.19416259887,"5":0.259600564972,"6.2":0.384208836158},N:{"10":0.121305674419,"11":0.530712325581},J:{"7":0.0020536,"10":0.0082144},O:{"0":1.073006},H:{"0":1.62342019931},L:{"0":50.661916},R:{_:"0"},M:{"0":0.046206},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/CX.js b/publi/node_modules/caniuse-lite/data/regions/CX.js deleted file mode 100644 index 02b94f9..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/CX.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0},C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"3.5":0,"3.6":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0,"10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0,"6.0-6.1":0,"7.0-7.1":0,"8.1-8.4":0,"9.0-9.2":0,"9.3":0,"10.0-10.2":0,"10.3":0,"11.0-11.2":0},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0,"4.4":0,"4.4.3-4.4.4":0},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"5.5":0},B:{"12":0,"13":0,"14":0,"15":0,"16":0,"17":0},P:{"4":0,"5":0,"6.2":0},N:{"10":0,"11":0},J:{"7":0,"10":0},O:{"0":0},H:{"0":0},L:{"0":0},R:{_:"0"},M:{"0":0},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/CY.js b/publi/node_modules/caniuse-lite/data/regions/CY.js deleted file mode 100644 index 42220c6..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/CY.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0.00614,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0.00614,"22":0.01228,"23":0,"24":0,"25":0,"26":0.00614,"27":0,"28":0,"29":0,"30":0,"31":0.01228,"32":0.00614,"33":0,"34":0.01228,"35":0.00614,"36":0.01228,"37":0.01228,"38":0.04912,"39":0.01228,"40":0.00614,"41":0.00614,"42":0.23946,"43":0.06754,"44":0.00614,"45":0.00614,"46":0.01842,"47":0.03684,"48":0.00614,"49":1.08678,"50":0.02456,"51":0.5833,"52":0.01842,"53":0.01842,"54":0.02456,"55":0.04298,"56":0.09824,"57":0.03684,"58":0.07982,"59":0.15964,"60":0.52804,"61":8.23988,"62":13.31766,"63":0.0307,"64":0.02456,"65":0},C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0.00614,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0.00614,"35":0,"36":0,"37":0,"38":0.00614,"39":0.00614,"40":0,"41":0.00614,"42":0.00614,"43":0.00614,"44":0,"45":0.04912,"46":0,"47":0.02456,"48":0.07982,"49":0.00614,"50":0.02456,"51":0.01842,"52":0.54032,"53":0.0307,"54":0.0307,"55":0.03684,"56":1.86042,"57":1.535,"58":0.01842,"59":0,"60":0,"3.5":0,"3.6":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0.00614,"36":0.01228,"37":0.01228,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0.04298,"44":0.00614,"45":0.00614,"46":0,"47":0,"48":0.2456,"49":0.17806,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.00614},E:{"4":0,"5":0.00614,"6":0,"7":0.01842,"8":0.04912,"9":0.0307,"10":0.1228,"11":0.92714,_:"0","3.1":0,"3.2":0,"5.1":0.01842,"6.1":0.01842,"7.1":0.00614,"9.1":0.1535,"10.1":0.3377},G:{"8":0.0235602960592,"3.2":0.0014725185037,"4.0-4.1":0.0014725185037,"4.2-4.3":0.200262516503,"5.0-5.1":0.0338679255851,"6.0-6.1":0.0220877775555,"7.0-7.1":0.0942411842368,"8.1-8.4":0.161977035407,"9.0-9.2":0.0986587397479,"9.3":0.68030354871,"10.0-10.2":1.26194835767,"10.3":2.63139056611,"11.0-11.2":9.5109970154},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.0933738072965,"4.2-4.3":0.262883180543,"4.4":0.746990458372,"4.4.3-4.4.4":0.432392553789},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0.00615860606061,"7":0,"8":0.110854909091,"9":0.030793030303,"10":0.030793030303,"11":1.85374042424,"5.5":0},B:{"12":0.01228,"13":0.04298,"14":0.19648,"15":1.4736,"16":0.1228,"17":0},P:{"4":0.810378276762,"5":0.714412428198,"6.2":2.55908929504},N:{"10":0.0105642105263,"11":0.190155789474},J:{"7":0.003088,"10":0.012352},O:{"0":1.94158},H:{"0":0.358131065292},L:{"0":37.04236},R:{_:"0"},M:{"0":0.11194},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/CZ.js b/publi/node_modules/caniuse-lite/data/regions/CZ.js deleted file mode 100644 index 378e069..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/CZ.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.016256,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0.024384,"19":0,"20":0,"21":0,"22":0.024384,"23":0,"24":0,"25":0,"26":0.008128,"27":0.008128,"28":0,"29":0.12192,"30":0.008128,"31":0.016256,"32":0.008128,"33":0.008128,"34":0.130048,"35":0.008128,"36":0.016256,"37":0.016256,"38":0.024384,"39":0.024384,"40":0.008128,"41":0.146304,"42":0,"43":0.186944,"44":0.008128,"45":0.008128,"46":0.016256,"47":0.130048,"48":0.016256,"49":1.227328,"50":0.024384,"51":0.130048,"52":0.024384,"53":0.178816,"54":0.178816,"55":0.12192,"56":0.130048,"57":0.227584,"58":0.438912,"59":0.341376,"60":0.520192,"61":12.403328,"62":18.483072,"63":0.048768,"64":0.048768,"65":0},C:{"2":0,"3":0.008128,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0.008128,"13":0,"14":0,"15":0,"16":0.008128,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0.024384,"25":0.008128,"26":0.008128,"27":0,"28":0.008128,"29":0.008128,"30":0,"31":0.008128,"32":0,"33":0.008128,"34":0.016256,"35":0,"36":0.008128,"37":0.008128,"38":0.032512,"39":0.032512,"40":0.008128,"41":0.016256,"42":0.008128,"43":0.024384,"44":0.04064,"45":0.113792,"46":0.008128,"47":0.065024,"48":0.316992,"49":0.04064,"50":0.04064,"51":0.138176,"52":1.064768,"53":0.065024,"54":0.113792,"55":0.36576,"56":5.779008,"57":4.283456,"58":0.032512,"59":0,"60":0,"3.5":0,"3.6":0.008128},F:{"9":0,"11":0,"12":0.008128,"15":0.008128,"16":0,"17":0,"18":0,"19":0,"20":0.016256,"21":0.008128,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0.008128,"31":0.016256,"32":0.008128,"33":0,"34":0,"35":0.008128,"36":0.089408,"37":0.016256,"38":0.008128,"39":0.008128,"40":0,"41":0.008128,"42":0.008128,"43":0.12192,"44":0.008128,"45":0.024384,"46":0.016256,"47":0.024384,"48":2.625344,"49":1.276096,"50":0.04064,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0.008128,"12.1":0.113792},E:{"4":0.008128,"5":0.008128,"6":0,"7":0.008128,"8":0.024384,"9":0.138176,"10":0.089408,"11":1.649984,_:"0","3.1":0,"3.2":0,"5.1":0.016256,"6.1":0.008128,"7.1":0,"9.1":0.16256,"10.1":0.357632},G:{"8":0.012400764953,"3.2":0.000775047809562,"4.0-4.1":0.000775047809562,"4.2-4.3":0.1054065021,"5.0-5.1":0.0178260996199,"6.0-6.1":0.0116257171434,"7.0-7.1":0.049603059812,"8.1-8.4":0.0852552590518,"9.0-9.2":0.0519282032406,"9.3":0.358072088018,"10.0-10.2":0.664215972795,"10.3":1.38501043569,"11.0-11.2":5.00603380196},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.0868317305893,"4.2-4.3":0.244464718428,"4.4":0.694653844715,"4.4.3-4.4.4":0.402097706268},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0.00822223768116,"7":0.00822223768116,"8":0.263111605797,"9":0.0986668521739,"10":0.205555942029,"11":5.08956512464,"5.5":0},B:{"12":0.12192,"13":0.08128,"14":0.512064,"15":1.796288,"16":0.276352,"17":0},P:{"4":0.323485306931,"5":0.198265188119,"6.2":0.53218550495},N:{"10":0.0226267826087,"11":0.237581217391},J:{"7":0.0071136,"10":0.0284544},O:{"0":0.166608},H:{"0":0.400537237113},L:{"0":21.900416},R:{_:"0"},M:{"0":0.179712},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/DE.js b/publi/node_modules/caniuse-lite/data/regions/DE.js deleted file mode 100644 index 012ba48..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/DE.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.006244,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0.006244,"19":0,"20":0,"21":0,"22":0.012488,"23":0,"24":0.006244,"25":0,"26":0.006244,"27":0,"28":0,"29":0.049952,"30":0,"31":0.006244,"32":0.006244,"33":0.006244,"34":0.024976,"35":0.006244,"36":0.006244,"37":0.006244,"38":0.018732,"39":0.012488,"40":0.012488,"41":0.037464,"42":0.037464,"43":0.03122,"44":0.006244,"45":0.006244,"46":0.012488,"47":0.024976,"48":0.018732,"49":0.349664,"50":0.012488,"51":0.074928,"52":0.018732,"53":0.03122,"54":0.03122,"55":0.074928,"56":0.131124,"57":0.087416,"58":0.181076,"59":0.243516,"60":0.268492,"61":5.051396,"62":6.93084,"63":0.03122,"64":0.018732,"65":0},C:{"2":0.006244,"3":0.006244,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0.006244,"11":0,"12":0.006244,"13":0.006244,"14":0,"15":0,"16":0.006244,"17":0,"18":0,"19":0,"20":0.006244,"21":0,"22":0.024976,"23":0,"24":0.012488,"25":0.006244,"26":0.006244,"27":0,"28":0.006244,"29":0.006244,"30":0.006244,"31":0.012488,"32":0.012488,"33":0.018732,"34":0.012488,"35":0.012488,"36":0.06244,"37":0.012488,"38":0.305956,"39":0.03122,"40":0.06244,"41":0.049952,"42":0.068684,"43":0.074928,"44":0.018732,"45":0.137368,"46":0.024976,"47":0.068684,"48":0.162344,"49":0.043708,"50":0.081172,"51":0.068684,"52":0.911624,"53":0.09366,"54":0.143612,"55":0.3122,"56":4.857832,"57":3.634008,"58":0.03122,"59":0,"60":0,"3.5":0,"3.6":0.006244},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0.006244,"31":0.024976,"32":0.006244,"33":0,"34":0,"35":0,"36":0.03122,"37":0.006244,"38":0,"39":0,"40":0,"41":0,"42":0.006244,"43":0.074928,"44":0.006244,"45":0.012488,"46":0.024976,"47":0.012488,"48":0.755524,"49":0.399616,"50":0.006244,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.068684},E:{"4":0.006244,"5":0.012488,"6":0.006244,"7":0.012488,"8":0.043708,"9":0.056196,"10":0.168588,"11":1.704612,_:"0","3.1":0,"3.2":0,"5.1":0.037464,"6.1":0.024976,"7.1":0,"9.1":0.231028,"10.1":0.518252},G:{"8":0.0340700204041,"3.2":0.00212937627526,"4.0-4.1":0.00212937627526,"4.2-4.3":0.289595173435,"5.0-5.1":0.0489756543309,"6.0-6.1":0.0319406441288,"7.0-7.1":0.136280081616,"8.1-8.4":0.234231390278,"9.0-9.2":0.142668210442,"9.3":0.983771839168,"10.0-10.2":1.82487546789,"10.3":3.80519540388,"11.0-11.2":13.7536413619},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.102100710945,"4.2-4.3":0.287452770814,"4.4":0.816805687558,"4.4.3-4.4.4":0.472804830683},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0.00627317757009,"7":0.0125463551402,"8":0.0878244859813,"9":0.0627317757009,"10":0.0815513084112,"11":3.7764528972,"5.5":0},B:{"12":0.037464,"13":0.056196,"14":0.418348,"15":1.7171,"16":0.28098,"17":0},P:{"4":0.985437818182,"5":1.11397318577,"6.2":3.32049699605},N:{"10":0.0236091428571,"11":0.224286857143},J:{"7":0.0060096,"10":0.0240384},O:{"0":0.307992},H:{"0":0.266695360825},L:{"0":29.110584},R:{_:"0"},M:{"0":0.559644},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/DJ.js b/publi/node_modules/caniuse-lite/data/regions/DJ.js deleted file mode 100644 index 777b0d4..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/DJ.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0.005681,"10":0,"11":0.005681,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0.005681,"19":0,"20":0,"21":0.011362,"22":0,"23":0.005681,"24":0,"25":0.005681,"26":0.005681,"27":0.005681,"28":0.005681,"29":0.005681,"30":0.011362,"31":0.005681,"32":0.005681,"33":0.005681,"34":0,"35":0.028405,"36":0,"37":0.232921,"38":0.011362,"39":0.017043,"40":0.005681,"41":0.005681,"42":0.005681,"43":0.187473,"44":0.005681,"45":0.017043,"46":0.005681,"47":0.022724,"48":0,"49":0.783978,"50":0.045448,"51":0.028405,"52":0.022724,"53":0.011362,"54":0.005681,"55":0.238602,"56":0.051129,"57":0.62491,"58":0.255645,"59":0.045448,"60":0.244283,"61":7.919314,"62":11.833523,"63":0.136344,"64":0.073853,"65":0},C:{"2":0.005681,"3":0.005681,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0.005681,"15":0,"16":0,"17":0.005681,"18":0.005681,"19":0,"20":0,"21":0.005681,"22":0,"23":0.005681,"24":0,"25":0.005681,"26":0,"27":0,"28":0,"29":0.011362,"30":0.005681,"31":0.005681,"32":0,"33":0.005681,"34":0,"35":0.017043,"36":0.005681,"37":0,"38":0.005681,"39":0.005681,"40":0.005681,"41":0.011362,"42":0.005681,"43":0.045448,"44":0.017043,"45":0.017043,"46":0.005681,"47":0.039767,"48":0.090896,"49":0.017043,"50":0.005681,"51":0.022724,"52":0.215878,"53":0.005681,"54":0.017043,"55":0.051129,"56":1.806558,"57":1.244139,"58":0.085215,"59":0,"60":0,"3.5":0,"3.6":0.005681},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0.005681,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0.005681,"29":0,"30":0.011362,"31":0.005681,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0.017043,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0.034086,"44":0.005681,"45":0,"46":0,"47":0,"48":0.420394,"49":0.232921,"50":0.011362,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.011362},E:{"4":0,"5":0,"6":0,"7":0,"8":0.039767,"9":0.005681,"10":0.136344,"11":0.301093,_:"0","3.1":0,"3.2":0,"5.1":0.022724,"6.1":0.022724,"7.1":0,"9.1":0.039767,"10.1":0.176111},G:{"8":0.0131289361872,"3.2":0.000820558511702,"4.0-4.1":0.000820558511702,"4.2-4.3":0.111595957592,"5.0-5.1":0.0188728457692,"6.0-6.1":0.0123083776755,"7.0-7.1":0.0525157447489,"8.1-8.4":0.0902614362873,"9.0-9.2":0.0549774202841,"9.3":0.379098032406,"10.0-10.2":0.703218644529,"10.3":1.46633806041,"11.0-11.2":5.29998742709},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.442129391955,"4.2-4.3":1.24476428812,"4.4":3.53703513564,"4.4.3-4.4.4":2.04739918428},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0.0114122743363,"8":0.0570613716814,"9":0.0171184115044,"10":0.0171184115044,"11":1.18687653097,"5.5":0},B:{"12":0.068172,"13":0.085215,"14":0.306774,"15":0.482885,"16":0.039767,"17":0},P:{"4":1.65907027147,"5":0.819293961219,"6.2":1.21869976731},N:{"10":0.104251724138,"11":0.198078275862},J:{"7":0.0017276,"10":0.0069104},O:{"0":4.111688},H:{"0":2.53106015636},L:{"0":36.274581},R:{_:"0"},M:{"0":0.090699},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/DK.js b/publi/node_modules/caniuse-lite/data/regions/DK.js deleted file mode 100644 index 71c2b3c..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/DK.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0.007721,"19":0,"20":0,"21":0,"22":0.007721,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0.046326,"30":0,"31":0.007721,"32":0,"33":0.007721,"34":0.123536,"35":0,"36":0.007721,"37":0,"38":0.030884,"39":0.007721,"40":0,"41":0.162141,"42":0,"43":0.193025,"44":0.007721,"45":0.007721,"46":0.007721,"47":0.123536,"48":0.007721,"49":0.46326,"50":0.015442,"51":0.15442,"52":0.015442,"53":0.138978,"54":0.756658,"55":0.741216,"56":0.115815,"57":0.208467,"58":0.138978,"59":0.247072,"60":0.609959,"61":12.19918,"62":15.766282,"63":0.061768,"64":0.015442,"65":0},C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0.007721,"39":0,"40":0,"41":0.007721,"42":0,"43":0.007721,"44":0,"45":0.015442,"46":0.084931,"47":0.007721,"48":1.582805,"49":0.030884,"50":0.007721,"51":0.115815,"52":0.270235,"53":0.023163,"54":0.046326,"55":0.30884,"56":2.609698,"57":1.521037,"58":0.007721,"59":0,"60":0,"3.5":0,"3.6":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0.030884,"44":0,"45":0.007721,"46":0,"47":0,"48":0.911078,"49":0.208467,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.007721},E:{"4":0,"5":0.007721,"6":0,"7":0.007721,"8":0.061768,"9":0.193025,"10":0.370608,"11":3.899105,_:"0","3.1":0,"3.2":0,"5.1":0.023163,"6.1":0.015442,"7.1":0.015442,"9.1":0.486423,"10.1":1.343454},G:{"8":0.0371098267654,"3.2":0.00231936417283,"4.0-4.1":0.00231936417283,"4.2-4.3":0.315433527506,"5.0-5.1":0.0533453759752,"6.0-6.1":0.0347904625925,"7.0-7.1":0.148439307061,"8.1-8.4":0.255130059012,"9.0-9.2":0.15539739958,"9.3":1.07154624785,"10.0-10.2":1.98769509612,"10.3":4.14470377686,"11.0-11.2":14.9807731923},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.0367085827877,"4.2-4.3":0.103348779233,"4.4":0.293668662301,"4.4.3-4.4.4":0.169988975678},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0.007745128125,"7":0.007745128125,"8":0.061961025,"9":0.04647076875,"10":0.968141015625,"11":3.86481893437,"5.5":0},B:{"12":0.162141,"13":0.061768,"14":0.447818,"15":2.370347,"16":0.277956,"17":0},P:{"4":0.2759014375,"5":0.339571,"6.2":0.7428115625},N:{"10":0.03589425,"11":0.10768275},J:{"7":0.0009116,"10":0.0036464},O:{"0":0.389709},H:{"0":0.110038108247},L:{"0":16.776045},R:{_:"0"},M:{"0":0.195994},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/DM.js b/publi/node_modules/caniuse-lite/data/regions/DM.js deleted file mode 100644 index c675018..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/DM.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.006946,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0.03473,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0.006946,"30":0.006946,"31":0,"32":0.006946,"33":0.006946,"34":0,"35":0,"36":0.083352,"37":0.013892,"38":0.006946,"39":0.013892,"40":0,"41":0,"42":0,"43":0.006946,"44":0,"45":0,"46":0.006946,"47":0.006946,"48":0.006946,"49":0.3473,"50":0,"51":0.020838,"52":0.020838,"53":0.027784,"54":0.027784,"55":0.013892,"56":0.006946,"57":0.111136,"58":0.263948,"59":0.55568,"60":0.875196,"61":8.488012,"62":17.184404,"63":0.03473,"64":0.048622,"65":0},C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0.006946,"32":0,"33":0,"34":0.006946,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0.006946,"41":0,"42":0,"43":0,"44":0,"45":0.020838,"46":0,"47":0.159758,"48":0.062514,"49":0.020838,"50":0.006946,"51":0.013892,"52":0.06946,"53":0,"54":0.013892,"55":0.062514,"56":1.479498,"57":0.916872,"58":0.006946,"59":0,"60":0,"3.5":0,"3.6":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0.006946,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0.020838,"30":0.006946,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0.03473,"39":0.027784,"40":0,"41":0,"42":0.006946,"43":0.020838,"44":0,"45":0,"46":0,"47":0.097244,"48":0.125028,"49":0.131974,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},E:{"4":0,"5":0,"6":0,"7":0,"8":0.006946,"9":0.027784,"10":0.03473,"11":2.688102,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0.006946,"9.1":0.118082,"10.1":0.409814},G:{"8":0.0223737771554,"3.2":0.00139836107221,"4.0-4.1":0.00139836107221,"4.2-4.3":0.190177105821,"5.0-5.1":0.0321623046609,"6.0-6.1":0.0209754160832,"7.0-7.1":0.0894951086217,"8.1-8.4":0.153819717944,"9.0-9.2":0.0936901918384,"9.3":0.646042815363,"10.0-10.2":1.19839543889,"10.3":2.49887123605,"11.0-11.2":9.03201416543},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.180260991581,"4.2-4.3":0.507504022451,"4.4":1.44208793265,"4.4.3-4.4.4":0.834747053321},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.041676,"9":0.013892,"10":0.027784,"11":2.36164,"5.5":0},B:{"12":0.027784,"13":0.437598,"14":0.41676,"15":3.730002,"16":0.361192,"17":0},P:{"4":0.474268235294,"5":0.150903529412,"6.2":0.657508235294},N:{"10":0.03244875,"11":0.48673125},J:{"7":0.0109944,"10":0.0439776},O:{"0":0.531396},H:{"0":0.239980381443},L:{"0":36.133616},R:{_:"0"},M:{"0":0.100782},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/DO.js b/publi/node_modules/caniuse-lite/data/regions/DO.js deleted file mode 100644 index 5865123..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/DO.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.00619,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0.01857,"23":0,"24":0,"25":0.00619,"26":0.00619,"27":0,"28":0,"29":0.04952,"30":0,"31":0.01238,"32":0.00619,"33":0.00619,"34":0.01857,"35":0.00619,"36":0.01238,"37":0.00619,"38":0.02476,"39":0.02476,"40":0.00619,"41":0.02476,"42":0.00619,"43":0.03095,"44":0.01238,"45":0.00619,"46":0.01238,"47":0.05571,"48":0.01238,"49":1.16991,"50":0.01238,"51":0.03095,"52":0.01857,"53":0.03095,"54":0.04333,"55":0.06809,"56":0.29093,"57":0.08047,"58":0.29712,"59":0.3714,"60":0.4952,"61":9.93495,"62":15.05408,"63":0.04333,"64":0.02476,"65":0},C:{"2":0,"3":0.00619,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0.00619,"40":0,"41":0.00619,"42":0,"43":0.00619,"44":0,"45":0.02476,"46":0,"47":0.02476,"48":0.07428,"49":0.00619,"50":0.00619,"51":0.01238,"52":0.16713,"53":0.04333,"54":0.10523,"55":0.09904,"56":1.00278,"57":0.82946,"58":0.02476,"59":0,"60":0,"3.5":0,"3.6":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0.05571,"31":0.00619,"32":0,"33":0,"34":0,"35":0,"36":0.00619,"37":0,"38":0,"39":0,"40":0.00619,"41":0,"42":0,"43":0.01857,"44":0,"45":0.00619,"46":0.01857,"47":0.03714,"48":0.35283,"49":0.21046,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.01238},E:{"4":0.00619,"5":0.01238,"6":0.00619,"7":0.04952,"8":0.0619,"9":0.04952,"10":0.16094,"11":1.34323,_:"0","3.1":0,"3.2":0,"5.1":0.01238,"6.1":0.00619,"7.1":0,"9.1":0.25379,"10.1":0.71804},G:{"8":0.0214671734347,"3.2":0.00134169833967,"4.0-4.1":0.00134169833967,"4.2-4.3":0.182470974195,"5.0-5.1":0.0308590618124,"6.0-6.1":0.020125475095,"7.0-7.1":0.0858686937387,"8.1-8.4":0.147586817363,"9.0-9.2":0.0898937887578,"9.3":0.619864632927,"10.0-10.2":1.1498354771,"10.3":2.39761493299,"11.0-11.2":8.66602957592},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.173702011225,"4.2-4.3":0.489037970065,"4.4":1.3896160898,"4.4.3-4.4.4":0.804373928906},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0.0130742056075,"7":0.00653710280374,"8":0.15689046729,"9":0.0457597196262,"10":0.0849823364486,"11":1.08515906542,"5.5":0},B:{"12":0.04333,"13":0.05571,"14":0.17332,"15":0.43949,"16":0.06809,"17":0},P:{"4":0.694395178571,"5":0.352379642857,"6.2":0.694395178571},N:{"10":0.047752,"11":0.131318},J:{"7":0.009144,"10":0.036576},O:{"0":0.24384},H:{"0":0.407597989691},L:{"0":42.42824},R:{_:"0"},M:{"0":0.08382},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/DZ.js b/publi/node_modules/caniuse-lite/data/regions/DZ.js deleted file mode 100644 index 29a25ab..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/DZ.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0.005911,"5":0.005911,"6":0.005911,"7":0.005911,"8":0.005911,"9":0,"10":0.005911,"11":0.023644,"12":0.005911,"13":0.005911,"14":0.005911,"15":0.011822,"16":0.023644,"17":0.005911,"18":0.029555,"19":0.005911,"20":0.005911,"21":0.005911,"22":0.017733,"23":0.005911,"24":0.005911,"25":0.011822,"26":0.029555,"27":0.011822,"28":0.011822,"29":0.153686,"30":0.023644,"31":0.047288,"32":0.05911,"33":0.094576,"34":0.029555,"35":0.023644,"36":0.035466,"37":0.011822,"38":0.029555,"39":0.035466,"40":0.082754,"41":0.011822,"42":0.011822,"43":1.134912,"44":0.023644,"45":0.029555,"46":0.041377,"47":0.035466,"48":0.035466,"49":1.460017,"50":0.05911,"51":0.088665,"52":0.029555,"53":0.041377,"54":0.065021,"55":0.212796,"56":0.153686,"57":0.265995,"58":0.319194,"59":0.254173,"60":0.502435,"61":6.986802,"62":11.224989,"63":0.094576,"64":0.047288,"65":0},C:{"2":0,"3":0.023644,"4":0.005911,"5":0,"6":0,"7":0,"8":0.005911,"9":0.005911,"10":0.005911,"11":0.005911,"12":0.011822,"13":0.005911,"14":0.005911,"15":0.005911,"16":0.005911,"17":0.005911,"18":0.005911,"19":0.011822,"20":0.005911,"21":0.005911,"22":0.005911,"23":0.005911,"24":0.005911,"25":0.005911,"26":0.011822,"27":0.005911,"28":0.005911,"29":0.023644,"30":0.023644,"31":0.011822,"32":0.011822,"33":0.017733,"34":0.023644,"35":0.017733,"36":0.017733,"37":0.023644,"38":0.023644,"39":0.017733,"40":0.029555,"41":0.023644,"42":0.029555,"43":0.130042,"44":0.029555,"45":0.029555,"46":0.011822,"47":0.159597,"48":0.082754,"49":0.041377,"50":0.065021,"51":0.041377,"52":0.526079,"53":0.065021,"54":0.100487,"55":0.106398,"56":2.328934,"57":1.844232,"58":0.065021,"59":0,"60":0,"3.5":0.005911,"3.6":0.029555},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0.005911,"32":0,"33":0,"34":0,"35":0,"36":0.023644,"37":0.112309,"38":0,"39":0,"40":0,"41":0,"42":0.011822,"43":0.017733,"44":0.005911,"45":0.005911,"46":0.011822,"47":0.017733,"48":0.520168,"49":0.319194,"50":0.005911,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0.005911,"12.1":0.023644},E:{"4":0.005911,"5":0.005911,"6":0.005911,"7":0.005911,"8":0.029555,"9":0.017733,"10":0.017733,"11":0.112309,_:"0","3.1":0,"3.2":0,"5.1":0.011822,"6.1":0,"7.1":0,"9.1":0.041377,"10.1":0.076843},G:{"8":0.00448988517704,"3.2":0.000280617823565,"4.0-4.1":0.000280617823565,"4.2-4.3":0.0381640240048,"5.0-5.1":0.00645420994199,"6.0-6.1":0.00420926735347,"7.0-7.1":0.0179595407081,"8.1-8.4":0.0308679605921,"9.0-9.2":0.0188013941788,"9.3":0.129645434487,"10.0-10.2":0.240489474795,"10.3":0.50146405071,"11.0-11.2":1.8125105224},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.330078512629,"4.2-4.3":0.929297966324,"4.4":2.64062810103,"4.4.3-4.4.4":1.52851742002},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0.00639683561644,"7":0.0127936712329,"8":0.19830190411,"9":0.0703651917808,"10":0.0959525342466,"11":0.550127863014,"5.5":0},B:{"12":0.029555,"13":0.029555,"14":0.065021,"15":0.124131,"16":0.035466,"17":0},P:{"4":0.771785810127,"5":0.354604291139,"6.2":0.521476898734},N:{"10":0.0483568695652,"11":0.229695130435},J:{"7":0.0057246,"10":0.0228984},O:{"0":1.087674},H:{"0":1.10716349485},L:{"0":50.934228},R:{_:"0"},M:{"0":0.241251},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/EC.js b/publi/node_modules/caniuse-lite/data/regions/EC.js deleted file mode 100644 index 998e5e0..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/EC.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.00747,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0.02241,"19":0,"20":0,"21":0.00747,"22":0.11952,"23":0,"24":0,"25":0,"26":0.03735,"27":0,"28":0.00747,"29":0.02988,"30":0.01494,"31":0.01494,"32":0.00747,"33":0.00747,"34":0.02988,"35":0.00747,"36":0.03735,"37":0.02241,"38":0.09711,"39":0.01494,"40":0.02241,"41":0.01494,"42":0.00747,"43":0.02988,"44":0.01494,"45":0.00747,"46":0.01494,"47":0.05229,"48":0.01494,"49":1.01592,"50":0.02241,"51":0.02988,"52":0.04482,"53":0.02988,"54":0.05229,"55":0.10458,"56":0.17181,"57":0.13446,"58":0.30627,"59":0.27639,"60":0.42579,"61":14.14818,"62":22.14855,"63":0.10458,"64":0.03735,"65":0},C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0.00747,"13":0,"14":0,"15":0,"16":0.00747,"17":0,"18":0,"19":0,"20":0.00747,"21":0.00747,"22":0,"23":0,"24":0.00747,"25":0,"26":0,"27":0,"28":0.00747,"29":0.00747,"30":0.00747,"31":0.02988,"32":0.00747,"33":0.00747,"34":0.01494,"35":0.01494,"36":0.00747,"37":0.01494,"38":0.01494,"39":0.01494,"40":0.01494,"41":0.02241,"42":0.01494,"43":0.05976,"44":0.01494,"45":0.05976,"46":0.05229,"47":0.11205,"48":0.23157,"49":0.04482,"50":0.08217,"51":0.06723,"52":0.23904,"53":0.0747,"54":0.32868,"55":0.1494,"56":3.54078,"57":3.26439,"58":0.02988,"59":0,"60":0,"3.5":0,"3.6":0.00747},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0.00747,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0.00747,"29":0.00747,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0.00747,"37":0.00747,"38":0,"39":0,"40":0,"41":0,"42":0.00747,"43":0.01494,"44":0,"45":0.00747,"46":0.00747,"47":0.00747,"48":0.51543,"49":0.33615,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.00747},E:{"4":0.00747,"5":0.00747,"6":0.00747,"7":0.08964,"8":0.0747,"9":0.06723,"10":0.2241,"11":1.39689,_:"0","3.1":0,"3.2":0,"5.1":0.02988,"6.1":0.00747,"7.1":0,"9.1":0.35856,"10.1":0.65736},G:{"8":0.00819331866373,"3.2":0.000512082416483,"4.0-4.1":0.000512082416483,"4.2-4.3":0.0696432086417,"5.0-5.1":0.0117778955791,"6.0-6.1":0.00768123624725,"7.0-7.1":0.0327732746549,"8.1-8.4":0.0563290658132,"9.0-9.2":0.0343095219044,"9.3":0.236582076415,"10.0-10.2":0.438854630926,"10.3":0.915091278256,"11.0-11.2":3.30754032807},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.132471094481,"4.2-4.3":0.372957081384,"4.4":1.05976875585,"4.4.3-4.4.4":0.613443068288},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0.00763007142857,"7":0,"8":0.114451071429,"9":0.0991909285714,"10":0.144971357143,"11":0.701966571429,"5.5":0},B:{"12":0.03735,"13":0.04482,"14":0.14193,"15":0.48555,"16":0.06723,"17":0},P:{"4":0.930861674009,"5":0.455087929515,"6.2":0.961890396476},N:{"10":0.0456933333333,"11":0.331276666667},J:{"7":0.009108,"10":0.036432},O:{"0":0.28083},H:{"0":0.594019656357},L:{"0":31.32793},R:{_:"0"},M:{"0":0.12144},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/EE.js b/publi/node_modules/caniuse-lite/data/regions/EE.js deleted file mode 100644 index 7123aa1..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/EE.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.007922,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0.055454,"19":0,"20":0,"21":0,"22":0.007922,"23":0,"24":0.007922,"25":0,"26":0.007922,"27":0,"28":0,"29":0,"30":0,"31":0.007922,"32":0.007922,"33":0,"34":0.023766,"35":0.007922,"36":0.007922,"37":0.007922,"38":0.023766,"39":0.015844,"40":0.007922,"41":0.015844,"42":0.007922,"43":0.047532,"44":0.03961,"45":0.007922,"46":0.015844,"47":0.063376,"48":0.023766,"49":0.602072,"50":0.007922,"51":0.126752,"52":0.015844,"53":0.03961,"54":0.063376,"55":0.095064,"56":0.142596,"57":0.110908,"58":0.404022,"59":0.411944,"60":0.419866,"61":14.513104,"62":20.708108,"63":0.07922,"64":0.055454,"65":0},C:{"2":0,"3":0.007922,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0.007922,"16":0.007922,"17":0.055454,"18":0,"19":0,"20":0.007922,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0.007922,"29":0.015844,"30":0,"31":0.007922,"32":0,"33":0,"34":0.007922,"35":0.007922,"36":0.007922,"37":0,"38":0.015844,"39":0.007922,"40":0.007922,"41":0.007922,"42":0.007922,"43":0.03961,"44":0.007922,"45":0.229738,"46":0.007922,"47":0.055454,"48":0.372334,"49":0.015844,"50":0.055454,"51":0.03961,"52":0.649604,"53":0.190128,"54":0.126752,"55":0.182206,"56":3.691652,"57":3.065814,"58":0.03961,"59":0.007922,"60":0,"3.5":0,"3.6":0.007922},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0.031688,"31":0.015844,"32":0,"33":0,"34":0,"35":0.007922,"36":0.047532,"37":0,"38":0.007922,"39":0,"40":0.007922,"41":0.015844,"42":0.015844,"43":0.07922,"44":0.023766,"45":0.142596,"46":0.023766,"47":0.03961,"48":0.863498,"49":0.530774,"50":0.007922,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.031688},E:{"4":0,"5":0,"6":0,"7":0.03961,"8":0.031688,"9":0.063376,"10":0.190128,"11":2.788544,_:"0","3.1":0,"3.2":0,"5.1":0.007922,"6.1":0.007922,"7.1":0,"9.1":0.285192,"10.1":0.800122},G:{"8":0.0194445577115,"3.2":0.00121528485697,"4.0-4.1":0.00121528485697,"4.2-4.3":0.165278740548,"5.0-5.1":0.0279515517103,"6.0-6.1":0.0182292728546,"7.0-7.1":0.0777782308462,"8.1-8.4":0.133681334267,"9.0-9.2":0.0814240854171,"9.3":0.561461603921,"10.0-10.2":1.04149912242,"10.3":2.17171403941,"11.0-11.2":7.84952489118},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.0448852666043,"4.2-4.3":0.126369289055,"4.4":0.359082132834,"4.4.3-4.4.4":0.207853311506},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0.0079475136876,"7":0.0079475136876,"8":0.0715276231884,"9":0.0635801095008,"10":0.079475136876,"11":4.68903307568,"5.5":0},B:{"12":0.03961,"13":0.03961,"14":0.388178,"15":1.283364,"16":0.174284,"17":0},P:{"4":0.422639516854,"5":0.525722325843,"6.2":0.886512157303},N:{"10":0.0108056,"11":0.0972504},J:{"7":0.0016624,"10":0.0066496},O:{"0":0.05195},H:{"0":0.222306725086},L:{"0":21.23724},R:{_:"0"},M:{"0":0.211956},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/EG.js b/publi/node_modules/caniuse-lite/data/regions/EG.js deleted file mode 100644 index e057282..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/EG.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0.006075,"11":0.01215,"12":0.006075,"13":0,"14":0,"15":0,"16":0.01215,"17":0.018225,"18":0.01215,"19":0.006075,"20":0.006075,"21":0.006075,"22":0.0243,"23":0.018225,"24":0.018225,"25":0.018225,"26":0.0486,"27":0.030375,"28":0.018225,"29":0.091125,"30":0.0243,"31":0.0486,"32":0.0243,"33":0.1701,"34":0.03645,"35":0.03645,"36":0.0243,"37":0.018225,"38":0.042525,"39":0.0243,"40":0.06075,"41":0.018225,"42":0.01215,"43":1.95615,"44":0.0486,"45":0.030375,"46":0.091125,"47":0.0729,"48":0.06075,"49":1.184625,"50":0.0243,"51":0.066825,"52":0.018225,"53":0.030375,"54":0.0729,"55":0.243,"56":0.30375,"57":0.2916,"58":0.3159,"59":0.309825,"60":0.492075,"61":7.417575,"62":11.852325,"63":0.0486,"64":0.054675,"65":0},C:{"2":0.006075,"3":0.006075,"4":0.006075,"5":0,"6":0.006075,"7":0,"8":0.006075,"9":0,"10":0.006075,"11":0.006075,"12":0.01215,"13":0.01215,"14":0.006075,"15":0.006075,"16":0.006075,"17":0.006075,"18":0.006075,"19":0.006075,"20":0.006075,"21":0.01215,"22":0.006075,"23":0.006075,"24":0.006075,"25":0.006075,"26":0.006075,"27":0.006075,"28":0.0243,"29":0.01215,"30":0.030375,"31":0.006075,"32":0.018225,"33":0.01215,"34":0.01215,"35":0.018225,"36":0.018225,"37":0.018225,"38":0.018225,"39":0.018225,"40":0.030375,"41":0.018225,"42":0.018225,"43":0.091125,"44":0.030375,"45":0.030375,"46":0.018225,"47":0.188325,"48":0.1458,"49":0.03645,"50":0.03645,"51":0.054675,"52":0.978075,"53":0.042525,"54":0.066825,"55":0.0972,"56":2.4786,"57":2.108025,"58":0.0972,"59":0,"60":0,"3.5":0.01215,"3.6":0.018225},F:{"9":0,"11":0,"12":0.006075,"15":0,"16":0,"17":0,"18":0.006075,"19":0.006075,"20":0,"21":0,"22":0.006075,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0.006075,"29":0,"30":0.018225,"31":0.006075,"32":0,"33":0,"34":0.006075,"35":0,"36":0.054675,"37":0.06075,"38":0,"39":0,"40":0,"41":0,"42":0.01215,"43":0.103275,"44":0.006075,"45":0.01215,"46":0.006075,"47":0.01215,"48":0.69255,"49":0.455625,"50":0.006075,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0.006075,"12.1":0.01215},E:{"4":0,"5":0.006075,"6":0,"7":0.01215,"8":0.03645,"9":0.0243,"10":0.0729,"11":0.2916,_:"0","3.1":0,"3.2":0,"5.1":0.01215,"6.1":0.006075,"7.1":0,"9.1":0.0972,"10.1":0.2673},G:{"8":0.00974026805361,"3.2":0.000608766753351,"4.0-4.1":0.000608766753351,"4.2-4.3":0.0827922784557,"5.0-5.1":0.0140016353271,"6.0-6.1":0.00913150130026,"7.0-7.1":0.0389610722144,"8.1-8.4":0.0669643428686,"9.0-9.2":0.0407873724745,"9.3":0.281250240048,"10.0-10.2":0.521713107622,"10.3":1.08786618824,"11.0-11.2":3.93202445989},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.367564663237,"4.2-4.3":1.03483589804,"4.4":2.94051730589,"4.4.3-4.4.4":1.70210713283},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0.00626366459627,"7":0.00626366459627,"8":0.256810248447,"9":0.0563729813665,"10":0.0751639751553,"11":0.607575465839,"5.5":0},B:{"12":0.03645,"13":0.0486,"14":0.103275,"15":0.23085,"16":0.054675,"17":0},P:{"4":1.18904793388,"5":0.512520661157,"6.2":0.779031404959},N:{"10":0.0325214285714,"11":0.195128571429},J:{"7":0.00471,"10":0.01884},O:{"0":1.668125},H:{"0":1.07390562715},L:{"0":41.198},R:{_:"0"},M:{"0":0.474925},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/ER.js b/publi/node_modules/caniuse-lite/data/regions/ER.js deleted file mode 100644 index 3dfba1f..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/ER.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0.003733,"25":0,"26":0.048529,"27":0,"28":0,"29":0,"30":0.003733,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0.003733,"39":0,"40":0,"41":0,"42":0,"43":0.011199,"44":0,"45":0.007466,"46":0,"47":0,"48":0,"49":2.840813,"50":0.022398,"51":0.003733,"52":0.011199,"53":0,"54":0.003733,"55":0.093325,"56":0,"57":0.014932,"58":0.014932,"59":0.026131,"60":0.22398,"61":0.481557,"62":0.317305,"63":0,"64":0,"65":0},C:{"2":0,"3":0.014932,"4":0.500222,"5":0.033597,"6":0,"7":0.026131,"8":0.003733,"9":0,"10":0.048529,"11":0.03733,"12":0.03733,"13":0.018665,"14":0.018665,"15":0.257577,"16":0.018665,"17":0.029864,"18":0,"19":0.126922,"20":0,"21":0.044796,"22":0,"23":0.003733,"24":0.033597,"25":0.014932,"26":0,"27":0,"28":0.018665,"29":0,"30":0.052262,"31":0.197849,"32":0.052262,"33":0.164252,"34":0.033597,"35":0.026131,"36":0.082126,"37":0.014932,"38":0.190383,"39":0.014932,"40":0.26131,"41":0.063461,"42":0.153053,"43":1.392409,"44":0.078393,"45":0.03733,"46":0.197849,"47":0.903386,"48":0.126922,"49":0.194116,"50":0.265043,"51":0.033597,"52":0.418096,"53":0.552484,"54":0.089592,"55":0.93325,"56":1.097502,"57":0.406897,"58":0.041063,"59":0,"60":0,"3.5":0,"3.6":0.093325},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0.007466,"32":0,"33":0.003733,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0.003733,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0.029864,"49":0.018665,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.033597},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0.011199,"11":0.007466,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0,"10.1":0.041063},G:{"8":0.00121454210842,"3.2":0.0000759088817764,"4.0-4.1":0.0000759088817764,"4.2-4.3":0.0103236079216,"5.0-5.1":0.00174590428086,"6.0-6.1":0.00113863322665,"7.0-7.1":0.00485816843369,"8.1-8.4":0.0083499769954,"9.0-9.2":0.00508589507902,"9.3":0.0350699033807,"10.0-10.2":0.0650539116823,"10.3":0.135649171734,"11.0-11.2":0.490295467393},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.327586683817,"4.2-4.3":0.922282509822,"4.4":2.62069347053,"4.4.3-4.4.4":1.51697833583},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0.003733,"7":0,"8":0.022398,"9":0,"10":0.026131,"11":0.063461,"5.5":0},B:{"12":0.007466,"13":0.003733,"14":0.011199,"15":0,"16":0,"17":0},P:{"4":1.01087790517,"5":0.173585094828,"6.2":0},N:{"10":0,"11":0.012534},J:{"7":0,"10":0},O:{"0":17.604003},H:{"0":1.00864242268},L:{"0":52.469032},R:{_:"0"},M:{"0":0.112806},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/ES.js b/publi/node_modules/caniuse-lite/data/regions/ES.js deleted file mode 100644 index 399a353..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/ES.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.01644,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0.04384,"19":0,"20":0,"21":0,"22":0.00548,"23":0,"24":0,"25":0,"26":0.00548,"27":0,"28":0,"29":0.03288,"30":0,"31":0.01096,"32":0.00548,"33":0.00548,"34":0.01096,"35":0.00548,"36":0.01096,"37":0.00548,"38":0.02192,"39":0.02192,"40":0.01096,"41":0.01096,"42":0.00548,"43":0.01644,"44":0.01644,"45":0.01644,"46":0.0274,"47":0.01644,"48":0.0274,"49":0.88776,"50":0.01644,"51":0.03836,"52":0.01644,"53":0.01644,"54":0.03288,"55":0.06028,"56":0.09864,"57":0.0548,"58":0.12604,"59":0.12056,"60":0.18084,"61":6.83904,"62":9.76536,"63":0.0274,"64":0.01644,"65":0},C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0.00548,"17":0,"18":0,"19":0,"20":0.01096,"21":0,"22":0,"23":0,"24":0.00548,"25":0,"26":0.00548,"27":0,"28":0.00548,"29":0.00548,"30":0.00548,"31":0.00548,"32":0.00548,"33":0.00548,"34":0.00548,"35":0.00548,"36":0.00548,"37":0.00548,"38":0.02192,"39":0.01096,"40":0.00548,"41":0.01096,"42":0.01096,"43":0.01644,"44":0.00548,"45":0.04384,"46":0.01096,"47":0.03836,"48":0.1096,"49":0.02192,"50":0.0274,"51":0.04384,"52":0.33976,"53":0.03836,"54":0.04932,"55":0.09864,"56":1.7536,"57":1.43028,"58":0.01644,"59":0,"60":0,"3.5":0,"3.6":0.00548},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0.00548,"32":0,"33":0,"34":0,"35":0,"36":0.01644,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0.0274,"44":0,"45":0.00548,"46":0.00548,"47":0.00548,"48":0.2192,"49":0.137,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.00548},E:{"4":0,"5":0.01096,"6":0,"7":0.01096,"8":0.03288,"9":0.03288,"10":0.12056,"11":1.00832,_:"0","3.1":0,"3.2":0,"5.1":0.02192,"6.1":0.01644,"7.1":0,"9.1":0.18632,"10.1":0.36168},G:{"8":0.0244402160432,"3.2":0.0015275135027,"4.0-4.1":0.0015275135027,"4.2-4.3":0.207741836367,"5.0-5.1":0.0351328105621,"6.0-6.1":0.0229127025405,"7.0-7.1":0.0977608641728,"8.1-8.4":0.168026485297,"9.0-9.2":0.102343404681,"9.3":0.705711238248,"10.0-10.2":1.30907907181,"10.3":2.72966662933,"11.0-11.2":9.86620971394},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.0805854069224,"4.2-4.3":0.226878914874,"4.4":0.644683255379,"4.4.3-4.4.4":0.373172422825},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0.00552835294118,"7":0.00552835294118,"8":0.121623764706,"9":0.0608118823529,"10":0.0663402352941,"11":1.61980741176,"5.5":0},B:{"12":0.01096,"13":0.03288,"14":0.23016,"15":0.83844,"16":0.12604,"17":0},P:{"4":0.629122363636,"5":0.490502181818,"6.2":1.22625545455},N:{"10":0.0222986666667,"11":0.144941333333},J:{"7":0.001808,"10":0.007232},O:{"0":0.0904},H:{"0":0.0984226116838},L:{"0":50.42532},R:{_:"0"},M:{"0":0.23052},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/ET.js b/publi/node_modules/caniuse-lite/data/regions/ET.js deleted file mode 100644 index ae0d169..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/ET.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0.001648,"11":0.03296,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0.001648,"20":0,"21":0.001648,"22":0,"23":0.001648,"24":0,"25":0.001648,"26":0.006592,"27":0,"28":0,"29":0.001648,"30":0.001648,"31":0.003296,"32":0.001648,"33":0.013184,"34":0,"35":0,"36":0,"37":0,"38":0.001648,"39":0,"40":0.013184,"41":0,"42":0,"43":0.177984,"44":0,"45":0.001648,"46":0.003296,"47":0.001648,"48":0.001648,"49":0.019776,"50":0.003296,"51":0.004944,"52":0.001648,"53":0.001648,"54":0.001648,"55":0.01648,"56":0.006592,"57":0.019776,"58":0.014832,"59":0.00824,"60":0.01648,"61":0.332896,"62":0.538896,"63":0.006592,"64":0.003296,"65":0},C:{"2":0,"3":0.001648,"4":0.003296,"5":0.003296,"6":0.001648,"7":0.001648,"8":0,"9":0,"10":0.003296,"11":0.004944,"12":0.003296,"13":0.001648,"14":0.003296,"15":0.001648,"16":0.001648,"17":0.001648,"18":0.001648,"19":0.001648,"20":0.011536,"21":0.003296,"22":0.001648,"23":0.001648,"24":0.013184,"25":0.003296,"26":0.006592,"27":0.003296,"28":0.009888,"29":0.009888,"30":0.00824,"31":0.011536,"32":0.003296,"33":0.004944,"34":0.009888,"35":0.006592,"36":0.006592,"37":0.009888,"38":0.009888,"39":0.011536,"40":0.01648,"41":0.013184,"42":0.006592,"43":0.031312,"44":0.018128,"45":0.011536,"46":0.006592,"47":0.039552,"48":0.023072,"49":0.011536,"50":0.009888,"51":0.011536,"52":0.0412,"53":0.00824,"54":0.01648,"55":0.014832,"56":0.266976,"57":0.248848,"58":0.031312,"59":0,"60":0,"3.5":0,"3.6":0},F:{"9":0,"11":0,"12":0.001648,"15":0.003296,"16":0.001648,"17":0.009888,"18":0.006592,"19":0.006592,"20":0.019776,"21":0.009888,"22":0.009888,"23":0.014832,"24":0.001648,"25":0.001648,"26":0.001648,"27":0.001648,"28":0.011536,"29":0.014832,"30":0.013184,"31":0.004944,"32":0,"33":0.001648,"34":0.001648,"35":0.001648,"36":0.001648,"37":0.00824,"38":0,"39":0,"40":0.001648,"41":0,"42":0.004944,"43":0.029664,"44":0.031312,"45":0.001648,"46":0.001648,"47":0.001648,"48":0.05768,"49":0.034608,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.067568},E:{"4":0,"5":0,"6":0.001648,"7":0.001648,"8":0.004944,"9":0.001648,"10":0.001648,"11":0.009888,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0.006592,"10.1":0.006592},G:{"8":0.00167506141228,"3.2":0.000104691338268,"4.0-4.1":0.000104691338268,"4.2-4.3":0.0142380220044,"5.0-5.1":0.00240790078016,"6.0-6.1":0.00157037007401,"7.0-7.1":0.00670024564913,"8.1-8.4":0.0115160472094,"9.0-9.2":0.00701431966393,"9.3":0.0483673982797,"10.0-10.2":0.0897204768954,"10.3":0.187083421484,"11.0-11.2":0.676201353871},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.349199700655,"4.2-4.3":0.98313146492,"4.4":2.79359760524,"4.4.3-4.4.4":1.61706322919},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0.00351945762712,"8":0.0193570169492,"9":0.00351945762712,"10":0.00703891525424,"11":0.0686294237288,"5.5":0},B:{"12":0.013184,"13":0.01648,"14":0.013184,"15":0.023072,"16":0.006592,"17":0},P:{"4":0.865609846154,"5":0.241565538462,"6.2":0.0704566153846},N:{"10":0.112752,"11":0.112752},J:{"7":0.0050112,"10":0.0200448},O:{"0":6.773472},H:{"0":45.8930058557},L:{"0":21.218592},R:{_:"0"},M:{"0":0.091872},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/FI.js b/publi/node_modules/caniuse-lite/data/regions/FI.js deleted file mode 100644 index 2fdfe58..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/FI.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.012674,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0.031685,"19":0,"20":0,"21":0,"22":0.012674,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0.044359,"30":0,"31":0.006337,"32":0,"33":0.006337,"34":0.012674,"35":0,"36":0.006337,"37":0.006337,"38":0.031685,"39":0.006337,"40":0.012674,"41":0.006337,"42":0,"43":0.012674,"44":0,"45":0.006337,"46":0.012674,"47":0.006337,"48":0.019011,"49":0.304176,"50":0.025348,"51":0.038022,"52":0.101392,"53":0.025348,"54":0.031685,"55":0.095055,"56":0.050696,"57":0.06337,"58":0.145751,"59":0.171099,"60":0.266154,"61":7.902239,"62":10.982021,"63":0.057033,"64":0.025348,"65":0},C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0.006337,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0.012674,"31":0.006337,"32":0,"33":0,"34":0.006337,"35":0,"36":0.006337,"37":0.006337,"38":0.025348,"39":0.006337,"40":0.012674,"41":0.006337,"42":0.006337,"43":0.012674,"44":0.006337,"45":0.076044,"46":0.012674,"47":0.025348,"48":0.076044,"49":0.019011,"50":0.031685,"51":0.025348,"52":0.868169,"53":0.069707,"54":0.082381,"55":0.133077,"56":3.985973,"57":2.953042,"58":0.031685,"59":0,"60":0,"3.5":0,"3.6":0.006337},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0.006337,"31":0.006337,"32":0,"33":0,"34":0,"35":0,"36":0.012674,"37":0,"38":0,"39":0,"40":0.006337,"41":0,"42":0,"43":0.095055,"44":0.006337,"45":0.006337,"46":0.019011,"47":0.006337,"48":0.468938,"49":0.272491,"50":0.006337,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.019011},E:{"4":0,"5":0.012674,"6":0,"7":0.006337,"8":0.031685,"9":0.031685,"10":0.145751,"11":1.730001,_:"0","3.1":0,"3.2":0,"5.1":0.082381,"6.1":0.012674,"7.1":0,"9.1":0.31685,"10.1":0.50696},G:{"8":0.0304630526105,"3.2":0.00190394078816,"4.0-4.1":0.00190394078816,"4.2-4.3":0.258935947189,"5.0-5.1":0.0437906381276,"6.0-6.1":0.0285591118224,"7.0-7.1":0.121852210442,"8.1-8.4":0.209433486697,"9.0-9.2":0.127564032807,"9.3":0.879620644129,"10.0-10.2":1.63167725545,"10.3":3.40234218844,"11.0-11.2":12.2975535507},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.0533141674462,"4.2-4.3":0.15009988681,"4.4":0.42651333957,"4.4.3-4.4.4":0.246885606174},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0.00637619793814,"7":0.00637619793814,"8":0.044633385567,"9":0.0382571876289,"10":0.0510095835052,"11":2.94580344742,"5.5":0},B:{"12":0.012674,"13":0.06337,"14":0.335861,"15":1.362455,"16":0.196447,"17":0},P:{"4":0.923087740385,"5":1.19458413462,"6.2":1.270603125},N:{"10":0.0698333225806,"11":0.651777677419},J:{"7":0.0007326,"10":0.0029304},O:{"0":0.095238},H:{"0":0.249688206186},L:{"0":33.805261},R:{_:"0"},M:{"0":0.498168},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/FJ.js b/publi/node_modules/caniuse-lite/data/regions/FJ.js deleted file mode 100644 index f9b1af3..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/FJ.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.004448,"12":0,"13":0,"14":0.004448,"15":0,"16":0,"17":0.004448,"18":0.004448,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0.008896,"32":0.017792,"33":0.004448,"34":0,"35":0,"36":0,"37":0.004448,"38":0.004448,"39":0.004448,"40":0.004448,"41":0,"42":0,"43":0.004448,"44":0.004448,"45":0.004448,"46":0.008896,"47":0,"48":0,"49":0.169024,"50":0.004448,"51":0.008896,"52":0.004448,"53":0.04448,"54":0.013344,"55":0.08896,"56":0.017792,"57":0.031136,"58":0.071168,"59":0.026688,"60":0.182368,"61":8.219904,"62":4.319008,"63":0.017792,"64":0.008896,"65":0},C:{"2":0,"3":0.004448,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.008896,"12":0.004448,"13":0,"14":0,"15":0.004448,"16":0.004448,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0.004448,"25":0,"26":0,"27":0,"28":0,"29":0.013344,"30":0.008896,"31":0,"32":0.02224,"33":0,"34":0.004448,"35":0.008896,"36":0.004448,"37":0,"38":0.02224,"39":0,"40":0.008896,"41":0,"42":0,"43":0.026688,"44":0.004448,"45":0.040032,"46":0.008896,"47":0.048928,"48":0.142336,"49":0.008896,"50":0.017792,"51":0.008896,"52":0.120096,"53":0.013344,"54":0.026688,"55":0.031136,"56":1.374432,"57":1.058624,"58":0.062272,"59":0,"60":0,"3.5":0,"3.6":0.008896},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0.008896,"29":0.004448,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0.004448,"37":0.008896,"38":0,"39":0,"40":0.004448,"41":0,"42":0,"43":0.013344,"44":0,"45":0,"46":0,"47":0,"48":0.062272,"49":0.035584,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.004448},E:{"4":0,"5":0,"6":0,"7":0.013344,"8":0.008896,"9":0.008896,"10":0.06672,"11":0.2224,_:"0","3.1":0,"3.2":0,"5.1":0.004448,"6.1":0,"7.1":0,"9.1":0.06672,"10.1":0.226848},G:{"8":0.00918512022404,"3.2":0.000574070014003,"4.0-4.1":0.000574070014003,"4.2-4.3":0.0780735219044,"5.0-5.1":0.0132036103221,"6.0-6.1":0.00861105021004,"7.0-7.1":0.0367404808962,"8.1-8.4":0.0631477015403,"9.0-9.2":0.0384626909382,"9.3":0.265220346469,"10.0-10.2":0.491978002,"10.3":1.02586311502,"11.0-11.2":3.70791822044},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.174293882133,"4.2-4.3":0.490704314312,"4.4":1.39435105706,"4.4.3-4.4.4":0.807114746492},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.0358023067485,"9":0.040277595092,"10":0.0716046134969,"11":0.581787484663,"5.5":0},B:{"12":0.026688,"13":0.071168,"14":0.106752,"15":0.293568,"16":0.048928,"17":0},P:{"4":4.9231073561,"5":1.98378376585,"6.2":1.60987687805},N:{"10":0.066624,"11":0.61072},J:{"7":0.011104,"10":0.044416},O:{"0":3.786464},H:{"0":1.73457072165},L:{"0":50.833712},R:{_:"0"},M:{"0":0.19432},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/FK.js b/publi/node_modules/caniuse-lite/data/regions/FK.js deleted file mode 100644 index 5920dc4..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/FK.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":1.193208,"50":0,"51":0.1797,"52":0,"53":0,"54":0,"55":0,"56":0,"57":2.19234,"58":0.014376,"59":0.014376,"60":0.050316,"61":3.744948,"62":9.100008,"63":0,"64":0,"65":0},C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0.03594,"45":0.258768,"46":0.014376,"47":0,"48":0.064692,"49":0,"50":0.03594,"51":0.438468,"52":0.1797,"53":0.129384,"54":0.115008,"55":0.14376,"56":2.522988,"57":2.925516,"58":0,"59":0,"60":0,"3.5":0,"3.6":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0.21564,"49":0.330648,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.014376},E:{"4":0,"5":0,"6":0,"7":0.014376,"8":0.115008,"9":0.654108,"10":0,"11":0.819432,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0.064692,"7.1":0,"9.1":0.3594,"10.1":0.244392},G:{"8":0.0453987485497,"3.2":0.00283742178436,"4.0-4.1":0.00283742178436,"4.2-4.3":0.385889362673,"5.0-5.1":0.0652607010402,"6.0-6.1":0.0425613267654,"7.0-7.1":0.181594994199,"8.1-8.4":0.312116396279,"9.0-9.2":0.190107259552,"9.3":1.31088886437,"10.0-10.2":2.43167046919,"10.3":5.07047272865,"11.0-11.2":18.3269073052},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.0794143124415,"4.2-4.3":0.223581833489,"4.4":0.635314499532,"4.4.3-4.4.4":0.367749354537},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.230016,"9":0.294708,"10":0.39534,"11":14.936664,"5.5":0},B:{"12":0.1797,"13":0.258768,"14":0.3594,"15":0.948816,"16":0.194076,"17":0},P:{"4":1.40898938053,"5":1.04500045723,"6.2":1.52640516224},N:{"10":0,"11":0.160341},J:{"7":0,"10":0},O:{"0":0},H:{"0":1.01200333333},L:{"0":17.878997},R:{_:"0"},M:{"0":0},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/FM.js b/publi/node_modules/caniuse-lite/data/regions/FM.js deleted file mode 100644 index cecd781..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/FM.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0.006398,"19":0,"20":0.006398,"21":0,"22":0,"23":0.006398,"24":0,"25":0,"26":0.070378,"27":0,"28":0,"29":0,"30":0,"31":0.006398,"32":0,"33":0,"34":0.006398,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0.006398,"43":0.006398,"44":0,"45":0.006398,"46":0.006398,"47":0.006398,"48":0,"49":0.211134,"50":0.006398,"51":0,"52":0.044786,"53":1.477938,"54":0,"55":0.019194,"56":0.03199,"57":0.083174,"58":0.03199,"59":0.051184,"60":0.25592,"61":6.90984,"62":14.868952,"63":0.198338,"64":0.006398,"65":0},C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0.012796,"11":0.006398,"12":0,"13":0.006398,"14":0,"15":0,"16":0.012796,"17":0,"18":0.006398,"19":0.006398,"20":0,"21":0,"22":0.006398,"23":0,"24":0,"25":0,"26":0,"27":0.006398,"28":0.025592,"29":0,"30":0,"31":0,"32":0,"33":0.006398,"34":0,"35":0.006398,"36":0.006398,"37":0,"38":0.006398,"39":0,"40":0,"41":0,"42":0.044786,"43":0.102368,"44":0.038388,"45":0.076776,"46":0,"47":0.089572,"48":0.025592,"49":0.006398,"50":0,"51":0.006398,"52":0.051184,"53":0.006398,"54":0.006398,"55":0.03199,"56":2.316076,"57":1.88741,"58":0.06398,"59":0,"60":0,"3.5":0,"3.6":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0.006398,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0.102368,"30":0.006398,"31":0.006398,"32":0,"33":0.019194,"34":0,"35":0,"36":0,"37":0.03199,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0.051184,"44":0,"45":0,"46":0,"47":0.006398,"48":0.172746,"49":0.115164,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},E:{"4":0,"5":0.006398,"6":0,"7":0,"8":0.006398,"9":0.03199,"10":0.019194,"11":0.467054,_:"0","3.1":0,"3.2":0,"5.1":0.025592,"6.1":0.006398,"7.1":0,"9.1":0.179144,"10.1":0.390278},G:{"8":0.024192809762,"3.2":0.00151205061012,"4.0-4.1":0.00151205061012,"4.2-4.3":0.205638882977,"5.0-5.1":0.0347771640328,"6.0-6.1":0.0226807591518,"7.0-7.1":0.0967712390478,"8.1-8.4":0.166325567113,"9.0-9.2":0.101307390878,"9.3":0.698567381876,"10.0-10.2":1.29582737287,"10.3":2.70203444029,"11.0-11.2":9.76633489078},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.213685706268,"4.2-4.3":0.601607449953,"4.4":1.70948565014,"4.4.3-4.4.4":0.989529193639},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.044786,"9":0.09597,"10":0.038388,"11":2.578394,"5.5":0},B:{"12":0.070378,"13":0.262318,"14":0.377482,"15":0.710178,"16":0.38388,"17":0},P:{"4":0.472896617021,"5":0.103806574468,"6.2":0.507498808511},N:{"10":0.012607,"11":0.063035},J:{"7":0,"10":0},O:{"0":2.258454},H:{"0":0.791152687285},L:{"0":38.53776},R:{_:"0"},M:{"0":0.07204},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/FO.js b/publi/node_modules/caniuse-lite/data/regions/FO.js deleted file mode 100644 index 32bf96a..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/FO.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.006394,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0.006394,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0.025576,"34":0.012788,"35":0,"36":0,"37":0,"38":0.038364,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0.588248,"50":0.006394,"51":0,"52":0,"53":0,"54":0.019182,"55":0.019182,"56":0.025576,"57":0.012788,"58":0.025576,"59":0.019182,"60":0.134274,"61":5.172746,"62":9.392786,"63":0.012788,"64":0.012788,"65":0},C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0.019182,"46":0.006394,"47":0.006394,"48":0.06394,"49":0.006394,"50":0.006394,"51":0.051152,"52":0.645794,"53":0.019182,"54":0.025576,"55":0.012788,"56":1.253224,"57":1.272406,"58":0,"59":0,"60":0,"3.5":0,"3.6":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0.019182,"44":0.006394,"45":0,"46":0,"47":0,"48":0.06394,"49":0.038364,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.006394},E:{"4":0,"5":0.006394,"6":0,"7":0,"8":0.044758,"9":0.038364,"10":0.089516,"11":1.11895,_:"0","3.1":0,"3.2":0,"5.1":0.025576,"6.1":0.070334,"7.1":0,"9.1":0.396428,"10.1":0.505126},G:{"8":0.0709071766353,"3.2":0.00443169853971,"4.0-4.1":0.00443169853971,"4.2-4.3":0.6027110014,"5.0-5.1":0.101929066413,"6.0-6.1":0.0664754780956,"7.0-7.1":0.283628706541,"8.1-8.4":0.487486839368,"9.0-9.2":0.29692380216,"9.3":2.04744472535,"10.0-10.2":3.79796564853,"10.3":7.91944529046,"11.0-11.2":28.624340868},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.0288064920486,"4.2-4.3":0.081101354537,"4.4":0.230451936389,"4.4.3-4.4.4":0.133396217025},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0.019182,"8":0.03197,"9":0.076728,"10":0.051152,"11":7.909378,"5.5":0},B:{"12":0.019182,"13":0.134274,"14":0.537096,"15":3.152242,"16":0.409216,"17":0},P:{"4":0.696225819629,"5":1.19701983024,"6.2":2.71161635013},N:{"10":0.0167757391304,"11":0.36906626087},J:{"7":0,"10":0},O:{"0":0},H:{"0":0.0546228453608},L:{"0":13.089716},R:{_:"0"},M:{"0":0.10818},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/FR.js b/publi/node_modules/caniuse-lite/data/regions/FR.js deleted file mode 100644 index aa91c42..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/FR.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.019329,"12":0,"13":0,"14":0,"15":0,"16":0.019329,"17":0,"18":0.012886,"19":0,"20":0,"21":0,"22":0.006443,"23":0,"24":0,"25":0.012886,"26":0,"27":0,"28":0,"29":0.096645,"30":0.006443,"31":0.077316,"32":0.006443,"33":0.006443,"34":0.019329,"35":0.012886,"36":0.012886,"37":0.006443,"38":0.019329,"39":0.019329,"40":0.012886,"41":0.019329,"42":0.012886,"43":0.038658,"44":0.012886,"45":0.019329,"46":0.025772,"47":0.025772,"48":0.025772,"49":0.740945,"50":0.025772,"51":0.06443,"52":0.032215,"53":0.032215,"54":0.186847,"55":0.12886,"56":0.238391,"57":0.122417,"58":0.277049,"59":0.315707,"60":0.341479,"61":7.274147,"62":10.321686,"63":0.038658,"64":0.019329,"65":0},C:{"2":0,"3":0.006443,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0.006443,"13":0,"14":0,"15":0,"16":0.006443,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0.012886,"25":0,"26":0.006443,"27":0,"28":0.006443,"29":0.006443,"30":0.006443,"31":0.019329,"32":0.006443,"33":0.006443,"34":0.006443,"35":0.006443,"36":0.006443,"37":0.006443,"38":0.090202,"39":0.006443,"40":0.012886,"41":0.019329,"42":0.012886,"43":0.019329,"44":0.012886,"45":0.173961,"46":0.012886,"47":0.045101,"48":0.251277,"49":0.038658,"50":0.045101,"51":0.038658,"52":0.831147,"53":0.06443,"54":0.12886,"55":0.135303,"56":3.202171,"57":2.654516,"58":0.019329,"59":0,"60":0,"3.5":0,"3.6":0.006443},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0.025772,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0.025772,"44":0,"45":0.012886,"46":0.019329,"47":0.019329,"48":0.32215,"49":0.180404,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.012886},E:{"4":0.012886,"5":0.019329,"6":0.006443,"7":0.012886,"8":0.057987,"9":0.070873,"10":0.25772,"11":2.197063,_:"0","3.1":0,"3.2":0,"5.1":0.057987,"6.1":0.06443,"7.1":0,"9.1":0.380137,"10.1":0.798932},G:{"8":0.0388388605721,"3.2":0.00242742878576,"4.0-4.1":0.00242742878576,"4.2-4.3":0.330130314863,"5.0-5.1":0.0558308620724,"6.0-6.1":0.0364114317864,"7.0-7.1":0.155355442288,"8.1-8.4":0.267017166433,"9.0-9.2":0.162637728646,"9.3":1.12147209902,"10.0-10.2":2.08030646939,"10.3":4.33781524015,"11.0-11.2":15.6787625272},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.0662115294668,"4.2-4.3":0.186410921422,"4.4":0.529692235734,"4.4.3-4.4.4":0.306610313377},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0.00655016008316,"7":0.0131003201663,"8":0.117902881497,"9":0.0720517609148,"10":0.131003201663,"11":2.81001867568,"5.5":0},B:{"12":0.025772,"13":0.06443,"14":0.418795,"15":1.636522,"16":0.219062,"17":0},P:{"4":0.697533728814,"5":0.72972759322,"6.2":1.73846867797},N:{"10":0.033868826087,"11":0.225792173913},J:{"7":0.0042684,"10":0.0170736},O:{"0":0.263218},H:{"0":0.111128747423},L:{"0":28.813879},R:{_:"0"},M:{"0":0.295231},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/GA.js b/publi/node_modules/caniuse-lite/data/regions/GA.js deleted file mode 100644 index 1ccb2ff..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/GA.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.005782,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0.008673,"23":0,"24":0,"25":0,"26":0.002891,"27":0,"28":0,"29":0.002891,"30":0,"31":0.005782,"32":0.011564,"33":0.002891,"34":0.002891,"35":0.002891,"36":0.002891,"37":0.002891,"38":0.002891,"39":0.005782,"40":0.014455,"41":0.002891,"42":0,"43":0.014455,"44":0.002891,"45":0.011564,"46":0.002891,"47":0.002891,"48":0,"49":0.20237,"50":0.014455,"51":0.002891,"52":0.011564,"53":0.005782,"54":0.002891,"55":0.072275,"56":0.017346,"57":0.08673,"58":0.08673,"59":0.031801,"60":0.043365,"61":1.269149,"62":1.99479,"63":0.002891,"64":0.002891,"65":0},C:{"2":0,"3":0.014455,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0.002891,"13":0.005782,"14":0,"15":0,"16":0.002891,"17":0.002891,"18":0,"19":0.002891,"20":0.002891,"21":0.005782,"22":0,"23":0,"24":0.002891,"25":0.002891,"26":0.002891,"27":0,"28":0.002891,"29":0.002891,"30":0.005782,"31":0.002891,"32":0.005782,"33":0.002891,"34":0.002891,"35":0.008673,"36":0.002891,"37":0.014455,"38":0.002891,"39":0.008673,"40":0.020237,"41":0.002891,"42":0.008673,"43":0.112749,"44":0.005782,"45":0.011564,"46":0.005782,"47":0.069384,"48":0.20237,"49":0.011564,"50":0.011564,"51":0.002891,"52":0.106967,"53":0.008673,"54":0.011564,"55":0.020237,"56":0.939575,"57":0.575309,"58":0.02891,"59":0.008673,"60":0,"3.5":0,"3.6":0.002891},F:{"9":0,"11":0.005782,"12":0,"15":0,"16":0.008673,"17":0,"18":0.002891,"19":0.002891,"20":0.023128,"21":0.020237,"22":0.05782,"23":0.014455,"24":0,"25":0,"26":0,"27":0,"28":0.014455,"29":0.05782,"30":0.023128,"31":0.014455,"32":0,"33":0,"34":0,"35":0.002891,"36":0.002891,"37":0.002891,"38":0,"39":0,"40":0,"41":0,"42":0.005782,"43":0.069384,"44":0.008673,"45":0.002891,"46":0.002891,"47":0.008673,"48":0.234171,"49":0.109858,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.060711},E:{"4":0,"5":0,"6":0,"7":0,"8":0.008673,"9":0.008673,"10":0.040474,"11":0.300664,_:"0","3.1":0,"3.2":0,"5.1":0.008673,"6.1":0.002891,"7.1":0.002891,"9.1":0.054929,"10.1":0.043365},G:{"8":0.0042294714943,"3.2":0.000264341968394,"4.0-4.1":0.000264341968394,"4.2-4.3":0.0359505077015,"5.0-5.1":0.00607986527305,"6.0-6.1":0.00396512952591,"7.0-7.1":0.0169178859772,"8.1-8.4":0.0290776165233,"9.0-9.2":0.0177109118824,"9.3":0.122125989398,"10.0-10.2":0.226541066913,"10.3":0.47237909752,"11.0-11.2":1.70738477385},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.40267554724,"4.2-4.3":1.13368654069,"4.4":3.22140437792,"4.4.3-4.4.4":1.86469753414},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.0354987906977,"9":0.0118329302326,"10":0.020707627907,"11":0.437818418605,"5.5":0.00295823255814},B:{"12":0.043365,"13":0.034692,"14":0.080948,"15":0.11564,"16":0.005782,"17":0},P:{"4":3.05192337972,"5":0.9828227833,"6.2":1.16904183698},N:{"10":0.378007886926,"11":2.86369611307},J:{"7":0.3682462,"10":1.4729848},O:{"0":3.035543},H:{"0":18.9997552526},L:{"0":38.454781},R:{_:"0"},M:{"0":0.113744},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/GB.js b/publi/node_modules/caniuse-lite/data/regions/GB.js deleted file mode 100644 index 9838197..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/GB.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.006037,"12":0,"13":0,"14":0,"15":0.006037,"16":0,"17":0,"18":0.006037,"19":0,"20":0,"21":0,"22":0.012074,"23":0,"24":0,"25":0,"26":0.006037,"27":0,"28":0,"29":0.024148,"30":0,"31":0.006037,"32":0.006037,"33":0.006037,"34":0.024148,"35":0.006037,"36":0.012074,"37":0.012074,"38":0.024148,"39":0.012074,"40":0.006037,"41":0.024148,"42":0.006037,"43":0.06037,"44":0.012074,"45":0.006037,"46":0.018111,"47":0.024148,"48":0.012074,"49":0.42259,"50":0.030185,"51":0.06037,"52":0.018111,"53":0.030185,"54":0.193184,"55":0.078481,"56":0.102629,"57":0.084518,"58":0.132814,"59":0.169036,"60":0.277702,"61":7.111586,"62":9.616941,"63":0.042259,"64":0.024148,"65":0},C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0.006037,"17":0,"18":0,"19":0.006037,"20":0,"21":0.006037,"22":0.006037,"23":0.006037,"24":0.006037,"25":0.006037,"26":0.006037,"27":0.006037,"28":0.006037,"29":0.006037,"30":0.006037,"31":0.012074,"32":0.006037,"33":0.006037,"34":0.006037,"35":0.006037,"36":0.006037,"37":0,"38":0.018111,"39":0.006037,"40":0.006037,"41":0.006037,"42":0.006037,"43":0.012074,"44":0.006037,"45":0.036222,"46":0.006037,"47":0.018111,"48":0.06037,"49":0.012074,"50":0.018111,"51":0.030185,"52":0.319961,"53":0.024148,"54":0.036222,"55":0.072444,"56":1.557546,"57":1.171178,"58":0.018111,"59":0,"60":0,"3.5":0,"3.6":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0.006037,"31":0.012074,"32":0,"33":0,"34":0,"35":0,"36":0.012074,"37":0.006037,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0.024148,"44":0,"45":0,"46":0.006037,"47":0.006037,"48":0.319961,"49":0.162999,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.006037},E:{"4":0,"5":0.012074,"6":0,"7":0.006037,"8":0.054333,"9":0.066407,"10":0.187147,"11":1.847322,_:"0","3.1":0,"3.2":0,"5.1":0.048296,"6.1":0.024148,"7.1":0,"9.1":0.283739,"10.1":0.627848},G:{"8":0.0561705989198,"3.2":0.00351066243249,"4.0-4.1":0.00351066243249,"4.2-4.3":0.477450090818,"5.0-5.1":0.0807452359472,"6.0-6.1":0.0526599364873,"7.0-7.1":0.224682395679,"8.1-8.4":0.386172867574,"9.0-9.2":0.235214382977,"9.3":1.62192604381,"10.0-10.2":3.00863770464,"10.3":6.27355376685,"11.0-11.2":22.6753686514},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.0858243217961,"4.2-4.3":0.24162847521,"4.4":0.686594574369,"4.4.3-4.4.4":0.397432628625},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0.0060574991511,"7":0.0060574991511,"8":0.0848049881154,"9":0.0908624872666,"10":0.0666324906621,"11":3.31345203565,"5.5":0},B:{"12":0.036222,"13":0.078481,"14":0.446738,"15":1.901655,"16":0.458812,"17":0},P:{"4":0.487659797872,"5":0.635091829787,"6.2":2.07538937234},N:{"10":0.0361839130435,"11":0.241226086957},J:{"7":0.0206076,"10":0.0824304},O:{"0":0.717303},H:{"0":0.217610917526},L:{"0":23.087977},R:{_:"0"},M:{"0":0.202113},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/GD.js b/publi/node_modules/caniuse-lite/data/regions/GD.js deleted file mode 100644 index 0714a83..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/GD.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0.012272,"5":0.006136,"6":0.006136,"7":0.006136,"8":0.006136,"9":0.006136,"10":0.006136,"11":0.012272,"12":0.006136,"13":0.006136,"14":0.006136,"15":0.006136,"16":0,"17":0.006136,"18":0.006136,"19":0.006136,"20":0.006136,"21":0.036816,"22":0.03068,"23":0.006136,"24":0.006136,"25":0.012272,"26":0.006136,"27":0.006136,"28":0.012272,"29":0.006136,"30":0.006136,"31":0.012272,"32":0.006136,"33":0.018408,"34":0.03068,"35":0.067496,"36":0.06136,"37":0.018408,"38":0.036816,"39":0.03068,"40":0.024544,"41":0.049088,"42":0.042952,"43":0.018408,"44":0.024544,"45":0,"46":0.006136,"47":0,"48":0,"49":0.589056,"50":0.006136,"51":0.006136,"52":0.012272,"53":0.006136,"54":0.006136,"55":0.251576,"56":0.055224,"57":0.09204,"58":0.263848,"59":0.239304,"60":0.128856,"61":8.142472,"62":11.118432,"63":0.055224,"64":0.03068,"65":0},C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0.012272,"42":0,"43":0,"44":0.012272,"45":0,"46":0,"47":0.018408,"48":0.012272,"49":0.006136,"50":0.190216,"51":0.134992,"52":0.06136,"53":0.006136,"54":0.018408,"55":0.012272,"56":1.300832,"57":1.018576,"58":0.012272,"59":0,"60":0,"3.5":0,"3.6":0},F:{"9":0,"11":0,"12":0.006136,"15":0,"16":0,"17":0.006136,"18":0,"19":0,"20":0,"21":0,"22":0.012272,"23":0,"24":0,"25":0,"26":0,"27":0.085904,"28":0,"29":0.018408,"30":0,"31":0.018408,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0.012272,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0.104312,"44":0,"45":0,"46":0,"47":0,"48":0.263848,"49":0.196352,"50":0.006136,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},E:{"4":0,"5":0,"6":0,"7":0,"8":0.03068,"9":0.049088,"10":0.104312,"11":1.061528,_:"0","3.1":0,"3.2":0,"5.1":0.018408,"6.1":0.012272,"7.1":0,"9.1":0.202488,"10.1":0.423384},G:{"8":0.0155677343469,"3.2":0.000972983396679,"4.0-4.1":0.000972983396679,"4.2-4.3":0.132325741948,"5.0-5.1":0.0223786181236,"6.0-6.1":0.0145947509502,"7.0-7.1":0.0622709373875,"8.1-8.4":0.107028173635,"9.0-9.2":0.0651898875775,"9.3":0.449518329266,"10.0-10.2":0.833846770954,"10.3":1.73872132987,"11.0-11.2":6.28449975915},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.265633900842,"4.2-4.3":0.747861597755,"4.4":2.12507120674,"4.4.3-4.4.4":1.23008929467},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.0307394573643,"9":0.0860704806202,"10":0.0860704806202,"11":2.9694315814,"5.5":0},B:{"12":0.104312,"13":0.085904,"14":0.374296,"15":2.632344,"16":0.233168,"17":0},P:{"4":1.65232465823,"5":0.456563392405,"6.2":1.32620794937},N:{"10":0.103436307692,"11":0.344787692308},J:{"7":0.0278208,"10":0.1112832},O:{"0":0.23184},H:{"0":0.651157030928},L:{"0":44.04764},R:{_:"0"},M:{"0":0.146832},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/GE.js b/publi/node_modules/caniuse-lite/data/regions/GE.js deleted file mode 100644 index 4fb1ba7..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/GE.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0.007474,"10":0,"11":0.007474,"12":0,"13":0,"14":0,"15":0.007474,"16":0,"17":0.007474,"18":0.007474,"19":0,"20":0,"21":0,"22":0.022422,"23":0.007474,"24":0.007474,"25":0.007474,"26":0.007474,"27":0.014948,"28":0.007474,"29":0.029896,"30":0.014948,"31":0.014948,"32":0.007474,"33":0.022422,"34":0.007474,"35":0.007474,"36":0.007474,"37":0.007474,"38":0.007474,"39":0.014948,"40":0.014948,"41":0.022422,"42":0.014948,"43":0.044844,"44":0.022422,"45":0.014948,"46":0.014948,"47":0.082214,"48":0.022422,"49":1.248158,"50":0.014948,"51":0.03737,"52":0.03737,"53":0.029896,"54":0.03737,"55":0.082214,"56":0.142006,"57":0.246642,"58":0.246642,"59":0.194324,"60":0.29896,"61":13.729738,"62":21.771762,"63":0.11211,"64":0.104636,"65":0},C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0.03737,"16":0,"17":0,"18":0,"19":0,"20":0.007474,"21":0.007474,"22":0,"23":0.007474,"24":0,"25":0,"26":0,"27":0.007474,"28":0,"29":0.007474,"30":0,"31":0.014948,"32":0.007474,"33":0.007474,"34":0,"35":0,"36":0,"37":0.007474,"38":0,"39":0,"40":0,"41":0.007474,"42":0.007474,"43":0.014948,"44":0,"45":0.029896,"46":0,"47":0.029896,"48":0.029896,"49":0.007474,"50":0.007474,"51":0.014948,"52":0.22422,"53":0.059792,"54":0.03737,"55":0.029896,"56":0.889406,"57":0.724978,"58":0.022422,"59":0,"60":0,"3.5":0,"3.6":0.007474},F:{"9":0,"11":0,"12":0.007474,"15":0.014948,"16":0.007474,"17":0,"18":0.014948,"19":0.007474,"20":0.03737,"21":0,"22":0.022422,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0.014948,"29":0.007474,"30":0.022422,"31":0.014948,"32":0.007474,"33":0.014948,"34":0.007474,"35":0.014948,"36":0.209272,"37":0.03737,"38":0.022422,"39":0.014948,"40":0.014948,"41":0.022422,"42":0.052318,"43":0.156954,"44":0.014948,"45":0.052318,"46":0.089688,"47":0.067266,"48":4.043434,"49":2.451472,"50":0.014948,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.082214},E:{"4":0,"5":0.007474,"6":0,"7":0.03737,"8":0.014948,"9":0.007474,"10":0.044844,"11":0.343804,_:"0","3.1":0,"3.2":0,"5.1":0.007474,"6.1":0,"7.1":0,"9.1":0.044844,"10.1":0.127058},G:{"8":0.0157474758952,"3.2":0.000984217243449,"4.0-4.1":0.000984217243449,"4.2-4.3":0.133853545109,"5.0-5.1":0.0226369965993,"6.0-6.1":0.0147632586517,"7.0-7.1":0.0629899035807,"8.1-8.4":0.108263896779,"9.0-9.2":0.0659425553111,"9.3":0.454708366473,"10.0-10.2":0.843474177636,"10.3":1.75879621404,"11.0-11.2":6.35705917544},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.0913630028064,"4.2-4.3":0.257221992516,"4.4":0.730904022451,"4.4.3-4.4.4":0.423080982226},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0.00750993269231,"7":0.00750993269231,"8":0.210278115385,"9":0.0525695288462,"10":0.112648990385,"11":1.1715495,"5.5":0},B:{"12":0.03737,"13":0.829614,"14":1.64428,"15":0.426018,"16":0.082214,"17":0},P:{"4":0.587021918919,"5":0.293510959459,"6.2":0.617385121622},N:{"10":0.03368,"11":0.1684},J:{"7":0.0040416,"10":0.0161664},O:{"0":0.250074},H:{"0":1.03789086598},L:{"0":27.992794},R:{_:"0"},M:{"0":0.045468},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/GF.js b/publi/node_modules/caniuse-lite/data/regions/GF.js deleted file mode 100644 index 224363e..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/GF.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0.006017,"23":0,"24":0,"25":0.036102,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0.006017,"32":0,"33":0.012034,"34":0,"35":0,"36":0.006017,"37":0,"38":0.006017,"39":0.006017,"40":0.006017,"41":0.006017,"42":0,"43":0.012034,"44":0,"45":0.084238,"46":0.012034,"47":0.018051,"48":0.006017,"49":0.457292,"50":0.030085,"51":0.006017,"52":0.006017,"53":0,"54":0.006017,"55":0.162459,"56":0.373054,"57":0.210595,"58":0.06017,"59":0.108306,"60":0.156442,"61":7.455063,"62":9.633217,"63":0.072204,"64":0.024068,"65":0},C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0.006017,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0.006017,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0.012034,"33":0.006017,"34":0.006017,"35":0.006017,"36":0,"37":0,"38":0.006017,"39":0,"40":0.012034,"41":0.012034,"42":0,"43":0.024068,"44":0.006017,"45":0.030085,"46":0,"47":0.030085,"48":0.054153,"49":0.024068,"50":0.012034,"51":0.072204,"52":0.162459,"53":0.114323,"54":0.030085,"55":0.096272,"56":2.809939,"57":2.834007,"58":0.018051,"59":0,"60":0,"3.5":0,"3.6":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0.012034,"32":0,"33":0,"34":0,"35":0,"36":0.006017,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0.012034,"44":0,"45":0,"46":0,"47":0,"48":0.367037,"49":0.144408,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},E:{"4":0,"5":0.006017,"6":0.006017,"7":0,"8":0.012034,"9":0.006017,"10":0.162459,"11":1.907389,_:"0","3.1":0,"3.2":0,"5.1":0.024068,"6.1":0.036102,"7.1":0,"9.1":0.288816,"10.1":0.643819},G:{"8":0.019101389878,"3.2":0.00119383686737,"4.0-4.1":0.00119383686737,"4.2-4.3":0.162361813963,"5.0-5.1":0.0274582479496,"6.0-6.1":0.0179075530106,"7.0-7.1":0.0764055595119,"8.1-8.4":0.131322055411,"9.0-9.2":0.079987070114,"9.3":0.551552632727,"10.0-10.2":1.02311819534,"10.3":2.133386482,"11.0-11.2":7.71099232637},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.0802464218896,"4.2-4.3":0.225924541628,"4.4":0.641971375117,"4.4.3-4.4.4":0.371602661366},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.020307375,"9":0.04061475,"10":0.020307375,"11":1.8141255,"5.5":0},B:{"12":0.030085,"13":0.108306,"14":0.487377,"15":1.720862,"16":0.24068,"17":0},P:{"4":1.12393348858,"5":0.890664273973,"6.2":2.62958023744},N:{"10":0,"11":0.075677},J:{"7":0.0015932,"10":0.0063728},O:{"0":0.15932},H:{"0":0.207396589347},L:{"0":44.209541},R:{_:"0"},M:{"0":0.258895},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/GG.js b/publi/node_modules/caniuse-lite/data/regions/GG.js deleted file mode 100644 index 08657d1..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/GG.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0.097062,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0.006933,"35":0,"36":0,"37":0,"38":0.020799,"39":0,"40":0.006933,"41":0.006933,"42":0,"43":0.006933,"44":0.013866,"45":0.006933,"46":0.006933,"47":0.048531,"48":0.006933,"49":0.686367,"50":0,"51":0.187191,"52":0,"53":0.006933,"54":0,"55":0.006933,"56":0.013866,"57":0.034665,"58":0.152526,"59":0.083196,"60":0.256521,"61":7.432176,"62":9.879525,"63":0.013866,"64":0.027732,"65":0},C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0.013866,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0.020799,"31":0,"32":0.006933,"33":0,"34":0.013866,"35":0,"36":0.006933,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0.006933,"43":0,"44":0,"45":0.311985,"46":0.020799,"47":0,"48":0.180258,"49":0.006933,"50":0.013866,"51":0.006933,"52":0.13866,"53":0.013866,"54":0.006933,"55":0.027732,"56":2.01057,"57":1.469796,"58":0.083196,"59":0,"60":0,"3.5":0,"3.6":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0.006933,"44":0,"45":0,"46":0,"47":0,"48":0.221856,"49":0.076263,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},E:{"4":0,"5":0.062397,"6":0.006933,"7":0.020799,"8":0.034665,"9":0.062397,"10":0.256521,"11":3.549696,_:"0","3.1":0,"3.2":0,"5.1":0.055464,"6.1":0.173325,"7.1":0,"9.1":0.305052,"10.1":1.053816},G:{"8":0.0671182044409,"3.2":0.00419488777756,"4.0-4.1":0.00419488777756,"4.2-4.3":0.570504737748,"5.0-5.1":0.0964824188838,"6.0-6.1":0.0629233166633,"7.0-7.1":0.268472817764,"8.1-8.4":0.461437655531,"9.0-9.2":0.281057481096,"9.3":1.93803815323,"10.0-10.2":3.59501882537,"10.3":7.49626445849,"11.0-11.2":27.0947801552},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.067256393826,"4.2-4.3":0.189352616464,"4.4":0.538051150608,"4.4.3-4.4.4":0.311448839102},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0.006933,"8":0.048531,"9":0.041598,"10":0.027732,"11":6.135705,"5.5":0},B:{"12":0.013866,"13":0.055464,"14":0.41598,"15":2.045235,"16":0.367449,"17":0},P:{"4":0.569574593909,"5":0.443002461929,"6.2":1.48089394416},N:{"10":0.0138015,"11":0.1518165},J:{"7":0.0036804,"10":0.0147216},O:{"0":0.006134},H:{"0":0.00871091237113},L:{"0":13.568328},R:{_:"0"},M:{"0":0.340437},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/GH.js b/publi/node_modules/caniuse-lite/data/regions/GH.js deleted file mode 100644 index 8a2c45b..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/GH.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.005518,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0.002759,"19":0,"20":0,"21":0,"22":0,"23":0.002759,"24":0.002759,"25":0.005518,"26":0,"27":0,"28":0.002759,"29":0.002759,"30":0.002759,"31":0.002759,"32":0.002759,"33":0.011036,"34":0,"35":0.002759,"36":0.002759,"37":0.002759,"38":0.002759,"39":0.002759,"40":0.008277,"41":0,"42":0.002759,"43":0.033108,"44":0.002759,"45":0.002759,"46":0.005518,"47":0.002759,"48":0.005518,"49":0.102083,"50":0.013795,"51":0.008277,"52":0.002759,"53":0.005518,"54":0.005518,"55":0.033108,"56":0.022072,"57":0.080011,"58":0.038626,"59":0.030349,"60":0.049662,"61":1.280176,"62":1.812663,"63":0.030349,"64":0.019313,"65":0},C:{"2":0,"3":0.002759,"4":0.005518,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0.002759,"11":0.002759,"12":0.002759,"13":0.002759,"14":0.002759,"15":0.002759,"16":0.005518,"17":0.002759,"18":0.002759,"19":0.002759,"20":0.002759,"21":0.005518,"22":0.002759,"23":0.002759,"24":0.002759,"25":0.002759,"26":0.002759,"27":0.002759,"28":0.005518,"29":0.008277,"30":0.008277,"31":0.005518,"32":0.005518,"33":0.005518,"34":0.008277,"35":0.008277,"36":0.008277,"37":0.008277,"38":0.013795,"39":0.008277,"40":0.016554,"41":0.011036,"42":0.016554,"43":0.044144,"44":0.033108,"45":0.019313,"46":0.016554,"47":0.071734,"48":0.041385,"49":0.02759,"50":0.019313,"51":0.013795,"52":0.071734,"53":0.022072,"54":0.041385,"55":0.074493,"56":0.8277,"57":0.720099,"58":0.093806,"59":0,"60":0,"3.5":0,"3.6":0},F:{"9":0,"11":0.002759,"12":0.002759,"15":0.005518,"16":0.005518,"17":0.002759,"18":0.008277,"19":0.008277,"20":0.057939,"21":0.008277,"22":0.011036,"23":0.035867,"24":0.002759,"25":0.002759,"26":0.005518,"27":0.002759,"28":0.035867,"29":0.041385,"30":0.057939,"31":0.057939,"32":0.002759,"33":0.002759,"34":0.002759,"35":0.002759,"36":0.008277,"37":0.016554,"38":0,"39":0,"40":0.002759,"41":0,"42":0.011036,"43":0.080011,"44":0.011036,"45":0.008277,"46":0.002759,"47":0.005518,"48":0.251069,"49":0.13795,"50":0.002759,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0.002759,"12.1":0.093806},E:{"4":0,"5":0.002759,"6":0,"7":0.005518,"8":0.005518,"9":0.008277,"10":0.019313,"11":0.102083,_:"0","3.1":0,"3.2":0,"5.1":0.002759,"6.1":0.002759,"7.1":0,"9.1":0.019313,"10.1":0.052421},G:{"8":0.0102419603921,"3.2":0.000640122524505,"4.0-4.1":0.000640122524505,"4.2-4.3":0.0870566633327,"5.0-5.1":0.0147228180636,"6.0-6.1":0.00960183786757,"7.0-7.1":0.0409678415683,"8.1-8.4":0.0704134776955,"9.0-9.2":0.0428882091418,"9.3":0.295736606321,"10.0-10.2":0.548585003501,"10.3":1.14389895129,"11.0-11.2":4.13455138578},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.155113774556,"4.2-4.3":0.436704934518,"4.4":1.24091019645,"4.4.3-4.4.4":0.718296094481},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.0195544125,"9":0.0083804625,"10":0.0195544125,"11":0.1759897125,"5.5":0},B:{"12":0.041385,"13":0.049662,"14":0.066216,"15":0.113119,"16":0.013795,"17":0},P:{"4":1.09155074586,"5":0.45906339779,"6.2":0.295840856354},N:{"10":0.199215804878,"11":1.16209219512},J:{"7":0.036205,"10":0.14482},O:{"0":10.267738},H:{"0":30.1016705859},L:{"0":24.438024},R:{_:"0"},M:{"0":0.629967},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/GI.js b/publi/node_modules/caniuse-lite/data/regions/GI.js deleted file mode 100644 index 87d4f9e..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/GI.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.006903,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0.262314,"21":0,"22":0.006903,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0.607464,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0.006903,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0.055224,"42":0,"43":0.006903,"44":0,"45":0,"46":0.013806,"47":0,"48":0,"49":0.469404,"50":0.013806,"51":0.006903,"52":0,"53":0.020709,"54":0.144963,"55":0.006903,"56":0.110448,"57":0.234702,"58":0.096642,"59":0.06903,"60":0.124254,"61":10.326888,"62":13.52988,"63":0.096642,"64":0.124254,"65":0},C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0.006903,"21":0,"22":0,"23":0.006903,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0.027612,"34":0,"35":0,"36":0.041418,"37":0,"38":0.006903,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0.06903,"46":0,"47":0.006903,"48":0.034515,"49":0,"50":0.041418,"51":0.013806,"52":0.082836,"53":0,"54":0.027612,"55":0.124254,"56":1.698138,"57":1.221831,"58":0.027612,"59":0,"60":0,"3.5":0,"3.6":0.041418},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0.006903,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0.241605,"49":0.186381,"50":0.013806,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},E:{"4":0,"5":0.013806,"6":0,"7":0.006903,"8":0.027612,"9":0.020709,"10":0.172575,"11":1.981161,_:"0","3.1":0,"3.2":0,"5.1":0.006903,"6.1":0.006903,"7.1":0,"9.1":0.635076,"10.1":0.545337},G:{"8":0.0530664932987,"3.2":0.00331665583117,"4.0-4.1":0.00331665583117,"4.2-4.3":0.451065193039,"5.0-5.1":0.0762830841168,"6.0-6.1":0.0497498374675,"7.0-7.1":0.212265973195,"8.1-8.4":0.364832141428,"9.0-9.2":0.222215940688,"9.3":1.532294994,"10.0-10.2":2.84237404731,"10.3":5.92686397029,"11.0-11.2":21.4222800135},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.0672933021515,"4.2-4.3":0.189456527596,"4.4":0.538346417212,"4.4.3-4.4.4":0.31161975304},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":2.202057,"9":0.089739,"10":0.034515,"11":3.078738,"5.5":0},B:{"12":0.041418,"13":0.151866,"14":0.386568,"15":1.428921,"16":0.234702,"17":0},P:{"4":0.786055035294,"5":0.879912352941,"6.2":1.32573461176},N:{"10":0,"11":0.058843},J:{"7":0.0012388,"10":0.0049552},O:{"0":0.210596},H:{"0":0.0029320395189},L:{"0":18.163505},R:{_:"0"},M:{"0":0.275633},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/GL.js b/publi/node_modules/caniuse-lite/data/regions/GL.js deleted file mode 100644 index a3c86e0..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/GL.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0.005686,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0.005686,"30":0,"31":0,"32":0.005686,"33":0,"34":0.034116,"35":0,"36":0,"37":0,"38":0.005686,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0.011372,"46":0.011372,"47":0,"48":0,"49":0.25587,"50":0.045488,"51":0.005686,"52":0,"53":0.005686,"54":0,"55":0.011372,"56":0.005686,"57":0.022744,"58":0.022744,"59":0.011372,"60":0.125092,"61":4.708008,"62":7.30651,"63":0.164894,"64":0,"65":0},C:{"2":0,"3":0.005686,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0.017058,"34":0.005686,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0.005686,"44":0,"45":0.022744,"46":0,"47":0.011372,"48":0.039802,"49":0.022744,"50":0,"51":0.005686,"52":0.05686,"53":0.005686,"54":0.011372,"55":0.045488,"56":1.973042,"57":1.529534,"58":0.005686,"59":0,"60":0,"3.5":0,"3.6":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0.011372,"44":0,"45":0,"46":0,"47":0,"48":0.068232,"49":0.02843,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.02843},E:{"4":0,"5":0,"6":0,"7":0,"8":0.017058,"9":0.011372,"10":0.36959,"11":1.313466,_:"0","3.1":0,"3.2":0,"5.1":0.011372,"6.1":0.017058,"7.1":0,"9.1":0.403706,"10.1":1.79109},G:{"8":0.0378299563913,"3.2":0.00236437227445,"4.0-4.1":0.00236437227445,"4.2-4.3":0.321554629326,"5.0-5.1":0.0543805623125,"6.0-6.1":0.0354655841168,"7.0-7.1":0.151319825565,"8.1-8.4":0.26008095019,"9.0-9.2":0.158412942388,"9.3":1.0923399908,"10.0-10.2":2.02626703921,"10.3":4.22513325445,"11.0-11.2":15.2714805207},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.0603409167446,"4.2-4.3":0.169882888681,"4.4":0.482727333957,"4.4.3-4.4.4":0.279424860617},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.05686,"9":0.02843,"10":0.017058,"11":5.731488,"5.5":0},B:{"12":0.011372,"13":0.096662,"14":0.551542,"15":1.665998,"16":0.210382,"17":0},P:{"4":9.99737629224,"5":1.79124323265,"6.2":1.9255864751},N:{"10":0.051768,"11":0.025884},J:{"7":0,"10":0},O:{"0":2.959404},H:{"0":1.16400170103},L:{"0":18.9709},R:{_:"0"},M:{"0":0.056082},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/GM.js b/publi/node_modules/caniuse-lite/data/regions/GM.js deleted file mode 100644 index 6e10361..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/GM.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.009572,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0.002393,"18":0,"19":0,"20":0,"21":0.002393,"22":0,"23":0.035895,"24":0,"25":0.009572,"26":0.002393,"27":0.002393,"28":0,"29":0.002393,"30":0.002393,"31":0,"32":0.002393,"33":0.009572,"34":0.002393,"35":0.002393,"36":0.002393,"37":0.002393,"38":0.004786,"39":0.002393,"40":0.098113,"41":0.002393,"42":0.004786,"43":0.016751,"44":0.004786,"45":0.002393,"46":0.002393,"47":0,"48":0,"49":0.067004,"50":0.002393,"51":0.002393,"52":0.002393,"53":0.021537,"54":0.04786,"55":0.014358,"56":0.004786,"57":0.193833,"58":0.026323,"59":0.014358,"60":0.031109,"61":1.182142,"62":1.153426,"63":0.014358,"64":0.019144,"65":0},C:{"2":0,"3":0.014358,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.002393,"12":0.004786,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0.002393,"27":0,"28":0.004786,"29":0.016751,"30":0,"31":0.002393,"32":0.002393,"33":0.002393,"34":0.002393,"35":0.002393,"36":0.016751,"37":0.009572,"38":0.002393,"39":0.002393,"40":0.004786,"41":0,"42":0.004786,"43":0.021537,"44":0.021537,"45":0.002393,"46":0.009572,"47":0.019144,"48":0.040681,"49":0.019144,"50":0.009572,"51":0.004786,"52":0.07179,"53":0.004786,"54":0.011965,"55":0.009572,"56":0.595857,"57":0.696363,"58":0.102899,"59":0.002393,"60":0,"3.5":0,"3.6":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0.007179,"17":0,"18":0.014358,"19":0.002393,"20":0.011965,"21":0.004786,"22":0.002393,"23":0.004786,"24":0,"25":0,"26":0,"27":0,"28":0.002393,"29":0.007179,"30":0.004786,"31":0.009572,"32":0,"33":0,"34":0,"35":0.002393,"36":0.009572,"37":0.002393,"38":0,"39":0,"40":0,"41":0,"42":0.002393,"43":0.016751,"44":0,"45":0.002393,"46":0,"47":0,"48":0.198619,"49":0.122043,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.160331},E:{"4":0,"5":0,"6":0,"7":0,"8":0.002393,"9":0,"10":0.002393,"11":0.038288,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0.002393,"7.1":0,"9.1":0.007179,"10.1":0.019144},G:{"8":0.00987384996999,"3.2":0.000617115623125,"4.0-4.1":0.000617115623125,"4.2-4.3":0.0839277247449,"5.0-5.1":0.0141936593319,"6.0-6.1":0.00925673434687,"7.0-7.1":0.03949539988,"8.1-8.4":0.0678827185437,"9.0-9.2":0.0413467467493,"9.3":0.285107417884,"10.0-10.2":0.528868089018,"10.3":1.10278561852,"11.0-11.2":3.98594980976},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.514059340505,"4.2-4.3":1.44727475865,"4.4":4.11247472404,"4.4.3-4.4.4":2.3804901768},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.019144,"9":0.002393,"10":0.007179,"11":0.136401,"5.5":0},B:{"12":0.050253,"13":0.033502,"14":0.050253,"15":0.074183,"16":0.009572,"17":0},P:{"4":2.52430688,"5":0.54831256,"6.2":0.80695056},N:{"10":0.1255155,"11":0.6275775},J:{"7":0.0106498,"10":0.0425992},O:{"0":13.16011},H:{"0":16.3913335601},L:{"0":35.875969},R:{_:"0"},M:{"0":0.129319},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/GN.js b/publi/node_modules/caniuse-lite/data/regions/GN.js deleted file mode 100644 index 60402cd..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/GN.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.002338,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0.001169,"18":0.002338,"19":0,"20":0,"21":0,"22":0,"23":0.001169,"24":0,"25":0.001169,"26":0.001169,"27":0,"28":0.001169,"29":0.001169,"30":0,"31":0,"32":0,"33":0.004676,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0.005845,"41":0,"42":0,"43":0.015197,"44":0,"45":0.002338,"46":0.001169,"47":0.002338,"48":0,"49":0.043253,"50":0.002338,"51":0,"52":0.001169,"53":0,"54":0,"55":0.031563,"56":0.007014,"57":0.016366,"58":0.022211,"59":0.004676,"60":0.024549,"61":0.171843,"62":0.234969,"63":0,"64":0.002338,"65":0},C:{"2":0,"3":0.003507,"4":0.001169,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.001169,"12":0.001169,"13":0,"14":0,"15":0,"16":0,"17":0.002338,"18":0,"19":0.002338,"20":0.001169,"21":0.001169,"22":0.001169,"23":0,"24":0.001169,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0.001169,"31":0.002338,"32":0.030394,"33":0.001169,"34":0.001169,"35":0.002338,"36":0,"37":0.001169,"38":0.002338,"39":0.002338,"40":0.002338,"41":0.001169,"42":0.001169,"43":0.003507,"44":0.002338,"45":0.002338,"46":0.002338,"47":0.009352,"48":0.002338,"49":0.002338,"50":0.001169,"51":0.001169,"52":0.008183,"53":0.001169,"54":0.002338,"55":0.005845,"56":0.122745,"57":0.075985,"58":0.002338,"59":0,"60":0,"3.5":0,"3.6":0},F:{"9":0,"11":0,"12":0.001169,"15":0.001169,"16":0.002338,"17":0,"18":0,"19":0,"20":0.017535,"21":0,"22":0.001169,"23":0.038577,"24":0,"25":0,"26":0.002338,"27":0,"28":0.001169,"29":0.003507,"30":0.003507,"31":0.002338,"32":0,"33":0,"34":0,"35":0,"36":0.001169,"37":0.002338,"38":0,"39":0,"40":0,"41":0,"42":0.001169,"43":0.037408,"44":0,"45":0.001169,"46":0,"47":0,"48":0.029225,"49":0.009352,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.032732},E:{"4":0,"5":0,"6":0,"7":0,"8":0.003507,"9":0.004676,"10":0.003507,"11":0.008183,_:"0","3.1":0,"3.2":0,"5.1":0.001169,"6.1":0,"7.1":0,"9.1":0.012859,"10.1":0.010521},G:{"8":0.00347914062813,"3.2":0.000217446289258,"4.0-4.1":0.000217446289258,"4.2-4.3":0.0295726953391,"5.0-5.1":0.00500126465293,"6.0-6.1":0.00326169433887,"7.0-7.1":0.0139165625125,"8.1-8.4":0.0239190918184,"9.0-9.2":0.0145689013803,"9.3":0.100460185637,"10.0-10.2":0.186351469894,"10.3":0.388576518904,"11.0-11.2":1.40448558232},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.280016655753,"4.2-4.3":0.788354584659,"4.4":2.24013324602,"4.4.3-4.4.4":1.29669251356},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0.00117362055336,"8":0.0105625849802,"9":0.00117362055336,"10":0.0434239604743,"11":0.238244972332,"5.5":0},B:{"12":0.014028,"13":0.004676,"14":0.016366,"15":0.007014,"16":0,"17":0},P:{"4":1.04369966026,"5":0.39518725,"6.2":0.141862089744},N:{"10":0.0899156363636,"11":0.157352363636},J:{"7":0.0052986,"10":0.0211944},O:{"0":2.402032},H:{"0":24.4798961649},L:{"0":56.919362},R:{_:"0"},M:{"0":0.406226},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/GP.js b/publi/node_modules/caniuse-lite/data/regions/GP.js deleted file mode 100644 index 5ffa0df..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/GP.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.005984,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0.053856,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0.041888,"33":0,"34":0.005984,"35":0.005984,"36":0,"37":0,"38":0,"39":0.011968,"40":0.005984,"41":0,"42":0,"43":0.011968,"44":0.011968,"45":0,"46":0.053856,"47":0.005984,"48":0.011968,"49":0.466752,"50":0.017952,"51":0.023936,"52":0.083776,"53":0.005984,"54":0.005984,"55":0.011968,"56":0.017952,"57":0.05984,"58":0.083776,"59":0.2992,"60":0.05984,"61":6.720032,"62":9.48464,"63":0.011968,"64":0.017952,"65":0},C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0.005984,"25":0.023936,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0.005984,"33":0,"34":0.005984,"35":0.005984,"36":0,"37":0,"38":0.02992,"39":0.005984,"40":0.011968,"41":0,"42":0.02992,"43":0.047872,"44":0,"45":0.023936,"46":0.011968,"47":0.017952,"48":0.400928,"49":0.035904,"50":0.02992,"51":0.005984,"52":0.365024,"53":0.011968,"54":0.047872,"55":0.107712,"56":1.980704,"57":1.76528,"58":0.005984,"59":0,"60":0,"3.5":0,"3.6":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0.005984,"32":0,"33":0,"34":0,"35":0,"36":0.011968,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0.005984,"44":0,"45":0,"46":0.023936,"47":0.005984,"48":0.263296,"49":0.185504,"50":0.005984,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},E:{"4":0,"5":0.005984,"6":0.011968,"7":0.095744,"8":0.077792,"9":0.02992,"10":0.311168,"11":2.100384,_:"0","3.1":0,"3.2":0,"5.1":0.083776,"6.1":0.041888,"7.1":0,"9.1":1.310496,"10.1":0.939488},G:{"8":0.0243984284857,"3.2":0.00152490178036,"4.0-4.1":0.00152490178036,"4.2-4.3":0.207386642128,"5.0-5.1":0.0350727409482,"6.0-6.1":0.0228735267053,"7.0-7.1":0.0975937139428,"8.1-8.4":0.167739195839,"9.0-9.2":0.102168419284,"9.3":0.704504622525,"10.0-10.2":1.30684082577,"10.3":2.7249994815,"11.0-11.2":9.84934059932},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.115079064546,"4.2-4.3":0.323991827877,"4.4":0.92063251637,"4.4.3-4.4.4":0.532904591207},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.017952,"9":0.02992,"10":0.041888,"11":1.627648,"5.5":0},B:{"12":0.047872,"13":0.08976,"14":0.53856,"15":1.861024,"16":0.131648,"17":0},P:{"4":1.2177561407,"5":1.01300068342,"6.2":2.05833117588},N:{"10":0.0116464,"11":0.1048176},J:{"7":0.0032128,"10":0.0128512},O:{"0":0.052208},H:{"0":0.239531628866},L:{"0":41.715376},R:{_:"0"},M:{"0":0.156624},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/GQ.js b/publi/node_modules/caniuse-lite/data/regions/GQ.js deleted file mode 100644 index 9f44850..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/GQ.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0.004709,"7":0,"8":0,"9":0,"10":0,"11":0.018836,"12":0,"13":0,"14":0.004709,"15":0,"16":0,"17":0.004709,"18":0.004709,"19":0,"20":0,"21":0.004709,"22":0.009418,"23":0.004709,"24":0.004709,"25":0,"26":0.004709,"27":0,"28":0.009418,"29":0.004709,"30":0.004709,"31":0.009418,"32":0,"33":0.018836,"34":0.004709,"35":0,"36":0,"37":0.004709,"38":0,"39":0,"40":0,"41":0.004709,"42":0,"43":0.028254,"44":0.004709,"45":0.004709,"46":0.004709,"47":0.009418,"48":0.014127,"49":0.089471,"50":0.098889,"51":0.014127,"52":0.004709,"53":0.042381,"54":0.395556,"55":0.211905,"56":0.098889,"57":0.390847,"58":0.569789,"59":0.04709,"60":0.211905,"61":3.512914,"62":4.624238,"63":0.004709,"64":0.023545,"65":0},C:{"2":0,"3":0.070635,"4":0.009418,"5":0,"6":0.004709,"7":0,"8":0,"9":0,"10":0,"11":0.004709,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0.004709,"22":0,"23":0.014127,"24":0.042381,"25":0.009418,"26":0.018836,"27":0.009418,"28":0.004709,"29":0.004709,"30":0.480318,"31":0.061217,"32":0.009418,"33":0.061217,"34":0.103598,"35":0.070635,"36":0.009418,"37":0.004709,"38":0.028254,"39":0,"40":0.004709,"41":0.009418,"42":0.004709,"43":0.136561,"44":0.037672,"45":0.004709,"46":0.028254,"47":0.108307,"48":0.009418,"49":0.018836,"50":0.18836,"51":0.009418,"52":0.193069,"53":0.028254,"54":0.065926,"55":0.386138,"56":1.370319,"57":1.262012,"58":0.014127,"59":0,"60":0,"3.5":0,"3.6":0.023545},F:{"9":0,"11":0,"12":0.032963,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0.023545,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0.004709,"43":0,"44":0,"45":0.04709,"46":0,"47":0,"48":0.183651,"49":0.023545,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.004709},E:{"4":0,"5":0.009418,"6":0,"7":0.004709,"8":0.004709,"9":0,"10":0.028254,"11":0.348466,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0.004709,"7.1":0,"9.1":0.028254,"10.1":0.089471},G:{"8":0.00627384676935,"3.2":0.000392115423085,"4.0-4.1":0.000392115423085,"4.2-4.3":0.0533276975395,"5.0-5.1":0.00901865473095,"6.0-6.1":0.00588173134627,"7.0-7.1":0.0250953870774,"8.1-8.4":0.0431326965393,"9.0-9.2":0.0262717333467,"9.3":0.181157325465,"10.0-10.2":0.336042917584,"10.3":0.700710261052,"11.0-11.2":2.5326735177},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.457960631431,"4.2-4.3":1.28933531618,"4.4":3.66368505145,"4.4.3-4.4.4":2.12071000094},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.175336251429,"9":0.0146113542857,"10":0.0974090285714,"11":3.12195936571,"5.5":0},B:{"12":0.089471,"13":0.202487,"14":0.758149,"15":0.442646,"16":0.014127,"17":0},P:{"4":1.06246836975,"5":1.09341405042,"6.2":0.299141579832},N:{"10":0.0349206,"11":0.1978834},J:{"7":0.0084656,"10":0.0338624},O:{"0":17.412681},H:{"0":0.400734158076},L:{"0":35.665121},R:{_:"0"},M:{"0":0.100529},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/GR.js b/publi/node_modules/caniuse-lite/data/regions/GR.js deleted file mode 100644 index 8650440..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/GR.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.051877,"12":0,"13":0,"14":0,"15":0,"16":0.07411,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0.088932,"23":0.014822,"24":0,"25":0,"26":0.044466,"27":0,"28":0,"29":0.007411,"30":0.029644,"31":0.007411,"32":0.007411,"33":0.007411,"34":0.125987,"35":0.014822,"36":0.022233,"37":0.007411,"38":0.059288,"39":0.022233,"40":0.014822,"41":0.007411,"42":0.007411,"43":0.044466,"44":0.044466,"45":0.007411,"46":0.051877,"47":0.066699,"48":0.059288,"49":3.008866,"50":0.07411,"51":0.014822,"52":0.014822,"53":0.044466,"54":0.059288,"55":0.066699,"56":0.081521,"57":0.059288,"58":0.133398,"59":0.088932,"60":0.14822,"61":11.679736,"62":17.741934,"63":0.081521,"64":0.022233,"65":0},C:{"2":0,"3":0,"4":0.081521,"5":0.081521,"6":0.081521,"7":0,"8":0,"9":0,"10":0.007411,"11":0,"12":0.022233,"13":0,"14":0,"15":0,"16":0.007411,"17":0,"18":0.037055,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0.007411,"32":0,"33":0.007411,"34":0.007411,"35":0.007411,"36":0.007411,"37":0.007411,"38":0.007411,"39":0.007411,"40":0.007411,"41":0.007411,"42":0.007411,"43":0.037055,"44":0.007411,"45":0.037055,"46":0.007411,"47":0.059288,"48":0.118576,"49":0.051877,"50":0.037055,"51":0.022233,"52":1.504433,"53":0.044466,"54":0.066699,"55":0.066699,"56":4.276147,"57":3.646212,"58":0.029644,"59":0,"60":0,"3.5":0,"3.6":0.044466},F:{"9":0,"11":0,"12":0.140809,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0.022233,"27":0,"28":0,"29":0,"30":0,"31":0.185275,"32":0,"33":0,"34":0,"35":0,"36":0.07411,"37":0,"38":0,"39":0,"40":0.007411,"41":0,"42":0,"43":0.029644,"44":0.007411,"45":0.029644,"46":0.007411,"47":0.007411,"48":0.489126,"49":0.355728,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.029644},E:{"4":0,"5":0.037055,"6":0,"7":0.014822,"8":0.022233,"9":0.014822,"10":0.037055,"11":0.459482,_:"0","3.1":0,"3.2":0,"5.1":0.096343,"6.1":0.007411,"7.1":0.007411,"9.1":0.118576,"10.1":0.140809},G:{"8":0.0109345917183,"3.2":0.000683411982396,"4.0-4.1":0.000683411982396,"4.2-4.3":0.0929440296059,"5.0-5.1":0.0157184755951,"6.0-6.1":0.0102511797359,"7.0-7.1":0.0437383668734,"8.1-8.4":0.0751753180636,"9.0-9.2":0.0457886028206,"9.3":0.315736335867,"10.0-10.2":0.585684068914,"10.3":1.22125721254,"11.0-11.2":4.4141579943},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.148821482694,"4.2-4.3":0.418989712816,"4.4":1.19057186155,"4.4.3-4.4.4":0.689157942937},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0.022233,"7":0.103754,"8":0.333495,"9":0.214919,"10":0.170453,"11":2.00097,"5.5":0},B:{"12":0.029644,"13":0.022233,"14":0.237152,"15":0.948608,"16":0.133398,"17":0},P:{"4":0.76016840367,"5":0.380084201835,"6.2":1.1613683945},N:{"10":0.0429034285714,"11":0.257420571429},J:{"7":0.0015534,"10":0.0062136},O:{"0":0.111327},H:{"0":0.120103798969},L:{"0":32.608561},R:{_:"0"},M:{"0":0.116505},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/GT.js b/publi/node_modules/caniuse-lite/data/regions/GT.js deleted file mode 100644 index 104ffc4..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/GT.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.016362,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0.016362,"23":0,"24":0,"25":0,"26":0.005454,"27":0,"28":0,"29":0,"30":0,"31":0.005454,"32":0,"33":0,"34":0.016362,"35":0,"36":0.005454,"37":0.005454,"38":0.032724,"39":0.005454,"40":0.010908,"41":0.005454,"42":0.005454,"43":0.010908,"44":0.010908,"45":0.016362,"46":0.005454,"47":0.005454,"48":0.016362,"49":0.747198,"50":0.032724,"51":0.005454,"52":0.005454,"53":0.010908,"54":0.016362,"55":0.032724,"56":0.087264,"57":0.05454,"58":0.08181,"59":0.13635,"60":0.16362,"61":8.175546,"62":11.856996,"63":0.032724,"64":0.005454,"65":0},C:{"2":0,"3":0.005454,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0.005454,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0.005454,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0.005454,"34":0,"35":0,"36":0,"37":0,"38":0.005454,"39":0.005454,"40":0,"41":0.005454,"42":0.010908,"43":0.010908,"44":0,"45":0.02727,"46":0.005454,"47":0.016362,"48":0.065448,"49":0.010908,"50":0.016362,"51":0.016362,"52":0.10908,"53":0.021816,"54":0.032724,"55":0.032724,"56":1.194426,"57":1.041714,"58":0.016362,"59":0,"60":0,"3.5":0,"3.6":0.005454},F:{"9":0,"11":0,"12":0,"15":0.032724,"16":0,"17":0.005454,"18":0,"19":0,"20":0,"21":0,"22":0.005454,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0.005454,"29":0.005454,"30":0.010908,"31":0.010908,"32":0,"33":0,"34":0,"35":0,"36":0.010908,"37":0.005454,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0.032724,"44":0.005454,"45":0.005454,"46":0.005454,"47":0,"48":0.21816,"49":0.141804,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.016362},E:{"4":0,"5":0.005454,"6":0,"7":0.005454,"8":0.059994,"9":0.08181,"10":0.169074,"11":1.068984,_:"0","3.1":0,"3.2":0,"5.1":0.016362,"6.1":0.010908,"7.1":0,"9.1":0.223614,"10.1":0.38178},G:{"8":0.00980733426685,"3.2":0.000612958391678,"4.0-4.1":0.000612958391678,"4.2-4.3":0.0833623412683,"5.0-5.1":0.0140980430086,"6.0-6.1":0.00919437587518,"7.0-7.1":0.0392293370674,"8.1-8.4":0.0674254230846,"9.0-9.2":0.0410682122424,"9.3":0.283186776955,"10.0-10.2":0.525305341668,"10.3":1.09535664593,"11.0-11.2":3.95909825185},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.174183461179,"4.2-4.3":0.490393436857,"4.4":1.39346768943,"4.4.3-4.4.4":0.806603412535},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0.010908,"7":0,"8":0.02727,"9":0.021816,"10":0.021816,"11":0.834462,"5.5":0},B:{"12":0.021816,"13":0.043632,"14":0.125442,"15":0.294516,"16":0.049086,"17":0},P:{"4":2.26859486197,"5":0.623352642254,"6.2":0.735760495775},N:{"10":0.0344961176471,"11":0.160981882353},J:{"7":0.0172748,"10":0.0690992},O:{"0":1.118316},H:{"0":2.76307754639},L:{"0":50.056562},R:{_:"0"},M:{"0":0.11365},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/GU.js b/publi/node_modules/caniuse-lite/data/regions/GU.js deleted file mode 100644 index 56e1cfb..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/GU.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0.005089,"23":0,"24":0,"25":0,"26":0.010178,"27":0,"28":0.005089,"29":0.010178,"30":0.010178,"31":0.005089,"32":0,"33":0,"34":0,"35":0,"36":0.010178,"37":0.020356,"38":0.020356,"39":0.005089,"40":0,"41":0,"42":0,"43":0.015267,"44":0,"45":0.005089,"46":0,"47":0,"48":0.010178,"49":0.524167,"50":0,"51":0.015267,"52":0.005089,"53":0.005089,"54":0.05089,"55":0.071246,"56":0.020356,"57":0.025445,"58":0.035623,"59":0.020356,"60":0.162848,"61":6.188224,"62":7.027909,"63":0.045801,"64":0.035623,"65":0},C:{"2":0,"3":0,"4":0,"5":0,"6":0.005089,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0.005089,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0.005089,"30":0,"31":0.005089,"32":0,"33":0,"34":0.010178,"35":0,"36":0,"37":0,"38":0.005089,"39":0,"40":0,"41":0.005089,"42":0,"43":0.010178,"44":0,"45":0.005089,"46":0.005089,"47":0.020356,"48":0.055979,"49":0.005089,"50":0.005089,"51":0,"52":0.106869,"53":0.010178,"54":0.025445,"55":0.015267,"56":1.073779,"57":0.71246,"58":0,"59":0,"60":0,"3.5":0,"3.6":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0.005089,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0.005089,"29":0.010178,"30":0.005089,"31":0.005089,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0.020356,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0.045801,"44":0,"45":0,"46":0,"47":0,"48":0.05089,"49":0.040712,"50":0.005089,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},E:{"4":0,"5":0.005089,"6":0.005089,"7":0.010178,"8":0.081424,"9":0.040712,"10":0.20356,"11":1.414742,_:"0","3.1":0,"3.2":0,"5.1":0.010178,"6.1":0.010178,"7.1":0,"9.1":0.249361,"10.1":0.600502},G:{"8":0.0686024868974,"3.2":0.00428765543109,"4.0-4.1":0.00428765543109,"4.2-4.3":0.583121138628,"5.0-5.1":0.098616074915,"6.0-6.1":0.0643148314663,"7.0-7.1":0.27440994759,"8.1-8.4":0.471642097419,"9.0-9.2":0.287272913883,"9.3":1.98089680916,"10.0-10.2":3.67452070444,"10.3":7.66204025535,"11.0-11.2":27.6939664294},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.0891228437792,"4.2-4.3":0.250915083255,"4.4":0.712982750234,"4.4.3-4.4.4":0.412707322732},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.0204250033898,"9":0.0255312542373,"10":0.0204250033898,"11":1.43996273898,"5.5":0},B:{"12":0.010178,"13":0.173026,"14":0.25445,"15":1.368941,"16":0.183204,"17":0},P:{"4":0.895591990654,"5":0.940938420561,"6.2":3.01553758879},N:{"10":0,"11":0.019644},J:{"7":0.0019644,"10":0.0078576},O:{"0":0.112953},H:{"0":0.344056896907},L:{"0":23.444962},R:{_:"0"},M:{"0":0.324126},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/GW.js b/publi/node_modules/caniuse-lite/data/regions/GW.js deleted file mode 100644 index 2dfc321..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/GW.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0.01496,"7":0,"8":0,"9":0,"10":0,"11":0.00561,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0.00187,"27":0,"28":0,"29":0.00187,"30":0.00374,"31":0,"32":0,"33":0.00748,"34":0,"35":0,"36":0.00561,"37":0,"38":0,"39":0,"40":0.00374,"41":0,"42":0.00187,"43":0.10285,"44":0,"45":0,"46":0.00374,"47":0,"48":0,"49":0.06358,"50":0.00187,"51":0.00374,"52":0.00187,"53":0,"54":0,"55":0.00374,"56":0.01122,"57":0.00561,"58":0.00374,"59":0.00187,"60":0.02057,"61":0.7106,"62":0.94061,"63":0,"64":0.00374,"65":0},C:{"2":0,"3":0.00187,"4":0.00187,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0.00187,"13":0.00187,"14":0,"15":0.01683,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0.00187,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0.00187,"30":0.00374,"31":0.00187,"32":0.45067,"33":0.00374,"34":0,"35":0.00374,"36":0.00374,"37":0.00187,"38":0.00187,"39":0,"40":0.00935,"41":0.00374,"42":0,"43":0.0187,"44":0.00374,"45":0.00187,"46":0.00187,"47":0.00748,"48":0.01683,"49":0,"50":0,"51":0.00187,"52":0.00561,"53":0.00187,"54":0.04862,"55":0.00748,"56":0.23001,"57":0.19074,"58":0.0187,"59":0,"60":0,"3.5":0,"3.6":0.00187},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0.00374,"21":0,"22":0,"23":0.00187,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0.00187,"31":0.00374,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0.10098,"44":0,"45":0,"46":0.00374,"47":0,"48":0.05236,"49":0.02244,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.00935},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.00374,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0.00187,"10.1":0.00561},G:{"8":0.00217435487097,"3.2":0.000135897179436,"4.0-4.1":0.000135897179436,"4.2-4.3":0.0184820164033,"5.0-5.1":0.00312563512703,"6.0-6.1":0.00203845769154,"7.0-7.1":0.0086974194839,"8.1-8.4":0.0149486897379,"9.0-9.2":0.0091051110222,"9.3":0.0627844968994,"10.0-10.2":0.116463882777,"10.3":0.242848259652,"11.0-11.2":0.877759881976},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.432457951356,"4.2-4.3":1.21753546305,"4.4":3.45966361085,"4.4.3-4.4.4":2.00261297474},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.05423,"9":0.00187,"10":0.09537,"11":0.43945,"5.5":0},B:{"12":0.0374,"13":0.00561,"14":0.01122,"15":0.0187,"16":0.01309,"17":0},P:{"4":2.35333388889,"5":0.764069444444,"6.2":0.183376666667},N:{"10":0.027371,"11":0.793759},J:{"7":0.026016,"10":0.104064},O:{"0":5.13003},H:{"0":16.4176130412},L:{"0":52.79618},R:{_:"0"},M:{"0":2.51217},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/GY.js b/publi/node_modules/caniuse-lite/data/regions/GY.js deleted file mode 100644 index a3a08a4..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/GY.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.009542,"12":0,"13":0,"14":0.004771,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0.04771,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0.004771,"35":0.004771,"36":0.004771,"37":0,"38":0.023855,"39":0.004771,"40":0.004771,"41":0,"42":0,"43":0.09542,"44":0.004771,"45":0.009542,"46":0.004771,"47":0.004771,"48":0.004771,"49":0.300573,"50":0.009542,"51":0.004771,"52":0.019084,"53":0.009542,"54":0.004771,"55":0.090649,"56":0.033397,"57":0.271947,"58":0.071565,"59":0.062023,"60":0.209924,"61":5.372146,"62":7.547722,"63":0.019084,"64":0.028626,"65":0},C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0.004771,"36":0,"37":0.004771,"38":0.004771,"39":0,"40":0.014313,"41":0.004771,"42":0.004771,"43":0.009542,"44":0,"45":0.014313,"46":0.004771,"47":0.014313,"48":0.019084,"49":0.004771,"50":0.057252,"51":0.004771,"52":0.042939,"53":0.028626,"54":0.071565,"55":0.019084,"56":1.292941,"57":0.935116,"58":0.033397,"59":0,"60":0,"3.5":0,"3.6":0},F:{"9":0,"11":0,"12":0.004771,"15":0.004771,"16":0,"17":0.057252,"18":0,"19":0,"20":0,"21":0.009542,"22":0.014313,"23":0,"24":0,"25":0,"26":0,"27":0.004771,"28":0,"29":0.023855,"30":0.009542,"31":0.019084,"32":0,"33":0.033397,"34":0,"35":0,"36":0.004771,"37":0.033397,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0.090649,"44":0,"45":0,"46":0.004771,"47":0,"48":0.267176,"49":0.147901,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.009542},E:{"4":0,"5":0,"6":0,"7":0,"8":0.009542,"9":0.004771,"10":0.009542,"11":0.152672,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0.014313,"10.1":0.042939},G:{"8":0.0160683080616,"3.2":0.00100426925385,"4.0-4.1":0.00100426925385,"4.2-4.3":0.136580618524,"5.0-5.1":0.0230981928386,"6.0-6.1":0.0150640388078,"7.0-7.1":0.0642732322464,"8.1-8.4":0.110469617924,"9.0-9.2":0.067286040008,"9.3":0.463972395279,"10.0-10.2":0.86065875055,"10.3":1.79462915663,"11.0-11.2":6.48657511062},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.197053002806,"4.2-4.3":0.554779992516,"4.4":1.57642402245,"4.4.3-4.4.4":0.912506982226},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.0384207682119,"9":0.0288155761589,"10":0.019210384106,"11":0.638745271523,"5.5":0},B:{"12":0.066794,"13":0.128817,"14":0.348283,"15":1.455155,"16":0.109733,"17":0},P:{"4":1.38703631461,"5":1.08829003146,"6.2":2.27260565393},N:{"10":0.022908,"11":0.217626},J:{"7":0.0711144,"10":0.2844576},O:{"0":3.022362},H:{"0":2.06434990206},L:{"0":50.108222},R:{_:"0"},M:{"0":0.381717},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/HK.js b/publi/node_modules/caniuse-lite/data/regions/HK.js deleted file mode 100644 index 5577d84..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/HK.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.006657,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0.013314,"19":0,"20":0,"21":0.006657,"22":0.006657,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0.006657,"30":0.006657,"31":0.019971,"32":0.006657,"33":0.013314,"34":0.006657,"35":0.006657,"36":0.013314,"37":0.013314,"38":0.019971,"39":0.006657,"40":0.013314,"41":0.006657,"42":0.013314,"43":0.026628,"44":0.053256,"45":0.053256,"46":0.039942,"47":0.053256,"48":0.039942,"49":0.845439,"50":0.053256,"51":0.059913,"52":0.026628,"53":0.039942,"54":0.053256,"55":0.592473,"56":0.213024,"57":0.159768,"58":0.279594,"59":0.259623,"60":0.446019,"61":10.824282,"62":13.926444,"63":0.053256,"64":0.039942,"65":0},C:{"2":0,"3":0.006657,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0.006657,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0.006657,"31":0.006657,"32":0,"33":0.019971,"34":0.006657,"35":0.006657,"36":0.006657,"37":0.006657,"38":0.006657,"39":0.006657,"40":0.006657,"41":0.006657,"42":0.006657,"43":0.013314,"44":0,"45":0.039942,"46":0.006657,"47":0.033285,"48":0.159768,"49":0.013314,"50":0.013314,"51":0.013314,"52":0.272937,"53":0.026628,"54":0.053256,"55":0.059913,"56":1.511139,"57":1.111719,"58":0.013314,"59":0,"60":0,"3.5":0,"3.6":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0.006657,"37":0.006657,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0.033285,"44":0,"45":0,"46":0,"47":0,"48":0.126483,"49":0.073227,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.006657},E:{"4":0.006657,"5":0.006657,"6":0.006657,"7":0.026628,"8":0.099855,"9":0.06657,"10":0.26628,"11":1.737477,_:"0","3.1":0,"3.2":0,"5.1":0.046599,"6.1":0.026628,"7.1":0.013314,"9.1":0.406077,"10.1":0.838782},G:{"8":0.0394447369474,"3.2":0.00246529605921,"4.0-4.1":0.00246529605921,"4.2-4.3":0.335280264053,"5.0-5.1":0.0567018093619,"6.0-6.1":0.0369794408882,"7.0-7.1":0.15777894779,"8.1-8.4":0.271182566513,"9.0-9.2":0.165174835967,"9.3":1.13896677936,"10.0-10.2":2.11275872274,"10.3":4.40548405781,"11.0-11.2":15.9233472464},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.0718110149673,"4.2-4.3":0.202175626754,"4.4":0.574488119738,"4.4.3-4.4.4":0.332540238541},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0.00682672521246,"7":0.00682672521246,"8":0.300375909348,"9":0.259415558074,"10":0.170668130312,"11":4.07555495184,"5.5":0},B:{"12":0.019971,"13":0.033285,"14":0.239652,"15":0.938637,"16":0.159768,"17":0},P:{"4":0.691284642857,"5":0.638914594156,"6.2":1.89579576299},N:{"10":0,"11":0.030087},J:{"7":0.0013372,"10":0.0053488},O:{"0":0.698687},H:{"0":0.167741630584},L:{"0":24.500044},R:{_:"0"},M:{"0":0.177179},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/HN.js b/publi/node_modules/caniuse-lite/data/regions/HN.js deleted file mode 100644 index 8a03e8d..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/HN.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0.00555,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.0111,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0.00555,"19":0,"20":0,"21":0,"22":0.0222,"23":0,"24":0.00555,"25":0,"26":0.00555,"27":0,"28":0,"29":0.00555,"30":0,"31":0,"32":0,"33":0,"34":0.01665,"35":0.00555,"36":0.01665,"37":0.00555,"38":0.0444,"39":0.01665,"40":0.0222,"41":0.00555,"42":0,"43":0.01665,"44":0.0111,"45":0.0111,"46":0.0111,"47":0.02775,"48":0.0111,"49":0.4551,"50":0.01665,"51":0.01665,"52":0.0111,"53":0.0111,"54":0.0333,"55":0.0555,"56":0.0777,"57":0.0444,"58":0.08325,"59":0.1221,"60":0.1776,"61":8.73015,"62":12.543,"63":0.03885,"64":0.01665,"65":0},C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0.0111,"17":0,"18":0,"19":0,"20":0,"21":0.00555,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0.0111,"32":0,"33":0.00555,"34":0,"35":0,"36":0.00555,"37":0,"38":0.00555,"39":0,"40":0.00555,"41":0,"42":0,"43":0.01665,"44":0.00555,"45":0.03885,"46":0.0111,"47":0.02775,"48":0.0333,"49":0.0111,"50":0,"51":0.00555,"52":0.09435,"53":0.0111,"54":0.0222,"55":0.03885,"56":1.29315,"57":0.9879,"58":0.0222,"59":0,"60":0,"3.5":0,"3.6":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0.0777,"18":0,"19":0,"20":0,"21":0,"22":0.00555,"23":0,"24":0,"25":0,"26":0.00555,"27":0,"28":0.00555,"29":0.0333,"30":0.02775,"31":0.03885,"32":0,"33":0.0111,"34":0,"35":0,"36":0.0111,"37":0.0111,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0.06105,"44":0,"45":0,"46":0.01665,"47":0.00555,"48":0.3774,"49":0.1887,"50":0.00555,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.01665},E:{"4":0,"5":0,"6":0,"7":0.0555,"8":0.0222,"9":0.03885,"10":0.12765,"11":0.888,_:"0","3.1":0,"3.2":0,"5.1":0.00555,"6.1":0.0111,"7.1":0,"9.1":0.17205,"10.1":0.31635},G:{"8":0.0129808361672,"3.2":0.000811302260452,"4.0-4.1":0.000811302260452,"4.2-4.3":0.110337107421,"5.0-5.1":0.0186599519904,"6.0-6.1":0.0121695339068,"7.0-7.1":0.0519233446689,"8.1-8.4":0.0892432486497,"9.0-9.2":0.0543572514503,"9.3":0.374821644329,"10.0-10.2":0.695286037207,"10.3":1.44979713943,"11.0-11.2":5.24020130026},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.265335594013,"4.2-4.3":0.747021749298,"4.4":2.1226847521,"4.4.3-4.4.4":1.22870790458},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0.00558675496689,"7":0.0167602649007,"8":0.0335205298013,"9":0.0614543046358,"10":0.0726278145695,"11":0.653650331126,"5.5":0},B:{"12":0.0555,"13":0.0666,"14":0.11655,"15":0.3219,"16":0.0666,"17":0},P:{"4":1.47965881459,"5":0.703613981763,"6.2":1.22097720365},N:{"10":0.033375,"11":0.189125},J:{"7":0.00979,"10":0.03916},O:{"0":0.7209},H:{"0":1.87477276632},L:{"0":47.9896},R:{_:"0"},M:{"0":0.1068},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/HR.js b/publi/node_modules/caniuse-lite/data/regions/HR.js deleted file mode 100644 index ee0170e..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/HR.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.00578,"12":0,"13":0,"14":0.00578,"15":0,"16":0,"17":0,"18":0.00578,"19":0,"20":0,"21":0.00578,"22":0.00578,"23":0,"24":0,"25":0,"26":0.00578,"27":0,"28":0,"29":0.00578,"30":0,"31":0.01156,"32":0,"33":0.00578,"34":0.01734,"35":0.00578,"36":0.01156,"37":0.01156,"38":0.01734,"39":0.01734,"40":0.01156,"41":0.00578,"42":0.00578,"43":0.12716,"44":0.01156,"45":0.01156,"46":0.02312,"47":0.02312,"48":0.01734,"49":0.75718,"50":0.01734,"51":0.02312,"52":0.00578,"53":0.01156,"54":0.03468,"55":0.05202,"56":0.06936,"57":0.05202,"58":0.12138,"59":0.06358,"60":0.12138,"61":7.1383,"62":11.48486,"63":0.04046,"64":0.02312,"65":0},C:{"2":0,"3":0.00578,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0.00578,"13":0,"14":0,"15":0,"16":0.00578,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0.00578,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0.00578,"33":0,"34":0.00578,"35":0,"36":0.00578,"37":0.00578,"38":0.01156,"39":0.01734,"40":0.00578,"41":0.0289,"42":0.00578,"43":0.02312,"44":0.00578,"45":0.02312,"46":0.00578,"47":0.04046,"48":0.06358,"49":0.01734,"50":0.05202,"51":0.0289,"52":0.56644,"53":0.0578,"54":0.06936,"55":0.06358,"56":2.90734,"57":2.5721,"58":0.04046,"59":0,"60":0,"3.5":0,"3.6":0.00578},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0.01156,"31":0.00578,"32":0.00578,"33":0,"34":0,"35":0,"36":0.04046,"37":0.00578,"38":0,"39":0,"40":0.00578,"41":0,"42":0.00578,"43":0.0867,"44":0.00578,"45":0.00578,"46":0.00578,"47":0.00578,"48":0.56066,"49":0.35836,"50":0.00578,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0.00578,"12.1":0.02312},E:{"4":0,"5":0.00578,"6":0,"7":0.0289,"8":0.01156,"9":0.01156,"10":0.03468,"11":0.4046,_:"0","3.1":0,"3.2":0,"5.1":0.00578,"6.1":0.00578,"7.1":0,"9.1":0.06358,"10.1":0.16184},G:{"8":0.0173029165833,"3.2":0.00108143228646,"4.0-4.1":0.00108143228646,"4.2-4.3":0.147074790958,"5.0-5.1":0.0248729425885,"6.0-6.1":0.0162214842969,"7.0-7.1":0.0692116663333,"8.1-8.4":0.11895755151,"9.0-9.2":0.0724559631926,"9.3":0.499621716343,"10.0-10.2":0.926787469494,"10.3":1.9325194959,"11.0-11.2":6.98497113823},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.108788961646,"4.2-4.3":0.306282768943,"4.4":0.870311693171,"4.4.3-4.4.4":0.503776576239},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0.00582563157895,"8":0.0699075789474,"9":0.0407794210526,"10":0.0466050526316,"11":2.05062231579,"5.5":0},B:{"12":0.01156,"13":0.05202,"14":0.19652,"15":0.70516,"16":0.1156,"17":0},P:{"4":0.733922605863,"5":0.733922605863,"6.2":1.70559478827},N:{"10":0.0840930909091,"11":0.494046909091},J:{"7":0.00422,"10":0.01688},O:{"0":0.11394},H:{"0":0.391531890034},L:{"0":47.37448},R:{_:"0"},M:{"0":0.211},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/HT.js b/publi/node_modules/caniuse-lite/data/regions/HT.js deleted file mode 100644 index 08c4b41..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/HT.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.008176,"12":0,"13":0,"14":0.002044,"15":0,"16":0,"17":0.004088,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0.002044,"29":0.002044,"30":0.002044,"31":0,"32":0,"33":0.002044,"34":0.002044,"35":0,"36":0.002044,"37":0.002044,"38":0.002044,"39":0,"40":0.01022,"41":0.004088,"42":0.002044,"43":0.006132,"44":0,"45":0,"46":0.002044,"47":0,"48":0.002044,"49":0.042924,"50":0.002044,"51":0.002044,"52":0.006132,"53":0.002044,"54":0.012264,"55":0.008176,"56":0.004088,"57":0.057232,"58":0.079716,"59":0.012264,"60":0.044968,"61":0.813512,"62":1.208004,"63":0.008176,"64":0.002044,"65":0},C:{"2":0,"3":0.047012,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0.002044,"22":0,"23":0,"24":0.002044,"25":0,"26":0,"27":0,"28":0,"29":0.002044,"30":0,"31":0,"32":0,"33":0.002044,"34":0.004088,"35":0,"36":0,"37":0.002044,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0.006132,"44":0.002044,"45":0.004088,"46":0.002044,"47":0.01022,"48":0.008176,"49":0.004088,"50":0.008176,"51":0.002044,"52":0.018396,"53":0.004088,"54":0.008176,"55":0.008176,"56":0.21462,"57":0.202356,"58":0.002044,"59":0,"60":0,"3.5":0,"3.6":0.002044},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0.014308,"18":0,"19":0.004088,"20":0.006132,"21":0.002044,"22":0.002044,"23":0,"24":0,"25":0,"26":0,"27":0.002044,"28":0.01022,"29":0.026572,"30":0.012264,"31":0.002044,"32":0,"33":0.01022,"34":0,"35":0.002044,"36":0.002044,"37":0.008176,"38":0,"39":0,"40":0,"41":0,"42":0.002044,"43":0.069496,"44":0.002044,"45":0.002044,"46":0,"47":0.004088,"48":0.1022,"49":0.055188,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.018396},E:{"4":0,"5":0.002044,"6":0,"7":0,"8":0.002044,"9":0.004088,"10":0.016352,"11":0.138992,_:"0","3.1":0,"3.2":0,"5.1":0.008176,"6.1":0.002044,"7.1":0,"9.1":0.026572,"10.1":0.049056},G:{"8":0.00859533186637,"3.2":0.000537208241648,"4.0-4.1":0.000537208241648,"4.2-4.3":0.0730603208642,"5.0-5.1":0.0123557895579,"6.0-6.1":0.00805812362472,"7.0-7.1":0.0343813274655,"8.1-8.4":0.0590929065813,"9.0-9.2":0.0359929521904,"9.3":0.248190207642,"10.0-10.2":0.460387463093,"10.3":0.959991127826,"11.0-11.2":3.46982803281},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.392280898036,"4.2-4.3":1.10442160524,"4.4":3.13824718428,"4.4.3-4.4.4":1.81656231244},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0.002044,"8":0.03066,"9":0.012264,"10":0.022484,"11":0.263676,"5.5":0},B:{"12":0.02044,"13":0.026572,"14":0.038836,"15":0.079716,"16":0.018396,"17":0},P:{"4":1.19556981818,"5":0.381345545455,"6.2":0.237052636364},N:{"10":0.176047659574,"11":0.341092340426},J:{"7":0.0143208,"10":0.0572832},O:{"0":6.667128},H:{"0":12.6089476701},L:{"0":56.921508},R:{_:"0"},M:{"0":0.167076},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/HU.js b/publi/node_modules/caniuse-lite/data/regions/HU.js deleted file mode 100644 index 23c95a6..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/HU.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0.006956,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.006956,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0.020868,"23":0,"24":0,"25":0,"26":0.013912,"27":0,"28":0,"29":0.006956,"30":0,"31":0.006956,"32":0,"33":0.006956,"34":0.027824,"35":0.006956,"36":0.006956,"37":0.013912,"38":0.03478,"39":0.020868,"40":0.006956,"41":0,"42":0,"43":0.013912,"44":0.006956,"45":0,"46":0.006956,"47":0.020868,"48":0.013912,"49":2.024196,"50":0.013912,"51":0.013912,"52":0.006956,"53":0.013912,"54":0.013912,"55":0.03478,"56":0.062604,"57":0.055648,"58":0.125208,"59":0.06956,"60":0.180856,"61":9.154096,"62":10.934832,"63":0.03478,"64":0.020868,"65":0},C:{"2":0,"3":0.006956,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0.006956,"29":0,"30":0.006956,"31":0.006956,"32":0,"33":0.006956,"34":0.006956,"35":0.006956,"36":0.006956,"37":0.006956,"38":0.020868,"39":0.006956,"40":0.006956,"41":0.013912,"42":0.006956,"43":0.027824,"44":0.006956,"45":0.03478,"46":0.013912,"47":0.048692,"48":0.062604,"49":0.020868,"50":0.03478,"51":3.290188,"52":0.646908,"53":0.041736,"54":0.055648,"55":0.118252,"56":9.140184,"57":2.907608,"58":0.041736,"59":0,"60":0,"3.5":0,"3.6":0.006956},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0.006956,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0.006956,"29":0,"30":0.006956,"31":0.006956,"32":0,"33":0,"34":0,"35":0,"36":0.041736,"37":0.027824,"38":0,"39":0,"40":0,"41":0,"42":0.006956,"43":0.083472,"44":0.006956,"45":0.006956,"46":0.006956,"47":0.006956,"48":0.716468,"49":0.459096,"50":0.006956,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":3.053684},E:{"4":0,"5":0,"6":0,"7":0.006956,"8":0.013912,"9":0.013912,"10":0.03478,"11":0.45214,_:"0","3.1":0,"3.2":0,"5.1":0.006956,"6.1":0,"7.1":0,"9.1":0.048692,"10.1":0.1739},G:{"8":0.0110747909582,"3.2":0.000692174434887,"4.0-4.1":0.000692174434887,"4.2-4.3":0.0941357231446,"5.0-5.1":0.0159200120024,"6.0-6.1":0.0103826165233,"7.0-7.1":0.0442991638328,"8.1-8.4":0.0761391878376,"9.0-9.2":0.0463756871374,"9.3":0.319784588918,"10.0-10.2":0.593193490698,"10.3":1.23691571514,"11.0-11.2":4.47075467493},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.140731019645,"4.2-4.3":0.396211947615,"4.4":1.12584815716,"4.4.3-4.4.4":0.651692875585},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.0769063877551,"9":0.0559319183673,"10":0.0349574489796,"11":1.2025362449,"5.5":0},B:{"12":0.013912,"13":0.03478,"14":0.1739,"15":0.702556,"16":0.125208,"17":0},P:{"4":0.65326203871,"5":0.33181563871,"6.2":0.622154322581},N:{"10":0.0328752,"11":0.2958768},J:{"7":0.0042616,"10":0.0170464},O:{"0":2.803524},H:{"0":2.05476799313},L:{"0":30.871304},R:{_:"0"},M:{"0":0.16742},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/ID.js b/publi/node_modules/caniuse-lite/data/regions/ID.js deleted file mode 100644 index f9b5487..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/ID.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0.00297,"7":0,"8":0,"9":0,"10":0,"11":0.00594,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0.00297,"19":0.00297,"20":0.00297,"21":0,"22":0.00297,"23":0,"24":0,"25":0.00297,"26":0.00297,"27":0.00297,"28":0.00297,"29":0.00891,"30":0.00594,"31":0.00594,"32":0.00297,"33":0.00891,"34":0.00297,"35":0.00297,"36":0.00297,"37":0.00594,"38":0.00297,"39":0.00594,"40":0.00594,"41":0.00297,"42":0.00297,"43":0.03564,"44":0.00594,"45":0.00594,"46":0.01188,"47":0.01188,"48":0.02376,"49":0.1485,"50":0.00891,"51":0.02673,"52":0.00594,"53":0.00891,"54":0.01485,"55":0.0297,"56":0.04158,"57":0.0297,"58":0.09207,"59":0.05346,"60":0.07425,"61":1.58004,"62":2.18295,"63":0.01188,"64":0.01188,"65":0},C:{"2":0,"3":0.00297,"4":0.00297,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.00297,"12":0.00297,"13":0.00297,"14":0.00297,"15":0.00297,"16":0.00297,"17":0.00297,"18":0.00297,"19":0.00297,"20":0.00297,"21":0.00297,"22":0,"23":0.00297,"24":0.00297,"25":0.00297,"26":0.00297,"27":0.00297,"28":0.00297,"29":0.00594,"30":0.00891,"31":0.00594,"32":0.00594,"33":0.00594,"34":0.01188,"35":0.01188,"36":0.01188,"37":0.01485,"38":0.01485,"39":0.01188,"40":0.01485,"41":0.01188,"42":0.00891,"43":0.05049,"44":0.02079,"45":0.01782,"46":0.01188,"47":0.07425,"48":0.04158,"49":0.03564,"50":0.03267,"51":0.02079,"52":0.13365,"53":0.03267,"54":0.04455,"55":0.05049,"56":0.81675,"57":0.60291,"58":0.04158,"59":0,"60":0,"3.5":0,"3.6":0.00297},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0.00297,"18":0.00297,"19":0,"20":0.01485,"21":0.00297,"22":0.00594,"23":0,"24":0.00297,"25":0.00594,"26":0.00297,"27":0.00297,"28":0.01188,"29":0.01188,"30":0.02673,"31":0.03564,"32":0,"33":0,"34":0.00891,"35":0,"36":0.00297,"37":0.23463,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0.04158,"44":0.00297,"45":0,"46":0.00297,"47":0.00297,"48":0.07425,"49":0.04158,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.01188},E:{"4":0,"5":0,"6":0,"7":0.00594,"8":0.00891,"9":0.00594,"10":0.01782,"11":0.07425,_:"0","3.1":0,"3.2":0,"5.1":0.7722,"6.1":0,"7.1":0.00297,"9.1":0.02079,"10.1":0.03861},G:{"8":0.0046000720144,"3.2":0.0002875045009,"4.0-4.1":0.0002875045009,"4.2-4.3":0.0391006121224,"5.0-5.1":0.0066126035207,"6.0-6.1":0.0043125675135,"7.0-7.1":0.0184002880576,"8.1-8.4":0.031625495099,"9.0-9.2":0.0192628015603,"9.3":0.132827079416,"10.0-10.2":0.246391357271,"10.3":0.513770543109,"11.0-11.2":1.85699157131},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.234755191768,"4.2-4.3":0.660926155285,"4.4":1.87804153414,"4.4.3-4.4.4":1.0870971188},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.0185328,"9":0.0061776,"10":0.0061776,"11":0.046332,"5.5":0},B:{"12":0.00594,"13":0.00594,"14":0.02376,"15":0.04455,"16":0.00594,"17":0},P:{"4":1.83035636364,"5":0.572625454545,"6.2":0.521498181818},N:{"10":0.022496,"11":0.089984},J:{"7":0.111074,"10":0.444296},O:{"0":25.13928},H:{"0":7.00829396907},L:{"0":37.02044},R:{_:"0"},M:{"0":0.27417},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/IE.js b/publi/node_modules/caniuse-lite/data/regions/IE.js deleted file mode 100644 index 53fcb2c..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/IE.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.009854,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0.004927,"19":0.004927,"20":0,"21":0,"22":0.004927,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0.004927,"30":0,"31":0,"32":0.014781,"33":0.004927,"34":0.009854,"35":0.009854,"36":0.004927,"37":0.004927,"38":0.029562,"39":0.004927,"40":0.014781,"41":0.024635,"42":0.004927,"43":0.009854,"44":0.024635,"45":0.004927,"46":0.009854,"47":0.009854,"48":0.009854,"49":0.364598,"50":0.014781,"51":0.024635,"52":0.014781,"53":0.014781,"54":0.024635,"55":0.118248,"56":0.359671,"57":0.054197,"58":0.103467,"59":0.093613,"60":0.172445,"61":5.56751,"62":7.523529,"63":0.034489,"64":0.014781,"65":0},C:{"2":0,"3":0.009854,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0.004927,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0.004927,"32":0,"33":0.004927,"34":0,"35":0,"36":0,"37":0,"38":0.004927,"39":0.004927,"40":0.004927,"41":0.004927,"42":0.004927,"43":0.009854,"44":0,"45":0.019708,"46":0.009854,"47":0.014781,"48":0.059124,"49":0.004927,"50":0.014781,"51":0.009854,"52":0.133029,"53":0.019708,"54":0.019708,"55":0.029562,"56":1.005108,"57":0.773539,"58":0.014781,"59":0,"60":0,"3.5":0,"3.6":0.004927},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0.004927,"31":0.009854,"32":0,"33":0,"34":0,"35":0,"36":0.004927,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0.014781,"44":0,"45":0.004927,"46":0,"47":0,"48":0.152737,"49":0.088686,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.004927},E:{"4":0,"5":0.009854,"6":0,"7":0.009854,"8":0.029562,"9":0.044343,"10":0.103467,"11":0.793247,_:"0","3.1":0,"3.2":0,"5.1":0.014781,"6.1":0.009854,"7.1":0,"9.1":0.310401,"10.1":0.310401},G:{"8":0.0560935147029,"3.2":0.00350584466893,"4.0-4.1":0.00350584466893,"4.2-4.3":0.476794874975,"5.0-5.1":0.0806344273855,"6.0-6.1":0.052587670034,"7.0-7.1":0.224374058812,"8.1-8.4":0.385642913583,"9.0-9.2":0.234891592819,"9.3":1.61970023705,"10.0-10.2":3.00450888128,"10.3":6.26494442338,"11.0-11.2":22.6442507166},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.0616854864359,"4.2-4.3":0.173668369504,"4.4":0.493483891487,"4.4.3-4.4.4":0.285651252572},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0.004979,"8":0.104559,"9":0.144391,"10":0.059748,"11":1.573364,"5.5":0},B:{"12":0.019708,"13":0.04927,"14":0.261131,"15":0.867152,"16":0.162591,"17":0},P:{"4":0.6726798,"5":0.749872563934,"6.2":1.94084663607},N:{"10":0.0225466666667,"11":0.180373333333},J:{"7":0.0020292,"10":0.0081168},O:{"0":0.055803},H:{"0":0.134478082474},L:{"0":35.354982},R:{_:"0"},M:{"0":0.228285},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/IL.js b/publi/node_modules/caniuse-lite/data/regions/IL.js deleted file mode 100644 index 12ed54d..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/IL.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.022784,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0.005696,"19":0,"20":0,"21":0.005696,"22":0.005696,"23":0,"24":0,"25":0,"26":0.005696,"27":0.005696,"28":0,"29":0.034176,"30":0,"31":0.034176,"32":0.005696,"33":0.005696,"34":0.011392,"35":0.005696,"36":0.011392,"37":0.011392,"38":0.034176,"39":0.011392,"40":0.022784,"41":0.011392,"42":0.005696,"43":0.02848,"44":0.017088,"45":0.011392,"46":0.011392,"47":0.02848,"48":0.022784,"49":0.632256,"50":0.011392,"51":0.017088,"52":0.022784,"53":0.017088,"54":0.045568,"55":0.051264,"56":0.068352,"57":0.102528,"58":0.079744,"59":0.096832,"60":0.19936,"61":8.891456,"62":12.41728,"63":0.045568,"64":0.034176,"65":0},C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0.005696,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0.005696,"25":0.005696,"26":0.022784,"27":0.005696,"28":0,"29":0,"30":0,"31":0.005696,"32":0,"33":0.011392,"34":0,"35":0,"36":0.005696,"37":0,"38":0.005696,"39":0,"40":0.005696,"41":0,"42":0,"43":0.005696,"44":0.005696,"45":0.011392,"46":0.005696,"47":0.011392,"48":0.068352,"49":0.005696,"50":0.005696,"51":0.005696,"52":0.125312,"53":0.011392,"54":0.022784,"55":0.091136,"56":0.82592,"57":0.62656,"58":0.005696,"59":0,"60":0,"3.5":0,"3.6":0.005696},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0.005696,"36":0.005696,"37":0.005696,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0.02848,"44":0,"45":0,"46":0.005696,"47":0,"48":0.1424,"49":0.079744,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.011392},E:{"4":0,"5":0.005696,"6":0,"7":0.017088,"8":0.05696,"9":0.017088,"10":0.045568,"11":0.410112,_:"0","3.1":0,"3.2":0,"5.1":0.017088,"6.1":0.017088,"7.1":0,"9.1":0.08544,"10.1":0.148096},G:{"8":0.0253751358272,"3.2":0.0015859459892,"4.0-4.1":0.0015859459892,"4.2-4.3":0.215688654531,"5.0-5.1":0.0364767577516,"6.0-6.1":0.023789189838,"7.0-7.1":0.101500543309,"8.1-8.4":0.174454058812,"9.0-9.2":0.106258381276,"9.3":0.732707047009,"10.0-10.2":1.35915571274,"10.3":2.8340854827,"11.0-11.2":10.2436251442},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.0545090364827,"4.2-4.3":0.153463902713,"4.4":0.436072291862,"4.4.3-4.4.4":0.252418768943},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0.00571246242775,"8":0.314185433526,"9":0.205648647399,"10":0.159948947977,"11":3.26752850867,"5.5":0},B:{"12":0.011392,"13":0.022784,"14":0.165184,"15":1.036672,"16":0.091136,"17":0},P:{"4":1.08706742857,"5":0.943492485175,"6.2":1.77417608625},N:{"10":0,"11":0.030128},J:{"7":0.0008608,"10":0.0034432},O:{"0":0.090384},H:{"0":0.105943477663},L:{"0":45.074208},R:{_:"0"},M:{"0":0.098992},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/IM.js b/publi/node_modules/caniuse-lite/data/regions/IM.js deleted file mode 100644 index 55986d7..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/IM.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0.14754,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0.007377,"31":0,"32":0,"33":0,"34":0.007377,"35":0,"36":0,"37":0.427866,"38":0.014754,"39":0,"40":0,"41":0.007377,"42":0.029508,"43":0.007377,"44":0.007377,"45":0.007377,"46":0,"47":0.059016,"48":0,"49":0.243441,"50":0,"51":0.014754,"52":0,"53":0.007377,"54":0.014754,"55":0.14754,"56":0.206556,"57":0.022131,"58":0.029508,"59":0.081147,"60":0.568029,"61":22.308048,"62":8.011422,"63":0.029508,"64":0.014754,"65":0},C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0.014754,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0.014754,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0.007377,"35":0,"36":0,"37":0,"38":0.007377,"39":0,"40":0,"41":0,"42":0.014754,"43":0,"44":0,"45":0.014754,"46":0,"47":0,"48":0.036885,"49":0.007377,"50":0.022131,"51":0.007377,"52":0.110655,"53":0.007377,"54":0.014754,"55":0.014754,"56":1.224582,"57":1.091796,"58":0.007377,"59":0,"60":0,"3.5":0,"3.6":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0.051639,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0.007377,"37":0.007377,"38":0,"39":0,"40":0.627045,"41":0,"42":0.014754,"43":0.044262,"44":0,"45":0,"46":0,"47":0,"48":0.191802,"49":0.103278,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},E:{"4":0.014754,"5":0.022131,"6":0,"7":0.007377,"8":0.14754,"9":0.066393,"10":0.14754,"11":1.726218,_:"0","3.1":0,"3.2":0,"5.1":0.044262,"6.1":0.014754,"7.1":0,"9.1":0.538521,"10.1":0.641799},G:{"8":0.0530886481296,"3.2":0.0033180405081,"4.0-4.1":0.0033180405081,"4.2-4.3":0.451253509102,"5.0-5.1":0.0763149316863,"6.0-6.1":0.0497706076215,"7.0-7.1":0.212354592519,"8.1-8.4":0.364984455891,"9.0-9.2":0.222308714043,"9.3":1.53293471474,"10.0-10.2":2.84356071544,"10.3":5.92933838798,"11.0-11.2":21.4312236418},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.0676522918616,"4.2-4.3":0.190467221703,"4.4":0.541218334892,"4.4.3-4.4.4":0.313282151543},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.0591129064039,"9":0.413790344828,"10":0.0738911330049,"11":3.95317561576,"5.5":0},B:{"12":0.022131,"13":0.184425,"14":0.531144,"15":2.124576,"16":0.479505,"17":0},P:{"4":0.327369219731,"5":1.2042510583,"6.2":1.07564172197},N:{"10":0.0125904,"11":0.2392176},J:{"7":0.005246,"10":0.020984},O:{"0":0.02623},H:{"0":0.0670487474227},L:{"0":12.96798},R:{_:"0"},M:{"0":0.05246},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/IN.js b/publi/node_modules/caniuse-lite/data/regions/IN.js deleted file mode 100644 index 046945c..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/IN.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.002067,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0.002067,"18":0.002067,"19":0.002067,"20":0.002067,"21":0.002067,"22":0.002067,"23":0.002067,"24":0.002067,"25":0.002067,"26":0.002067,"27":0.002067,"28":0.004134,"29":0.006201,"30":0.004134,"31":0.004134,"32":0.002067,"33":0.008268,"34":0.002067,"35":0,"36":0.002067,"37":0.002067,"38":0.002067,"39":0.002067,"40":0.002067,"41":0,"42":0,"43":0.004134,"44":0.002067,"45":0.002067,"46":0.004134,"47":0.004134,"48":0.002067,"49":0.101283,"50":0.004134,"51":0.010335,"52":0.002067,"53":0.002067,"54":0.004134,"55":0.006201,"56":0.008268,"57":0.012402,"58":0.033072,"59":0.016536,"60":0.028938,"61":1.045902,"62":1.544049,"63":0.016536,"64":0.012402,"65":0},C:{"2":0,"3":0.002067,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0.002067,"13":0,"14":0.002067,"15":0,"16":0,"17":0.002067,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0.002067,"30":0.002067,"31":0.002067,"32":0.002067,"33":0.002067,"34":0.002067,"35":0.002067,"36":0.002067,"37":0.002067,"38":0.002067,"39":0.002067,"40":0.002067,"41":0.002067,"42":0.002067,"43":0.008268,"44":0.006201,"45":0.004134,"46":0.002067,"47":0.014469,"48":0.214968,"49":0.004134,"50":0.004134,"51":0.004134,"52":0.045474,"53":0.006201,"54":0.008268,"55":0.012402,"56":0.202566,"57":0.18603,"58":0.026871,"59":0,"60":0,"3.5":0,"3.6":0.002067},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0.002067,"21":0.002067,"22":0.002067,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0.002067,"29":0.004134,"30":0.006201,"31":0.006201,"32":0,"33":0,"34":0.002067,"35":0,"36":0.002067,"37":0.080613,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0.024804,"44":0.004134,"45":0,"46":0,"47":0,"48":0.037206,"49":0.024804,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.004134},E:{"4":0,"5":0,"6":0,"7":0.004134,"8":0.002067,"9":0,"10":0.004134,"11":0.028938,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0.004134,"10.1":0.012402},G:{"8":0.00460624124825,"3.2":0.000287890078016,"4.0-4.1":0.000287890078016,"4.2-4.3":0.0391530506101,"5.0-5.1":0.00662147179436,"6.0-6.1":0.00431835117023,"7.0-7.1":0.018424964993,"8.1-8.4":0.0316679085817,"9.0-9.2":0.019288635227,"9.3":0.133005216043,"10.0-10.2":0.246721796859,"10.3":0.514459569414,"11.0-11.2":1.8594820139},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.0716881898971,"4.2-4.3":0.201829826941,"4.4":0.573505519177,"4.4.3-4.4.4":0.331971463985},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.016536,"9":0.002067,"10":0.006201,"11":0.064077,"5.5":0},B:{"12":0.004134,"13":0.008268,"14":0.02067,"15":0.035139,"16":0.006201,"17":0},P:{"4":1.53288128017,"5":0.470885099138,"6.2":0.32060262069},N:{"10":0.0329524615385,"11":0.252635538462},J:{"7":0.0095196,"10":0.0380784},O:{"0":35.032128},H:{"0":7.66066092784},L:{"0":33.881033},R:{_:"0"},M:{"0":1.166151},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/IQ.js b/publi/node_modules/caniuse-lite/data/regions/IQ.js deleted file mode 100644 index 029a976..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/IQ.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0.002582,"7":0,"8":0,"9":0,"10":0,"11":0.005164,"12":0,"13":0.002582,"14":0.002582,"15":0.002582,"16":0,"17":0.002582,"18":0.002582,"19":0,"20":0,"21":0.002582,"22":0.002582,"23":0.002582,"24":0.002582,"25":0.002582,"26":0.002582,"27":0.002582,"28":0.002582,"29":0.018074,"30":0.005164,"31":0.007746,"32":0.005164,"33":0.020656,"34":0.007746,"35":0.002582,"36":0.002582,"37":0.002582,"38":0.01291,"39":0.002582,"40":0.023238,"41":0.002582,"42":0.002582,"43":0.24529,"44":0.002582,"45":0.005164,"46":0.002582,"47":0.005164,"48":0.002582,"49":0.030984,"50":0.002582,"51":0.005164,"52":0.005164,"53":0.007746,"54":0.010328,"55":0.043894,"56":0.036148,"57":0.111026,"58":0.049058,"59":0.046476,"60":0.06455,"61":1.580184,"62":2.46581,"63":0.023238,"64":0.015492,"65":0},C:{"2":0,"3":0,"4":0,"5":0,"6":0.002582,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0.002582,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0.002582,"27":0.002582,"28":0,"29":0,"30":0.002582,"31":0.005164,"32":0,"33":0.002582,"34":0.002582,"35":0.002582,"36":0,"37":0.005164,"38":0.002582,"39":0.002582,"40":0.002582,"41":0.002582,"42":0.002582,"43":0.005164,"44":0.005164,"45":0.002582,"46":0.002582,"47":0.023238,"48":0.010328,"49":0.002582,"50":0.005164,"51":0.005164,"52":0.030984,"53":0.005164,"54":0.010328,"55":0.01291,"56":0.351152,"57":0.281438,"58":0.018074,"59":0,"60":0,"3.5":0,"3.6":0.002582},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0.002582,"20":0,"21":0.002582,"22":0.005164,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0.002582,"29":0,"30":0,"31":0.002582,"32":0,"33":0,"34":0,"35":0.002582,"36":0,"37":0.002582,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0.01291,"44":0,"45":0.005164,"46":0,"47":0.002582,"48":0.121354,"49":0.07746,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},E:{"4":0,"5":0,"6":0,"7":0.002582,"8":0.002582,"9":0,"10":0.007746,"11":0.056804,_:"0","3.1":0,"3.2":0,"5.1":0.002582,"6.1":0,"7.1":0,"9.1":0.010328,"10.1":0.015492},G:{"8":0.035526634927,"3.2":0.00222041468294,"4.0-4.1":0.00222041468294,"4.2-4.3":0.301976396879,"5.0-5.1":0.0510695377075,"6.0-6.1":0.033306220244,"7.0-7.1":0.142106539708,"8.1-8.4":0.244245615123,"9.0-9.2":0.148767783757,"9.3":1.02583158352,"10.0-10.2":1.90289538328,"10.3":3.96788103841,"11.0-11.2":14.3416584371},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.27075181478,"4.2-4.3":0.76227049392,"4.4":2.16601451824,"4.4.3-4.4.4":1.25378917306},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.0663768867925,"9":0.0212406037736,"10":0.0185855283019,"11":0.175234981132,"5.5":0},B:{"12":0.007746,"13":0.010328,"14":0.018074,"15":0.067132,"16":0.01291,"17":0},P:{"4":2.74517500134,"5":1.47250766355,"6.2":3.66023333511},N:{"10":0.0233137142857,"11":0.0582842857143},J:{"7":0.0014836,"10":0.0059344},O:{"0":0.66762},H:{"0":0.449464522337},L:{"0":54.99584},R:{_:"0"},M:{"0":0.22254},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/IR.js b/publi/node_modules/caniuse-lite/data/regions/IR.js deleted file mode 100644 index 08ca885..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/IR.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.02804,"12":0.005608,"13":0,"14":0.005608,"15":0.005608,"16":0,"17":0.005608,"18":0.011216,"19":0.005608,"20":0.011216,"21":0.005608,"22":0.011216,"23":0.011216,"24":0.011216,"25":0.005608,"26":0.016824,"27":0.005608,"28":0.005608,"29":0.02804,"30":0.016824,"31":0.022432,"32":0.005608,"33":0.016824,"34":0.016824,"35":0.016824,"36":0.022432,"37":0.005608,"38":0.033648,"39":0.022432,"40":0.022432,"41":0.011216,"42":0.011216,"43":0.033648,"44":0.016824,"45":0.016824,"46":0.033648,"47":0.016824,"48":0.022432,"49":0.398168,"50":0.022432,"51":0.072904,"52":0.016824,"53":0.02804,"54":0.05608,"55":0.173848,"56":0.145808,"57":0.123376,"58":0.16824,"59":0.201888,"60":0.25236,"61":5.608,"62":7.548368,"63":0.016824,"64":0.022432,"65":0},C:{"2":0,"3":0.005608,"4":0.011216,"5":0,"6":0,"7":0.005608,"8":0.005608,"9":0.005608,"10":0.005608,"11":0.005608,"12":0.016824,"13":0.005608,"14":0.005608,"15":0.005608,"16":0.011216,"17":0.005608,"18":0.005608,"19":0.005608,"20":0.005608,"21":0.005608,"22":0.005608,"23":0.005608,"24":0.011216,"25":0.005608,"26":0.011216,"27":0.011216,"28":0.005608,"29":0.016824,"30":0.011216,"31":0.011216,"32":0.016824,"33":0.02804,"34":0.016824,"35":0.016824,"36":0.016824,"37":0.022432,"38":0.02804,"39":0.02804,"40":0.02804,"41":0.033648,"42":0.02804,"43":0.11216,"44":0.044864,"45":0.050472,"46":0.033648,"47":0.235536,"48":0.11216,"49":0.089728,"50":0.089728,"51":0.05608,"52":0.521544,"53":0.100944,"54":0.162632,"55":0.286008,"56":4.26208,"57":3.017104,"58":0.11216,"59":0,"60":0,"3.5":0,"3.6":0.011216},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0.005608,"19":0.005608,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0.005608,"29":0,"30":0.005608,"31":0,"32":0,"33":0.005608,"34":0.005608,"35":0.005608,"36":0.011216,"37":0.005608,"38":0,"39":0.005608,"40":0,"41":0,"42":0.005608,"43":0.061688,"44":0.011216,"45":0.005608,"46":0.039256,"47":0.145808,"48":0.145808,"49":0.050472,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.02804},E:{"4":0.005608,"5":0,"6":0,"7":0,"8":0.005608,"9":0.011216,"10":0.039256,"11":0.151416,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0.02804,"10.1":0.067296},G:{"8":0.0114139307862,"3.2":0.000713370674135,"4.0-4.1":0.000713370674135,"4.2-4.3":0.0970184116823,"5.0-5.1":0.0164075255051,"6.0-6.1":0.010700560112,"7.0-7.1":0.0456557231446,"8.1-8.4":0.0784707741548,"9.0-9.2":0.047795835167,"9.3":0.32957725145,"10.0-10.2":0.611358667734,"10.3":1.27479339468,"11.0-11.2":4.60766118424},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.29756647334,"4.2-4.3":0.837764071094,"4.4":2.38053178672,"4.4.3-4.4.4":1.37796166885},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0.192052252327,"7":0.242889613237,"8":1.45168908376,"9":0.480130630817,"10":0.44059046122,"11":2.65483995863,"5.5":0},B:{"12":0.039256,"13":0.05608,"14":0.123376,"15":0.25236,"16":0.039256,"17":0},P:{"4":4.77655534884,"5":2.622024,"6.2":1.33133776744},N:{"10":0.01098,"11":0.03294},J:{"7":0.0052704,"10":0.0210816},O:{"0":0.623664},H:{"0":2.0540825567},L:{"0":36.186816},R:{_:"0"},M:{"0":1.444968},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/IS.js b/publi/node_modules/caniuse-lite/data/regions/IS.js deleted file mode 100644 index f626e2e..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/IS.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0.00714,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0.00714,"33":0,"34":0.01428,"35":0.00714,"36":0.02142,"37":0,"38":0.07854,"39":0.01428,"40":0.00714,"41":0.00714,"42":0.00714,"43":0.02142,"44":0.01428,"45":0.00714,"46":0.02856,"47":0.01428,"48":0.01428,"49":0.51408,"50":0.0357,"51":0.01428,"52":0.04998,"53":0.02142,"54":0.0357,"55":0.07854,"56":0.0357,"57":0.04998,"58":0.07854,"59":0.16422,"60":0.26418,"61":14.25858,"62":16.3149,"63":0.04284,"64":0.0357,"65":0},C:{"2":0,"3":0,"4":0,"5":0,"6":0.00714,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0.00714,"14":0,"15":0,"16":0,"17":0.00714,"18":0,"19":0.00714,"20":0,"21":0,"22":0,"23":0,"24":0.00714,"25":0,"26":0.01428,"27":0,"28":0.00714,"29":0.00714,"30":0.00714,"31":0.00714,"32":0,"33":0,"34":0,"35":0.07854,"36":0.00714,"37":0.00714,"38":0.07854,"39":0.00714,"40":0,"41":0.01428,"42":0.04284,"43":0.00714,"44":0.00714,"45":0.07854,"46":0.00714,"47":0.01428,"48":0.07854,"49":0.01428,"50":0.1071,"51":0.02142,"52":0.52122,"53":0.01428,"54":0.12138,"55":0.06426,"56":2.02776,"57":1.44228,"58":0.00714,"59":0,"60":0,"3.5":0,"3.6":0.00714},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0.00714,"32":0,"33":0,"34":0.00714,"35":0.00714,"36":0.00714,"37":0,"38":0.00714,"39":0.00714,"40":0,"41":0,"42":0,"43":0.02856,"44":0,"45":0.00714,"46":0.00714,"47":0,"48":0.41412,"49":0.24276,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.02142},E:{"4":0,"5":0.02142,"6":0,"7":0.00714,"8":0.04284,"9":0.05712,"10":0.2499,"11":2.5347,_:"0","3.1":0,"3.2":0,"5.1":0.0357,"6.1":0.04998,"7.1":0,"9.1":0.4641,"10.1":0.86394},G:{"8":0.0390378555711,"3.2":0.00243986597319,"4.0-4.1":0.00243986597319,"4.2-4.3":0.331821772354,"5.0-5.1":0.0561169173835,"6.0-6.1":0.0365979895979,"7.0-7.1":0.156151422284,"8.1-8.4":0.268385257051,"9.0-9.2":0.163471020204,"9.3":1.12721807962,"10.0-10.2":2.09096513903,"10.3":4.3600404941,"11.0-11.2":15.7590943209},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.0251073900842,"4.2-4.3":0.0706869597755,"4.4":0.200859120674,"4.4.3-4.4.4":0.116266529467},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0.00714,"8":0.02856,"9":0.02142,"10":0.89964,"11":2.00634,"5.5":0},B:{"12":0.01428,"13":0.04284,"14":0.32844,"15":1.69932,"16":0.22134,"17":0},P:{"4":0.362026618705,"5":0.617574820144,"6.2":1.98049856115},N:{"10":0,"11":0.05148},J:{"7":0.000572,"10":0.002288},O:{"0":0.03432},H:{"0":0.0568609278351},L:{"0":21.5442},R:{_:"0"},M:{"0":0.22022},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/IT.js b/publi/node_modules/caniuse-lite/data/regions/IT.js deleted file mode 100644 index c01947c..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/IT.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.006356,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0.006356,"19":0,"20":0,"21":0.006356,"22":0.012712,"23":0,"24":0,"25":0.012712,"26":0.006356,"27":0,"28":0,"29":0.038136,"30":0.006356,"31":0.006356,"32":0.019068,"33":0.006356,"34":0.03178,"35":0.012712,"36":0.057204,"37":0.012712,"38":0.038136,"39":0.019068,"40":0.012712,"41":0.03178,"42":0.025424,"43":0.038136,"44":0.012712,"45":0.012712,"46":0.012712,"47":0.03178,"48":0.019068,"49":1.010604,"50":0.019068,"51":0.057204,"52":0.012712,"53":0.025424,"54":0.09534,"55":0.114408,"56":0.076272,"57":0.076272,"58":0.12712,"59":0.12712,"60":0.22246,"61":8.033984,"62":11.803092,"63":0.050848,"64":0.025424,"65":0},C:{"2":0,"3":0.006356,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.006356,"12":0.006356,"13":0,"14":0,"15":0,"16":0.012712,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0.006356,"29":0.006356,"30":0.006356,"31":0.006356,"32":0,"33":0.006356,"34":0.012712,"35":0.006356,"36":0.006356,"37":0.006356,"38":0.019068,"39":0.012712,"40":0.012712,"41":0.012712,"42":0.006356,"43":0.019068,"44":0.006356,"45":0.03178,"46":0.019068,"47":0.038136,"48":0.375004,"49":0.03178,"50":0.025424,"51":0.038136,"52":0.400428,"53":0.177968,"54":0.057204,"55":0.09534,"56":2.631384,"57":2.103836,"58":0.025424,"59":0,"60":0,"3.5":0,"3.6":0.012712},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0.006356,"31":0.006356,"32":0,"33":0,"34":0,"35":0,"36":0.019068,"37":0.006356,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0.025424,"44":0.006356,"45":0,"46":0.006356,"47":0.006356,"48":0.343224,"49":0.19068,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.012712},E:{"4":0.012712,"5":0.025424,"6":0.006356,"7":0.012712,"8":0.057204,"9":0.069916,"10":0.203392,"11":2.078412,_:"0","3.1":0,"3.2":0,"5.1":0.06356,"6.1":0.038136,"7.1":0,"9.1":0.355936,"10.1":0.648312},G:{"8":0.02812060012,"3.2":0.0017575375075,"4.0-4.1":0.0017575375075,"4.2-4.3":0.23902510102,"5.0-5.1":0.0404233626725,"6.0-6.1":0.0263630626125,"7.0-7.1":0.11248240048,"8.1-8.4":0.193329125825,"9.0-9.2":0.117755013003,"9.3":0.811982328466,"10.0-10.2":1.50620964393,"10.3":3.14071952591,"11.0-11.2":11.351934761},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.082178484565,"4.2-4.3":0.23136404116,"4.4":0.65742787652,"4.4.3-4.4.4":0.380549597755},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0.00641770873786,"7":0.00641770873786,"8":0.224619805825,"9":0.109101048544,"10":0.17969584466,"11":2.7788678835,"5.5":0},B:{"12":0.044492,"13":0.06356,"14":0.3178,"15":1.372896,"16":0.22246,"17":0},P:{"4":0.812575315436,"5":0.738704832215,"6.2":1.59349185235},N:{"10":0.0668295849057,"11":0.523498415094},J:{"7":0.0029152,"10":0.0116608},O:{"0":0.353468},H:{"0":0.162145477663},L:{"0":35.018048},R:{_:"0"},M:{"0":0.196776},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/JE.js b/publi/node_modules/caniuse-lite/data/regions/JE.js deleted file mode 100644 index c9c654b..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/JE.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0.006123,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0.018369,"23":0,"24":0.006123,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0.006123,"33":0.006123,"34":0.018369,"35":0,"36":0,"37":0,"38":0.006123,"39":0.116337,"40":0,"41":0.085722,"42":0,"43":0.042861,"44":0,"45":0,"46":0,"47":0.006123,"48":0,"49":0.318396,"50":0,"51":0,"52":0.006123,"53":0,"54":0,"55":0.018369,"56":0.006123,"57":0.024492,"58":0.036738,"59":0.030615,"60":0.24492,"61":5.957679,"62":8.474232,"63":0.018369,"64":0.006123,"65":0},C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0.006123,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0.006123,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0.006123,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0.006123,"41":0,"42":0,"43":0,"44":0,"45":0.018369,"46":0,"47":0.042861,"48":0.06123,"49":0.006123,"50":0.012246,"51":0,"52":0.079599,"53":0.036738,"54":0.006123,"55":0.018369,"56":1.2246,"57":1.273584,"58":0.146952,"59":0,"60":0,"3.5":0,"3.6":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0.006123,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0.012246,"44":0,"45":0,"46":0,"47":0,"48":0.202059,"49":0.208182,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.030615},E:{"4":0,"5":0,"6":0,"7":0,"8":0.140829,"9":0.067353,"10":0.287781,"11":2.357355,_:"0","3.1":0,"3.2":0,"5.1":0.085722,"6.1":0.085722,"7.1":0.006123,"9.1":0.532701,"10.1":1.383798},G:{"8":0.0706244128826,"3.2":0.00441402580516,"4.0-4.1":0.00441402580516,"4.2-4.3":0.600307509502,"5.0-5.1":0.101522593519,"6.0-6.1":0.0662103870774,"7.0-7.1":0.28249765153,"8.1-8.4":0.485542838568,"9.0-9.2":0.295739728946,"9.3":2.03927992198,"10.0-10.2":3.78282011502,"10.3":7.88786411382,"11.0-11.2":28.5101926755},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.0515619036483,"4.2-4.3":0.145166590271,"4.4":0.412495229186,"4.4.3-4.4.4":0.238771276894},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.012246,"9":0.036738,"10":0.128583,"11":4.843293,"5.5":0},B:{"12":0.024492,"13":0.06123,"14":0.318396,"15":1.996098,"16":0.355134,"17":0},P:{"4":0.774715017668,"5":0.941576713781,"6.2":1.65669826855},N:{"10":0.0251081904762,"11":0.238527809524},J:{"7":0.0085294,"10":0.0341176},O:{"0":0.027139},H:{"0":0.0513869037801},L:{"0":17.077075},R:{_:"0"},M:{"0":0.108556},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/JM.js b/publi/node_modules/caniuse-lite/data/regions/JM.js deleted file mode 100644 index de73bd1..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/JM.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.00639,"12":0.01278,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0.00639,"19":0,"20":0,"21":0,"22":0.02556,"23":0,"24":0,"25":0,"26":0,"27":0.00639,"28":0.00639,"29":0.05751,"30":0.03834,"31":0.01917,"32":0.00639,"33":0.01278,"34":0.00639,"35":0,"36":0.08307,"37":0.0639,"38":0.05112,"39":0.01278,"40":0,"41":0.00639,"42":0.01917,"43":0.02556,"44":0,"45":0,"46":0.00639,"47":0.00639,"48":0.01917,"49":0.5112,"50":0.01278,"51":0.03834,"52":0.03195,"53":0.02556,"54":0.0639,"55":0.05751,"56":0.05751,"57":0.18531,"58":0.14058,"59":0.1917,"60":0.29394,"61":8.25588,"62":11.73204,"63":0.0639,"64":0.10863,"65":0},C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.00639,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0.00639,"22":0,"23":0.00639,"24":0.00639,"25":0,"26":0,"27":0,"28":0,"29":0.01278,"30":0,"31":0.00639,"32":0,"33":0,"34":0.02556,"35":0,"36":0,"37":0.00639,"38":0.00639,"39":0.00639,"40":0.02556,"41":0,"42":0,"43":0.01278,"44":0.00639,"45":0.01278,"46":0.00639,"47":0.02556,"48":0.08946,"49":0.01917,"50":0.00639,"51":0.01278,"52":0.10863,"53":0.03834,"54":0.02556,"55":0.07668,"56":1.24605,"57":1.05435,"58":0.03195,"59":0,"60":0,"3.5":0,"3.6":0.00639},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0.03834,"18":0,"19":0,"20":0,"21":0,"22":0.00639,"23":0,"24":0,"25":0,"26":0,"27":0.00639,"28":0.00639,"29":0.01278,"30":0.01278,"31":0.01917,"32":0,"33":0.00639,"34":0,"35":0,"36":0,"37":0.01917,"38":0.00639,"39":0,"40":0,"41":0,"42":0,"43":0.08946,"44":0,"45":0.00639,"46":0,"47":0.05112,"48":0.36423,"49":0.20448,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.01917},E:{"4":0,"5":0,"6":0.00639,"7":0,"8":0.01917,"9":0.01917,"10":0.07668,"11":1.06074,_:"0","3.1":0,"3.2":0,"5.1":0.01278,"6.1":0.00639,"7.1":0,"9.1":0.11502,"10.1":0.31311},G:{"8":0.0172714222845,"3.2":0.00107946389278,"4.0-4.1":0.00107946389278,"4.2-4.3":0.146807089418,"5.0-5.1":0.0248276695339,"6.0-6.1":0.0161919583917,"7.0-7.1":0.0690856891378,"8.1-8.4":0.118741028206,"9.0-9.2":0.0723240808162,"9.3":0.498712318464,"10.0-10.2":0.925100556111,"10.3":1.9290019764,"11.0-11.2":6.97225728346},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.222479373246,"4.2-4.3":0.626365004677,"4.4":1.77983498597,"4.4.3-4.4.4":1.03025063611},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0.006415256917,"8":0.0898135968379,"9":0.070567826087,"10":0.076983083004,"11":6.24846023715,"5.5":0},B:{"12":0.05112,"13":0.1278,"14":0.35784,"15":2.83077,"16":0.24282,"17":0},P:{"4":0.690084318182,"5":0.488367363636,"6.2":1.15721831818},N:{"10":0.0329232,"11":0.2414368},J:{"7":0.015884,"10":0.063536},O:{"0":1.72558},H:{"0":0.915947560137},L:{"0":38.34091},R:{_:"0"},M:{"0":0.11191},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/JO.js b/publi/node_modules/caniuse-lite/data/regions/JO.js deleted file mode 100644 index 84c0cca..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/JO.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0.004558,"8":0,"9":0,"10":0,"11":0.009116,"12":0.004558,"13":0.004558,"14":0,"15":0,"16":0,"17":0.004558,"18":0.004558,"19":0.004558,"20":0,"21":0,"22":0.004558,"23":0.004558,"24":0.004558,"25":0,"26":0.004558,"27":0.009116,"28":0.004558,"29":0.100276,"30":0.009116,"31":0.009116,"32":0.004558,"33":0.009116,"34":0.013674,"35":0.004558,"36":0.004558,"37":0.004558,"38":0.013674,"39":0.013674,"40":0.013674,"41":0.004558,"42":0.004558,"43":0.06837,"44":0.004558,"45":0.004558,"46":0.009116,"47":0.04558,"48":0.004558,"49":0.451242,"50":0.004558,"51":0.009116,"52":0.004558,"53":0.027348,"54":0.050138,"55":0.04558,"56":0.059254,"57":0.123066,"58":0.109392,"59":0.072928,"60":0.141298,"61":5.624572,"62":7.917246,"63":0.036464,"64":0.027348,"65":0},C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0.004558,"11":0,"12":0,"13":0,"14":0,"15":0.004558,"16":0,"17":0,"18":0.004558,"19":0,"20":0,"21":0.004558,"22":0,"23":0.004558,"24":0,"25":0.004558,"26":0,"27":0,"28":0.004558,"29":0,"30":0.004558,"31":0,"32":0.004558,"33":0.004558,"34":0,"35":0,"36":0,"37":0,"38":0.004558,"39":0.009116,"40":0.027348,"41":0.004558,"42":0,"43":0.009116,"44":0.004558,"45":0.009116,"46":0.004558,"47":0.02279,"48":0.095718,"49":0.013674,"50":0.004558,"51":0.013674,"52":0.086602,"53":0.013674,"54":0.018232,"55":0.031906,"56":0.824998,"57":0.761186,"58":0.027348,"59":0,"60":0,"3.5":0,"3.6":0.004558},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0.004558,"20":0,"21":0,"22":0.004558,"23":0,"24":0,"25":0,"26":0,"27":0.004558,"28":0,"29":0,"30":0.004558,"31":0.004558,"32":0,"33":0,"34":0,"35":0,"36":0.009116,"37":0.013674,"38":0,"39":0,"40":0,"41":0,"42":0.004558,"43":0.054696,"44":0,"45":0.004558,"46":0.004558,"47":0,"48":0.259806,"49":0.132182,"50":0.004558,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.004558},E:{"4":0,"5":0.004558,"6":0.004558,"7":0.036464,"8":0.009116,"9":0.013674,"10":0.059254,"11":0.332734,_:"0","3.1":0,"3.2":0,"5.1":0.004558,"6.1":0.013674,"7.1":0,"9.1":0.086602,"10.1":0.259806},G:{"8":0.0156914102821,"3.2":0.000980713142629,"4.0-4.1":0.000980713142629,"4.2-4.3":0.133376987397,"5.0-5.1":0.0225564022805,"6.0-6.1":0.0147106971394,"7.0-7.1":0.0627656411282,"8.1-8.4":0.107878445689,"9.0-9.2":0.0657077805561,"9.3":0.453089471894,"10.0-10.2":0.840471163233,"10.3":1.75253438588,"11.0-11.2":6.33442618824},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.211188222638,"4.2-4.3":0.594576072965,"4.4":1.6895057811,"4.4.3-4.4.4":0.977963923293},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0.0595050762712,"8":0.128164779661,"9":0.0595050762712,"10":0.0961235847458,"11":0.736947483051,"5.5":0},B:{"12":0.027348,"13":0.031906,"14":0.191436,"15":0.414778,"16":0.072928,"17":0},P:{"4":2.33608171034,"5":0.932383489655,"6.2":1.1885328},N:{"10":0.055327,"11":0.276635},J:{"7":0.0010884,"10":0.0043536},O:{"0":1.104726},H:{"0":0.824341443299},L:{"0":55.610286},R:{_:"0"},M:{"0":0.146934},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/JP.js b/publi/node_modules/caniuse-lite/data/regions/JP.js deleted file mode 100644 index 0e781db..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/JP.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.007274,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0.007274,"18":0.007274,"19":0,"20":0,"21":0.007274,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0.007274,"28":0,"29":0.021822,"30":0.007274,"31":0.007274,"32":0.007274,"33":0.007274,"34":0.007274,"35":0,"36":0.007274,"37":0.007274,"38":0.007274,"39":0.007274,"40":0.007274,"41":0.007274,"42":0.007274,"43":0.029096,"44":0.007274,"45":0.014548,"46":0.007274,"47":0.029096,"48":0.014548,"49":0.923798,"50":0.021822,"51":0.029096,"52":0.029096,"53":0.029096,"54":0.021822,"55":0.21822,"56":0.065466,"57":0.058192,"58":0.080014,"59":0.10911,"60":0.18185,"61":7.81955,"62":10.780068,"63":0.050918,"64":0.050918,"65":0},C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0.007274,"11":0,"12":0.007274,"13":0,"14":0,"15":0,"16":0.014548,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0.007274,"28":0.007274,"29":0.007274,"30":0,"31":0.007274,"32":0,"33":0.007274,"34":0.007274,"35":0.029096,"36":0.014548,"37":0.007274,"38":0.014548,"39":0.007274,"40":0.007274,"41":0.014548,"42":0.007274,"43":0.029096,"44":0.007274,"45":0.050918,"46":0.007274,"47":0.043644,"48":0.25459,"49":0.021822,"50":0.029096,"51":0.029096,"52":0.392796,"53":0.03637,"54":0.080014,"55":0.10911,"56":3.797028,"57":2.458612,"58":0.021822,"59":0,"60":0,"3.5":0,"3.6":0.007274},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0.014548,"37":0.014548,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0.029096,"44":0.007274,"45":0,"46":0,"47":0.007274,"48":0.225494,"49":0.123658,"50":0.007274,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.065466},E:{"4":0.007274,"5":0.065466,"6":0.029096,"7":0.03637,"8":0.087288,"9":0.07274,"10":0.167302,"11":1.49117,_:"0","3.1":0,"3.2":0,"5.1":0.160028,"6.1":0.116384,"7.1":0.007274,"9.1":0.465536,"10.1":0.61829},G:{"8":0.0514167121424,"3.2":0.0032135445089,"4.0-4.1":0.0032135445089,"4.2-4.3":0.437042053211,"5.0-5.1":0.0739115237047,"6.0-6.1":0.0482031676335,"7.0-7.1":0.20566684857,"8.1-8.4":0.353489895979,"9.0-9.2":0.215307482096,"9.3":1.48465756311,"10.0-10.2":2.75400764413,"10.3":5.74260403741,"11.0-11.2":20.756283983},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.0983256033676,"4.2-4.3":0.27682439102,"4.4":0.786604826941,"4.4.3-4.4.4":0.455323178672},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0.014608271362,"7":0.043824814086,"8":0.430944005179,"9":0.409031598136,"10":0.248340613154,"11":12.9575366981,"5.5":0},B:{"12":0.007274,"13":0.03637,"14":0.378248,"15":2.051268,"16":0.29096,"17":0},P:{"4":0.085728,"5":0.150024,"6.2":0.385776},N:{"10":0,"11":0},J:{"7":0.0010904,"10":0.0043616},O:{"0":0.267148},H:{"0":0.0929088247423},L:{"0":13.808384},R:{_:"0"},M:{"0":0.130848},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/KE.js b/publi/node_modules/caniuse-lite/data/regions/KE.js deleted file mode 100644 index 9353d22..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/KE.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.005145,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0.001715,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0.00343,"32":0.001715,"33":0.001715,"34":0.001715,"35":0,"36":0.001715,"37":0.001715,"38":0.001715,"39":0.001715,"40":0.00343,"41":0,"42":0,"43":0.005145,"44":0,"45":0,"46":0.001715,"47":0,"48":0,"49":0.04116,"50":0.00343,"51":0.001715,"52":0.001715,"53":0.001715,"54":0.00343,"55":0.01029,"56":0.005145,"57":0.022295,"58":0.01372,"59":0.008575,"60":0.018865,"61":0.550515,"62":0.80605,"63":0.00686,"64":0.005145,"65":0},C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0.001715,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0.001715,"30":0.001715,"31":0.001715,"32":0.00343,"33":0.001715,"34":0.001715,"35":0.001715,"36":0.001715,"37":0.001715,"38":0.00343,"39":0.00343,"40":0.001715,"41":0.001715,"42":0.001715,"43":0.01029,"44":0.00686,"45":0.005145,"46":0.00343,"47":0.018865,"48":0.01029,"49":0.005145,"50":0.00686,"51":0.00343,"52":0.06174,"53":0.008575,"54":0.012005,"55":0.018865,"56":0.355005,"57":0.30184,"58":0.02744,"59":0,"60":0,"3.5":0,"3.6":0},F:{"9":0,"11":0.001715,"12":0.00686,"15":0.01372,"16":0.008575,"17":0.005145,"18":0.005145,"19":0.00686,"20":0.05488,"21":0.053165,"22":0.01029,"23":0.046305,"24":0.00686,"25":0.001715,"26":0.008575,"27":0.005145,"28":0.04116,"29":0.03773,"30":0.05488,"31":0.0343,"32":0.00343,"33":0.001715,"34":0.001715,"35":0.001715,"36":0.00343,"37":0.029155,"38":0,"39":0,"40":0,"41":0,"42":0.00343,"43":0.066885,"44":0.005145,"45":0.001715,"46":0.001715,"47":0.001715,"48":0.05831,"49":0.036015,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.08918},E:{"4":0,"5":0,"6":0,"7":0.001715,"8":0.00343,"9":0.001715,"10":0.00343,"11":0.036015,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0.00686,"10.1":0.01372},G:{"8":0.0016524664933,"3.2":0.000103279155831,"4.0-4.1":0.000103279155831,"4.2-4.3":0.014045965193,"5.0-5.1":0.00237542058412,"6.0-6.1":0.00154918733747,"7.0-7.1":0.00660986597319,"8.1-8.4":0.0113607071414,"9.0-9.2":0.00691970344069,"9.3":0.047714969994,"10.0-10.2":0.0885102365473,"10.3":0.18455985147,"11.0-11.2":0.667080067514},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.155797521048,"4.2-4.3":0.438629943873,"4.4":1.24638016838,"4.4.3-4.4.4":0.721462366698},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.00727575757576,"9":0.00181893939394,"10":0.00363787878788,"11":0.0472924242424,"5.5":0},B:{"12":0.005145,"13":0.008575,"14":0.015435,"15":0.039445,"16":0.00343,"17":0},P:{"4":1.10638337838,"5":0.204885810811,"6.2":0.204885810811},N:{"10":0.369385943396,"11":0.782229056604},J:{"7":0.024855,"10":0.09942},O:{"0":7.464785},H:{"0":47.1720283333},L:{"0":22.094365},R:{_:"0"},M:{"0":0.389395},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/KG.js b/publi/node_modules/caniuse-lite/data/regions/KG.js deleted file mode 100644 index 6d70363..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/KG.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0.007001,"11":0.014002,"12":0.014002,"13":0.007001,"14":0.007001,"15":0.014002,"16":0.021003,"17":0.035005,"18":0.014002,"19":0.007001,"20":0.007001,"21":0.014002,"22":0.007001,"23":0.007001,"24":0.007001,"25":0.007001,"26":0.007001,"27":0.035005,"28":0.014002,"29":0,"30":0,"31":0,"32":0,"33":0.007001,"34":0,"35":0.007001,"36":0.014002,"37":0,"38":0,"39":0.014002,"40":0.021003,"41":0.007001,"42":0.007001,"43":0.014002,"44":0,"45":0.028004,"46":0.007001,"47":0.035005,"48":0.007001,"49":0.784112,"50":0.014002,"51":0.014002,"52":0.014002,"53":0.028004,"54":0.231033,"55":0.196028,"56":0.112016,"57":0.084012,"58":0.168024,"59":0.119017,"60":0.574082,"61":20.694956,"62":14.926132,"63":0.028004,"64":0.056008,"65":0},C:{"2":0,"3":0.007001,"4":0.014002,"5":0,"6":0,"7":0.007001,"8":0,"9":0.014002,"10":0,"11":0.007001,"12":0.007001,"13":0.007001,"14":0,"15":0.007001,"16":0.007001,"17":0.007001,"18":0,"19":0.007001,"20":0.007001,"21":0.042006,"22":0.014002,"23":0.035005,"24":0.028004,"25":0.014002,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0.035005,"44":0.007001,"45":0.014002,"46":0,"47":0.014002,"48":0.035005,"49":0.007001,"50":0.007001,"51":0.007001,"52":0.098014,"53":0.014002,"54":0.014002,"55":0.07001,"56":0.805115,"57":0.651093,"58":0.007001,"59":0,"60":0,"3.5":0.098014,"3.6":0.035005},F:{"9":0,"11":0,"12":0.014002,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0.007001,"25":0.007001,"26":0.007001,"27":0.007001,"28":0.007001,"29":0.042006,"30":0.007001,"31":0,"32":0.014002,"33":0,"34":0,"35":0,"36":0.056008,"37":0.035005,"38":0.049007,"39":0.007001,"40":0.007001,"41":0,"42":0.014002,"43":0.084012,"44":0.014002,"45":0.007001,"46":0.007001,"47":0.077011,"48":1.547221,"49":1.001143,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0.028004,"12.1":0.105015},E:{"4":0.021003,"5":0.035005,"6":0,"7":0.014002,"8":0.007001,"9":0.007001,"10":0.028004,"11":0.546078,_:"0","3.1":0,"3.2":0,"5.1":0.007001,"6.1":0.021003,"7.1":0,"9.1":0.056008,"10.1":0.112016},G:{"8":0.0112218907782,"3.2":0.000701368173635,"4.0-4.1":0.000701368173635,"4.2-4.3":0.0953860716143,"5.0-5.1":0.0161314679936,"6.0-6.1":0.0105205226045,"7.0-7.1":0.0448875631126,"8.1-8.4":0.0771504990998,"9.0-9.2":0.0469916676335,"9.3":0.324032096219,"10.0-10.2":0.601072524805,"10.3":1.25334492629,"11.0-11.2":4.53013703351},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.116367754911,"4.2-4.3":0.327619986904,"4.4":0.930942039289,"4.4.3-4.4.4":0.538872218896},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0.00710627819549,"8":0.554289699248,"9":0.0497439473684,"10":0.0497439473684,"11":0.277144849624,"5.5":0},B:{"12":0.007001,"13":0.014002,"14":0.084012,"15":0.343049,"16":0.014002,"17":0},P:{"4":1.13673156221,"5":0.532522894009,"6.2":0.553004543779},N:{"10":0.0245372727273,"11":0.110417727273},J:{"7":0.0023992,"10":0.0095968},O:{"0":4.144618},H:{"0":1.78589419416},L:{"0":28.101115},R:{_:"0"},M:{"0":0.065978},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/KH.js b/publi/node_modules/caniuse-lite/data/regions/KH.js deleted file mode 100644 index 59b58f0..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/KH.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.024032,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0.03004,"19":0,"20":0.006008,"21":0.006008,"22":0,"23":0.006008,"24":0.006008,"25":0,"26":0,"27":0.006008,"28":0.006008,"29":0.018024,"30":0.012016,"31":0.024032,"32":0.006008,"33":0.03004,"34":0.006008,"35":0.006008,"36":0.006008,"37":0.012016,"38":0.012016,"39":0.012016,"40":0.072096,"41":0.018024,"42":0,"43":0.306408,"44":0.006008,"45":0.012016,"46":0.018024,"47":0.102136,"48":0.096128,"49":2.01268,"50":0.012016,"51":0.042056,"52":0.024032,"53":0.018024,"54":0.036048,"55":0.21028,"56":0.51068,"57":0.342456,"58":0.582776,"59":0.84112,"60":0.99132,"61":6.290376,"62":9.775016,"63":0.192256,"64":0.174232,"65":0},C:{"2":0,"3":0.012016,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0.006008,"13":0.006008,"14":0,"15":0,"16":0.006008,"17":0,"18":0,"19":0,"20":0,"21":0.006008,"22":0.006008,"23":0.006008,"24":0,"25":0.006008,"26":0.006008,"27":0.006008,"28":0.006008,"29":0.012016,"30":0.036048,"31":0.012016,"32":0.012016,"33":0.012016,"34":0.012016,"35":0.018024,"36":0.018024,"37":0.03004,"38":0.024032,"39":0.036048,"40":0.03004,"41":0.048064,"42":0.03004,"43":0.096128,"44":0.03004,"45":0.018024,"46":0.018024,"47":0.192256,"48":0.144192,"49":0.042056,"50":0.084112,"51":0.024032,"52":0.264352,"53":0.156208,"54":0.276368,"55":0.294392,"56":2.198928,"57":2.066752,"58":0.234312,"59":0.006008,"60":0,"3.5":0,"3.6":0.006008},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0.006008,"35":0.006008,"36":0.006008,"37":0.192256,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0.024032,"44":0,"45":0.042056,"46":0.054072,"47":0.06008,"48":0.4506,"49":0.552736,"50":0.006008,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.006008},E:{"4":0.012016,"5":0,"6":0,"7":0.036048,"8":0.024032,"9":0.042056,"10":0.162216,"11":0.606808,_:"0","3.1":0,"3.2":0,"5.1":0.006008,"6.1":0,"7.1":0,"9.1":0.066088,"10.1":0.438584},G:{"8":0.0359145237047,"3.2":0.00224465773155,"4.0-4.1":0.00224465773155,"4.2-4.3":0.30527345149,"5.0-5.1":0.0516271278256,"6.0-6.1":0.0336698659732,"7.0-7.1":0.143658094819,"8.1-8.4":0.24691235047,"9.0-9.2":0.150392068014,"9.3":1.03703187197,"10.0-10.2":1.92367167594,"10.3":4.01120336627,"11.0-11.2":14.4982442881},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.278287558466,"4.2-4.3":0.783486510758,"4.4":2.22630046773,"4.4.3-4.4.4":1.28868546305},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0.0277728301887,"7":0.0347160377358,"8":0.31938754717,"9":0.118034528302,"10":0.208296226415,"11":0.763752830189,"5.5":0},B:{"12":0.054072,"13":0.036048,"14":0.114152,"15":0.366488,"16":0.072096,"17":0},P:{"4":1.70967724138,"5":0.704594257053,"6.2":0.891104501567},N:{"10":0.0332666666667,"11":0.0665333333333},J:{"7":0.0031936,"10":0.0127744},O:{"0":1.261472},H:{"0":1.02798801375},L:{"0":28.42832},R:{_:"0"},M:{"0":0.195608},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/KI.js b/publi/node_modules/caniuse-lite/data/regions/KI.js deleted file mode 100644 index ebf523f..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/KI.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0.002628,"29":0.002628,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0.002628,"39":0,"40":0.002628,"41":0,"42":0,"43":0,"44":0,"45":0.002628,"46":0.002628,"47":0.018396,"48":0.002628,"49":0.03942,"50":0.023652,"51":0.034164,"52":0.002628,"53":0.002628,"54":0,"55":0.073584,"56":0.084096,"57":0.036792,"58":0.023652,"59":0.01314,"60":0.01314,"61":1.02492,"62":1.066968,"63":0.005256,"64":0,"65":0},C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0.002628,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0.007884,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0.002628,"36":0,"37":0.002628,"38":0.002628,"39":0.002628,"40":0,"41":0,"42":0,"43":0,"44":0.002628,"45":0.005256,"46":0.425736,"47":0.07884,"48":0.02628,"49":0.018396,"50":0.002628,"51":0,"52":0.139284,"53":0.002628,"54":0.01314,"55":0.028908,"56":0.557136,"57":1.200996,"58":0.023652,"59":0,"60":0,"3.5":0,"3.6":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0.005256,"23":0,"24":0,"25":0,"26":0,"27":0.002628,"28":0,"29":0,"30":0,"31":0.002628,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0.002628,"44":0,"45":0,"46":0,"47":0,"48":0.346896,"49":0.03942,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0.002628,"10":0.002628,"11":0.060444,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0,"10.1":0},G:{"8":0.0105040592118,"3.2":0.00065650370074,"4.0-4.1":0.00065650370074,"4.2-4.3":0.0892845033007,"5.0-5.1":0.015099585117,"6.0-6.1":0.0098475555111,"7.0-7.1":0.0420162368474,"8.1-8.4":0.0722154070814,"9.0-9.2":0.0439857479496,"9.3":0.303304709742,"10.0-10.2":0.562623671534,"10.3":1.17317211322,"11.0-11.2":4.24035740308},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.299776594949,"4.2-4.3":0.843986413471,"4.4":2.39821275959,"4.4.3-4.4.4":1.38819623199},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.007884,"9":0.002628,"10":0.005256,"11":0.43362,"5.5":0},B:{"12":0.057816,"13":0.09198,"14":0.113004,"15":0.134028,"16":0.002628,"17":0},P:{"4":7.61883489655,"5":0.142101655172,"6.2":0.163963448276},N:{"10":0.470523679443,"11":5.81042032056},J:{"7":0.0014744,"10":0.0058976},O:{"0":1.083684},H:{"0":0.474594666667},L:{"0":62.207856},R:{_:"0"},M:{"0":0.346484},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/KM.js b/publi/node_modules/caniuse-lite/data/regions/KM.js deleted file mode 100644 index 76c1124..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/KM.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0.010074,"10":0,"11":0.003358,"12":0,"13":0,"14":0,"15":0,"16":0.006716,"17":0.003358,"18":0.003358,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0.010074,"26":0,"27":0,"28":0.006716,"29":0.03358,"30":0.026864,"31":0.01679,"32":0.020148,"33":0.010074,"34":0,"35":0.003358,"36":0.047012,"37":0.070518,"38":0.010074,"39":0,"40":0.013432,"41":0.006716,"42":0.006716,"43":0.476836,"44":0.003358,"45":0.010074,"46":0.010074,"47":0.057086,"48":0.003358,"49":0.194764,"50":0,"51":0.010074,"52":0.013432,"53":0.043654,"54":0,"55":0.077234,"56":0.010074,"57":0.221628,"58":0.026864,"59":0.231702,"60":0.03358,"61":2.33381,"62":2.814004,"63":0.040296,"64":0.043654,"65":0},C:{"2":0,"3":0.030222,"4":0.003358,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0.003358,"11":0,"12":0,"13":0,"14":0.003358,"15":0,"16":0,"17":0,"18":0,"19":0.003358,"20":0.006716,"21":0,"22":0,"23":0.003358,"24":0.003358,"25":0.003358,"26":0.010074,"27":0,"28":0.003358,"29":0.020148,"30":0.013432,"31":0.010074,"32":0.006716,"33":0,"34":0.026864,"35":0.003358,"36":0.023506,"37":0.06716,"38":0.010074,"39":0,"40":0.006716,"41":0.010074,"42":0,"43":0.020148,"44":0.013432,"45":0.006716,"46":0.013432,"47":0.10074,"48":0.020148,"49":0.010074,"50":0.01679,"51":0.006716,"52":0.114172,"53":0.013432,"54":0.043654,"55":0.036938,"56":1.084634,"57":0.779056,"58":0.010074,"59":0,"60":0,"3.5":0,"3.6":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0.003358,"30":0,"31":0,"32":0,"33":0.010074,"34":0,"35":0,"36":0.013432,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0.003358,"43":0.013432,"44":0,"45":0,"46":0.026864,"47":0.023506,"48":0.214912,"49":0.110814,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.08395},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0.003358,"10":0.003358,"11":0.006716,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0.006716,"10.1":0.013432},G:{"8":0.00411104620924,"3.2":0.000256940388078,"4.0-4.1":0.000256940388078,"4.2-4.3":0.0349438927786,"5.0-5.1":0.00590962892579,"6.0-6.1":0.00385410582116,"7.0-7.1":0.016444184837,"8.1-8.4":0.0282634426885,"9.0-9.2":0.0172150060012,"9.3":0.118706459292,"10.0-10.2":0.220197912583,"10.3":0.459152473495,"11.0-11.2":1.65957796659},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.7450895884,"4.2-4.3":2.09771376427,"4.4":5.9607167072,"4.4.3-4.4.4":3.45033794013},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.0643083650794,"9":0.0067693015873,"10":0.0236925555556,"11":0.331695777778,"5.5":0},B:{"12":0.03358,"13":0.06716,"14":0.110814,"15":0.070518,"16":0.003358,"17":0},P:{"4":0.264502936709,"5":0.44762035443,"6.2":0.0915587088608},N:{"10":0.0241527272727,"11":0.108687272727},J:{"7":0.0053136,"10":0.0212544},O:{"0":0.684126},H:{"0":5.01170854639},L:{"0":64.673964},R:{_:"0"},M:{"0":0.13284},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/KN.js b/publi/node_modules/caniuse-lite/data/regions/KN.js deleted file mode 100644 index acbbfd9..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/KN.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0.022828,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0.005707,"30":0.005707,"31":0,"32":0.028535,"33":0,"34":0.039949,"35":0,"36":0,"37":0.005707,"38":0.005707,"39":0,"40":0.005707,"41":0.005707,"42":0,"43":0.011414,"44":0.005707,"45":0.017121,"46":0.005707,"47":0,"48":0,"49":0.268229,"50":0.005707,"51":0.005707,"52":0.005707,"53":0.005707,"54":0,"55":0,"56":0.011414,"57":0.176917,"58":0.039949,"59":0.05707,"60":0.176917,"61":8.394997,"62":9.348066,"63":0.074191,"64":0.05707,"65":0},C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0.005707,"25":0,"26":0.005707,"27":0,"28":0,"29":0.011414,"30":0,"31":0,"32":0,"33":0,"34":0.005707,"35":0,"36":0,"37":0,"38":0.051363,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0.045656,"46":0,"47":0.005707,"48":0.051363,"49":0.034242,"50":0,"51":0,"52":0.975897,"53":0.005707,"54":0,"55":0.017121,"56":1.107158,"57":1.398215,"58":0.017121,"59":0,"60":0,"3.5":0,"3.6":0.005707},F:{"9":0,"11":0,"12":0.005707,"15":0,"16":0,"17":0.005707,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0.011414,"30":0.017121,"31":0.005707,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0.011414,"44":0,"45":0,"46":0,"47":0,"48":0.22828,"49":0.154089,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.017121},E:{"4":0,"5":0,"6":0,"7":0,"8":0.034242,"9":0.22828,"10":0.051363,"11":1.803412,_:"0","3.1":0,"3.2":0,"5.1":0.011414,"6.1":0.011414,"7.1":0.005707,"9.1":0.239694,"10.1":0.616356},G:{"8":0.0246675431086,"3.2":0.00154172144429,"4.0-4.1":0.00154172144429,"4.2-4.3":0.209674116423,"5.0-5.1":0.0354595932186,"6.0-6.1":0.0231258216643,"7.0-7.1":0.0986701724345,"8.1-8.4":0.169589358872,"9.0-9.2":0.103295336767,"9.3":0.712275307261,"10.0-10.2":1.32125527776,"10.3":2.75505622094,"11.0-11.2":9.95797880866},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.16015823667,"4.2-4.3":0.450907035547,"4.4":1.28126589336,"4.4.3-4.4.4":0.741655834425},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.034242,"9":0.011414,"10":0.051363,"11":1.032967,"5.5":0},B:{"12":0.028535,"13":0.102726,"14":0.359541,"15":1.409629,"16":0.199745,"17":0},P:{"4":0.526440875912,"5":0.811596350365,"6.2":1.66706277372},N:{"10":0.0103032,"11":0.0927288},J:{"7":0.051516,"10":0.206064},O:{"0":0.291924},H:{"0":0.191023747423},L:{"0":45.892204},R:{_:"0"},M:{"0":0.21465},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/KP.js b/publi/node_modules/caniuse-lite/data/regions/KP.js deleted file mode 100644 index cb0747d..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/KP.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.027,"12":0.027,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0.081,"24":0,"25":0,"26":0,"27":0,"28":0.324,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0.774,"35":0,"36":0,"37":0,"38":1.044,"39":0,"40":0.189,"41":0.351,"42":0,"43":0.081,"44":0,"45":0.027,"46":0.189,"47":0.135,"48":0,"49":0.531,"50":0.189,"51":9.18,"52":3.546,"53":0.135,"54":8.271,"55":6.219,"56":2.214,"57":2.88,"58":1.386,"59":0.378,"60":1.332,"61":14.013,"62":2.673,"63":0,"64":0,"65":0},C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0.162,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0.027,"40":0,"41":0,"42":0,"43":0,"44":0,"45":2.592,"46":0,"47":0,"48":0.081,"49":0.27,"50":0,"51":0,"52":0.108,"53":0,"54":0.162,"55":0.081,"56":3.573,"57":4.536,"58":0.027,"59":0,"60":0,"3.5":0,"3.6":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0.243,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0.189,"49":0.162,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},E:{"4":0,"5":0,"6":0,"7":0.108,"8":0,"9":0,"10":0.162,"11":0.423,_:"0","3.1":0,"3.2":0,"5.1":0.027,"6.1":0,"7.1":0,"9.1":0,"10.1":0},G:{"8":0.00689097819564,"3.2":0.000430686137227,"4.0-4.1":0.000430686137227,"4.2-4.3":0.0585733146629,"5.0-5.1":0.00990578115623,"6.0-6.1":0.00646029205841,"7.0-7.1":0.0275639127826,"8.1-8.4":0.047375475095,"9.0-9.2":0.0288559711942,"9.3":0.198976995399,"10.0-10.2":0.369098019604,"10.3":0.769636127225,"11.0-11.2":2.78180176035},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.111697848457,"4.2-4.3":0.314472404116,"4.4":0.893582787652,"4.4.3-4.4.4":0.517246959775},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.774,"9":0.477,"10":0,"11":1.926,"5.5":0},B:{"12":0.027,"13":0.027,"14":0.828,"15":4.032,"16":0,"17":0},P:{"4":0.854377622378,"5":0.432335664336,"6.2":0.185286713287},N:{"10":0,"11":0},J:{"7":0,"10":0},O:{"0":0.307},H:{"0":0},L:{"0":12.133},R:{_:"0"},M:{"0":0},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/KR.js b/publi/node_modules/caniuse-lite/data/regions/KR.js deleted file mode 100644 index 8adf819..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/KR.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.005962,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0.005962,"19":0,"20":0,"21":0,"22":0,"23":0.005962,"24":0,"25":0,"26":0,"27":0.011924,"28":0,"29":0.017886,"30":0.005962,"31":0.292138,"32":0.005962,"33":0,"34":0.005962,"35":0,"36":0.011924,"37":0.011924,"38":0.005962,"39":0.011924,"40":0.005962,"41":0.005962,"42":0.041734,"43":0.017886,"44":0.011924,"45":0.005962,"46":0.011924,"47":0.017886,"48":0.023848,"49":0.363682,"50":0.017886,"51":0.017886,"52":0.011924,"53":0.011924,"54":0.017886,"55":0.071544,"56":0.053658,"57":0.035772,"58":0.071544,"59":0.113278,"60":0.113278,"61":6.415112,"62":9.682288,"63":0.017886,"64":0.017886,"65":0},C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0.005962,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0.005962,"46":0,"47":0.005962,"48":0.017886,"49":0,"50":0,"51":0,"52":0.02981,"53":0.005962,"54":0.005962,"55":0.005962,"56":0.214632,"57":0.184822,"58":0.005962,"59":0,"60":0,"3.5":0,"3.6":0.005962},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0.005962,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0.005962,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0.017886,"44":0,"45":0,"46":0,"47":0,"48":0.035772,"49":0.023848,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},E:{"4":0,"5":0,"6":0.005962,"7":0.011924,"8":0.02981,"9":0.02981,"10":0.065582,"11":0.459074,_:"0","3.1":0,"3.2":0,"5.1":0.011924,"6.1":0.005962,"7.1":0,"9.1":0.101354,"10.1":0.166936},G:{"8":0.0221374738948,"3.2":0.00138359211842,"4.0-4.1":0.00138359211842,"4.2-4.3":0.188168528106,"5.0-5.1":0.0318226187237,"6.0-6.1":0.0207538817764,"7.0-7.1":0.0885498955791,"8.1-8.4":0.152195133027,"9.0-9.2":0.0927006719344,"9.3":0.639219558712,"10.0-10.2":1.18573844549,"10.3":2.47247911562,"11.0-11.2":8.9366214929},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.0679233582788,"4.2-4.3":0.191230377923,"4.4":0.54338686623,"4.4.3-4.4.4":0.314537397568},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0.00596964032465,"7":0.00596964032465,"8":0.364148059804,"9":0.585024751815,"10":0.644721155062,"11":12.3690947527,"5.5":0},B:{"12":0.005962,"13":0.017886,"14":0.137126,"15":0.691592,"16":0.160974,"17":0},P:{"4":1.04133526518,"5":2.51740272843,"6.2":5.92448995527},N:{"10":0,"11":0},J:{"7":0.0016152,"10":0.0064608},O:{"0":0.205938},H:{"0":0.0688125154639},L:{"0":34.12989},R:{_:"0"},M:{"0":0.06057},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/KW.js b/publi/node_modules/caniuse-lite/data/regions/KW.js deleted file mode 100644 index 4e0ce19..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/KW.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0.005872,"20":0,"21":0,"22":0.002936,"23":0,"24":0.01468,"25":0,"26":0.002936,"27":0,"28":0,"29":0.002936,"30":0.008808,"31":0.005872,"32":0.002936,"33":0.002936,"34":0.005872,"35":0.008808,"36":0,"37":0,"38":0.008808,"39":0.002936,"40":0.002936,"41":0,"42":0,"43":0.023488,"44":0.002936,"45":0.002936,"46":0.002936,"47":0.002936,"48":0,"49":0.135056,"50":0.002936,"51":0.002936,"52":0,"53":0.002936,"54":0.017616,"55":0.02936,"56":0.01468,"57":0.02936,"58":0.02936,"59":0.02936,"60":0.064592,"61":2.034648,"62":2.777456,"63":0.011744,"64":0.023488,"65":0},C:{"2":0.005872,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0.005872,"16":0.002936,"17":0,"18":0.005872,"19":0,"20":0,"21":0.005872,"22":0,"23":0.005872,"24":0,"25":0.008808,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0.002936,"39":0,"40":0.002936,"41":0,"42":0,"43":0.002936,"44":0,"45":0.005872,"46":0,"47":0.01468,"48":0.064592,"49":0.005872,"50":0.005872,"51":0.002936,"52":0.023488,"53":0.008808,"54":0.011744,"55":0.01468,"56":0.384616,"57":0.267176,"58":0.008808,"59":0,"60":0,"3.5":0,"3.6":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0.002936,"26":0,"27":0,"28":0.002936,"29":0.002936,"30":0.002936,"31":0.011744,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0.005872,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0.049912,"44":0.002936,"45":0.002936,"46":0,"47":0,"48":0.0734,"49":0.04404,"50":0,"9.5-9.6":0,"10.0-10.1":0.008808,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.002936},E:{"4":0,"5":0.008808,"6":0.002936,"7":0.002936,"8":0.020552,"9":0.038168,"10":0.052848,"11":0.369936,_:"0","3.1":0,"3.2":0,"5.1":0.005872,"6.1":0.005872,"7.1":0,"9.1":0.093952,"10.1":0.149736},G:{"8":0.0428086513303,"3.2":0.00267554070814,"4.0-4.1":0.00267554070814,"4.2-4.3":0.363873536307,"5.0-5.1":0.0615374362873,"6.0-6.1":0.0401331106221,"7.0-7.1":0.171234605321,"8.1-8.4":0.294309477896,"9.0-9.2":0.179261227445,"9.3":1.23609980716,"10.0-10.2":2.29293838688,"10.3":4.78119124545,"11.0-11.2":17.2813174339},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.0583776613658,"4.2-4.3":0.164355569691,"4.4":0.467021290926,"4.4.3-4.4.4":0.270333478017},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.0353659619772,"9":0.0265244714829,"10":0.0618904334601,"11":0.65132313308,"5.5":0},B:{"12":0.01468,"13":0.017616,"14":0.096888,"15":0.20552,"16":0.04404,"17":0},P:{"4":1.34321432836,"5":1.13656597015,"6.2":1.67385170149},N:{"10":0.011479,"11":0.080353},J:{"7":0.0028256,"10":0.0113024},O:{"0":16.416736},H:{"0":4.74160683162},L:{"0":30.356824},R:{_:"0"},M:{"0":0.10596},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/KY.js b/publi/node_modules/caniuse-lite/data/regions/KY.js deleted file mode 100644 index 3afa523..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/KY.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.01351,"12":0,"13":0.006755,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0.006755,"23":0,"24":0,"25":0,"26":0,"27":0.01351,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0.006755,"35":0,"36":0.006755,"37":0.01351,"38":0.033775,"39":0,"40":0,"41":0,"42":0.006755,"43":0.01351,"44":0.006755,"45":0,"46":0.006755,"47":0,"48":0.020265,"49":0.49987,"50":0,"51":0.006755,"52":0.074305,"53":0.01351,"54":0.16212,"55":0.04053,"56":0.04053,"57":0.09457,"58":0.04053,"59":0.04053,"60":0.141855,"61":8.342425,"62":10.868795,"63":0.01351,"64":0.006755,"65":0},C:{"2":0,"3":0.006755,"4":0,"5":0,"6":0,"7":0,"8":0.01351,"9":0,"10":0,"11":0,"12":0.006755,"13":0,"14":0,"15":0,"16":0.006755,"17":0,"18":0,"19":0,"20":0.006755,"21":0,"22":0,"23":0.02702,"24":0,"25":0,"26":0.006755,"27":0.04053,"28":0,"29":0,"30":0,"31":0.006755,"32":0,"33":0.006755,"34":0,"35":0.006755,"36":0.006755,"37":0,"38":0.006755,"39":0.006755,"40":0.01351,"41":0.01351,"42":0.006755,"43":0.006755,"44":0.006755,"45":0.04053,"46":0.020265,"47":0.020265,"48":0.033775,"49":0.006755,"50":0.020265,"51":0.01351,"52":0.303975,"53":0.047285,"54":0.074305,"55":0.033775,"56":1.76981,"57":1.195635,"58":0.006755,"59":0,"60":0,"3.5":0.006755,"3.6":0.033775},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0.006755,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0.01351,"44":0,"45":0,"46":0.006755,"47":0,"48":0.074305,"49":0.05404,"50":0,"9.5-9.6":0.006755,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.006755},E:{"4":0,"5":0,"6":0,"7":0,"8":0.101325,"9":0.05404,"10":0.182385,"11":2.04001,_:"0","3.1":0,"3.2":0,"5.1":0.006755,"6.1":0.006755,"7.1":0.05404,"9.1":0.439075,"10.1":0.58093},G:{"8":0.0453312182436,"3.2":0.00283320114023,"4.0-4.1":0.00283320114023,"4.2-4.3":0.385315355071,"5.0-5.1":0.0651636262252,"6.0-6.1":0.0424980171034,"7.0-7.1":0.181324872975,"8.1-8.4":0.311652125425,"9.0-9.2":0.189824476395,"9.3":1.30893892679,"10.0-10.2":2.42805337718,"10.3":5.06293043759,"11.0-11.2":18.2996461647},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.112496211413,"4.2-4.3":0.3167201029,"4.4":0.8999696913,"4.4.3-4.4.4":0.520943994387},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.033775,"9":0.02702,"10":0.04053,"11":2.452065,"5.5":0},B:{"12":0.02702,"13":0.24318,"14":0.22967,"15":10.477005,"16":0.168875,"17":0},P:{"4":0.471402027027,"5":0.81125,"6.2":2.36797297297},N:{"10":0.0113575,"11":0.0340725},J:{"7":0.009086,"10":0.036344},O:{"0":0.54516},H:{"0":0.187401537801},L:{"0":20.33852},R:{_:"0"},M:{"0":0.243375},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/KZ.js b/publi/node_modules/caniuse-lite/data/regions/KZ.js deleted file mode 100644 index d58412f..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/KZ.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0.007247,"5":0,"6":0,"7":0,"8":0,"9":0.007247,"10":0.014494,"11":0.036235,"12":0.021741,"13":0.007247,"14":0.014494,"15":0.021741,"16":0.028988,"17":0.021741,"18":0.036235,"19":0.014494,"20":0.007247,"21":0.028988,"22":0.028988,"23":0.014494,"24":0.028988,"25":0.007247,"26":0.014494,"27":0.021741,"28":0.036235,"29":0.007247,"30":0.007247,"31":0.007247,"32":0.007247,"33":0.007247,"34":0.007247,"35":0.014494,"36":0.007247,"37":0.014494,"38":0.021741,"39":0.021741,"40":0.036235,"41":0.014494,"42":0.014494,"43":0.065223,"44":0.021741,"45":0.028988,"46":0.014494,"47":0.07247,"48":0.036235,"49":0.862393,"50":0.021741,"51":0.057976,"52":0.043482,"53":0.036235,"54":0.043482,"55":0.21741,"56":0.28988,"57":0.137693,"58":0.275386,"59":0.318868,"60":0.623242,"61":11.566212,"62":17.414541,"63":0.07247,"64":0.123199,"65":0},C:{"2":0,"3":0.014494,"4":0.007247,"5":0,"6":0,"7":0,"8":0.014494,"9":0,"10":0.007247,"11":0.007247,"12":0.007247,"13":0,"14":0,"15":0.007247,"16":0.007247,"17":0.007247,"18":0.007247,"19":0.007247,"20":0.007247,"21":0.014494,"22":0.014494,"23":0.014494,"24":0.021741,"25":0.014494,"26":0,"27":0,"28":0.007247,"29":0,"30":0.007247,"31":0.007247,"32":0.007247,"33":0.007247,"34":0.007247,"35":0.007247,"36":0.007247,"37":0.007247,"38":0.007247,"39":0.007247,"40":0.028988,"41":0.021741,"42":0.014494,"43":0.050729,"44":0.014494,"45":0.159434,"46":0.007247,"47":0.043482,"48":0.115952,"49":0.028988,"50":0.079717,"51":0.065223,"52":0.420326,"53":0.079717,"54":0.108705,"55":0.14494,"56":1.818997,"57":1.507376,"58":0.014494,"59":0,"60":0,"3.5":0.014494,"3.6":0.07247},F:{"9":0,"11":0,"12":0.028988,"15":0,"16":0,"17":0.007247,"18":0.007247,"19":0,"20":0.007247,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0.007247,"27":0.007247,"28":0,"29":0,"30":0.021741,"31":0.007247,"32":0.021741,"33":0,"34":0,"35":0.007247,"36":0.123199,"37":0.014494,"38":0,"39":0.007247,"40":0,"41":0,"42":0.028988,"43":0.079717,"44":0.014494,"45":0.043482,"46":0.043482,"47":0.028988,"48":1.920455,"49":1.282719,"50":0.028988,"9.5-9.6":0,"10.0-10.1":0,"10.5":0.007247,"10.6":0.007247,"11.1":0,"11.5":0.007247,"11.6":0.021741,"12.1":0.311621},E:{"4":0.007247,"5":0.014494,"6":0.007247,"7":0.043482,"8":0.028988,"9":0.007247,"10":0.115952,"11":0.963851,_:"0","3.1":0,"3.2":0,"5.1":0.014494,"6.1":0.007247,"7.1":0,"9.1":0.086964,"10.1":0.65223},G:{"8":0.0167549493899,"3.2":0.00104718433687,"4.0-4.1":0.00104718433687,"4.2-4.3":0.142417069814,"5.0-5.1":0.0240852397479,"6.0-6.1":0.015707765053,"7.0-7.1":0.0670197975595,"8.1-8.4":0.115190277055,"9.0-9.2":0.0701613505701,"9.3":0.483799163633,"10.0-10.2":0.897436976695,"10.3":1.87131840998,"11.0-11.2":6.76376363183},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.0990518521983,"4.2-4.3":0.278869060804,"4.4":0.792414817587,"4.4.3-4.4.4":0.458686269411},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0.00755053926702,"8":0.490785052356,"9":0.0679548534031,"10":0.120808628272,"11":0.755053926702,"5.5":0},B:{"12":0.007247,"13":0.028988,"14":0.188422,"15":0.485549,"16":0.043482,"17":0},P:{"4":0.917183684211,"5":0.540119280702,"6.2":0.866229035088},N:{"10":0.0117985714286,"11":0.0707914285714},J:{"7":0.0016518,"10":0.0066072},O:{"0":1.40403},H:{"0":0.375316206186},L:{"0":27.883123},R:{_:"0"},M:{"0":0.063319},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/LA.js b/publi/node_modules/caniuse-lite/data/regions/LA.js deleted file mode 100644 index e7848e9..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/LA.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.008397,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0.000933,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0.000933,"27":0,"28":0,"29":0.000933,"30":0,"31":0.000933,"32":0.000933,"33":0.003732,"34":0,"35":0.000933,"36":0.001866,"37":0,"38":0.001866,"39":0,"40":0.014928,"41":0,"42":0,"43":0.067176,"44":0.000933,"45":0,"46":0.000933,"47":0.000933,"48":0,"49":0.004665,"50":0.000933,"51":0.000933,"52":0.000933,"53":0.002799,"54":0.001866,"55":0.00933,"56":0.002799,"57":0.006531,"58":0.006531,"59":0.007464,"60":0.011196,"61":0.16794,"62":0.250977,"63":0.001866,"64":0.002799,"65":0},C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0.000933,"27":0,"28":0,"29":0,"30":0.000933,"31":0,"32":0,"33":0.000933,"34":0.000933,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0.000933,"41":0,"42":0,"43":0.000933,"44":0.000933,"45":0.000933,"46":0,"47":0.003732,"48":0.001866,"49":0,"50":0.000933,"51":0.001866,"52":0.004665,"53":0.001866,"54":0.001866,"55":0.004665,"56":0.064377,"57":0.049449,"58":0.003732,"59":0,"60":0,"3.5":0,"3.6":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0.001866,"19":0,"20":0,"21":0.000933,"22":0.002799,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0.000933,"30":0.000933,"31":0,"32":0,"33":0,"34":0.001866,"35":0,"36":0,"37":0.048516,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0.00933,"44":0.000933,"45":0,"46":0,"47":0,"48":0.005598,"49":0.003732,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},E:{"4":0,"5":0,"6":0,"7":0.000933,"8":0,"9":0,"10":0.000933,"11":0.013995,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0.002799,"10.1":0.005598},G:{"8":0.0257627781556,"3.2":0.00161017363473,"4.0-4.1":0.00161017363473,"4.2-4.3":0.218983614323,"5.0-5.1":0.0370339935987,"6.0-6.1":0.0241526045209,"7.0-7.1":0.103051112623,"8.1-8.4":0.17711909982,"9.0-9.2":0.107881633527,"9.3":0.743900219244,"10.0-10.2":1.37991880496,"10.3":2.87738028526,"11.0-11.2":10.4001115067},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.283698063611,"4.2-4.3":0.798719163704,"4.4":2.26958450889,"4.4.3-4.4.4":1.3137402638},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0.000982105263158,"7":0,"8":0.00392842105263,"9":0.00196421052632,"10":0.00196421052632,"11":0.0284810526316,"5.5":0},B:{"12":0.001866,"13":0.001866,"14":0.002799,"15":0.008397,"16":0.001866,"17":0},P:{"4":12.5564054836,"5":2.86945408945,"6.2":1.63823442695},N:{"10":0.179828833333,"11":0.200985166667},J:{"7":0,"10":0},O:{"0":1.768065},H:{"0":1.24468722509},L:{"0":55.735823},R:{_:"0"},M:{"0":0.145072},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/LB.js b/publi/node_modules/caniuse-lite/data/regions/LB.js deleted file mode 100644 index bd98bcf..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/LB.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.01012,"12":0.00506,"13":0.00506,"14":0.00506,"15":0.00506,"16":0.00506,"17":0,"18":0.01012,"19":0,"20":0,"21":0,"22":0.00506,"23":0,"24":0,"25":0,"26":0.01518,"27":0.00506,"28":0,"29":0.00506,"30":0.01012,"31":0.01012,"32":0.01012,"33":0.00506,"34":0.01012,"35":0.00506,"36":0.00506,"37":0,"38":0.01518,"39":0.02024,"40":0.01518,"41":0.00506,"42":0,"43":0.04048,"44":0.01012,"45":0.04048,"46":0.01012,"47":0.0253,"48":0.00506,"49":0.36938,"50":0.00506,"51":0.0253,"52":0.01012,"53":0.01012,"54":0.01012,"55":0.10626,"56":0.0759,"57":0.09614,"58":0.09108,"59":0.07084,"60":0.18722,"61":6.53246,"62":8.7032,"63":0.11638,"64":0.07084,"65":0},C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0.01012,"11":0,"12":0.00506,"13":0,"14":0,"15":0,"16":0.00506,"17":0,"18":0,"19":0,"20":0,"21":0.01012,"22":0,"23":0,"24":0.00506,"25":0,"26":0,"27":0,"28":0,"29":0.00506,"30":0,"31":0,"32":0.00506,"33":0,"34":0,"35":0.00506,"36":0.00506,"37":0.00506,"38":0.01012,"39":0.01012,"40":0.00506,"41":0.00506,"42":0,"43":0.03036,"44":0.00506,"45":0.01012,"46":0.01012,"47":0.1771,"48":0.1265,"49":0.01012,"50":0.01518,"51":0.01012,"52":0.09108,"53":0.02024,"54":0.0253,"55":0.03036,"56":1.38644,"57":1.09296,"58":0.0253,"59":0,"60":0,"3.5":0,"3.6":0.00506},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0.00506,"31":0.00506,"32":0,"33":0,"34":0,"35":0,"36":0.00506,"37":0.00506,"38":0.01518,"39":0,"40":0,"41":0,"42":0,"43":0.03036,"44":0,"45":0,"46":0,"47":0,"48":0.16698,"49":0.10626,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.00506},E:{"4":0,"5":0.00506,"6":0.00506,"7":0.04554,"8":0.13156,"9":0.0759,"10":0.26818,"11":0.81972,_:"0","3.1":0,"3.2":0,"5.1":0.01518,"6.1":0.01518,"7.1":0.01012,"9.1":0.36432,"10.1":0.52118},G:{"8":0.0318840088018,"3.2":0.00199275055011,"4.0-4.1":0.00199275055011,"4.2-4.3":0.271014074815,"5.0-5.1":0.0458332626525,"6.0-6.1":0.0298912582517,"7.0-7.1":0.127536035207,"8.1-8.4":0.219202560512,"9.0-9.2":0.133514286857,"9.3":0.920650754151,"10.0-10.2":1.70778722144,"10.3":3.56104523305,"11.0-11.2":12.8711758032},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.211199532273,"4.2-4.3":0.594607913938,"4.4":1.68959625819,"4.4.3-4.4.4":0.978016295603},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0.00509968627451,"7":0.00509968627451,"8":0.0764952941176,"9":0.0407974901961,"10":0.0509968627451,"11":1.12193098039,"5.5":0},B:{"12":0.06072,"13":0.06072,"14":0.16192,"15":0.56672,"16":0.06072,"17":0},P:{"4":2.13267810811,"5":1.42178540541,"6.2":3.30719648649},N:{"10":0,"11":0.02964},J:{"7":0.022724,"10":0.090896},O:{"0":1.9513},H:{"0":0.799745257732},L:{"0":36.68978},R:{_:"0"},M:{"0":0.1235},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/LC.js b/publi/node_modules/caniuse-lite/data/regions/LC.js deleted file mode 100644 index 03c84ac..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/LC.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.00594,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0.01782,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0.00594,"31":0.00594,"32":0.10692,"33":0,"34":0.00594,"35":0,"36":0,"37":0.0297,"38":0.00594,"39":0,"40":0,"41":0.00594,"42":0.00594,"43":0.02376,"44":0,"45":0.03564,"46":0.00594,"47":0.01188,"48":0.00594,"49":0.36234,"50":0.00594,"51":0.00594,"52":0.01188,"53":0.00594,"54":0.00594,"55":0.01782,"56":0.0297,"57":0.19602,"58":0.04158,"59":0.03564,"60":0.16038,"61":7.85268,"62":10.99494,"63":0.0297,"64":0.06534,"65":0},C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0.00594,"23":0.00594,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0.0297,"37":0,"38":0.01188,"39":0.01188,"40":0,"41":0,"42":0,"43":0.01188,"44":0.00594,"45":0.00594,"46":0,"47":0.01782,"48":0.01782,"49":0.00594,"50":0.01782,"51":0.01188,"52":0.19008,"53":0.01188,"54":0.02376,"55":0.0297,"56":1.7523,"57":1.07514,"58":0.02376,"59":0,"60":0,"3.5":0,"3.6":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0.01782,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0.07128,"28":0,"29":0.01188,"30":0,"31":0.01782,"32":0,"33":0,"34":0,"35":0,"36":0.00594,"37":0.00594,"38":0,"39":0.00594,"40":0,"41":0,"42":0,"43":0.07722,"44":0,"45":0,"46":0,"47":0.00594,"48":0.4158,"49":0.21978,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.00594},E:{"4":0,"5":0,"6":0,"7":0.00594,"8":0.00594,"9":0.00594,"10":0.01188,"11":0.83754,_:"0","3.1":0,"3.2":0,"5.1":0.02376,"6.1":0.05346,"7.1":0,"9.1":0.11286,"10.1":0.30888},G:{"8":0.0177316423285,"3.2":0.00110822764553,"4.0-4.1":0.00110822764553,"4.2-4.3":0.150718959792,"5.0-5.1":0.0254892358472,"6.0-6.1":0.0166234146829,"7.0-7.1":0.0709265693139,"8.1-8.4":0.121905041008,"9.0-9.2":0.0742512522505,"9.3":0.512001172234,"10.0-10.2":0.949751092218,"10.3":1.98040280256,"11.0-11.2":7.15804236247},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.235802245089,"4.2-4.3":0.663874013096,"4.4":1.88641796071,"4.4.3-4.4.4":1.0919457811},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.02376,"9":0.01188,"10":0.0297,"11":1.53252,"5.5":0},B:{"12":0.08316,"13":0.2376,"14":0.45738,"15":3.05316,"16":0.16632,"17":0},P:{"4":0.956905090909,"5":0.494950909091,"6.2":1.572844},N:{"10":0.02262,"11":0.61074},J:{"7":0.037352,"10":0.149408},O:{"0":0.82012},H:{"0":0.941717697595},L:{"0":43.94184},R:{_:"0"},M:{"0":0.18676},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/LI.js b/publi/node_modules/caniuse-lite/data/regions/LI.js deleted file mode 100644 index 81db2ef..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/LI.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0.07875,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0.007875,"39":0,"40":0.007875,"41":0,"42":0,"43":0,"44":0.007875,"45":0,"46":0,"47":0.007875,"48":0.70875,"49":0.291375,"50":0,"51":0.0315,"52":0.055125,"53":0.0315,"54":0.023625,"55":0.01575,"56":0.039375,"57":0.14175,"58":0.1575,"59":0.20475,"60":1.236375,"61":6.111,"62":10.1745,"63":0.01575,"64":0.007875,"65":0},C:{"2":0,"3":0.04725,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0.01575,"17":0,"18":0,"19":0.007875,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0.007875,"27":0,"28":0,"29":0,"30":0.0945,"31":0.007875,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0.07875,"39":0,"40":0,"41":0.01575,"42":0.0315,"43":0.023625,"44":0,"45":0.23625,"46":0,"47":0.133875,"48":0.874125,"49":0.070875,"50":0.055125,"51":0.0315,"52":0.433125,"53":0.01575,"54":0.04725,"55":0.133875,"56":4.41,"57":5.0715,"58":0.007875,"59":0,"60":0,"3.5":0,"3.6":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0.007875,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0.01575,"39":0.01575,"40":0,"41":0,"42":0,"43":0.039375,"44":0,"45":0,"46":0,"47":0,"48":0.2205,"49":0.2835,"50":0,"9.5-9.6":0.01575,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.007875},E:{"4":0.086625,"5":0.007875,"6":0,"7":0,"8":0.086625,"9":0.055125,"10":0.33075,"11":5.646375,_:"0","3.1":0,"3.2":0,"5.1":0.055125,"6.1":0.023625,"7.1":0,"9.1":1.008,"10.1":0.952875},G:{"8":0.042400480096,"3.2":0.002650030006,"4.0-4.1":0.002650030006,"4.2-4.3":0.360404080816,"5.0-5.1":0.060950690138,"6.0-6.1":0.03975045009,"7.0-7.1":0.169601920384,"8.1-8.4":0.29150330066,"9.0-9.2":0.177552010402,"9.3":1.22431386277,"10.0-10.2":2.27107571514,"10.3":4.73560362072,"11.0-11.2":17.1165438088},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.030516253508,"4.2-4.3":0.0859149906455,"4.4":0.244130028064,"4.4.3-4.4.4":0.141313727783},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0.263050651466,"7":0.246079641694,"8":1.00128957655,"9":0.305478175896,"10":1.11160114007,"11":10.0977508143,"5.5":0},B:{"12":0,"13":0.0315,"14":0.543375,"15":2.606625,"16":0.42525,"17":0},P:{"4":0.389770661157,"5":0.335635847107,"6.2":1.89471849174},N:{"10":0.00991666666667,"11":0.0198333333333},J:{"7":0,"10":0},O:{"0":0.08925},H:{"0":0.072425257732},L:{"0":10.396375},R:{_:"0"},M:{"0":0.19125},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/LK.js b/publi/node_modules/caniuse-lite/data/regions/LK.js deleted file mode 100644 index f5932c6..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/LK.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0.002409,"10":0,"11":0.016863,"12":0.002409,"13":0,"14":0,"15":0,"16":0.002409,"17":0.002409,"18":0,"19":0,"20":0.002409,"21":0.002409,"22":0.002409,"23":0.002409,"24":0,"25":0.002409,"26":0.002409,"27":0.002409,"28":0.004818,"29":0.004818,"30":0.004818,"31":0.007227,"32":0.002409,"33":0.007227,"34":0.002409,"35":0.002409,"36":0.002409,"37":0,"38":0.004818,"39":0.002409,"40":0.016863,"41":0,"42":0.002409,"43":0.012045,"44":0.002409,"45":0.004818,"46":0.004818,"47":0.004818,"48":0.002409,"49":0.062634,"50":0.002409,"51":0.002409,"52":0.004818,"53":0.004818,"54":0.004818,"55":0.019272,"56":0.014454,"57":0.050589,"58":0.033726,"59":0.021681,"60":0.040953,"61":1.488762,"62":2.105466,"63":0.009636,"64":0.009636,"65":0},C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0.002409,"13":0.002409,"14":0.002409,"15":0,"16":0,"17":0,"18":0,"19":0.002409,"20":0,"21":0.002409,"22":0,"23":0,"24":0.002409,"25":0.002409,"26":0,"27":0,"28":0.002409,"29":0.002409,"30":0.002409,"31":0.002409,"32":0.002409,"33":0.002409,"34":0.002409,"35":0.002409,"36":0.002409,"37":0.002409,"38":0.002409,"39":0.002409,"40":0.004818,"41":0.002409,"42":0.002409,"43":0.016863,"44":0.004818,"45":0.004818,"46":0.002409,"47":0.02409,"48":0.009636,"49":0.007227,"50":0.007227,"51":0.004818,"52":0.038544,"53":0.012045,"54":0.019272,"55":0.019272,"56":0.426393,"57":0.346896,"58":0.016863,"59":0,"60":0,"3.5":0,"3.6":0.002409},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0.002409,"19":0.002409,"20":0.004818,"21":0.002409,"22":0.009636,"23":0,"24":0,"25":0,"26":0.002409,"27":0,"28":0.004818,"29":0.007227,"30":0.009636,"31":0.007227,"32":0.002409,"33":0,"34":0.002409,"35":0.002409,"36":0.004818,"37":0.132495,"38":0,"39":0,"40":0,"41":0,"42":0.002409,"43":0.07227,"44":0.007227,"45":0.002409,"46":0,"47":0.002409,"48":0.132495,"49":0.07227,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.007227},E:{"4":0,"5":0,"6":0,"7":0,"8":0.004818,"9":0.002409,"10":0.007227,"11":0.052998,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0.009636,"10.1":0.02409},G:{"8":0.00965459011802,"3.2":0.000603411882376,"4.0-4.1":0.000603411882376,"4.2-4.3":0.0820640160032,"5.0-5.1":0.0138784732947,"6.0-6.1":0.00905117823565,"7.0-7.1":0.0386183604721,"8.1-8.4":0.0663753070614,"9.0-9.2":0.0404285961192,"9.3":0.278776289658,"10.0-10.2":0.517123983197,"10.3":1.07829703381,"11.0-11.2":3.89743734827},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.332971590271,"4.2-4.3":0.93744309261,"4.4":2.66377272217,"4.4.3-4.4.4":1.54191459495},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.02204235,"9":0.0048983,"10":0.00734745,"11":0.1126609,"5.5":0},B:{"12":0.012045,"13":0.026499,"14":0.057816,"15":0.067452,"16":0.007227,"17":0},P:{"4":6.30347881154,"5":0.943999242308,"6.2":0.669934946154},N:{"10":0.128320904348,"11":1.10142109565},J:{"7":0.0121456,"10":0.0485824},O:{"0":16.146057},H:{"0":8.06344192784},L:{"0":39.396824},R:{_:"0"},M:{"0":0.250503},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/LR.js b/publi/node_modules/caniuse-lite/data/regions/LR.js deleted file mode 100644 index 7d9eb1d..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/LR.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0.002987,"9":0,"10":0,"11":0.005974,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0.002987,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0.002987,"27":0,"28":0,"29":0.002987,"30":0,"31":0,"32":0,"33":0.002987,"34":0.011948,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0.011948,"41":0,"42":0.002987,"43":0.056753,"44":0,"45":0.002987,"46":0.002987,"47":0.005974,"48":0,"49":0.286752,"50":0.017922,"51":0.008961,"52":0.002987,"53":0.005974,"54":0.005974,"55":0.017922,"56":0.005974,"57":0.092597,"58":0.026883,"59":0.011948,"60":0.035844,"61":1.412851,"62":1.848953,"63":0.008961,"64":0.005974,"65":0},C:{"2":0,"3":0,"4":0.002987,"5":0.002987,"6":0,"7":0.002987,"8":0,"9":0,"10":0.002987,"11":0,"12":0.008961,"13":0.005974,"14":0,"15":0.002987,"16":0.005974,"17":0.008961,"18":0,"19":0,"20":0.002987,"21":0.008961,"22":0.005974,"23":0.002987,"24":0.026883,"25":0,"26":0,"27":0.002987,"28":0,"29":0.008961,"30":0,"31":0.014935,"32":0.002987,"33":0.002987,"34":0.008961,"35":0,"36":0,"37":0.008961,"38":0.235973,"39":0.002987,"40":0.002987,"41":0.002987,"42":0.008961,"43":0.005974,"44":0.011948,"45":0.050779,"46":0.002987,"47":0.02987,"48":0.023896,"49":0.011948,"50":0.008961,"51":0.002987,"52":1.621941,"53":0.005974,"54":0.008961,"55":0.017922,"56":0.492855,"57":0.394284,"58":0.032857,"59":0,"60":0,"3.5":0,"3.6":0},F:{"9":0,"11":0.005974,"12":0,"15":0.002987,"16":0.005974,"17":0.020909,"18":0.002987,"19":0.002987,"20":0.131428,"21":0.005974,"22":0.005974,"23":0.026883,"24":0,"25":0,"26":0.002987,"27":0,"28":0.011948,"29":0.02987,"30":0.023896,"31":0.005974,"32":0,"33":0.011948,"34":0,"35":0,"36":0.002987,"37":0.020909,"38":0,"39":0,"40":0.002987,"41":0,"42":0.005974,"43":0.020909,"44":0.002987,"45":0.005974,"46":0,"47":0.005974,"48":0.215064,"49":0.11948,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0.002987,"12.1":0.379349},E:{"4":0,"5":0,"6":0.002987,"7":0,"8":0.005974,"9":0.005974,"10":0.005974,"11":0.104545,_:"0","3.1":0,"3.2":0,"5.1":0.002987,"6.1":0,"7.1":0,"9.1":0.023896,"10.1":0.026883},G:{"8":0.00607622964593,"3.2":0.000379764352871,"4.0-4.1":0.000379764352871,"4.2-4.3":0.0516479519904,"5.0-5.1":0.00873458011602,"6.0-6.1":0.00569646529306,"7.0-7.1":0.0243049185837,"8.1-8.4":0.0417740788158,"9.0-9.2":0.0254442116423,"9.3":0.175451131026,"10.0-10.2":0.32545805041,"10.3":0.67863889858,"11.0-11.2":2.45289795519},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.387269391955,"4.2-4.3":1.09031228812,"4.4":3.09815513564,"4.4.3-4.4.4":1.79335518428},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0.002987,"7":0,"8":0.041818,"9":0.005974,"10":0.050779,"11":0.400258,"5.5":0},B:{"12":0.047792,"13":0.038831,"14":0.074675,"15":0.176233,"16":0.014935,"17":0},P:{"4":1.14738180392,"5":0.430268176471,"6.2":0.512224019608},N:{"10":0.09993525,"11":0.29980575},J:{"7":0.028052,"10":0.112208},O:{"0":6.444947},H:{"0":18.8361347612},L:{"0":42.359238},R:{_:"0"},M:{"0":0.98182},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/LS.js b/publi/node_modules/caniuse-lite/data/regions/LS.js deleted file mode 100644 index 6e39d5f..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/LS.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.003618,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0.001809,"22":0,"23":0,"24":0,"25":0,"26":0.003618,"27":0,"28":0,"29":0.003618,"30":0.001809,"31":0.001809,"32":0.001809,"33":0,"34":0.001809,"35":0.001809,"36":0.009045,"37":0.005427,"38":0.001809,"39":0.001809,"40":0.005427,"41":0.001809,"42":0,"43":0.003618,"44":0,"45":0,"46":0.021708,"47":0,"48":0,"49":0.030753,"50":0.005427,"51":0.003618,"52":0,"53":0.001809,"54":0.001809,"55":0.016281,"56":0.003618,"57":0.043416,"58":0.023517,"59":0.007236,"60":0.056079,"61":0.629532,"62":0.638577,"63":0.003618,"64":0.001809,"65":0},C:{"2":0,"3":0.001809,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0.001809,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0.001809,"20":0,"21":0.001809,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0.001809,"30":0,"31":0,"32":0.001809,"33":0.001809,"34":0.001809,"35":0.005427,"36":0,"37":0.003618,"38":0.01809,"39":0.012663,"40":0,"41":0,"42":0,"43":0.007236,"44":0.001809,"45":0.001809,"46":0,"47":0.007236,"48":0.001809,"49":0.001809,"50":0.001809,"51":0,"52":0.039798,"53":0.016281,"54":0.005427,"55":0.014472,"56":0.193563,"57":0.12663,"58":0.007236,"59":0,"60":0,"3.5":0,"3.6":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0.003618,"18":0.001809,"19":0.001809,"20":0.001809,"21":0.003618,"22":0.005427,"23":0.001809,"24":0.005427,"25":0.001809,"26":0.001809,"27":0,"28":0.009045,"29":0.012663,"30":0.016281,"31":0.005427,"32":0,"33":0,"34":0.001809,"35":0.003618,"36":0.009045,"37":0.009045,"38":0,"39":0,"40":0,"41":0,"42":0.003618,"43":0.063315,"44":0.005427,"45":0,"46":0.001809,"47":0.001809,"48":0.065124,"49":0.023517,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.083214},E:{"4":0,"5":0.001809,"6":0,"7":0,"8":0.001809,"9":0,"10":0.005427,"11":0.009045,_:"0","3.1":0,"3.2":0,"5.1":0.001809,"6.1":0,"7.1":0.001809,"9.1":0.003618,"10.1":0.003618},G:{"8":0.00266980116023,"3.2":0.000166862572515,"4.0-4.1":0.000166862572515,"4.2-4.3":0.022693309862,"5.0-5.1":0.00383783916783,"6.0-6.1":0.00250293858772,"7.0-7.1":0.0106792046409,"8.1-8.4":0.0183548829766,"9.0-9.2":0.0111797923585,"9.3":0.0770905085017,"10.0-10.2":0.143001224645,"10.3":0.298183417083,"11.0-11.2":1.07776535587},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.238185537886,"4.2-4.3":0.670583898971,"4.4":1.90548430309,"4.4.3-4.4.4":1.10298226006},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.0272116525424,"9":0.0435386440678,"10":0.0199552118644,"11":0.551489491525,"5.5":0},B:{"12":0.037989,"13":0.03618,"14":0.045225,"15":0.063315,"16":0.009045,"17":0},P:{"4":2.26617666667,"5":0.309024090909,"6.2":0.144211242424},N:{"10":0.62556754902,"11":1.05358745098},J:{"7":0.1359706,"10":0.5438824},O:{"0":17.946481},H:{"0":24.9701649828},L:{"0":32.263544},R:{_:"0"},M:{"0":0.303067},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/LT.js b/publi/node_modules/caniuse-lite/data/regions/LT.js deleted file mode 100644 index 252cb8d..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/LT.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0.007594,"11":0.007594,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0.083534,"19":0,"20":0,"21":0,"22":0.015188,"23":0,"24":0,"25":0,"26":0.007594,"27":0,"28":0.007594,"29":0.144286,"30":0.007594,"31":0.015188,"32":0.007594,"33":0.007594,"34":0.022782,"35":0,"36":0.007594,"37":0.007594,"38":0.022782,"39":0.007594,"40":0.007594,"41":0.015188,"42":0,"43":0.098722,"44":0.007594,"45":0.007594,"46":0.015188,"47":0.022782,"48":0.015188,"49":1.010002,"50":0.015188,"51":0.022782,"52":0.015188,"53":0.022782,"54":0.083534,"55":0.068346,"56":0.091128,"57":0.129098,"58":0.220226,"59":0.22782,"60":0.280978,"61":12.64401,"62":18.271164,"63":0.060752,"64":0.03797,"65":0},C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0.007594,"11":0.007594,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0.007594,"25":0,"26":0,"27":0,"28":0.007594,"29":0.007594,"30":0,"31":0.007594,"32":0,"33":0,"34":0.007594,"35":0,"36":0.007594,"37":0.007594,"38":0.030376,"39":0.007594,"40":0.007594,"41":0.015188,"42":0.007594,"43":0.022782,"44":0.007594,"45":0.045564,"46":0.015188,"47":0.060752,"48":0.15188,"49":0.045564,"50":0.045564,"51":0.091128,"52":1.02519,"53":0.07594,"54":0.106316,"55":0.121504,"56":4.59437,"57":3.971662,"58":0.045564,"59":0,"60":0,"3.5":0,"3.6":0.007594},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0.007594,"31":0,"32":0.007594,"33":0,"34":0,"35":0,"36":0.07594,"37":0.015188,"38":0,"39":0,"40":0,"41":0,"42":0.007594,"43":0.083534,"44":0.007594,"45":0.007594,"46":0.022782,"47":0.022782,"48":1.579552,"49":0.98722,"50":0.015188,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0.007594,"11.1":0,"11.5":0,"11.6":0,"12.1":0.045564},E:{"4":0,"5":0,"6":0,"7":0.015188,"8":0.015188,"9":0.022782,"10":0.129098,"11":1.374514,_:"0","3.1":0,"3.2":0,"5.1":0.015188,"6.1":0.015188,"7.1":0,"9.1":0.121504,"10.1":0.470828},G:{"8":0.0151500636127,"3.2":0.000946878975795,"4.0-4.1":0.000946878975795,"4.2-4.3":0.128775540708,"5.0-5.1":0.0217782164433,"6.0-6.1":0.0142031846369,"7.0-7.1":0.0606002544509,"8.1-8.4":0.104156687337,"9.0-9.2":0.0634408913783,"9.3":0.437458086817,"10.0-10.2":0.811475282256,"10.3":1.69207272975,"11.0-11.2":6.11589130466},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.0568543872778,"4.2-4.3":0.160066967259,"4.4":0.454835098223,"4.4.3-4.4.4":0.26327954724},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0.0152398361775,"7":0.00761991808874,"8":0.198117870307,"9":0.160018279863,"10":0.198117870307,"11":3.88615822526,"5.5":0},B:{"12":0.022782,"13":0.045564,"14":0.364512,"15":1.541582,"16":0.197444,"17":0},P:{"4":0.689833386207,"5":0.700129406897,"6.2":1.5958832069},N:{"10":0.0340277142857,"11":0.124768285714},J:{"7":0.0033684,"10":0.0134736},O:{"0":0.062556},H:{"0":0.410012164948},L:{"0":26.015268},R:{_:"0"},M:{"0":0.158796},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/LU.js b/publi/node_modules/caniuse-lite/data/regions/LU.js deleted file mode 100644 index 488a553..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/LU.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.006872,"12":0,"13":0,"14":0,"15":0.020616,"16":0,"17":0,"18":0.006872,"19":0,"20":0,"21":0.006872,"22":0.006872,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0.020616,"29":0.054976,"30":0.006872,"31":0.020616,"32":0.006872,"33":0.006872,"34":0.013744,"35":0,"36":0.054976,"37":0,"38":0.013744,"39":0.048104,"40":0.013744,"41":0.013744,"42":0.006872,"43":0.027488,"44":0.027488,"45":0.006872,"46":0.020616,"47":0.027488,"48":0.013744,"49":0.6872,"50":0.020616,"51":0.020616,"52":0.048104,"53":0.041232,"54":0.075592,"55":0.109952,"56":0.116824,"57":0.116824,"58":0.116824,"59":0.144312,"60":0.219904,"61":7.00944,"62":9.249712,"63":0.06872,"64":0.041232,"65":0},C:{"2":0,"3":0,"4":0,"5":0,"6":0.006872,"7":0,"8":0,"9":0,"10":0.013744,"11":0,"12":0.006872,"13":0,"14":0,"15":0,"16":0.013744,"17":0,"18":0,"19":0,"20":0,"21":0.006872,"22":0,"23":0,"24":0.006872,"25":0,"26":0.006872,"27":0.006872,"28":0,"29":0.006872,"30":0.006872,"31":0.006872,"32":0.006872,"33":0.006872,"34":0.013744,"35":0.013744,"36":0.020616,"37":0.006872,"38":0.20616,"39":0.006872,"40":0.013744,"41":0.013744,"42":0.027488,"43":0.03436,"44":0.006872,"45":0.350472,"46":0.020616,"47":0.096208,"48":0.329856,"49":0.054976,"50":0.06872,"51":0.054976,"52":1.2026,"53":0.048104,"54":0.116824,"55":0.123696,"56":3.7796,"57":2.776288,"58":0.03436,"59":0.006872,"60":0,"3.5":0,"3.6":0.020616},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0.006872,"32":0,"33":0,"34":0.006872,"35":0.006872,"36":0.041232,"37":0,"38":0.013744,"39":0.006872,"40":0,"41":0,"42":0.006872,"43":0.03436,"44":0,"45":0,"46":0.006872,"47":0.006872,"48":0.364216,"49":0.192416,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.020616},E:{"4":0,"5":0.020616,"6":0.013744,"7":0.041232,"8":0.061848,"9":0.06872,"10":0.350472,"11":3.16112,_:"0","3.1":0,"3.2":0,"5.1":0.089336,"6.1":0.06872,"7.1":0,"9.1":0.405448,"10.1":0.89336},G:{"8":0.0491002136427,"3.2":0.00306876335267,"4.0-4.1":0.00306876335267,"4.2-4.3":0.417351815963,"5.0-5.1":0.0705815571114,"6.0-6.1":0.0460314502901,"7.0-7.1":0.196400854571,"8.1-8.4":0.337563968794,"9.0-9.2":0.205607144629,"9.3":1.41776866893,"10.0-10.2":2.62993019324,"10.3":5.48388011122,"11.0-11.2":19.8211424949},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.031583797942,"4.2-4.3":0.0889205388213,"4.4":0.252670383536,"4.4.3-4.4.4":0.146257279701},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0.00688496603774,"7":0.674726671698,"8":1.5146925283,"9":0.0550797283019,"10":0.158354218868,"11":4.88832588679,"5.5":0},B:{"12":0.013744,"13":0.082464,"14":0.494784,"15":1.704256,"16":0.30924,"17":0},P:{"4":0.504738970684,"5":0.77321714658,"6.2":2.01895588274},N:{"10":0,"11":0.068816},J:{"7":0.0068816,"10":0.0275264},O:{"0":0.243984},H:{"0":0.142146639175},L:{"0":17.340704},R:{_:"0"},M:{"0":0.275264},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/LV.js b/publi/node_modules/caniuse-lite/data/regions/LV.js deleted file mode 100644 index 20b0f30..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/LV.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.039015,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0.039015,"19":0,"20":0,"21":0,"22":0.023409,"23":0.007803,"24":0,"25":0,"26":0.007803,"27":0.007803,"28":0,"29":0.039015,"30":0.015606,"31":0.031212,"32":0.015606,"33":0,"34":0.023409,"35":0.007803,"36":0.023409,"37":0.015606,"38":0.023409,"39":0.007803,"40":0.039015,"41":0.039015,"42":0,"43":0.023409,"44":0.031212,"45":0.007803,"46":0.015606,"47":0.023409,"48":0.015606,"49":1.123632,"50":0.031212,"51":0.039015,"52":0.046818,"53":0.046818,"54":0.070227,"55":0.124848,"56":0.187272,"57":0.202878,"58":0.327726,"59":0.358938,"60":0.569619,"61":14.029794,"62":19.398258,"63":0.093636,"64":0.062424,"65":0},C:{"2":0,"3":0.007803,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0.007803,"13":0,"14":0,"15":0,"16":0.007803,"17":0,"18":0,"19":0,"20":0.007803,"21":0.007803,"22":0.007803,"23":0.007803,"24":0.007803,"25":0.007803,"26":0.007803,"27":0.007803,"28":0.023409,"29":0.007803,"30":0.007803,"31":0.031212,"32":0.007803,"33":0.007803,"34":0.007803,"35":0.007803,"36":0.015606,"37":0.031212,"38":0.124848,"39":0.007803,"40":0.023409,"41":0.031212,"42":0.039015,"43":0.023409,"44":0.046818,"45":0.226287,"46":0.031212,"47":0.054621,"48":0.171666,"49":0.046818,"50":0.085833,"51":0.046818,"52":1.09242,"53":0.07803,"54":0.117045,"55":0.202878,"56":4.853466,"57":3.768849,"58":0.093636,"59":0.007803,"60":0,"3.5":0,"3.6":0.007803},F:{"9":0,"11":0,"12":0.007803,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0.007803,"36":0.062424,"37":0.007803,"38":0.015606,"39":0.007803,"40":0,"41":0,"42":0.007803,"43":0.054621,"44":0.007803,"45":0.007803,"46":0.007803,"47":0.015606,"48":1.201662,"49":0.803709,"50":0.015606,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.054621},E:{"4":0,"5":0.023409,"6":0.046818,"7":0.015606,"8":0.023409,"9":0.046818,"10":0.226287,"11":1.911735,_:"0","3.1":0,"3.2":0,"5.1":0.07803,"6.1":0.007803,"7.1":0,"9.1":0.241893,"10.1":0.452574},G:{"8":0.0170497971594,"3.2":0.00106561232246,"4.0-4.1":0.00106561232246,"4.2-4.3":0.144923275855,"5.0-5.1":0.0245090834167,"6.0-6.1":0.015984184837,"7.0-7.1":0.0681991886377,"8.1-8.4":0.117217355471,"9.0-9.2":0.0713960256051,"9.3":0.492312892979,"10.0-10.2":0.913229760352,"10.3":1.90424922024,"11.0-11.2":6.8827899908},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.0579579887746,"4.2-4.3":0.163174029935,"4.4":0.463663910196,"4.4.3-4.4.4":0.268390071094},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.134535247159,"9":0.0949660568182,"10":0.126621409091,"11":2.42954828693,"5.5":0},B:{"12":0.023409,"13":0.101439,"14":0.273105,"15":1.178253,"16":0.249696,"17":0},P:{"4":0.52272146696,"5":0.543220348018,"6.2":1.26068118502},N:{"10":0.011259625,"11":0.168894375},J:{"7":0.0013182,"10":0.0052728},O:{"0":0.118638},H:{"0":0.155998324742},L:{"0":23.445519},R:{_:"0"},M:{"0":0.169169},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/LY.js b/publi/node_modules/caniuse-lite/data/regions/LY.js deleted file mode 100644 index 4143195..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/LY.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0.004647,"5":0,"6":0.004647,"7":0,"8":0.004647,"9":0.004647,"10":0,"11":0.023235,"12":0.009294,"13":0.018588,"14":0.023235,"15":0.009294,"16":0.009294,"17":0.004647,"18":0.004647,"19":0.013941,"20":0.004647,"21":0,"22":0.009294,"23":0.004647,"24":0.009294,"25":0.004647,"26":0.013941,"27":0.004647,"28":0.004647,"29":0.032529,"30":0.009294,"31":0.023235,"32":0.018588,"33":0.060411,"34":0.004647,"35":0.009294,"36":0.013941,"37":0.004647,"38":0.027882,"39":0.009294,"40":0.013941,"41":0.023235,"42":0.018588,"43":0.348525,"44":0.009294,"45":0.009294,"46":0.009294,"47":0.120822,"48":0.018588,"49":0.329937,"50":0.023235,"51":0.051117,"52":0.009294,"53":0.013941,"54":0.018588,"55":0.083646,"56":0.125469,"57":0.236997,"58":0.209115,"59":0.120822,"60":0.302055,"61":4.707411,"62":6.682386,"63":0.055764,"64":0.027882,"65":0},C:{"2":0,"3":0.004647,"4":0,"5":0.004647,"6":0.004647,"7":0.009294,"8":0,"9":0.013941,"10":0.004647,"11":0.004647,"12":0.051117,"13":0.018588,"14":0,"15":0.004647,"16":0.004647,"17":0,"18":0,"19":0,"20":0.004647,"21":0.004647,"22":0,"23":0.018588,"24":0.004647,"25":0.018588,"26":0.009294,"27":0.009294,"28":0,"29":0.013941,"30":0.009294,"31":0.009294,"32":0.004647,"33":0.009294,"34":0.004647,"35":0.009294,"36":0.018588,"37":0.009294,"38":0.009294,"39":0.009294,"40":0.009294,"41":0.004647,"42":0.009294,"43":0.060411,"44":0.032529,"45":0.032529,"46":0.009294,"47":0.069705,"48":0.041823,"49":0.013941,"50":0.018588,"51":0.004647,"52":0.204468,"53":0.027882,"54":0.041823,"55":0.051117,"56":1.287219,"57":1.003752,"58":0.078999,"59":0,"60":0,"3.5":0,"3.6":0.009294},F:{"9":0,"11":0,"12":0.009294,"15":0,"16":0,"17":0.027882,"18":0.009294,"19":0.018588,"20":0.004647,"21":0.009294,"22":0.018588,"23":0,"24":0.023235,"25":0,"26":0,"27":0,"28":0.009294,"29":0.004647,"30":0.065058,"31":0.018588,"32":0.004647,"33":0.013941,"34":0.009294,"35":0.004647,"36":0.018588,"37":0.037176,"38":0,"39":0,"40":0,"41":0.004647,"42":0.013941,"43":0.060411,"44":0.027882,"45":0.009294,"46":0.013941,"47":0.023235,"48":0.636639,"49":0.432171,"50":0.018588,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0.004647,"11.6":0.004647,"12.1":0.218409},E:{"4":0,"5":0,"6":0.004647,"7":0.032529,"8":0.004647,"9":0.060411,"10":0.037176,"11":0.130116,_:"0","3.1":0,"3.2":0,"5.1":0.004647,"6.1":0,"7.1":0,"9.1":0.009294,"10.1":0.069705},G:{"8":0.0120466653331,"3.2":0.000752916583317,"4.0-4.1":0.000752916583317,"4.2-4.3":0.102396655331,"5.0-5.1":0.0173170814163,"6.0-6.1":0.0112937487497,"7.0-7.1":0.0481866613323,"8.1-8.4":0.0828208241648,"9.0-9.2":0.0504454110822,"9.3":0.347847461492,"10.0-10.2":0.645249511902,"10.3":1.34546193439,"11.0-11.2":4.86308821164},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.588338774556,"4.2-4.3":1.65639993452,"4.4":4.70671019645,"4.4.3-4.4.4":2.72446109448},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0.00474087878788,"7":0,"8":0.137485484848,"9":0.037927030303,"10":0.109040212121,"11":0.649500393939,"5.5":0},B:{"12":0.037176,"13":0.027882,"14":0.065058,"15":0.088293,"16":0.018588,"17":0},P:{"4":1.515568125,"5":0.376278982759,"6.2":0.533061892241},N:{"10":0.00994128571429,"11":0.0596477142857},J:{"7":0.0010706,"10":0.0042824},O:{"0":2.35532},H:{"0":12.2642564605},L:{"0":35.159477},R:{_:"0"},M:{"0":0.230179},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/MA.js b/publi/node_modules/caniuse-lite/data/regions/MA.js deleted file mode 100644 index 54f3503..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/MA.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0.005853,"6":0.005853,"7":0.005853,"8":0,"9":0.005853,"10":0,"11":0.017559,"12":0.005853,"13":0.005853,"14":0.005853,"15":0,"16":0.005853,"17":0.005853,"18":0.005853,"19":0.005853,"20":0.005853,"21":0.011706,"22":0.011706,"23":0.005853,"24":0.005853,"25":0.005853,"26":0.011706,"27":0.011706,"28":0.005853,"29":0.140472,"30":0.011706,"31":0.040971,"32":0.011706,"33":0.029265,"34":0.011706,"35":0.005853,"36":0.017559,"37":0.011706,"38":0.029265,"39":0.070236,"40":0.029265,"41":0.011706,"42":0.011706,"43":0.210708,"44":0.023412,"45":0.023412,"46":0.040971,"47":0.040971,"48":0.046824,"49":2.025138,"50":0.017559,"51":0.023412,"52":0.017559,"53":0.023412,"54":0.040971,"55":0.093648,"56":0.152178,"57":0.152178,"58":0.23412,"59":0.199002,"60":0.345327,"61":7.43331,"62":11.817207,"63":0.070236,"64":0.035118,"65":0},C:{"2":0,"3":0.011706,"4":0.005853,"5":0,"6":0,"7":0,"8":0,"9":0.005853,"10":0.005853,"11":0,"12":0.011706,"13":0.005853,"14":0.005853,"15":0.005853,"16":0.005853,"17":0.005853,"18":0,"19":0.005853,"20":0.005853,"21":0.005853,"22":0,"23":0.005853,"24":0,"25":0.005853,"26":0.011706,"27":0.005853,"28":0.005853,"29":0.005853,"30":0.011706,"31":0.011706,"32":0.017559,"33":0.011706,"34":0.011706,"35":0.011706,"36":0.011706,"37":0.017559,"38":0.011706,"39":0.011706,"40":0.023412,"41":0.017559,"42":0.017559,"43":0.099501,"44":0.011706,"45":0.040971,"46":0.011706,"47":0.099501,"48":0.181443,"49":0.046824,"50":0.035118,"51":0.035118,"52":0.520917,"53":0.046824,"54":0.070236,"55":0.093648,"56":1.902225,"57":1.644693,"58":0.029265,"59":0,"60":0,"3.5":0,"3.6":0.017559},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0.005853,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0.005853,"31":0.005853,"32":0,"33":0,"34":0.005853,"35":0,"36":0.070236,"37":0.070236,"38":0,"39":0,"40":0,"41":0,"42":0.011706,"43":0.035118,"44":0.005853,"45":0.011706,"46":0.011706,"47":0.017559,"48":0.825273,"49":0.509211,"50":0.005853,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.011706},E:{"4":0.005853,"5":0.023412,"6":0.017559,"7":0.011706,"8":0.076089,"9":0.076089,"10":0.081942,"11":0.386298,_:"0","3.1":0,"3.2":0,"5.1":0.017559,"6.1":0.011706,"7.1":0,"9.1":0.11706,"10.1":0.269238},G:{"8":0.0102967489498,"3.2":0.000643546809362,"4.0-4.1":0.000643546809362,"4.2-4.3":0.0875223660732,"5.0-5.1":0.0148015766153,"6.0-6.1":0.00965320214043,"7.0-7.1":0.0411869957992,"8.1-8.4":0.0707901490298,"9.0-9.2":0.0431176362272,"9.3":0.297318625925,"10.0-10.2":0.551519615623,"10.3":1.15001814833,"11.0-11.2":4.15666884167},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.367396903648,"4.2-4.3":1.03436359027,"4.4":2.93917522919,"4.4.3-4.4.4":1.70133027689},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0.0130066666667,"7":0.0130066666667,"8":0.21461,"9":0.09755,"10":0.0910466666667,"11":0.50726,"5.5":0},B:{"12":0.017559,"13":0.029265,"14":0.099501,"15":0.199002,"16":0.035118,"17":0},P:{"4":2.89761177132,"5":0.901024155039,"6.2":1.48464207364},N:{"10":0.103855304348,"11":0.426960695652},J:{"7":0.0132704,"10":0.0530816},O:{"0":0.389818},H:{"0":1.40162187113},L:{"0":41.186233},R:{_:"0"},M:{"0":0.203203},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/MC.js b/publi/node_modules/caniuse-lite/data/regions/MC.js deleted file mode 100644 index f9052ca..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/MC.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.015826,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0.458954,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0.118695,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0.039565,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0.047478,"45":0,"46":0,"47":0.007913,"48":0.538084,"49":0.656779,"50":0.007913,"51":0.047478,"52":0.015826,"53":0.007913,"54":0.007913,"55":0.039565,"56":0.997038,"57":0.063304,"58":0.039565,"59":0.506432,"60":1.258167,"61":9.614295,"62":12.146455,"63":0.387737,"64":0.047478,"65":0},C:{"2":0,"3":0.047478,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0.007913,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0.007913,"32":0,"33":0,"34":0,"35":0.087043,"36":0,"37":0,"38":0.047478,"39":0,"40":0,"41":0,"42":0.023739,"43":0.015826,"44":0.023739,"45":0.007913,"46":0,"47":0.015826,"48":0.356085,"49":0.031652,"50":0.039565,"51":0.087043,"52":0.617214,"53":0.015826,"54":0.055391,"55":0.601388,"56":3.964413,"57":2.674594,"58":0.007913,"59":0,"60":0,"3.5":0,"3.6":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0.007913,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0.007913,"44":0,"45":0,"46":0,"47":0,"48":0.253216,"49":0.142434,"50":0,"9.5-9.6":0.007913,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.007913},E:{"4":0.087043,"5":0.007913,"6":0.007913,"7":0,"8":0.340259,"9":0.110782,"10":0.941647,"11":5.499535,_:"0","3.1":0,"3.2":0,"5.1":0.348172,"6.1":0.538084,"7.1":0.007913,"9.1":1.685469,"10.1":2.207727},G:{"8":0.0505327497499,"3.2":0.00315829685937,"4.0-4.1":0.00315829685937,"4.2-4.3":0.429528372875,"5.0-5.1":0.0726408277656,"6.0-6.1":0.0473744528906,"7.0-7.1":0.202130999,"8.1-8.4":0.347412654531,"9.0-9.2":0.211605889578,"9.3":1.45913314903,"10.0-10.2":2.70666040848,"10.3":5.6438764877,"11.0-11.2":20.3994394147},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.0186538447147,"4.2-4.3":0.0525177474275,"4.4":0.149230757717,"4.4.3-4.4.4":0.0863816501403},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0.238180391504,"7":0.194072911596,"8":0.855685110218,"9":0.291109367394,"10":0.520468262916,"11":5.58400695637,"5.5":0},B:{"12":0.015826,"13":0.055391,"14":0.181999,"15":1.432253,"16":0.276955,"17":0},P:{"4":0.140532483146,"5":0.194583438202,"6.2":0.626991078652},N:{"10":0,"11":0.056349},J:{"7":0.0016696,"10":0.0066784},O:{"0":0.025044},H:{"0":0.0316133883162},L:{"0":7.538159},R:{_:"0"},M:{"0":0.434096},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/MD.js b/publi/node_modules/caniuse-lite/data/regions/MD.js deleted file mode 100644 index ce682f0..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/MD.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"11":0.03549,"12":0.028392,"13":0.014196,"14":0.014196,"15":0.014196,"17":0.021294,"18":0.03549,"19":0.007098,"21":0.007098,"22":0.014196,"23":0.007098,"24":0.014196,"25":0.007098,"26":0.014196,"27":0.014196,"28":0.007098,"29":0.170352,"30":0.007098,"31":0.014196,"32":0.007098,"33":0.014196,"34":0.049686,"35":0.014196,"36":0.021294,"37":0.007098,"38":0.014196,"39":0.028392,"40":0.014196,"41":0.021294,"42":0.014196,"43":0.049686,"44":0.028392,"45":0.042588,"46":0.028392,"47":0.056784,"48":0.099372,"49":1.767402,"50":0.049686,"51":0.049686,"52":0.063882,"53":0.049686,"54":0.149058,"55":0.184548,"56":0.305214,"57":0.163254,"58":0.262626,"59":0.489762,"60":0.589134,"61":17.453982,"62":26.276796,"63":0.120666,"64":0.063882,_:"4 5 6 7 8 9 10 16 20 65"},C:{"3":0.014196,"4":0.014196,"8":0.014196,"10":0.014196,"12":0.014196,"13":0.021294,"15":0.007098,"16":0.007098,"21":0.014196,"23":0.014196,"24":0.028392,"25":0.028392,"29":0.021294,"31":0.014196,"33":0.113568,"35":0.021294,"36":0.014196,"37":0.007098,"38":0.049686,"40":0.028392,"42":0.007098,"43":0.042588,"44":0.014196,"45":0.14196,"46":0.007098,"47":0.07098,"48":0.120666,"49":0.042588,"50":0.042588,"51":0.049686,"52":2.030028,"53":0.07098,"54":0.163254,"55":0.120666,"56":2.349438,"57":2.02293,"58":0.042588,_:"2 5 6 7 9 11 14 17 18 19 20 22 26 27 28 30 32 34 39 41 59 60","3.5":0.014196,"3.6":0.120666},F:{"12":0.014196,"27":0.007098,"34":0.007098,"35":0.014196,"36":0.127764,"38":0.007098,"39":0.014196,"42":0.021294,"43":0.03549,"44":0.007098,"45":0.021294,"46":0.021294,"47":0.042588,"48":1.696422,"49":1.114386,"50":0.014196,_:"9 11 15 16 17 18 19 20 21 22 23 24 25 26 28 29 30 31 32 33 37 40 41 9.5-9.6 10.5 10.6 11.1 11.5","10.0-10.1":0,"11.6":0.014196,"12.1":0.085176},E:{"4":0.021294,"5":0.014196,"8":0.014196,"9":0.014196,"10":0.063882,"11":1.015014,_:"0 6 7 3.1 3.2 6.1 7.1","5.1":0.028392,"9.1":0.134862,"10.1":0.482664},G:{"8":0.00633459171834,"3.2":0.000395911982396,"4.0-4.1":0.000395911982396,"4.2-4.3":0.0538440296059,"5.0-5.1":0.00910597559512,"6.0-6.1":0.00593867973595,"7.0-7.1":0.0253383668734,"8.1-8.4":0.0435503180636,"9.0-9.2":0.0265261028206,"9.3":0.182911335867,"10.0-10.2":0.339296568914,"10.3":0.707494712543,"11.0-11.2":2.5571954943},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.0638765762395,"4.2-4.3":0.179837130028,"4.4":0.511012609916,"4.4.3-4.4.4":0.295797683817},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0.0575726666667,"7":0.0503760833333,"8":0.97153875,"9":0.309453083333,"10":0.179914583333,"11":1.54006883333,_:"5.5"},B:{"12":0.021294,"13":0.028392,"14":0.220038,"15":1.149876,"16":0.134862,_:"17"},P:{"4":0.695795566038,"5":0.54593190566,"6.2":1.0276365283},N:{"10":0.0549621212121,"11":0.307787878788},J:{"7":0.002902,"10":0.011608},O:{"0":0.243768},H:{"0":0.337933412371},L:{"0":21.122858},R:{_:"0"},M:{"0":0.240866},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/ME.js b/publi/node_modules/caniuse-lite/data/regions/ME.js deleted file mode 100644 index 8a998cf..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/ME.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0.005112,"9":0,"10":0.005112,"11":0.020448,"12":0,"13":0,"14":0,"15":0,"16":0.005112,"17":0,"18":0.005112,"19":0,"20":0,"21":0.005112,"22":0.030672,"23":0.005112,"24":0,"25":0,"26":0.02556,"27":0.005112,"28":0,"29":0.097128,"30":0.005112,"31":0.046008,"32":0.005112,"33":0.005112,"34":0.02556,"35":0.005112,"36":0.010224,"37":0.005112,"38":0.040896,"39":0.066456,"40":0.05112,"41":0.005112,"42":0,"43":0.02556,"44":0.005112,"45":0,"46":0.046008,"47":0.046008,"48":0.015336,"49":1.063296,"50":0.015336,"51":0.010224,"52":0.030672,"53":0.020448,"54":0.010224,"55":0.035784,"56":0.056232,"57":0.035784,"58":0.224928,"59":0.05112,"60":0.163584,"61":6.129288,"62":9.625896,"63":0.071568,"64":0.05112,"65":0},C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0.005112,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0.005112,"29":0,"30":0.005112,"31":0.005112,"32":0,"33":0.005112,"34":0,"35":0,"36":0.020448,"37":0.005112,"38":0.010224,"39":0.005112,"40":0.005112,"41":0.005112,"42":0.010224,"43":0.020448,"44":0,"45":0.010224,"46":0,"47":0.020448,"48":0.015336,"49":0.02556,"50":0.015336,"51":0.005112,"52":0.414072,"53":0.030672,"54":0.05112,"55":0.035784,"56":1.681848,"57":1.446696,"58":0.040896,"59":0,"60":0,"3.5":0,"3.6":0.005112},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0.005112,"29":0,"30":0.005112,"31":0.015336,"32":0,"33":0,"34":0,"35":0,"36":0.040896,"37":0,"38":0.005112,"39":0,"40":0.005112,"41":0.005112,"42":0.010224,"43":0.056232,"44":0,"45":0.015336,"46":0.005112,"47":0,"48":0.516312,"49":0.33228,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.035784},E:{"4":0,"5":0,"6":0,"7":0.194256,"8":0.005112,"9":0.005112,"10":0.035784,"11":0.194256,_:"0","3.1":0,"3.2":0,"5.1":0.010224,"6.1":0,"7.1":0.005112,"9.1":0.030672,"10.1":0.046008},G:{"8":0.017453705141,"3.2":0.00109085657131,"4.0-4.1":0.00109085657131,"4.2-4.3":0.148356493699,"5.0-5.1":0.0250897011402,"6.0-6.1":0.0163628485697,"7.0-7.1":0.0698148205641,"8.1-8.4":0.119994222845,"9.0-9.2":0.0730873902781,"9.3":0.503975735947,"10.0-10.2":0.934864081616,"10.3":1.94936069294,"11.0-11.2":7.04584259412},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.168543723106,"4.2-4.3":0.474515405051,"4.4":1.34834978485,"4.4.3-4.4.4":0.780487086997},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.07668,"9":0.035784,"10":0.020448,"11":0.659448,"5.5":0},B:{"12":0.015336,"13":0.035784,"14":0.07668,"15":0.23004,"16":0.030672,"17":0},P:{"4":1.817725,"5":0.83096,"6.2":1.672307},N:{"10":0.07332,"11":0.3666},J:{"7":0.0068432,"10":0.0273728},O:{"0":0.078208},H:{"0":0.536806542955},L:{"0":52.781688},R:{_:"0"},M:{"0":0.107536},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/MG.js b/publi/node_modules/caniuse-lite/data/regions/MG.js deleted file mode 100644 index 0af8dfc..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/MG.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.005784,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0.001928,"32":0,"33":0,"34":0,"35":0.001928,"36":0,"37":0,"38":0,"39":0,"40":0.003856,"41":0,"42":0,"43":0.007712,"44":0,"45":0.001928,"46":0.001928,"47":0.001928,"48":0,"49":0.088688,"50":0,"51":0.001928,"52":0.001928,"53":0.003856,"54":0.001928,"55":0.003856,"56":0.005784,"57":0.013496,"58":0.021208,"59":0.017352,"60":0.01928,"61":0.51092,"62":0.95436,"63":0.003856,"64":0.005784,"65":0},C:{"2":0,"3":0.023136,"4":0,"5":0.001928,"6":0,"7":0,"8":0,"9":0,"10":0.001928,"11":0,"12":0.001928,"13":0,"14":0,"15":0,"16":0.005784,"17":0,"18":0,"19":0.001928,"20":0.001928,"21":0.001928,"22":0,"23":0.005784,"24":0,"25":0,"26":0.001928,"27":0.003856,"28":0.001928,"29":0.003856,"30":0.003856,"31":0.001928,"32":0.036632,"33":0.003856,"34":0.001928,"35":0.011568,"36":0.003856,"37":0.005784,"38":0.005784,"39":0.005784,"40":0.005784,"41":0.003856,"42":0.003856,"43":0.036632,"44":0.007712,"45":0.017352,"46":0.003856,"47":0.03856,"48":0.030848,"49":0.015424,"50":0.01928,"51":0.015424,"52":0.102184,"53":0.011568,"54":0.015424,"55":0.017352,"56":0.458864,"57":0.383672,"58":0.017352,"59":0,"60":0,"3.5":0.001928,"3.6":0.001928},F:{"9":0,"11":0,"12":0.003856,"15":0,"16":0.001928,"17":0.001928,"18":0.00964,"19":0.003856,"20":0.005784,"21":0.001928,"22":0.001928,"23":0.001928,"24":0,"25":0,"26":0,"27":0,"28":0.005784,"29":0.005784,"30":0.007712,"31":0.001928,"32":0,"33":0,"34":0,"35":0.003856,"36":0.00964,"37":0.003856,"38":0,"39":0,"40":0,"41":0,"42":0.001928,"43":0.013496,"44":0.001928,"45":0.001928,"46":0.001928,"47":0.003856,"48":0.063624,"49":0.053984,"50":0,"9.5-9.6":0,"10.0-10.1":0.003856,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.025064},E:{"4":0,"5":0,"6":0.001928,"7":0,"8":0.001928,"9":0.007712,"10":0.003856,"11":0.032776,_:"0","3.1":0,"3.2":0,"5.1":0.003856,"6.1":0,"7.1":0,"9.1":0.013496,"10.1":0.021208},G:{"8":0.001135075015,"3.2":0.0000709421884377,"4.0-4.1":0.0000709421884377,"4.2-4.3":0.00964813762753,"5.0-5.1":0.00163167033407,"6.0-6.1":0.00106413282657,"7.0-7.1":0.00454030006001,"8.1-8.4":0.00780364072815,"9.0-9.2":0.00475312662533,"9.3":0.0327752910582,"10.0-10.2":0.0607974554911,"10.3":0.126773690738,"11.0-11.2":0.458215595119},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.42006222638,"4.2-4.3":1.18263672965,"4.4":3.36049781104,"4.4.3-4.4.4":1.94521123293},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0.001928,"8":0.011568,"9":0.001928,"10":0.001928,"11":0.065552,"5.5":0},B:{"12":0.003856,"13":0.007712,"14":0.011568,"15":0.030848,"16":0.001928,"17":0},P:{"4":0.251322810811,"5":0.0628307027027,"6.2":0.0733024864865},N:{"10":0.0530445714286,"11":0.318267428571},J:{"7":0.0258304,"10":0.1033216},O:{"0":15.159216},H:{"0":45.5924590241},L:{"0":8.59288},R:{_:"0"},M:{"0":0.258304},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/MH.js b/publi/node_modules/caniuse-lite/data/regions/MH.js deleted file mode 100644 index 03edcb9..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/MH.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0.013672,"29":0.006836,"30":0.013672,"31":0,"32":0.006836,"33":0,"34":0.006836,"35":0,"36":0.027344,"37":0.006836,"38":0,"39":0.013672,"40":0.006836,"41":0.006836,"42":0.006836,"43":0.006836,"44":0,"45":0.99122,"46":0.03418,"47":0.013672,"48":0.656256,"49":0.150392,"50":0.006836,"51":0,"52":0,"53":0.006836,"54":0,"55":0.280276,"56":0.020508,"57":2.522484,"58":0.061524,"59":0.13672,"60":0.123048,"61":4.826216,"62":11.122172,"63":0.013672,"64":0.020508,"65":0},C:{"2":0,"3":0.047852,"4":0,"5":0.013672,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0.006836,"29":0.013672,"30":0.013672,"31":0.013672,"32":0,"33":0,"34":0.020508,"35":0,"36":0,"37":0.013672,"38":0,"39":0,"40":0,"41":0.088868,"42":0,"43":0.020508,"44":0,"45":0,"46":0,"47":0,"48":0.013672,"49":0.020508,"50":0,"51":0,"52":0.020508,"53":0,"54":0.006836,"55":0.03418,"56":0.827156,"57":0.881844,"58":0.054688,"59":0,"60":0,"3.5":0,"3.6":0.006836},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0.006836,"30":0,"31":0.013672,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0.006836,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0.013672,"44":0,"45":0,"46":0,"47":0,"48":0.184572,"49":0.061524,"50":0,"9.5-9.6":0.020508,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.006836},E:{"4":0.109376,"5":0,"6":0,"7":0,"8":0.006836,"9":0.061524,"10":0.03418,"11":0.724616,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0.006836,"7.1":0,"9.1":0.047852,"10.1":0.246096},G:{"8":0.0344648705741,"3.2":0.00215405441088,"4.0-4.1":0.00215405441088,"4.2-4.3":0.29295139988,"5.0-5.1":0.0495432514503,"6.0-6.1":0.0323108161632,"7.0-7.1":0.137859482296,"8.1-8.4":0.236945985197,"9.0-9.2":0.144321645529,"9.3":0.995173137828,"10.0-10.2":1.84602463013,"10.3":3.84929523225,"11.0-11.2":13.9130374399},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.182460168382,"4.2-4.3":0.513695550982,"4.4":1.45968134705,"4.4.3-4.4.4":0.844930933583},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0.0179023497758,"7":0.0179023497758,"8":2.02296552466,"9":0.366998170404,"10":0.563924017937,"11":1.00253158744,"5.5":0},B:{"12":0.013672,"13":0.054688,"14":1.189464,"15":9.078208,"16":0.416996,"17":0},P:{"4":0.3051,"5":0.06102,"6.2":0.06102},N:{"10":0,"11":0.136052},J:{"7":0,"10":0},O:{"0":0.3955},H:{"0":0.119818831615},L:{"0":33.366708},R:{_:"0"},M:{"0":0.09492},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/MK.js b/publi/node_modules/caniuse-lite/data/regions/MK.js deleted file mode 100644 index 35abcf5..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/MK.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.006802,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0.013604,"19":0,"20":0,"21":0.006802,"22":0.020406,"23":0,"24":0,"25":0,"26":0.013604,"27":0,"28":0,"29":0.006802,"30":0,"31":0.040812,"32":0.006802,"33":0.006802,"34":0.027208,"35":0,"36":0.027208,"37":0.013604,"38":0.03401,"39":0.013604,"40":0.020406,"41":0.013604,"42":0.020406,"43":0.040812,"44":0.020406,"45":0.006802,"46":0.013604,"47":0.108832,"48":0.047614,"49":2.952068,"50":0.027208,"51":0.020406,"52":0.013604,"53":0.013604,"54":0.027208,"55":0.06802,"56":0.333298,"57":0.108832,"58":0.47614,"59":0.401318,"60":0.47614,"61":11.474974,"62":16.474444,"63":0.088426,"64":0.047614,"65":0},C:{"2":0.006802,"3":0.006802,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0.006802,"10":0,"11":0,"12":0,"13":0.03401,"14":0,"15":0,"16":0.006802,"17":0.040812,"18":0,"19":0.013604,"20":0,"21":0.013604,"22":0,"23":0.006802,"24":0.013604,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0.006802,"32":0.006802,"33":0.006802,"34":0,"35":0.013604,"36":0.006802,"37":0.006802,"38":0.020406,"39":0.027208,"40":0.013604,"41":0.020406,"42":0.013604,"43":0.03401,"44":0.006802,"45":0.027208,"46":0.006802,"47":0.06802,"48":0.027208,"49":0.03401,"50":0.040812,"51":0.081624,"52":0.972686,"53":0.074822,"54":0.095228,"55":0.142842,"56":2.802424,"57":2.203848,"58":0.03401,"59":0,"60":0,"3.5":0,"3.6":0.06802},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0.006802,"31":0.013604,"32":0,"33":0,"34":0,"35":0,"36":0.074822,"37":0.006802,"38":0,"39":0,"40":0.006802,"41":0,"42":0.013604,"43":0.027208,"44":0,"45":0.006802,"46":0.020406,"47":0.03401,"48":0.959082,"49":0.44213,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0.006802,"11.5":0,"11.6":0,"12.1":0.013604},E:{"4":0,"5":0.006802,"6":0.006802,"7":0.081624,"8":0.006802,"9":0.013604,"10":0.047614,"11":0.319694,_:"0","3.1":0,"3.2":0,"5.1":0.006802,"6.1":0,"7.1":0,"9.1":0.020406,"10.1":0.061218},G:{"8":0.0142813202641,"3.2":0.000892582516503,"4.0-4.1":0.000892582516503,"4.2-4.3":0.121391222244,"5.0-5.1":0.0205293978796,"6.0-6.1":0.0133887377475,"7.0-7.1":0.0571252810562,"8.1-8.4":0.0981840768154,"9.0-9.2":0.0598030286057,"9.3":0.412373122625,"10.0-10.2":0.764943216643,"10.3":1.59504495699,"11.0-11.2":5.76519047409},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.137319766137,"4.2-4.3":0.386607956969,"4.4":1.09855812909,"4.4.3-4.4.4":0.635896147802},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0.0138372114286,"7":0.00691860571429,"8":0.131453508571,"9":0.0415116342857,"10":0.0415116342857,"11":0.975523405714,"5.5":0},B:{"12":0.047614,"13":0.047614,"14":0.217664,"15":0.44213,"16":0.061218,"17":0},P:{"4":0.47897512,"5":0.27515592,"6.2":0.77451296},N:{"10":0.0210691764706,"11":0.158018823529},J:{"7":0.003198,"10":0.012792},O:{"0":0.04797},H:{"0":0.181659587629},L:{"0":39.747664},R:{_:"0"},M:{"0":0.131118},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/ML.js b/publi/node_modules/caniuse-lite/data/regions/ML.js deleted file mode 100644 index 59f849c..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/ML.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.00039,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0.00039,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0.00039,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0.00273,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0.00039,"56":0.00039,"57":0.00039,"58":0,"59":0.00039,"60":0.00234,"61":0.01755,"62":0.02535,"63":0,"64":0,"65":0},C:{"2":0,"3":0.0273,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0.00039,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0.00039,"32":0.00195,"33":0.00039,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0.00117,"44":0.00039,"45":0.00039,"46":0,"47":0.00117,"48":0.00117,"49":0.00039,"50":0.00039,"51":0.00039,"52":0.00156,"53":0,"54":0.00039,"55":0.00039,"56":0.0195,"57":0.01248,"58":0,"59":0,"60":0,"3.5":0,"3.6":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0.00078,"21":0,"22":0,"23":0.00078,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0.00039,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0.00234,"49":0.00156,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.00039},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0.00078,"11":0.00117,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0.00039,"10.1":0.00156},G:{"8":0.000882672534507,"3.2":0.0000551670334067,"4.0-4.1":0.0000551670334067,"4.2-4.3":0.00750271654331,"5.0-5.1":0.00126884176835,"6.0-6.1":0.0008275055011,"7.0-7.1":0.00353069013803,"8.1-8.4":0.00606837367473,"9.0-9.2":0.00369619123825,"9.3":0.0254871694339,"10.0-10.2":0.0472781476295,"10.3":0.0985834886977,"11.0-11.2":0.356323868774},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.0730365294668,"4.2-4.3":0.205625921422,"4.4":0.584292235734,"4.4.3-4.4.4":0.338215313377},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.00078,"9":0,"10":0.00078,"11":0.0078,"5.5":0},B:{"12":0.00078,"13":0.00039,"14":0.00078,"15":0.00117,"16":0,"17":0},P:{"4":0.561637594937,"5":0.118239493671,"6.2":0.0985329113924},N:{"10":0.021142,"11":0.084568},J:{"7":0.005766,"10":0.023064},O:{"0":80.64712},H:{"0":2.2472374055},L:{"0":10.34986},R:{_:"0"},M:{"0":0.07688},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/MM.js b/publi/node_modules/caniuse-lite/data/regions/MM.js deleted file mode 100644 index 965520c..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/MM.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.03663,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0.002442,"18":0,"19":0,"20":0,"21":0,"22":0.007326,"23":0,"24":0,"25":0.002442,"26":0,"27":0,"28":0.002442,"29":0.002442,"30":0.002442,"31":0.007326,"32":0.009768,"33":0.002442,"34":0,"35":0.002442,"36":0,"37":0.019536,"38":0.007326,"39":0.002442,"40":0.01221,"41":0.002442,"42":0,"43":0.004884,"44":0.009768,"45":0.002442,"46":0.002442,"47":0.002442,"48":0.002442,"49":0.014652,"50":0.004884,"51":0.002442,"52":0.002442,"53":0.007326,"54":0.002442,"55":0.031746,"56":0.007326,"57":0.019536,"58":0.026862,"59":0.019536,"60":0.034188,"61":0.730158,"62":1.321122,"63":0.01221,"64":0.014652,"65":0},C:{"2":0.002442,"3":0,"4":0.002442,"5":0.002442,"6":0,"7":0,"8":0,"9":0.002442,"10":0,"11":0.002442,"12":0.004884,"13":0.002442,"14":0.002442,"15":0.004884,"16":0.002442,"17":0.002442,"18":0.002442,"19":0.004884,"20":0.002442,"21":0.002442,"22":0.002442,"23":0.004884,"24":0.002442,"25":0.002442,"26":0.007326,"27":0.004884,"28":0.004884,"29":0.014652,"30":0.009768,"31":0.004884,"32":0.007326,"33":0.007326,"34":0.009768,"35":0.014652,"36":0.017094,"37":0.019536,"38":0.01221,"39":0.02442,"40":0.019536,"41":0.02442,"42":0.019536,"43":0.078144,"44":0.031746,"45":0.021978,"46":0.01221,"47":0.141636,"48":0.03663,"49":0.039072,"50":0.02442,"51":0.017094,"52":0.06105,"53":0.043956,"54":0.041514,"55":0.07326,"56":0.827838,"57":0.89133,"58":0.156288,"59":0,"60":0,"3.5":0,"3.6":0.002442},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0.002442,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0.002442,"29":0.002442,"30":0,"31":0,"32":0,"33":0,"34":0.021978,"35":0,"36":0,"37":0.139194,"38":0,"39":0,"40":0,"41":0,"42":0.002442,"43":0.007326,"44":0,"45":0,"46":0.002442,"47":0,"48":0.03663,"49":0.029304,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.002442},E:{"4":0,"5":0.002442,"6":0,"7":0,"8":0.004884,"9":0.004884,"10":0.02442,"11":0.129426,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0.026862,"10.1":0.06105},G:{"8":0.00927421644329,"3.2":0.000579638527706,"4.0-4.1":0.000579638527706,"4.2-4.3":0.078830839768,"5.0-5.1":0.0133316861372,"6.0-6.1":0.00869457791558,"7.0-7.1":0.0370968657732,"8.1-8.4":0.0637602380476,"9.0-9.2":0.0388357813563,"9.3":0.2677929998,"10.0-10.2":0.496750218244,"10.3":1.03581404901,"11.0-11.2":3.74388525045},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.692928456501,"4.2-4.3":1.950860116,"4.4":5.54342765201,"4.4.3-4.4.4":3.20879177549},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.00988712195122,"9":0.0024717804878,"10":0.00494356097561,"11":0.185383536585,"5.5":0},B:{"12":0.007326,"13":0.004884,"14":0.021978,"15":0.058608,"16":0.014652,"17":0},P:{"4":2.72330149515,"5":0.958765320388,"6.2":0.520181184466},N:{"10":0,"11":0.022674},J:{"7":0,"10":0},O:{"0":9.59866},H:{"0":3.4846925189},L:{"0":54.140382},R:{_:"0"},M:{"0":0.589524},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/MN.js b/publi/node_modules/caniuse-lite/data/regions/MN.js deleted file mode 100644 index bc5cf25..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/MN.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.021384,"12":0.014256,"13":0.007128,"14":0.007128,"15":0,"16":0,"17":0,"18":0.007128,"19":0.007128,"20":0,"21":0.014256,"22":0.007128,"23":0.042768,"24":0,"25":0.014256,"26":0.007128,"27":0.014256,"28":0.007128,"29":0.007128,"30":0.021384,"31":0.014256,"32":0.007128,"33":0.014256,"34":0.007128,"35":0.007128,"36":0.014256,"37":0.007128,"38":0.007128,"39":0.014256,"40":0.014256,"41":0.014256,"42":0.014256,"43":0.078408,"44":0.014256,"45":0.021384,"46":0.007128,"47":0.171072,"48":0.014256,"49":0.377784,"50":0.021384,"51":0.021384,"52":0.07128,"53":0.021384,"54":0.021384,"55":0.163944,"56":0.206712,"57":0.798336,"58":0.171072,"59":0.128304,"60":0.256608,"61":12.958704,"62":22.082544,"63":0.128304,"64":0.114048,"65":0},C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.007128,"12":0,"13":0.007128,"14":0,"15":0,"16":0.007128,"17":0.007128,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0.007128,"24":0.007128,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0.014256,"31":0,"32":0.014256,"33":0,"34":0.007128,"35":0,"36":0.007128,"37":0,"38":0.021384,"39":0.007128,"40":0.007128,"41":0.007128,"42":0.007128,"43":0.03564,"44":0.021384,"45":0.021384,"46":0.007128,"47":0.064152,"48":0.042768,"49":0.021384,"50":0.021384,"51":0.028512,"52":0.220968,"53":0.121176,"54":0.092664,"55":0.057024,"56":3.06504,"57":2.844072,"58":0.149688,"59":0,"60":0,"3.5":0,"3.6":0.028512},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0.014256,"36":0.007128,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0.007128,"43":0.014256,"44":0,"45":0.114048,"46":0,"47":0.007128,"48":1.03356,"49":0.655776,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0.042768,"11.6":0,"12.1":0},E:{"4":0,"5":0,"6":0,"7":0.263736,"8":0.007128,"9":0.028512,"10":0.03564,"11":0.598752,_:"0","3.1":0,"3.2":0,"5.1":0.007128,"6.1":0,"7.1":0,"9.1":0.042768,"10.1":0.085536},G:{"8":0.0186235775155,"3.2":0.00116397359472,"4.0-4.1":0.00116397359472,"4.2-4.3":0.158300408882,"5.0-5.1":0.0267713926785,"6.0-6.1":0.0174596039208,"7.0-7.1":0.074494310062,"8.1-8.4":0.128037095419,"9.0-9.2":0.0779862308462,"9.3":0.53775580076,"10.0-10.2":0.997525370674,"10.3":2.08002081376,"11.0-11.2":7.51810544829},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.636863311506,"4.2-4.3":1.79301516932,"4.4":5.09490649205,"4.4.3-4.4.4":2.94916702713},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.0727346938776,"9":0.0218204081633,"10":0.058187755102,"11":0.560057142857,"5.5":0},B:{"12":0.021384,"13":0.042768,"14":0.092664,"15":0.42768,"16":0.078408,"17":0},P:{"4":1.37777315068,"5":0.486272876712,"6.2":1.0941139726},N:{"10":0,"11":0.031592},J:{"7":0.0080416,"10":0.0321664},O:{"0":0.436544},H:{"0":0.152265347079},L:{"0":21.225104},R:{_:"0"},M:{"0":0.15796},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/MO.js b/publi/node_modules/caniuse-lite/data/regions/MO.js deleted file mode 100644 index b8e72ad..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/MO.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0.01251,"5":0.01251,"6":0.01251,"7":0.006255,"8":0.006255,"9":0.01251,"10":0.018765,"11":0.018765,"12":0.018765,"13":0.01251,"14":0.01251,"15":0.01251,"16":0.006255,"17":0.01251,"18":0.031275,"19":0.031275,"20":0.01251,"21":0.031275,"22":0.02502,"23":0.01251,"24":0.01251,"25":0.07506,"26":0.018765,"27":0.018765,"28":0.02502,"29":0.3753,"30":0.031275,"31":0.06255,"32":0.01251,"33":0.043785,"34":0.031275,"35":0.018765,"36":0.031275,"37":0.031275,"38":0.03753,"39":0.06255,"40":0.056295,"41":0.043785,"42":0.068805,"43":0.03753,"44":0.043785,"45":0.056295,"46":0.02502,"47":0.07506,"48":0.08757,"49":0.631755,"50":0.06255,"51":0.03753,"52":0.02502,"53":0.031275,"54":0.11259,"55":1.019565,"56":0.293985,"57":0.33777,"58":0.42534,"59":0.45036,"60":0.73809,"61":7.787475,"62":10.10808,"63":0.068805,"64":0.03753,"65":0},C:{"2":0,"3":0.006255,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0.01251,"35":0,"36":0,"37":0,"38":0,"39":0.006255,"40":0.018765,"41":0.006255,"42":0.031275,"43":0.006255,"44":0,"45":0.006255,"46":0,"47":0.018765,"48":0.031275,"49":0.006255,"50":0.03753,"51":0.006255,"52":0.319005,"53":0.018765,"54":0.01251,"55":0.118845,"56":1.3761,"57":1.032075,"58":0.006255,"59":0,"60":0,"3.5":0,"3.6":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0.006255,"33":0,"34":0,"35":0,"36":0.006255,"37":0.01251,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0.02502,"44":0.01251,"45":0,"46":0,"47":0,"48":0.131355,"49":0.07506,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.006255},E:{"4":0.043785,"5":0.01251,"6":0.06255,"7":0.006255,"8":0.08757,"9":0.081315,"10":0.306495,"11":1.432395,_:"0","3.1":0,"3.2":0,"5.1":0.006255,"6.1":0.02502,"7.1":0,"9.1":0.77562,"10.1":0.61299},G:{"8":0.0569676095219,"3.2":0.00356047559512,"4.0-4.1":0.00356047559512,"4.2-4.3":0.484224680936,"5.0-5.1":0.0818909386877,"6.0-6.1":0.0534071339268,"7.0-7.1":0.227870438088,"8.1-8.4":0.391652315463,"9.0-9.2":0.238551864873,"9.3":1.64493972494,"10.0-10.2":3.05132758502,"10.3":6.36256988848,"11.0-11.2":22.9971118689},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.10871873246,"4.2-4.3":0.306085046773,"4.4":0.869749859682,"4.4.3-4.4.4":0.503451361085},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0.0264592035398,"7":0.0198444026549,"8":0.443191659292,"9":0.324125243363,"10":0.251362433628,"11":3.41323725664,"5.5":0},B:{"12":0.018765,"13":0.05004,"14":0.21267,"15":0.569205,"16":0.11259,"17":0},P:{"4":0.542655321888,"5":0.563935922747,"6.2":1.37259875536},N:{"10":0,"11":0.011235},J:{"7":0.000749,"10":0.002996},O:{"0":1.39314},H:{"0":0.106365721649},L:{"0":17.98402},R:{_:"0"},M:{"0":0.19474},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/MP.js b/publi/node_modules/caniuse-lite/data/regions/MP.js deleted file mode 100644 index 8d830d3..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/MP.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0.012824,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0.019236,"32":0,"33":0.006412,"34":0,"35":0,"36":0,"37":0,"38":0.006412,"39":0,"40":0.019236,"41":0.006412,"42":0,"43":0.012824,"44":0,"45":0,"46":0.006412,"47":0,"48":0,"49":0.83356,"50":0.044884,"51":0.012824,"52":0.006412,"53":0,"54":0.12824,"55":0.185948,"56":0.012824,"57":0.141064,"58":0.070532,"59":0.03206,"60":0.1603,"61":12.650876,"62":12.452104,"63":0.019236,"64":0.327012,"65":0},C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0.012824,"9":0,"10":0.006412,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0.006412,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0.06412,"47":0.121828,"48":0.012824,"49":0,"50":0.06412,"51":0.019236,"52":0.538608,"53":0,"54":0.057708,"55":0.012824,"56":1.02592,"57":0.615552,"58":0,"59":0,"60":0,"3.5":0,"3.6":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0.006412,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0.006412,"31":0.012824,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0.025648,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0.03206,"44":0,"45":0,"46":0,"47":0,"48":0.153888,"49":0.012824,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},E:{"4":0,"5":0.006412,"6":0,"7":0,"8":0.057708,"9":0.012824,"10":0.109004,"11":0.884856,_:"0","3.1":0,"3.2":0,"5.1":0.012824,"6.1":0.019236,"7.1":0,"9.1":0.057708,"10.1":0.589904},G:{"8":0.0281894778956,"3.2":0.00176184236847,"4.0-4.1":0.00176184236847,"4.2-4.3":0.239610562112,"5.0-5.1":0.0405223744749,"6.0-6.1":0.0264276355271,"7.0-7.1":0.112757911582,"8.1-8.4":0.193802660532,"9.0-9.2":0.118043438688,"9.3":0.813971174235,"10.0-10.2":1.50989890978,"10.3":3.14841231246,"11.0-11.2":11.379739858},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.18873616464,"4.2-4.3":0.531364894294,"4.4":1.50988931712,"4.4.3-4.4.4":0.873993623948},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.0128664635762,"9":0.00643323178808,"10":0.0192996953642,"11":1.90423660927,"5.5":0},B:{"12":0.102592,"13":0.09618,"14":0.141064,"15":0.782264,"16":0.403956,"17":0},P:{"4":0.746304,"5":0.6429696,"6.2":2.6292864},N:{"10":0,"11":0},J:{"7":0.0078936,"10":0.0315744},O:{"0":0.552552},H:{"0":0.200416309278},L:{"0":35.029012},R:{_:"0"},M:{"0":0.254748},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/MQ.js b/publi/node_modules/caniuse-lite/data/regions/MQ.js deleted file mode 100644 index f77ca0d..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/MQ.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.005981,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0.005981,"32":0.017943,"33":0,"34":0.005981,"35":0,"36":0.005981,"37":0,"38":0,"39":0.005981,"40":0.005981,"41":0.005981,"42":0,"43":0.011962,"44":0,"45":0.011962,"46":0.017943,"47":0.017943,"48":0.005981,"49":0.311012,"50":0.017943,"51":0.047848,"52":0.029905,"53":0.005981,"54":0,"55":0.077753,"56":0.017943,"57":0.047848,"58":0.065791,"59":0.257183,"60":0.101677,"61":7.679604,"62":10.664123,"63":0.077753,"64":0.047848,"65":0},C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0.005981,"22":0,"23":0,"24":0,"25":0,"26":0.005981,"27":0.017943,"28":0.005981,"29":0,"30":0,"31":0.011962,"32":0,"33":0,"34":0.005981,"35":0,"36":0,"37":0,"38":0.005981,"39":0.005981,"40":0,"41":0,"42":0,"43":0.005981,"44":0,"45":0.053829,"46":0,"47":0.017943,"48":0.293069,"49":0.005981,"50":0.005981,"51":0.005981,"52":0.17943,"53":0.065791,"54":0.047848,"55":0.041867,"56":2.21297,"57":1.489269,"58":0.005981,"59":0,"60":0,"3.5":0,"3.6":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0.005981,"32":0,"33":0,"34":0,"35":0,"36":0.005981,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0.005981,"44":0,"45":0,"46":0,"47":0,"48":0.586138,"49":0.113639,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.005981},E:{"4":0,"5":0.005981,"6":0,"7":0.011962,"8":0.035886,"9":0.095696,"10":0.167468,"11":1.931863,_:"0","3.1":0,"3.2":0,"5.1":0.023924,"6.1":0.023924,"7.1":0,"9.1":0.376803,"10.1":0.771549},G:{"8":0.0226905813163,"3.2":0.00141816133227,"4.0-4.1":0.00141816133227,"4.2-4.3":0.192869941188,"5.0-5.1":0.0326177106421,"6.0-6.1":0.021272419984,"7.0-7.1":0.0907623252651,"8.1-8.4":0.155997746549,"9.0-9.2":0.0950168092619,"9.3":0.655190535507,"10.0-10.2":1.21536426175,"10.3":2.53425430076,"11.0-11.2":9.15990404511},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.117140944808,"4.2-4.3":0.329796813845,"4.4":0.937127558466,"4.4.3-4.4.4":0.542452682881},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.0180676041667,"9":0.0240901388889,"10":0.0421577430556,"11":1.65017451389,"5.5":0},B:{"12":0.041867,"13":0.077753,"14":0.53829,"15":1.782338,"16":0.173449,"17":0},P:{"4":1.14105226974,"5":1.18452092763,"6.2":2.62985380263},N:{"10":0.012057,"11":0.060285},J:{"7":0.0008038,"10":0.0032152},O:{"0":0.072342},H:{"0":0.121757745704},L:{"0":42.334637},R:{_:"0"},M:{"0":0.213007},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/MR.js b/publi/node_modules/caniuse-lite/data/regions/MR.js deleted file mode 100644 index 1284181..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/MR.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0.005986,"6":0.002993,"7":0.005986,"8":0.002993,"9":0.014965,"10":0,"11":0.020951,"12":0.014965,"13":0.008979,"14":0.002993,"15":0.002993,"16":0.002993,"17":0.005986,"18":0,"19":0,"20":0,"21":0,"22":0.005986,"23":0.005986,"24":0,"25":0.005986,"26":0.002993,"27":0.002993,"28":0,"29":0.002993,"30":0.014965,"31":0.002993,"32":0,"33":0.014965,"34":0.008979,"35":0.002993,"36":0,"37":0.002993,"38":0.014965,"39":0,"40":0.005986,"41":0,"42":0.002993,"43":0.17958,"44":0.002993,"45":0.053874,"46":0.005986,"47":0.002993,"48":0.014965,"49":0.242433,"50":0.011972,"51":0.014965,"52":0.002993,"53":0.005986,"54":0.131692,"55":0.128699,"56":0.041902,"57":0.092783,"58":0.041902,"59":0.050881,"60":0.068839,"61":1.514458,"62":2.475211,"63":0.002993,"64":0.002993,"65":0},C:{"2":0,"3":0.014965,"4":0,"5":0,"6":0.002993,"7":0.005986,"8":0.002993,"9":0,"10":0.002993,"11":0.002993,"12":0.020951,"13":0.008979,"14":0.002993,"15":0,"16":0.023944,"17":0.005986,"18":0.002993,"19":0,"20":0.005986,"21":0.002993,"22":0.002993,"23":0,"24":0.005986,"25":0.002993,"26":0.008979,"27":0.002993,"28":0,"29":0.005986,"30":0.005986,"31":0,"32":0.011972,"33":0.002993,"34":0.005986,"35":0.002993,"36":0.002993,"37":0.008979,"38":0.008979,"39":0.005986,"40":0.005986,"41":0,"42":0.005986,"43":0.044895,"44":0.005986,"45":0.008979,"46":0.002993,"47":0.044895,"48":0.062853,"49":0.011972,"50":0.008979,"51":0.008979,"52":0.254405,"53":0.005986,"54":0.011972,"55":0.02993,"56":0.83804,"57":0.556698,"58":0.017958,"59":0,"60":0,"3.5":0,"3.6":0.002993},F:{"9":0,"11":0,"12":0,"15":0.008979,"16":0.005986,"17":0.002993,"18":0,"19":0.023944,"20":0.005986,"21":0.002993,"22":0.002993,"23":0.002993,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0.005986,"30":0.002993,"31":0.002993,"32":0,"33":0,"34":0,"35":0,"36":0.008979,"37":0.002993,"38":0,"39":0,"40":0,"41":0,"42":0.002993,"43":0.014965,"44":0,"45":0.002993,"46":0,"47":0.002993,"48":0.110741,"49":0.044895,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.047888},E:{"4":0.002993,"5":0,"6":0,"7":0,"8":0.011972,"9":0,"10":0.005986,"11":0.041902,_:"0","3.1":0,"3.2":0,"5.1":0.002993,"6.1":0,"7.1":0.005986,"9.1":0.011972,"10.1":0.014965},G:{"8":0.0114932762553,"3.2":0.000718329765953,"4.0-4.1":0.000718329765953,"4.2-4.3":0.0976928481696,"5.0-5.1":0.0165215846169,"6.0-6.1":0.0107749464893,"7.0-7.1":0.045973105021,"8.1-8.4":0.0790162742549,"9.0-9.2":0.0481280943189,"9.3":0.33186835187,"10.0-10.2":0.615608609422,"10.3":1.28365529176,"11.0-11.2":4.63969195829},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.67421818522,"4.2-4.3":1.89818350608,"4.4":5.39374548176,"4.4.3-4.4.4":3.12214882694},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0.00311845508982,"7":0.00311845508982,"8":0.152804299401,"9":0.0155922754491,"10":0.0530137365269,"11":0.293134778443,"5.5":0},B:{"12":0.008979,"13":0.014965,"14":0.047888,"15":0.047888,"16":0.008979,"17":0},P:{"4":2.9507478,"5":0.8270262,"6.2":0.867867},N:{"10":0.0206522105263,"11":0.175543789474},J:{"7":0.007007,"10":0.028028},O:{"0":3.755752},H:{"0":6.22911464433},L:{"0":53.016445},R:{_:"0"},M:{"0":0.336336},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/MS.js b/publi/node_modules/caniuse-lite/data/regions/MS.js deleted file mode 100644 index 73aedeb..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/MS.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0.009198,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0.009198,"29":0.036792,"30":0.036792,"31":0.027594,"32":0,"33":0,"34":0,"35":0,"36":0.082782,"37":0.101178,"38":0.073584,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0.082782,"50":0,"51":0,"52":0.13797,"53":0.036792,"54":0,"55":0,"56":0,"57":0.036792,"58":0.055188,"59":0.165564,"60":0.009198,"61":4.304664,"62":9.33597,"63":0.009198,"64":0.055188,"65":0},C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0.036792,"30":0,"31":0.009198,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0.09198,"46":0,"47":0,"48":0.027594,"49":0.055188,"50":0.009198,"51":0.036792,"52":0,"53":0,"54":0,"55":0,"56":0.32193,"57":0.570276,"58":0,"59":0,"60":0,"3.5":0,"3.6":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0.073584,"39":0,"40":0,"41":0,"42":0,"43":0.009198,"44":0,"45":0,"46":0,"47":0,"48":0.266742,"49":0.147168,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},E:{"4":0,"5":0,"6":0,"7":0,"8":0.009198,"9":0.009198,"10":0,"11":0.312732,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0.101178,"10.1":0.634662},G:{"8":0.0106712254451,"3.2":0.000666951590318,"4.0-4.1":0.000666951590318,"4.2-4.3":0.0907054162833,"5.0-5.1":0.0153398865773,"6.0-6.1":0.0100042738548,"7.0-7.1":0.0426849017804,"8.1-8.4":0.073364674935,"9.0-9.2":0.0446857565513,"9.3":0.308131634727,"10.0-10.2":0.571577512903,"10.3":1.1918424919,"11.0-11.2":4.30784032186},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.0552513376988,"4.2-4.3":0.155553766137,"4.4":0.44201070159,"4.4.3-4.4.4":0.255856194574},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0.009198,"10":0.009198,"11":61.470234,"5.5":0},B:{"12":0,"13":0.257544,"14":0.791028,"15":0.542682,"16":0.036792,"17":0},P:{"4":0.0767707586207,"5":0.0959634482759,"6.2":0.105559793103},N:{"10":0,"11":0.103458},J:{"7":0,"10":0},O:{"0":0},H:{"0":0.0121485085911},L:{"0":10.892054},R:{_:"0"},M:{"0":0},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/MT.js b/publi/node_modules/caniuse-lite/data/regions/MT.js deleted file mode 100644 index c434c49..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/MT.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.00732,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0.00732,"19":0,"20":0,"21":0,"22":0.00732,"23":0,"24":0,"25":0,"26":0.05124,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0.00732,"33":0,"34":0.01464,"35":0,"36":0.0366,"37":0,"38":0.00732,"39":0.00732,"40":0,"41":0.00732,"42":0,"43":0.01464,"44":0.00732,"45":0.00732,"46":0.00732,"47":0.00732,"48":0.00732,"49":0.92232,"50":0.01464,"51":0.01464,"52":0.00732,"53":0.01464,"54":1.66896,"55":0.06588,"56":0.08052,"57":0.06588,"58":0.1464,"59":0.16104,"60":0.30012,"61":13.92996,"62":18.1536,"63":0.06588,"64":0.02928,"65":0},C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0.02196,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0.00732,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0.00732,"31":0,"32":0,"33":0,"34":0.00732,"35":0,"36":0.00732,"37":0.00732,"38":0.01464,"39":0.00732,"40":0.00732,"41":0.02928,"42":0.00732,"43":0.02196,"44":0.01464,"45":0.01464,"46":0,"47":0.16104,"48":0.08784,"49":0.0366,"50":0.02928,"51":0.01464,"52":0.2928,"53":0.02928,"54":0.08784,"55":0.0732,"56":2.39364,"57":1.59576,"58":0.02196,"59":0,"60":0,"3.5":0,"3.6":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0.00732,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0.00732,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0.02928,"44":0,"45":0.01464,"46":0,"47":0,"48":0.34404,"49":0.16836,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.00732},E:{"4":0,"5":0.01464,"6":0,"7":0.02196,"8":0.02928,"9":0.02928,"10":0.20496,"11":1.7568,_:"0","3.1":0,"3.2":0,"5.1":0.0732,"6.1":0,"7.1":0,"9.1":0.12444,"10.1":0.549},G:{"8":0.0237340908182,"3.2":0.00148338067614,"4.0-4.1":0.00148338067614,"4.2-4.3":0.201739771954,"5.0-5.1":0.0341177555511,"6.0-6.1":0.022250710142,"7.0-7.1":0.0949363632727,"8.1-8.4":0.163171874375,"9.0-9.2":0.0993865053011,"9.3":0.685321872374,"10.0-10.2":1.27125723945,"10.3":2.65080126825,"11.0-11.2":9.58115578716},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.077126847521,"4.2-4.3":0.217141739944,"4.4":0.617014780168,"4.4.3-4.4.4":0.357156632367},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.0883756097561,"9":0.044187804878,"10":0.0515524390244,"11":2.23148414634,"5.5":0},B:{"12":0.02928,"13":0.19764,"14":0.77592,"15":1.92516,"16":0.28548,"17":0.01464},P:{"4":0.537992565056,"5":0.634831226766,"6.2":1.72157620818},N:{"10":0.0118366666667,"11":0.130203333333},J:{"7":0.001608,"10":0.006432},O:{"0":0.13936},H:{"0":0.0735802749141},L:{"0":27.4136},R:{_:"0"},M:{"0":0.27068},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/MU.js b/publi/node_modules/caniuse-lite/data/regions/MU.js deleted file mode 100644 index 7cead71..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/MU.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.010998,"12":0.005499,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0.005499,"19":0.010998,"20":0.005499,"21":0,"22":0.016497,"23":0,"24":0,"25":0,"26":0.021996,"27":0,"28":0.005499,"29":0.010998,"30":0,"31":0.010998,"32":0.010998,"33":0.005499,"34":0.027495,"35":0.005499,"36":0.027495,"37":0.005499,"38":0.043992,"39":0.027495,"40":0.016497,"41":0.005499,"42":0,"43":0.021996,"44":0.005499,"45":0.005499,"46":0.021996,"47":0.016497,"48":0.005499,"49":0.373932,"50":0.016497,"51":0.027495,"52":0.016497,"53":0.016497,"54":0.098982,"55":0.060489,"56":0.076986,"57":0.175968,"58":0.159471,"59":0.071487,"60":0.131976,"61":7.374159,"62":10.398609,"63":0.049491,"64":0.032994,"65":0},C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0.027495,"17":0,"18":0,"19":0,"20":0.005499,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0.005499,"32":0.021996,"33":0,"34":0,"35":0.005499,"36":0.005499,"37":0.005499,"38":0.010998,"39":0.005499,"40":0.005499,"41":0.005499,"42":0.005499,"43":0.021996,"44":0.005499,"45":0.027495,"46":0.005499,"47":0.038493,"48":0.098982,"49":0.021996,"50":0.021996,"51":0.010998,"52":0.346437,"53":0.038493,"54":0.049491,"55":0.05499,"56":1.842165,"57":1.512225,"58":0.065988,"59":0,"60":0,"3.5":0,"3.6":0.005499},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0.010998,"21":0,"22":0.010998,"23":0,"24":0,"25":0.010998,"26":0,"27":0.010998,"28":0.005499,"29":0.005499,"30":0.021996,"31":0.016497,"32":0,"33":0,"34":0,"35":0,"36":0.005499,"37":0.016497,"38":0,"39":0,"40":0,"41":0,"42":0.005499,"43":0.05499,"44":0.005499,"45":0,"46":0,"47":0.005499,"48":0.357435,"49":0.214461,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.016497},E:{"4":0,"5":0.032994,"6":0,"7":0.016497,"8":0.05499,"9":0.027495,"10":0.203463,"11":0.797355,_:"0","3.1":0,"3.2":0,"5.1":0.038493,"6.1":0.005499,"7.1":0,"9.1":0.247455,"10.1":0.901836},G:{"8":0.00934615723145,"3.2":0.000584134826965,"4.0-4.1":0.000584134826965,"4.2-4.3":0.0794423364673,"5.0-5.1":0.0134351010202,"6.0-6.1":0.00876202240448,"7.0-7.1":0.0373846289258,"8.1-8.4":0.0642548309662,"9.0-9.2":0.0391370334067,"9.3":0.269870290058,"10.0-10.2":0.500603546709,"10.3":1.04384893579,"11.0-11.2":3.77292684737},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.206107217025,"4.2-4.3":0.580271087933,"4.4":1.6488577362,"4.4.3-4.4.4":0.95443495884},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.065988,"9":0.049491,"10":0.065988,"11":1.088802,"5.5":0},B:{"12":0.038493,"13":0.071487,"14":0.252954,"15":0.648882,"16":0.076986,"17":0},P:{"4":1.83014245702,"5":1.07104927883,"6.2":2.05891026415},N:{"10":0.0460690588235,"11":0.345517941176},J:{"7":0.0153034,"10":0.0612136},O:{"0":2.808624},H:{"0":3.91609427663},L:{"0":41.736863},R:{_:"0"},M:{"0":0.184541},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/MV.js b/publi/node_modules/caniuse-lite/data/regions/MV.js deleted file mode 100644 index b58e803..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/MV.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.00819,"12":0.004095,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0.004095,"30":0.012285,"31":0.004095,"32":0,"33":0.004095,"34":0.00819,"35":0.004095,"36":0,"37":0,"38":0.004095,"39":0,"40":0.02457,"41":0.004095,"42":0.004095,"43":0.012285,"44":0.020475,"45":0,"46":0.00819,"47":0.004095,"48":0.03276,"49":0.12285,"50":0.00819,"51":0.012285,"52":0.004095,"53":0.04914,"54":0.020475,"55":0.04095,"56":0.01638,"57":0.028665,"58":0.04914,"59":0.036855,"60":0.061425,"61":5.098275,"62":6.228495,"63":0.03276,"64":0.028665,"65":0},C:{"2":0,"3":0,"4":0.004095,"5":0.004095,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0.004095,"17":0.004095,"18":0.004095,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0.004095,"30":0.00819,"31":0,"32":0.004095,"33":0.004095,"34":0.004095,"35":0,"36":0,"37":0,"38":0.00819,"39":0.012285,"40":0,"41":0.004095,"42":0,"43":0.012285,"44":0.00819,"45":0.012285,"46":0.020475,"47":0.036855,"48":0.036855,"49":0.00819,"50":0.012285,"51":0.00819,"52":0.069615,"53":0.02457,"54":0.04095,"55":0.045045,"56":1.04013,"57":0.88452,"58":0.110565,"59":0,"60":0,"3.5":0,"3.6":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0.004095,"30":0,"31":0.045045,"32":0,"33":0,"34":0.004095,"35":0,"36":0,"37":0.036855,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0.04914,"44":0,"45":0,"46":0,"47":0,"48":0.069615,"49":0.04095,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.004095},E:{"4":0,"5":0,"6":0,"7":0,"8":0.00819,"9":0.03276,"10":0.07371,"11":0.356265,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0.004095,"7.1":0,"9.1":0.069615,"10.1":0.18018},G:{"8":0.0259314662933,"3.2":0.00162071664333,"4.0-4.1":0.00162071664333,"4.2-4.3":0.220417463493,"5.0-5.1":0.0372764827966,"6.0-6.1":0.0243107496499,"7.0-7.1":0.103725865173,"8.1-8.4":0.178278830766,"9.0-9.2":0.108588015103,"9.3":0.748771089218,"10.0-10.2":1.38895416333,"10.3":2.89622064163,"11.0-11.2":10.4682087993},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.162737441534,"4.2-4.3":0.458168489242,"4.4":1.30189953227,"4.4.3-4.4.4":0.75359953695},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.012663,"9":0.008442,"10":0.016884,"11":0.236376,"5.5":0},B:{"12":0.028665,"13":0.04095,"14":0.094185,"15":0.200655,"16":0.036855,"17":0},P:{"4":2.31851525346,"5":1.02589170507,"6.2":1.10796304147},N:{"10":0.01033375,"11":0.07233625},J:{"7":0.002362,"10":0.009448},O:{"0":7.22772},H:{"0":1.90635112543},L:{"0":45.02788},R:{_:"0"},M:{"0":0.38973},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/MW.js b/publi/node_modules/caniuse-lite/data/regions/MW.js deleted file mode 100644 index a3cd553..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/MW.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.000915,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0.000915,"19":0,"20":0.00183,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0.004575,"30":0,"31":0.000915,"32":0.000915,"33":0.000915,"34":0.000915,"35":0,"36":0.000915,"37":0,"38":0,"39":0,"40":0.00183,"41":0,"42":0,"43":0.000915,"44":0,"45":0,"46":0.00366,"47":0,"48":0.00183,"49":0.004575,"50":0.002745,"51":0.000915,"52":0.000915,"53":0.000915,"54":0.000915,"55":0.002745,"56":0.00366,"57":0.002745,"58":0.00549,"59":0.00366,"60":0.004575,"61":0.129015,"62":0.176595,"63":0.000915,"64":0.000915,"65":0},C:{"2":0,"3":0.000915,"4":0,"5":0,"6":0,"7":0,"8":0.00183,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0.000915,"18":0.000915,"19":0,"20":0,"21":0,"22":0.000915,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0.000915,"30":0.00183,"31":0,"32":0.000915,"33":0,"34":0.000915,"35":0.00183,"36":0.000915,"37":0.00183,"38":0.000915,"39":0,"40":0.00183,"41":0.008235,"42":0.000915,"43":0.00549,"44":0.00366,"45":0.000915,"46":0.00183,"47":0.00732,"48":0.00366,"49":0.002745,"50":0.000915,"51":0.000915,"52":0.00549,"53":0.002745,"54":0.002745,"55":0.00549,"56":0.083265,"57":0.068625,"58":0.00732,"59":0,"60":0,"3.5":0,"3.6":0.000915},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0.000915,"19":0.000915,"20":0.021045,"21":0.000915,"22":0.000915,"23":0.00183,"24":0,"25":0,"26":0,"27":0,"28":0.00183,"29":0.00366,"30":0.004575,"31":0.00366,"32":0,"33":0,"34":0.000915,"35":0.000915,"36":0.000915,"37":0.002745,"38":0,"39":0,"40":0,"41":0,"42":0.002745,"43":0.00915,"44":0,"45":0.000915,"46":0.00183,"47":0.000915,"48":0.01098,"49":0.006405,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.011895},E:{"4":0,"5":0,"6":0,"7":0,"8":0.000915,"9":0.00183,"10":0.002745,"11":0.013725,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0.006405,"10.1":0.00549},G:{"8":0.00130368473695,"3.2":0.0000814802960592,"4.0-4.1":0.0000814802960592,"4.2-4.3":0.0110813202641,"5.0-5.1":0.00187404680936,"6.0-6.1":0.00122220444089,"7.0-7.1":0.00521473894779,"8.1-8.4":0.00896283256651,"9.0-9.2":0.00545917983597,"9.3":0.0376438967794,"10.0-10.2":0.0698286137227,"10.3":0.145605289058,"11.0-11.2":0.526281232246},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.107957764266,"4.2-4.3":0.303942628625,"4.4":0.863662114125,"4.4.3-4.4.4":0.499927492984},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.00556625,"9":0.00556625,"10":0.00463854166667,"11":0.0510239583333,"5.5":0},B:{"12":0.011895,"13":0.008235,"14":0.011895,"15":0.02013,"16":0.00183,"17":0},P:{"4":0.821843076923,"5":0.359556346154,"6.2":0.154095576923},N:{"10":0.41259195122,"11":1.36806804878},J:{"7":0.074497,"10":0.297988},O:{"0":68.35554},H:{"0":9.00534234536},L:{"0":7.097975},R:{_:"0"},M:{"0":0.081765},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/MX.js b/publi/node_modules/caniuse-lite/data/regions/MX.js deleted file mode 100644 index eabbb64..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/MX.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.006159,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0.006159,"19":0,"20":0,"21":0.006159,"22":0.024636,"23":0,"24":0,"25":0,"26":0.006159,"27":0,"28":0,"29":0.012318,"30":0,"31":0,"32":0,"33":0,"34":0.018477,"35":0.006159,"36":0.012318,"37":0.006159,"38":0.018477,"39":0.006159,"40":0.006159,"41":0.012318,"42":0.006159,"43":0.018477,"44":0.012318,"45":0.006159,"46":0.018477,"47":0.049272,"48":0.012318,"49":0.757557,"50":0.018477,"51":0.049272,"52":0.018477,"53":0.018477,"54":0.030795,"55":0.043113,"56":0.092385,"57":0.067749,"58":0.166293,"59":0.129339,"60":0.227883,"61":10.205463,"62":14.430537,"63":0.043113,"64":0.012318,"65":0},C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0.006159,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0.006159,"39":0.006159,"40":0.006159,"41":0.006159,"42":0.006159,"43":0.018477,"44":0.006159,"45":0.018477,"46":0.006159,"47":0.024636,"48":0.080067,"49":0.012318,"50":0.018477,"51":0.018477,"52":0.141657,"53":0.024636,"54":0.036954,"55":0.049272,"56":1.318026,"57":1.028553,"58":0.012318,"59":0,"60":0,"3.5":0,"3.6":0.006159},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0.006159,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0.006159,"28":0,"29":0.006159,"30":0.006159,"31":0.006159,"32":0,"33":0,"34":0,"35":0,"36":0.006159,"37":0.006159,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0.036954,"44":0.006159,"45":0.006159,"46":0.006159,"47":0.006159,"48":0.301791,"49":0.18477,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.012318},E:{"4":0,"5":0.012318,"6":0.006159,"7":0.06159,"8":0.06159,"9":0.06159,"10":0.209406,"11":1.262595,_:"0","3.1":0,"3.2":0,"5.1":0.018477,"6.1":0.018477,"7.1":0,"9.1":0.289473,"10.1":0.695967},G:{"8":0.0166908517704,"3.2":0.00104317823565,"4.0-4.1":0.00104317823565,"4.2-4.3":0.141872240048,"5.0-5.1":0.0239930994199,"6.0-6.1":0.0156476735347,"7.0-7.1":0.0667634070814,"8.1-8.4":0.114749605921,"9.0-9.2":0.0698929417884,"9.3":0.481948344869,"10.0-10.2":0.89400374795,"10.3":1.8641595071,"11.0-11.2":6.73788822404},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.129275392891,"4.2-4.3":0.363959952292,"4.4":1.03420314312,"4.4.3-4.4.4":0.598644511693},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0.00617795076923,"7":0,"8":0.16062672,"9":0.142092867692,"10":0.148270818462,"11":1.55066564308,"5.5":0},B:{"12":0.030795,"13":0.06159,"14":0.289473,"15":0.831465,"16":0.160134,"17":0},P:{"4":0.558235335937,"5":0.273851296875,"6.2":0.516104367187},N:{"10":0.0352891875,"11":0.3411288125},J:{"7":0.0053774,"10":0.0215096},O:{"0":0.245824},H:{"0":1.18910628351},L:{"0":45.48609},R:{_:"0"},M:{"0":0.11523},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/MY.js b/publi/node_modules/caniuse-lite/data/regions/MY.js deleted file mode 100644 index 2b0be73..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/MY.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.008936,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0.004468,"19":0.004468,"20":0,"21":0.004468,"22":0.004468,"23":0,"24":0,"25":0,"26":0.004468,"27":0.004468,"28":0,"29":0.017872,"30":0.004468,"31":0.008936,"32":0.004468,"33":0.013404,"34":0.008936,"35":0.004468,"36":0.008936,"37":0.004468,"38":0.013404,"39":0.004468,"40":0.004468,"41":0.004468,"42":0.004468,"43":0.013404,"44":0.017872,"45":0.008936,"46":0.026808,"47":0.035744,"48":0.013404,"49":0.473608,"50":0.017872,"51":0.049148,"52":0.013404,"53":0.013404,"54":0.02234,"55":0.084892,"56":0.093828,"57":0.102764,"58":0.151912,"59":0.1117,"60":0.151912,"61":5.616276,"62":7.273904,"63":0.04468,"64":0.062552,"65":0},C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.004468,"12":0.004468,"13":0,"14":0,"15":0,"16":0.004468,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0.004468,"28":0,"29":0.004468,"30":0,"31":0.004468,"32":0,"33":0.004468,"34":0.004468,"35":0.004468,"36":0.008936,"37":0.004468,"38":0.004468,"39":0.004468,"40":0.008936,"41":0.004468,"42":0.004468,"43":0.017872,"44":0.004468,"45":0.013404,"46":0.004468,"47":0.031276,"48":0.049148,"49":0.008936,"50":0.013404,"51":0.013404,"52":0.13404,"53":0.017872,"54":0.040212,"55":0.035744,"56":0.920408,"57":0.73722,"58":0.04468,"59":0,"60":0,"3.5":0,"3.6":0.004468},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0.008936,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0.004468,"29":0.004468,"30":0.008936,"31":0.008936,"32":0,"33":0,"34":0.004468,"35":0,"36":0.004468,"37":0.205528,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0.049148,"44":0.004468,"45":0,"46":0.004468,"47":0.004468,"48":0.326164,"49":0.116168,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.008936},E:{"4":0,"5":0.004468,"6":0.004468,"7":0.031276,"8":0.031276,"9":0.017872,"10":0.053616,"11":0.317228,_:"0","3.1":0,"3.2":0,"5.1":0.013404,"6.1":0.004468,"7.1":0,"9.1":0.080424,"10.1":0.20106},G:{"8":0.0164632478496,"3.2":0.0010289529906,"4.0-4.1":0.0010289529906,"4.2-4.3":0.139937606721,"5.0-5.1":0.0236659187838,"6.0-6.1":0.015434294859,"7.0-7.1":0.0658529913983,"8.1-8.4":0.113184828966,"9.0-9.2":0.0689398503701,"9.3":0.475376281656,"10.0-10.2":0.881812712943,"10.3":1.8387389942,"11.0-11.2":6.64600736627},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.25133049579,"4.2-4.3":0.707592011225,"4.4":2.01064396632,"4.4.3-4.4.4":1.16385352666},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0.00902580904523,"7":0.00451290452261,"8":0.081232281407,"9":0.0451290452261,"10":0.0496419497487,"11":0.70852601005,"5.5":0},B:{"12":0.004468,"13":0.013404,"14":0.062552,"15":0.196592,"16":0.026808,"17":0},P:{"4":1.47978314563,"5":0.75016784466,"6.2":0.945417009709},N:{"10":0.0121704,"11":0.0486816},J:{"7":0.005532,"10":0.022128},O:{"0":6.66606},H:{"0":2.61343276289},L:{"0":47.343212},R:{_:"0"},M:{"0":0.204684},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/MZ.js b/publi/node_modules/caniuse-lite/data/regions/MZ.js deleted file mode 100644 index 5744f90..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/MZ.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.005103,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0.001701,"22":0.001701,"23":0,"24":0,"25":0,"26":0.001701,"27":0,"28":0,"29":0.001701,"30":0,"31":0,"32":0,"33":0.008505,"34":0.001701,"35":0.001701,"36":0.01701,"37":0,"38":0.001701,"39":0.001701,"40":0.011907,"41":0,"42":0,"43":0.13608,"44":0.001701,"45":0.001701,"46":0.006804,"47":0.001701,"48":0,"49":0.023814,"50":0.003402,"51":0.001701,"52":0.001701,"53":0.001701,"54":0.003402,"55":0.028917,"56":0.005103,"57":0.022113,"58":0.011907,"59":0.010206,"60":0.018711,"61":0.530712,"62":0.738234,"63":0.008505,"64":0.001701,"65":0},C:{"2":0,"3":0.005103,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.001701,"12":0.001701,"13":0.001701,"14":0,"15":0.001701,"16":0,"17":0,"18":0,"19":0,"20":0.001701,"21":0.001701,"22":0,"23":0.001701,"24":0.001701,"25":0,"26":0,"27":0,"28":0.001701,"29":0.001701,"30":0.001701,"31":0.001701,"32":0.001701,"33":0.001701,"34":0.001701,"35":0.001701,"36":0.003402,"37":0.001701,"38":0.001701,"39":0.001701,"40":0.001701,"41":0.001701,"42":0.001701,"43":0.006804,"44":0.001701,"45":0.003402,"46":0.003402,"47":0.015309,"48":0.005103,"49":0.003402,"50":0.003402,"51":0.001701,"52":0.015309,"53":0.005103,"54":0.010206,"55":0.010206,"56":0.190512,"57":0.149688,"58":0.006804,"59":0,"60":0,"3.5":0,"3.6":0.001701},F:{"9":0,"11":0,"12":0,"15":0.001701,"16":0.001701,"17":0.001701,"18":0.003402,"19":0.006804,"20":0.020412,"21":0.003402,"22":0.003402,"23":0.01701,"24":0.001701,"25":0,"26":0.001701,"27":0.001701,"28":0.027216,"29":0.010206,"30":0.015309,"31":0.006804,"32":0.001701,"33":0,"34":0,"35":0.001701,"36":0.003402,"37":0.006804,"38":0.001701,"39":0,"40":0,"41":0.001701,"42":0.008505,"43":0.040824,"44":0.006804,"45":0.005103,"46":0.001701,"47":0.005103,"48":0.110565,"49":0.057834,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0.001701,"12.1":0.015309},E:{"4":0,"5":0,"6":0,"7":0,"8":0.003402,"9":0.001701,"10":0.003402,"11":0.039123,_:"0","3.1":0,"3.2":0,"5.1":0.001701,"6.1":0.001701,"7.1":0.003402,"9.1":0.010206,"10.1":0.015309},G:{"8":0.00237185517103,"3.2":0.00014824094819,"4.0-4.1":0.00014824094819,"4.2-4.3":0.0201607689538,"5.0-5.1":0.00340954180836,"6.0-6.1":0.00222361422284,"7.0-7.1":0.00948742068414,"8.1-8.4":0.0163065043009,"9.0-9.2":0.00993214352871,"9.3":0.0684873180636,"10.0-10.2":0.127042492599,"10.3":0.264906574415,"11.0-11.2":0.957488284357},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.222804616464,"4.2-4.3":0.627280689429,"4.4":1.78243693171,"4.4.3-4.4.4":1.03175676239},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.045927,"9":0.008505,"10":0.015309,"11":0.199017,"5.5":0},B:{"12":0.013608,"13":0.013608,"14":0.020412,"15":0.042525,"16":0.001701,"17":0},P:{"4":1.87640710425,"5":0.481918764479,"6.2":0.297354131274},N:{"10":0.441094562092,"11":1.33489143791},J:{"7":0.1145262,"10":0.4581048},O:{"0":15.129077},H:{"0":32.189953012},L:{"0":23.395115},R:{_:"0"},M:{"0":0.107887},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/NA.js b/publi/node_modules/caniuse-lite/data/regions/NA.js deleted file mode 100644 index b2b5855..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/NA.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.007812,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0.011718,"22":0,"23":0,"24":0,"25":0,"26":0.003906,"27":0,"28":0,"29":0.003906,"30":0,"31":0.007812,"32":0.007812,"33":0.003906,"34":0.003906,"35":0.007812,"36":0.031248,"37":0.003906,"38":0.003906,"39":0,"40":0.015624,"41":0.003906,"42":0,"43":0.042966,"44":0,"45":0.007812,"46":0.007812,"47":0.007812,"48":0.003906,"49":0.105462,"50":0.011718,"51":0.035154,"52":0.003906,"53":0.007812,"54":0.01953,"55":0.070308,"56":0.015624,"57":0.074214,"58":0.070308,"59":0.07812,"60":0.082026,"61":3.101364,"62":3.781008,"63":0.01953,"64":0.050778,"65":0},C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.003906,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0.003906,"21":0,"22":0,"23":0,"24":0.003906,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0.003906,"33":0,"34":0,"35":0.007812,"36":0,"37":0,"38":0.003906,"39":0.003906,"40":0.007812,"41":0.003906,"42":0,"43":0.015624,"44":0.003906,"45":0.011718,"46":0,"47":0.042966,"48":0.01953,"49":0.007812,"50":0.007812,"51":0.011718,"52":0.105462,"53":0.011718,"54":0.042966,"55":0.015624,"56":1.023372,"57":0.804636,"58":0.042966,"59":0,"60":0,"3.5":0,"3.6":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0.003906,"21":0.007812,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0.031248,"29":0.011718,"30":0.015624,"31":0.01953,"32":0,"33":0.003906,"34":0,"35":0,"36":0.003906,"37":0.007812,"38":0,"39":0,"40":0.007812,"41":0.003906,"42":0.007812,"43":0.074214,"44":0.003906,"45":0.003906,"46":0.003906,"47":0.003906,"48":0.289044,"49":0.199206,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.007812},E:{"4":0,"5":0.003906,"6":0,"7":0,"8":0.046872,"9":0.015624,"10":0.027342,"11":0.230454,_:"0","3.1":0,"3.2":0,"5.1":0.003906,"6.1":0,"7.1":0.011718,"9.1":0.042966,"10.1":0.101556},G:{"8":0.00805388917784,"3.2":0.000503368073615,"4.0-4.1":0.000503368073615,"4.2-4.3":0.0684580580116,"5.0-5.1":0.0115774656931,"6.0-6.1":0.00755052110422,"7.0-7.1":0.0322155567113,"8.1-8.4":0.0553704880976,"9.0-9.2":0.0337256609322,"9.3":0.23255605001,"10.0-10.2":0.431386439088,"10.3":0.89951874755,"11.0-11.2":3.25125438748},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.314741552853,"4.2-4.3":0.886118525725,"4.4":2.51793242283,"4.4.3-4.4.4":1.4574954986},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0.00391348275862,"7":0,"8":0.0587022413793,"9":0.0626157241379,"10":0.125231448276,"11":1.79237510345,"5.5":0},B:{"12":0.066402,"13":0.128898,"14":0.171864,"15":0.421848,"16":0.031248,"17":0},P:{"4":3.06131213536,"5":1.37552200677,"6.2":1.67544785787},N:{"10":0.1742884,"11":0.5630856},J:{"7":0.0755656,"10":0.3022624},O:{"0":8.2269},H:{"0":10.5060874124},L:{"0":38.356802},R:{_:"0"},M:{"0":0.15235},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/NC.js b/publi/node_modules/caniuse-lite/data/regions/NC.js deleted file mode 100644 index 373a8e6..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/NC.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.029812,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0.007453,"37":0,"38":0,"39":0,"40":0.022359,"41":0,"42":0,"43":0.007453,"44":0.007453,"45":0.007453,"46":0.007453,"47":0.014906,"48":0,"49":0.961437,"50":0.014906,"51":0.029812,"52":0.007453,"53":0.014906,"54":0.007453,"55":0.096889,"56":0.14906,"57":0.357744,"58":0.126701,"59":0.037265,"60":0.119248,"61":8.474061,"62":15.263744,"63":0.014906,"64":0.007453,"65":0},C:{"2":0,"3":0.007453,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0.007453,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0.007453,"26":0,"27":0,"28":0.014906,"29":0.007453,"30":0,"31":0.007453,"32":0.044718,"33":0,"34":0.007453,"35":0.007453,"36":0,"37":0.007453,"38":0.022359,"39":0.029812,"40":0.052171,"41":0.059624,"42":0.014906,"43":0.052171,"44":0.007453,"45":0.790018,"46":0.007453,"47":0.156513,"48":0.797471,"49":0.044718,"50":0.014906,"51":0.081983,"52":0.953984,"53":0.022359,"54":0.059624,"55":0.119248,"56":4.576142,"57":4.263116,"58":0.081983,"59":0,"60":0,"3.5":0.007453,"3.6":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0.052171,"43":0,"44":0,"45":0,"46":0,"47":0.014906,"48":0.305573,"49":0.22359,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.022359},E:{"4":0,"5":0.029812,"6":0.007453,"7":0.007453,"8":0.44718,"9":0.134154,"10":0.238496,"11":3.189884,_:"0","3.1":0,"3.2":0,"5.1":0.089436,"6.1":0.037265,"7.1":0,"9.1":0.514257,"10.1":1.04342},G:{"8":0.0339260444089,"3.2":0.00212037777556,"4.0-4.1":0.00212037777556,"4.2-4.3":0.288371377475,"5.0-5.1":0.0487686888378,"6.0-6.1":0.0318056666333,"7.0-7.1":0.135704177636,"8.1-8.4":0.233241555311,"9.0-9.2":0.142065310962,"9.3":0.979614532306,"10.0-10.2":1.81716375365,"10.3":3.78911508492,"11.0-11.2":13.6955200523},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.0949744855005,"4.2-4.3":0.267389705332,"4.4":0.759795884004,"4.4.3-4.4.4":0.439804925164},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0.007453,"8":0.052171,"9":0.029812,"10":0.029812,"11":2.75761,"5.5":0},B:{"12":0.022359,"13":0.134154,"14":0.581334,"15":1.326634,"16":0.134154,"17":0},P:{"4":0.898938414747,"5":0.460431870968,"6.2":1.01952771429},N:{"10":0.011603,"11":0.092824},J:{"7":0,"10":0},O:{"0":0.137538},H:{"0":0.0651060463918},L:{"0":21.900158},R:{_:"0"},M:{"0":0.33111},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/NE.js b/publi/node_modules/caniuse-lite/data/regions/NE.js deleted file mode 100644 index 4a14dfd..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/NE.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.004419,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0.004419,"18":0,"19":0,"20":0,"21":0.002946,"22":0.001473,"23":0,"24":0,"25":0,"26":0.001473,"27":0,"28":0,"29":0.002946,"30":0,"31":0.001473,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0.001473,"41":0.001473,"42":0,"43":0.004419,"44":0,"45":0.047136,"46":0,"47":0.001473,"48":0.004419,"49":0.011784,"50":0.011784,"51":0.001473,"52":0.001473,"53":0.004419,"54":0.010311,"55":0.179706,"56":0.001473,"57":0.017676,"58":0.001473,"59":0.042717,"60":0.041244,"61":0.190017,"62":0.232734,"63":0.002946,"64":0.005892,"65":0},C:{"2":0,"3":0.033879,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0.001473,"10":0,"11":0,"12":0.001473,"13":0,"14":0.004419,"15":0,"16":0.001473,"17":0.001473,"18":0,"19":0,"20":0,"21":0.001473,"22":0,"23":0,"24":0.001473,"25":0.001473,"26":0.001473,"27":0,"28":0,"29":0.001473,"30":0.002946,"31":0.002946,"32":0.041244,"33":0.008838,"34":0.001473,"35":0.001473,"36":0.001473,"37":0.001473,"38":0.001473,"39":0.001473,"40":0.001473,"41":0.001473,"42":0.002946,"43":0.007365,"44":0.002946,"45":0.001473,"46":0,"47":0.016203,"48":0.039771,"49":0.004419,"50":0.007365,"51":0.004419,"52":0.081015,"53":0.019149,"54":0.016203,"55":0.019149,"56":0.194436,"57":0.150246,"58":0.001473,"59":0,"60":0,"3.5":0,"3.6":0.001473},F:{"9":0,"11":0.019149,"12":0.005892,"15":0.008838,"16":0.001473,"17":0.001473,"18":0.001473,"19":0.002946,"20":0.025041,"21":0.001473,"22":0.001473,"23":0.016203,"24":0,"25":0,"26":0.005892,"27":0.001473,"28":0.008838,"29":0.008838,"30":0.01473,"31":0.005892,"32":0,"33":0.004419,"34":0,"35":0,"36":0.001473,"37":0.004419,"38":0,"39":0,"40":0.001473,"41":0,"42":0.001473,"43":0.016203,"44":0.036825,"45":0,"46":0.001473,"47":0,"48":0.042717,"49":0.033879,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0.001473,"12.1":0.02946},E:{"4":0.002946,"5":0,"6":0,"7":0,"8":0.002946,"9":0.001473,"10":0,"11":0.007365,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0.001473,"10.1":0.007365},G:{"8":0.00245134466893,"3.2":0.000153209041808,"4.0-4.1":0.000153209041808,"4.2-4.3":0.0208364296859,"5.0-5.1":0.00352380796159,"6.0-6.1":0.00229813562713,"7.0-7.1":0.00980537867574,"8.1-8.4":0.0168529945989,"9.0-9.2":0.0102650058012,"9.3":0.0707825773155,"10.0-10.2":0.13130014883,"10.3":0.273784557712,"11.0-11.2":0.98957720104},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.27469,"4.2-4.3":0.773358,"4.4":2.19752,"4.4.3-4.4.4":1.272026},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0.00178570391061,"7":0.00357140782123,"8":0.092856603352,"9":0.0142856312849,"10":0.0374997821229,"11":0.169641871508,"5.5":0},B:{"12":0.008838,"13":0.005892,"14":0.013257,"15":0.01473,"16":0.001473,"17":0},P:{"4":0.471624309524,"5":0.256317559524,"6.2":0.133285130952},N:{"10":0.0924705777778,"11":0.427676422222},J:{"7":0.0204648,"10":0.0818592},O:{"0":24.805043},H:{"0":16.726867945},L:{"0":40.637215},R:{_:"0"},M:{"0":0.366661},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/NF.js b/publi/node_modules/caniuse-lite/data/regions/NF.js deleted file mode 100644 index a96a358..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/NF.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":19.87962,"62":4.967544,"63":0,"64":0,"65":0},C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":4.967544,"58":0,"59":0,"60":0,"3.5":0,"3.6":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":44.736228,"10.1":0},G:{"8":0.00794966033207,"3.2":0.000496853770754,"4.0-4.1":0.000496853770754,"4.2-4.3":0.0675721128226,"5.0-5.1":0.0114276367273,"6.0-6.1":0.00745280656131,"7.0-7.1":0.0317986413283,"8.1-8.4":0.054653914783,"9.0-9.2":0.0332892026405,"9.3":0.229546442088,"10.0-10.2":0.425803681536,"10.3":0.887877688338,"11.0-11.2":3.2091785053},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0,"4.4":0,"4.4.3-4.4.4":0},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0,"10":0,"11":14.912076,"5.5":0},B:{"12":0,"13":0,"14":0,"15":0,"16":0,"17":0},P:{"4":0,"5":0,"6.2":0},N:{"10":0,"11":0},J:{"7":0,"10":0},O:{"0":0},H:{"0":0},L:{"0":0},R:{_:"0"},M:{"0":5.56},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/NG.js b/publi/node_modules/caniuse-lite/data/regions/NG.js deleted file mode 100644 index e47b554..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/NG.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.003528,"12":0,"13":0,"14":0,"15":0.00882,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0.001764,"22":0.001764,"23":0.005292,"24":0,"25":0,"26":0.001764,"27":0,"28":0.001764,"29":0.001764,"30":0.001764,"31":0.001764,"32":0,"33":0.001764,"34":0,"35":0,"36":0.001764,"37":0.003528,"38":0,"39":0.001764,"40":0.012348,"41":0.003528,"42":0,"43":0.005292,"44":0,"45":0.001764,"46":0.001764,"47":0.007056,"48":0.001764,"49":0.021168,"50":0.007056,"51":0.001764,"52":0.001764,"53":0.001764,"54":0.003528,"55":0.01764,"56":0.012348,"57":0.01764,"58":0.022932,"59":0.022932,"60":0.028224,"61":0.54684,"62":0.753228,"63":0.007056,"64":0.005292,"65":0},C:{"2":0,"3":0.003528,"4":0.001764,"5":0,"6":0,"7":0.001764,"8":0,"9":0,"10":0.001764,"11":0.001764,"12":0.001764,"13":0.003528,"14":0,"15":0.007056,"16":0,"17":0,"18":0.001764,"19":0.001764,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0.001764,"27":0,"28":0.001764,"29":0.001764,"30":0.001764,"31":0.001764,"32":0.001764,"33":0.001764,"34":0.001764,"35":0.001764,"36":0.001764,"37":0.003528,"38":0.003528,"39":0.003528,"40":0.003528,"41":0.003528,"42":0.003528,"43":0.029988,"44":0.00882,"45":0.00882,"46":0.003528,"47":0.028224,"48":0.012348,"49":0.012348,"50":0.01764,"51":0.007056,"52":0.0441,"53":0.021168,"54":0.024696,"55":0.029988,"56":0.338688,"57":0.285768,"58":0.028224,"59":0,"60":0,"3.5":0,"3.6":0.001764},F:{"9":0,"11":0.001764,"12":0.015876,"15":0.003528,"16":0.005292,"17":0.001764,"18":0.005292,"19":0.010584,"20":0.0441,"21":0.007056,"22":0.007056,"23":0.047628,"24":0.001764,"25":0.001764,"26":0.005292,"27":0.00882,"28":0.028224,"29":0.029988,"30":0.042336,"31":0.028224,"32":0.001764,"33":0.003528,"34":0.001764,"35":0.001764,"36":0.001764,"37":0.00882,"38":0,"39":0,"40":0,"41":0.001764,"42":0.003528,"43":0.033516,"44":0.003528,"45":0.001764,"46":0.003528,"47":0.001764,"48":0.081144,"49":0.0441,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.15876},E:{"4":0,"5":0,"6":0,"7":0.001764,"8":0.001764,"9":0.001764,"10":0.005292,"11":0.024696,_:"0","3.1":0,"3.2":0,"5.1":0.001764,"6.1":0,"7.1":0.007056,"9.1":0.007056,"10.1":0.014112},G:{"8":0.00339830526105,"3.2":0.000212394078816,"4.0-4.1":0.000212394078816,"4.2-4.3":0.0288855947189,"5.0-5.1":0.00488506381276,"6.0-6.1":0.00318591118224,"7.0-7.1":0.0135932210442,"8.1-8.4":0.0233633486697,"9.0-9.2":0.0142304032807,"9.3":0.0981260644129,"10.0-10.2":0.182021725545,"10.3":0.379548218844,"11.0-11.2":1.37185335507},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.0942107202993,"4.2-4.3":0.265239412535,"4.4":0.753685762395,"4.4.3-4.4.4":0.436268104771},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.012852,"9":0.003672,"10":0.007344,"11":0.066096,"5.5":0},B:{"12":0.010584,"13":0.010584,"14":0.01764,"15":0.03528,"16":0.003528,"17":0},P:{"4":0.409688205128,"5":0.256055128205,"6.2":0.133148666667},N:{"10":0.215908303797,"11":0.681815696203},J:{"7":0.3162624,"10":1.2650496},O:{"0":10.640912},H:{"0":45.6142793814},L:{"0":18.692528},R:{_:"0"},M:{"0":0.8236},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/NI.js b/publi/node_modules/caniuse-lite/data/regions/NI.js deleted file mode 100644 index 5cfd9b8..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/NI.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.011396,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0.011396,"22":0.011396,"23":0,"24":0,"25":0,"26":0.005698,"27":0,"28":0,"29":0.011396,"30":0.005698,"31":0.005698,"32":0.005698,"33":0.005698,"34":0.005698,"35":0.005698,"36":0.005698,"37":0.011396,"38":0.02849,"39":0.005698,"40":0.011396,"41":0.005698,"42":0.005698,"43":0.017094,"44":0.005698,"45":0.005698,"46":0.011396,"47":0.011396,"48":0.011396,"49":0.387464,"50":0.011396,"51":0.017094,"52":0.022792,"53":0.011396,"54":0.017094,"55":0.034188,"56":0.102564,"57":0.051282,"58":0.125356,"59":0.216524,"60":0.330484,"61":9.749278,"62":13.031326,"63":0.039886,"64":0.02849,"65":0},C:{"2":0,"3":0.02849,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0.005698,"29":0,"30":0,"31":0.005698,"32":0,"33":0.011396,"34":0.005698,"35":0.005698,"36":0.005698,"37":0,"38":0.011396,"39":0.005698,"40":0.011396,"41":0.011396,"42":0.005698,"43":0.039886,"44":0.005698,"45":0.039886,"46":0.011396,"47":0.039886,"48":0.051282,"49":0.188034,"50":0.011396,"51":0.022792,"52":0.119658,"53":0.017094,"54":0.079772,"55":0.039886,"56":1.515668,"57":1.213674,"58":0.011396,"59":0,"60":0,"3.5":0,"3.6":0.005698},F:{"9":0,"11":0,"12":0.005698,"15":0,"16":0,"17":0.051282,"18":0,"19":0,"20":0,"21":0,"22":0.011396,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0.005698,"29":0.02849,"30":0.011396,"31":0.017094,"32":0,"33":0.017094,"34":0,"35":0,"36":0.005698,"37":0.022792,"38":0,"39":0,"40":0.005698,"41":0,"42":0,"43":0.062678,"44":0,"45":0,"46":0.011396,"47":0.005698,"48":0.290598,"49":0.193732,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.034188},E:{"4":0,"5":0,"6":0,"7":0.131054,"8":0.005698,"9":0.039886,"10":0.079772,"11":0.48433,_:"0","3.1":0,"3.2":0,"5.1":0.011396,"6.1":0.011396,"7.1":0,"9.1":0.125356,"10.1":0.290598},G:{"8":0.0073751070214,"3.2":0.000460944188838,"4.0-4.1":0.000460944188838,"4.2-4.3":0.0626884096819,"5.0-5.1":0.0106017163433,"6.0-6.1":0.00691416283257,"7.0-7.1":0.0295004280856,"8.1-8.4":0.0507038607722,"9.0-9.2":0.0308832606521,"9.3":0.212956215243,"10.0-10.2":0.395029169834,"10.3":0.823707265453,"11.0-11.2":2.9772385157},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.200961515435,"4.2-4.3":0.56578395884,"4.4":1.60769212348,"4.4.3-4.4.4":0.930606402245},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.426583602339,"9":0.040352502924,"10":0.080705005848,"11":0.438112888889,"5.5":0},B:{"12":0.02849,"13":0.039886,"14":0.091168,"15":0.31339,"16":0.034188,"17":0},P:{"4":1.406754,"5":0.657169751825,"6.2":0.749584248175},N:{"10":0.0914482285714,"11":0.308637771429},J:{"7":0.0060228,"10":0.0240912},O:{"0":4.233168},H:{"0":3.22570169072},L:{"0":43.36304},R:{_:"0"},M:{"0":0.124758},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/NL.js b/publi/node_modules/caniuse-lite/data/regions/NL.js deleted file mode 100644 index 6e8e48e..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/NL.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.006716,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0.006716,"19":0,"20":0,"21":0,"22":0.006716,"23":0,"24":0.006716,"25":0,"26":0,"27":0.006716,"28":0,"29":0.020148,"30":0,"31":0.006716,"32":0.006716,"33":0,"34":0.013432,"35":0.006716,"36":0.006716,"37":0.006716,"38":0.020148,"39":0.020148,"40":0.006716,"41":0.013432,"42":0.006716,"43":0.013432,"44":0.006716,"45":0.006716,"46":0.013432,"47":0.013432,"48":0.03358,"49":0.389528,"50":0.020148,"51":0.06716,"52":0.020148,"53":0.020148,"54":0.040296,"55":0.06716,"56":0.114172,"57":0.094024,"58":0.20148,"59":0.188048,"60":0.275356,"61":8.32784,"62":11.269448,"63":0.047012,"64":0.020148,"65":0},C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0.03358,"17":0,"18":0,"19":0,"20":0,"21":0.006716,"22":0.006716,"23":0.006716,"24":0.006716,"25":0.006716,"26":0.006716,"27":0.006716,"28":0.006716,"29":0.013432,"30":0.006716,"31":0.013432,"32":0.006716,"33":0.006716,"34":0.006716,"35":0.006716,"36":0.006716,"37":0.006716,"38":0.03358,"39":0.026864,"40":0.006716,"41":0.006716,"42":0.006716,"43":0.020148,"44":0.013432,"45":0.060444,"46":0.013432,"47":0.047012,"48":0.107456,"49":0.020148,"50":0.026864,"51":0.020148,"52":0.429824,"53":0.03358,"54":0.06716,"55":0.073876,"56":1.961072,"57":1.517816,"58":0.020148,"59":0.006716,"60":0,"3.5":0,"3.6":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0.006716,"32":0,"33":0,"34":0,"35":0,"36":0.006716,"37":0.006716,"38":0,"39":0,"40":0,"41":0,"42":0.006716,"43":0.03358,"44":0.006716,"45":0.020148,"46":0.020148,"47":0.026864,"48":1.296188,"49":0.87308,"50":0.040296,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.006716},E:{"4":0,"5":0.013432,"6":0,"7":0.006716,"8":0.040296,"9":0.053728,"10":0.214912,"11":2.256576,_:"0","3.1":0,"3.2":0,"5.1":0.03358,"6.1":0.020148,"7.1":0,"9.1":0.261924,"10.1":0.678316},G:{"8":0.0414527129426,"3.2":0.00259079455891,"4.0-4.1":0.00259079455891,"4.2-4.3":0.352348060012,"5.0-5.1":0.059588274855,"6.0-6.1":0.0388619183837,"7.0-7.1":0.16581085177,"8.1-8.4":0.28498740148,"9.0-9.2":0.173583235447,"9.3":1.19694708622,"10.0-10.2":2.22031093699,"10.3":4.62974987678,"11.0-11.2":16.733942056},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.0624846398503,"4.2-4.3":0.175918293732,"4.4":0.499877118803,"4.4.3-4.4.4":0.289351947615},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0.00673353524804,"7":0.00673353524804,"8":0.0673353524804,"9":0.0875359582245,"10":0.0740688877285,"11":4.91548073107,"5.5":0},B:{"12":0.020148,"13":0.060444,"14":0.510416,"15":2.773708,"16":0.382812,"17":0},P:{"4":0.539887885117,"5":0.815340887728,"6.2":2.86471122715},N:{"10":0.022988,"11":0.11494},J:{"7":0.0039408,"10":0.0157632},O:{"0":0.364524},H:{"0":0.177217505155},L:{"0":23.200196},R:{_:"0"},M:{"0":0.243016},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/NO.js b/publi/node_modules/caniuse-lite/data/regions/NO.js deleted file mode 100644 index 8f619f8..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/NO.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0.006799,"27":0,"28":0,"29":0.013598,"30":0.013598,"31":0.006799,"32":0.006799,"33":0.006799,"34":0.006799,"35":0,"36":0.013598,"37":0.020397,"38":0.027196,"39":0.006799,"40":0.006799,"41":0.006799,"42":0.006799,"43":0.013598,"44":0.013598,"45":0.006799,"46":0.013598,"47":0.020397,"48":0.013598,"49":0.265161,"50":0.013598,"51":0.047593,"52":0.033995,"53":0.027196,"54":0.033995,"55":0.061191,"56":0.088387,"57":0.074789,"58":0.095186,"59":0.285558,"60":0.387543,"61":10.218897,"62":11.803064,"63":0.054392,"64":0.020397,"65":0},C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0.006799,"30":0.006799,"31":0,"32":0,"33":0,"34":0.006799,"35":0,"36":0,"37":0.006799,"38":0.013598,"39":0,"40":0.006799,"41":0,"42":0,"43":0.006799,"44":0.006799,"45":0.027196,"46":0,"47":0.006799,"48":0.061191,"49":0.006799,"50":0.006799,"51":0.013598,"52":0.244764,"53":0.027196,"54":0.054392,"55":0.081588,"56":1.556971,"57":1.128634,"58":0.006799,"59":0,"60":0,"3.5":0,"3.6":0.101985},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0.013598,"32":0,"33":0,"34":0,"35":0,"36":0.006799,"37":0,"38":0.006799,"39":0,"40":0,"41":0,"42":0,"43":0.074789,"44":0,"45":0,"46":0,"47":0.006799,"48":0.713895,"49":0.285558,"50":0.006799,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.020397},E:{"4":0,"5":0.006799,"6":0,"7":0.006799,"8":0.06799,"9":0.040794,"10":0.305955,"11":2.440841,_:"0","3.1":0,"3.2":0,"5.1":0.013598,"6.1":0.013598,"7.1":0,"9.1":0.448734,"10.1":1.013051},G:{"8":0.0507075431086,"3.2":0.00316922144429,"4.0-4.1":0.00316922144429,"4.2-4.3":0.431014116423,"5.0-5.1":0.0728920932186,"6.0-6.1":0.0475383216643,"7.0-7.1":0.202830172434,"8.1-8.4":0.348614358872,"9.0-9.2":0.212337836767,"9.3":1.46418030726,"10.0-10.2":2.71602277776,"10.3":5.66339872094,"11.0-11.2":20.4700013087},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.0479163704397,"4.2-4.3":0.134903012161,"4.4":0.383330963517,"4.4.3-4.4.4":0.221889653882},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.020397,"9":0.027196,"10":0.074789,"11":6.805799,"5.5":0},B:{"12":0.013598,"13":0.074789,"14":0.530322,"15":1.747343,"16":0.237965,"17":0},P:{"4":0.354324528302,"5":0.631140566038,"6.2":2.53563490566},N:{"10":0.0122705,"11":0.0613525},J:{"7":0.0012804,"10":0.0051216},O:{"0":0.06402},H:{"0":0.3182025},L:{"0":18.317364},R:{_:"0"},M:{"0":0.166452},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/NP.js b/publi/node_modules/caniuse-lite/data/regions/NP.js deleted file mode 100644 index 4a82d88..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/NP.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.007462,"12":0.007462,"13":0,"14":0,"15":0,"16":0,"17":0.011193,"18":0.003731,"19":0.007462,"20":0.003731,"21":0,"22":0.003731,"23":0,"24":0.003731,"25":0.007462,"26":0.003731,"27":0.003731,"28":0.003731,"29":0.026117,"30":0.018655,"31":0.033579,"32":0.078351,"33":0.033579,"34":0.003731,"35":0,"36":0.007462,"37":0,"38":0.003731,"39":0,"40":0.003731,"41":0,"42":0,"43":0.033579,"44":0.003731,"45":0.003731,"46":0.003731,"47":0.003731,"48":0.003731,"49":0.220129,"50":0.003731,"51":0.007462,"52":0.003731,"53":0.007462,"54":0.007462,"55":0.026117,"56":0.026117,"57":0.100737,"58":0.07462,"59":0.052234,"60":0.078351,"61":3.462368,"62":5.271903,"63":0.07462,"64":0.082082,"65":0},C:{"2":0,"3":0.003731,"4":0.003731,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.003731,"12":0.003731,"13":0,"14":0.007462,"15":0,"16":0.003731,"17":0,"18":0,"19":0,"20":0,"21":0.003731,"22":0,"23":0.003731,"24":0,"25":0.003731,"26":0.003731,"27":0.003731,"28":0,"29":0.003731,"30":0.003731,"31":0.003731,"32":0.003731,"33":0.007462,"34":0.003731,"35":0.003731,"36":0.003731,"37":0.003731,"38":0.014924,"39":0.007462,"40":0.003731,"41":0.003731,"42":0.003731,"43":0.029848,"44":0.014924,"45":0.007462,"46":0.007462,"47":0.052234,"48":0.022386,"49":0.011193,"50":0.011193,"51":0.007462,"52":0.138047,"53":0.014924,"54":0.022386,"55":0.029848,"56":0.910364,"57":0.902902,"58":0.11193,"59":0,"60":0,"3.5":0,"3.6":0.003731},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0.003731,"19":0.003731,"20":0.003731,"21":0.003731,"22":0.007462,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0.003731,"29":0.003731,"30":0.007462,"31":0.011193,"32":0,"33":0,"34":0.003731,"35":0.003731,"36":0.007462,"37":0.044772,"38":0,"39":0,"40":0,"41":0,"42":0.003731,"43":0.041041,"44":0.003731,"45":0,"46":0.003731,"47":0.003731,"48":0.201474,"49":0.134316,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.048503},E:{"4":0,"5":0,"6":0,"7":0,"8":0.003731,"9":0.003731,"10":0.011193,"11":0.104468,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0.018655,"10.1":0.03731},G:{"8":0.00864964512903,"3.2":0.000540602820564,"4.0-4.1":0.000540602820564,"4.2-4.3":0.0735219835967,"5.0-5.1":0.012433864873,"6.0-6.1":0.00810904230846,"7.0-7.1":0.0345985805161,"8.1-8.4":0.0594663102621,"9.0-9.2":0.0362203889778,"9.3":0.249758503101,"10.0-10.2":0.463296617223,"10.3":0.966057240348,"11.0-11.2":3.49175361802},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.237049284378,"4.2-4.3":0.667384908326,"4.4":1.89639427502,"4.4.3-4.4.4":1.09772053227},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0.00383609859155,"7":0,"8":0.0843941690141,"9":0.0115082957746,"10":0.0191804929577,"11":0.153443943662,"5.5":0},B:{"12":0.026117,"13":0.014924,"14":0.033579,"15":0.097006,"16":0.018655,"17":0},P:{"4":1.30034436792,"5":0.350886575472,"6.2":0.536650056604},N:{"10":0.0323898333333,"11":0.161949166667},J:{"7":0.0037614,"10":0.0150456},O:{"0":5.805094},H:{"0":10.9324250825},L:{"0":49.755683},R:{_:"0"},M:{"0":0.112842},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/NR.js b/publi/node_modules/caniuse-lite/data/regions/NR.js deleted file mode 100644 index cb443a8..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/NR.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.068523,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0.009789,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0.019578,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0.009789,"57":0.009789,"58":0,"59":0,"60":0,"61":0.606918,"62":0.724386,"63":0,"64":0,"65":0},C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":1.810965,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":2.006745,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0.058734,"44":0,"45":0,"46":0,"47":1.487928,"48":0.009789,"49":0,"50":0,"51":0,"52":0,"53":0.009789,"54":0,"55":0,"56":1.145313,"57":1.46835,"58":0,"59":0,"60":0,"3.5":0,"3.6":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0.009789,"49":0,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0,"10.1":0},G:{"8":0.000363839167834,"3.2":0.0000227399479896,"4.0-4.1":0.0000227399479896,"4.2-4.3":0.00309263292659,"5.0-5.1":0.000523018803761,"6.0-6.1":0.000341099219844,"7.0-7.1":0.00145535667133,"8.1-8.4":0.00250139427886,"9.0-9.2":0.0015235765153,"9.3":0.0105058559712,"10.0-10.2":0.0194881354271,"10.3":0.0406362870574,"11.0-11.2":0.146877324065},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.0201914686623,"4.2-4.3":0.0568467502339,"4.4":0.161531749298,"4.4.3-4.4.4":0.0935020318054},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":16.200795,"9":1.115946,"10":6.75441,"11":61.171461,"5.5":0},B:{"12":0.029367,"13":0.068523,"14":0.205569,"15":0.469872,"16":0.019578,"17":0},P:{"4":0.0353776666667,"5":0.0353776666667,"6.2":0.0353776666667},N:{"10":0,"11":0},J:{"7":0,"10":0},O:{"0":0.634055},H:{"0":0.224331792096},L:{"0":1.97115},R:{_:"0"},M:{"0":0.002321},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/NU.js b/publi/node_modules/caniuse-lite/data/regions/NU.js deleted file mode 100644 index bb2e9b8..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/NU.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.04103,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":1.10781,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0.073854,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0.016412,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0.229768,"60":0.016412,"61":9.707698,"62":9.059424,"63":0,"64":0,"65":0},C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":2.732598,"18":0,"19":0,"20":0,"21":0.016412,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0.114884,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0.016412,"44":0.131296,"45":0,"46":0,"47":0.016412,"48":0,"49":0,"50":0.016412,"51":0.04103,"52":0,"53":0,"54":0,"55":0,"56":23.895872,"57":14.229204,"58":0.073854,"59":0,"60":0,"3.5":0,"3.6":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.114884,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0.681098,"10.1":0.073854},G:{"8":0.00638935147029,"3.2":0.000399334466893,"4.0-4.1":0.000399334466893,"4.2-4.3":0.0543094874975,"5.0-5.1":0.00918469273855,"6.0-6.1":0.0059900170034,"7.0-7.1":0.0255574058812,"8.1-8.4":0.0439267913583,"9.0-9.2":0.0267554092819,"9.3":0.184492523705,"10.0-10.2":0.342229638128,"10.3":0.713610692338,"11.0-11.2":2.57930132166},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.0719936108513,"4.2-4.3":0.202689704397,"4.4":0.57594888681,"4.4.3-4.4.4":0.333385797942},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0,"10":0,"11":2.223826,"5.5":0},B:{"12":0.04103,"13":0.090266,"14":0.090266,"15":0.45133,"16":0,"17":0},P:{"4":6.0763188346,"5":0.0723371289833,"6.2":0.661368036419},N:{"10":0,"11":0},J:{"7":0,"10":0},O:{"0":0},H:{"0":0},L:{"0":17.260782},R:{_:"0"},M:{"0":0},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/NZ.js b/publi/node_modules/caniuse-lite/data/regions/NZ.js deleted file mode 100644 index 00714b0..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/NZ.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.012638,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0.006319,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0.006319,"30":0,"31":0.006319,"32":0,"33":0.006319,"34":0.012638,"35":0,"36":0.012638,"37":0,"38":0.025276,"39":0.012638,"40":0.012638,"41":0.006319,"42":0.006319,"43":0.012638,"44":0.006319,"45":0.025276,"46":0.012638,"47":0.025276,"48":0.018957,"49":0.44233,"50":0.037914,"51":0.025276,"52":0.037914,"53":0.025276,"54":0.056871,"55":0.398097,"56":0.139018,"57":0.151656,"58":0.18957,"59":0.227484,"60":0.808832,"61":9.548009,"62":11.43739,"63":0.06319,"64":0.056871,"65":0},C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0.006319,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0.012638,"35":0,"36":0,"37":0.006319,"38":0.006319,"39":0,"40":0.012638,"41":0.012638,"42":0.006319,"43":0.006319,"44":0.006319,"45":0.050552,"46":0,"47":0.018957,"48":0.050552,"49":0.006319,"50":0.018957,"51":0.006319,"52":0.31595,"53":0.025276,"54":0.037914,"55":0.056871,"56":1.763001,"57":1.238524,"58":0.018957,"59":0,"60":0,"3.5":0,"3.6":0.006319},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0.006319,"37":0.018957,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0.018957,"44":0,"45":0,"46":0,"47":0,"48":0.145337,"49":0.082147,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.006319},E:{"4":0,"5":0.025276,"6":0.006319,"7":0.006319,"8":0.044233,"9":0.044233,"10":0.164294,"11":1.649259,_:"0","3.1":0,"3.2":0,"5.1":0.031595,"6.1":0.012638,"7.1":0,"9.1":0.259079,"10.1":0.606624},G:{"8":0.0488231726345,"3.2":0.00305144828966,"4.0-4.1":0.00305144828966,"4.2-4.3":0.414996967393,"5.0-5.1":0.0701833106621,"6.0-6.1":0.0457717243449,"7.0-7.1":0.195292690538,"8.1-8.4":0.335659311862,"9.0-9.2":0.204447035407,"9.3":1.40976910982,"10.0-10.2":2.61509118424,"10.3":5.45293809362,"11.0-11.2":19.7093045029},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.0661389289055,"4.2-4.3":0.186206522919,"4.4":0.529111431244,"4.4.3-4.4.4":0.306274116932},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.0321093372093,"9":0.0513749395349,"10":0.0321093372093,"11":2.64580938605,"5.5":0},B:{"12":0.018957,"13":0.06319,"14":0.37914,"15":1.586069,"16":0.227484,"17":0},P:{"4":0.570310763033,"5":0.480850251185,"6.2":1.30835998578},N:{"10":0.011452,"11":0.091616},J:{"7":0.0029448,"10":0.0117792},O:{"0":0.51534},H:{"0":0.121972654639},L:{"0":26.651835},R:{_:"0"},M:{"0":0.228222},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/OM.js b/publi/node_modules/caniuse-lite/data/regions/OM.js deleted file mode 100644 index a240b28..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/OM.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.009612,"12":0,"13":0,"14":0.003204,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0.003204,"22":0.006408,"23":0.003204,"24":0,"25":0.003204,"26":0.003204,"27":0.003204,"28":0.003204,"29":0.009612,"30":0.006408,"31":0.003204,"32":0.003204,"33":0.009612,"34":0.009612,"35":0.003204,"36":0.009612,"37":0,"38":0.01602,"39":0.006408,"40":0.006408,"41":0,"42":0.003204,"43":0.03204,"44":0.012816,"45":0.003204,"46":0.003204,"47":0.006408,"48":0.006408,"49":0.169812,"50":0.01602,"51":0.003204,"52":0.003204,"53":0.006408,"54":0.006408,"55":0.022428,"56":0.019224,"57":0.067284,"58":0.044856,"59":0.028836,"60":0.04806,"61":2.5632,"62":3.534012,"63":0.044856,"64":0.022428,"65":0},C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0.003204,"13":0.003204,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0.003204,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0.006408,"39":0,"40":0,"41":0,"42":0,"43":0.009612,"44":0.003204,"45":0.006408,"46":0.009612,"47":0.025632,"48":0.028836,"49":0.003204,"50":0.003204,"51":0.003204,"52":0.051264,"53":0.009612,"54":0.009612,"55":0.019224,"56":0.362052,"57":0.262728,"58":0.012816,"59":0,"60":0,"3.5":0,"3.6":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0.003204,"19":0,"20":0,"21":0,"22":0.003204,"23":0,"24":0,"25":0.003204,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0.003204,"32":0.003204,"33":0,"34":0,"35":0,"36":0.003204,"37":0.019224,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0.099324,"44":0.012816,"45":0,"46":0.003204,"47":0,"48":0.073692,"49":0.041652,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},E:{"4":0,"5":0,"6":0.003204,"7":0,"8":0.025632,"9":0.01602,"10":0.041652,"11":0.269136,_:"0","3.1":0,"3.2":0,"5.1":0.035244,"6.1":0.003204,"7.1":0,"9.1":0.054468,"10.1":0.163404},G:{"8":0.0239632438488,"3.2":0.00149770274055,"4.0-4.1":0.00149770274055,"4.2-4.3":0.203687572715,"5.0-5.1":0.0344471630326,"6.0-6.1":0.0224655411082,"7.0-7.1":0.0958529753951,"8.1-8.4":0.16474730146,"9.0-9.2":0.100346083617,"9.3":0.691938666133,"10.0-10.2":1.28353124865,"10.3":2.67639479736,"11.0-11.2":9.6736620012},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.296057792329,"4.2-4.3":0.833516553789,"4.4":2.36846233863,"4.4.3-4.4.4":1.37097531525},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.0706854453782,"9":0.0546205714286,"10":0.0610465210084,"11":0.960679462185,"5.5":0},B:{"12":0.03204,"13":0.051264,"14":0.147384,"15":0.249912,"16":0.028836,"17":0},P:{"4":5.586312,"5":2.24268,"6.2":3.078588},N:{"10":0.0213588571429,"11":0.128153142857},J:{"7":0.0108736,"10":0.0434944},O:{"0":0.754356},H:{"0":0.572627223368},L:{"0":52.814916},R:{_:"0"},M:{"0":0.197084},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/PA.js b/publi/node_modules/caniuse-lite/data/regions/PA.js deleted file mode 100644 index 488baf7..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/PA.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.005826,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0.005826,"22":0.011652,"23":0,"24":0,"25":0,"26":0.005826,"27":0,"28":0,"29":0.011652,"30":0,"31":0.023304,"32":0.005826,"33":0.005826,"34":0.005826,"35":0.023304,"36":0.017478,"37":0.011652,"38":0.023304,"39":0.005826,"40":0.005826,"41":0.005826,"42":0,"43":0.017478,"44":0.011652,"45":0.011652,"46":0.017478,"47":0.017478,"48":0.005826,"49":0.687468,"50":0.011652,"51":0.023304,"52":0.011652,"53":0.017478,"54":0.040782,"55":0.040782,"56":0.104868,"57":0.401994,"58":0.157302,"59":0.20391,"60":0.279648,"61":7.783536,"62":11.337396,"63":0.046608,"64":0.011652,"65":0},C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0.005826,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0.005826,"29":0,"30":0,"31":0,"32":0,"33":0.005826,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0.005826,"40":0.005826,"41":0.005826,"42":0.011652,"43":0.005826,"44":0,"45":0.02913,"46":0,"47":0.046608,"48":0.075738,"49":0.005826,"50":0.017478,"51":0.023304,"52":1.071984,"53":0.023304,"54":0.05826,"55":0.02913,"56":1.04868,"57":0.879726,"58":0.011652,"59":0,"60":0,"3.5":0,"3.6":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0.02913,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0.005826,"30":0.005826,"31":0.005826,"32":0,"33":0,"34":0,"35":0,"36":0.005826,"37":0.005826,"38":0,"39":0,"40":0,"41":0,"42":0.017478,"43":0.02913,"44":0,"45":0.011652,"46":0.017478,"47":0.005826,"48":0.192258,"49":0.163128,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.005826},E:{"4":0,"5":0.005826,"6":0,"7":0.011652,"8":0.040782,"9":0.052434,"10":0.180606,"11":1.112766,_:"0","3.1":0,"3.2":0,"5.1":0.023304,"6.1":0.017478,"7.1":0,"9.1":0.285474,"10.1":0.704946},G:{"8":0.0124826853371,"3.2":0.000780167833567,"4.0-4.1":0.000780167833567,"4.2-4.3":0.106102825365,"5.0-5.1":0.017943860172,"6.0-6.1":0.0117025175035,"7.0-7.1":0.0499307413483,"8.1-8.4":0.0858184616923,"9.0-9.2":0.052271244849,"9.3":0.360437539108,"10.0-10.2":0.668603833367,"10.3":1.39415991858,"11.0-11.2":5.03910403701},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.160910813845,"4.2-4.3":0.453025829747,"4.4":1.28728651076,"4.4.3-4.4.4":0.74514084565},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.116688869565,"9":0.0525099913043,"10":0.0466755478261,"11":3.80405714783,"5.5":0},B:{"12":0.023304,"13":0.052434,"14":0.227214,"15":1.060332,"16":0.052434,"17":0},P:{"4":1.92731569851,"5":1.16463461996,"6.2":1.76241168153},N:{"10":0.0213337777778,"11":0.170670222222},J:{"7":0.0033392,"10":0.0133568},O:{"0":0.308876},H:{"0":0.790334707904},L:{"0":45.163136},R:{_:"0"},M:{"0":0.951672},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/PE.js b/publi/node_modules/caniuse-lite/data/regions/PE.js deleted file mode 100644 index 0108940..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/PE.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.007377,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0.007377,"19":0,"20":0.007377,"21":0,"22":0.044262,"23":0,"24":0.014754,"25":0.007377,"26":0.036885,"27":0,"28":0,"29":0.059016,"30":0,"31":0.014754,"32":0,"33":0.007377,"34":0.044262,"35":0.007377,"36":0.014754,"37":0.007377,"38":0.125409,"39":0.051639,"40":0.014754,"41":0.007377,"42":0.007377,"43":0.051639,"44":0.022131,"45":0.022131,"46":0.044262,"47":0.110655,"48":0.029508,"49":1.121304,"50":0.036885,"51":0.095901,"52":0.051639,"53":0.051639,"54":0.066393,"55":0.095901,"56":0.250818,"57":0.177048,"58":0.413112,"59":0.346719,"60":0.641799,"61":17.173656,"62":25.347372,"63":0.059016,"64":0.022131,"65":0},C:{"2":0,"3":0.014754,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0.014754,"29":0,"30":0,"31":0.007377,"32":0,"33":0.007377,"34":0.007377,"35":0,"36":0.007377,"37":0.007377,"38":0.007377,"39":0.007377,"40":0.007377,"41":0.007377,"42":0.007377,"43":0.022131,"44":0.036885,"45":0.014754,"46":0.007377,"47":0.029508,"48":0.051639,"49":0.007377,"50":0.014754,"51":0.022131,"52":0.118032,"53":0.029508,"54":0.051639,"55":0.059016,"56":1.10655,"57":0.966387,"58":0.014754,"59":0,"60":0,"3.5":0,"3.6":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0.007377,"29":0,"30":0,"31":0.007377,"32":0,"33":0.007377,"34":0,"35":0,"36":0.007377,"37":0.007377,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0.022131,"44":0,"45":0.007377,"46":0.007377,"47":0.014754,"48":0.309834,"49":0.213933,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.007377},E:{"4":0,"5":0,"6":0,"7":0.125409,"8":0.029508,"9":0.036885,"10":0.088524,"11":0.523767,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0.110655,"10.1":0.302457},G:{"8":0.00647871174235,"3.2":0.000404919483897,"4.0-4.1":0.000404919483897,"4.2-4.3":0.05506904981,"5.0-5.1":0.00931314812963,"6.0-6.1":0.00607379225845,"7.0-7.1":0.0259148469694,"8.1-8.4":0.0445411432286,"9.0-9.2":0.0271296054211,"9.3":0.18707280156,"10.0-10.2":0.3470159977,"10.3":0.723591117724,"11.0-11.2":2.61537494649},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.0851567492984,"4.2-4.3":0.239749001871,"4.4":0.681253994387,"4.4.3-4.4.4":0.394341254443},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0.00750203389831,"8":0.232563050847,"9":0.0750203389831,"10":0.150040677966,"11":0.862733898305,"5.5":0},B:{"12":0.029508,"13":0.051639,"14":0.14754,"15":0.427866,"16":0.051639,"17":0},P:{"4":0.65264522449,"5":0.132568561224,"6.2":0.214149214286},N:{"10":0.055083,"11":0.275415},J:{"7":0.0031476,"10":0.0125904},O:{"0":0.120658},H:{"0":0.851767420962},L:{"0":36.672419},R:{_:"0"},M:{"0":0.073444},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/PF.js b/publi/node_modules/caniuse-lite/data/regions/PF.js deleted file mode 100644 index a098438..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/PF.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0.006271,"35":0,"36":0,"37":0,"38":0.012542,"39":0.006271,"40":0,"41":0,"42":0,"43":0.031355,"44":0,"45":0,"46":0.012542,"47":0,"48":0,"49":0.677268,"50":0.006271,"51":0,"52":0,"53":0.018813,"54":0.018813,"55":0.037626,"56":0.043897,"57":0.087794,"58":0.137962,"59":0.037626,"60":0.112878,"61":6.766409,"62":8.578728,"63":0.043897,"64":0.056439,"65":0},C:{"2":0,"3":0,"4":0,"5":0.006271,"6":0,"7":0,"8":0,"9":0,"10":0.006271,"11":0,"12":0.050168,"13":0,"14":0,"15":0,"16":0.018813,"17":0.012542,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0.012542,"28":0.006271,"29":0,"30":0.006271,"31":0,"32":0.037626,"33":0,"34":0.006271,"35":0.006271,"36":0,"37":0,"38":0.169317,"39":0.012542,"40":0.006271,"41":0.012542,"42":0,"43":0.06271,"44":0,"45":0.050168,"46":0.006271,"47":0.068981,"48":0.326092,"49":0.119149,"50":0.018813,"51":0.031355,"52":0.269653,"53":0.031355,"54":0.031355,"55":0.12542,"56":4.521391,"57":3.210752,"58":0.043897,"59":0,"60":0,"3.5":0,"3.6":0.006271},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0.012542,"44":0,"45":0,"46":0,"47":0,"48":0.319821,"49":0.150504,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},E:{"4":0.025084,"5":0.050168,"6":0,"7":0,"8":0.068981,"9":0.031355,"10":0.282195,"11":2.395522,_:"0","3.1":0,"3.2":0,"5.1":0.075252,"6.1":0.018813,"7.1":0,"9.1":0.56439,"10.1":1.034715},G:{"8":0.0357747117423,"3.2":0.0022359194839,"4.0-4.1":0.0022359194839,"4.2-4.3":0.30408504981,"5.0-5.1":0.0514261481296,"6.0-6.1":0.0335387922585,"7.0-7.1":0.143098846969,"8.1-8.4":0.245951143229,"9.0-9.2":0.149806605421,"9.3":1.03299480156,"10.0-10.2":1.9161829977,"10.3":3.99558811772,"11.0-11.2":14.4418039465},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.0921558933583,"4.2-4.3":0.259454284378,"4.4":0.737247146866,"4.4.3-4.4.4":0.426752675398},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.025084,"9":0.031355,"10":0.050168,"11":1.561479,"5.5":0},B:{"12":0.031355,"13":0.06271,"14":0.213214,"15":1.047257,"16":0.106607,"17":0},P:{"4":1.18364554086,"5":0.620552031128,"6.2":1.14917042802},N:{"10":0.0240313333333,"11":0.300391666667},J:{"7":0,"10":0},O:{"0":0.268488},H:{"0":0.0564860206186},L:{"0":35.622417},R:{_:"0"},M:{"0":0.26103},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/PG.js b/publi/node_modules/caniuse-lite/data/regions/PG.js deleted file mode 100644 index baa2c25..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/PG.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.013472,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0.003368,"32":0.026944,"33":0.003368,"34":0.003368,"35":0,"36":0,"37":0,"38":0,"39":0.003368,"40":0.026944,"41":0,"42":0,"43":0.010104,"44":0.003368,"45":0.003368,"46":0.053888,"47":0,"48":0.003368,"49":0.020208,"50":0.01684,"51":0.010104,"52":0.003368,"53":0,"54":0.003368,"55":0.063992,"56":0.040416,"57":0.01684,"58":0.047152,"59":0.01684,"60":0.063992,"61":1.06092,"62":1.451608,"63":0.003368,"64":0,"65":0},C:{"2":0,"3":0.003368,"4":0.01684,"5":0,"6":0,"7":0.003368,"8":0,"9":0.003368,"10":0.10104,"11":0,"12":0.003368,"13":0,"14":0.01684,"15":0,"16":0.003368,"17":0,"18":0,"19":0.026944,"20":0.003368,"21":0.107776,"22":0.003368,"23":0.010104,"24":0,"25":0,"26":0,"27":0,"28":0.010104,"29":0.090936,"30":0.030312,"31":0,"32":0.181872,"33":0.006736,"34":0.010104,"35":0.013472,"36":0.104408,"37":0.020208,"38":0.660128,"39":0.057256,"40":0.074096,"41":0.003368,"42":0.020208,"43":0.037048,"44":0.06736,"45":0.070728,"46":0.01684,"47":0.141456,"48":0.030312,"49":0.343536,"50":0.010104,"51":0,"52":0.03368,"53":0.030312,"54":0.010104,"55":0.121248,"56":2.653984,"57":0.208816,"58":0.006736,"59":0,"60":0,"3.5":0,"3.6":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0.003368,"21":0,"22":0.01684,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0.003368,"29":0.003368,"30":0.003368,"31":0.003368,"32":0,"33":0,"34":0.003368,"35":0.006736,"36":0,"37":0.161664,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0.01684,"44":0,"45":0,"46":0.003368,"47":0,"48":0.047152,"49":0.026944,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.010104},E:{"4":0.003368,"5":0.003368,"6":0,"7":0,"8":0.003368,"9":0.006736,"10":0.020208,"11":0.063992,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0.010104,"7.1":0.006736,"9.1":0.010104,"10.1":0.023576},G:{"8":0.00228223564713,"3.2":0.000142639727946,"4.0-4.1":0.000142639727946,"4.2-4.3":0.0193990030006,"5.0-5.1":0.00328071374275,"6.0-6.1":0.00213959591918,"7.0-7.1":0.00912894258852,"8.1-8.4":0.015690370074,"9.0-9.2":0.00955686177235,"9.3":0.0658995543109,"10.0-10.2":0.122242246849,"10.3":0.254897193839,"11.0-11.2":0.921310002801},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.270071655753,"4.2-4.3":0.760355584659,"4.4":2.16057324602,"4.4.3-4.4.4":1.25063951356},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.172078050542,"9":0.043863032491,"10":0.222689241877,"11":1.43060967509,"5.5":0},B:{"12":0.01684,"13":0.097672,"14":0.225656,"15":0.323328,"16":0.003368,"17":0},P:{"4":0.945166967742,"5":0.462528516129,"6.2":0.150824516129},N:{"10":0.021554,"11":0.150878},J:{"7":0.0053056,"10":0.0212224},O:{"0":38.392648},H:{"0":7.94261766323},L:{"0":17.574896},R:{_:"0"},M:{"0":0.139272},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/PH.js b/publi/node_modules/caniuse-lite/data/regions/PH.js deleted file mode 100644 index fd20ecd..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/PH.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0.03033,"11":0.006066,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0.006066,"19":0,"20":0,"21":0.006066,"22":0.012132,"23":0.006066,"24":0,"25":0.006066,"26":0.012132,"27":0.006066,"28":0.006066,"29":0.024264,"30":0.012132,"31":0.036396,"32":0.012132,"33":0.03033,"34":0.018198,"35":0.012132,"36":0.018198,"37":0.006066,"38":0.024264,"39":0.018198,"40":0.024264,"41":0.012132,"42":0.006066,"43":0.036396,"44":0.03033,"45":0.03033,"46":0.048528,"47":0.109188,"48":0.042462,"49":0.733986,"50":0.054594,"51":0.133452,"52":0.054594,"53":0.078858,"54":0.109188,"55":0.18198,"56":0.18198,"57":0.24264,"58":0.448884,"59":0.351828,"60":0.521676,"61":10.257606,"62":13.551444,"63":0.109188,"64":0.103122,"65":0},C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0.473148,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0.006066,"25":0,"26":0,"27":0.012132,"28":0,"29":0.006066,"30":0.006066,"31":0.006066,"32":0.006066,"33":0.006066,"34":0.006066,"35":0.006066,"36":0.006066,"37":0.006066,"38":0.018198,"39":0.012132,"40":0.012132,"41":0.012132,"42":0.006066,"43":0.048528,"44":0.012132,"45":0.024264,"46":0.012132,"47":0.066726,"48":0.048528,"49":0.018198,"50":0.03033,"51":0.024264,"52":0.224442,"53":0.03033,"54":0.048528,"55":0.06066,"56":1.195002,"57":1.025154,"58":0.084924,"59":0,"60":0,"3.5":0,"3.6":0.006066},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0.006066,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0.006066,"29":0.006066,"30":0.006066,"31":0.006066,"32":0,"33":0,"34":0.006066,"35":0,"36":0.006066,"37":0.236574,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0.024264,"44":0,"45":0.006066,"46":0,"47":0.006066,"48":0.188046,"49":0.115254,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.042462},E:{"4":0,"5":0.006066,"6":0,"7":0.072792,"8":0.018198,"9":0.018198,"10":0.072792,"11":0.315432,_:"0","3.1":0,"3.2":0,"5.1":0.012132,"6.1":0.006066,"7.1":0,"9.1":0.097056,"10.1":0.163782},G:{"8":0.0185927041408,"3.2":0.0011620440088,"4.0-4.1":0.0011620440088,"4.2-4.3":0.158037985197,"5.0-5.1":0.0267270122024,"6.0-6.1":0.017430660132,"7.0-7.1":0.0743708165633,"8.1-8.4":0.127824840968,"9.0-9.2":0.0778569485897,"9.3":0.536864332066,"10.0-10.2":0.995871715543,"10.3":2.07657264373,"11.0-11.2":7.50564225285},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.189395042095,"4.2-4.3":0.533219887746,"4.4":1.51516033676,"4.4.3-4.4.4":0.877044733396},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0.00613736470588,"7":0.00613736470588,"8":0.263906682353,"9":0.0429615529412,"10":0.0429615529412,"11":0.681247482353,"5.5":0},B:{"12":0.03033,"13":0.054594,"14":0.12132,"15":0.3033,"16":0.048528,"17":0},P:{"4":0.752863597701,"5":0.434752218391,"6.2":0.657430183908},N:{"10":0.0230794666667,"11":0.150016533333},J:{"7":0.007868,"10":0.031472},O:{"0":1.597204},H:{"0":2.26074542612},L:{"0":40.500342},R:{_:"0"},M:{"0":0.145558},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/PK.js b/publi/node_modules/caniuse-lite/data/regions/PK.js deleted file mode 100644 index bb980fb..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/PK.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.006254,"12":0,"13":0,"14":0,"15":0,"16":0.003127,"17":0.003127,"18":0,"19":0,"20":0.003127,"21":0,"22":0.003127,"23":0.003127,"24":0.003127,"25":0.006254,"26":0.003127,"27":0.006254,"28":0.003127,"29":0.025016,"30":0.006254,"31":0.012508,"32":0.009381,"33":0.021889,"34":0.006254,"35":0.003127,"36":0.003127,"37":0.003127,"38":0.003127,"39":0.003127,"40":0.009381,"41":0.003127,"42":0,"43":0.059413,"44":0.003127,"45":0.003127,"46":0.006254,"47":0.006254,"48":0.009381,"49":0.28143,"50":0.006254,"51":0.006254,"52":0.006254,"53":0.006254,"54":0.006254,"55":0.021889,"56":0.037524,"57":0.043778,"58":0.065667,"59":0.056286,"60":0.081302,"61":2.245186,"62":3.911877,"63":0.071921,"64":0.053159,"65":0},C:{"2":0,"3":0.012508,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0.003127,"13":0,"14":0,"15":0,"16":0,"17":0.003127,"18":0.003127,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0.003127,"27":0.003127,"28":0.006254,"29":0.003127,"30":0.003127,"31":0.003127,"32":0.003127,"33":0.003127,"34":0.003127,"35":0.003127,"36":0.003127,"37":0.003127,"38":0.003127,"39":0.003127,"40":0.003127,"41":0.006254,"42":0.003127,"43":0.018762,"44":0.009381,"45":0.009381,"46":0.003127,"47":0.021889,"48":0.021889,"49":0.006254,"50":0.009381,"51":0.006254,"52":0.084429,"53":0.009381,"54":0.012508,"55":0.015635,"56":0.362732,"57":0.328335,"58":0.037524,"59":0,"60":0,"3.5":0,"3.6":0.003127},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0.018762,"19":0.003127,"20":0.003127,"21":0.003127,"22":0.006254,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0.003127,"29":0.003127,"30":0.006254,"31":0.009381,"32":0,"33":0,"34":0,"35":0,"36":0.006254,"37":0.06254,"38":0,"39":0,"40":0,"41":0,"42":0.003127,"43":0.03127,"44":0.003127,"45":0.003127,"46":0.003127,"47":0.003127,"48":0.203255,"49":0.12508,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.006254},E:{"4":0,"5":0,"6":0,"7":0.003127,"8":0.003127,"9":0.003127,"10":0.006254,"11":0.037524,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0.006254,"10.1":0.018762},G:{"8":0.00524201320264,"3.2":0.000327625825165,"4.0-4.1":0.000327625825165,"4.2-4.3":0.0445571122224,"5.0-5.1":0.0075353939788,"6.0-6.1":0.00491438737748,"7.0-7.1":0.0209680528106,"8.1-8.4":0.0360388407682,"9.0-9.2":0.0219509302861,"9.3":0.151363131226,"10.0-10.2":0.280775332166,"10.3":0.58546734957,"11.0-11.2":2.11613520474},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.32885950421,"4.2-4.3":0.925865988775,"4.4":2.63087603368,"4.4.3-4.4.4":1.52287247334},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0.00659205405405,"7":0.00329602702703,"8":0.0791046486486,"9":0.00988808108108,"10":0.0197761621622,"11":0.125249027027,"5.5":0},B:{"12":0.015635,"13":0.021889,"14":0.040651,"15":0.06254,"16":0.009381,"17":0},P:{"4":1.23537012876,"5":0.442674296137,"6.2":0.720632575107},N:{"10":0.0559273529412,"11":0.514531647059},J:{"7":0.0178698,"10":0.0714792},O:{"0":15.148092},H:{"0":6.29218426289},L:{"0":48.842339},R:{_:"0"},M:{"0":0.096222},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/PL.js b/publi/node_modules/caniuse-lite/data/regions/PL.js deleted file mode 100644 index fd5c02d..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/PL.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.007686,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0.003843,"19":0,"20":0,"21":0,"22":0.003843,"23":0,"24":0,"25":0,"26":0.003843,"27":0,"28":0,"29":0.011529,"30":0,"31":0.011529,"32":0,"33":0.003843,"34":0.011529,"35":0.003843,"36":0.003843,"37":0.003843,"38":0.011529,"39":0.011529,"40":0.007686,"41":0.003843,"42":0,"43":0.011529,"44":0.003843,"45":0.003843,"46":0.026901,"47":0.011529,"48":0.003843,"49":0.353556,"50":0.007686,"51":0.019215,"52":0.007686,"53":0.011529,"54":0.011529,"55":0.026901,"56":0.042273,"57":0.061488,"58":0.073017,"59":0.046116,"60":0.07686,"61":3.0744,"62":4.384863,"63":0.015372,"64":0.007686,"65":0},C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0.003843,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0.003843,"30":0,"31":0.003843,"32":0,"33":0,"34":0.003843,"35":0,"36":0.003843,"37":0.003843,"38":0.007686,"39":0.003843,"40":0.003843,"41":0.007686,"42":0.003843,"43":0.011529,"44":0.003843,"45":0.019215,"46":0.003843,"47":0.026901,"48":0.023058,"49":0.011529,"50":0.019215,"51":0.015372,"52":0.334341,"53":0.026901,"54":0.030744,"55":0.046116,"56":1.594845,"57":1.279719,"58":0.007686,"59":0,"60":0,"3.5":0,"3.6":0.003843},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0.003843,"19":0,"20":0.003843,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0.003843,"27":0,"28":0.007686,"29":0.007686,"30":0.023058,"31":0.057645,"32":0.003843,"33":0,"34":0,"35":0.003843,"36":0.053802,"37":0.007686,"38":0,"39":0,"40":0,"41":0,"42":0.003843,"43":0.069174,"44":0.003843,"45":0.007686,"46":0.003843,"47":0.007686,"48":0.664839,"49":0.407358,"50":0.007686,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.019215},E:{"4":0,"5":0,"6":0,"7":0.003843,"8":0.003843,"9":0.003843,"10":0.015372,"11":0.195993,_:"0","3.1":0,"3.2":0,"5.1":0.003843,"6.1":0,"7.1":0,"9.1":0.019215,"10.1":0.049959},G:{"8":0.00335723144629,"3.2":0.000209826965393,"4.0-4.1":0.000209826965393,"4.2-4.3":0.0285364672935,"5.0-5.1":0.00482602020404,"6.0-6.1":0.0031474044809,"7.0-7.1":0.0134289257852,"8.1-8.4":0.0230809661932,"9.0-9.2":0.0140584066813,"9.3":0.0969400580116,"10.0-10.2":0.179821709342,"10.3":0.374960787157,"11.0-11.2":1.35527236947},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.23132065014,"4.2-4.3":0.651256599626,"4.4":1.85056520112,"4.4.3-4.4.4":1.07119254911},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0.003843,"8":0.03843,"9":0.019215,"10":0.030744,"11":0.476532,"5.5":0},B:{"12":0.007686,"13":0.026901,"14":0.138348,"15":0.357399,"16":0.049959,"17":0.007686},P:{"4":1.74462159579,"5":1.11938148632,"6.2":1.92614291789},N:{"10":0.0329697419355,"11":0.989092258065},J:{"7":0.0049256,"10":0.0197024},O:{"0":0.073884},H:{"0":0.944306072165},L:{"0":69.028973},R:{_:"0"},M:{"0":0.270908},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/PM.js b/publi/node_modules/caniuse-lite/data/regions/PM.js deleted file mode 100644 index 0358f00..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/PM.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0.03386,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0.01693,"47":0.160835,"48":0.008465,"49":0.414785,"50":0,"51":0,"52":0,"53":0,"54":0.160835,"55":0,"56":0.567155,"57":0.008465,"58":0,"59":0,"60":0.03386,"61":16.35438,"62":16.74377,"63":0,"64":0.025395,"65":0},C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0.008465,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0.01693,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0.008465,"37":0,"38":0,"39":0,"40":0.093115,"41":0,"42":0,"43":0,"44":0,"45":0.025395,"46":0,"47":0,"48":0.126975,"49":0.01693,"50":0,"51":0,"52":1.058125,"53":0.008465,"54":0.008465,"55":0.008465,"56":7.22911,"57":6.221775,"58":0.025395,"59":0,"60":0,"3.5":0,"3.6":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0.245485,"49":0.296275,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},E:{"4":0,"5":0.584085,"6":0,"7":0,"8":0,"9":0.042325,"10":0.03386,"11":2.91196,_:"0","3.1":0,"3.2":0,"5.1":0.025395,"6.1":0.01693,"7.1":0,"9.1":0.160835,"10.1":0.177765},G:{"8":0.0366654530906,"3.2":0.00229159081816,"4.0-4.1":0.00229159081816,"4.2-4.3":0.31165635127,"5.0-5.1":0.0527065888178,"6.0-6.1":0.0343738622725,"7.0-7.1":0.146661812362,"8.1-8.4":0.252074989998,"9.0-9.2":0.153536584817,"9.3":1.05871495799,"10.0-10.2":1.96389333117,"10.3":4.09507279206,"11.0-11.2":14.8013850945},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.084818919551,"4.2-4.3":0.238797881197,"4.4":0.678551356408,"4.4.3-4.4.4":0.392776842844},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.025395,"9":0.025395,"10":0,"11":0.939615,"5.5":0},B:{"12":0,"13":0,"14":0.211625,"15":1.870765,"16":0.380925,"17":0},P:{"4":0.05526,"5":0.013815,"6.2":0.179595},N:{"10":0,"11":0},J:{"7":0,"10":0},O:{"0":0},H:{"0":0},L:{"0":17.55078},R:{_:"0"},M:{"0":0.0614},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/PN.js b/publi/node_modules/caniuse-lite/data/regions/PN.js deleted file mode 100644 index 02b94f9..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/PN.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0},C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"3.5":0,"3.6":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0,"10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0,"6.0-6.1":0,"7.0-7.1":0,"8.1-8.4":0,"9.0-9.2":0,"9.3":0,"10.0-10.2":0,"10.3":0,"11.0-11.2":0},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0,"4.4":0,"4.4.3-4.4.4":0},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"5.5":0},B:{"12":0,"13":0,"14":0,"15":0,"16":0,"17":0},P:{"4":0,"5":0,"6.2":0},N:{"10":0,"11":0},J:{"7":0,"10":0},O:{"0":0},H:{"0":0},L:{"0":0},R:{_:"0"},M:{"0":0},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/PR.js b/publi/node_modules/caniuse-lite/data/regions/PR.js deleted file mode 100644 index 7cbf18d..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/PR.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.008576,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0.004288,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0.008576,"33":0.004288,"34":0.004288,"35":0.004288,"36":0.008576,"37":0.004288,"38":0.012864,"39":0.004288,"40":0.004288,"41":0.008576,"42":0.008576,"43":0.008576,"44":0.008576,"45":0.012864,"46":0.004288,"47":0,"48":0,"49":0.197248,"50":0.008576,"51":0.008576,"52":0.008576,"53":0.02144,"54":0.02144,"55":0.012864,"56":0.047168,"57":0.034304,"58":0.034304,"59":0.038592,"60":0.261568,"61":3.348928,"62":5.53152,"63":0.017152,"64":0.008576,"65":0},C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0.004288,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0.004288,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0.004288,"41":0.004288,"42":0,"43":0.008576,"44":0,"45":0.098624,"46":0.004288,"47":0.012864,"48":0.038592,"49":0.025728,"50":0.017152,"51":0.012864,"52":0.124352,"53":0.017152,"54":0.025728,"55":0.090048,"56":0.677504,"57":0.668928,"58":0.012864,"59":0,"60":0,"3.5":0,"3.6":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0.008576,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0.004288,"37":0,"38":0.004288,"39":0,"40":0,"41":0,"42":0,"43":0.017152,"44":0.004288,"45":0,"46":0,"47":0.008576,"48":0.077184,"49":0.068608,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},E:{"4":0.004288,"5":0.047168,"6":0,"7":0,"8":0.034304,"9":0.034304,"10":0.175808,"11":1.05056,_:"0","3.1":0,"3.2":0,"5.1":0.02144,"6.1":0.004288,"7.1":0,"9.1":0.265856,"10.1":0.677504},G:{"8":0.0427407593519,"3.2":0.00267129745949,"4.0-4.1":0.00267129745949,"4.2-4.3":0.363296454491,"5.0-5.1":0.0614398415683,"6.0-6.1":0.0400694618924,"7.0-7.1":0.170963037407,"8.1-8.4":0.293842720544,"9.0-9.2":0.178976929786,"9.3":1.23413942629,"10.0-10.2":2.28930192278,"10.3":4.77360856011,"11.0-11.2":17.2539102909},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.0892084565014,"4.2-4.3":0.251156115996,"4.4":0.713667652011,"4.4.3-4.4.4":0.413103775491},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.158656,"9":0.072896,"10":0.038592,"11":1.517952,"5.5":0},B:{"12":0.025728,"13":0.047168,"14":0.261568,"15":0.7504,"16":0.15008,"17":0},P:{"4":1.24983099338,"5":1.63113536424,"6.2":1.91711364238},N:{"10":0.05712,"11":0.079968},J:{"7":0.0022848,"10":0.0091392},O:{"0":0.217056},H:{"0":0.173048082474},L:{"0":46.197056},R:{_:"0"},M:{"0":0.376992},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/PS.js b/publi/node_modules/caniuse-lite/data/regions/PS.js deleted file mode 100644 index 674d0e2..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/PS.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0.006476,"11":0.019428,"12":0.012952,"13":0,"14":0.006476,"15":0.006476,"16":0.006476,"17":0.006476,"18":0.006476,"19":0,"20":0,"21":0.019428,"22":0.012952,"23":0.012952,"24":0.006476,"25":0.012952,"26":0.012952,"27":0.012952,"28":0,"29":0.077712,"30":0.019428,"31":0.012952,"32":0.019428,"33":0.058284,"34":0.006476,"35":0.006476,"36":0.006476,"37":0.012952,"38":0.03238,"39":0.03238,"40":0.012952,"41":0.012952,"42":0.012952,"43":0.317324,"44":0.025904,"45":0.006476,"46":0.077712,"47":0.019428,"48":0.025904,"49":1.405292,"50":0.019428,"51":0.012952,"52":0.012952,"53":0.019428,"54":0.019428,"55":0.12952,"56":0.135996,"57":0.25904,"58":0.233136,"59":0.123044,"60":0.317324,"61":11.62442,"62":19.49276,"63":0.03238,"64":0.090664,"65":0},C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0.006476,"10":0,"11":0,"12":0.045332,"13":0,"14":0,"15":0.006476,"16":0,"17":0,"18":0,"19":0,"20":0.006476,"21":0,"22":0,"23":0,"24":0,"25":0.006476,"26":0,"27":0,"28":0,"29":0.006476,"30":0.006476,"31":0.006476,"32":0,"33":0,"34":0.006476,"35":0,"36":0.006476,"37":0.006476,"38":0.006476,"39":0.006476,"40":0.012952,"41":0.025904,"42":0.006476,"43":0.045332,"44":0.006476,"45":0.019428,"46":0.006476,"47":0.071236,"48":0.025904,"49":0.012952,"50":0.019428,"51":0.006476,"52":0.239612,"53":0.019428,"54":0.03238,"55":0.038856,"56":1.347008,"57":1.26282,"58":0.03238,"59":0,"60":0,"3.5":0,"3.6":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0.006476,"20":0,"21":0.006476,"22":0.012952,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0.03238,"37":0.006476,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0.019428,"44":0,"45":0,"46":0.006476,"47":0.006476,"48":0.395036,"49":0.284944,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.051808},E:{"4":0,"5":0,"6":0,"7":0,"8":0.006476,"9":0.012952,"10":0.038856,"11":0.252564,_:"0","3.1":0,"3.2":0,"5.1":0.006476,"6.1":0,"7.1":0,"9.1":0.045332,"10.1":0.135996},G:{"8":0.0102781708342,"3.2":0.000642385677135,"4.0-4.1":0.000642385677135,"4.2-4.3":0.0873644520904,"5.0-5.1":0.0147748705741,"6.0-6.1":0.00963578515703,"7.0-7.1":0.0411126833367,"8.1-8.4":0.0706624244849,"9.0-9.2":0.0430398403681,"9.3":0.296782182837,"10.0-10.2":0.550524525305,"10.3":1.14794320504,"11.0-11.2":4.14916908862},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.178357081384,"4.2-4.3":0.502143782975,"4.4":1.42685665108,"4.4.3-4.4.4":0.825930484565},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.157833674419,"9":0.0394584186047,"10":0.0394584186047,"11":0.611605488372,"5.5":0},B:{"12":0.045332,"13":0.116568,"14":0.213708,"15":0.38856,"16":0.051808,"17":0},P:{"4":1.08738976056,"5":0.538613619718,"6.2":1.26015261972},N:{"10":0.0110754285714,"11":0.0664525714286},J:{"7":0.0014096,"10":0.0056384},O:{"0":0.091624},H:{"0":0.373665099656},L:{"0":43.276568},R:{_:"0"},M:{"0":0.07048},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/PT.js b/publi/node_modules/caniuse-lite/data/regions/PT.js deleted file mode 100644 index 7d1f5d3..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/PT.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.007991,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0.007991,"19":0,"20":0,"21":0.007991,"22":0.023973,"23":0.007991,"24":0,"25":0,"26":0.007991,"27":0,"28":0,"29":0.063928,"30":0,"31":0.031964,"32":0.007991,"33":0.007991,"34":0.015982,"35":0.015982,"36":0.151829,"37":0.007991,"38":0.039955,"39":0.07991,"40":0.015982,"41":0.007991,"42":0.007991,"43":0.071919,"44":0.023973,"45":0.015982,"46":0.015982,"47":0.055937,"48":0.015982,"49":1.318515,"50":0.015982,"51":0.039955,"52":0.023973,"53":0.031964,"54":0.039955,"55":0.111874,"56":0.127856,"57":0.119865,"58":0.23973,"59":0.191784,"60":0.271694,"61":15.590441,"62":23.197873,"63":0.087901,"64":0.031964,"65":0},C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0.007991,"27":0,"28":0.007991,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0.007991,"35":0,"36":0,"37":0.007991,"38":0.015982,"39":0,"40":0.007991,"41":0.007991,"42":0,"43":0.015982,"44":0.007991,"45":0.039955,"46":0.015982,"47":0.039955,"48":0.175802,"49":0.015982,"50":0.023973,"51":0.039955,"52":0.487451,"53":0.055937,"54":0.063928,"55":0.07991,"56":3.020598,"57":2.597075,"58":0.031964,"59":0,"60":0,"3.5":0,"3.6":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0.023973,"37":0,"38":0.015982,"39":0,"40":0.007991,"41":0,"42":0,"43":0.039955,"44":0,"45":0,"46":0.007991,"47":0.007991,"48":0.607316,"49":0.447496,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.007991},E:{"4":0,"5":0.015982,"6":0,"7":0.007991,"8":0.047946,"9":0.047946,"10":0.15982,"11":2.277435,_:"0","3.1":0,"3.2":0,"5.1":0.031964,"6.1":0.015982,"7.1":0,"9.1":0.279685,"10.1":0.855037},G:{"8":0.0154777691538,"3.2":0.000967360572114,"4.0-4.1":0.000967360572114,"4.2-4.3":0.131561037808,"5.0-5.1":0.0222492931586,"6.0-6.1":0.0145104085817,"7.0-7.1":0.0619110766153,"8.1-8.4":0.106409662933,"9.0-9.2":0.0648131583317,"9.3":0.446920584317,"10.0-10.2":0.829028010302,"10.3":1.72867334237,"11.0-11.2":6.24818193529},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.0629468147802,"4.2-4.3":0.17721949392,"4.4":0.503574518241,"4.4.3-4.4.4":0.291492173059},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0.00802315694165,"7":0.0320926277666,"8":0.216625237425,"9":0.168486295775,"10":0.136393668008,"11":3.42588801408,"5.5":0},B:{"12":0.039955,"13":0.07991,"14":0.535397,"15":2.053687,"16":0.343613,"17":0},P:{"4":0.28477575,"5":0.210945,"6.2":0.55900425},N:{"10":0.0111085882353,"11":0.177737411765},J:{"7":0.004018,"10":0.016072},O:{"0":0.210945},H:{"0":0.112217493127},L:{"0":24.605466},R:{_:"0"},M:{"0":0.116522},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/PW.js b/publi/node_modules/caniuse-lite/data/regions/PW.js deleted file mode 100644 index 6948a21..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/PW.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0.014586,"20":0,"21":0.004862,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0.004862,"33":0.04862,"34":0,"35":0,"36":0.034034,"37":0,"38":0,"39":0,"40":0.014586,"41":0.004862,"42":0,"43":0,"44":0,"45":0.019448,"46":0.009724,"47":0.004862,"48":0,"49":0.12155,"50":0.009724,"51":0.175032,"52":0,"53":0.014586,"54":0,"55":0.009724,"56":0.019448,"57":0.053482,"58":0.019448,"59":0.04862,"60":0.082654,"61":6.422702,"62":5.066204,"63":0.004862,"64":0.009724,"65":0},C:{"2":0,"3":0,"4":0,"5":0,"6":0.014586,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0.07293,"13":0,"14":0,"15":0.014586,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0.019448,"34":0,"35":0.160446,"36":0.014586,"37":0,"38":0.034034,"39":0.004862,"40":0.004862,"41":0,"42":0,"43":0.223652,"44":0.02431,"45":0,"46":0,"47":1.2155,"48":0.058344,"49":0.014586,"50":0,"51":0,"52":0.058344,"53":0,"54":0.009724,"55":0.014586,"56":4.370938,"57":0.666094,"58":0.063206,"59":0,"60":0,"3.5":0,"3.6":0.004862},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0.038896,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0.02431,"49":0.004862,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.014586},E:{"4":0,"5":0,"6":0,"7":0,"8":0.034034,"9":0,"10":0.014586,"11":0.131274,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0.04862,"10.1":0.63206},G:{"8":0.0200993702741,"3.2":0.00125621064213,"4.0-4.1":0.00125621064213,"4.2-4.3":0.170844647329,"5.0-5.1":0.028892844769,"6.0-6.1":0.0188431596319,"7.0-7.1":0.0803974810962,"8.1-8.4":0.138183170634,"9.0-9.2":0.0841661130226,"9.3":0.580369316663,"10.0-10.2":1.0765725203,"10.3":2.24484841748,"11.0-11.2":8.11386453751},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.131700458372,"4.2-4.3":0.370787444341,"4.4":1.05360366698,"4.4.3-4.4.4":0.609874430309},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.140998,"9":0.09724,"10":0.082654,"11":1.473186,"5.5":0},B:{"12":0.014586,"13":0.053482,"14":0.092378,"15":0.14586,"16":0.009724,"17":0},P:{"4":0.770869384615,"5":0.645863538462,"6.2":0.479189076923},N:{"10":0.0089915,"11":0.0269745},J:{"7":0,"10":0},O:{"0":2.589552},H:{"0":1.35714708247},L:{"0":53.626164},R:{_:"0"},M:{"0":0.107898},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/PY.js b/publi/node_modules/caniuse-lite/data/regions/PY.js deleted file mode 100644 index 2979542..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/PY.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.00472,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0.00236,"19":0,"20":0,"21":0,"22":0.00236,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0.00472,"32":0,"33":0,"34":0,"35":0,"36":0.00236,"37":0,"38":0.00236,"39":0,"40":0.00236,"41":0.00708,"42":0,"43":0.00236,"44":0.00236,"45":0,"46":0.00236,"47":0.00236,"48":0.00236,"49":0.11092,"50":0.00236,"51":0.00236,"52":0.00472,"53":0.00472,"54":0.00472,"55":0.00472,"56":0.01888,"57":0.00944,"58":0.0236,"59":0.02124,"60":0.0472,"61":1.64492,"62":2.35056,"63":0.00944,"64":0.00236,"65":0},C:{"2":0,"3":0.00236,"4":0.00236,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0.00236,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0.00236,"23":0,"24":0.00236,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0.00236,"33":0,"34":0.00236,"35":0.00236,"36":0,"37":0,"38":0.00708,"39":0.00236,"40":0.00236,"41":0.00236,"42":0,"43":0.00944,"44":0.00236,"45":0.0118,"46":0.00236,"47":0.00944,"48":0.00708,"49":0.00472,"50":0.00236,"51":0.00472,"52":0.0472,"53":0.00708,"54":0.00708,"55":0.0118,"56":0.295,"57":0.22656,"58":0.00236,"59":0,"60":0,"3.5":0,"3.6":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0.00708,"18":0,"19":0,"20":0.00472,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0.00236,"29":0.00944,"30":0.00472,"31":0.00472,"32":0,"33":0.00236,"34":0,"35":0,"36":0.00236,"37":0.00472,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0.02124,"44":0,"45":0,"46":0,"47":0.00236,"48":0.03304,"49":0.0236,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.00236},E:{"4":0,"5":0,"6":0,"7":0,"8":0.00236,"9":0.00236,"10":0.00708,"11":0.05664,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0.0118,"10.1":0.03068},G:{"8":0.00745115423085,"3.2":0.000465697139428,"4.0-4.1":0.000465697139428,"4.2-4.3":0.0633348109622,"5.0-5.1":0.0107110342068,"6.0-6.1":0.00698545709142,"7.0-7.1":0.0298046169234,"8.1-8.4":0.0512266853371,"9.0-9.2":0.0312017083417,"9.3":0.215152078416,"10.0-10.2":0.39910244849,"10.3":0.832200788158,"11.0-11.2":3.00793782356},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.262385968195,"4.2-4.3":0.738717418148,"4.4":2.09908774556,"4.4.3-4.4.4":1.2150488681},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.03304,"9":0.00944,"10":0.00472,"11":0.0944,"5.5":0},B:{"12":0.00472,"13":0.00708,"14":0.01888,"15":0.05428,"16":0.00472,"17":0},P:{"4":3.21563578947,"5":1.12900065336,"6.2":1.20964355717},N:{"10":0.0870183050847,"11":0.554741694915},J:{"7":0.004584,"10":0.018336},O:{"0":0.48896},H:{"0":2.43754068729},L:{"0":73.79344},R:{_:"0"},M:{"0":0.12224},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/QA.js b/publi/node_modules/caniuse-lite/data/regions/QA.js deleted file mode 100644 index 66a016f..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/QA.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0.00468,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0.00468,"22":0.01872,"23":0,"24":0.00468,"25":0,"26":0,"27":0,"28":0,"29":0.00468,"30":0.00468,"31":0.00468,"32":0.00936,"33":0.00468,"34":0.00936,"35":0.00468,"36":0.00936,"37":0,"38":0.01872,"39":0.00468,"40":0.00468,"41":0.00468,"42":0,"43":0.0234,"44":0.00936,"45":0.00468,"46":0.00468,"47":0.02808,"48":0.00468,"49":0.17784,"50":0.00468,"51":0.00468,"52":0.00468,"53":0.00468,"54":0.01404,"55":0.02808,"56":0.02808,"57":0.08424,"58":0.11232,"59":0.06084,"60":0.08424,"61":3.83292,"62":5.74236,"63":0.02808,"64":0.0468,"65":0},C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0.00468,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0.11232,"34":0,"35":0,"36":0,"37":0,"38":0.01404,"39":0.00468,"40":0,"41":0,"42":0.00936,"43":0.00468,"44":0,"45":0.01404,"46":0,"47":0.01872,"48":0.01872,"49":0.0234,"50":0.0234,"51":0.00936,"52":0.15444,"53":0.01872,"54":0.0234,"55":0.03276,"56":0.58032,"57":6.31332,"58":0.14976,"59":0,"60":0,"3.5":0,"3.6":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0.00468,"29":0.00468,"30":0.01404,"31":0.00936,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0.01872,"38":0,"39":0.00468,"40":0,"41":0,"42":0,"43":0.21528,"44":0.0702,"45":0,"46":0.00468,"47":0,"48":0.15444,"49":0.10764,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.00468},E:{"4":0,"5":0.00468,"6":0,"7":0.01404,"8":0.01872,"9":0.01872,"10":0.0936,"11":0.45864,_:"0","3.1":0,"3.2":0,"5.1":0.00936,"6.1":0.00936,"7.1":0,"9.1":0.10296,"10.1":0.21528},G:{"8":0.0243570634127,"3.2":0.00152231646329,"4.0-4.1":0.00152231646329,"4.2-4.3":0.207035039008,"5.0-5.1":0.0350132786557,"6.0-6.1":0.0228347469494,"7.0-7.1":0.0974282536507,"8.1-8.4":0.167454810962,"9.0-9.2":0.101995203041,"9.3":0.703310206041,"10.0-10.2":1.30462520904,"10.3":2.7203795199,"11.0-11.2":9.83264203641},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.068064546305,"4.2-4.3":0.19162787652,"4.4":0.54451637044,"4.4.3-4.4.4":0.315191206735},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.018793125,"9":0.056379375,"10":0.0469828125,"11":1.07590640625,"5.5":0},B:{"12":0.01404,"13":0.02808,"14":0.1872,"15":0.54288,"16":0.06552,"17":0},P:{"4":0.837115081967,"5":0.475398688525,"6.2":1.20916622951},N:{"10":0.0331476923077,"11":0.110492307692},J:{"7":0.007448,"10":0.029792},O:{"0":19.6042},H:{"0":1.43040357388},L:{"0":27.26232},R:{_:"0"},M:{"0":0.11172},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/RE.js b/publi/node_modules/caniuse-lite/data/regions/RE.js deleted file mode 100644 index f1181d2..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/RE.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.013696,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0.006848,"24":0,"25":0.013696,"26":0,"27":0,"28":0.013696,"29":0.006848,"30":0.006848,"31":0.013696,"32":0.027392,"33":0,"34":0.006848,"35":0.006848,"36":0.027392,"37":0,"38":0.006848,"39":0.013696,"40":0.006848,"41":0.006848,"42":0,"43":0.013696,"44":0.061632,"45":0.006848,"46":0.006848,"47":0.03424,"48":0.027392,"49":0.623168,"50":0.03424,"51":0.03424,"52":0.027392,"53":0.075328,"54":0.390336,"55":0.10272,"56":0.116416,"57":0.13696,"58":0.061632,"59":0.184896,"60":0.1712,"61":8.060096,"62":11.319744,"63":0.047936,"64":0.020544,"65":0},C:{"2":0,"3":0,"4":0.006848,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.006848,"12":0.006848,"13":0.006848,"14":0.006848,"15":0.006848,"16":0.013696,"17":0,"18":0,"19":0,"20":0.006848,"21":0,"22":0,"23":0.041088,"24":0.013696,"25":0.013696,"26":0.006848,"27":0,"28":0.013696,"29":0,"30":0.006848,"31":0.027392,"32":0.095872,"33":0,"34":0.013696,"35":0.054784,"36":0.006848,"37":0.006848,"38":0.020544,"39":0.006848,"40":0.020544,"41":0.184896,"42":0.047936,"43":0.027392,"44":0.075328,"45":0.116416,"46":0.027392,"47":0.082176,"48":0.917632,"49":0.260224,"50":0.082176,"51":0.095872,"52":0.451968,"53":0.075328,"54":0.06848,"55":0.287616,"56":4.136192,"57":3.259648,"58":0.013696,"59":0,"60":0,"3.5":0,"3.6":0.047936},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0.006848,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0.020544,"44":0.013696,"45":0,"46":0.013696,"47":0,"48":0.397184,"49":0.253376,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.013696},E:{"4":0.006848,"5":0.013696,"6":0.006848,"7":0.006848,"8":0.13696,"9":0.089024,"10":0.27392,"11":2.855616,_:"0","3.1":0,"3.2":0,"5.1":0.061632,"6.1":0.027392,"7.1":0.013696,"9.1":0.369792,"10.1":1.205248},G:{"8":0.0228410994199,"3.2":0.00142756871374,"4.0-4.1":0.00142756871374,"4.2-4.3":0.194149345069,"5.0-5.1":0.0328340804161,"6.0-6.1":0.0214135307061,"7.0-7.1":0.0913643976795,"8.1-8.4":0.157032558512,"9.0-9.2":0.0956471038208,"9.3":0.659536745749,"10.0-10.2":1.22342638768,"10.3":2.55106529146,"11.0-11.2":9.22066632206},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.0990052759588,"4.2-4.3":0.278737930776,"4.4":0.792042207671,"4.4.3-4.4.4":0.458470585594},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0.006848,"8":0.130112,"9":0.020544,"10":0.061632,"11":1.424384,"5.5":0},B:{"12":0.041088,"13":0.082176,"14":0.636864,"15":1.499712,"16":0.191744,"17":0},P:{"4":0.876491663551,"5":0.703357507788,"6.2":1.89365482866},N:{"10":0.0224142222222,"11":0.0784497777778},J:{"7":0.0006304,"10":0.0025216},O:{"0":0.050432},H:{"0":0.0925074089347},L:{"0":34.669504},R:{_:"0"},M:{"0":0.160752},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/RO.js b/publi/node_modules/caniuse-lite/data/regions/RO.js deleted file mode 100644 index 99b283e..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/RO.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.006191,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0.006191,"19":0,"20":0,"21":0,"22":0.012382,"23":0,"24":0,"25":0,"26":0.006191,"27":0,"28":0.006191,"29":0.068101,"30":0.012382,"31":0.012382,"32":0.006191,"33":0.006191,"34":0.030955,"35":0.006191,"36":0.006191,"37":0.006191,"38":0.018573,"39":0.018573,"40":0.018573,"41":0.024764,"42":0.006191,"43":0.049528,"44":0.006191,"45":0.006191,"46":0.024764,"47":0.105247,"48":0.030955,"49":1.386784,"50":0.018573,"51":0.222876,"52":0.012382,"53":0.030955,"54":0.037146,"55":0.068101,"56":0.105247,"57":0.092865,"58":0.18573,"59":0.160966,"60":0.284786,"61":8.624063,"62":12.970145,"63":0.049528,"64":0.030955,"65":0},C:{"2":0,"3":0.006191,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0.006191,"11":0,"12":0.006191,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0.006191,"24":0,"25":0,"26":0,"27":0,"28":0.006191,"29":0.006191,"30":0,"31":0.006191,"32":0.018573,"33":0.006191,"34":0.006191,"35":0.006191,"36":0.006191,"37":0.006191,"38":0.012382,"39":0.006191,"40":0.006191,"41":0.006191,"42":0.006191,"43":0.024764,"44":0.006191,"45":0.024764,"46":0.012382,"47":0.160966,"48":0.074292,"49":0.024764,"50":0.030955,"51":0.037146,"52":0.705774,"53":0.043337,"54":0.068101,"55":0.117629,"56":2.550692,"57":2.067794,"58":0.030955,"59":0,"60":0,"3.5":0,"3.6":0.006191},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0.006191,"32":0.006191,"33":0,"34":0,"35":0,"36":0.080483,"37":0.006191,"38":0,"39":0,"40":0,"41":0,"42":0.006191,"43":0.055719,"44":0.006191,"45":0.012382,"46":0.012382,"47":0.012382,"48":1.027706,"49":0.637673,"50":0.006191,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.024764},E:{"4":0.006191,"5":0,"6":0,"7":0.074292,"8":0.006191,"9":0.024764,"10":0.030955,"11":0.377651,_:"0","3.1":0,"3.2":0,"5.1":0.006191,"6.1":0,"7.1":0.006191,"9.1":0.099056,"10.1":0.117629},G:{"8":0.0166296779356,"3.2":0.00103935487097,"4.0-4.1":0.00103935487097,"4.2-4.3":0.141352262452,"5.0-5.1":0.0239051620324,"6.0-6.1":0.0155903230646,"7.0-7.1":0.0665187117423,"8.1-8.4":0.114329035807,"9.0-9.2":0.0696367763553,"9.3":0.48018195039,"10.0-10.2":0.890727124425,"10.3":1.85732715443,"11.0-11.2":6.71319311162},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.121083690365,"4.2-4.3":0.340897159027,"4.4":0.968669522919,"4.4.3-4.4.4":0.560710627689},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0.00632114114114,"7":0.0126422822823,"8":0.316057057057,"9":0.101138258258,"10":0.145386246246,"11":1.52339501502,"5.5":0},B:{"12":0.030955,"13":0.043337,"14":0.173348,"15":0.668628,"16":0.117629,"17":0},P:{"4":0.992985772455,"5":0.80680094012,"6.2":1.65497628743},N:{"10":0.0658412857143,"11":0.395047714286},J:{"7":0.007618,"10":0.030472},O:{"0":0.201877},H:{"0":0.360611512027},L:{"0":42.640676},R:{_:"0"},M:{"0":0.26663},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/RS.js b/publi/node_modules/caniuse-lite/data/regions/RS.js deleted file mode 100644 index 47745d5..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/RS.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.006692,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0.006692,"19":0,"20":0,"21":0,"22":0.020076,"23":0,"24":0,"25":0,"26":0.013384,"27":0,"28":0,"29":0.013384,"30":0.006692,"31":0.020076,"32":0,"33":0.013384,"34":0.040152,"35":0.013384,"36":0.013384,"37":0.006692,"38":0.026768,"39":0.013384,"40":0.006692,"41":0,"42":0.006692,"43":0.03346,"44":0.013384,"45":0.006692,"46":0.020076,"47":0.046844,"48":0.020076,"49":1.933988,"50":0.03346,"51":0.013384,"52":0.013384,"53":0.026768,"54":0.026768,"55":0.053536,"56":0.086996,"57":0.10038,"58":0.214144,"59":0.1673,"60":0.247604,"61":9.730168,"62":14.829472,"63":0.086996,"64":0.060228,"65":0},C:{"2":0,"3":0.006692,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0.006692,"11":0,"12":0.006692,"13":0,"14":0,"15":0,"16":0.006692,"17":0,"18":0,"19":0,"20":0.006692,"21":0,"22":0,"23":0,"24":0.006692,"25":0,"26":0.006692,"27":0.006692,"28":0.006692,"29":0,"30":0.006692,"31":0.006692,"32":0.006692,"33":0.020076,"34":0.013384,"35":0.013384,"36":0.006692,"37":0.006692,"38":0.020076,"39":0.013384,"40":0.020076,"41":0.020076,"42":0.020076,"43":0.053536,"44":0.013384,"45":0.040152,"46":0.013384,"47":0.073612,"48":0.13384,"49":0.093688,"50":0.06692,"51":0.06692,"52":1.084104,"53":0.06692,"54":0.073612,"55":0.093688,"56":3.560144,"57":3.031476,"58":0.06692,"59":0,"60":0,"3.5":0.006692,"3.6":0.013384},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0.013384,"31":0.013384,"32":0,"33":0,"34":0,"35":0.006692,"36":0.140532,"37":0.006692,"38":0.006692,"39":0,"40":0.006692,"41":0.006692,"42":0.013384,"43":0.086996,"44":0.006692,"45":0.013384,"46":0.013384,"47":0.013384,"48":1.318324,"49":0.896728,"50":0.006692,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0.006692,"12.1":0.060228},E:{"4":0,"5":0,"6":0,"7":0.03346,"8":0.006692,"9":0.006692,"10":0.020076,"11":0.307832,_:"0","3.1":0,"3.2":0,"5.1":0.006692,"6.1":0,"7.1":0,"9.1":0.03346,"10.1":0.080304},G:{"8":0.00830208281656,"3.2":0.000518880176035,"4.0-4.1":0.000518880176035,"4.2-4.3":0.0705677039408,"5.0-5.1":0.0119342440488,"6.0-6.1":0.00778320264053,"7.0-7.1":0.0332083312663,"8.1-8.4":0.0570768193639,"9.0-9.2":0.0347649717944,"9.3":0.239722641328,"10.0-10.2":0.444680310862,"10.3":0.927238874575,"11.0-11.2":3.35144705701},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.136518971001,"4.2-4.3":0.384353410664,"4.4":1.09215176801,"4.4.3-4.4.4":0.632187850327},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0.0811816393443,"7":0.00676513661202,"8":0.419438469945,"9":0.223249508197,"10":0.0676513661202,"11":1.67775387978,"5.5":0},B:{"12":0.013384,"13":0.053536,"14":0.1673,"15":0.722736,"16":0.093688,"17":0},P:{"4":0.67545225,"5":0.399130875,"6.2":0.890368875},N:{"10":0.0740992,"11":0.4551808},J:{"7":0.0052928,"10":0.0211712},O:{"0":0.105856},H:{"0":0.757895766323},L:{"0":42.325856},R:{_:"0"},M:{"0":0.158784},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/RU.js b/publi/node_modules/caniuse-lite/data/regions/RU.js deleted file mode 100644 index dd220b1..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/RU.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0.008063,"5":0.008063,"6":0,"7":0,"8":0,"9":0,"10":0.008063,"11":0.024189,"12":0.008063,"13":0.008063,"14":0.008063,"15":0.008063,"16":0.008063,"17":0.016126,"18":0.040315,"19":0.008063,"20":0.008063,"21":0.024189,"22":0.024189,"23":0.008063,"24":0.016126,"25":0.008063,"26":0.016126,"27":0.016126,"28":0.032252,"29":0.112882,"30":0.016126,"31":0.072567,"32":0.016126,"33":0.016126,"34":0.016126,"35":0.016126,"36":0.016126,"37":0.008063,"38":0.024189,"39":0.064504,"40":0.040315,"41":0.048378,"42":0.016126,"43":0.072567,"44":0.040315,"45":0.056441,"46":0.040315,"47":0.096756,"48":0.104819,"49":1.402962,"50":0.056441,"51":0.249953,"52":0.072567,"53":0.056441,"54":0.072567,"55":0.16126,"56":0.330583,"57":0.137071,"58":0.411213,"59":0.40315,"60":0.56441,"61":11.538153,"62":17.432206,"63":0.056441,"64":0.096756,"65":0},C:{"2":0.008063,"3":0.016126,"4":0.008063,"5":0,"6":0,"7":0,"8":0.016126,"9":0,"10":0.008063,"11":0.008063,"12":0.024189,"13":0.008063,"14":0.008063,"15":0.016126,"16":0.008063,"17":0.008063,"18":0,"19":0.008063,"20":0.008063,"21":0.016126,"22":0.008063,"23":0.008063,"24":0.016126,"25":0.032252,"26":0.008063,"27":0.008063,"28":0.008063,"29":0.008063,"30":0.008063,"31":0.032252,"32":0.008063,"33":0.072567,"34":0.008063,"35":0.016126,"36":0.016126,"37":0.008063,"38":0.032252,"39":0.056441,"40":0.016126,"41":0.040315,"42":0.016126,"43":0.048378,"44":0.016126,"45":0.282205,"46":0.024189,"47":0.072567,"48":0.169323,"49":0.032252,"50":0.064504,"51":0.056441,"52":0.830489,"53":0.088693,"54":0.129008,"55":0.185449,"56":2.467278,"57":2.007687,"58":0.024189,"59":0,"60":0,"3.5":0.016126,"3.6":0.072567},F:{"9":0,"11":0.008063,"12":0.032252,"15":0,"16":0,"17":0,"18":0.024189,"19":0.008063,"20":0.016126,"21":0.008063,"22":0.008063,"23":0,"24":0.008063,"25":0.008063,"26":0.008063,"27":0.016126,"28":0.016126,"29":0.008063,"30":0.024189,"31":0.032252,"32":0.008063,"33":0.016126,"34":0.016126,"35":0.024189,"36":0.258016,"37":0.040315,"38":0.024189,"39":0.016126,"40":0.008063,"41":0.008063,"42":0.032252,"43":0.16126,"44":0.024189,"45":0.048378,"46":0.048378,"47":0.056441,"48":2.757546,"49":1.669041,"50":0.016126,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0.008063,"11.1":0,"11.5":0.008063,"11.6":0.024189,"12.1":0.24189},E:{"4":0.016126,"5":0.016126,"6":0.008063,"7":0.056441,"8":0.024189,"9":0.032252,"10":0.096756,"11":1.330395,_:"0","3.1":0,"3.2":0,"5.1":0.024189,"6.1":0.016126,"7.1":0,"9.1":0.153197,"10.1":0.378961},G:{"8":0.0169214834967,"3.2":0.00105759271854,"4.0-4.1":0.00105759271854,"4.2-4.3":0.143832609722,"5.0-5.1":0.0243246325265,"6.0-6.1":0.0158638907782,"7.0-7.1":0.0676859339868,"8.1-8.4":0.11633519904,"9.0-9.2":0.0708587121424,"9.3":0.488607835967,"10.0-10.2":0.906356959792,"10.3":1.88991818804,"11.0-11.2":6.83099136907},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.0853598362956,"4.2-4.3":0.240320769878,"4.4":0.682878690365,"4.4.3-4.4.4":0.395281703461},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0.0336403311258,"7":0.0252302483444,"8":0.319583145695,"9":0.11774115894,"10":0.201841986755,"11":1.84180812914,"5.5":0},B:{"12":0.024189,"13":0.064504,"14":0.282205,"15":0.903056,"16":0.120945,"17":0},P:{"4":0.329248344086,"5":0.226358236559,"6.2":0.401271419355},N:{"10":0.0352078235294,"11":0.164303176471},J:{"7":0.0027118,"10":0.0108472},O:{"0":0.668265},H:{"0":0.528142020619},L:{"0":18.377243},R:{_:"0"},M:{"0":0.087165},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/RW.js b/publi/node_modules/caniuse-lite/data/regions/RW.js deleted file mode 100644 index 38d7d31..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/RW.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.006138,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0.003069,"21":0,"22":0.003069,"23":0.018414,"24":0,"25":0.003069,"26":0.003069,"27":0,"28":0.006138,"29":0.006138,"30":0,"31":0.003069,"32":0.003069,"33":0.006138,"34":0.006138,"35":0,"36":0.018414,"37":0,"38":0.003069,"39":0.003069,"40":0.006138,"41":0.003069,"42":0,"43":0.125829,"44":0,"45":0.003069,"46":0.003069,"47":0.003069,"48":0.003069,"49":0.052173,"50":0.003069,"51":0.015345,"52":0.003069,"53":0.003069,"54":0.003069,"55":0.058311,"56":0.015345,"57":0.104346,"58":0.039897,"59":0.033759,"60":0.055242,"61":1.936539,"62":2.507373,"63":0.018414,"64":0.015345,"65":0},C:{"2":0,"3":0.006138,"4":0.003069,"5":0.006138,"6":0.003069,"7":0,"8":0.003069,"9":0.003069,"10":0.003069,"11":0.006138,"12":0.006138,"13":0.015345,"14":0.018414,"15":0,"16":0.003069,"17":0.003069,"18":0.006138,"19":0.003069,"20":0.009207,"21":0.006138,"22":0.003069,"23":0.003069,"24":0.003069,"25":0.006138,"26":0.003069,"27":0.003069,"28":0.009207,"29":0.006138,"30":0.006138,"31":0.015345,"32":0.003069,"33":0.003069,"34":0.009207,"35":0.012276,"36":0.012276,"37":0.012276,"38":0.003069,"39":0.006138,"40":0.021483,"41":0.012276,"42":0.003069,"43":0.042966,"44":0.015345,"45":0.015345,"46":0.006138,"47":0.073656,"48":0.039897,"49":0.012276,"50":0.015345,"51":0.006138,"52":0.070587,"53":0.015345,"54":0.021483,"55":0.06138,"56":1.006632,"57":0.883872,"58":0.064449,"59":0,"60":0,"3.5":0,"3.6":0.003069},F:{"9":0,"11":0.006138,"12":0.003069,"15":0.003069,"16":0.006138,"17":0.003069,"18":0.046035,"19":0.021483,"20":0.110484,"21":0.015345,"22":0.009207,"23":0.06138,"24":0.015345,"25":0.003069,"26":0.003069,"27":0.009207,"28":0.018414,"29":0.027621,"30":0.03069,"31":0.049104,"32":0,"33":0,"34":0.003069,"35":0.015345,"36":0,"37":0.03069,"38":0,"39":0,"40":0.003069,"41":0,"42":0.006138,"43":0.079794,"44":0.009207,"45":0.003069,"46":0.006138,"47":0.003069,"48":0.254727,"49":0.144243,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0.003069,"12.1":0.190278},E:{"4":0,"5":0.009207,"6":0,"7":0,"8":0.021483,"9":0.021483,"10":0.018414,"11":0.116622,_:"0","3.1":0,"3.2":0,"5.1":0.006138,"6.1":0,"7.1":0,"9.1":0.012276,"10.1":0.138105},G:{"8":0.00285127265453,"3.2":0.000178204540908,"4.0-4.1":0.000178204540908,"4.2-4.3":0.0242358175635,"5.0-5.1":0.00409870444089,"6.0-6.1":0.00267306811362,"7.0-7.1":0.0114050906181,"8.1-8.4":0.0196024994999,"9.0-9.2":0.0119397042408,"9.3":0.0823304978996,"10.0-10.2":0.152721291558,"10.3":0.318451514603,"11.0-11.2":1.15102312973},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.178983124415,"4.2-4.3":0.503906334892,"4.4":1.43186499532,"4.4.3-4.4.4":0.82882954537},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0.00321654807692,"8":0.0675475096154,"9":0.00964964423077,"10":0.0225158365385,"11":0.231591461538,"5.5":0},B:{"12":0.049104,"13":0.09207,"14":0.073656,"15":0.116622,"16":0.012276,"17":0},P:{"4":0.64624644,"5":0.42057308,"6.2":0.21541548},N:{"10":0.175287225806,"11":0.503950774194},J:{"7":0.0291102,"10":0.1164408},O:{"0":9.925192},H:{"0":34.5283127526},L:{"0":21.2917},R:{_:"0"},M:{"0":0.360412},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/SA.js b/publi/node_modules/caniuse-lite/data/regions/SA.js deleted file mode 100644 index 8a683d2..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/SA.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.003712,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0.003712,"23":0,"24":0,"25":0,"26":0.003712,"27":0.003712,"28":0.003712,"29":0.022272,"30":0.003712,"31":0.003712,"32":0.003712,"33":0.01856,"34":0.003712,"35":0.003712,"36":0.003712,"37":0.003712,"38":0.011136,"39":0.007424,"40":0.003712,"41":0,"42":0.003712,"43":0.081664,"44":0.003712,"45":0.003712,"46":0.007424,"47":0.003712,"48":0.003712,"49":0.200448,"50":0.003712,"51":0.003712,"52":0.003712,"53":0.007424,"54":0.007424,"55":0.03712,"56":0.03712,"57":0.063104,"58":0.059392,"59":0.05568,"60":0.089088,"61":3.437312,"62":4.93696,"63":0.025984,"64":0.048256,"65":0},C:{"2":0,"3":0.003712,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0.003712,"26":0,"27":0,"28":0,"29":0.007424,"30":0,"31":0,"32":0.01856,"33":0,"34":0,"35":0.003712,"36":0,"37":0,"38":0,"39":0,"40":0.003712,"41":0.007424,"42":0.003712,"43":0.007424,"44":0.003712,"45":0.003712,"46":0.003712,"47":0.029696,"48":0.029696,"49":0.003712,"50":0.011136,"51":0.007424,"52":0.05568,"53":0.011136,"54":0.022272,"55":0.022272,"56":0.571648,"57":1.198976,"58":0.063104,"59":0,"60":0,"3.5":0,"3.6":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0.003712,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0.003712,"38":0,"39":0,"40":0.007424,"41":0,"42":0.003712,"43":0.022272,"44":0.003712,"45":0.003712,"46":0.007424,"47":0.011136,"48":0.022272,"49":0.007424,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},E:{"4":0,"5":0.003712,"6":0,"7":0,"8":0.022272,"9":0.011136,"10":0.059392,"11":0.367488,_:"0","3.1":0,"3.2":0,"5.1":0.03712,"6.1":0.003712,"7.1":0,"9.1":0.059392,"10.1":0.174464},G:{"8":0.0385652042408,"3.2":0.00241032526505,"4.0-4.1":0.00241032526505,"4.2-4.3":0.327804236047,"5.0-5.1":0.0554374810962,"6.0-6.1":0.0361548789758,"7.0-7.1":0.154260816963,"8.1-8.4":0.265135779156,"9.0-9.2":0.161491792759,"9.3":1.11357027245,"10.0-10.2":2.06564875215,"10.3":4.30725124865,"11.0-11.2":15.568290887},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.108430458372,"4.2-4.3":0.305273444341,"4.4":0.867443666978,"4.4.3-4.4.4":0.502116430309},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.0335725714286,"9":0.0335725714286,"10":0.0298422857143,"11":0.660260571429,"5.5":0},B:{"12":0.011136,"13":0.022272,"14":0.096512,"15":0.326656,"16":0.040832,"17":0},P:{"4":1.1390152638,"5":0.790127705521,"6.2":1.41607303067},N:{"10":0,"11":0.03144},J:{"7":0.0100608,"10":0.0402432},O:{"0":17.474352},H:{"0":0.351231257732},L:{"0":31.098512},R:{_:"0"},M:{"0":0.081744},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/SB.js b/publi/node_modules/caniuse-lite/data/regions/SB.js deleted file mode 100644 index 24598f7..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/SB.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0.0045,"9":0,"10":0,"11":0.0045,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0.009,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0.0045,"39":0,"40":0,"41":0,"42":0,"43":0.0225,"44":0,"45":0,"46":0,"47":0,"48":0.0135,"49":0.036,"50":0,"51":0,"52":0.0225,"53":0,"54":0.081,"55":0.0045,"56":0.117,"57":0.0045,"58":0.009,"59":0.0045,"60":0.009,"61":1.737,"62":2.0925,"63":0.0045,"64":0.0045,"65":0},C:{"2":0,"3":0.018,"4":0.0045,"5":0,"6":0,"7":0,"8":0.009,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0.009,"28":0,"29":0,"30":0.0045,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0.0585,"40":0,"41":0,"42":0.0045,"43":0.0135,"44":0.009,"45":0.0045,"46":0,"47":0.0225,"48":0.0045,"49":0.0045,"50":0.2205,"51":0,"52":0.027,"53":0.018,"54":0.009,"55":0.018,"56":0.513,"57":0.27,"58":0.0405,"59":0,"60":0,"3.5":0,"3.6":0},F:{"9":0,"11":0,"12":0.0045,"15":0,"16":0,"17":0.018,"18":0,"19":0.1035,"20":0,"21":0,"22":0.0045,"23":0,"24":0,"25":0,"26":0,"27":0.009,"28":0.0045,"29":0.0135,"30":0.045,"31":0,"32":0,"33":0.0135,"34":0,"35":0,"36":0,"37":0.324,"38":0.0135,"39":0,"40":0,"41":0,"42":0.0045,"43":0.009,"44":0,"45":0,"46":0,"47":0,"48":0.0585,"49":0.018,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.045},E:{"4":0,"5":0,"6":0,"7":0,"8":0.0135,"9":0.0135,"10":0.0045,"11":0.027,_:"0","3.1":0,"3.2":0,"5.1":0.009,"6.1":0.0045,"7.1":0,"9.1":0.009,"10.1":0.009},G:{"8":0.00400880176035,"3.2":0.000250550110022,"4.0-4.1":0.000250550110022,"4.2-4.3":0.034074814963,"5.0-5.1":0.00576265253051,"6.0-6.1":0.00375825165033,"7.0-7.1":0.0160352070414,"8.1-8.4":0.0275605121024,"9.0-9.2":0.0167868573715,"9.3":0.11575415083,"10.0-10.2":0.214721444289,"10.3":0.447733046609,"11.0-11.2":1.61830316063},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.297455565949,"4.2-4.3":0.837451824135,"4.4":2.3796445276,"4.4.3-4.4.4":1.37744808232},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.054,"9":0.009,"10":0.0315,"11":12.816,"5.5":0},B:{"12":0.009,"13":0.045,"14":0.0495,"15":0.207,"16":0,"17":0},P:{"4":3.08862247839,"5":0.355597982709,"6.2":0.0812795389049},N:{"10":0.133673913043,"11":0.812326086957},J:{"7":0.0022,"10":0.0088},O:{"0":14.4815},H:{"0":8.36772079038},L:{"0":31.7745},R:{_:"0"},M:{"0":0.088},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/SC.js b/publi/node_modules/caniuse-lite/data/regions/SC.js deleted file mode 100644 index cde9165..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/SC.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0.07821,"13":0,"14":0,"15":0,"16":0,"17":0.00711,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0.01422,"30":0.00711,"31":0.01422,"32":0.00711,"33":0,"34":0.00711,"35":0,"36":0.09243,"37":0,"38":0.00711,"39":0.00711,"40":0.02844,"41":0.01422,"42":0,"43":0.02844,"44":0,"45":0.02133,"46":0.02133,"47":0.00711,"48":0.01422,"49":0.711,"50":0.01422,"51":0.22041,"52":0.01422,"53":0.10665,"54":0.00711,"55":0.05688,"56":0.29862,"57":0.03555,"58":0.49059,"59":0.23463,"60":0.31284,"61":3.22083,"62":4.75659,"63":0.00711,"64":0.02133,"65":0},C:{"2":0,"3":0.01422,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0.00711,"11":0,"12":0,"13":0.04977,"14":0,"15":0.01422,"16":0.00711,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0.02844,"25":0,"26":0,"27":0,"28":0.00711,"29":0.06399,"30":0,"31":0.00711,"32":0.00711,"33":0,"34":0.00711,"35":0.02133,"36":0.1422,"37":0.00711,"38":0.39816,"39":0.03555,"40":0,"41":0.00711,"42":0.04266,"43":0.01422,"44":0.01422,"45":0.18486,"46":0.02844,"47":0.0711,"48":0.02844,"49":0.08532,"50":0.04977,"51":0.11376,"52":2.38185,"53":0.09243,"54":0.31284,"55":0.04266,"56":27.35217,"57":5.89419,"58":0.08532,"59":0,"60":0,"3.5":0,"3.6":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0.00711,"29":0,"30":0,"31":0.0711,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0.00711,"38":0.00711,"39":0.00711,"40":0,"41":0,"42":0,"43":0.04266,"44":0,"45":0,"46":0.02844,"47":0.05688,"48":0.23463,"49":0.05688,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.01422},E:{"4":0.01422,"5":0,"6":0,"7":0,"8":0.06399,"9":0.02133,"10":0.02844,"11":0.3555,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0.03555,"10.1":0.09243},G:{"8":0.0121531026205,"3.2":0.000759568913783,"4.0-4.1":0.000759568913783,"4.2-4.3":0.103301372274,"5.0-5.1":0.017470085017,"6.0-6.1":0.0113935337067,"7.0-7.1":0.0486124104821,"8.1-8.4":0.0835525805161,"9.0-9.2":0.0508911172234,"9.3":0.350920838168,"10.0-10.2":0.650950559112,"10.3":1.35734964893,"11.0-11.2":4.90605561412},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.063056080449,"4.2-4.3":0.177527118803,"4.4":0.504448643592,"4.4.3-4.4.4":0.291998157156},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0.00767237288136,"7":0,"8":0.253188305085,"9":0.0843961016949,"10":0.153447457627,"11":0.859305762712,"5.5":0},B:{"12":0.08532,"13":0.1422,"14":0.24174,"15":0.54747,"16":0.06399,"17":0},P:{"4":1.23741401709,"5":0.759600683761,"6.2":0.869865299145},N:{"10":0.0132458333333,"11":0.145704166667},J:{"7":0.004624,"10":0.018496},O:{"0":4.71359},H:{"0":1.67173589347},L:{"0":21.94272},R:{_:"0"},M:{"0":0.55488},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/SD.js b/publi/node_modules/caniuse-lite/data/regions/SD.js deleted file mode 100644 index 6259b80..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/SD.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0.00226,"5":0.00452,"6":0.00226,"7":0,"8":0,"9":0.00452,"10":0.00226,"11":0.0113,"12":0,"13":0,"14":0,"15":0,"16":0.00452,"17":0.00226,"18":0.00226,"19":0.00226,"20":0.00226,"21":0.00452,"22":0.00452,"23":0.00226,"24":0.00226,"25":0.00452,"26":0.00678,"27":0.00678,"28":0.00452,"29":0.03164,"30":0.00452,"31":0.00678,"32":0.00452,"33":0.01808,"34":0.00226,"35":0.00226,"36":0.00452,"37":0.00452,"38":0.00678,"39":0.00452,"40":0.02712,"41":0.00452,"42":0.00452,"43":0.14012,"44":0.00452,"45":0.00678,"46":0.00904,"47":0.0113,"48":0.00452,"49":0.02486,"50":0.0113,"51":0.0113,"52":0.00452,"53":0.00226,"54":0.00678,"55":0.07684,"56":0.02034,"57":0.06328,"58":0.0339,"59":0.0226,"60":0.03164,"61":0.42488,"62":0.61246,"63":0.00452,"64":0.00452,"65":0},C:{"2":0,"3":0.00904,"4":0.00226,"5":0.00226,"6":0.00452,"7":0,"8":0,"9":0.00226,"10":0.00226,"11":0.00904,"12":0.00678,"13":0,"14":0.00226,"15":0.00226,"16":0.00226,"17":0.00226,"18":0.00226,"19":0.00226,"20":0.00226,"21":0.00226,"22":0.00226,"23":0.00226,"24":0.00226,"25":0.00226,"26":0.00226,"27":0.00678,"28":0.00226,"29":0.00678,"30":0.00452,"31":0.00226,"32":0.00226,"33":0.01356,"34":0.00904,"35":0.0113,"36":0.00452,"37":0.00452,"38":0.00678,"39":0.00678,"40":0.00678,"41":0.0113,"42":0.00452,"43":0.03164,"44":0.01808,"45":0.01582,"46":0.00678,"47":0.07006,"48":0.03164,"49":0.02034,"50":0.00904,"51":0.00904,"52":0.09492,"53":0.01356,"54":0.01808,"55":0.02486,"56":0.84976,"57":0.68478,"58":0.03842,"59":0,"60":0,"3.5":0,"3.6":0.00452},F:{"9":0,"11":0.00226,"12":0.00226,"15":0.0113,"16":0.00678,"17":0.00452,"18":0.01356,"19":0.02034,"20":0.02938,"21":0.00452,"22":0.00904,"23":0.01582,"24":0.00226,"25":0.00226,"26":0.00226,"27":0,"28":0.01356,"29":0.00904,"30":0.01356,"31":0.00452,"32":0,"33":0.00226,"34":0.00452,"35":0.00678,"36":0.00678,"37":0.0113,"38":0.00452,"39":0,"40":0,"41":0,"42":0.00678,"43":0.01356,"44":0,"45":0.00678,"46":0.00452,"47":0.00452,"48":0.1582,"49":0.09266,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0.00678,"11.6":0,"12.1":0.04294},E:{"4":0,"5":0,"6":0,"7":0.00226,"8":0.00452,"9":0.00226,"10":0.04294,"11":0.04972,_:"0","3.1":0,"3.2":0,"5.1":0.00904,"6.1":0,"7.1":0,"9.1":0.03616,"10.1":0.06328},G:{"8":0.00519940788158,"3.2":0.000324962992599,"4.0-4.1":0.000324962992599,"4.2-4.3":0.0441949669934,"5.0-5.1":0.00747414882977,"6.0-6.1":0.00487444488898,"7.0-7.1":0.0207976315263,"8.1-8.4":0.0357459291858,"9.0-9.2":0.0217725205041,"9.3":0.150132902581,"10.0-10.2":0.278493284657,"10.3":0.580708867774,"11.0-11.2":2.09893596919},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.582776987839,"4.2-4.3":1.64074136576,"4.4":4.66221590271,"4.4.3-4.4.4":2.69870574369},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0.00230264150943,"7":0,"8":0.0944083018868,"9":0.0230264150943,"10":0.0276316981132,"11":0.218750943396,"5.5":0},B:{"12":0.02938,"13":0.01582,"14":0.0339,"15":0.09266,"16":0.01356,"17":0},P:{"4":4.07243076923,"5":0.814486153846,"6.2":0.407243076923},N:{"10":0.02322,"11":0.09288},J:{"7":0.006192,"10":0.024768},O:{"0":11.9196},H:{"0":24.6431625773},L:{"0":27.82032},R:{_:"0"},M:{"0":0.17028},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/SE.js b/publi/node_modules/caniuse-lite/data/regions/SE.js deleted file mode 100644 index 7edfcf2..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/SE.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0.006225,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0.006225,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0.006225,"30":0,"31":0.006225,"32":0,"33":0,"34":0.01245,"35":0.006225,"36":0.006225,"37":0.006225,"38":0.031125,"39":0.043575,"40":0.006225,"41":0.006225,"42":0.006225,"43":0.01245,"44":0.006225,"45":0.006225,"46":0.0249,"47":0.01245,"48":0.018675,"49":0.3237,"50":0.018675,"51":0.080925,"52":0.031125,"53":0.0249,"54":0.03735,"55":0.06225,"56":0.168075,"57":0.068475,"58":0.118275,"59":0.1494,"60":0.317475,"61":8.198325,"62":10.54515,"63":0.080925,"64":0.01245,"65":0},C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0.006225,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0.006225,"32":0,"33":0,"34":0.006225,"35":0,"36":0,"37":0.006225,"38":0.031125,"39":0.006225,"40":0.006225,"41":0.006225,"42":0.01245,"43":0.006225,"44":0,"45":0.031125,"46":0.01245,"47":0.01245,"48":0.056025,"49":0.01245,"50":0.018675,"51":0.01245,"52":0.33615,"53":0.0249,"54":0.0249,"55":0.0498,"56":1.550025,"57":1.20765,"58":0.006225,"59":0,"60":0,"3.5":0,"3.6":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0.01245,"32":0,"33":0,"34":0,"35":0,"36":0.006225,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0.031125,"44":0,"45":0,"46":0,"47":0,"48":0.18675,"49":0.118275,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.006225},E:{"4":0,"5":0.01245,"6":0.006225,"7":0.01245,"8":0.217875,"9":0.1494,"10":0.255225,"11":2.209875,_:"0","3.1":0,"3.2":0,"5.1":0.018675,"6.1":0.03735,"7.1":0,"9.1":0.51045,"10.1":1.00845},G:{"8":0.0593029405881,"3.2":0.00370643378676,"4.0-4.1":0.00370643378676,"4.2-4.3":0.504074994999,"5.0-5.1":0.0852479770954,"6.0-6.1":0.0555965068014,"7.0-7.1":0.237211762352,"8.1-8.4":0.407707716543,"9.0-9.2":0.248331063713,"9.3":1.71237240948,"10.0-10.2":3.17641375525,"10.3":6.62339717694,"11.0-11.2":23.9398558287},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.0364507717493,"4.2-4.3":0.102622942002,"4.4":0.291606173994,"4.4.3-4.4.4":0.168795112254},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.0249,"9":0.0498,"10":0.068475,"11":3.6852,"5.5":0},B:{"12":0.01245,"13":0.06225,"14":0.392175,"15":1.90485,"16":0.23655,"17":0},P:{"4":0.476861292835,"5":0.831734813084,"6.2":2.25122889408},N:{"10":0.011325,"11":0.0453},J:{"7":0.000755,"10":0.00302},O:{"0":0.079275},H:{"0":0.142957044674},L:{"0":20.41965},R:{_:"0"},M:{"0":0.252925},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/SG.js b/publi/node_modules/caniuse-lite/data/regions/SG.js deleted file mode 100644 index 97ef30d..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/SG.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.003585,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0.003585,"19":0,"20":0,"21":0,"22":0.003585,"23":0,"24":0,"25":0,"26":0.003585,"27":0.00717,"28":0.003585,"29":0.02151,"30":0.003585,"31":0.003585,"32":0.00717,"33":0.003585,"34":0.010755,"35":0.003585,"36":0.003585,"37":0.003585,"38":0.010755,"39":0.003585,"40":0.003585,"41":0.003585,"42":0.003585,"43":0.010755,"44":0.003585,"45":0.00717,"46":0.00717,"47":0.00717,"48":0.00717,"49":0.15057,"50":0.010755,"51":0.02151,"52":0.010755,"53":0.010755,"54":0.017925,"55":0.0717,"56":0.039435,"57":0.04302,"58":0.068115,"59":0.068115,"60":0.10038,"61":3.151215,"62":4.07256,"63":0.02151,"64":0.01434,"65":0},C:{"2":0.003585,"3":0.003585,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0.00717,"31":0,"32":0,"33":0,"34":0.003585,"35":0,"36":0,"37":0,"38":0.003585,"39":0,"40":0.003585,"41":0.003585,"42":0,"43":0.010755,"44":0.003585,"45":0.00717,"46":0.003585,"47":0.010755,"48":0.42303,"49":0.00717,"50":0.00717,"51":0.00717,"52":0.075285,"53":0.010755,"54":0.01434,"55":0.017925,"56":0.48039,"57":0.40869,"58":0.017925,"59":0,"60":0,"3.5":0,"3.6":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0.003585,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0.003585,"30":0.00717,"31":0.00717,"32":0,"33":0,"34":0.003585,"35":0,"36":0.003585,"37":0.17925,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0.046605,"44":0.003585,"45":0,"46":0,"47":0.003585,"48":0.42303,"49":0.240195,"50":0.003585,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.003585},E:{"4":0,"5":0.003585,"6":0,"7":0.003585,"8":0.02151,"9":0.02151,"10":0.05736,"11":0.426615,_:"0","3.1":0,"3.2":0,"5.1":0.017925,"6.1":0.00717,"7.1":0,"9.1":0.07887,"10.1":0.17925},G:{"8":0.025113814763,"3.2":0.00156961342268,"4.0-4.1":0.00156961342268,"4.2-4.3":0.213467425485,"5.0-5.1":0.0361011087217,"6.0-6.1":0.0235442013403,"7.0-7.1":0.100455259052,"8.1-8.4":0.172657476495,"9.0-9.2":0.10516409932,"9.3":0.72516140128,"10.0-10.2":1.34515870324,"10.3":2.80489918634,"11.0-11.2":10.1381330971},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.0535766604303,"4.2-4.3":0.150838905519,"4.4":0.428613283442,"4.4.3-4.4.4":0.248101150608},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.0254667777778,"9":0.0254667777778,"10":0.0291048888889,"11":0.894975333333,"5.5":0},B:{"12":0.003585,"13":0.010755,"14":0.075285,"15":0.32982,"16":0.053775,"17":0},P:{"4":1.40619715909,"5":0.749971818182,"6.2":1.96867602273},N:{"10":0.01122625,"11":0.03367875},J:{"7":0.350259,"10":1.401036},O:{"0":18.699725},H:{"0":3.80189053265},L:{"0":28.439125},R:{_:"0"},M:{"0":1.404885},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/SH.js b/publi/node_modules/caniuse-lite/data/regions/SH.js deleted file mode 100644 index 02b94f9..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/SH.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0},C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"3.5":0,"3.6":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0,"10.1":0},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0,"6.0-6.1":0,"7.0-7.1":0,"8.1-8.4":0,"9.0-9.2":0,"9.3":0,"10.0-10.2":0,"10.3":0,"11.0-11.2":0},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0,"4.4":0,"4.4.3-4.4.4":0},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"5.5":0},B:{"12":0,"13":0,"14":0,"15":0,"16":0,"17":0},P:{"4":0,"5":0,"6.2":0},N:{"10":0,"11":0},J:{"7":0,"10":0},O:{"0":0},H:{"0":0},L:{"0":0},R:{_:"0"},M:{"0":0},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/SI.js b/publi/node_modules/caniuse-lite/data/regions/SI.js deleted file mode 100644 index d38f0d6..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/SI.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0.007314,"10":0,"11":0.014628,"12":0.007314,"13":0,"14":0.007314,"15":0.007314,"16":0.007314,"17":0,"18":0.007314,"19":0.007314,"20":0.007314,"21":0.007314,"22":0.007314,"23":0.007314,"24":0.007314,"25":0.007314,"26":0.007314,"27":0.007314,"28":0,"29":0.204792,"30":0.014628,"31":0.014628,"32":0.007314,"33":0,"34":0.014628,"35":0.007314,"36":0.03657,"37":0,"38":0.014628,"39":0.095082,"40":0.007314,"41":0.007314,"42":0,"43":0.014628,"44":0.007314,"45":0.007314,"46":0.080454,"47":0.007314,"48":0.014628,"49":0.819168,"50":0.007314,"51":0.021942,"52":0.029256,"53":0.014628,"54":0.087768,"55":0.07314,"56":0.058512,"57":0.07314,"58":0.102396,"59":0.138966,"60":0.175536,"61":11.11728,"62":15.608076,"63":0.095082,"64":0.03657,"65":0},C:{"2":0,"3":0,"4":0.007314,"5":0.007314,"6":0.007314,"7":0.007314,"8":0.007314,"9":0.007314,"10":0.007314,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0.014628,"18":0,"19":0.007314,"20":0.014628,"21":0.007314,"22":0,"23":0,"24":0.007314,"25":0.007314,"26":0,"27":0,"28":0.029256,"29":0,"30":0.007314,"31":0.03657,"32":0.007314,"33":0.014628,"34":0.007314,"35":0.007314,"36":0.007314,"37":0.014628,"38":0.029256,"39":0.007314,"40":0.007314,"41":0.007314,"42":0.007314,"43":0.03657,"44":0.007314,"45":0.043884,"46":0.007314,"47":0.058512,"48":0.14628,"49":0.043884,"50":0.065826,"51":0.087768,"52":0.884994,"53":0.058512,"54":0.102396,"55":0.095082,"56":5.01009,"57":4.073898,"58":0.03657,"59":0,"60":0,"3.5":0,"3.6":0.043884},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0.007314,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0.021942,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0.014628,"43":0.051198,"44":0,"45":0.007314,"46":0.007314,"47":0,"48":0.570492,"49":0.299874,"50":0.007314,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.021942},E:{"4":0,"5":0.007314,"6":0,"7":0.029256,"8":0.051198,"9":0.043884,"10":0.080454,"11":1.53594,_:"0","3.1":0,"3.2":0,"5.1":0.029256,"6.1":0.021942,"7.1":0.007314,"9.1":0.18285,"10.1":0.373014},G:{"8":0.0160274326865,"3.2":0.00100171454291,"4.0-4.1":0.00100171454291,"4.2-4.3":0.136233177836,"5.0-5.1":0.0230394344869,"6.0-6.1":0.0150257181436,"7.0-7.1":0.0641097307461,"8.1-8.4":0.11018859972,"9.0-9.2":0.0671148743749,"9.3":0.462792118824,"10.0-10.2":0.858469363273,"10.3":1.79006388818,"11.0-11.2":6.47007423265},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.0719555472404,"4.2-4.3":0.202582540692,"4.4":0.575644377923,"4.4.3-4.4.4":0.333209534144},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0.007314,"7":0.007314,"8":0.190164,"9":0.07314,"10":0.138966,"11":5.909712,"5.5":0},B:{"12":0.021942,"13":0.043884,"14":0.314502,"15":1.35309,"16":0.204792,"17":0},P:{"4":0.557903325843,"5":0.692213385768,"6.2":1.50840528839},N:{"10":0.0310233,"11":0.1757987},J:{"7":0.0085952,"10":0.0343808},O:{"0":0.09401},H:{"0":0.144947082474},L:{"0":30.597264},R:{_:"0"},M:{"0":0.21488},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/SK.js b/publi/node_modules/caniuse-lite/data/regions/SK.js deleted file mode 100644 index 773ffa7..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/SK.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"11":0.00705,"18":0.00705,"22":0.0282,"26":0.0141,"29":0.00705,"31":0.0141,"34":0.03525,"36":0.02115,"37":0.0141,"38":0.0423,"39":0.0282,"40":0.00705,"41":0.0141,"43":0.03525,"44":0.02115,"45":0.0141,"46":0.03525,"47":0.03525,"48":0.03525,"49":1.6356,"50":0.0141,"51":0.02115,"52":0.0141,"53":0.0282,"54":0.02115,"55":0.04935,"56":0.07755,"57":0.0846,"58":0.2397,"59":0.16215,"60":0.2397,"61":14.61465,"62":22.35555,"63":0.0705,"64":0.03525,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 19 20 21 23 24 25 27 28 30 32 33 35 42 65"},C:{"12":0.0141,"16":0.00705,"29":0.00705,"31":0.00705,"32":0.00705,"33":0.02115,"34":0.02115,"35":0.00705,"36":0.0141,"37":0.93765,"38":0.04935,"39":0.0141,"40":0.02115,"41":0.0141,"42":0.0141,"43":0.04935,"44":0.00705,"45":0.04935,"46":0.0141,"47":0.1551,"48":0.14805,"49":0.02115,"50":0.06345,"51":0.03525,"52":1.38885,"53":0.07755,"54":0.1269,"55":0.2538,"56":6.47895,"57":5.09715,"58":0.0282,_:"2 3 4 5 6 7 8 9 10 11 13 14 15 17 18 19 20 21 22 23 24 25 26 27 28 30 59 60 3.5 3.6"},F:{"36":0.141,"41":0.00705,"42":0.0141,"43":0.03525,"45":0.0141,"46":0.02115,"47":0.0141,"48":2.36175,"49":1.551,"50":0.02115,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 37 38 39 40 44 9.5-9.6 10.5 10.6 11.1 11.5","10.0-10.1":0,"11.6":0.00705,"12.1":0.16215},E:{"4":0,"7":0.0141,"8":0.0282,"9":0.04935,"10":0.10575,"11":1.91055,_:"0 5 6 3.1 3.2 7.1","5.1":0.04935,"6.1":0.0141,"9.1":0.1692,"10.1":0.44415},G:{"8":0.00800200040008,"3.2":0.000500125025005,"4.0-4.1":0.000500125025005,"4.2-4.3":0.0680170034007,"5.0-5.1":0.0115028755751,"6.0-6.1":0.00750187537508,"7.0-7.1":0.0320080016003,"8.1-8.4":0.0550137527506,"9.0-9.2":0.0335083766753,"9.3":0.231057761552,"10.0-10.2":0.428607146429,"10.3":0.893723419684,"11.0-11.2":3.23030753651},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.0500451356408,"4.2-4.3":0.140896304958,"4.4":0.400361085126,"4.4.3-4.4.4":0.231747474275},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0.014166509434,"7":0.00708325471698,"8":0.254997169811,"9":0.162914858491,"10":0.0849990566038,"11":3.98078915094,_:"5.5"},B:{"12":0.02115,"13":0.06345,"14":0.37365,"15":1.6074,"16":0.2538,_:"17"},P:{"4":0.467299032258,"5":0.423829354839,"6.2":0.793321612903},N:{"10":0.02470625,"11":0.17294375},J:{"7":0.00944,"10":0.03776},O:{"0":0.1121},H:{"0":0.404966065292},L:{"0":21.10985},R:{_:"0"},M:{"0":0.2065},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/SL.js b/publi/node_modules/caniuse-lite/data/regions/SL.js deleted file mode 100644 index 49b8f41..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/SL.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.002203,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0.004406,"19":0,"20":0,"21":0,"22":0.002203,"23":0,"24":0,"25":0,"26":0.006609,"27":0,"28":0,"29":0.002203,"30":0,"31":0.004406,"32":0,"33":0.004406,"34":0,"35":0,"36":0,"37":0.002203,"38":0,"39":0,"40":0.002203,"41":0,"42":0.002203,"43":0.103541,"44":0.002203,"45":0.033045,"46":0.015421,"47":0.002203,"48":0,"49":0.006609,"50":0.002203,"51":0.011015,"52":0.006609,"53":0.004406,"54":0.002203,"55":0.037451,"56":0.004406,"57":0.035248,"58":0.013218,"59":0.006609,"60":0.02203,"61":0.746817,"62":1.039816,"63":0.011015,"64":0.002203,"65":0},C:{"2":0,"3":0.002203,"4":0.002203,"5":0.004406,"6":0,"7":0.002203,"8":0,"9":0,"10":0.002203,"11":0.002203,"12":0.006609,"13":0.004406,"14":0,"15":0.011015,"16":0.006609,"17":0,"18":0,"19":0.002203,"20":0,"21":0,"22":0,"23":0.002203,"24":0,"25":0.026436,"26":0.002203,"27":0,"28":0.002203,"29":0.002203,"30":0.004406,"31":0.002203,"32":0,"33":0.004406,"34":0.002203,"35":0.002203,"36":0.002203,"37":0,"38":0.008812,"39":0.002203,"40":0.004406,"41":0.008812,"42":0.002203,"43":0.026436,"44":0.015421,"45":0.008812,"46":0.006609,"47":0.037451,"48":0.015421,"49":0.011015,"50":0.002203,"51":0.002203,"52":0.033045,"53":0.006609,"54":0.011015,"55":0.019827,"56":0.52872,"57":0.35248,"58":0.046263,"59":0,"60":0,"3.5":0,"3.6":0},F:{"9":0,"11":0.006609,"12":0.002203,"15":0.008812,"16":0.004406,"17":0.004406,"18":0.002203,"19":0.002203,"20":0.180646,"21":0.030842,"22":0.02203,"23":0.028639,"24":0.008812,"25":0,"26":0.002203,"27":0,"28":0.006609,"29":0.008812,"30":0.011015,"31":0.030842,"32":0.002203,"33":0.002203,"34":0.004406,"35":0,"36":0.006609,"37":0.011015,"38":0,"39":0,"40":0.002203,"41":0,"42":0.015421,"43":0.013218,"44":0.002203,"45":0.004406,"46":0.004406,"47":0.004406,"48":0.158616,"49":0.112353,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0.002203,"11.1":0,"11.5":0,"11.6":0.004406,"12.1":0.614637},E:{"4":0,"5":0,"6":0,"7":0,"8":0.002203,"9":0,"10":0.013218,"11":0.101338,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0.002203,"7.1":0,"9.1":0.006609,"10.1":0.019827},G:{"8":0.00432546029206,"3.2":0.000270341268254,"4.0-4.1":0.000270341268254,"4.2-4.3":0.0367664124825,"5.0-5.1":0.00621784916983,"6.0-6.1":0.0040551190238,"7.0-7.1":0.0173018411682,"8.1-8.4":0.0297375395079,"9.0-9.2":0.018112864973,"9.3":0.124897665933,"10.0-10.2":0.231682466893,"10.3":0.483099846369,"11.0-11.2":1.74613425165},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.138355813845,"4.2-4.3":0.389524829747,"4.4":1.10684651076,"4.4.3-4.4.4":0.64069384565},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.0387478014184,"9":0.00726521276596,"10":0.0193739007092,"11":0.271234609929,"5.5":0},B:{"12":0.035248,"13":0.037451,"14":0.04406,"15":0.13218,"16":0.006609,"17":0},P:{"4":0.41584,"5":0.332672,"6.2":0.343068},N:{"10":0.245710864865,"11":0.167530135135},J:{"7":0.0093564,"10":0.0374256},O:{"0":6.533886},H:{"0":51.4208934742},L:{"0":13.722664},R:{_:"0"},M:{"0":0.116955},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/SM.js b/publi/node_modules/caniuse-lite/data/regions/SM.js deleted file mode 100644 index 0a37e4b..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/SM.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0.025371,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0.008457,"23":0,"24":0,"25":0,"26":0.016914,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0.008457,"35":0.016914,"36":0.025371,"37":0,"38":0.050742,"39":0,"40":0.008457,"41":0,"42":0,"43":0.008457,"44":0,"45":0,"46":0,"47":0,"48":0.008457,"49":2.071965,"50":0.008457,"51":0.067656,"52":0.050742,"53":0,"54":0,"55":0.008457,"56":0.016914,"57":0.059199,"58":0.042285,"59":0.135312,"60":0.211425,"61":13.218291,"62":22.504077,"63":0.059199,"64":0,"65":0},C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0.050742,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0.008457,"30":0.008457,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0.008457,"39":0,"40":0,"41":0,"42":0.008457,"43":0.008457,"44":0,"45":0.380565,"46":0.008457,"47":0.042285,"48":0.076113,"49":0.016914,"50":0.050742,"51":0.025371,"52":0.42285,"53":0.016914,"54":0.033828,"55":0.431307,"56":5.065743,"57":5.260254,"58":0.008457,"59":0,"60":0,"3.5":0,"3.6":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0.008457,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0.135312,"44":0,"45":0,"46":0,"47":0,"48":0.152226,"49":0.33828,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.008457},E:{"4":0.008457,"5":0.008457,"6":0,"7":0,"8":0.236796,"9":0.008457,"10":0.634275,"11":5.0742,_:"0","3.1":0,"3.2":0,"5.1":0.076113,"6.1":0.118398,"7.1":0,"9.1":0.279081,"10.1":2.401788},G:{"8":0.0214697163433,"3.2":0.00134185727145,"4.0-4.1":0.00134185727145,"4.2-4.3":0.182492588918,"5.0-5.1":0.0308627172434,"6.0-6.1":0.0201278590718,"7.0-7.1":0.0858788653731,"8.1-8.4":0.14760429986,"9.0-9.2":0.0899044371874,"9.3":0.619938059412,"10.0-10.2":1.14997168164,"10.3":2.39789894409,"11.0-11.2":8.66705611632},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.0230677642657,"4.2-4.3":0.0649446286249,"4.4":0.184542114125,"4.4.3-4.4.4":0.106821492984},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.321366,"9":0.050742,"10":0.016914,"11":3.611139,"5.5":0},B:{"12":0.008457,"13":0.025371,"14":0.219882,"15":3.289773,"16":0.295995,"17":0},P:{"4":0.2735546125,"5":0.462938575,"6.2":0.9469198125},N:{"10":0,"11":0.083322},J:{"7":0.0003086,"10":0.0012344},O:{"0":0.003086},H:{"0":0.156306960481},L:{"0":13.852388},R:{_:"0"},M:{"0":0.303971},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/SN.js b/publi/node_modules/caniuse-lite/data/regions/SN.js deleted file mode 100644 index 77814cc..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/SN.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0.004219,"9":0,"10":0,"11":0.033752,"12":0.008438,"13":0.004219,"14":0.004219,"15":0.004219,"16":0.016876,"17":0.008438,"18":0.004219,"19":0.008438,"20":0.004219,"21":0,"22":0.004219,"23":0,"24":0,"25":0.004219,"26":0.004219,"27":0,"28":0.008438,"29":0.012657,"30":0.008438,"31":0.004219,"32":0.012657,"33":0.008438,"34":0.004219,"35":0.004219,"36":0.008438,"37":0,"38":0.004219,"39":0.004219,"40":0.008438,"41":0,"42":0.004219,"43":0.054847,"44":0.004219,"45":0.008438,"46":0.004219,"47":0.092818,"48":0.004219,"49":0.354396,"50":0.012657,"51":0.008438,"52":0.008438,"53":0.008438,"54":0.021095,"55":0.063285,"56":0.037971,"57":0.29533,"58":0.097037,"59":0.092818,"60":0.071723,"61":3.020804,"62":5.716745,"63":0.029533,"64":0.012657,"65":0},C:{"2":0,"3":0.008438,"4":0,"5":0,"6":0,"7":0,"8":0.004219,"9":0,"10":0.004219,"11":0.004219,"12":0.008438,"13":0.004219,"14":0.004219,"15":0.012657,"16":0.004219,"17":0.004219,"18":0,"19":0,"20":0,"21":0.008438,"22":0,"23":0.004219,"24":0,"25":0.004219,"26":0,"27":0.004219,"28":0,"29":0.004219,"30":0.004219,"31":0.004219,"32":0.139227,"33":0,"34":0.004219,"35":0.012657,"36":0.008438,"37":0.004219,"38":0.016876,"39":0.004219,"40":0.016876,"41":0.008438,"42":0.004219,"43":0.063285,"44":0.008438,"45":0.029533,"46":0.012657,"47":0.067504,"48":0.088599,"49":0.021095,"50":0.021095,"51":0.054847,"52":0.189855,"53":0.021095,"54":0.135008,"55":0.059066,"56":1.47665,"57":1.485088,"58":0.021095,"59":0,"60":0,"3.5":0.004219,"3.6":0.008438},F:{"9":0,"11":0,"12":0,"15":0.004219,"16":0,"17":0,"18":0,"19":0.012657,"20":0.012657,"21":0,"22":0.012657,"23":0.008438,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0.004219,"30":0.004219,"31":0.004219,"32":0,"33":0.004219,"34":0,"35":0,"36":0.012657,"37":0.004219,"38":0.004219,"39":0,"40":0.012657,"41":0.004219,"42":0.012657,"43":0.012657,"44":0,"45":0.004219,"46":0.004219,"47":0.008438,"48":0.25314,"49":0.215169,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.008438},E:{"4":0,"5":0.004219,"6":0.004219,"7":0.012657,"8":0.04219,"9":0.016876,"10":0.046409,"11":0.236264,_:"0","3.1":0,"3.2":0,"5.1":0.012657,"6.1":0.004219,"7.1":0.004219,"9.1":0.08438,"10.1":0.113913},G:{"8":0.0134375611122,"3.2":0.000839847569514,"4.0-4.1":0.000839847569514,"4.2-4.3":0.114219269454,"5.0-5.1":0.0193164940988,"6.0-6.1":0.0125977135427,"7.0-7.1":0.0537502444489,"8.1-8.4":0.0923832326465,"9.0-9.2":0.0562697871574,"9.3":0.388009577115,"10.0-10.2":0.719749367073,"10.3":1.50080760672,"11.0-11.2":5.42457545149},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.30188207203,"4.2-4.3":0.849914141254,"4.4":2.41505657624,"4.4.3-4.4.4":1.39794621048},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.059066,"9":0.012657,"10":0.097037,"11":0.949275,"5.5":0},B:{"12":0.067504,"13":0.088599,"14":0.122351,"15":0.329082,"16":0.046409,"17":0},P:{"4":2.00812479208,"5":1.034799,"6.2":1.09627220792},N:{"10":0.323914425926,"11":1.48553857407},J:{"7":0.0335298,"10":0.1341192},O:{"0":0.797778},H:{"0":2.44646556186},L:{"0":54.69775},R:{_:"0"},M:{"0":0.531852},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/SO.js b/publi/node_modules/caniuse-lite/data/regions/SO.js deleted file mode 100644 index c37709f..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/SO.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0.002001,"9":0.002001,"10":0,"11":0.002001,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0.004002,"21":0.006003,"22":0,"23":0.002001,"24":0,"25":0.002001,"26":0.006003,"27":0,"28":0,"29":0.002001,"30":0,"31":0.004002,"32":0,"33":0.042021,"34":0.002001,"35":0.002001,"36":0.002001,"37":0.002001,"38":0.002001,"39":0.006003,"40":0.008004,"41":0.004002,"42":0.002001,"43":0.362181,"44":0.002001,"45":0.012006,"46":0.002001,"47":0,"48":0.004002,"49":0.024012,"50":0.002001,"51":0.004002,"52":0,"53":0,"54":0,"55":0.02001,"56":0.002001,"57":0.062031,"58":0.010005,"59":0.004002,"60":0.022011,"61":0.784392,"62":1.422711,"63":0.04002,"64":0.008004,"65":0},C:{"2":0,"3":0.016008,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0.002001,"21":0,"22":0,"23":0.002001,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0.004002,"30":0,"31":0,"32":0.008004,"33":0,"34":0.004002,"35":0,"36":0.012006,"37":0.004002,"38":0.002001,"39":0.004002,"40":0,"41":0,"42":0.002001,"43":0.018009,"44":0.004002,"45":0,"46":0.002001,"47":0.02001,"48":0.016008,"49":0.008004,"50":0,"51":0.002001,"52":0.010005,"53":0.004002,"54":0.008004,"55":0.006003,"56":0.2001,"57":0.148074,"58":0.016008,"59":0,"60":0,"3.5":0,"3.6":0},F:{"9":0,"11":0,"12":0,"15":0.002001,"16":0.002001,"17":0,"18":0,"19":0.036018,"20":0.018009,"21":0.002001,"22":0,"23":0.002001,"24":0,"25":0,"26":0,"27":0,"28":0.002001,"29":0.008004,"30":0.004002,"31":0.004002,"32":0,"33":0,"34":0,"35":0,"36":0.002001,"37":0.002001,"38":0,"39":0,"40":0,"41":0,"42":0.004002,"43":0.052026,"44":0.002001,"45":0.002001,"46":0,"47":0.002001,"48":0.070035,"49":0.044022,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.022011},E:{"4":0,"5":0,"6":0,"7":0.014007,"8":0.004002,"9":0.002001,"10":0.002001,"11":0.036018,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0.004002,"10.1":0.024012},G:{"8":0.00266942028406,"3.2":0.000166838767754,"4.0-4.1":0.000166838767754,"4.2-4.3":0.0226900724145,"5.0-5.1":0.00383729165833,"6.0-6.1":0.0025025815163,"7.0-7.1":0.0106776811362,"8.1-8.4":0.0183522644529,"9.0-9.2":0.0111781974395,"9.3":0.0770795107021,"10.0-10.2":0.142980823965,"10.3":0.298140877976,"11.0-11.2":1.07761160092},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.186303255379,"4.2-4.3":0.52451531899,"4.4":1.49042604303,"4.4.3-4.4.4":0.862727382601},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.004002,"9":0.002001,"10":0.004002,"11":0.130065,"5.5":0},B:{"12":0.012006,"13":0.010005,"14":0.032016,"15":0.034017,"16":0.004002,"17":0},P:{"4":1.46281332319,"5":0.558713422053,"6.2":0.650139254753},N:{"10":0.0274251428571,"11":0.260538857143},J:{"7":0.0127984,"10":0.0511936},O:{"0":32.587926},H:{"0":13.8509007234},L:{"0":30.329325},R:{_:"0"},M:{"0":0.119985},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/SR.js b/publi/node_modules/caniuse-lite/data/regions/SR.js deleted file mode 100644 index 91c39d8..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/SR.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.005259,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0.015777,"19":0,"20":0,"21":0,"22":0.036813,"23":0,"24":0,"25":0,"26":0.005259,"27":0,"28":0.010518,"29":0,"30":0.005259,"31":0.005259,"32":0,"33":0,"34":0.005259,"35":0,"36":0.084144,"37":0,"38":0.010518,"39":0.320799,"40":0.010518,"41":0,"42":0,"43":0.010518,"44":0,"45":0,"46":0.005259,"47":0.005259,"48":0,"49":0.778332,"50":0.005259,"51":0.005259,"52":0.005259,"53":0.005259,"54":0.068367,"55":0.299763,"56":0.068367,"57":0.173547,"58":0.110439,"59":0.089403,"60":0.131475,"61":5.7849,"62":9.166437,"63":0.042072,"64":0.05259,"65":0},C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0.005259,"37":0,"38":0.005259,"39":0.005259,"40":0,"41":0.005259,"42":0,"43":0,"44":0.005259,"45":0.005259,"46":0.015777,"47":0.010518,"48":0.057849,"49":0.005259,"50":0.010518,"51":0.021036,"52":0.073626,"53":0.015777,"54":0.010518,"55":0.015777,"56":1.47252,"57":1.488297,"58":0.252432,"59":0.005259,"60":0,"3.5":0,"3.6":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0.021036,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0.005259,"30":0.010518,"31":0.015777,"32":0,"33":0.010518,"34":0,"35":0,"36":0.015777,"37":0.005259,"38":0,"39":0,"40":0,"41":0,"42":0.005259,"43":0.078885,"44":0,"45":0,"46":0,"47":0,"48":0.404943,"49":0.189324,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.021036},E:{"4":0,"5":0,"6":0,"7":0,"8":0.010518,"9":0.005259,"10":0.010518,"11":0.362871,_:"0","3.1":0,"3.2":0,"5.1":0.005259,"6.1":0,"7.1":0,"9.1":0.126216,"10.1":0.184065},G:{"8":0.0168568913783,"3.2":0.00105355571114,"4.0-4.1":0.00105355571114,"4.2-4.3":0.143283576715,"5.0-5.1":0.0242317813563,"6.0-6.1":0.0158033356671,"7.0-7.1":0.0674275655131,"8.1-8.4":0.115891128226,"9.0-9.2":0.0705882326465,"9.3":0.486742738548,"10.0-10.2":0.902897244449,"10.3":1.88270405581,"11.0-11.2":6.80491633827},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.293833016838,"4.2-4.3":0.827252955098,"4.4":2.35066413471,"4.4.3-4.4.4":1.36067289336},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.047331,"9":0.047331,"10":0.136734,"11":1.099131,"5.5":0},B:{"12":0.063108,"13":0.168288,"14":0.347094,"15":1.235865,"16":0.10518,"17":0},P:{"4":3.86019604402,"5":2.07132470655,"6.2":3.33713424944},N:{"10":0.102034565217,"11":0.158720434783},J:{"7":0.1061984,"10":0.4247936},O:{"0":0.834416},H:{"0":1.03234867698},L:{"0":40.154721},R:{_:"0"},M:{"0":0.099561},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/ST.js b/publi/node_modules/caniuse-lite/data/regions/ST.js deleted file mode 100644 index 7c4bd70..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/ST.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.005291,"12":0,"13":0,"14":0.010582,"15":0,"16":0.010582,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0.05291,"27":0,"28":0.021164,"29":0,"30":0,"31":0.031746,"32":0,"33":0.047619,"34":0,"35":0.005291,"36":0.058201,"37":0,"38":0.005291,"39":0,"40":0.089947,"41":0.005291,"42":0,"43":2.746029,"44":0,"45":0,"46":0.037037,"47":0,"48":0,"49":0.312169,"50":0,"51":0.005291,"52":0,"53":0.005291,"54":0.005291,"55":0.037037,"56":0.026455,"57":0.587301,"58":0.206349,"59":0.063492,"60":0.084656,"61":4.994704,"62":10.486762,"63":0.042328,"64":0.010582,"65":0},C:{"2":0,"3":0.005291,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0.005291,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0.010582,"28":0.058201,"29":0,"30":0,"31":0.010582,"32":0.005291,"33":0,"34":0,"35":0.010582,"36":0,"37":0.015873,"38":0.010582,"39":0,"40":0,"41":0.005291,"42":0.010582,"43":0.021164,"44":0,"45":0.015873,"46":0,"47":0.010582,"48":0.005291,"49":0.021164,"50":0.005291,"51":0.005291,"52":0.10582,"53":0.005291,"54":0.005291,"55":0.05291,"56":0.703703,"57":0.746031,"58":0,"59":0,"60":0,"3.5":0,"3.6":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0.005291,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0.005291,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0.010582,"43":0.005291,"44":0.005291,"45":0,"46":0,"47":0,"48":0.285714,"49":0.216931,"50":0,"9.5-9.6":0,"10.0-10.1":0.005291,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.095238},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0.021164,"11":0.142857,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0.005291,"10.1":0.391534},G:{"8":0.00410190038008,"3.2":0.000256368773755,"4.0-4.1":0.000256368773755,"4.2-4.3":0.0348661532306,"5.0-5.1":0.00589648179636,"6.0-6.1":0.00384553160632,"7.0-7.1":0.0164076015203,"8.1-8.4":0.028200565113,"9.0-9.2":0.0171767078416,"9.3":0.118442373475,"10.0-10.2":0.219708039108,"10.3":0.4581309987,"11.0-11.2":1.65588590968},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.466663334892,"4.2-4.3":1.31383677362,"4.4":3.73330667914,"4.4.3-4.4.4":2.16101021235},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.047619,"9":0,"10":0.312169,"11":0.999999,"5.5":0},B:{"12":0.037037,"13":0.068783,"14":0.248677,"15":0.354497,"16":0.042328,"17":0},P:{"4":0.3211538,"5":0.103598,"6.2":0.1450372},N:{"10":0.0453082162162,"11":0.373792783784},J:{"7":0.0075344,"10":0.0301376},O:{"0":5.6508},H:{"0":4.40467885223},L:{"0":43.175254},R:{_:"0"},M:{"0":0.178942},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/SV.js b/publi/node_modules/caniuse-lite/data/regions/SV.js deleted file mode 100644 index 955c01a..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/SV.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0.018573,"8":0,"9":0,"10":0,"11":0.006191,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0.006191,"22":0.037146,"23":0,"24":0,"25":0,"26":0.012382,"27":0.012382,"28":0,"29":0,"30":0,"31":0.006191,"32":0.006191,"33":0.006191,"34":0.006191,"35":0.006191,"36":0.012382,"37":0.006191,"38":0.024764,"39":0.018573,"40":0.018573,"41":0.006191,"42":0,"43":0.018573,"44":0.018573,"45":0.006191,"46":0.006191,"47":0.018573,"48":0.018573,"49":0.767684,"50":0.006191,"51":0.024764,"52":0.018573,"53":0.012382,"54":0.037146,"55":0.080483,"56":0.12382,"57":0.210494,"58":0.290977,"59":0.191921,"60":0.414797,"61":10.673284,"62":15.279388,"63":0.043337,"64":0.012382,"65":0},C:{"2":0,"3":0.024764,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.006191,"12":0.006191,"13":0,"14":0,"15":0,"16":0.006191,"17":0,"18":0,"19":0,"20":0,"21":0.006191,"22":0.006191,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0.006191,"29":0,"30":0.006191,"31":0.006191,"32":0,"33":0,"34":0,"35":0.006191,"36":0.006191,"37":0.006191,"38":0.006191,"39":0.012382,"40":0.030955,"41":0.006191,"42":0.006191,"43":0.018573,"44":0.006191,"45":0.055719,"46":0.086674,"47":0.049528,"48":0.160966,"49":0.012382,"50":0.024764,"51":0.024764,"52":0.284786,"53":0.030955,"54":0.043337,"55":0.06191,"56":1.820154,"57":1.454885,"58":0.012382,"59":0,"60":0,"3.5":0,"3.6":0.018573},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0.012382,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0.012382,"30":0.006191,"31":0.006191,"32":0,"33":0,"34":0,"35":0,"36":0.006191,"37":0,"38":0,"39":0,"40":0.006191,"41":0,"42":0,"43":0.024764,"44":0.006191,"45":0.012382,"46":0.006191,"47":0.006191,"48":0.365269,"49":0.229067,"50":0.006191,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.012382},E:{"4":0,"5":0.012382,"6":0,"7":0.012382,"8":0.018573,"9":0.06191,"10":0.191921,"11":0.786257,_:"0","3.1":0,"3.2":0,"5.1":0.012382,"6.1":0.006191,"7.1":0,"9.1":0.191921,"10.1":0.321932},G:{"8":0.00742522104421,"3.2":0.000464076315263,"4.0-4.1":0.000464076315263,"4.2-4.3":0.0631143788758,"5.0-5.1":0.0106737552511,"6.0-6.1":0.00696114472895,"7.0-7.1":0.0297008841768,"8.1-8.4":0.0510483946789,"9.0-9.2":0.0310931131226,"9.3":0.214403257652,"10.0-10.2":0.39771340218,"10.3":0.829304375375,"11.0-11.2":2.99746892028},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.217120734331,"4.2-4.3":0.611278375117,"4.4":1.73696587465,"4.4.3-4.4.4":1.0054360159},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.0436358758621,"9":0.130907627586,"10":0.0935054482759,"11":0.635837048276,"5.5":0},B:{"12":0.018573,"13":0.049528,"14":0.154775,"15":0.30955,"16":0.055719,"17":0},P:{"4":0.938360828729,"5":0.371219668508,"6.2":0.556829502762},N:{"10":0.022854,"11":0.171405},J:{"7":0.0083798,"10":0.0335192},O:{"0":1.241734},H:{"0":1.23329137113},L:{"0":47.083815},R:{_:"0"},M:{"0":0.125697},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/SY.js b/publi/node_modules/caniuse-lite/data/regions/SY.js deleted file mode 100644 index 246b923..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/SY.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0.00315,"11":0.0063,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0.00315,"26":0.00315,"27":0.00315,"28":0.00315,"29":0.0063,"30":0.00315,"31":0.00315,"32":0.0063,"33":0.0189,"34":0.00315,"35":0.00315,"36":0.02205,"37":0,"38":0.00945,"39":0.0063,"40":0.0126,"41":0.00315,"42":0.00315,"43":0.12915,"44":0.00945,"45":0.00315,"46":0.00945,"47":0.01575,"48":0.0063,"49":0.11025,"50":0.0126,"51":0.0126,"52":0.00945,"53":0.02205,"54":0.0063,"55":0.1008,"56":0.0315,"57":0.11655,"58":0.07245,"59":0.0756,"60":0.11655,"61":1.93095,"62":3.06495,"63":0.01575,"64":0.0063,"65":0},C:{"2":0,"3":0.01575,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.00315,"12":0.00315,"13":0,"14":0,"15":0,"16":0.00315,"17":0,"18":0,"19":0.00315,"20":0.00315,"21":0,"22":0,"23":0,"24":0.00315,"25":0.00315,"26":0.00315,"27":0,"28":0.00315,"29":0.00315,"30":0.0063,"31":0.0063,"32":0.00315,"33":0.00315,"34":0.00315,"35":0.0063,"36":0.0126,"37":0.0063,"38":0.00945,"39":0.00315,"40":0.0063,"41":0.00945,"42":0.0063,"43":0.0315,"44":0.0063,"45":0.0189,"46":0.0063,"47":0.063,"48":0.05985,"49":0.01575,"50":0.0189,"51":0.00945,"52":0.19845,"53":0.03465,"54":0.02205,"55":0.04095,"56":1.0584,"57":0.9324,"58":0.0441,"59":0,"60":0,"3.5":0,"3.6":0.00315},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0.00315,"19":0,"20":0,"21":0,"22":0.00315,"23":0,"24":0,"25":0,"26":0.00315,"27":0,"28":0.00315,"29":0.00315,"30":0.00315,"31":0.00315,"32":0,"33":0,"34":0,"35":0,"36":0.00945,"37":0.0063,"38":0,"39":0,"40":0,"41":0,"42":0.00315,"43":0.0126,"44":0,"45":0,"46":0,"47":0.00315,"48":0.16695,"49":0.09765,"50":0.00315,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0.00315,"12.1":0.0126},E:{"4":0,"5":0,"6":0,"7":0.00945,"8":0,"9":0.00315,"10":0.01575,"11":0.04095,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0.00315,"7.1":0,"9.1":0.00945,"10.1":0.0126},G:{"8":0.00620428085617,"3.2":0.000387767553511,"4.0-4.1":0.000387767553511,"4.2-4.3":0.0527363872775,"5.0-5.1":0.00891865373075,"6.0-6.1":0.00581651330266,"7.0-7.1":0.0248171234247,"8.1-8.4":0.0426544308862,"9.0-9.2":0.0259804260852,"9.3":0.179148609722,"10.0-10.2":0.332316793359,"10.3":0.692940618124,"11.0-11.2":2.50459062813},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.800177970065,"4.2-4.3":2.25280874649,"4.4":6.40142376052,"4.4.3-4.4.4":3.70543952292},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0.00319666666667,"7":0,"8":0.0543433333333,"9":0.0255733333333,"10":0.0639333333333,"11":0.284503333333,"5.5":0},B:{"12":0.00945,"13":0.01575,"14":0.04095,"15":0.05355,"16":0.01575,"17":0},P:{"4":4.5637394773,"5":1.47349436039,"6.2":1.40186616231},N:{"10":0.0104764705882,"11":0.167623529412},J:{"7":0.00137,"10":0.00548},O:{"0":3.74695},H:{"0":3.78732027491},L:{"0":52.1839},R:{_:"0"},M:{"0":0.1781},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/SZ.js b/publi/node_modules/caniuse-lite/data/regions/SZ.js deleted file mode 100644 index 205f7cd..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/SZ.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.005326,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0.002663,"26":0,"27":0,"28":0,"29":0,"30":0.002663,"31":0.002663,"32":0,"33":0.007989,"34":0,"35":0.002663,"36":0.002663,"37":0,"38":0.002663,"39":0.002663,"40":0.010652,"41":0,"42":0,"43":0.029293,"44":0,"45":0,"46":0.005326,"47":0.002663,"48":0.005326,"49":0.098531,"50":0.002663,"51":0.005326,"52":0.002663,"53":0.005326,"54":0.050597,"55":0.066575,"56":0.021304,"57":0.029293,"58":0.061249,"59":0.015978,"60":0.058586,"61":1.366119,"62":1.789536,"63":0,"64":0,"65":0},C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0.005326,"11":0,"12":0.002663,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0.005326,"26":0.023967,"27":0,"28":0.002663,"29":0.002663,"30":0,"31":0.029293,"32":0,"33":0,"34":0,"35":0,"36":0.005326,"37":0,"38":0.037282,"39":0.005326,"40":0,"41":0.007989,"42":0,"43":0.010652,"44":0.002663,"45":0.018641,"46":0.007989,"47":0.039945,"48":0.010652,"49":0.013315,"50":0.005326,"51":0.002663,"52":0.141139,"53":0.007989,"54":0.021304,"55":0.018641,"56":0.37282,"57":0.282278,"58":0.047934,"59":0,"60":0,"3.5":0,"3.6":0},F:{"9":0,"11":0,"12":0.015978,"15":0,"16":0.002663,"17":0.002663,"18":0.007989,"19":0.045271,"20":0.002663,"21":0.005326,"22":0.005326,"23":0.002663,"24":0.005326,"25":0,"26":0,"27":0,"28":0.023967,"29":0.02663,"30":0.02663,"31":0.015978,"32":0.002663,"33":0,"34":0.005326,"35":0.010652,"36":0.002663,"37":0.061249,"38":0,"39":0,"40":0,"41":0.002663,"42":0.002663,"43":0.042608,"44":0.002663,"45":0.002663,"46":0.034619,"47":0,"48":0.202388,"49":0.093205,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.322223},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0.005326,"10":0.007989,"11":0.167769,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0.005326,"9.1":0.010652,"10.1":0.039945},G:{"8":0.00203675615123,"3.2":0.000127297259452,"4.0-4.1":0.000127297259452,"4.2-4.3":0.0173124272855,"5.0-5.1":0.00292783696739,"6.0-6.1":0.00190945889178,"7.0-7.1":0.00814702460492,"8.1-8.4":0.0140026985397,"9.0-9.2":0.00852891638328,"9.3":0.0588113338668,"10.0-10.2":0.10909375135,"10.3":0.227480202641,"11.0-11.2":0.8222129988},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.306306085126,"4.2-4.3":0.862369439663,"4.4":2.45044868101,"4.4.3-4.4.4":1.4184327942},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.122498,"9":0.069238,"10":0.069238,"11":0.732325,"5.5":0},B:{"12":0.047934,"13":0.071901,"14":0.061249,"15":0.109183,"16":0.002663,"17":0},P:{"4":2.39063916667,"5":0.4365515,"6.2":0.291034333333},N:{"10":0.21505,"11":1.03224},J:{"7":0.0542938,"10":0.2171752},O:{"0":3.844588},H:{"0":43.2817572113},L:{"0":17.899859},R:{_:"0"},M:{"0":0.117392},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/TC.js b/publi/node_modules/caniuse-lite/data/regions/TC.js deleted file mode 100644 index d9e2ef0..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/TC.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.006327,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":1.024974,"37":0,"38":0.012654,"39":0,"40":0,"41":0,"42":0,"43":0.012654,"44":0,"45":0,"46":0,"47":0.012654,"48":0,"49":0.525141,"50":0,"51":0,"52":0.018981,"53":0.006327,"54":0,"55":0.050616,"56":0.012654,"57":0.272061,"58":0.044289,"59":0.037962,"60":0.088578,"61":8.724933,"62":10.477512,"63":0.006327,"64":0.050616,"65":0},C:{"2":0,"3":0,"4":0,"5":0,"6":0.006327,"7":0,"8":0,"9":0,"10":0,"11":0.246753,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0.012654,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0.018981,"49":0.012654,"50":0.031635,"51":0.006327,"52":0.031635,"53":0.006327,"54":0.012654,"55":0.037962,"56":1.164168,"57":0.670662,"58":0.012654,"59":0,"60":0,"3.5":0,"3.6":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0.012654,"31":0.006327,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0.012654,"39":0.012654,"40":0,"41":0,"42":0,"43":0.006327,"44":0,"45":0,"46":0,"47":0,"48":0.06327,"49":0.025308,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.018981},E:{"4":0,"5":0,"6":0,"7":0.006327,"8":0.018981,"9":0.006327,"10":0.164502,"11":2.030967,_:"0","3.1":0,"3.2":0,"5.1":0.012654,"6.1":0.050616,"7.1":0,"9.1":0.25308,"10.1":0.423909},G:{"8":0.0489607761552,"3.2":0.0030600485097,"4.0-4.1":0.0030600485097,"4.2-4.3":0.416166597319,"5.0-5.1":0.0703811157231,"6.0-6.1":0.0459007276455,"7.0-7.1":0.195843104621,"8.1-8.4":0.336605336067,"9.0-9.2":0.20502325015,"9.3":1.41374241148,"10.0-10.2":2.62246157281,"10.3":5.46830668684,"11.0-11.2":19.7648533242},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.0664267165575,"4.2-4.3":0.187016755847,"4.4":0.53141373246,"4.4.3-4.4.4":0.307606795136},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.012654,"9":0.06327,"10":0.025308,"11":2.834496,"5.5":0},B:{"12":0.044289,"13":0.132867,"14":1.221111,"15":2.182815,"16":0.297369,"17":0},P:{"4":0.601882266667,"5":0.345525004938,"6.2":3.5667097284},N:{"10":0,"11":0.007346},J:{"7":0.0080806,"10":0.0323224},O:{"0":0.135901},H:{"0":0.0869339776632},L:{"0":26.53942},R:{_:"0"},M:{"0":0.025711},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/TD.js b/publi/node_modules/caniuse-lite/data/regions/TD.js deleted file mode 100644 index 15dee91..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/TD.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.000923,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0.001846,"41":0,"42":0.000923,"43":0.000923,"44":0,"45":0.001846,"46":0,"47":0,"48":0,"49":0.005538,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0.016614,"56":0.000923,"57":0.006461,"58":0.000923,"59":0.001846,"60":0.003692,"61":0.091377,"62":0.171678,"63":0.003692,"64":0,"65":0},C:{"2":0,"3":0.038766,"4":0,"5":0,"6":0.000923,"7":0,"8":0,"9":0.000923,"10":0,"11":0.000923,"12":0,"13":0.000923,"14":0.000923,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0.000923,"32":0,"33":0,"34":0,"35":0.000923,"36":0,"37":0.000923,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0.000923,"44":0.000923,"45":0.000923,"46":0,"47":0.011076,"48":0.000923,"49":0.000923,"50":0,"51":0,"52":0.013845,"53":0,"54":0.001846,"55":0.003692,"56":0.083993,"57":0.071994,"58":0,"59":0,"60":0,"3.5":0,"3.6":0},F:{"9":0,"11":0,"12":0.000923,"15":0.000923,"16":0.03692,"17":0,"18":0,"19":0.005538,"20":0.042458,"21":0.000923,"22":0,"23":0.002769,"24":0,"25":0,"26":0.000923,"27":0,"28":0.016614,"29":0.000923,"30":0.001846,"31":0.003692,"32":0,"33":0,"34":0,"35":0.001846,"36":0.000923,"37":0.000923,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0.001846,"44":0.000923,"45":0,"46":0,"47":0.000923,"48":0.095992,"49":0.035074,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0.000923,"11.1":0,"11.5":0,"11.6":0,"12.1":0.066456},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0.000923,"11":0.00923,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0.000923,"10.1":0.000923},G:{"8":0.00425956071214,"3.2":0.000266222544509,"4.0-4.1":0.000266222544509,"4.2-4.3":0.0362062660532,"5.0-5.1":0.0061231185237,"6.0-6.1":0.00399333816763,"7.0-7.1":0.0170382428486,"8.1-8.4":0.029284479896,"9.0-9.2":0.0178369104821,"9.3":0.122994815563,"10.0-10.2":0.228152720644,"10.3":0.475739687037,"11.0-11.2":1.71953141498},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.102170149673,"4.2-4.3":0.28764826754,"4.4":0.817361197381,"4.4.3-4.4.4":0.473126385407},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.00576875,"9":0,"10":0.0023075,"11":0.06114875,"5.5":0},B:{"12":0.001846,"13":0.003692,"14":0.001846,"15":0.041535,"16":0,"17":0},P:{"4":0.81693,"5":0.418676625,"6.2":0.153174375},N:{"10":0.0233408571429,"11":0.0583521428571},J:{"7":0.0072616,"10":0.0290464},O:{"0":24.044973},H:{"0":47.0752871237},L:{"0":11.872468},R:{_:"0"},M:{"0":0.099847},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/TG.js b/publi/node_modules/caniuse-lite/data/regions/TG.js deleted file mode 100644 index 3b276bb..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/TG.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.01482,"12":0,"13":0,"14":0.01482,"15":0,"16":0.002964,"17":0,"18":0,"19":0.02964,"20":0,"21":0,"22":0,"23":0.002964,"24":0,"25":0,"26":0.005928,"27":0,"28":0,"29":0.032604,"30":0.002964,"31":0.082992,"32":0.002964,"33":0.008892,"34":0,"35":0,"36":0.002964,"37":0,"38":0,"39":0,"40":0.020748,"41":0,"42":0,"43":0.157092,"44":0.002964,"45":0.005928,"46":0.011856,"47":0.017784,"48":0.026676,"49":0.047424,"50":0.005928,"51":0.008892,"52":0.005928,"53":0.005928,"54":0.002964,"55":0.041496,"56":0.011856,"57":0.056316,"58":0.017784,"59":0.04446,"60":0.041496,"61":1.061112,"62":1.618344,"63":0.011856,"64":0.002964,"65":0},C:{"2":0,"3":0.085956,"4":0.008892,"5":0.002964,"6":0,"7":0,"8":0.002964,"9":0.002964,"10":0,"11":0.002964,"12":0.008892,"13":0.002964,"14":0.002964,"15":0.002964,"16":0.011856,"17":0,"18":0.002964,"19":0.011856,"20":0.002964,"21":0.008892,"22":0.002964,"23":0.011856,"24":0,"25":0.020748,"26":0.002964,"27":0.01482,"28":0.005928,"29":0.005928,"30":0.01482,"31":0.011856,"32":0.005928,"33":0.005928,"34":0.017784,"35":0.011856,"36":0.008892,"37":0.023712,"38":0.02964,"39":0.017784,"40":0.053352,"41":0.008892,"42":0.01482,"43":0.085956,"44":0.011856,"45":0.041496,"46":0.017784,"47":0.216372,"48":0.05928,"49":0.062244,"50":0.08892,"51":0.017784,"52":0.213408,"53":0.04446,"54":0.08892,"55":0.094848,"56":1.310088,"57":1.031472,"58":0.047424,"59":0,"60":0,"3.5":0,"3.6":0},F:{"9":0,"11":0,"12":0.005928,"15":0.008892,"16":0.005928,"17":0.005928,"18":0.080028,"19":0.005928,"20":0.035568,"21":0.002964,"22":0,"23":0.005928,"24":0,"25":0,"26":0,"27":0,"28":0.008892,"29":0.011856,"30":0.020748,"31":0.005928,"32":0,"33":0,"34":0.002964,"35":0,"36":0.008892,"37":0.002964,"38":0,"39":0,"40":0,"41":0,"42":0.005928,"43":0.032604,"44":0,"45":0,"46":0.002964,"47":0.005928,"48":0.263796,"49":0.127452,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.112632},E:{"4":0,"5":0,"6":0,"7":0.002964,"8":0,"9":0,"10":0.011856,"11":0.041496,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0.017784,"10.1":0.041496},G:{"8":0.00276731186237,"3.2":0.000172956991398,"4.0-4.1":0.000172956991398,"4.2-4.3":0.0235221508302,"5.0-5.1":0.00397801080216,"6.0-6.1":0.00259435487097,"7.0-7.1":0.0110692474495,"8.1-8.4":0.0190252690538,"9.0-9.2":0.0115881184237,"9.3":0.079906130026,"10.0-10.2":0.148224141628,"10.3":0.309074143629,"11.0-11.2":1.11712920744},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.455415416277,"4.2-4.3":1.28216955659,"4.4":3.64332333022,"4.4.3-4.4.4":2.10892369691},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.0529328484848,"9":0.0031136969697,"10":0.0217958787879,"11":0.227299878788,"5.5":0},B:{"12":0.02964,"13":0.032604,"14":0.035568,"15":0.053352,"16":0.011856,"17":0},P:{"4":0.56949384,"5":0.23978688,"6.2":0.18983128},N:{"10":0.159248133333,"11":0.523243866667},J:{"7":0.0239224,"10":0.0956896},O:{"0":17.245236},H:{"0":13.5023136976},L:{"0":38.466912},R:{_:"0"},M:{"0":0.372908},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/TH.js b/publi/node_modules/caniuse-lite/data/regions/TH.js deleted file mode 100644 index 5ea0aff..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/TH.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0.003009,"11":0.012036,"12":0.003009,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0.006018,"23":0,"24":0,"25":0.003009,"26":0.003009,"27":0,"28":0,"29":0.003009,"30":0.003009,"31":0.006018,"32":0.003009,"33":0.006018,"34":0.006018,"35":0.003009,"36":0.003009,"37":0.003009,"38":0.012036,"39":0.003009,"40":0.006018,"41":0.003009,"42":0.003009,"43":0.138414,"44":0.003009,"45":0.003009,"46":0.009027,"47":0.048144,"48":0.006018,"49":0.189567,"50":0.006018,"51":0.015045,"52":0.006018,"53":0.006018,"54":0.009027,"55":0.021063,"56":0.036108,"57":0.045135,"58":0.081243,"59":0.045135,"60":0.069207,"61":2.401182,"62":3.523539,"63":0.027081,"64":0.021063,"65":0},C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0.003009,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0.003009,"27":0,"28":0,"29":0,"30":0.003009,"31":0,"32":0,"33":0,"34":0.003009,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0.006018,"44":0,"45":0.003009,"46":0.003009,"47":0.009027,"48":0.012036,"49":0.006018,"50":0.003009,"51":0.003009,"52":0.045135,"53":0.018054,"54":0.018054,"55":0.027081,"56":0.315945,"57":0.237711,"58":0.006018,"59":0,"60":0,"3.5":0,"3.6":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0.003009,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0.003009,"35":0,"36":0,"37":0.246738,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0.015045,"44":0,"45":0,"46":0,"47":0,"48":0.042126,"49":0.027081,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},E:{"4":0,"5":0,"6":0,"7":0.027081,"8":0.006018,"9":0.006018,"10":0.024072,"11":0.144432,_:"0","3.1":0,"3.2":0,"5.1":0.003009,"6.1":0,"7.1":0,"9.1":0.027081,"10.1":0.06018},G:{"8":0.022464920184,"3.2":0.0014040575115,"4.0-4.1":0.0014040575115,"4.2-4.3":0.190951821564,"5.0-5.1":0.0322933227646,"6.0-6.1":0.0210608626725,"7.0-7.1":0.0898596807361,"8.1-8.4":0.154446326265,"9.0-9.2":0.0940718532707,"9.3":0.648674570314,"10.0-10.2":1.20327728736,"10.3":2.50905077305,"11.0-11.2":9.06880746679},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.129249550982,"4.2-4.3":0.363887197381,"4.4":1.03399640786,"4.4.3-4.4.4":0.598524843779},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0.00302768944099,"8":0.0635814782609,"9":0.0696368571429,"10":0.0454153416149,"11":0.30579663354,"5.5":0},B:{"12":0.003009,"13":0.006018,"14":0.024072,"15":0.087261,"16":0.015045,"17":0},P:{"4":2.711634125,"5":1.402569375,"6.2":1.8700925},N:{"10":0.0537769230769,"11":0.0860430769231},J:{"7":0,"10":0},O:{"0":1.300326},H:{"0":1.07221759794},L:{"0":63.896561},R:{_:"0"},M:{"0":0.132829},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/TJ.js b/publi/node_modules/caniuse-lite/data/regions/TJ.js deleted file mode 100644 index f083f51..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/TJ.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0.002933,"6":0,"7":0,"8":0.005866,"9":0,"10":0.002933,"11":0.005866,"12":0.014665,"13":0.002933,"14":0.005866,"15":0,"16":0.008799,"17":0.014665,"18":0.002933,"19":0,"20":0,"21":0,"22":0.002933,"23":0.002933,"24":0,"25":0,"26":0.002933,"27":0,"28":0.002933,"29":0.011732,"30":0.005866,"31":0.002933,"32":0.002933,"33":0.002933,"34":0.002933,"35":0.008799,"36":0.011732,"37":0.011732,"38":0.005866,"39":0.005866,"40":0.035196,"41":0.005866,"42":0.002933,"43":0.008799,"44":0.038129,"45":0.005866,"46":0.002933,"47":0.129052,"48":0.002933,"49":0.349027,"50":0.017598,"51":0.002933,"52":0.002933,"53":0.005866,"54":0.070392,"55":0.085057,"56":0.020531,"57":0.02933,"58":0.055727,"59":0.049861,"60":0.064526,"61":1.753934,"62":2.331735,"63":0.002933,"64":0.005866,"65":0},C:{"2":0,"3":0,"4":0.002933,"5":0.002933,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0.005866,"14":0,"15":0,"16":0.002933,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0.002933,"26":0,"27":0.002933,"28":0,"29":0.002933,"30":0.008799,"31":0.002933,"32":0,"33":0,"34":0.002933,"35":0.002933,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0.011732,"44":0,"45":0.002933,"46":0,"47":0.017598,"48":0.032263,"49":0.014665,"50":0.005866,"51":0.002933,"52":0.041062,"53":0.005866,"54":0.014665,"55":0.023464,"56":0.208243,"57":0.202377,"58":0.002933,"59":0,"60":0,"3.5":0.005866,"3.6":0.014665},F:{"9":0,"11":0.002933,"12":0.005866,"15":0.002933,"16":0.002933,"17":0.002933,"18":0.014665,"19":0.002933,"20":0.008799,"21":0.017598,"22":0.005866,"23":0,"24":0.008799,"25":0.005866,"26":0.002933,"27":0.002933,"28":0.017598,"29":0.014665,"30":0.278635,"31":0.011732,"32":0.017598,"33":0.008799,"34":0.002933,"35":0.017598,"36":0.041062,"37":0.05866,"38":0.002933,"39":0,"40":0.002933,"41":0.002933,"42":0.008799,"43":0.08799,"44":0.014665,"45":0.008799,"46":0.05866,"47":0.014665,"48":0.193578,"49":0.070392,"50":0,"9.5-9.6":0.002933,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0.014665,"11.5":0.002933,"11.6":0.011732,"12.1":0.079191},E:{"4":0,"5":0,"6":0,"7":0,"8":0.005866,"9":0,"10":0.002933,"11":0.05866,_:"0","3.1":0,"3.2":0,"5.1":0.002933,"6.1":0,"7.1":0,"9.1":0.002933,"10.1":0.008799},G:{"8":0.0109645993199,"3.2":0.000685287457491,"4.0-4.1":0.000685287457491,"4.2-4.3":0.0931990942188,"5.0-5.1":0.0157616115223,"6.0-6.1":0.0102793118624,"7.0-7.1":0.0438583972795,"8.1-8.4":0.0753816203241,"9.0-9.2":0.0459142596519,"9.3":0.316602805361,"10.0-10.2":0.58729135107,"10.3":1.22460868654,"11.0-11.2":4.42627168794},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.287185505145,"4.2-4.3":0.808537652947,"4.4":2.29748404116,"4.4.3-4.4.4":1.32988980075},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0.032263,"8":0.035196,"9":0.005866,"10":0.158382,"11":0.131985,"5.5":0},B:{"12":0,"13":0.02933,"14":0.026397,"15":0.038129,"16":0.026397,"17":0},P:{"4":3.50450953717,"5":1.62303244052,"6.2":0.434187022305},N:{"10":0.0650164,"11":0.2600656},J:{"7":0.0014134,"10":0.0056536},O:{"0":6.890325},H:{"0":24.5276627526},L:{"0":28.638151},R:{_:"0"},M:{"0":0.049469},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/TK.js b/publi/node_modules/caniuse-lite/data/regions/TK.js deleted file mode 100644 index 4d2d50d..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/TK.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"51":8.752972,"61":2.49734,"62":45.001248,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 52 53 54 55 56 57 58 59 60 63 64 65"},C:{"56":3.127816,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 57 58 59 60 3.5 3.6"},F:{_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},E:{"4":0,_:"0 5 6 7 8 9 10 11 3.1 3.2 5.1 6.1 7.1 9.1 10.1"},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0,"6.0-6.1":0,"7.0-7.1":0,"8.1-8.4":0,"9.0-9.2":0,"9.3":0,"10.0-10.2":0,"10.3":0,"11.0-11.2":0},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.113986651076,"4.2-4.3":0.320916263798,"4.4":0.911893208606,"4.4.3-4.4.4":0.52784587652},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"11":4.372392,_:"6 7 8 9 10 5.5"},B:{"13":4.372392,"14":5.002868,_:"12 15 16 17"},P:{_:"4 5 6.2"},N:{"10":0.159248133333,"11":0.523243866667},J:{"7":0,"10":0},O:{_:"0"},H:{"0":0},L:{"0":20.631748},R:{_:"0"},M:{"0":4.376582},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/TL.js b/publi/node_modules/caniuse-lite/data/regions/TL.js deleted file mode 100644 index 22e11ad..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/TL.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0.011336,"5":0.005668,"6":0,"7":0.002834,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0.022672,"19":0.002834,"20":0.002834,"21":0.002834,"22":0,"23":0.002834,"24":0,"25":0,"26":0.002834,"27":0.008502,"28":0,"29":0,"30":0,"31":0.002834,"32":0.002834,"33":0.002834,"34":0.002834,"35":0.002834,"36":0,"37":0,"38":0.008502,"39":0,"40":0.031174,"41":0,"42":0.008502,"43":0.612144,"44":0.002834,"45":0.079352,"46":0,"47":0.002834,"48":0.002834,"49":0.039676,"50":0,"51":0.005668,"52":0.002834,"53":0.002834,"54":0,"55":0.036842,"56":0.036842,"57":0.008502,"58":0.022672,"59":0.039676,"60":0.036842,"61":1.025908,"62":1.479348,"63":0.036842,"64":0.008502,"65":0},C:{"2":0,"3":0,"4":0.045344,"5":0.011336,"6":0.005668,"7":0.031174,"8":0.008502,"9":0.011336,"10":0.022672,"11":0.01417,"12":0.036842,"13":0.008502,"14":0.005668,"15":0.008502,"16":0.031174,"17":0.025506,"18":0.011336,"19":0.005668,"20":0.005668,"21":0.01417,"22":0.005668,"23":0.005668,"24":0.008502,"25":0.002834,"26":0.002834,"27":0.005668,"28":0.002834,"29":0.017004,"30":0.02834,"31":0.011336,"32":0.01417,"33":0.022672,"34":0.011336,"35":0.022672,"36":0.01417,"37":0.01417,"38":0.031174,"39":0.005668,"40":0.045344,"41":0.022672,"42":0.005668,"43":0.065182,"44":0.068016,"45":0.019838,"46":0.01417,"47":0.121862,"48":0.07085,"49":0.008502,"50":0.017004,"51":0.005668,"52":0.05668,"53":0.019838,"54":0.039676,"55":0.045344,"56":0.855868,"57":0.82186,"58":0.133198,"59":0,"60":0,"3.5":0.008502,"3.6":0.019838},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0.002834,"19":0.002834,"20":0.002834,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0.002834,"29":0.005668,"30":0.01417,"31":0.005668,"32":0,"33":0,"34":0.02834,"35":0,"36":0,"37":0.15587,"38":0,"39":0,"40":0,"41":0,"42":0.002834,"43":0.019838,"44":0.005668,"45":0.002834,"46":0.011336,"47":0.002834,"48":0.1417,"49":0.04251,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0.002834,"11.1":0,"11.5":0,"11.6":0,"12.1":0.02834},E:{"4":0,"5":0.002834,"6":0,"7":0,"8":0.005668,"9":0.01417,"10":0.051012,"11":0.096356,_:"0","3.1":0,"3.2":0,"5.1":0.005668,"6.1":0,"7.1":0,"9.1":0.019838,"10.1":0.068016},G:{"8":0.00635534466893,"3.2":0.000397209041808,"4.0-4.1":0.000397209041808,"4.2-4.3":0.0540204296859,"5.0-5.1":0.00913580796159,"6.0-6.1":0.00595813562713,"7.0-7.1":0.0254213786757,"8.1-8.4":0.0436929945989,"9.0-9.2":0.0266130058012,"9.3":0.183510577315,"10.0-10.2":0.34040814883,"10.3":0.709812557712,"11.0-11.2":2.56557320104},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.378856361085,"4.2-4.3":1.06662637044,"4.4":3.03085088868,"4.4.3-4.4.4":1.75439637979},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.0628064411765,"9":0.0256935441176,"10":0.0456774117647,"11":0.254080602941,"5.5":0},B:{"12":0.034008,"13":0.059514,"14":0.022672,"15":0.053846,"16":0.065182,"17":0},P:{"4":2.70088561755,"5":0.35537968652,"6.2":0.182766695925},N:{"10":0.0399248571429,"11":0.239549142857},J:{"7":0.0014332,"10":0.0057328},O:{"0":9.251306},H:{"0":10.7192032302},L:{"0":50.415276},R:{_:"0"},M:{"0":0.136154},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/TM.js b/publi/node_modules/caniuse-lite/data/regions/TM.js deleted file mode 100644 index 526d217..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/TM.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0.013884,"5":0,"6":0,"7":0.002314,"8":0.006942,"9":0,"10":0.002314,"11":0.009256,"12":0.009256,"13":0.006942,"14":0,"15":0,"16":0.002314,"17":0.002314,"18":0.004628,"19":0.002314,"20":0.002314,"21":0.002314,"22":0.025454,"23":0,"24":0,"25":0.002314,"26":0.002314,"27":0.002314,"28":0,"29":0,"30":0.002314,"31":0.004628,"32":0,"33":0.002314,"34":0.004628,"35":0.002314,"36":0.002314,"37":0,"38":0.016198,"39":0.004628,"40":0.013884,"41":0.002314,"42":0,"43":0.002314,"44":0.016198,"45":0.006942,"46":0.002314,"47":0.004628,"48":0.006942,"49":0.1157,"50":0.002314,"51":0.002314,"52":0.002314,"53":0.025454,"54":0.030082,"55":0.085618,"56":0.006942,"57":0.006942,"58":0.009256,"59":0.009256,"60":0.03471,"61":1.8512,"62":0.668746,"63":0.01157,"64":0.002314,"65":0},C:{"2":0.002314,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0.002314,"15":0,"16":0,"17":0.002314,"18":0,"19":0,"20":0,"21":0.002314,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0.004628,"30":0,"31":0,"32":0,"33":0,"34":0.002314,"35":0,"36":0.004628,"37":0.002314,"38":0.002314,"39":0,"40":0,"41":0.004628,"42":0,"43":0.020826,"44":0,"45":0.002314,"46":0,"47":0.006942,"48":0.006942,"49":0.002314,"50":0.002314,"51":0.002314,"52":0.03471,"53":0,"54":0.009256,"55":0.02314,"56":0.238342,"57":0.004628,"58":0,"59":0,"60":0,"3.5":0.002314,"3.6":0.006942},F:{"9":0,"11":0,"12":0.004628,"15":0,"16":0,"17":0,"18":0.004628,"19":0,"20":0,"21":0,"22":0.002314,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0.006942,"30":0.004628,"31":0.002314,"32":0,"33":0.018512,"34":0.013884,"35":0.002314,"36":0.037024,"37":0.02314,"38":0,"39":0,"40":0,"41":0,"42":0.020826,"43":0.016198,"44":0,"45":0.002314,"46":0,"47":0.006942,"48":0.141154,"49":0.013884,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0.002314,"10.6":0.002314,"11.1":0,"11.5":0,"11.6":0.004628,"12.1":0.013884},E:{"4":0,"5":0.002314,"6":0,"7":0,"8":0.006942,"9":0,"10":0,"11":0.01157,_:"0","3.1":0,"3.2":0,"5.1":0.002314,"6.1":0,"7.1":0,"9.1":0.002314,"10.1":0.006942},G:{"8":0.0204375595119,"3.2":0.00127734746949,"4.0-4.1":0.00127734746949,"4.2-4.3":0.173719255851,"5.0-5.1":0.0293789917984,"6.0-6.1":0.0191602120424,"7.0-7.1":0.0817502380476,"8.1-8.4":0.140508221644,"9.0-9.2":0.0855822804561,"9.3":0.590134530906,"10.0-10.2":1.09468678136,"10.3":2.28261992799,"11.0-11.2":8.25038730546},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.739051702526,"4.2-4.3":2.08071479326,"4.4":5.91241362021,"4.4.3-4.4.4":3.422377884},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0.012427037037,"7":0,"8":0.079533037037,"9":0.0248540740741,"10":0.0596497777778,"11":0.226172074074,"5.5":0},B:{"12":0.01157,"13":0.006942,"14":0.01157,"15":0.108758,"16":0.004628,"17":0},P:{"4":11.9120264621,"5":2.99085392621,"6.2":0.97639561165},N:{"10":0.048312,"11":0.036234},J:{"7":0.0107604,"10":0.0430416},O:{"0":3.950604},H:{"0":0.640341525773},L:{"0":42.631952},R:{_:"0"},M:{"0":0.107604},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/TN.js b/publi/node_modules/caniuse-lite/data/regions/TN.js deleted file mode 100644 index 190c9de..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/TN.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0.007179,"5":0,"6":0,"7":0,"8":0.007179,"9":0,"10":0.007179,"11":0.021537,"12":0.007179,"13":0,"14":0.007179,"15":0,"16":0.007179,"17":0,"18":0.007179,"19":0,"20":0,"21":0.007179,"22":0.007179,"23":0.007179,"24":0.007179,"25":0,"26":0.014358,"27":0.014358,"28":0.007179,"29":0.100506,"30":0.014358,"31":0.035895,"32":0.007179,"33":0.021537,"34":0.007179,"35":0.007179,"36":0.021537,"37":0.007179,"38":0.014358,"39":0.043074,"40":0.028716,"41":0.014358,"42":0.007179,"43":0.129222,"44":0.021537,"45":0.007179,"46":0.028716,"47":0.050253,"48":0.093327,"49":2.175237,"50":0.035895,"51":0.064611,"52":0.021537,"53":0.057432,"54":0.050253,"55":0.129222,"56":0.265623,"57":0.301518,"58":0.452277,"59":0.366129,"60":0.524067,"61":14.092377,"62":20.876532,"63":0.351771,"64":0.043074,"65":0},C:{"2":0,"3":0.014358,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0.050253,"33":0,"34":0,"35":0.014358,"36":0.007179,"37":0,"38":0.007179,"39":0,"40":0.007179,"41":0.007179,"42":0.007179,"43":0.021537,"44":0.021537,"45":0.014358,"46":0.007179,"47":0.043074,"48":0.179475,"49":0.014358,"50":0.014358,"51":0.021537,"52":0.294339,"53":0.050253,"54":0.057432,"55":0.057432,"56":1.586559,"57":1.371189,"58":0.028716,"59":0,"60":0,"3.5":0,"3.6":0.014358},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0.007179,"19":0.007179,"20":0.007179,"21":0.007179,"22":0.014358,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0.014358,"29":0.028716,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0.050253,"37":0.014358,"38":0,"39":0,"40":0,"41":0,"42":0.007179,"43":0.021537,"44":0.007179,"45":0.014358,"46":0.021537,"47":0.035895,"48":0.868659,"49":0.545604,"50":0.007179,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.014358},E:{"4":0.021537,"5":0.007179,"6":0.007179,"7":0.050253,"8":0.043074,"9":0.028716,"10":0.093327,"11":0.344592,_:"0","3.1":0,"3.2":0,"5.1":0.043074,"6.1":0.014358,"7.1":0,"9.1":0.165117,"10.1":0.660468},G:{"8":0.00537815883177,"3.2":0.000336134926985,"4.0-4.1":0.000336134926985,"4.2-4.3":0.04571435007,"5.0-5.1":0.00773110332066,"6.0-6.1":0.00504202390478,"7.0-7.1":0.0215126353271,"8.1-8.4":0.0369748419684,"9.0-9.2":0.022521040108,"9.3":0.155294336267,"10.0-10.2":0.288067632426,"10.3":0.600673114523,"11.0-11.2":2.1710954934},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.19725116464,"4.2-4.3":0.555337894294,"4.4":1.57800931712,"4.4.3-4.4.4":0.913424623948},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0.0158246774194,"7":0.023737016129,"8":0.609250080645,"9":0.0553863709677,"10":0.134509758065,"11":0.632987096774,"5.5":0},B:{"12":0.035895,"13":0.064611,"14":0.150759,"15":0.323055,"16":0.043074,"17":0},P:{"4":0.993256955801,"5":0.348151922652,"6.2":0.511988121547},N:{"10":0.059241,"11":0.355446},J:{"7":0.0073346,"10":0.0293384},O:{"0":0.665756},H:{"0":1.49294396735},L:{"0":34.520642},R:{_:"0"},M:{"0":0.143871},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/TO.js b/publi/node_modules/caniuse-lite/data/regions/TO.js deleted file mode 100644 index a14aafe..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/TO.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0.007197,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0.007197,"39":0,"40":0.021591,"41":0,"42":0,"43":0,"44":0,"45":19.057656,"46":0,"47":0.064773,"48":0,"49":0.323865,"50":0.100758,"51":0,"52":0.021591,"53":0,"54":0,"55":0.640533,"56":0.07197,"57":0.151137,"58":0.266289,"59":1.979175,"60":0.057576,"61":4.857975,"62":6.642831,"63":0.014394,"64":0.014394,"65":0},C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0.007197,"13":0,"14":0.007197,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0.007197,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0.021591,"33":0,"34":0,"35":0,"36":0,"37":0.007197,"38":0,"39":0,"40":0.007197,"41":0.014394,"42":0.035985,"43":0.014394,"44":0.050379,"45":0,"46":0.057576,"47":0.064773,"48":0.064773,"49":0.050379,"50":0.014394,"51":0.064773,"52":0.057576,"53":0.035985,"54":0.021591,"55":0.028788,"56":3.749637,"57":2.554935,"58":0.244698,"59":0,"60":0,"3.5":0,"3.6":0.007197},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0.021591,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0.115152,"49":0.057576,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},E:{"4":0,"5":0,"6":0,"7":0,"8":0.007197,"9":0,"10":0.093561,"11":0.129546,_:"0","3.1":0,"3.2":0,"5.1":0.057576,"6.1":0,"7.1":0,"9.1":0.07197,"10.1":0.107955},G:{"8":0.0234889889978,"3.2":0.00146806181236,"4.0-4.1":0.00146806181236,"4.2-4.3":0.199656406481,"5.0-5.1":0.0337654216843,"6.0-6.1":0.0220209271854,"7.0-7.1":0.0939559559912,"8.1-8.4":0.16148679936,"9.0-9.2":0.0983601414283,"9.3":0.678244557311,"10.0-10.2":1.25812897319,"10.3":2.62342645869,"11.0-11.2":9.48221124605},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.084407333957,"4.2-4.3":0.237639109448,"4.4":0.675258671656,"4.4.3-4.4.4":0.390870884939},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.367047,"9":0.035985,"10":0.064773,"11":3.31062,"5.5":0},B:{"12":0.187122,"13":0.086364,"14":0.259092,"15":0.633336,"16":0,"17":0},P:{"4":1.41802294737,"5":0.924340884211,"6.2":0.651240168421},N:{"10":0,"11":0.145756},J:{"7":0.0022424,"10":0.0089696},O:{"0":0.288709},H:{"0":0.0769572800687},L:{"0":27.865403},R:{_:"0"},M:{"0":0.193407},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/TR.js b/publi/node_modules/caniuse-lite/data/regions/TR.js deleted file mode 100644 index f8632ea..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/TR.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.007378,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0.051646,"23":0,"24":0,"25":0,"26":0.018445,"27":0,"28":0,"29":0.007378,"30":0,"31":0.003689,"32":0,"33":0.003689,"34":0.03689,"35":0.003689,"36":0.003689,"37":0.003689,"38":0.033201,"39":0.007378,"40":0.003689,"41":0.003689,"42":0.003689,"43":0.011067,"44":0.011067,"45":0.007378,"46":0.014756,"47":0.022134,"48":0.018445,"49":0.468503,"50":0.011067,"51":0.011067,"52":0.011067,"53":0.011067,"54":0.018445,"55":0.051646,"56":0.088536,"57":0.066402,"58":0.103292,"59":0.106981,"60":0.143871,"61":3.781225,"62":5.334294,"63":0.014756,"64":0.003689,"65":0},C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0.003689,"39":0,"40":0,"41":0,"42":0.003689,"43":0.003689,"44":0.003689,"45":0.003689,"46":0,"47":0.007378,"48":0.011067,"49":0.003689,"50":0.003689,"51":0.003689,"52":0.03689,"53":0.007378,"54":0.007378,"55":0.007378,"56":0.25823,"57":0.188139,"58":0.003689,"59":0,"60":0,"3.5":0,"3.6":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0.003689,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0.011067,"32":0.003689,"33":0,"34":0,"35":0,"36":0.003689,"37":0,"38":0,"39":0,"40":0.003689,"41":0,"42":0,"43":0.029512,"44":0.003689,"45":0,"46":0.003689,"47":0.003689,"48":0.136493,"49":0.081158,"50":0.003689,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.003689},E:{"4":0,"5":0,"6":0,"7":0.007378,"8":0.003689,"9":0.003689,"10":0.011067,"11":0.099603,_:"0","3.1":0,"3.2":0,"5.1":0.003689,"6.1":0,"7.1":0,"9.1":0.018445,"10.1":0.040579},G:{"8":0.0224640192038,"3.2":0.00140400120024,"4.0-4.1":0.00140400120024,"4.2-4.3":0.190944163233,"5.0-5.1":0.0322920276055,"6.0-6.1":0.0210600180036,"7.0-7.1":0.0898560768154,"8.1-8.4":0.154440132026,"9.0-9.2":0.0940680804161,"9.3":0.648648554511,"10.0-10.2":1.20322902861,"10.3":2.50895014483,"11.0-11.2":9.06844375235},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.233420837231,"4.2-4.3":0.657169434051,"4.4":1.86736669785,"4.4.3-4.4.4":1.08091803087},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.0666857692308,"9":0.0444571794872,"10":0.0481619444444,"11":0.707610106838,"5.5":0},B:{"12":0.007378,"13":0.018445,"14":0.070091,"15":0.210273,"16":0.022134,"17":0},P:{"4":2.2555267389,"5":1.35538533393,"6.2":2.21414092718},N:{"10":0.0655373076923,"11":0.218457692308},J:{"7":0.0025244,"10":0.0100976},O:{"0":0.214574},H:{"0":0.519811695876},L:{"0":58.691619},R:{_:"0"},M:{"0":0.082043},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/TT.js b/publi/node_modules/caniuse-lite/data/regions/TT.js deleted file mode 100644 index 16d8da3..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/TT.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.005768,"12":0.005768,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0.034608,"23":0,"24":0,"25":0,"26":0.005768,"27":0,"28":0.005768,"29":0.092288,"30":0.005768,"31":0.005768,"32":0.005768,"33":0,"34":0.02884,"35":0.005768,"36":0.051912,"37":0.011536,"38":0.034608,"39":0.023072,"40":0.005768,"41":0.005768,"42":0,"43":0.017304,"44":0.005768,"45":0.011536,"46":0.005768,"47":0.005768,"48":0.005768,"49":0.467208,"50":0.02884,"51":0.011536,"52":0.017304,"53":0.011536,"54":0.069216,"55":0.02884,"56":0.02884,"57":0.149968,"58":0.109592,"59":0.294168,"60":0.138432,"61":7.486864,"62":10.428544,"63":0.034608,"64":0.063448,"65":0},C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0.005768,"35":0,"36":0,"37":0.005768,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0.005768,"44":0,"45":0.005768,"46":0.005768,"47":0.017304,"48":0.046144,"49":0.005768,"50":0.011536,"51":0.011536,"52":0.08652,"53":0.051912,"54":0.034608,"55":0.051912,"56":1.147832,"57":0.859432,"58":0.017304,"59":0,"60":0,"3.5":0,"3.6":0.011536},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0.051912,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0.011536,"29":0.017304,"30":0.023072,"31":0.08652,"32":0,"33":0,"34":0,"35":0,"36":0.005768,"37":0.005768,"38":0,"39":0,"40":0,"41":0,"42":0.005768,"43":0.178808,"44":0.005768,"45":0.011536,"46":0.005768,"47":0,"48":0.305704,"49":0.167272,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.005768},E:{"4":0,"5":0.011536,"6":0,"7":0.017304,"8":0.023072,"9":0.023072,"10":0.08652,"11":0.784448,_:"0","3.1":0,"3.2":0,"5.1":0.017304,"6.1":0.011536,"7.1":0,"9.1":0.092288,"10.1":0.484512},G:{"8":0.0191112014403,"3.2":0.00119445009002,"4.0-4.1":0.00119445009002,"4.2-4.3":0.162445212242,"5.0-5.1":0.0274723520704,"6.0-6.1":0.0179167513503,"7.0-7.1":0.0764448057612,"8.1-8.4":0.131389509902,"9.0-9.2":0.0800281560312,"9.3":0.551835941588,"10.0-10.2":1.02364372715,"10.3":2.13448231086,"11.0-11.2":7.71495313143},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.165106080449,"4.2-4.3":0.464837118803,"4.4":1.32084864359,"4.4.3-4.4.4":0.764568157156},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0.017304,"8":0.02884,"9":0.040376,"10":0.063448,"11":1.274728,"5.5":0},B:{"12":0.023072,"13":0.063448,"14":0.369152,"15":3.34544,"16":0.161504,"17":0},P:{"4":0.841654650888,"5":0.743279431953,"6.2":2.10960191716},N:{"10":0.034914,"11":0.197846},J:{"7":0.0347024,"10":0.1388096},O:{"0":0.376648},H:{"0":0.917507780069},L:{"0":46.16828},R:{_:"0"},M:{"0":0.241224},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/TV.js b/publi/node_modules/caniuse-lite/data/regions/TV.js deleted file mode 100644 index ec9f9f1..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/TV.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0.87883,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0.252186,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0.504372,"55":0,"56":0,"57":0,"58":0.252186,"59":0,"60":0,"61":19.043864,"62":23.927102,"63":0.504372,"64":0,"65":0},C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0.122272,"51":0.122272,"52":0.122272,"53":0,"54":0,"55":0.252186,"56":5.38761,"57":1.75766,"58":0,"59":0,"60":0,"3.5":0,"3.6":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0.252186,"10":0,"11":0.374458,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0,"10.1":0},G:{"8":0.0110243264653,"3.2":0.000689020404081,"4.0-4.1":0.000689020404081,"4.2-4.3":0.093706774955,"5.0-5.1":0.0158474692939,"6.0-6.1":0.0103353060612,"7.0-7.1":0.0440973058612,"8.1-8.4":0.0757922444489,"9.0-9.2":0.0461643670734,"9.3":0.318327426685,"10.0-10.2":0.590490486297,"10.3":1.23127946209,"11.0-11.2":4.45038278996},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.764890692236,"4.2-4.3":2.15346148737,"4.4":6.11912553789,"4.4.3-4.4.4":3.54203228251},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0,"10":0.504372,"11":0.748916,"5.5":0},B:{"12":0,"13":0,"14":0.252186,"15":0.748916,"16":0,"17":0},P:{"4":0.334836,"5":0,"6.2":0},N:{"10":0,"11":0},J:{"7":0,"10":0},O:{"0":4.850406},H:{"0":0.317001092784},L:{"0":13.74803},R:{_:"0"},M:{"0":0},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/TW.js b/publi/node_modules/caniuse-lite/data/regions/TW.js deleted file mode 100644 index 1860996..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/TW.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.011988,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0.005994,"29":0.035964,"30":0.023976,"31":0.017982,"32":0.017982,"33":0.011988,"34":0.005994,"35":0.005994,"36":0.035964,"37":0.035964,"38":0.041958,"39":0.011988,"40":0.017982,"41":0.023976,"42":0.011988,"43":0.047952,"44":0.041958,"45":0.02997,"46":0.041958,"47":0.05994,"48":0.071928,"49":0.92907,"50":0.047952,"51":0.077922,"52":0.023976,"53":0.023976,"54":0.047952,"55":0.131868,"56":0.107892,"57":0.071928,"58":0.14985,"59":0.131868,"60":0.245754,"61":9.266724,"62":12.509478,"63":0.035964,"64":0.023976,"65":0},C:{"2":0,"3":0.005994,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0.005994,"30":0,"31":0.005994,"32":0,"33":0,"34":0.017982,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0.005994,"41":0.005994,"42":0.005994,"43":0.011988,"44":0.005994,"45":0.011988,"46":0.005994,"47":0.017982,"48":0.041958,"49":0.017982,"50":0.035964,"51":0.047952,"52":0.155844,"53":0.011988,"54":0.023976,"55":0.035964,"56":0.821178,"57":0.617382,"58":0.011988,"59":0,"60":0,"3.5":0,"3.6":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0.005994,"19":0.005994,"20":0.005994,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0.011988,"29":0,"30":0,"31":0.005994,"32":0,"33":0,"34":0.005994,"35":0,"36":0.017982,"37":0.191808,"38":0,"39":0,"40":0.005994,"41":0,"42":0.005994,"43":0.017982,"44":0,"45":0,"46":0,"47":0,"48":0.095904,"49":0.047952,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.005994},E:{"4":0.011988,"5":0.005994,"6":0,"7":0.017982,"8":0.02997,"9":0.02997,"10":0.185814,"11":0.635364,_:"0","3.1":0,"3.2":0,"5.1":0.011988,"6.1":0.005994,"7.1":0,"9.1":0.113886,"10.1":0.371628},G:{"8":0.0338991094219,"3.2":0.00211869433887,"4.0-4.1":0.00211869433887,"4.2-4.3":0.288142430086,"5.0-5.1":0.048729969794,"6.0-6.1":0.031780415083,"7.0-7.1":0.135596437688,"8.1-8.4":0.233056377275,"9.0-9.2":0.141952520704,"9.3":0.978836784557,"10.0-10.2":1.81572104841,"10.3":3.78610678356,"11.0-11.2":13.6846467347},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.0811390926099,"4.2-4.3":0.22843775304,"4.4":0.649112740879,"4.4.3-4.4.4":0.375736413471},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0.0183887357143,"7":0.0183887357143,"8":0.674253642857,"9":0.3432564,"10":0.288090192857,"11":3.80646829286,"5.5":0},B:{"12":0.011988,"13":0.017982,"14":0.143856,"15":0.533466,"16":0.077922,"17":0},P:{"4":0.722978578199,"5":0.609367658768,"6.2":0.846917763033},N:{"10":0.012018,"11":0.024036},J:{"7":0.0008012,"10":0.0032048},O:{"0":0.30045},H:{"0":0.474077749141},L:{"0":38.106206},R:{_:"0"},M:{"0":0.112168},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/TZ.js b/publi/node_modules/caniuse-lite/data/regions/TZ.js deleted file mode 100644 index 0b1f682..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/TZ.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"10":0.001546,"11":0.035558,"13":0.003092,"18":0.004638,"20":0.001546,"21":0.010822,"22":0.009276,"23":0.001546,"25":0.004638,"26":0.004638,"27":0.003092,"29":0.003092,"30":0.006184,"31":0.006184,"32":0.001546,"33":0.010822,"34":0.009276,"36":0.001546,"37":0.004638,"38":0.003092,"39":0.001546,"40":0.004638,"42":0.010822,"43":0.075754,"44":0.00773,"45":0.004638,"46":0.006184,"47":0.003092,"48":0.004638,"49":0.097398,"50":0.009276,"51":0.012368,"52":0.01546,"53":0.004638,"54":0.009276,"55":0.091214,"56":0.021644,"57":0.174698,"58":0.072662,"59":0.034012,"60":0.060294,"61":2.159762,"62":3.240416,"63":0.03865,"64":0.024736,_:"4 5 6 7 8 9 12 14 15 16 17 19 24 28 35 41 65"},C:{"3":0.006184,"4":0.010822,"5":0.004638,"6":0.010822,"7":0.00773,"8":0.00773,"9":0.004638,"10":0.004638,"11":0.00773,"12":0.017006,"13":0.021644,"14":0.00773,"15":0.01546,"16":0.012368,"17":0.009276,"18":0.013914,"19":0.010822,"20":0.012368,"21":0.01546,"22":0.006184,"23":0.040196,"24":0.00773,"25":0.00773,"26":0.012368,"27":0.009276,"28":0.012368,"29":0.01546,"30":0.026282,"31":0.01546,"32":0.021644,"33":0.020098,"34":0.034012,"35":0.018552,"36":0.01546,"37":0.018552,"38":0.02319,"39":0.018552,"40":0.021644,"41":0.018552,"42":0.018552,"43":0.095852,"44":0.06957,"45":0.026282,"46":0.024736,"47":0.126772,"48":0.086576,"49":0.047926,"50":0.027828,"51":0.009276,"52":0.097398,"53":0.029374,"54":0.051018,"55":0.049472,"56":1.74698,"57":1.379032,"58":0.13141,_:"2 59 60 3.5","3.6":0.006184},F:{"15":0.001546,"16":0.004638,"17":0.001546,"18":0.001546,"19":0.003092,"20":0.003092,"28":0.001546,"33":0.003092,"34":0.001546,"35":0.001546,"36":0.032466,"37":0.004638,"38":0.003092,"40":0.003092,"41":0.003092,"42":0.02319,"43":0.049472,"44":0.00773,"45":0.009276,"46":0.010822,"47":0.010822,"48":0.613762,"49":0.389592,_:"9 11 12 21 22 23 24 25 26 27 29 30 31 32 39 50 9.5-9.6 10.5 11.1 11.5","10.0-10.1":0,"10.6":0.001546,"11.6":0.004638,"12.1":0.009276},E:{"4":0.006184,"5":0.001546,"6":0.00773,"7":0.004638,"8":0.03865,"9":0.026282,"10":0.074208,"11":0.27055,_:"0 3.1 3.2 6.1 7.1","5.1":0.013914,"9.1":0.05411,"10.1":0.142232},G:{"8":0.00189407481496,"3.2":0.000118379675935,"4.0-4.1":0.000118379675935,"4.2-4.3":0.0160996359272,"5.0-5.1":0.00272273254651,"6.0-6.1":0.00177569513903,"7.0-7.1":0.00757629925985,"8.1-8.4":0.0130217643529,"9.0-9.2":0.00793143828766,"9.3":0.0546914102821,"10.0-10.2":0.101451382276,"10.3":0.211544480896,"11.0-11.2":0.764614326865},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.211270916745,"4.2-4.3":0.594808888681,"4.4":1.69016733396,"4.4.3-4.4.4":0.978346860617},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0.00311783844011,"8":0.109124345404,"9":0.0140302729805,"10":0.0389729805014,"11":0.394406562674,_:"7 5.5"},B:{"12":0.068024,"13":0.074208,"14":0.088122,"15":0.148416,"16":0.01546,_:"17"},P:{"4":1.03838136126,"5":0.600632356021,"6.2":0.305406282723},N:{"10":0.215124107143,"11":0.418925892857},J:{"7":0.0185988,"10":0.0743952},O:{"0":19.31739},H:{"0":33.2233629794},L:{"0":21.589432},R:{_:"0"},M:{"0":0.355068},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/UA.js b/publi/node_modules/caniuse-lite/data/regions/UA.js deleted file mode 100644 index 6e1c8cc..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/UA.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0.008375,"5":0.008375,"6":0,"7":0,"8":0.008375,"9":0.008375,"10":0.008375,"11":0.05025,"12":0.008375,"13":0.01675,"14":0.008375,"15":0.01675,"16":0.01675,"17":0.01675,"18":0.041875,"19":0.01675,"20":0.008375,"21":0.01675,"22":0.025125,"23":0.01675,"24":0.01675,"25":0.008375,"26":0.01675,"27":0.025125,"28":0.01675,"29":0.175875,"30":0.008375,"31":0.025125,"32":0.008375,"33":0.01675,"34":0.0335,"35":0.008375,"36":0.008375,"37":0.01675,"38":0.01675,"39":0.067,"40":0.0335,"41":0.025125,"42":0.01675,"43":0.05025,"44":0.008375,"45":0.0335,"46":0.025125,"47":0.142375,"48":0.05025,"49":2.118875,"50":0.05025,"51":0.293125,"52":0.075375,"53":0.05025,"54":0.1005,"55":0.18425,"56":0.38525,"57":0.159125,"58":0.477375,"59":1.45725,"60":0.871,"61":14.698125,"62":22.52875,"63":0.08375,"64":0.11725,"65":0},C:{"2":0.008375,"3":0.01675,"4":0.008375,"5":0.008375,"6":0.008375,"7":0,"8":0,"9":0,"10":0.008375,"11":0.008375,"12":0.025125,"13":0.008375,"14":0.008375,"15":0.008375,"16":0.041875,"17":0.008375,"18":0.008375,"19":0.008375,"20":0.008375,"21":0.008375,"22":0.008375,"23":0.008375,"24":0.01675,"25":0.008375,"26":0.05025,"27":0.008375,"28":0.01675,"29":0.008375,"30":0.008375,"31":0.01675,"32":0.008375,"33":0.041875,"34":0.01675,"35":0.008375,"36":0.01675,"37":0.008375,"38":0.11725,"39":0.008375,"40":0.01675,"41":0.025125,"42":0.008375,"43":0.058625,"44":0.008375,"45":0.25125,"46":0.0335,"47":0.092125,"48":0.201,"49":0.041875,"50":0.058625,"51":0.041875,"52":1.080375,"53":0.1005,"54":0.175875,"55":0.276375,"56":2.671625,"57":2.068625,"58":0.05025,"59":0,"60":0,"3.5":0.025125,"3.6":0.1005},F:{"9":0,"11":0.008375,"12":0.0335,"15":0,"16":0,"17":0,"18":0.01675,"19":0,"20":0.01675,"21":0,"22":0.008375,"23":0,"24":0,"25":0.008375,"26":0.008375,"27":0.01675,"28":0.008375,"29":0.008375,"30":0.041875,"31":0.01675,"32":0.01675,"33":0.008375,"34":0.01675,"35":0.025125,"36":0.45225,"37":0.0335,"38":0.008375,"39":0.01675,"40":0.008375,"41":0.008375,"42":0.041875,"43":0.18425,"44":0.025125,"45":0.075375,"46":0.058625,"47":0.067,"48":3.073625,"49":2.001625,"50":0.025125,"9.5-9.6":0,"10.0-10.1":0.008375,"10.5":0.008375,"10.6":0.008375,"11.1":0.008375,"11.5":0.008375,"11.6":0.058625,"12.1":1.231125},E:{"4":0.01675,"5":0.025125,"6":0.008375,"7":0.075375,"8":0.01675,"9":0.025125,"10":0.108875,"11":1.415375,_:"0","3.1":0,"3.2":0,"5.1":0.025125,"6.1":0.01675,"7.1":0,"9.1":0.108875,"10.1":0.343375},G:{"8":0.010176035207,"3.2":0.00063600220044,"4.0-4.1":0.00063600220044,"4.2-4.3":0.0864962992599,"5.0-5.1":0.0146280506101,"6.0-6.1":0.0095400330066,"7.0-7.1":0.0407041408282,"8.1-8.4":0.0699602420484,"9.0-9.2":0.0426121474295,"9.3":0.293833016603,"10.0-10.2":0.545053885777,"10.3":1.13653593219,"11.0-11.2":4.10793821264},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.0924532273152,"4.2-4.3":0.260291393826,"4.4":0.739625818522,"4.4.3-4.4.4":0.428129560337},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0.00871,"7":0.02613,"8":0.31356,"9":0.10452,"10":0.16549,"11":0.90584,"5.5":0},B:{"12":0.01675,"13":0.0335,"14":0.134,"15":0.5025,"16":0.075375,"17":0},P:{"4":0.248015625,"5":0.134341796875,"6.2":0.279017578125},N:{"10":0.030875,"11":0.1235},J:{"7":0.002275,"10":0.0091},O:{"0":0.49725},H:{"0":1.15229531787},L:{"0":17.709125},R:{_:"0"},M:{"0":0.104},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/UG.js b/publi/node_modules/caniuse-lite/data/regions/UG.js deleted file mode 100644 index 8e6088f..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/UG.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.01178,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0.002356,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0.002356,"27":0,"28":0,"29":0,"30":0,"31":0.002356,"32":0,"33":0.004712,"34":0.002356,"35":0,"36":0.002356,"37":0.002356,"38":0.002356,"39":0,"40":0.016492,"41":0,"42":0,"43":0.01178,"44":0,"45":0.002356,"46":0.002356,"47":0.002356,"48":0.002356,"49":0.04712,"50":0.007068,"51":0.002356,"52":0.002356,"53":0.002356,"54":0.002356,"55":0.018848,"56":0.004712,"57":0.018848,"58":0.030628,"59":0.014136,"60":0.025916,"61":0.897636,"62":1.328784,"63":0.007068,"64":0.009424,"65":0},C:{"2":0,"3":0.002356,"4":0.002356,"5":0.002356,"6":0,"7":0.002356,"8":0.002356,"9":0.004712,"10":0.002356,"11":0.002356,"12":0.004712,"13":0.002356,"14":0.004712,"15":0.004712,"16":0.002356,"17":0.004712,"18":0.002356,"19":0.002356,"20":0.004712,"21":0.004712,"22":0.002356,"23":0.002356,"24":0.007068,"25":0.002356,"26":0.002356,"27":0.002356,"28":0.002356,"29":0.004712,"30":0.009424,"31":0.007068,"32":0.004712,"33":0.01178,"34":0.004712,"35":0.014136,"36":0.007068,"37":0.014136,"38":0.009424,"39":0.009424,"40":0.009424,"41":0.007068,"42":0.007068,"43":0.042408,"44":0.037696,"45":0.02356,"46":0.01178,"47":0.07068,"48":0.04712,"49":0.028272,"50":0.025916,"51":0.014136,"52":0.113088,"53":0.021204,"54":0.037696,"55":0.051832,"56":0.760988,"57":0.574864,"58":0.063612,"59":0,"60":0,"3.5":0,"3.6":0.002356},F:{"9":0,"11":0,"12":0.009424,"15":0.004712,"16":0.007068,"17":0.002356,"18":0.004712,"19":0.014136,"20":0.08246,"21":0.01178,"22":0.014136,"23":0.08246,"24":0.004712,"25":0.002356,"26":0.004712,"27":0.002356,"28":0.025916,"29":0.03534,"30":0.028272,"31":0.021204,"32":0,"33":0,"34":0.002356,"35":0.007068,"36":0.002356,"37":0.01178,"38":0,"39":0,"40":0,"41":0,"42":0.004712,"43":0.056544,"44":0.028272,"45":0.002356,"46":0.002356,"47":0.004712,"48":0.115444,"49":0.07068,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0.002356,"12.1":0.146072},E:{"4":0.002356,"5":0,"6":0,"7":0,"8":0.004712,"9":0.021204,"10":0.01178,"11":0.03534,_:"0","3.1":0,"3.2":0,"5.1":0.004712,"6.1":0,"7.1":0.002356,"9.1":0.01178,"10.1":0.02356},G:{"8":0.0025745885177,"3.2":0.000160911782356,"4.0-4.1":0.000160911782356,"4.2-4.3":0.0218840024005,"5.0-5.1":0.0037009709942,"6.0-6.1":0.00241367673535,"7.0-7.1":0.0102983540708,"8.1-8.4":0.0177002960592,"9.0-9.2":0.0107810894179,"9.3":0.0743412434487,"10.0-10.2":0.137901397479,"10.3":0.287549355071,"11.0-11.2":1.03932920224},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.215986548176,"4.2-4.3":0.608085204864,"4.4":1.72789238541,"4.4.3-4.4.4":1.00018386155},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.0272118,"9":0.0024738,"10":0.0296856,"11":0.1385328,"5.5":0},B:{"12":0.02356,"13":0.021204,"14":0.028272,"15":0.044764,"16":0.007068,"17":0},P:{"4":0.844097008696,"5":0.193227026087,"6.2":0.132207965217},N:{"10":0.311988444444,"11":0.559427555556},J:{"7":0.0275184,"10":0.1100736},O:{"0":4.525248},H:{"0":46.5618630515},L:{"0":19.247024},R:{_:"0"},M:{"0":0.336336},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/US.js b/publi/node_modules/caniuse-lite/data/regions/US.js deleted file mode 100644 index 7729960..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/US.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0.005729,"11":0.005729,"12":0,"13":0,"14":0,"15":0.011458,"16":0,"17":0,"18":0.005729,"19":0,"20":0.005729,"21":0.005729,"22":0.005729,"23":0,"24":0,"25":0.005729,"26":0,"27":0.028645,"28":0.011458,"29":0.11458,"30":0.051561,"31":0.028645,"32":0.034374,"33":0.005729,"34":0.011458,"35":0.011458,"36":0.068748,"37":0.097393,"38":0.040103,"39":0.011458,"40":0.011458,"41":0.022916,"42":0.005729,"43":0.034374,"44":0.011458,"45":0.011458,"46":0.011458,"47":0.017187,"48":0.022916,"49":0.34374,"50":0.022916,"51":0.045832,"52":0.05729,"53":0.028645,"54":0.051561,"55":0.091664,"56":0.160412,"57":0.091664,"58":0.200515,"59":0.320824,"60":0.607274,"61":6.319087,"62":8.450275,"63":0.040103,"64":0.040103,"65":0},C:{"2":0,"3":0.005729,"4":0.005729,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.005729,"12":0,"13":0,"14":0,"15":0,"16":0.005729,"17":0,"18":0,"19":0,"20":0,"21":0.005729,"22":0,"23":0.005729,"24":0.005729,"25":0.005729,"26":0,"27":0,"28":0.005729,"29":0.022916,"30":0,"31":0.011458,"32":0.005729,"33":0.005729,"34":0,"35":0.005729,"36":0.011458,"37":0.005729,"38":0.063019,"39":0.005729,"40":0.005729,"41":0.011458,"42":0.005729,"43":0.011458,"44":0.005729,"45":0.034374,"46":0.011458,"47":0.028645,"48":0.085935,"49":0.022916,"50":0.034374,"51":0.034374,"52":0.274992,"53":0.045832,"54":0.063019,"55":0.108851,"56":1.369231,"57":0.91664,"58":0.011458,"59":0,"60":0,"3.5":0,"3.6":0.005729},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0.005729,"32":0,"33":0,"34":0,"35":0,"36":0.005729,"37":0.005729,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0.017187,"44":0,"45":0.005729,"46":0.011458,"47":0.011458,"48":0.143225,"49":0.063019,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.005729},E:{"4":0.005729,"5":0.022916,"6":0,"7":0.005729,"8":0.040103,"9":0.063019,"10":0.223431,"11":1.66141,_:"0","3.1":0,"3.2":0,"5.1":0.028645,"6.1":0.017187,"7.1":0,"9.1":0.326553,"10.1":0.641648},G:{"8":0.0615533122625,"3.2":0.0038470820164,"4.0-4.1":0.0038470820164,"4.2-4.3":0.523203154231,"5.0-5.1":0.0884828863773,"6.0-6.1":0.057706230246,"7.0-7.1":0.24621324905,"8.1-8.4":0.423179021804,"9.0-9.2":0.257754495099,"9.3":1.77735189158,"10.0-10.2":3.29694928806,"10.3":6.87473556331,"11.0-11.2":24.8483027439},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.0727307436857,"4.2-4.3":0.204765016838,"4.4":0.581845949486,"4.4.3-4.4.4":0.336799289991},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0.0288771312804,"7":0.0115508525122,"8":0.155936508914,"9":0.121283951378,"10":0.103957672609,"11":3.13605645705,"5.5":0},B:{"12":0.022916,"13":0.040103,"14":0.320824,"15":1.60412,"16":0.309366,"17":0},P:{"4":0.369898348259,"5":0.543968159204,"6.2":1.27288549254},N:{"10":0.0121011666667,"11":0.0605058333333},J:{"7":0.004271,"10":0.017084},O:{"0":0.521062},H:{"0":0.101087671821},L:{"0":24.962476},R:{_:"0"},M:{"0":0.251989},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/UY.js b/publi/node_modules/caniuse-lite/data/regions/UY.js deleted file mode 100644 index f3c4453..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/UY.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.003214,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0.003214,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0.003214,"35":0,"36":0.006428,"37":0,"38":0.003214,"39":0.003214,"40":0.003214,"41":0,"42":0.003214,"43":0.009642,"44":0.003214,"45":0.003214,"46":0.012856,"47":0.009642,"48":0.244264,"49":0.308544,"50":0.003214,"51":0.003214,"52":0.003214,"53":0.003214,"54":0.006428,"55":0.070708,"56":0.028926,"57":0.36961,"58":0.04821,"59":0.041782,"60":0.073922,"61":2.741542,"62":3.87287,"63":0.012856,"64":0.003214,"65":0},C:{"2":0,"3":0.003214,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0.003214,"17":0.006428,"18":0,"19":0,"20":0.003214,"21":0,"22":0,"23":0,"24":0,"25":0.03214,"26":0,"27":0.009642,"28":0.003214,"29":0.003214,"30":0.012856,"31":0,"32":0,"33":0.028926,"34":0,"35":0.003214,"36":0,"37":0,"38":0.009642,"39":0.003214,"40":0.006428,"41":0,"42":0.003214,"43":0.01607,"44":0,"45":0.01607,"46":0.003214,"47":0.009642,"48":0.009642,"49":0.019284,"50":0.006428,"51":0.003214,"52":0.11249,"53":0.009642,"54":0.009642,"55":0.019284,"56":0.388894,"57":0.311758,"58":0.003214,"59":0,"60":0,"3.5":0,"3.6":0.006428},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0.006428,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0.003214,"30":0.003214,"31":0.003214,"32":0,"33":0,"34":0,"35":0,"36":0.003214,"37":0.003214,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0.025712,"44":0,"45":0,"46":0.003214,"47":0,"48":0.08035,"49":0.051424,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.003214},E:{"4":0,"5":0,"6":0,"7":0.006428,"8":0.012856,"9":0.003214,"10":0.019284,"11":0.170342,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0.035354,"10.1":0.051424},G:{"8":0.0107987869574,"3.2":0.000674924184837,"4.0-4.1":0.000674924184837,"4.2-4.3":0.0917896891378,"5.0-5.1":0.0155232562513,"6.0-6.1":0.0101238627726,"7.0-7.1":0.0431951478296,"8.1-8.4":0.0742416603321,"9.0-9.2":0.0452199203841,"9.3":0.311814973395,"10.0-10.2":0.578410026405,"10.3":1.2060895183,"11.0-11.2":4.35933530986},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.135138830683,"4.2-4.3":0.380467784846,"4.4":1.08111064546,"4.4.3-4.4.4":0.625796739008},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0.00325272289157,"8":0.0162636144578,"9":0.0162636144578,"10":0.0260217831325,"11":0.20817426506,"5.5":0},B:{"12":0.009642,"13":0.012856,"14":0.041782,"15":0.122132,"16":0.01607,"17":0},P:{"4":1.93743834375,"5":0.933216375,"6.2":1.02450928125},N:{"10":0.118941428571,"11":0.865028571429},J:{"7":0.0054288,"10":0.0217152},O:{"0":0.312156},H:{"0":1.35557928866},L:{"0":71.831818},R:{_:"0"},M:{"0":0.162864},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/UZ.js b/publi/node_modules/caniuse-lite/data/regions/UZ.js deleted file mode 100644 index cfb5b88..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/UZ.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0.005188,"5":0.057068,"6":0,"7":0.005188,"8":0.005188,"9":0.015564,"10":0.005188,"11":0.015564,"12":0.02594,"13":0.010376,"14":0.010376,"15":0.015564,"16":0.031128,"17":0.015564,"18":0.015564,"19":0.005188,"20":0.010376,"21":0.005188,"22":0.010376,"23":0.015564,"24":0.041504,"25":0.005188,"26":0.005188,"27":0.010376,"28":0.015564,"29":0.1297,"30":0.005188,"31":0.020752,"32":0.010376,"33":0.005188,"34":0.005188,"35":0.036316,"36":0.005188,"37":0.005188,"38":0.010376,"39":0.067444,"40":0.020752,"41":0.005188,"42":0.005188,"43":0.02594,"44":0.010376,"45":0.015564,"46":0.036316,"47":0.020752,"48":0.010376,"49":0.840456,"50":0.015564,"51":0.015564,"52":0.031128,"53":0.015564,"54":0.093384,"55":0.186768,"56":0.1297,"57":0.067444,"58":0.124512,"59":0.264588,"60":0.357972,"61":5.857252,"62":9.317648,"63":0.098572,"64":0.020752,"65":0},C:{"2":0.005188,"3":0.005188,"4":0.005188,"5":0.005188,"6":0,"7":0,"8":0,"9":0.005188,"10":0.005188,"11":0,"12":0.005188,"13":0.005188,"14":0.005188,"15":0,"16":0.005188,"17":0,"18":0.005188,"19":0.005188,"20":0.005188,"21":0.015564,"22":0.005188,"23":0.010376,"24":0.02594,"25":0.010376,"26":0.005188,"27":0,"28":0,"29":0,"30":0.015564,"31":0.005188,"32":0.005188,"33":0.020752,"34":0.005188,"35":0.005188,"36":0.005188,"37":0,"38":0.005188,"39":0.005188,"40":0.015564,"41":0.005188,"42":0.005188,"43":0.041504,"44":0.005188,"45":0.088196,"46":0.010376,"47":0.05188,"48":0.166016,"49":0.02594,"50":0.020752,"51":0.015564,"52":0.197144,"53":0.036316,"54":0.046692,"55":0.07782,"56":0.887148,"57":0.653688,"58":0.005188,"59":0,"60":0,"3.5":0.005188,"3.6":0.020752},F:{"9":0,"11":0,"12":0.015564,"15":0,"16":0,"17":0,"18":0.005188,"19":0.005188,"20":0.010376,"21":0.005188,"22":0.005188,"23":0.005188,"24":0.005188,"25":0,"26":0.005188,"27":0.005188,"28":0.005188,"29":0.031128,"30":0.015564,"31":0.005188,"32":0.020752,"33":0.005188,"34":0.010376,"35":0.010376,"36":0.114136,"37":0.015564,"38":0.005188,"39":0,"40":0,"41":0.005188,"42":0.046692,"43":0.062256,"44":0.005188,"45":0.015564,"46":0.067444,"47":0.119324,"48":0.970156,"49":0.46692,"50":0.015564,"9.5-9.6":0.326844,"10.0-10.1":0.005188,"10.5":0.005188,"10.6":0,"11.1":0.020752,"11.5":0.010376,"11.6":0.015564,"12.1":0.119324},E:{"4":0.010376,"5":0.010376,"6":0,"7":0.005188,"8":0.010376,"9":0.005188,"10":0.041504,"11":0.18158,_:"0","3.1":0,"3.2":0,"5.1":0.005188,"6.1":0.005188,"7.1":0,"9.1":0.015564,"10.1":0.036316},G:{"8":0.013237994799,"3.2":0.000827374674935,"4.0-4.1":0.000827374674935,"4.2-4.3":0.112522955791,"5.0-5.1":0.0190296175235,"6.0-6.1":0.012410620124,"7.0-7.1":0.0529519791958,"8.1-8.4":0.0910112142428,"9.0-9.2":0.0554341032206,"9.3":0.38224709982,"10.0-10.2":0.709060096419,"10.3":1.47851854411,"11.0-11.2":5.34401302541},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.281857998129,"4.2-4.3":0.793538671656,"4.4":2.25486398503,"4.4.3-4.4.4":1.30521934518},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0.0105717735849,"7":0.0105717735849,"8":0.327724981132,"9":0.0317153207547,"10":0.222007245283,"11":0.23786490566,"5.5":0},B:{"12":0.005188,"13":0.05188,"14":0.046692,"15":0.119324,"16":0.015564,"17":0},P:{"4":2.86074540284,"5":0.878657516588,"6.2":0.572149080569},N:{"10":0.0815209411765,"11":0.149455058824},J:{"7":0.0038496,"10":0.0153984},O:{"0":17.847708},H:{"0":2.90653068041},L:{"0":19.803792},R:{_:"0"},M:{"0":0.091428},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/VA.js b/publi/node_modules/caniuse-lite/data/regions/VA.js deleted file mode 100644 index 166fe7f..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/VA.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0.00916,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0.06412,"40":0.05496,"41":0.01832,"42":0,"43":0.02748,"44":0.00916,"45":0,"46":0.03664,"47":0.00916,"48":0,"49":1.74956,"50":0,"51":0.00916,"52":0,"53":0,"54":0,"55":0.0458,"56":0.33892,"57":0.00916,"58":0.02748,"59":0.01832,"60":1.03508,"61":17.51392,"62":24.7778,"63":0.03664,"64":0.0458,"65":0},C:{"2":0,"3":0.00916,"4":0,"5":0,"6":0.00916,"7":0,"8":0,"9":0,"10":0,"11":0.01832,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0.00916,"22":0.0458,"23":0,"24":0,"25":0,"26":0.00916,"27":0,"28":0,"29":0,"30":0.2748,"31":0,"32":0,"33":0,"34":0.02748,"35":0,"36":0.00916,"37":0,"38":0,"39":0.00916,"40":0,"41":0,"42":0.00916,"43":0.01832,"44":0.00916,"45":0.00916,"46":0,"47":0.37556,"48":0.3206,"49":0,"50":0,"51":0,"52":0.28396,"53":0.00916,"54":0.16488,"55":0.40304,"56":7.68524,"57":7.08984,"58":0.05496,"59":0,"60":0,"3.5":0,"3.6":0.03664},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0.01832,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0.11908,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0.11908,"49":0.06412,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},E:{"4":0.00916,"5":0,"6":0,"7":0,"8":0.10076,"9":0.00916,"10":0.08244,"11":2.66556,_:"0","3.1":0,"3.2":0,"5.1":0.01832,"6.1":0.0458,"7.1":0,"9.1":0.1832,"10.1":0.83356},G:{"8":0.0153614722945,"3.2":0.000960092018404,"4.0-4.1":0.000960092018404,"4.2-4.3":0.130572514503,"5.0-5.1":0.0220821164233,"6.0-6.1":0.0144013802761,"7.0-7.1":0.0614458891778,"8.1-8.4":0.105610122024,"9.0-9.2":0.064326165233,"9.3":0.443562512503,"10.0-10.2":0.822798859772,"10.3":1.71568443689,"11.0-11.2":6.20123434687},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.0129148737138,"4.2-4.3":0.0363603367633,"4.4":0.10331898971,"4.4.3-4.4.4":0.0598057998129},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.14656,"9":0.31144,"10":0.0458,"11":11.12024,"5.5":0},B:{"12":0.01832,"13":0.06412,"14":0.33892,"15":1.02592,"16":0.2748,"17":0},P:{"4":0.0699569230769,"5":0.0299815384615,"6.2":0.289821538462},N:{"10":0,"11":0.06132},J:{"7":0,"10":0},O:{"0":0.50568},H:{"0":0.019086185567},L:{"0":7.80896},R:{_:"0"},M:{"0":0},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/VC.js b/publi/node_modules/caniuse-lite/data/regions/VC.js deleted file mode 100644 index 830a520..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/VC.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0.026788,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0.006697,"29":0.006697,"30":0,"31":0.006697,"32":0,"33":0,"34":0.033485,"35":0,"36":0,"37":0,"38":0.006697,"39":0.006697,"40":0,"41":0.006697,"42":0.006697,"43":0.026788,"44":0.006697,"45":0.006697,"46":0.006697,"47":0,"48":0.006697,"49":0.448699,"50":0.013394,"51":0.013394,"52":0.006697,"53":0.013394,"54":0.060273,"55":0.026788,"56":0.113849,"57":0.207607,"58":0.060273,"59":0.073667,"60":0.160728,"61":8.719494,"62":12.235419,"63":0.026788,"64":0.040182,"65":0},C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0.006697,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0.006697,"36":0.013394,"37":0,"38":0.006697,"39":0.006697,"40":0,"41":0,"42":0,"43":0.006697,"44":0,"45":0.006697,"46":0,"47":0.033485,"48":0.006697,"49":0,"50":0,"51":0.006697,"52":0.046879,"53":0.006697,"54":0.087061,"55":0.020091,"56":1.640765,"57":0.997853,"58":0.020091,"59":0,"60":0,"3.5":0,"3.6":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0.026788,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0.006697,"29":0.006697,"30":0.006697,"31":0.006697,"32":0,"33":0.006697,"34":0,"35":0,"36":0.013394,"37":0.006697,"38":0.006697,"39":0,"40":0,"41":0,"42":0,"43":0.053576,"44":0,"45":0,"46":0,"47":0.026788,"48":0.542457,"49":0.442002,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.006697},E:{"4":0.006697,"5":0,"6":0,"7":0,"8":0.006697,"9":0.013394,"10":0.046879,"11":1.044732,_:"0","3.1":0,"3.2":0,"5.1":0.013394,"6.1":0.013394,"7.1":0,"9.1":0.046879,"10.1":0.107152},G:{"8":0.0148542876575,"3.2":0.000928392978596,"4.0-4.1":0.000928392978596,"4.2-4.3":0.126261445089,"5.0-5.1":0.0213530385077,"6.0-6.1":0.0139258946789,"7.0-7.1":0.0594171506301,"8.1-8.4":0.102123227646,"9.0-9.2":0.0622023295659,"9.3":0.428917556111,"10.0-10.2":0.795632782657,"10.3":1.65903825275,"11.0-11.2":5.99649024875},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.210072034612,"4.2-4.3":0.591433574369,"4.4":1.68057627689,"4.4.3-4.4.4":0.972795114125},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.0269523435583,"9":0.0606427730061,"10":0.0741189447853,"11":0.93659393865,"5.5":0},B:{"12":0.087061,"13":0.127243,"14":0.689791,"15":10.340168,"16":0.214304,"17":0},P:{"4":0.4386384,"5":0.25221708,"6.2":0.95403852},N:{"10":0.0119081842105,"11":0.440602815789},J:{"7":0.0244422,"10":0.0977688},O:{"0":0.591237},H:{"0":0.528474324742},L:{"0":40.657558},R:{_:"0"},M:{"0":0.072666},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/VE.js b/publi/node_modules/caniuse-lite/data/regions/VE.js deleted file mode 100644 index a6571cb..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/VE.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0.022608,"7":0,"8":0.007536,"9":0,"10":0,"11":0.022608,"12":0.007536,"13":0.007536,"14":0,"15":0,"16":0,"17":0,"18":0.007536,"19":0,"20":0.007536,"21":0.007536,"22":0.007536,"23":0.007536,"24":0.007536,"25":0.007536,"26":0.007536,"27":0.022608,"28":0.007536,"29":0.090432,"30":0.007536,"31":0.007536,"32":0.007536,"33":0.007536,"34":0.022608,"35":0.022608,"36":0.022608,"37":0.052752,"38":0.015072,"39":0.015072,"40":0.007536,"41":0.022608,"42":0.015072,"43":0.060288,"44":0.030144,"45":0.022608,"46":0.052752,"47":0.105504,"48":0.03768,"49":3.210336,"50":0.03768,"51":0.135648,"52":0.03768,"53":0.045216,"54":0.060288,"55":0.158256,"56":0.3768,"57":0.143184,"58":0.557664,"59":0.550128,"60":0.708384,"61":14.212896,"62":21.259056,"63":0.052752,"64":0.022608,"65":0},C:{"2":0.015072,"3":0.007536,"4":0,"5":0,"6":0,"7":0,"8":0.165792,"9":0,"10":0,"11":0,"12":0.007536,"13":0.007536,"14":0,"15":0,"16":0.007536,"17":0,"18":0,"19":0.007536,"20":0.007536,"21":0,"22":0,"23":0.03768,"24":0.007536,"25":0.007536,"26":0.030144,"27":0.26376,"28":0.022608,"29":0.015072,"30":0.007536,"31":0.015072,"32":0.007536,"33":0.007536,"34":0.007536,"35":0.015072,"36":0.007536,"37":0.015072,"38":0.03768,"39":0.022608,"40":0.030144,"41":0.022608,"42":0.015072,"43":0.082896,"44":0.015072,"45":0.105504,"46":0.015072,"47":0.090432,"48":0.158256,"49":0.045216,"50":0.052752,"51":0.052752,"52":0.844032,"53":0.07536,"54":0.128112,"55":0.143184,"56":2.494416,"57":2.117616,"58":0.030144,"59":0,"60":0,"3.5":0.007536,"3.6":0.082896},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0.015072,"18":0,"19":0,"20":0.007536,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0.007536,"29":0.007536,"30":0.007536,"31":0.015072,"32":0,"33":0.007536,"34":0,"35":0,"36":0.045216,"37":0.007536,"38":0,"39":0,"40":0,"41":0,"42":0.007536,"43":0.03768,"44":0.007536,"45":0.022608,"46":0.022608,"47":0.03768,"48":0.542592,"49":0.308976,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.022608},E:{"4":0,"5":0.022608,"6":0,"7":0.090432,"8":0.015072,"9":0.022608,"10":0.03768,"11":0.331584,_:"0","3.1":0,"3.2":0,"5.1":0.015072,"6.1":0.007536,"7.1":0.007536,"9.1":0.090432,"10.1":0.346656},G:{"8":0.00608070414083,"3.2":0.000380044008802,"4.0-4.1":0.000380044008802,"4.2-4.3":0.051685985197,"5.0-5.1":0.00874101220244,"6.0-6.1":0.00570066013203,"7.0-7.1":0.0243228165633,"8.1-8.4":0.0418048409682,"9.0-9.2":0.0254629485897,"9.3":0.175580332066,"10.0-10.2":0.325697715543,"10.3":0.679138643729,"11.0-11.2":2.45470425285},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.374354275023,"4.2-4.3":1.0539512666,"4.4":2.99483420019,"4.4.3-4.4.4":1.73354825819},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0.00771228070175,"7":0.0231368421053,"8":0.323915789474,"9":0.0694105263158,"10":0.115684210526,"11":0.778940350877,"5.5":0},B:{"12":0.03768,"13":0.03768,"14":0.105504,"15":0.233616,"16":0.030144,"17":0},P:{"4":0.199841432836,"5":0.178805492537,"6.2":0.326057074627},N:{"10":0.0937813333333,"11":0.293066666667},J:{"7":0.1113728,"10":0.4454912},O:{"0":0.243936},H:{"0":1.95251678351},L:{"0":28.723248},R:{_:"0"},M:{"0":0.105952},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/VG.js b/publi/node_modules/caniuse-lite/data/regions/VG.js deleted file mode 100644 index b3ef9eb..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/VG.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0.007322,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0.007322,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0.007322,"27":0,"28":0,"29":0.029288,"30":0,"31":0.03661,"32":0.007322,"33":0.051254,"34":0.014644,"35":0.007322,"36":0,"37":0,"38":0.007322,"39":0.014644,"40":0.051254,"41":0.007322,"42":0.007322,"43":0.885962,"44":0,"45":0.241626,"46":0,"47":0.519862,"48":0.21966,"49":0.490574,"50":0.556472,"51":0.014644,"52":0.021966,"53":0.014644,"54":0.336812,"55":4.122286,"56":1.295994,"57":0.607726,"58":1.53762,"59":6.128514,"60":2.496802,"61":6.26031,"62":6.794816,"63":0.095186,"64":0.051254,"65":0},C:{"2":0,"3":0.007322,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0.087864,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0.007322,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0.007322,"48":0.014644,"49":0.014644,"50":0.014644,"51":0.007322,"52":0.07322,"53":0.007322,"54":1.332604,"55":0.058576,"56":1.35457,"57":0.959182,"58":0.014644,"59":0,"60":0,"3.5":0,"3.6":0.007322},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0.007322,"18":0,"19":0,"20":0.014644,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0.007322,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0.007322,"40":0,"41":0,"42":0,"43":0.021966,"44":0.007322,"45":0,"46":0.395388,"47":0,"48":0.07322,"49":0.043932,"50":0.007322,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.007322},E:{"4":0.051254,"5":0.021966,"6":0,"7":0.03661,"8":0.007322,"9":0.014644,"10":0.043932,"11":0.322168,_:"0","3.1":0,"3.2":0,"5.1":0.007322,"6.1":0.007322,"7.1":0,"9.1":0.175728,"10.1":0.080542},G:{"8":0.0226209177836,"3.2":0.00141380736147,"4.0-4.1":0.00141380736147,"4.2-4.3":0.19227780116,"5.0-5.1":0.0325175693139,"6.0-6.1":0.0212071104221,"7.0-7.1":0.0904836711342,"8.1-8.4":0.155518809762,"9.0-9.2":0.0947250932186,"9.3":0.653179001,"10.0-10.2":1.21163290878,"10.3":2.52647375495,"11.0-11.2":9.13178174775},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.226556435921,"4.2-4.3":0.63784350421,"4.4":1.81245148737,"4.4.3-4.4.4":1.0491305725},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.793441267894,"9":0.260702130879,"10":0.340046257669,"11":4.14856434356,"5.5":0},B:{"12":0.043932,"13":0.102508,"14":0.314846,"15":1.178842,"16":0.18305,"17":0},P:{"4":0.890582646388,"5":1.00449438023,"6.2":0.828448973384},N:{"10":0.01339,"11":0.02678},J:{"7":0.0005356,"10":0.0021424},O:{"0":1.823718},H:{"0":0.187616446735},L:{"0":20.379058},R:{_:"0"},M:{"0":0.136578},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/VI.js b/publi/node_modules/caniuse-lite/data/regions/VI.js deleted file mode 100644 index 64c4e80..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/VI.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0.006003,"5":0.012006,"6":0.006003,"7":0.006003,"8":0.012006,"9":0.006003,"10":0.012006,"11":0.012006,"12":0.012006,"13":0.006003,"14":0.006003,"15":0.006003,"16":0.006003,"17":0.006003,"18":0.006003,"19":0.006003,"20":0.006003,"21":0.018009,"22":0.006003,"23":0.024012,"24":0.006003,"25":0.006003,"26":0.006003,"27":0.006003,"28":0.006003,"29":0.012006,"30":0.006003,"31":0.006003,"32":0.006003,"33":0.018009,"34":0.012006,"35":0.018009,"36":0.012006,"37":0.054027,"38":0.030015,"39":0.030015,"40":0.030015,"41":0.042021,"42":0.036018,"43":0.024012,"44":0.018009,"45":0.006003,"46":0,"47":0,"48":0,"49":0.312156,"50":0.006003,"51":0.012006,"52":0.036018,"53":0.012006,"54":0.006003,"55":0.006003,"56":0.012006,"57":0.024012,"58":0.126063,"59":0.306153,"60":0.354177,"61":5.76288,"62":10.169082,"63":0.006003,"64":0.006003,"65":0},C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0.054027,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0.006003,"32":0,"33":0.018009,"34":0,"35":0,"36":0.006003,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0.012006,"44":0,"45":0.006003,"46":0,"47":0.006003,"48":0.036018,"49":0.006003,"50":0,"51":0,"52":0.198099,"53":0.006003,"54":0.156078,"55":0.030015,"56":1.656828,"57":1.248624,"58":0.006003,"59":0,"60":0,"3.5":0,"3.6":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0.036018,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0.012006,"36":0.096048,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0.006003,"48":0.06003,"49":0.012006,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},E:{"4":0,"5":0.006003,"6":0,"7":0,"8":0.018009,"9":0.078039,"10":0.06003,"11":1.116558,_:"0","3.1":0,"3.2":0,"5.1":0.036018,"6.1":0,"7.1":0,"9.1":0.348174,"10.1":0.486243},G:{"8":0.0482232046409,"3.2":0.00301395029006,"4.0-4.1":0.00301395029006,"4.2-4.3":0.409897239448,"5.0-5.1":0.0693208566713,"6.0-6.1":0.0452092543509,"7.0-7.1":0.192892818564,"8.1-8.4":0.331534531906,"9.0-9.2":0.201934669434,"9.3":1.39244503401,"10.0-10.2":2.58295539858,"10.3":5.38592916833,"11.0-11.2":19.4671049235},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.0642243171188,"4.2-4.3":0.18081615435,"4.4":0.51379453695,"4.4.3-4.4.4":0.297407991581},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.024012,"9":0.084042,"10":0.018009,"11":3.313656,"5.5":0},B:{"12":0.024012,"13":0.096048,"14":0.576288,"15":5.150574,"16":0.18009,"17":0},P:{"4":0.473490769231,"5":1.08687653846,"6.2":2.63648269231},N:{"10":0,"11":0.223832},J:{"7":0.0007994,"10":0.0031976},O:{"0":1.642767},H:{"0":0.560047003436},L:{"0":24.698878},R:{_:"0"},M:{"0":0.11991},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/VN.js b/publi/node_modules/caniuse-lite/data/regions/VN.js deleted file mode 100644 index c5fc831..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/VN.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.00807,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0.02421,"19":0,"20":0,"21":0,"22":0.00807,"23":0.00807,"24":0,"25":0,"26":0,"27":0,"28":0.00807,"29":0.0807,"30":0.00807,"31":0.01614,"32":0.00807,"33":0,"34":0.01614,"35":0.00807,"36":0.01614,"37":0.01614,"38":0.02421,"39":0.01614,"40":0.00807,"41":0.05649,"42":0.00807,"43":0.06456,"44":0.02421,"45":0.01614,"46":0.07263,"47":1.39611,"48":0.06456,"49":1.50102,"50":0.03228,"51":0.09684,"52":0.04035,"53":0.04035,"54":0.14526,"55":0.15333,"56":0.45192,"57":0.21789,"58":0.51648,"59":0.46806,"60":0.6456,"61":11.41905,"62":16.72911,"63":0.19368,"64":0.03228,"65":0},C:{"2":0,"3":0.01614,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0.00807,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0.00807,"22":0.00807,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0.00807,"30":0.00807,"31":0.00807,"32":0,"33":0.01614,"34":0.00807,"35":0.00807,"36":0.00807,"37":0.00807,"38":0.00807,"39":0.00807,"40":0.00807,"41":0.00807,"42":0.01614,"43":0.03228,"44":0.00807,"45":0.00807,"46":0.00807,"47":0.04842,"48":0.20175,"49":0.02421,"50":0.03228,"51":0.02421,"52":0.2421,"53":0.05649,"54":0.10491,"55":4.01886,"56":1.18629,"57":1.02489,"58":0.03228,"59":0,"60":0,"3.5":0,"3.6":0.00807},F:{"9":0,"11":0,"12":0.00807,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0.01614,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0.00807,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0.00807,"37":0.12105,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0.03228,"44":0,"45":0.01614,"46":0.02421,"47":0.02421,"48":0.27438,"49":0.14526,"50":0.00807,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.00807},E:{"4":0.00807,"5":0,"6":0,"7":0.91191,"8":0.03228,"9":0.04842,"10":0.12105,"11":0.69402,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0.11298,"10.1":0.33894},G:{"8":0.0170492658532,"3.2":0.00106557911582,"4.0-4.1":0.00106557911582,"4.2-4.3":0.144918759752,"5.0-5.1":0.0245083196639,"6.0-6.1":0.0159836867373,"7.0-7.1":0.0681970634127,"8.1-8.4":0.117213702741,"9.0-9.2":0.0713938007602,"9.3":0.49229755151,"10.0-10.2":0.91320130226,"10.3":1.90418987998,"11.0-11.2":6.8825755091},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.0697032273152,"4.2-4.3":0.196241393826,"4.4":0.557625818522,"4.4.3-4.4.4":0.322779560337},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0.0168395665635,"7":0.0168395665635,"8":1.23770814241,"9":0.311531981424,"10":0.227334148607,"11":0.909336594427,"5.5":0},B:{"12":0.02421,"13":0.04035,"14":0.18561,"15":0.28245,"16":0.0807,"17":0},P:{"4":0.345333535354,"5":0.223451111111,"6.2":0.436745353535},N:{"10":0.172928,"11":0.961912},J:{"7":0.01737,"10":0.06948},O:{"0":1.59804},H:{"0":0.496998213058},L:{"0":16.17031},R:{_:"0"},M:{"0":0.0579},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/VU.js b/publi/node_modules/caniuse-lite/data/regions/VU.js deleted file mode 100644 index 57f03ba..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/VU.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0.006924,"34":0,"35":0,"36":0,"37":0.006924,"38":0,"39":0,"40":0,"41":0,"42":0.006924,"43":1.017828,"44":0,"45":0.006924,"46":0,"47":0.159252,"48":0,"49":0.366972,"50":0.006924,"51":0,"52":0.013848,"53":0.006924,"54":0.013848,"55":0.249264,"56":0.055392,"57":0.117708,"58":0.221568,"59":0.110784,"60":0.505452,"61":15.33666,"62":10.095192,"63":0.013848,"64":0.124632,"65":0},C:{"2":0,"3":0.006924,"4":0,"5":0.006924,"6":0.013848,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0.006924,"17":0,"18":0.013848,"19":0,"20":0,"21":0,"22":0,"23":0.013848,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0.006924,"30":0,"31":0,"32":0.027696,"33":0,"34":0.06924,"35":0,"36":0.006924,"37":0,"38":0.20772,"39":0.006924,"40":0.006924,"41":0,"42":0,"43":0.096936,"44":0.013848,"45":0.027696,"46":0,"47":0.06924,"48":0.5193,"49":0.006924,"50":0.06924,"51":0.083088,"52":0.083088,"53":0.055392,"54":0.124632,"55":0.06924,"56":4.29288,"57":2.305692,"58":0.10386,"59":0,"60":0,"3.5":0,"3.6":0.048468},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0.027696,"37":0.013848,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0.297732,"49":0.048468,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},E:{"4":0,"5":0,"6":0,"7":0,"8":0.090012,"9":0.408516,"10":0.616236,"11":0.31158,_:"0","3.1":0,"3.2":0,"5.1":0.006924,"6.1":0.006924,"7.1":0,"9.1":0.152328,"10.1":0.422364},G:{"8":0.0225540212042,"3.2":0.00140962632527,"4.0-4.1":0.00140962632527,"4.2-4.3":0.191709180236,"5.0-5.1":0.0324214054811,"6.0-6.1":0.021144394879,"7.0-7.1":0.090216084817,"8.1-8.4":0.155058895779,"9.0-9.2":0.0944449637928,"9.3":0.651247362272,"10.0-10.2":1.20804976075,"10.3":2.51900224325,"11.0-11.2":9.10477643489},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.215199494855,"4.2-4.3":0.605869347053,"4.4":1.72159595884,"4.4.3-4.4.4":0.996539199252},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0.187328076372,"7":0,"8":0.612418711217,"9":0.0936640381862,"10":0.201737928401,"11":1.92371524582,"5.5":0},B:{"12":0.1731,"13":0.533148,"14":0.429288,"15":0.733944,"16":0.027696,"17":0},P:{"4":0.3063696,"5":0.1531848,"6.2":0.3063696},N:{"10":0.511165285714,"11":0.0978827142857},J:{"7":0.0006152,"10":0.0024608},O:{"0":1.29192},H:{"0":0.0698917938144},L:{"0":33.127416},R:{_:"0"},M:{"0":0.09228},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/WF.js b/publi/node_modules/caniuse-lite/data/regions/WF.js deleted file mode 100644 index bdff2f3..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/WF.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0.009214,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0.04607,"48":0,"49":0.096747,"50":0,"51":0,"52":0,"53":0,"54":0.027642,"55":0,"56":0,"57":0.064498,"58":0,"59":0.009214,"60":0.142817,"61":4.620821,"62":2.911624,"63":0,"64":0,"65":0},C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0.064498,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0.018428,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0.469914,"53":0,"54":0.078319,"55":0.04607,"56":1.01354,"57":0.571268,"58":0,"59":0,"60":0,"3.5":0,"3.6":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0.027642,"48":0.087533,"49":0.105961,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},E:{"4":0,"5":0,"6":0,"7":0,"8":0.009214,"9":0.009214,"10":0.018428,"11":0.133603,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0.027642,"10.1":0.027642},G:{"8":0.0116814370874,"3.2":0.000730089817964,"4.0-4.1":0.000730089817964,"4.2-4.3":0.099292215243,"5.0-5.1":0.0167920658132,"6.0-6.1":0.0109513472695,"7.0-7.1":0.0467257483497,"8.1-8.4":0.080309879976,"9.0-9.2":0.0489160178036,"9.3":0.337301495899,"10.0-10.2":0.625686973995,"10.3":1.3046705047,"11.0-11.2":4.71565013423},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.0159937090739,"4.2-4.3":0.0450284424696,"4.4":0.127949672591,"4.4.3-4.4.4":0.0740631758653},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0,"10":0.018428,"11":0.801618,"5.5":0},B:{"12":0.018428,"13":7.781223,"14":0.115175,"15":0.267206,"16":0,"17":0},P:{"4":0.0875836984026,"5":34.0262668294,"6.2":0.153271472204},N:{"10":0,"11":0},J:{"7":0,"10":0},O:{"0":0},H:{"0":0.12253785567},L:{"0":23.523235},R:{_:"0"},M:{"0":0.404475},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/WS.js b/publi/node_modules/caniuse-lite/data/regions/WS.js deleted file mode 100644 index eb313bc..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/WS.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0.03213,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0.02754,"28":0,"29":0,"30":0,"31":0,"32":0.11934,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0.04131,"40":0.01377,"41":0,"42":0,"43":0.00918,"44":0.00459,"45":0.00459,"46":0,"47":0.00918,"48":0,"49":0.16065,"50":0.00459,"51":0.00918,"52":0,"53":0,"54":0.00918,"55":0.33966,"56":0.02295,"57":0.01377,"58":0.05508,"59":0.24327,"60":0.08721,"61":5.78799,"62":6.76566,"63":0.00918,"64":0.01377,"65":0},C:{"2":0,"3":0.00459,"4":0.00918,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0.00918,"11":0,"12":0.01377,"13":0,"14":0,"15":0,"16":0.01377,"17":0,"18":0,"19":0.02295,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0.00918,"27":0.00459,"28":0,"29":0,"30":0.00918,"31":0,"32":0,"33":0.00918,"34":0,"35":0.01377,"36":0,"37":0,"38":0,"39":0,"40":0.00459,"41":0,"42":0.00459,"43":0.01836,"44":0.00918,"45":0.01377,"46":0.00459,"47":0.14229,"48":0.02754,"49":0.00459,"50":0.05508,"51":0.03213,"52":0.1377,"53":0,"54":0.10557,"55":0.24327,"56":1.38159,"57":1.15668,"58":0.00459,"59":0,"60":0,"3.5":0,"3.6":0.01377},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0.00459,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0.01377,"36":0,"37":0.05967,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0.08721,"44":0,"45":0,"46":0,"47":0,"48":0.11934,"49":0.12852,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.03213},E:{"4":0,"5":0.00918,"6":0.00459,"7":0.02754,"8":0.12393,"9":0.01377,"10":0.01836,"11":0.30294,_:"0","3.1":0,"3.2":0,"5.1":0.01377,"6.1":0,"7.1":0,"9.1":0.0459,"10.1":0.02295},G:{"8":0.00685122624525,"3.2":0.000428201640328,"4.0-4.1":0.000428201640328,"4.2-4.3":0.0582354230846,"5.0-5.1":0.00984863772755,"6.0-6.1":0.00642302460492,"7.0-7.1":0.027404904981,"8.1-8.4":0.0471021804361,"9.0-9.2":0.028689509902,"9.3":0.197829157832,"10.0-10.2":0.366968805761,"10.3":0.765196331266,"11.0-11.2":2.76575439488},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.0585820860617,"4.2-4.3":0.164931103835,"4.4":0.468656688494,"4.4.3-4.4.4":0.271280121609},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.132897651246,"9":0.0221496085409,"10":0.0332244128114,"11":1.3677383274,"5.5":0},B:{"12":0.0459,"13":0.41769,"14":0.10098,"15":0.44064,"16":0.01377,"17":0},P:{"4":1.01853072626,"5":0.468524134078,"6.2":0.336115139665},N:{"10":0,"11":0.02164},J:{"7":0.00541,"10":0.02164},O:{"0":30.99389},H:{"0":12.9633732131},L:{"0":6.24334},R:{_:"0"},M:{"0":0.04869},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/YE.js b/publi/node_modules/caniuse-lite/data/regions/YE.js deleted file mode 100644 index e3e42ee..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/YE.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.01284,"12":0.00214,"13":0.00214,"14":0.00214,"15":0,"16":0.00214,"17":0.00428,"18":0.00214,"19":0,"20":0.00214,"21":0,"22":0.00214,"23":0.00856,"24":0.00214,"25":0.00428,"26":0.00214,"27":0.00428,"28":0.01498,"29":0.00214,"30":0.00428,"31":0.02996,"32":0.0107,"33":0.02354,"34":0.00428,"35":0.00214,"36":0.00642,"37":0.0107,"38":0.00642,"39":0.0214,"40":0.01926,"41":0.00428,"42":0.00214,"43":0.0535,"44":0.00642,"45":0.01284,"46":0.00856,"47":0.01284,"48":0.01284,"49":0.19688,"50":0.00856,"51":0.00856,"52":0.01284,"53":0.00856,"54":0.0107,"55":0.05564,"56":0.0321,"57":0.06848,"58":0.04708,"59":0.03424,"60":0.10272,"61":0.85814,"62":1.1342,"63":0.00428,"64":0.00214,"65":0},C:{"2":0,"3":0.00214,"4":0.00214,"5":0,"6":0.00428,"7":0,"8":0,"9":0.00214,"10":0.00214,"11":0.00214,"12":0.00214,"13":0.01284,"14":0,"15":0.00214,"16":0.00214,"17":0.00214,"18":0.00214,"19":0.00214,"20":0.00214,"21":0.00214,"22":0,"23":0.00214,"24":0.00214,"25":0.00214,"26":0.00214,"27":0.00214,"28":0,"29":0.00856,"30":0.00428,"31":0.00428,"32":0.00214,"33":0.00428,"34":0.00428,"35":0.00856,"36":0.00642,"37":0.00428,"38":0.00428,"39":0.00214,"40":0.00428,"41":0.00428,"42":0.00642,"43":0.02996,"44":0.00856,"45":0.02354,"46":0.00642,"47":0.03852,"48":0.01712,"49":0.05778,"50":0.0321,"51":0.00856,"52":0.06848,"53":0.01284,"54":0.02996,"55":0.0321,"56":0.3638,"57":0.2354,"58":0.00642,"59":0,"60":0,"3.5":0,"3.6":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0.00214,"19":0,"20":0.00428,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0.00428,"28":0,"29":0.00428,"30":0.00428,"31":0.00856,"32":0.00214,"33":0,"34":0.00214,"35":0.00214,"36":0.00214,"37":0.00856,"38":0,"39":0,"40":0,"41":0,"42":0.00214,"43":0.0107,"44":0,"45":0,"46":0,"47":0,"48":0.00214,"49":0.00214,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.02354},E:{"4":0,"5":0,"6":0,"7":0.00214,"8":0.00214,"9":0,"10":0.00428,"11":0.00856,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0.00642,"10.1":0.00214},G:{"8":0.00694097219444,"3.2":0.000433810762152,"4.0-4.1":0.000433810762152,"4.2-4.3":0.0589982636527,"5.0-5.1":0.00997764752951,"6.0-6.1":0.00650716143229,"7.0-7.1":0.0277638887778,"8.1-8.4":0.0477191838368,"9.0-9.2":0.0290653210642,"9.3":0.200420572114,"10.0-10.2":0.371775823165,"10.3":0.775219831966,"11.0-11.2":2.80198371274},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":1.41656950421,"4.2-4.3":3.98818798877,"4.4":11.3325560337,"4.4.3-4.4.4":6.55980647334},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.0265810526316,"9":0.0044301754386,"10":0.00664526315789,"11":0.0886035087719,"5.5":0},B:{"12":0.00642,"13":0.0107,"14":0.01284,"15":0.01498,"16":0.00214,"17":0},P:{"4":2.64871792208,"5":0.651992103896,"6.2":0.621429974026},N:{"10":0.009825,"11":0.029475},J:{"7":0.001572,"10":0.006288},O:{"0":4.37016},H:{"0":2.80538525773},L:{"0":53.59094},R:{_:"0"},M:{"0":0.47946},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/YT.js b/publi/node_modules/caniuse-lite/data/regions/YT.js deleted file mode 100644 index 1ca6a42..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/YT.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0.011498,"25":0,"26":0.005749,"27":0,"28":0,"29":0,"30":0,"31":0.005749,"32":0,"33":0.005749,"34":0,"35":0.005749,"36":0.592147,"37":0,"38":0,"39":0.005749,"40":0.011498,"41":0.005749,"42":0,"43":0.005749,"44":0,"45":0,"46":0,"47":0,"48":0.034494,"49":0.080486,"50":0,"51":0.017247,"52":0.011498,"53":0.005749,"54":0.005749,"55":0.080486,"56":0.034494,"57":0.05749,"58":0.068988,"59":0.074737,"60":0.120729,"61":6.318151,"62":11.141562,"63":0.022996,"64":0.028745,"65":0},C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0.051741,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0.005749,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0.005749,"32":0,"33":0,"34":0.005749,"35":0,"36":0.005749,"37":0,"38":0.034494,"39":0,"40":0.005749,"41":0.005749,"42":0.011498,"43":0.05749,"44":0,"45":0.022996,"46":0.005749,"47":0.034494,"48":0.017247,"49":0.017247,"50":0.034494,"51":0.011498,"52":0.109231,"53":0.034494,"54":0.063239,"55":0.074737,"56":2.604297,"57":2.408831,"58":0.017247,"59":0,"60":0,"3.5":0,"3.6":0},F:{"9":0,"11":0,"12":0,"15":0.005749,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0.005749,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0.005749,"43":0.120729,"44":0,"45":0.005749,"46":0,"47":0.005749,"48":0.626641,"49":0.333442,"50":0.005749,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},E:{"4":0,"5":0.005749,"6":0,"7":0,"8":0,"9":0.011498,"10":0.022996,"11":0.735872,_:"0","3.1":0,"3.2":0,"5.1":0.017247,"6.1":0,"7.1":0,"9.1":0.063239,"10.1":0.189717},G:{"8":0.0153236039208,"3.2":0.000957725245049,"4.0-4.1":0.000957725245049,"4.2-4.3":0.130250633327,"5.0-5.1":0.0220276806361,"6.0-6.1":0.0143658786757,"7.0-7.1":0.0612944156831,"8.1-8.4":0.105349776955,"9.0-9.2":0.0641675914183,"9.3":0.442469063213,"10.0-10.2":0.820770535007,"10.3":1.7114550129,"11.0-11.2":6.18594735777},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.1261853087,"4.2-4.3":0.355260176801,"4.4":1.0094824696,"4.4.3-4.4.4":0.584335044902},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.005749,"9":0.034494,"10":0.028745,"11":0.586398,"5.5":0},B:{"12":0.080486,"13":0.298948,"14":0.701378,"15":1.374011,"16":0.063239,"17":0},P:{"4":0.610935184834,"5":0.439444606635,"6.2":1.21115220853},N:{"10":0.063765,"11":0.51012},J:{"7":0.0017004,"10":0.0068016},O:{"0":0.089271},H:{"0":0.354162350515},L:{"0":52.011247},R:{_:"0"},M:{"0":0.093522},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/ZA.js b/publi/node_modules/caniuse-lite/data/regions/ZA.js deleted file mode 100644 index b428d8d..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/ZA.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.01586,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0.003172,"19":0,"20":0,"21":0.003172,"22":0.003172,"23":0,"24":0,"25":0,"26":0.006344,"27":0,"28":0.003172,"29":0.003172,"30":0.003172,"31":0.006344,"32":0.003172,"33":0.003172,"34":0.003172,"35":0.003172,"36":0.006344,"37":0.003172,"38":0.006344,"39":0.003172,"40":0.025376,"41":0.003172,"42":0.003172,"43":0.009516,"44":0.006344,"45":0.003172,"46":0.03172,"47":0.006344,"48":0.003172,"49":0.1586,"50":0.009516,"51":0.012688,"52":0.006344,"53":0.006344,"54":0.012688,"55":0.057096,"56":0.034892,"57":0.041236,"58":0.044408,"59":0.038064,"60":0.069784,"61":2.198196,"62":2.927756,"63":0.025376,"64":0.009516,"65":0},C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0.006344,"20":0.003172,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0.003172,"30":0.003172,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0.006344,"37":0.003172,"38":0.003172,"39":0.003172,"40":0.006344,"41":0.003172,"42":0,"43":0.006344,"44":0.003172,"45":0.01586,"46":0.003172,"47":0.01586,"48":0.022204,"49":0.006344,"50":0.009516,"51":0.006344,"52":0.085644,"53":0.009516,"54":0.019032,"55":0.019032,"56":0.482144,"57":0.371124,"58":0.025376,"59":0,"60":0,"3.5":0,"3.6":0.003172},F:{"9":0,"11":0,"12":0,"15":0,"16":0.003172,"17":0,"18":0.003172,"19":0.003172,"20":0.009516,"21":0.006344,"22":0.009516,"23":0.003172,"24":0.003172,"25":0,"26":0.003172,"27":0.003172,"28":0.022204,"29":0.01586,"30":0.025376,"31":0.019032,"32":0.003172,"33":0,"34":0.003172,"35":0.006344,"36":0.006344,"37":0.012688,"38":0,"39":0,"40":0,"41":0,"42":0.003172,"43":0.082472,"44":0.006344,"45":0,"46":0.003172,"47":0.003172,"48":0.091988,"49":0.050752,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0.003172,"12.1":0.019032},E:{"4":0,"5":0.003172,"6":0,"7":0.003172,"8":0.009516,"9":0.012688,"10":0.028548,"11":0.228384,_:"0","3.1":0,"3.2":0,"5.1":0.006344,"6.1":0.003172,"7.1":0.009516,"9.1":0.044408,"10.1":0.120536},G:{"8":0.0144971010202,"3.2":0.000906068813763,"4.0-4.1":0.000906068813763,"4.2-4.3":0.123225358672,"5.0-5.1":0.0208395827165,"6.0-6.1":0.0135910322064,"7.0-7.1":0.0579884040808,"8.1-8.4":0.0996675695139,"9.0-9.2":0.0607066105221,"9.3":0.418603791958,"10.0-10.2":0.776500973395,"10.3":1.61914497019,"11.0-11.2":5.85229846809},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.142161627689,"4.2-4.3":0.400239659495,"4.4":1.13729302152,"4.4.3-4.4.4":0.6583176913},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0.00317951658768,"7":0.00635903317536,"8":0.0540517819905,"9":0.0572312985782,"10":0.0572312985782,"11":1.16370307109,"5.5":0},B:{"12":0.022204,"13":0.050752,"14":0.139568,"15":0.320372,"16":0.028548,"17":0},P:{"4":4.80948529336,"5":2.72745702784,"6.2":2.1861296788},N:{"10":0.18208,"11":0.77384},J:{"7":0.3154536,"10":1.2618144},O:{"0":3.82368},H:{"0":13.2453697113},L:{"0":38.683876},R:{_:"0"},M:{"0":0.245808},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/ZM.js b/publi/node_modules/caniuse-lite/data/regions/ZM.js deleted file mode 100644 index 3742886..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/ZM.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.005397,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0.001799,"27":0,"28":0.001799,"29":0.001799,"30":0,"31":0.001799,"32":0.001799,"33":0.007196,"34":0,"35":0,"36":0.001799,"37":0.001799,"38":0.001799,"39":0,"40":0.007196,"41":0,"42":0,"43":0.016191,"44":0.001799,"45":0.001799,"46":0.003598,"47":0.003598,"48":0.001799,"49":0.034181,"50":0.007196,"51":0.003598,"52":0.001799,"53":0.001799,"54":0.001799,"55":0.019789,"56":0.005397,"57":0.028784,"58":0.014392,"59":0.005397,"60":0.014392,"61":0.527107,"62":0.723198,"63":0.007196,"64":0.001799,"65":0},C:{"2":0,"3":0.001799,"4":0,"5":0.001799,"6":0.001799,"7":0,"8":0.001799,"9":0.001799,"10":0.001799,"11":0,"12":0.001799,"13":0.001799,"14":0.001799,"15":0.001799,"16":0.001799,"17":0,"18":0.001799,"19":0.001799,"20":0.001799,"21":0.001799,"22":0.001799,"23":0.001799,"24":0,"25":0.001799,"26":0,"27":0.001799,"28":0,"29":0.001799,"30":0.001799,"31":0.001799,"32":0,"33":0.001799,"34":0.001799,"35":0.001799,"36":0.001799,"37":0.001799,"38":0.001799,"39":0.001799,"40":0.001799,"41":0.001799,"42":0.001799,"43":0.010794,"44":0.005397,"45":0.010794,"46":0.001799,"47":0.021588,"48":0.010794,"49":0.005397,"50":0.005397,"51":0.003598,"52":0.028784,"53":0.003598,"54":0.008995,"55":0.010794,"56":0.268051,"57":0.205086,"58":0.019789,"59":0,"60":0,"3.5":0,"3.6":0},F:{"9":0,"11":0,"12":0.003598,"15":0.003598,"16":0.007196,"17":0.003598,"18":0.019789,"19":0.021588,"20":0.03598,"21":0.025186,"22":0.005397,"23":0.016191,"24":0.003598,"25":0,"26":0.001799,"27":0.003598,"28":0.016191,"29":0.016191,"30":0.019789,"31":0.012593,"32":0,"33":0,"34":0.001799,"35":0.001799,"36":0.003598,"37":0.005397,"38":0,"39":0,"40":0,"41":0,"42":0.008995,"43":0.032382,"44":0.005397,"45":0.001799,"46":0.001799,"47":0.003598,"48":0.10794,"49":0.059367,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0.001799,"11.5":0,"11.6":0.001799,"12.1":0.151116},E:{"4":0,"5":0.001799,"6":0,"7":0.001799,"8":0.001799,"9":0.005397,"10":0.010794,"11":0.055769,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0.001799,"7.1":0.003598,"9.1":0.012593,"10.1":0.01799},G:{"8":0.00230251490298,"3.2":0.000143907181436,"4.0-4.1":0.000143907181436,"4.2-4.3":0.0195713766753,"5.0-5.1":0.00330986517303,"6.0-6.1":0.00215860772154,"7.0-7.1":0.00921005961192,"8.1-8.4":0.015829789958,"9.0-9.2":0.00964178115623,"9.3":0.0664851178236,"10.0-10.2":0.123328454491,"10.3":0.257162133227,"11.0-11.2":0.929496484897},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.184141047708,"4.2-4.3":0.518427872778,"4.4":1.47312838167,"4.4.3-4.4.4":0.852714697848},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0.0018411640625,"8":0.0276174609375,"9":0.0128881484375,"10":0.0349821171875,"11":0.158340109375,"5.5":0},B:{"12":0.026985,"13":0.03598,"14":0.043176,"15":0.064764,"16":0.007196,"17":0},P:{"4":1.013727,"5":0.450545333333,"6.2":0.348148666667},N:{"10":0.273575343511,"11":1.28461465649},J:{"7":0.090211,"10":0.360844},O:{"0":29.466193},H:{"0":30.2880543832},L:{"0":14.3902},R:{_:"0"},M:{"0":0.196824},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/ZW.js b/publi/node_modules/caniuse-lite/data/regions/ZW.js deleted file mode 100644 index dde7055..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/ZW.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.007448,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0.003724,"20":0.003724,"21":0,"22":0,"23":0,"24":0,"25":0.003724,"26":0.003724,"27":0.003724,"28":0,"29":0.003724,"30":0.003724,"31":0.003724,"32":0.007448,"33":0.014896,"34":0.003724,"35":0,"36":0.003724,"37":0.003724,"38":0.003724,"39":0.003724,"40":0.040964,"41":0.003724,"42":0.003724,"43":0.052136,"44":0.003724,"45":0.007448,"46":0.052136,"47":0.003724,"48":0.003724,"49":0.07448,"50":0.007448,"51":0.007448,"52":0.011172,"53":0.011172,"54":0.011172,"55":0.07448,"56":0.01862,"57":0.107996,"58":0.059584,"59":0.048412,"60":0.089376,"61":2.442944,"62":3.236156,"63":0.026068,"64":0.007448,"65":0},C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0.003724,"11":0.003724,"12":0.003724,"13":0,"14":0.003724,"15":0.007448,"16":0.003724,"17":0,"18":0.003724,"19":0,"20":0.003724,"21":0,"22":0.003724,"23":0,"24":0.003724,"25":0.003724,"26":0,"27":0.003724,"28":0.003724,"29":0.003724,"30":0.003724,"31":0.01862,"32":0.003724,"33":0.003724,"34":0.003724,"35":0.003724,"36":0.007448,"37":0.003724,"38":0.007448,"39":0.003724,"40":0.01862,"41":0.011172,"42":0.007448,"43":0.040964,"44":0.022344,"45":0.033516,"46":0.014896,"47":0.07448,"48":0.040964,"49":0.029792,"50":0.007448,"51":0.01862,"52":0.115444,"53":0.01862,"54":0.052136,"55":0.063308,"56":1.355536,"57":0.994308,"58":0.085652,"59":0,"60":0,"3.5":0,"3.6":0.003724},F:{"9":0,"11":0.003724,"12":0.026068,"15":0.003724,"16":0.003724,"17":0.003724,"18":0.01862,"19":0.003724,"20":0.044688,"21":0.044688,"22":0.007448,"23":0.048412,"24":0,"25":0,"26":0.003724,"27":0.003724,"28":0.033516,"29":0.03724,"30":0.059584,"31":0.029792,"32":0.003724,"33":0,"34":0.007448,"35":0.014896,"36":0.014896,"37":0.014896,"38":0.003724,"39":0,"40":0.003724,"41":0.003724,"42":0.03724,"43":0.126616,"44":0.033516,"45":0.007448,"46":0.011172,"47":0.014896,"48":0.677768,"49":0.327712,"50":0.003724,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0.003724,"12.1":0.286748},E:{"4":0,"5":0.003724,"6":0,"7":0.003724,"8":0.007448,"9":0.01862,"10":0.040964,"11":0.145236,_:"0","3.1":0,"3.2":0,"5.1":0.01862,"6.1":0.003724,"7.1":0.003724,"9.1":0.022344,"10.1":0.048412},G:{"8":0.00409306821364,"3.2":0.000255816763353,"4.0-4.1":0.000255816763353,"4.2-4.3":0.034791079816,"5.0-5.1":0.00588378555711,"6.0-6.1":0.00383725145029,"7.0-7.1":0.0163722728546,"8.1-8.4":0.0281398439688,"9.0-9.2":0.0171397231446,"9.3":0.118187344669,"10.0-10.2":0.219234966193,"10.3":0.457144556111,"11.0-11.2":1.65232047449},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.390597100094,"4.2-4.3":1.09968106642,"4.4":3.12477680075,"4.4.3-4.4.4":1.80876503274},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0.003738,"7":0,"8":0.085974,"9":0.041118,"10":0.05607,"11":0.807408,"5.5":0},B:{"12":0.11172,"13":0.122892,"14":0.208544,"15":0.357504,"16":0.03724,"17":0},P:{"4":1.26292430769,"5":0.420974769231,"6.2":0.368352923077},N:{"10":0.390900322581,"11":1.68645567742},J:{"7":0.050208,"10":0.200832},O:{"0":10.311468},H:{"0":25.3473405773},L:{"0":19.680668},R:{_:"0"},M:{"0":0.213384},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/alt-af.js b/publi/node_modules/caniuse-lite/data/regions/alt-af.js deleted file mode 100644 index 57cd49c..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/alt-af.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"11":0.027352,"12":0.003419,"15":0.006838,"16":0.006838,"17":0.006838,"18":0.010257,"19":0.006838,"20":0.003419,"21":0.006838,"22":0.013676,"23":0.010257,"24":0.006838,"25":0.010257,"26":0.023933,"27":0.013676,"28":0.010257,"29":0.061542,"30":0.013676,"31":0.030771,"32":0.017095,"33":0.064961,"34":0.017095,"35":0.010257,"36":0.023933,"37":0.013676,"38":0.023933,"39":0.023933,"40":0.03419,"41":0.013676,"42":0.006838,"43":0.642772,"44":0.023933,"45":0.020514,"46":0.030771,"47":0.041028,"48":0.030771,"49":0.974415,"50":0.03419,"51":0.041028,"52":0.017095,"53":0.023933,"54":0.044447,"55":0.157274,"56":0.150436,"57":0.225654,"58":0.218816,"59":0.184626,"60":0.30771,"61":6.981598,"62":10.434788,"63":0.082056,"64":0.044447,_:"4 5 6 7 8 9 10 13 14 65"},C:{"3":0.030771,"4":0.006838,"7":0.003419,"10":0.006838,"11":0.006838,"12":0.010257,"13":0.006838,"14":0.006838,"15":0.010257,"16":0.006838,"17":0.003419,"18":0.006838,"19":0.010257,"20":0.006838,"21":0.006838,"22":0.003419,"23":0.006838,"24":0.006838,"25":0.006838,"26":0.006838,"27":0.006838,"28":0.010257,"29":0.013676,"30":0.020514,"31":0.013676,"32":0.010257,"33":0.013676,"34":0.017095,"35":0.017095,"36":0.017095,"37":0.017095,"38":0.020514,"39":0.017095,"40":0.030771,"41":0.020514,"42":0.017095,"43":0.105989,"44":0.037609,"45":0.044447,"46":0.017095,"47":0.153855,"48":0.133341,"49":0.047866,"50":0.041028,"51":0.03419,"52":0.536783,"53":0.044447,"54":0.071799,"55":0.075218,"56":2.376205,"57":1.989858,"58":0.119665,_:"2 5 6 8 9 59 60","3.5":0.003419,"3.6":0.013676},F:{"12":0.003419,"36":0.037609,"37":0.006838,"40":0.003419,"42":0.017095,"43":0.030771,"44":0.003419,"45":0.010257,"46":0.013676,"47":0.017095,"48":0.663286,"49":0.403442,"50":0.003419,_:"9 11 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 38 39 41 9.5-9.6 10.5 10.6 11.1 11.5","10.0-10.1":0,"11.6":0.003419,"12.1":0.013676},E:{"4":0.003419,"5":0.010257,"6":0.006838,"7":0.013676,"8":0.041028,"9":0.03419,"10":0.078637,"11":0.430794,_:"0 3.1 3.2","5.1":0.017095,"6.1":0.006838,"7.1":0.013676,"9.1":0.109408,"10.1":0.283777},G:{"8":0.00510787757552,"3.2":0.00031924234847,"4.0-4.1":0.00031924234847,"4.2-4.3":0.0434169593919,"5.0-5.1":0.0073425740148,"6.0-6.1":0.00478863522705,"7.0-7.1":0.0204315103021,"8.1-8.4":0.0351166583317,"9.0-9.2":0.0213892373475,"9.3":0.147489964993,"10.0-10.2":0.273590692639,"10.3":0.570486076715,"11.0-11.2":2.06198632877},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.162062511693,"4.2-4.3":0.456268302152,"4.4":1.29650009355,"4.4.3-4.4.4":0.75047409261},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0.0069780707635,"7":0.0104671061453,"8":0.205853087523,"9":0.0872258845438,"10":0.115138167598,"11":1.44794968343,_:"5.5"},B:{"12":0.075218,"13":0.088894,"14":0.188045,"15":0.434213,"16":0.058123,_:"17"},P:{"4":1.96698975405,"5":0.927440764865,"6.2":0.876482481081},N:{"10":0.1790032,"11":0.6041358},J:{"7":0.1237228,"10":0.4948912},O:{"0":8.173602},H:{"0":20.7038373076},L:{"0":24.670976},R:{_:"0"},M:{"0":0.388279},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/alt-an.js b/publi/node_modules/caniuse-lite/data/regions/alt-an.js deleted file mode 100644 index 9898eeb..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/alt-an.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0.08381,"50":0,"51":0,"52":0,"53":0.016762,"54":0,"55":0.033524,"56":0.134096,"57":0.067048,"58":0.150858,"59":1.718105,"60":4.073166,"61":11.322731,"62":14.649988,"63":0.016762,"64":0,"65":0},C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0.016762,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0.100572,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0.268192,"46":0,"47":0.016762,"48":0.08381,"49":0.016762,"50":0,"51":0.08381,"52":0.100572,"53":0,"54":0.033524,"55":0.033524,"56":3.318876,"57":3.050684,"58":0.050286,"59":0,"60":0,"3.5":0,"3.6":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":1.139816,"49":0.712385,"50":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},E:{"4":0,"5":0,"6":0,"7":0.016762,"8":0,"9":0.033524,"10":0.729147,"11":4.425168,_:"0","3.1":0,"3.2":0,"5.1":1.08953,"6.1":0,"7.1":0,"9.1":1.977916,"10.1":15.84009},G:{"8":0.0401949909982,"3.2":0.00251218693739,"4.0-4.1":0.00251218693739,"4.2-4.3":0.341657423485,"5.0-5.1":0.0577802995599,"6.0-6.1":0.0376828040608,"7.0-7.1":0.160779963993,"8.1-8.4":0.276340563113,"9.0-9.2":0.168316524805,"9.3":1.16063036507,"10.0-10.2":2.15294420534,"10.3":4.48927805711,"11.0-11.2":16.2262154286},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0,"4.4":0,"4.4.3-4.4.4":0},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0,"10":0,"11":1.483437,"5.5":0},B:{"12":0.050286,"13":0.016762,"14":0.067048,"15":0.854862,"16":0.150858,"17":0},P:{"4":0,"5":0.14449575,"6.2":1.17660825},N:{"10":0,"11":0},J:{"7":0,"10":0},O:{"0":0},H:{"0":0},L:{"0":4.051661},R:{_:"0"},M:{"0":0.142472},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/alt-as.js b/publi/node_modules/caniuse-lite/data/regions/alt-as.js deleted file mode 100644 index b8eadbb..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/alt-as.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"10":0.003334,"11":0.020004,"12":0.003334,"17":0.006668,"18":0.006668,"19":0.003334,"20":0.006668,"21":0.010002,"22":0.03334,"23":0.006668,"24":0.006668,"25":0.006668,"26":0.01667,"27":0.010002,"28":0.013336,"29":0.03334,"30":0.013336,"31":0.043342,"32":0.013336,"33":0.026672,"34":0.026672,"35":0.006668,"36":0.010002,"37":0.010002,"38":0.03334,"39":0.01667,"40":0.023338,"41":0.010002,"42":0.013336,"43":0.093352,"44":0.01667,"45":0.070014,"46":0.026672,"47":0.153364,"48":0.05001,"49":0.770154,"50":0.080016,"51":0.05001,"52":0.020004,"53":0.026672,"54":0.043342,"55":0.640128,"56":0.136694,"57":0.1667,"58":0.230046,"59":0.176702,"60":0.273388,"61":7.75155,"62":11.062212,"63":0.076682,"64":0.060012,_:"4 5 6 7 8 9 13 14 15 16 65"},C:{"3":0.010002,"4":0.003334,"8":0.010002,"11":0.003334,"12":0.006668,"14":0.003334,"16":0.003334,"17":0.003334,"18":0.01667,"21":0.003334,"25":0.003334,"26":0.003334,"27":0.003334,"28":0.003334,"29":0.006668,"30":0.006668,"31":0.006668,"32":0.006668,"33":0.010002,"34":0.010002,"35":0.010002,"36":0.010002,"37":0.010002,"38":0.013336,"39":0.010002,"40":0.013336,"41":0.010002,"42":0.010002,"43":0.043342,"44":0.020004,"45":0.023338,"46":0.013336,"47":0.070014,"48":0.06668,"49":0.026672,"50":0.026672,"51":0.023338,"52":0.236714,"53":0.036674,"54":0.05001,"55":0.11669,"56":1.276922,"57":1.113556,"58":0.08335,_:"2 5 6 7 9 10 13 15 19 20 22 23 24 59 60 3.5","3.6":0.006668},F:{"31":0.006668,"36":0.010002,"42":0.003334,"43":0.010002,"45":0.003334,"46":0.006668,"47":0.010002,"48":0.293392,"49":0.170034,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 32 33 34 35 37 38 39 40 41 44 50 9.5-9.6 10.5 10.6 11.1 11.5 11.6","10.0-10.1":0,"12.1":0.006668},E:{"4":0.003334,"5":0.003334,"7":0.040008,"8":0.026672,"9":0.020004,"10":0.06668,"11":0.41675,_:"0 6 3.1 3.2 7.1","5.1":0.210042,"6.1":0.006668,"9.1":0.086684,"10.1":0.190038},G:{"8":0.0102501540308,"3.2":0.000640634626925,"4.0-4.1":0.000640634626925,"4.2-4.3":0.0871263092619,"5.0-5.1":0.0147345964193,"6.0-6.1":0.00960951940388,"7.0-7.1":0.0410006161232,"8.1-8.4":0.0704698089618,"9.0-9.2":0.042922520004,"9.3":0.29597319764,"10.0-10.2":0.549023875275,"10.3":1.14481407832,"11.0-11.2":4.13785905531},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.118336482694,"4.2-4.3":0.333162712816,"4.4":0.946691861553,"4.4.3-4.4.4":0.547988942937},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0.0140732481572,"7":0.0140732481572,"8":0.309611459459,"9":0.175915601966,"10":0.158324041769,"11":2.19190840049,_:"5.5"},B:{"12":0.023338,"13":0.043342,"14":0.143362,"15":0.440088,"16":0.070014,_:"17"},P:{"4":1.72964878049,"5":0.829422222222,"6.2":1.17332899729},N:{"10":0.0424136363636,"11":0.190861363636},J:{"7":0.019995,"10":0.07998},O:{"0":16.562525},H:{"0":4.07625445017},L:{"0":32.528807},R:{_:"0"},M:{"0":0.513205},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/alt-eu.js b/publi/node_modules/caniuse-lite/data/regions/alt-eu.js deleted file mode 100644 index ba3a006..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/alt-eu.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"11":0.011814,"16":0.011814,"18":0.017721,"22":0.023628,"26":0.011814,"29":0.064977,"30":0.005907,"31":0.023628,"32":0.005907,"33":0.011814,"34":0.041349,"35":0.011814,"36":0.017721,"37":0.011814,"38":0.041349,"39":0.029535,"40":0.011814,"41":0.035442,"42":0.017721,"43":0.053163,"44":0.017721,"45":0.017721,"46":0.029535,"47":0.047256,"48":0.035442,"49":1.323168,"50":0.035442,"51":0.100419,"52":0.029535,"53":0.041349,"54":0.141768,"55":0.129954,"56":0.189024,"57":0.135861,"58":0.259908,"59":0.289443,"60":0.407583,"61":12.008931,"62":16.858578,"63":0.070884,"64":0.041349,_:"4 5 6 7 8 9 10 12 13 14 15 17 19 20 21 23 24 25 27 28 65"},C:{"4":0.005907,"12":0.005907,"16":0.011814,"22":0.005907,"24":0.011814,"26":0.005907,"28":0.005907,"29":0.005907,"31":0.017721,"32":0.005907,"33":0.011814,"34":0.011814,"35":0.011814,"36":0.017721,"37":0.011814,"38":0.076791,"39":0.017721,"40":0.017721,"41":0.023628,"42":0.023628,"43":0.041349,"44":0.011814,"45":0.112233,"46":0.023628,"47":0.070884,"48":0.242187,"49":0.041349,"50":0.053163,"51":0.194931,"52":0.951027,"53":0.082698,"54":0.112233,"55":0.17721,"56":4.353459,"57":3.284292,"58":0.035442,_:"2 3 5 6 7 8 9 10 11 13 14 15 17 18 19 20 21 23 25 27 30 59 60 3.5","3.6":0.017721},F:{"12":0.011814,"31":0.017721,"36":0.076791,"42":0.005907,"43":0.017721,"45":0.017721,"46":0.017721,"47":0.017721,"48":1.098702,"49":0.64977,"50":0.011814,_:"9 11 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 32 33 34 35 37 38 39 40 41 44 9.5-9.6 10.5 10.6 11.1 11.5 11.6","10.0-10.1":0,"12.1":0.194931},E:{"4":0,"5":0.017721,"7":0.023628,"8":0.070884,"9":0.076791,"10":0.248094,"11":2.350986,_:"0 6 3.1 3.2 7.1","5.1":0.053163,"6.1":0.035442,"9.1":0.372141,"10.1":0.791538},G:{"8":0.0179931522304,"3.2":0.0011245720144,"4.0-4.1":0.0011245720144,"4.2-4.3":0.152941793959,"5.0-5.1":0.0258651563313,"6.0-6.1":0.016868580216,"7.0-7.1":0.0719726089218,"8.1-8.4":0.123702921584,"9.0-9.2":0.075346324965,"9.3":0.519552270654,"10.0-10.2":0.963758216343,"10.3":2.00961018974,"11.0-11.2":7.26361064103},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.0554986295603,"4.2-4.3":0.156249987839,"4.4":0.443989036483,"4.4.3-4.4.4":0.257001346118},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0.0118859488429,"7":0.0178289232643,"8":0.219890053593,"9":0.136688411693,"10":0.1664032838,"11":4.32648537881,_:"5.5"},B:{"12":0.047256,"13":0.082698,"14":0.525723,"15":2.120613,"16":0.372141,_:"17"},P:{"4":0.805226959119,"5":0.761104933962,"6.2":1.94136910692},N:{"10":0.0356487096774,"11":0.332721290323},J:{"7":0.0073674,"10":0.0294696},O:{"0":0.429765},H:{"0":0.391373785223},L:{"0":23.881357},R:{_:"0"},M:{"0":0.274231},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/alt-na.js b/publi/node_modules/caniuse-lite/data/regions/alt-na.js deleted file mode 100644 index b82330d..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/alt-na.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"11":0.010856,"15":0.021712,"18":0.010856,"20":0.005428,"21":0.005428,"22":0.010856,"25":0.010856,"27":0.043424,"28":0.016284,"29":0.157412,"30":0.070564,"31":0.043424,"32":0.05428,"33":0.010856,"34":0.021712,"35":0.021712,"36":0.097704,"37":0.130272,"38":0.059708,"39":0.016284,"40":0.016284,"41":0.037996,"42":0.010856,"43":0.05428,"44":0.021712,"45":0.016284,"46":0.021712,"47":0.032568,"48":0.037996,"49":0.694784,"50":0.037996,"51":0.070564,"52":0.086848,"53":0.048852,"54":0.086848,"55":0.16284,"56":0.255116,"57":0.168268,"58":0.32568,"59":0.493948,"60":0.933616,"61":11.72448,"62":15.724916,"63":0.070564,"64":0.059708,_:"4 5 6 7 8 9 10 12 13 14 16 17 19 23 24 26 65"},C:{"3":0.005428,"11":0.005428,"16":0.005428,"21":0.005428,"23":0.005428,"24":0.010856,"26":0.005428,"28":0.005428,"29":0.032568,"31":0.016284,"33":0.010856,"35":0.005428,"36":0.010856,"37":0.010856,"38":0.086848,"39":0.010856,"40":0.005428,"41":0.021712,"42":0.005428,"43":0.021712,"44":0.010856,"45":0.048852,"46":0.016284,"47":0.05428,"48":0.151984,"49":0.032568,"50":0.05428,"51":0.05428,"52":0.455952,"53":0.070564,"54":0.097704,"55":0.16284,"56":2.350324,"57":1.639256,"58":0.016284,_:"2 4 5 6 7 8 9 10 12 13 14 15 17 18 19 20 22 25 27 30 32 34 59 60 3.5","3.6":0.010856},F:{"36":0.010856,"45":0.010856,"46":0.016284,"47":0.016284,"48":0.276828,"49":0.1357,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 37 38 39 40 41 42 43 44 50 9.5-9.6 10.5 10.6 11.1 11.5 11.6","10.0-10.1":0,"12.1":0.010856},E:{"4":0.005428,"5":0.043424,"7":0.021712,"8":0.08142,"9":0.103132,"10":0.385388,"11":2.838844,_:"0 6 3.1 3.2 7.1","5.1":0.048852,"6.1":0.02714,"9.1":0.56994,"10.1":1.134452},G:{"8":0.0351931506301,"3.2":0.00219957191438,"4.0-4.1":0.00219957191438,"4.2-4.3":0.299141780356,"5.0-5.1":0.0505901540308,"6.0-6.1":0.0329935787157,"7.0-7.1":0.140772602521,"8.1-8.4":0.241952910582,"9.0-9.2":0.147371318264,"9.3":1.01620222444,"10.0-10.2":1.88503313063,"10.3":3.930635011,"11.0-11.2":14.207034995},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.0364177549111,"4.2-4.3":0.102529986904,"4.4":0.291342039289,"4.4.3-4.4.4":0.168642218896},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0.0438152072072,"7":0.0109538018018,"8":0.268368144144,"9":0.197168432432,"10":0.186214630631,"11":5.36736288288,_:"5.5"},B:{"12":0.037996,"13":0.070564,"14":0.548228,"15":2.681432,"16":0.510232,_:"17"},P:{"4":0.448268651163,"5":0.582749246512,"6.2":1.37842610233},N:{"10":0.012192,"11":0.097536},J:{"7":0.0118872,"10":0.0475488},O:{"0":0.553212},H:{"0":0.281350824742},L:{"0":19.5381},R:{_:"0"},M:{"0":0.260604},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/alt-oc.js b/publi/node_modules/caniuse-lite/data/regions/alt-oc.js deleted file mode 100644 index 4d95c6a..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/alt-oc.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"11":0.010664,"22":0.005332,"26":0.010664,"31":0.005332,"33":0.005332,"34":0.021328,"35":0.005332,"36":0.010664,"37":0.005332,"38":0.037324,"39":0.015996,"40":0.021328,"41":0.015996,"42":0.010664,"43":0.02666,"44":0.021328,"45":0.042656,"46":0.02666,"47":0.042656,"48":0.031992,"49":0.623844,"50":0.058652,"51":0.047988,"52":0.047988,"53":0.042656,"54":0.101308,"55":0.767808,"56":0.351912,"57":0.277264,"58":0.378572,"59":0.405232,"60":0.805132,"61":13.207364,"62":15.350828,"63":0.069316,"64":0.047988,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 23 24 25 27 28 29 30 32 65"},C:{"29":0.005332,"34":0.005332,"37":0.005332,"38":0.021328,"39":0.005332,"40":0.010664,"41":0.117304,"42":0.005332,"43":0.015996,"44":0.015996,"45":0.111972,"46":0.005332,"47":0.042656,"48":0.085312,"49":0.021328,"50":0.037324,"51":0.015996,"52":0.309256,"53":0.031992,"54":0.047988,"55":0.074648,"56":2.330084,"57":1.695576,"58":0.031992,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 30 31 32 33 35 36 59 60 3.6","3.5":0.010664},F:{"36":0.010664,"47":0.005332,"48":0.207948,"49":0.111972,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 37 38 39 40 41 42 43 44 45 46 50 9.5-9.6 10.5 10.6 11.1 11.5 11.6","10.0-10.1":0,"12.1":0.010664},E:{"4":0,"5":0.015996,"6":0.010664,"7":0.015996,"8":0.10664,"9":0.127968,"10":0.437224,"11":2.783304,_:"0 3.1 3.2 7.1","5.1":0.047988,"6.1":0.031992,"9.1":0.570524,"10.1":1.237024},G:{"8":0.0383143988798,"3.2":0.00239464992999,"4.0-4.1":0.00239464992999,"4.2-4.3":0.325672390478,"5.0-5.1":0.0550769483897,"6.0-6.1":0.0359197489498,"7.0-7.1":0.153257595519,"8.1-8.4":0.263411492298,"9.0-9.2":0.160441545309,"9.3":1.10632826765,"10.0-10.2":2.05221499,"10.3":4.27923942488,"11.0-11.2":15.4670438978},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.0368906922357,"4.2-4.3":0.103861487371,"4.4":0.295125537886,"4.4.3-4.4.4":0.170832282507},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"8":0.0822982608696,"9":0.109731014493,"10":0.104244463768,"11":4.62516226087,_:"6 7 5.5"},B:{"12":0.031992,"13":0.111972,"14":0.6665,"15":2.367408,"16":0.367908,_:"17"},P:{"4":0.706484283088,"5":0.775974540441,"6.2":1.66776617647},N:{"10":0.0135343,"11":0.1218087},J:{"7":0.0028002,"10":0.0112008},O:{"0":1.16675},H:{"0":0.693691012027},L:{"0":16.714426},R:{_:"0"},M:{"0":0.247351},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/alt-sa.js b/publi/node_modules/caniuse-lite/data/regions/alt-sa.js deleted file mode 100644 index 06727db..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/alt-sa.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"11":0.01282,"13":0.00641,"18":0.01282,"22":0.03846,"26":0.01923,"27":0.00641,"29":0.03846,"30":0.01282,"31":0.01923,"32":0.01923,"33":0.00641,"34":0.03205,"35":0.01282,"36":0.11538,"37":0.02564,"38":0.05769,"39":0.01923,"40":0.01282,"41":0.01923,"42":0.00641,"43":0.07051,"44":0.02564,"45":0.02564,"46":0.03846,"47":0.10897,"48":0.0641,"49":1.9871,"50":0.03846,"51":0.10256,"52":0.03846,"53":0.03846,"54":0.0641,"55":0.11538,"56":0.22435,"57":0.17307,"58":0.46793,"59":0.3205,"60":0.52562,"61":18.64028,"62":27.4989,"63":0.12179,"64":0.05769,_:"4 5 6 7 8 9 10 12 14 15 16 17 19 20 21 23 24 25 28 65"},C:{"3":0.00641,"8":0.01282,"25":0.00641,"27":0.01923,"29":0.00641,"31":0.01282,"33":0.01282,"34":0.00641,"37":0.00641,"38":0.01923,"39":0.01282,"40":0.01282,"41":0.01282,"42":0.00641,"43":0.04487,"44":0.01923,"45":0.05769,"46":0.01923,"47":0.0641,"48":0.09615,"49":0.02564,"50":0.03846,"51":0.03846,"52":0.55767,"53":0.05128,"54":0.09615,"55":0.1282,"56":2.21786,"57":1.84608,"58":0.03205,_:"2 4 5 6 7 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 26 28 30 32 35 36 59 60 3.5","3.6":0.01282},F:{"34":0.00641,"35":0.01923,"36":0.17948,"45":0.00641,"46":0.01282,"47":0.01282,"48":0.49998,"49":0.3205,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 37 38 39 40 41 42 43 44 50 9.5-9.6 10.5 10.6 11.1 11.5 11.6","10.0-10.1":0,"12.1":0.01282},E:{"4":0,"5":0.00641,"7":0.05128,"8":0.03205,"9":0.03205,"10":0.10897,"11":0.87176,_:"0 6 3.1 3.2 7.1","5.1":0.01282,"6.1":0.00641,"9.1":0.16025,"10.1":0.3846},G:{"8":0.00461909981996,"3.2":0.000288693738748,"4.0-4.1":0.000288693738748,"4.2-4.3":0.0392623484697,"5.0-5.1":0.0066399559912,"6.0-6.1":0.00433040608122,"7.0-7.1":0.0184763992799,"8.1-8.4":0.0317563112623,"9.0-9.2":0.0193424804961,"9.3":0.133376507301,"10.0-10.2":0.247410534107,"10.3":0.515895711142,"11.0-11.2":1.86467285857},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.0829494855005,"4.2-4.3":0.233534705332,"4.4":0.663595884004,"4.4.3-4.4.4":0.384119925164},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0.0193957758621,"7":0.0258610344828,"8":0.394380775862,"9":0.174561982759,"10":0.142235689655,"11":1.49347474138,_:"5.5"},B:{"12":0.03205,"13":0.04487,"14":0.18589,"15":0.60895,"16":0.10897,_:"17"},P:{_:"4 5 6.2"},N:{"10":0.0135343,"11":0.1218087},J:{"7":0.008616,"10":0.034464},O:{"0":0.52414},H:{"0":0.825903556701},L:{"0":27.95835},R:{_:"0"},M:{"0":0.09693},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/data/regions/alt-ww.js b/publi/node_modules/caniuse-lite/data/regions/alt-ww.js deleted file mode 100644 index 7267693..0000000 --- a/publi/node_modules/caniuse-lite/data/regions/alt-ww.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={D:{"11":0.018308,"15":0.009154,"18":0.009154,"21":0.009154,"22":0.022885,"23":0.004577,"25":0.009154,"26":0.013731,"27":0.013731,"28":0.009154,"29":0.068655,"30":0.022885,"31":0.036616,"32":0.018308,"33":0.018308,"34":0.027462,"35":0.009154,"36":0.036616,"37":0.036616,"38":0.041193,"39":0.018308,"40":0.018308,"41":0.022885,"42":0.013731,"43":0.09154,"44":0.018308,"45":0.041193,"46":0.027462,"47":0.096117,"48":0.04577,"49":0.952016,"50":0.054924,"51":0.068655,"52":0.041193,"53":0.036616,"54":0.077809,"55":0.370737,"56":0.18308,"57":0.164772,"58":0.27462,"59":0.283774,"60":0.471431,"61":10.261634,"62":14.390088,"63":0.077809,"64":0.054924,_:"4 5 6 7 8 9 10 12 13 14 16 17 19 20 24 65"},C:{"3":0.009154,"4":0.004577,"8":0.004577,"11":0.004577,"12":0.004577,"16":0.004577,"18":0.009154,"21":0.004577,"24":0.004577,"25":0.004577,"26":0.004577,"27":0.004577,"28":0.004577,"29":0.013731,"30":0.004577,"31":0.013731,"32":0.004577,"33":0.009154,"34":0.009154,"35":0.009154,"36":0.013731,"37":0.009154,"38":0.04577,"39":0.013731,"40":0.013731,"41":0.018308,"42":0.013731,"43":0.041193,"44":0.018308,"45":0.054924,"46":0.013731,"47":0.068655,"48":0.128156,"49":0.032039,"50":0.041193,"51":0.068655,"52":0.485162,"53":0.054924,"54":0.077809,"55":0.13731,"56":2.302231,"57":1.794184,"58":0.054924,_:"2 5 6 7 9 10 13 14 15 17 19 20 22 23 59 60 3.5","3.6":0.009154},F:{"31":0.004577,"36":0.036616,"42":0.004577,"43":0.009154,"45":0.009154,"46":0.009154,"47":0.013731,"48":0.494316,"49":0.288351,"50":0.004577,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 32 33 34 35 37 38 39 40 41 44 9.5-9.6 10.5 10.6 11.1 11.5 11.6","10.0-10.1":0,"12.1":0.050347},E:{"4":0,"5":0.018308,"7":0.032039,"8":0.050347,"9":0.054924,"10":0.18308,"11":1.432601,_:"0 6 3.1 3.2 7.1","5.1":0.119002,"6.1":0.018308,"9.1":0.265466,"10.1":0.558394},G:{"8":0.016283935187,"3.2":0.00101774594919,"4.0-4.1":0.00101774594919,"4.2-4.3":0.13841344909,"5.0-5.1":0.0234081568314,"6.0-6.1":0.0152661892378,"7.0-7.1":0.0651357407481,"8.1-8.4":0.111952054411,"9.0-9.2":0.0681889785957,"9.3":0.470198628526,"10.0-10.2":0.872208278456,"10.3":1.8187120112,"11.0-11.2":6.57362108582},I:{"3":0,"4":0,_:"62","2.1":0,"2.2":0,"2.3":0,"4.1":0.0854191206735,"4.2-4.3":0.240487678204,"4.4":0.683352965388,"4.4.3-4.4.4":0.395556235734},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0.0187423534994,"7":0.0140567651246,"8":0.271764125741,"9":0.16399559312,"10":0.16399559312,"11":3.3173965694,_:"5.5"},B:{"12":0.032039,"13":0.059501,"14":0.324967,"15":1.336484,"16":0.238004,_:"17"},P:{"4":1.18589487948,"5":0.724130501629,"6.2":1.31183061889},N:{"10":0.044296,"11":0.22148},J:{"7":0.0184416,"10":0.0737664},O:{"0":8.239056},H:{"0":2.84484140206},L:{"0":27.404816},R:{_:"0"},M:{"0":0.368832},Q:{_:"1.2"}}; diff --git a/publi/node_modules/caniuse-lite/dist/lib/statuses.js b/publi/node_modules/caniuse-lite/dist/lib/statuses.js deleted file mode 100644 index c346e2b..0000000 --- a/publi/node_modules/caniuse-lite/dist/lib/statuses.js +++ /dev/null @@ -1,14 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = { - 1: "ls", // WHATWG Living Standard - 2: "rec", // W3C Recommendation - 3: "pr", // W3C Proposed Recommendation - 4: "cr", // W3C Candidate Recommendation - 5: "wd", // W3C Working Draft - 6: "other", // Non-W3C, but reputable - 7: "unoff" // Unofficial, Editor's Draft or W3C "Note" -}; diff --git a/publi/node_modules/caniuse-lite/dist/lib/supported.js b/publi/node_modules/caniuse-lite/dist/lib/supported.js deleted file mode 100644 index 3523a87..0000000 --- a/publi/node_modules/caniuse-lite/dist/lib/supported.js +++ /dev/null @@ -1,14 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = { - y: 1 << 0, - n: 1 << 1, - a: 1 << 2, - p: 1 << 3, - u: 1 << 4, - x: 1 << 5, - d: 1 << 6 -}; diff --git a/publi/node_modules/caniuse-lite/dist/unpacker/agents.js b/publi/node_modules/caniuse-lite/dist/unpacker/agents.js deleted file mode 100644 index 8dc5d49..0000000 --- a/publi/node_modules/caniuse-lite/dist/unpacker/agents.js +++ /dev/null @@ -1,51 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.agents = undefined; - -var _browsers = require('./browsers'); - -var _browserVersions = require('./browserVersions'); - -var agentsData = require('../../data/agents'); - -function unpackBrowserVersions(versionsData) { - return Object.keys(versionsData).reduce(function (usage, version) { - usage[_browserVersions.browserVersions[version]] = versionsData[version]; - return usage; - }, {}); -} - -var agents = exports.agents = Object.keys(agentsData).reduce(function (map, key) { - var versionsData = agentsData[key]; - map[_browsers.browsers[key]] = Object.keys(versionsData).reduce(function (data, entry) { - if (entry === 'A') { - data.usage_global = unpackBrowserVersions(versionsData[entry]); - } else if (entry === 'C') { - data.versions = versionsData[entry].reduce(function (list, version) { - if (version === '') { - list.push(null); - } else { - list.push(_browserVersions.browserVersions[version]); - } - return list; - }, []); - } else if (entry === 'D') { - data.prefix_exceptions = unpackBrowserVersions(versionsData[entry]); - } else if (entry === 'E') { - data.browser = versionsData[entry]; - } else if (entry === 'F') { - data.release_date = Object.keys(versionsData[entry]).reduce(function (map, key) { - map[_browserVersions.browserVersions[key]] = versionsData[entry][key]; - return map; - }, {}); - } else { - // entry is B - data.prefix = versionsData[entry]; - } - return data; - }, {}); - return map; -}, {}); \ No newline at end of file diff --git a/publi/node_modules/caniuse-lite/dist/unpacker/browserVersions.js b/publi/node_modules/caniuse-lite/dist/unpacker/browserVersions.js deleted file mode 100644 index f63d752..0000000 --- a/publi/node_modules/caniuse-lite/dist/unpacker/browserVersions.js +++ /dev/null @@ -1,6 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -var browserVersions = exports.browserVersions = require('../../data/browserVersions'); \ No newline at end of file diff --git a/publi/node_modules/caniuse-lite/dist/unpacker/browsers.js b/publi/node_modules/caniuse-lite/dist/unpacker/browsers.js deleted file mode 100644 index 4ef0082..0000000 --- a/publi/node_modules/caniuse-lite/dist/unpacker/browsers.js +++ /dev/null @@ -1,6 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -var browsers = exports.browsers = require('../../data/browsers'); \ No newline at end of file diff --git a/publi/node_modules/caniuse-lite/dist/unpacker/feature.js b/publi/node_modules/caniuse-lite/dist/unpacker/feature.js deleted file mode 100644 index 9cdf711..0000000 --- a/publi/node_modules/caniuse-lite/dist/unpacker/feature.js +++ /dev/null @@ -1,56 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = unpackFeature; - -var _statuses = require('../lib/statuses'); - -var _statuses2 = _interopRequireDefault(_statuses); - -var _supported = require('../lib/supported'); - -var _supported2 = _interopRequireDefault(_supported); - -var _browsers = require('./browsers'); - -var _browserVersions = require('./browserVersions'); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function unpackSupport(cipher) { - // bit flags - var stats = Object.keys(_supported2.default).reduce(function (list, support) { - if (cipher & _supported2.default[support]) list.push(support); - return list; - }, []); - - // notes - var notes = cipher >> 7; - var notesArray = []; - while (notes) { - var note = Math.floor(Math.log2(notes)) + 1; - notesArray.unshift('#' + note); - notes -= Math.pow(2, note - 1); - } - - return stats.concat(notesArray).join(' '); -} - -function unpackFeature(packed) { - var unpacked = { status: _statuses2.default[packed.B], title: packed.C }; - unpacked.stats = Object.keys(packed.A).reduce(function (browserStats, key) { - var browser = packed.A[key]; - browserStats[_browsers.browsers[key]] = Object.keys(browser).reduce(function (stats, support) { - var packedVersions = browser[support].split(' '); - var unpacked = unpackSupport(support); - packedVersions.forEach(function (v) { - return stats[_browserVersions.browserVersions[v]] = unpacked; - }); - return stats; - }, {}); - return browserStats; - }, {}); - return unpacked; -} \ No newline at end of file diff --git a/publi/node_modules/caniuse-lite/dist/unpacker/features.js b/publi/node_modules/caniuse-lite/dist/unpacker/features.js deleted file mode 100644 index dec36e3..0000000 --- a/publi/node_modules/caniuse-lite/dist/unpacker/features.js +++ /dev/null @@ -1,11 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -/* - * Load this dynamically so that it - * doesn't appear in the rollup bundle. - */ - -var features = exports.features = require('../../data/features'); \ No newline at end of file diff --git a/publi/node_modules/caniuse-lite/dist/unpacker/index.js b/publi/node_modules/caniuse-lite/dist/unpacker/index.js deleted file mode 100644 index 2cc2f05..0000000 --- a/publi/node_modules/caniuse-lite/dist/unpacker/index.js +++ /dev/null @@ -1,43 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _agents = require('./agents'); - -Object.defineProperty(exports, 'agents', { - enumerable: true, - get: function get() { - return _agents.agents; - } -}); - -var _feature = require('./feature'); - -Object.defineProperty(exports, 'feature', { - enumerable: true, - get: function get() { - return _interopRequireDefault(_feature).default; - } -}); - -var _features = require('./features'); - -Object.defineProperty(exports, 'features', { - enumerable: true, - get: function get() { - return _features.features; - } -}); - -var _region = require('./region'); - -Object.defineProperty(exports, 'region', { - enumerable: true, - get: function get() { - return _interopRequireDefault(_region).default; - } -}); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } \ No newline at end of file diff --git a/publi/node_modules/caniuse-lite/dist/unpacker/region.js b/publi/node_modules/caniuse-lite/dist/unpacker/region.js deleted file mode 100644 index e09ae36..0000000 --- a/publi/node_modules/caniuse-lite/dist/unpacker/region.js +++ /dev/null @@ -1,26 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = unpackRegion; - -var _browsers = require('./browsers'); - -function unpackRegion(packed) { - return Object.keys(packed).reduce(function (list, browser) { - var data = packed[browser]; - list[_browsers.browsers[browser]] = Object.keys(data).reduce(function (memo, key) { - var stats = data[key]; - if (key === '_') { - stats.split(' ').forEach(function (version) { - return memo[version] = null; - }); - } else { - memo[key] = stats; - } - return memo; - }, {}); - return list; - }, {}); -} \ No newline at end of file diff --git a/publi/node_modules/caniuse-lite/package.json b/publi/node_modules/caniuse-lite/package.json deleted file mode 100644 index e528975..0000000 --- a/publi/node_modules/caniuse-lite/package.json +++ /dev/null @@ -1,94 +0,0 @@ -{ - "_from": "caniuse-lite@^1.0.30000783", - "_id": "caniuse-lite@1.0.30000783", - "_inBundle": false, - "_integrity": "sha1-m1SZ+xtQPSNF0SqmuGEoUvQnb/0=", - "_location": "/caniuse-lite", - "_phantomChildren": {}, - "_requested": { - "type": "range", - "registry": true, - "raw": "caniuse-lite@^1.0.30000783", - "name": "caniuse-lite", - "escapedName": "caniuse-lite", - "rawSpec": "^1.0.30000783", - "saveSpec": null, - "fetchSpec": "^1.0.30000783" - }, - "_requiredBy": [ - "/autoprefixer", - "/browserslist" - ], - "_resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000783.tgz", - "_shasum": "9b5499fb1b503d2345d12aa6b8612852f4276ffd", - "_spec": "caniuse-lite@^1.0.30000783", - "_where": "/mnt/Data/bach/Documents/ola/OLA#5/ola5doc/publi/node_modules/autoprefixer", - "author": { - "name": "Ben Briggs", - "email": "beneb.info@gmail.com", - "url": "http://beneb.info" - }, - "babel": { - "presets": [ - "env" - ] - }, - "bugs": { - "url": "https://github.com/ben-eb/caniuse-lite/issues" - }, - "bundleDependencies": false, - "deprecated": false, - "description": "A smaller version of caniuse-db, with only the essentials!", - "devDependencies": { - "all-contributors-cli": "^3.0.7", - "any-observable": "^0.2.0", - "babel-cli": "^6.24.0", - "babel-generator": "^6.21.0", - "babel-preset-env": "^1.1.8", - "babel-register": "^6.18.0", - "babel-types": "^6.21.0", - "bunyan": "^1.8.10", - "caniuse-db": "1.0.30000783", - "del-cli": "^0.2.1", - "execa": "^0.6.3", - "fecha": "^2.3.0", - "gift": "^0.10.0", - "got": "^6.7.1", - "jest": "^19.0.2", - "listr": "^0.11.0", - "mdast-util-heading-range": "^2.0.1", - "mz": "^2.6.0", - "remark": "^7.0.0", - "size-limit": "^0.7.1", - "split": "^1.0.0", - "stream-to-observable": "^0.2.0", - "unist-builder": "^1.0.2", - "write-file-promise": "^1.0.0" - }, - "files": [ - "data", - "dist" - ], - "homepage": "https://github.com/ben-eb/caniuse-lite#readme", - "keywords": [ - "support", - "css", - "js", - "html5", - "svg" - ], - "license": "CC-BY-4.0", - "main": "dist/unpacker/index.js", - "name": "caniuse-lite", - "repository": { - "type": "git", - "url": "git+https://github.com/ben-eb/caniuse-lite.git" - }, - "scripts": { - "pack": "del-cli data && babel-node src/packer/index.js", - "prepublish": "del-cli dist && babel src/unpacker -d dist/unpacker && mkdir dist/lib && babel src/lib/statuses.js -o dist/lib/statuses.js && babel src/lib/supported.js -o dist/lib/supported.js", - "size": "size-limit consumer.js", - "test": "jest src" - }, - "version": "1.0.30000783" -} diff --git a/publi/node_modules/caseless/LICENSE b/publi/node_modules/caseless/LICENSE deleted file mode 100644 index 61789f4..0000000 --- a/publi/node_modules/caseless/LICENSE +++ /dev/null @@ -1,28 +0,0 @@ -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 \ No newline at end of file diff --git a/publi/node_modules/caseless/README.md b/publi/node_modules/caseless/README.md deleted file mode 100644 index e5077a2..0000000 --- a/publi/node_modules/caseless/README.md +++ /dev/null @@ -1,45 +0,0 @@ -## Caseless -- wrap an object to set and get property with caseless semantics but also preserve caseing. - -This library is incredibly useful when working with HTTP headers. It allows you to get/set/check for headers in a caseless manner while also preserving the caseing of headers the first time they are set. - -## Usage - -```javascript -var headers = {} - , c = caseless(headers) - ; -c.set('a-Header', 'asdf') -c.get('a-header') === 'asdf' -``` - -## has(key) - -Has takes a name and if it finds a matching header will return that header name with the preserved caseing it was set with. - -```javascript -c.has('a-header') === 'a-Header' -``` - -## set(key, value[, clobber=true]) - -Set is fairly straight forward except that if the header exists and clobber is disabled it will add `','+value` to the existing header. - -```javascript -c.set('a-Header', 'fdas') -c.set('a-HEADER', 'more', false) -c.get('a-header') === 'fdsa,more' -``` - -## swap(key) - -Swaps the casing of a header with the new one that is passed in. - -```javascript -var headers = {} - , c = caseless(headers) - ; -c.set('a-Header', 'fdas') -c.swap('a-HEADER') -c.has('a-header') === 'a-HEADER' -headers === {'a-HEADER': 'fdas'} -``` diff --git a/publi/node_modules/caseless/index.js b/publi/node_modules/caseless/index.js deleted file mode 100644 index d86a70e..0000000 --- a/publi/node_modules/caseless/index.js +++ /dev/null @@ -1,66 +0,0 @@ -function Caseless (dict) { - this.dict = dict || {} -} -Caseless.prototype.set = function (name, value, clobber) { - if (typeof name === 'object') { - for (var i in name) { - this.set(i, name[i], value) - } - } else { - if (typeof clobber === 'undefined') clobber = true - var has = this.has(name) - - if (!clobber && has) this.dict[has] = this.dict[has] + ',' + value - else this.dict[has || name] = value - return has - } -} -Caseless.prototype.has = function (name) { - var keys = Object.keys(this.dict) - , name = name.toLowerCase() - ; - for (var i=0;i 1) { - // don't slice `arguments`, it prevents v8 optimizations - for (var a = 1; a < argsLen; a++) { - str += ' ' + args[a]; - } - } - - if (!this.enabled || !str) { - return str; - } - - var nestedStyles = this._styles; - var i = nestedStyles.length; - - // Turns out that on Windows dimmed gray text becomes invisible in cmd.exe, - // see https://github.com/chalk/chalk/issues/58 - // If we're on Windows and we're dealing with a gray color, temporarily make 'dim' a noop. - var originalDim = ansiStyles.dim.open; - if (isSimpleWindowsTerm && (nestedStyles.indexOf('gray') !== -1 || nestedStyles.indexOf('grey') !== -1)) { - ansiStyles.dim.open = ''; - } - - while (i--) { - var code = ansiStyles[nestedStyles[i]]; - - // Replace any instances already present with a re-opening code - // otherwise only the part of the string until said closing code - // will be colored, and the rest will simply be 'plain'. - str = code.open + str.replace(code.closeRe, code.open) + code.close; - } - - // Reset the original 'dim' if we changed it to work around the Windows dimmed gray issue. - ansiStyles.dim.open = originalDim; - - return str; -} - -function init() { - var ret = {}; - - Object.keys(styles).forEach(function (name) { - ret[name] = { - get: function () { - return build.call(this, [name]); - } - }; - }); - - return ret; -} - -defineProps(Chalk.prototype, init()); - -module.exports = new Chalk(); -module.exports.styles = ansiStyles; -module.exports.hasColor = hasAnsi; -module.exports.stripColor = stripAnsi; -module.exports.supportsColor = supportsColor; diff --git a/publi/node_modules/chalk/license b/publi/node_modules/chalk/license deleted file mode 100644 index 654d0bf..0000000 --- a/publi/node_modules/chalk/license +++ /dev/null @@ -1,21 +0,0 @@ -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. diff --git a/publi/node_modules/chalk/package.json b/publi/node_modules/chalk/package.json deleted file mode 100644 index 18d4892..0000000 --- a/publi/node_modules/chalk/package.json +++ /dev/null @@ -1,145 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "chalk@^1.0.0", - "scope": null, - "escapedName": "chalk", - "name": "chalk", - "rawSpec": "^1.0.0", - "spec": ">=1.0.0 <2.0.0", - "type": "range" - }, - "/mnt/Data/bach/Documents/ola/OLA#3DOC/sys/node_modules/gulp" - ] - ], - "_from": "chalk@>=1.0.0 <2.0.0", - "_id": "chalk@1.1.3", - "_inCache": true, - "_location": "/chalk", - "_nodeVersion": "0.10.32", - "_npmOperationalInternal": { - "host": "packages-12-west.internal.npmjs.com", - "tmp": "tmp/chalk-1.1.3.tgz_1459210604109_0.3892582862172276" - }, - "_npmUser": { - "name": "qix", - "email": "i.am.qix@gmail.com" - }, - "_npmVersion": "2.14.2", - "_phantomChildren": {}, - "_requested": { - "raw": "chalk@^1.0.0", - "scope": null, - "escapedName": "chalk", - "name": "chalk", - "rawSpec": "^1.0.0", - "spec": ">=1.0.0 <2.0.0", - "type": "range" - }, - "_requiredBy": [ - "/fancy-log", - "/gulp", - "/gulp-util", - "/har-validator", - "/node-sass", - "/postcss" - ], - "_resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "_shasum": "a8115c55e4a702fe4d150abd3872822a7e09fc98", - "_shrinkwrap": null, - "_spec": "chalk@^1.0.0", - "_where": "/mnt/Data/bach/Documents/ola/OLA#3DOC/sys/node_modules/gulp", - "bugs": { - "url": "https://github.com/chalk/chalk/issues" - }, - "dependencies": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - }, - "description": "Terminal string styling done right. Much color.", - "devDependencies": { - "coveralls": "^2.11.2", - "matcha": "^0.6.0", - "mocha": "*", - "nyc": "^3.0.0", - "require-uncached": "^1.0.2", - "resolve-from": "^1.0.0", - "semver": "^4.3.3", - "xo": "*" - }, - "directories": {}, - "dist": { - "shasum": "a8115c55e4a702fe4d150abd3872822a7e09fc98", - "tarball": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz" - }, - "engines": { - "node": ">=0.10.0" - }, - "files": [ - "index.js" - ], - "gitHead": "0d8d8c204eb87a4038219131ad4d8369c9f59d24", - "homepage": "https://github.com/chalk/chalk#readme", - "keywords": [ - "color", - "colour", - "colors", - "terminal", - "console", - "cli", - "string", - "str", - "ansi", - "style", - "styles", - "tty", - "formatting", - "rgb", - "256", - "shell", - "xterm", - "log", - "logging", - "command-line", - "text" - ], - "license": "MIT", - "maintainers": [ - { - "name": "qix", - "email": "i.am.qix@gmail.com" - }, - { - "name": "sindresorhus", - "email": "sindresorhus@gmail.com" - }, - { - "name": "unicorn", - "email": "sindresorhus+unicorn@gmail.com" - } - ], - "name": "chalk", - "optionalDependencies": {}, - "readme": "ERROR: No README data found!", - "repository": { - "type": "git", - "url": "git+https://github.com/chalk/chalk.git" - }, - "scripts": { - "bench": "matcha benchmark.js", - "coverage": "nyc npm test && nyc report", - "coveralls": "nyc npm test && nyc report --reporter=text-lcov | coveralls", - "test": "xo && mocha" - }, - "version": "1.1.3", - "xo": { - "envs": [ - "node", - "mocha" - ] - } -} diff --git a/publi/node_modules/chalk/readme.md b/publi/node_modules/chalk/readme.md deleted file mode 100644 index 5cf111e..0000000 --- a/publi/node_modules/chalk/readme.md +++ /dev/null @@ -1,213 +0,0 @@ -

-
-
- chalk -
-
-
-

- -> Terminal string styling done right - -[![Build Status](https://travis-ci.org/chalk/chalk.svg?branch=master)](https://travis-ci.org/chalk/chalk) -[![Coverage Status](https://coveralls.io/repos/chalk/chalk/badge.svg?branch=master)](https://coveralls.io/r/chalk/chalk?branch=master) -[![](http://img.shields.io/badge/unicorn-approved-ff69b4.svg)](https://www.youtube.com/watch?v=9auOCbH5Ns4) - - -[colors.js](https://github.com/Marak/colors.js) used to be the most popular string styling module, but it has serious deficiencies like extending `String.prototype` which causes all kinds of [problems](https://github.com/yeoman/yo/issues/68). Although there are other ones, they either do too much or not enough. - -**Chalk is a clean and focused alternative.** - -![](https://github.com/chalk/ansi-styles/raw/master/screenshot.png) - - -## Why - -- Highly performant -- Doesn't extend `String.prototype` -- Expressive API -- Ability to nest styles -- Clean and focused -- Auto-detects color support -- Actively maintained -- [Used by ~4500 modules](https://www.npmjs.com/browse/depended/chalk) as of July 15, 2015 - - -## Install - -``` -$ npm install --save chalk -``` - - -## Usage - -Chalk comes with an easy to use composable API where you just chain and nest the styles you want. - -```js -var chalk = require('chalk'); - -// style a string -chalk.blue('Hello world!'); - -// combine styled and normal strings -chalk.blue('Hello') + 'World' + chalk.red('!'); - -// compose multiple styles using the chainable API -chalk.blue.bgRed.bold('Hello world!'); - -// pass in multiple arguments -chalk.blue('Hello', 'World!', 'Foo', 'bar', 'biz', 'baz'); - -// nest styles -chalk.red('Hello', chalk.underline.bgBlue('world') + '!'); - -// nest styles of the same type even (color, underline, background) -chalk.green( - 'I am a green line ' + - chalk.blue.underline.bold('with a blue substring') + - ' that becomes green again!' -); -``` - -Easily define your own themes. - -```js -var chalk = require('chalk'); -var error = chalk.bold.red; -console.log(error('Error!')); -``` - -Take advantage of console.log [string substitution](http://nodejs.org/docs/latest/api/console.html#console_console_log_data). - -```js -var name = 'Sindre'; -console.log(chalk.green('Hello %s'), name); -//=> Hello Sindre -``` - - -## API - -### chalk.` - - -
-

The MIT License (MIT)

-

Copyright (c) 2016 Rod Vagg (the "Original Author") and additional 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.

-
-
- - \ No newline at end of file diff --git a/publi/node_modules/through2/LICENSE.md b/publi/node_modules/through2/LICENSE.md deleted file mode 100644 index 7f0b93d..0000000 --- a/publi/node_modules/through2/LICENSE.md +++ /dev/null @@ -1,9 +0,0 @@ -# The MIT License (MIT) - -**Copyright (c) 2016 Rod Vagg (the "Original Author") and additional 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. \ No newline at end of file diff --git a/publi/node_modules/through2/README.md b/publi/node_modules/through2/README.md deleted file mode 100644 index a916f15..0000000 --- a/publi/node_modules/through2/README.md +++ /dev/null @@ -1,136 +0,0 @@ -# through2 - -[![NPM](https://nodei.co/npm/through2.png?downloads&downloadRank)](https://nodei.co/npm/through2/) - -**A tiny wrapper around Node streams.Transform (Streams2) to avoid explicit subclassing noise** - -Inspired by [Dominic Tarr](https://github.com/dominictarr)'s [through](https://github.com/dominictarr/through) in that it's so much easier to make a stream out of a function than it is to set up the prototype chain properly: `through(function (chunk) { ... })`. - -Note: As 2.x.x this module starts using **Streams3** instead of Stream2. To continue using a Streams2 version use `npm install through2@0` to fetch the latest version of 0.x.x. More information about Streams2 vs Streams3 and recommendations see the article **[Why I don't use Node's core 'stream' module](http://r.va.gg/2014/06/why-i-dont-use-nodes-core-stream-module.html)**. - -```js -fs.createReadStream('ex.txt') - .pipe(through2(function (chunk, enc, callback) { - for (var i = 0; i < chunk.length; i++) - if (chunk[i] == 97) - chunk[i] = 122 // swap 'a' for 'z' - - this.push(chunk) - - callback() - })) - .pipe(fs.createWriteStream('out.txt')) - .on('finish', function () { - doSomethingSpecial() - }) -``` - -Or object streams: - -```js -var all = [] - -fs.createReadStream('data.csv') - .pipe(csv2()) - .pipe(through2.obj(function (chunk, enc, callback) { - var data = { - name : chunk[0] - , address : chunk[3] - , phone : chunk[10] - } - this.push(data) - - callback() - })) - .on('data', function (data) { - all.push(data) - }) - .on('end', function () { - doSomethingSpecial(all) - }) -``` - -Note that `through2.obj(fn)` is a convenience wrapper around `through2({ objectMode: true }, fn)`. - -## API - -through2([ options, ] [ transformFunction ] [, flushFunction ]) - -Consult the **[stream.Transform](http://nodejs.org/docs/latest/api/stream.html#stream_class_stream_transform)** documentation for the exact rules of the `transformFunction` (i.e. `this._transform`) and the optional `flushFunction` (i.e. `this._flush`). - -### options - -The options argument is optional and is passed straight through to `stream.Transform`. So you can use `objectMode:true` if you are processing non-binary streams (or just use `through2.obj()`). - -The `options` argument is first, unlike standard convention, because if I'm passing in an anonymous function then I'd prefer for the options argument to not get lost at the end of the call: - -```js -fs.createReadStream('/tmp/important.dat') - .pipe(through2({ objectMode: true, allowHalfOpen: false }, - function (chunk, enc, cb) { - cb(null, 'wut?') // note we can use the second argument on the callback - // to provide data as an alternative to this.push('wut?') - } - ) - .pipe(fs.createWriteStream('/tmp/wut.txt')) -``` - -### transformFunction - -The `transformFunction` must have the following signature: `function (chunk, encoding, callback) {}`. A minimal implementation should call the `callback` function to indicate that the transformation is done, even if that transformation means discarding the chunk. - -To queue a new chunk, call `this.push(chunk)`—this can be called as many times as required before the `callback()` if you have multiple pieces to send on. - -Alternatively, you may use `callback(err, chunk)` as shorthand for emitting a single chunk or an error. - -If you **do not provide a `transformFunction`** then you will get a simple pass-through stream. - -### flushFunction - -The optional `flushFunction` is provided as the last argument (2nd or 3rd, depending on whether you've supplied options) is called just prior to the stream ending. Can be used to finish up any processing that may be in progress. - -```js -fs.createReadStream('/tmp/important.dat') - .pipe(through2( - function (chunk, enc, cb) { cb(null, chunk) }, // transform is a noop - function (cb) { // flush function - this.push('tacking on an extra buffer to the end'); - cb(); - } - )) - .pipe(fs.createWriteStream('/tmp/wut.txt')); -``` - -through2.ctor([ options, ] transformFunction[, flushFunction ]) - -Instead of returning a `stream.Transform` instance, `through2.ctor()` returns a **constructor** for a custom Transform. This is useful when you want to use the same transform logic in multiple instances. - -```js -var FToC = through2.ctor({objectMode: true}, function (record, encoding, callback) { - if (record.temp != null && record.unit == "F") { - record.temp = ( ( record.temp - 32 ) * 5 ) / 9 - record.unit = "C" - } - this.push(record) - callback() -}) - -// Create instances of FToC like so: -var converter = new FToC() -// Or: -var converter = FToC() -// Or specify/override options when you instantiate, if you prefer: -var converter = FToC({objectMode: true}) -``` - -## See Also - - - [through2-map](https://github.com/brycebaril/through2-map) - Array.prototype.map analog for streams. - - [through2-filter](https://github.com/brycebaril/through2-filter) - Array.prototype.filter analog for streams. - - [through2-reduce](https://github.com/brycebaril/through2-reduce) - Array.prototype.reduce analog for streams. - - [through2-spy](https://github.com/brycebaril/through2-spy) - Wrapper for simple stream.PassThrough spies. - - the [mississippi stream utility collection](https://github.com/maxogden/mississippi) includes `through2` as well as many more useful stream modules similar to this one - -## License - -**through2** is Copyright (c) 2013 Rod Vagg [@rvagg](https://twitter.com/rvagg) and licensed under the MIT license. All rights not explicitly granted in the MIT license are reserved. See the included LICENSE file for more details. diff --git a/publi/node_modules/through2/node_modules/isarray/.npmignore b/publi/node_modules/through2/node_modules/isarray/.npmignore deleted file mode 100644 index 3c3629e..0000000 --- a/publi/node_modules/through2/node_modules/isarray/.npmignore +++ /dev/null @@ -1 +0,0 @@ -node_modules diff --git a/publi/node_modules/through2/node_modules/isarray/.travis.yml b/publi/node_modules/through2/node_modules/isarray/.travis.yml deleted file mode 100644 index cc4dba2..0000000 --- a/publi/node_modules/through2/node_modules/isarray/.travis.yml +++ /dev/null @@ -1,4 +0,0 @@ -language: node_js -node_js: - - "0.8" - - "0.10" diff --git a/publi/node_modules/through2/node_modules/isarray/Makefile b/publi/node_modules/through2/node_modules/isarray/Makefile deleted file mode 100644 index 787d56e..0000000 --- a/publi/node_modules/through2/node_modules/isarray/Makefile +++ /dev/null @@ -1,6 +0,0 @@ - -test: - @node_modules/.bin/tape test.js - -.PHONY: test - diff --git a/publi/node_modules/through2/node_modules/isarray/README.md b/publi/node_modules/through2/node_modules/isarray/README.md deleted file mode 100644 index 16d2c59..0000000 --- a/publi/node_modules/through2/node_modules/isarray/README.md +++ /dev/null @@ -1,60 +0,0 @@ - -# isarray - -`Array#isArray` for older browsers. - -[![build status](https://secure.travis-ci.org/juliangruber/isarray.svg)](http://travis-ci.org/juliangruber/isarray) -[![downloads](https://img.shields.io/npm/dm/isarray.svg)](https://www.npmjs.org/package/isarray) - -[![browser support](https://ci.testling.com/juliangruber/isarray.png) -](https://ci.testling.com/juliangruber/isarray) - -## Usage - -```js -var isArray = require('isarray'); - -console.log(isArray([])); // => true -console.log(isArray({})); // => false -``` - -## Installation - -With [npm](http://npmjs.org) do - -```bash -$ npm install isarray -``` - -Then bundle for the browser with -[browserify](https://github.com/substack/browserify). - -With [component](http://component.io) do - -```bash -$ component install juliangruber/isarray -``` - -## License - -(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. diff --git a/publi/node_modules/through2/node_modules/isarray/component.json b/publi/node_modules/through2/node_modules/isarray/component.json deleted file mode 100644 index 9e31b68..0000000 --- a/publi/node_modules/through2/node_modules/isarray/component.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "name" : "isarray", - "description" : "Array#isArray for older browsers", - "version" : "0.0.1", - "repository" : "juliangruber/isarray", - "homepage": "https://github.com/juliangruber/isarray", - "main" : "index.js", - "scripts" : [ - "index.js" - ], - "dependencies" : {}, - "keywords": ["browser","isarray","array"], - "author": { - "name": "Julian Gruber", - "email": "mail@juliangruber.com", - "url": "http://juliangruber.com" - }, - "license": "MIT" -} diff --git a/publi/node_modules/through2/node_modules/isarray/index.js b/publi/node_modules/through2/node_modules/isarray/index.js deleted file mode 100644 index a57f634..0000000 --- a/publi/node_modules/through2/node_modules/isarray/index.js +++ /dev/null @@ -1,5 +0,0 @@ -var toString = {}.toString; - -module.exports = Array.isArray || function (arr) { - return toString.call(arr) == '[object Array]'; -}; diff --git a/publi/node_modules/through2/node_modules/isarray/package.json b/publi/node_modules/through2/node_modules/isarray/package.json deleted file mode 100644 index c8ba416..0000000 --- a/publi/node_modules/through2/node_modules/isarray/package.json +++ /dev/null @@ -1,104 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "isarray@~1.0.0", - "scope": null, - "escapedName": "isarray", - "name": "isarray", - "rawSpec": "~1.0.0", - "spec": ">=1.0.0 <1.1.0", - "type": "range" - }, - "/mnt/Data/bach/Documents/ola/OLA#3DOC/sys/node_modules/through2/node_modules/readable-stream" - ] - ], - "_from": "isarray@>=1.0.0 <1.1.0", - "_id": "isarray@1.0.0", - "_inCache": true, - "_location": "/through2/isarray", - "_nodeVersion": "5.1.0", - "_npmUser": { - "name": "juliangruber", - "email": "julian@juliangruber.com" - }, - "_npmVersion": "3.3.12", - "_phantomChildren": {}, - "_requested": { - "raw": "isarray@~1.0.0", - "scope": null, - "escapedName": "isarray", - "name": "isarray", - "rawSpec": "~1.0.0", - "spec": ">=1.0.0 <1.1.0", - "type": "range" - }, - "_requiredBy": [ - "/through2/readable-stream" - ], - "_resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "_shasum": "bb935d48582cba168c06834957a54a3e07124f11", - "_shrinkwrap": null, - "_spec": "isarray@~1.0.0", - "_where": "/mnt/Data/bach/Documents/ola/OLA#3DOC/sys/node_modules/through2/node_modules/readable-stream", - "author": { - "name": "Julian Gruber", - "email": "mail@juliangruber.com", - "url": "http://juliangruber.com" - }, - "bugs": { - "url": "https://github.com/juliangruber/isarray/issues" - }, - "dependencies": {}, - "description": "Array#isArray for older browsers", - "devDependencies": { - "tape": "~2.13.4" - }, - "directories": {}, - "dist": { - "shasum": "bb935d48582cba168c06834957a54a3e07124f11", - "tarball": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz" - }, - "gitHead": "2a23a281f369e9ae06394c0fb4d2381355a6ba33", - "homepage": "https://github.com/juliangruber/isarray", - "keywords": [ - "browser", - "isarray", - "array" - ], - "license": "MIT", - "main": "index.js", - "maintainers": [ - { - "name": "juliangruber", - "email": "julian@juliangruber.com" - } - ], - "name": "isarray", - "optionalDependencies": {}, - "readme": "ERROR: No README data found!", - "repository": { - "type": "git", - "url": "git://github.com/juliangruber/isarray.git" - }, - "scripts": { - "test": "tape test.js" - }, - "testling": { - "files": "test.js", - "browsers": [ - "ie/8..latest", - "firefox/17..latest", - "firefox/nightly", - "chrome/22..latest", - "chrome/canary", - "opera/12..latest", - "opera/next", - "safari/5.1..latest", - "ipad/6.0..latest", - "iphone/6.0..latest", - "android-browser/4.2..latest" - ] - }, - "version": "1.0.0" -} diff --git a/publi/node_modules/through2/node_modules/isarray/test.js b/publi/node_modules/through2/node_modules/isarray/test.js deleted file mode 100644 index e0c3444..0000000 --- a/publi/node_modules/through2/node_modules/isarray/test.js +++ /dev/null @@ -1,20 +0,0 @@ -var isArray = require('./'); -var test = require('tape'); - -test('is array', function(t){ - t.ok(isArray([])); - t.notOk(isArray({})); - t.notOk(isArray(null)); - t.notOk(isArray(false)); - - var obj = {}; - obj[0] = true; - t.notOk(isArray(obj)); - - var arr = []; - arr.foo = 'bar'; - t.ok(isArray(arr)); - - t.end(); -}); - diff --git a/publi/node_modules/through2/node_modules/readable-stream/.npmignore b/publi/node_modules/through2/node_modules/readable-stream/.npmignore deleted file mode 100644 index 6d270c6..0000000 --- a/publi/node_modules/through2/node_modules/readable-stream/.npmignore +++ /dev/null @@ -1,9 +0,0 @@ -build/ -test/ -examples/ -fs.js -zlib.js -.zuul.yml -.nyc_output -coverage -docs/ diff --git a/publi/node_modules/through2/node_modules/readable-stream/.travis.yml b/publi/node_modules/through2/node_modules/readable-stream/.travis.yml deleted file mode 100644 index 0c5d2bc..0000000 --- a/publi/node_modules/through2/node_modules/readable-stream/.travis.yml +++ /dev/null @@ -1,65 +0,0 @@ -sudo: false -language: node_js -before_install: - - npm install -g npm@2 - - test $NPM_LEGACY && npm install -g npm@latest-3 || npm install npm -g -notifications: - email: false -matrix: - fast_finish: true - include: - - node_js: '0.8' - env: - - TASK=test - - NPM_LEGACY=true - - node_js: '0.10' - env: - - TASK=test - - NPM_LEGACY=true - - node_js: '0.11' - env: - - TASK=test - - NPM_LEGACY=true - - node_js: '0.12' - env: - - TASK=test - - NPM_LEGACY=true - - node_js: 1 - env: - - TASK=test - - NPM_LEGACY=true - - node_js: 2 - env: - - TASK=test - - NPM_LEGACY=true - - node_js: 3 - env: - - TASK=test - - NPM_LEGACY=true - - node_js: 4 - env: TASK=test - - node_js: 5 - env: TASK=test - - node_js: 6 - env: TASK=test - - node_js: 7 - env: TASK=test - - node_js: 8 - env: TASK=test - - node_js: 6 - env: TASK=browser BROWSER_NAME=ie BROWSER_VERSION="9..latest" - - node_js: 6 - env: TASK=browser BROWSER_NAME=opera BROWSER_VERSION="11..latest" - - node_js: 6 - env: TASK=browser BROWSER_NAME=chrome BROWSER_VERSION="-3..latest" - - node_js: 6 - env: TASK=browser BROWSER_NAME=firefox BROWSER_VERSION="-3..latest" - - node_js: 6 - env: TASK=browser BROWSER_NAME=safari BROWSER_VERSION="5..latest" - - node_js: 6 - env: TASK=browser BROWSER_NAME=microsoftedge BROWSER_VERSION=latest -script: "npm run $TASK" -env: - global: - - secure: rE2Vvo7vnjabYNULNyLFxOyt98BoJexDqsiOnfiD6kLYYsiQGfr/sbZkPMOFm9qfQG7pjqx+zZWZjGSswhTt+626C0t/njXqug7Yps4c3dFblzGfreQHp7wNX5TFsvrxd6dAowVasMp61sJcRnB2w8cUzoe3RAYUDHyiHktwqMc= - - secure: g9YINaKAdMatsJ28G9jCGbSaguXCyxSTy+pBO6Ch0Cf57ZLOTka3HqDj8p3nV28LUIHZ3ut5WO43CeYKwt4AUtLpBS3a0dndHdY6D83uY6b2qh5hXlrcbeQTq2cvw2y95F7hm4D1kwrgZ7ViqaKggRcEupAL69YbJnxeUDKWEdI= diff --git a/publi/node_modules/through2/node_modules/readable-stream/CONTRIBUTING.md b/publi/node_modules/through2/node_modules/readable-stream/CONTRIBUTING.md deleted file mode 100644 index f478d58..0000000 --- a/publi/node_modules/through2/node_modules/readable-stream/CONTRIBUTING.md +++ /dev/null @@ -1,38 +0,0 @@ -# Developer's Certificate of Origin 1.1 - -By making a contribution to this project, I certify that: - -* (a) The contribution was created in whole or in part by me and I - have the right to submit it under the open source license - indicated in the file; or - -* (b) The contribution is based upon previous work that, to the best - of my knowledge, is covered under an appropriate open source - license and I have the right under that license to submit that - work with modifications, whether created in whole or in part - by me, under the same open source license (unless I am - permitted to submit under a different license), as indicated - in the file; or - -* (c) The contribution was provided directly to me by some other - person who certified (a), (b) or (c) and I have not modified - it. - -* (d) I understand and agree that this project and the contribution - are public and that a record of the contribution (including all - personal information I submit with it, including my sign-off) is - maintained indefinitely and may be redistributed consistent with - this project or the open source license(s) involved. - -## Moderation Policy - -The [Node.js Moderation Policy] applies to this WG. - -## Code of Conduct - -The [Node.js Code of Conduct][] applies to this WG. - -[Node.js Code of Conduct]: -https://github.com/nodejs/node/blob/master/CODE_OF_CONDUCT.md -[Node.js Moderation Policy]: -https://github.com/nodejs/TSC/blob/master/Moderation-Policy.md diff --git a/publi/node_modules/through2/node_modules/readable-stream/GOVERNANCE.md b/publi/node_modules/through2/node_modules/readable-stream/GOVERNANCE.md deleted file mode 100644 index 16ffb93..0000000 --- a/publi/node_modules/through2/node_modules/readable-stream/GOVERNANCE.md +++ /dev/null @@ -1,136 +0,0 @@ -### Streams Working Group - -The Node.js Streams is jointly governed by a Working Group -(WG) -that is responsible for high-level guidance of the project. - -The WG has final authority over this project including: - -* Technical direction -* Project governance and process (including this policy) -* Contribution policy -* GitHub repository hosting -* Conduct guidelines -* Maintaining the list of additional Collaborators - -For the current list of WG members, see the project -[README.md](./README.md#current-project-team-members). - -### Collaborators - -The readable-stream GitHub repository is -maintained by the WG and additional Collaborators who are added by the -WG on an ongoing basis. - -Individuals making significant and valuable contributions are made -Collaborators and given commit-access to the project. These -individuals are identified by the WG and their addition as -Collaborators is discussed during the WG meeting. - -_Note:_ If you make a significant contribution and are not considered -for commit-access log an issue or contact a WG member directly and it -will be brought up in the next WG meeting. - -Modifications of the contents of the readable-stream repository are -made on -a collaborative basis. Anybody with a GitHub account may propose a -modification via pull request and it will be considered by the project -Collaborators. All pull requests must be reviewed and accepted by a -Collaborator with sufficient expertise who is able to take full -responsibility for the change. In the case of pull requests proposed -by an existing Collaborator, an additional Collaborator is required -for sign-off. Consensus should be sought if additional Collaborators -participate and there is disagreement around a particular -modification. See _Consensus Seeking Process_ below for further detail -on the consensus model used for governance. - -Collaborators may opt to elevate significant or controversial -modifications, or modifications that have not found consensus to the -WG for discussion by assigning the ***WG-agenda*** tag to a pull -request or issue. The WG should serve as the final arbiter where -required. - -For the current list of Collaborators, see the project -[README.md](./README.md#members). - -### WG Membership - -WG seats are not time-limited. There is no fixed size of the WG. -However, the expected target is between 6 and 12, to ensure adequate -coverage of important areas of expertise, balanced with the ability to -make decisions efficiently. - -There is no specific set of requirements or qualifications for WG -membership beyond these rules. - -The WG may add additional members to the WG by unanimous consensus. - -A WG member may be removed from the WG by voluntary resignation, or by -unanimous consensus of all other WG members. - -Changes to WG membership should be posted in the agenda, and may be -suggested as any other agenda item (see "WG Meetings" below). - -If an addition or removal is proposed during a meeting, and the full -WG is not in attendance to participate, then the addition or removal -is added to the agenda for the subsequent meeting. This is to ensure -that all members are given the opportunity to participate in all -membership decisions. If a WG member is unable to attend a meeting -where a planned membership decision is being made, then their consent -is assumed. - -No more than 1/3 of the WG members may be affiliated with the same -employer. If removal or resignation of a WG member, or a change of -employment by a WG member, creates a situation where more than 1/3 of -the WG membership shares an employer, then the situation must be -immediately remedied by the resignation or removal of one or more WG -members affiliated with the over-represented employer(s). - -### WG Meetings - -The WG meets occasionally on a Google Hangout On Air. A designated moderator -approved by the WG runs the meeting. Each meeting should be -published to YouTube. - -Items are added to the WG agenda that are considered contentious or -are modifications of governance, contribution policy, WG membership, -or release process. - -The intention of the agenda is not to approve or review all patches; -that should happen continuously on GitHub and be handled by the larger -group of Collaborators. - -Any community member or contributor can ask that something be added to -the next meeting's agenda by logging a GitHub Issue. Any Collaborator, -WG member or the moderator can add the item to the agenda by adding -the ***WG-agenda*** tag to the issue. - -Prior to each WG meeting the moderator will share the Agenda with -members of the WG. WG members can add any items they like to the -agenda at the beginning of each meeting. The moderator and the WG -cannot veto or remove items. - -The WG may invite persons or representatives from certain projects to -participate in a non-voting capacity. - -The moderator is responsible for summarizing the discussion of each -agenda item and sends it as a pull request after the meeting. - -### Consensus Seeking Process - -The WG follows a -[Consensus -Seeking](http://en.wikipedia.org/wiki/Consensus-seeking_decision-making) -decision-making model. - -When an agenda item has appeared to reach a consensus the moderator -will ask "Does anyone object?" as a final call for dissent from the -consensus. - -If an agenda item cannot reach a consensus a WG member can call for -either a closing vote or a vote to table the issue to the next -meeting. The call for a vote must be seconded by a majority of the WG -or else the discussion will continue. Simple majority wins. - -Note that changes to WG membership require a majority consensus. See -"WG Membership" above. diff --git a/publi/node_modules/through2/node_modules/readable-stream/LICENSE b/publi/node_modules/through2/node_modules/readable-stream/LICENSE deleted file mode 100644 index 2873b3b..0000000 --- a/publi/node_modules/through2/node_modules/readable-stream/LICENSE +++ /dev/null @@ -1,47 +0,0 @@ -Node.js is licensed for use as follows: - -""" -Copyright Node.js contributors. 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. -""" - -This license applies to parts of Node.js originating from the -https://github.com/joyent/node repository: - -""" -Copyright Joyent, Inc. and other Node contributors. 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. -""" diff --git a/publi/node_modules/through2/node_modules/readable-stream/README.md b/publi/node_modules/through2/node_modules/readable-stream/README.md deleted file mode 100644 index b24a2c8..0000000 --- a/publi/node_modules/through2/node_modules/readable-stream/README.md +++ /dev/null @@ -1,57 +0,0 @@ -# readable-stream - -***Node-core v8.1.3 streams for userland*** [![Build Status](https://travis-ci.org/nodejs/readable-stream.svg?branch=master)](https://travis-ci.org/nodejs/readable-stream) - - -[![NPM](https://nodei.co/npm/readable-stream.png?downloads=true&downloadRank=true)](https://nodei.co/npm/readable-stream/) -[![NPM](https://nodei.co/npm-dl/readable-stream.png?&months=6&height=3)](https://nodei.co/npm/readable-stream/) - - -[![Sauce Test Status](https://saucelabs.com/browser-matrix/readable-stream.svg)](https://saucelabs.com/u/readable-stream) - -```bash -npm install --save readable-stream -``` - -***Node-core streams for userland*** - -This package is a mirror of the Streams2 and Streams3 implementations in -Node-core. - -Full documentation may be found on the [Node.js website](https://nodejs.org/dist/v8.1.3/docs/api/stream.html). - -If you want to guarantee a stable streams base, regardless of what version of -Node you, or the users of your libraries are using, use **readable-stream** *only* and avoid the *"stream"* module in Node-core, for background see [this blogpost](http://r.va.gg/2014/06/why-i-dont-use-nodes-core-stream-module.html). - -As of version 2.0.0 **readable-stream** uses semantic versioning. - -# Streams Working Group - -`readable-stream` is maintained by the Streams Working Group, which -oversees the development and maintenance of the Streams API within -Node.js. The responsibilities of the Streams Working Group include: - -* Addressing stream issues on the Node.js issue tracker. -* Authoring and editing stream documentation within the Node.js project. -* Reviewing changes to stream subclasses within the Node.js project. -* Redirecting changes to streams from the Node.js project to this - project. -* Assisting in the implementation of stream providers within Node.js. -* Recommending versions of `readable-stream` to be included in Node.js. -* Messaging about the future of streams to give the community advance - notice of changes. - - -## Team Members - -* **Chris Dickinson** ([@chrisdickinson](https://github.com/chrisdickinson)) <christopher.s.dickinson@gmail.com> - - Release GPG key: 9554F04D7259F04124DE6B476D5A82AC7E37093B -* **Calvin Metcalf** ([@calvinmetcalf](https://github.com/calvinmetcalf)) <calvin.metcalf@gmail.com> - - Release GPG key: F3EF5F62A87FC27A22E643F714CE4FF5015AA242 -* **Rod Vagg** ([@rvagg](https://github.com/rvagg)) <rod@vagg.org> - - Release GPG key: DD8F2338BAE7501E3DD5AC78C273792F7D83545D -* **Sam Newman** ([@sonewman](https://github.com/sonewman)) <newmansam@outlook.com> -* **Mathias Buus** ([@mafintosh](https://github.com/mafintosh)) <mathiasbuus@gmail.com> -* **Domenic Denicola** ([@domenic](https://github.com/domenic)) <d@domenic.me> -* **Matteo Collina** ([@mcollina](https://github.com/mcollina)) <matteo.collina@gmail.com> - - Release GPG key: 3ABC01543F22DD2239285CDD818674489FBC127E diff --git a/publi/node_modules/through2/node_modules/readable-stream/doc/wg-meetings/2015-01-30.md b/publi/node_modules/through2/node_modules/readable-stream/doc/wg-meetings/2015-01-30.md deleted file mode 100644 index 83275f1..0000000 --- a/publi/node_modules/through2/node_modules/readable-stream/doc/wg-meetings/2015-01-30.md +++ /dev/null @@ -1,60 +0,0 @@ -# streams WG Meeting 2015-01-30 - -## Links - -* **Google Hangouts Video**: http://www.youtube.com/watch?v=I9nDOSGfwZg -* **GitHub Issue**: https://github.com/iojs/readable-stream/issues/106 -* **Original Minutes Google Doc**: https://docs.google.com/document/d/17aTgLnjMXIrfjgNaTUnHQO7m3xgzHR2VXBTmi03Qii4/ - -## Agenda - -Extracted from https://github.com/iojs/readable-stream/labels/wg-agenda prior to meeting. - -* adopt a charter [#105](https://github.com/iojs/readable-stream/issues/105) -* release and versioning strategy [#101](https://github.com/iojs/readable-stream/issues/101) -* simpler stream creation [#102](https://github.com/iojs/readable-stream/issues/102) -* proposal: deprecate implicit flowing of streams [#99](https://github.com/iojs/readable-stream/issues/99) - -## Minutes - -### adopt a charter - -* group: +1's all around - -### What versioning scheme should be adopted? -* group: +1’s 3.0.0 -* domenic+group: pulling in patches from other sources where appropriate -* mikeal: version independently, suggesting versions for io.js -* mikeal+domenic: work with TC to notify in advance of changes -simpler stream creation - -### streamline creation of streams -* sam: streamline creation of streams -* domenic: nice simple solution posted - but, we lose the opportunity to change the model - may not be backwards incompatible (double check keys) - - **action item:** domenic will check - -### remove implicit flowing of streams on(‘data’) -* add isFlowing / isPaused -* mikeal: worrying that we’re documenting polyfill methods – confuses users -* domenic: more reflective API is probably good, with warning labels for users -* new section for mad scientists (reflective stream access) -* calvin: name the “third state” -* mikeal: maybe borrow the name from whatwg? -* domenic: we’re missing the “third state” -* consensus: kind of difficult to name the third state -* mikeal: figure out differences in states / compat -* mathias: always flow on data – eliminates third state - * explore what it breaks - -**action items:** -* ask isaac for ability to list packages by what public io.js APIs they use (esp. Stream) -* ask rod/build for infrastructure -* **chris**: explore the “flow on data” approach -* add isPaused/isFlowing -* add new docs section -* move isPaused to that section - - diff --git a/publi/node_modules/through2/node_modules/readable-stream/duplex-browser.js b/publi/node_modules/through2/node_modules/readable-stream/duplex-browser.js deleted file mode 100644 index f8b2db8..0000000 --- a/publi/node_modules/through2/node_modules/readable-stream/duplex-browser.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./lib/_stream_duplex.js'); diff --git a/publi/node_modules/through2/node_modules/readable-stream/duplex.js b/publi/node_modules/through2/node_modules/readable-stream/duplex.js deleted file mode 100644 index 46924cb..0000000 --- a/publi/node_modules/through2/node_modules/readable-stream/duplex.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./readable').Duplex diff --git a/publi/node_modules/through2/node_modules/readable-stream/lib/_stream_duplex.js b/publi/node_modules/through2/node_modules/readable-stream/lib/_stream_duplex.js deleted file mode 100644 index c599463..0000000 --- a/publi/node_modules/through2/node_modules/readable-stream/lib/_stream_duplex.js +++ /dev/null @@ -1,124 +0,0 @@ -// 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. - -// a duplex stream is just a stream that is both readable and writable. -// Since JS doesn't have multiple prototypal inheritance, this class -// prototypally inherits from Readable, and then parasitically from -// Writable. - -'use strict'; - -/**/ - -var processNextTick = require('process-nextick-args'); -/**/ - -/**/ -var objectKeys = Object.keys || function (obj) { - var keys = []; - for (var key in obj) { - keys.push(key); - }return keys; -}; -/**/ - -module.exports = Duplex; - -/**/ -var util = require('core-util-is'); -util.inherits = require('inherits'); -/**/ - -var Readable = require('./_stream_readable'); -var Writable = require('./_stream_writable'); - -util.inherits(Duplex, Readable); - -var keys = objectKeys(Writable.prototype); -for (var v = 0; v < keys.length; v++) { - var method = keys[v]; - if (!Duplex.prototype[method]) Duplex.prototype[method] = Writable.prototype[method]; -} - -function Duplex(options) { - if (!(this instanceof Duplex)) return new Duplex(options); - - Readable.call(this, options); - Writable.call(this, options); - - if (options && options.readable === false) this.readable = false; - - if (options && options.writable === false) this.writable = false; - - this.allowHalfOpen = true; - if (options && options.allowHalfOpen === false) this.allowHalfOpen = false; - - this.once('end', onend); -} - -// the no-half-open enforcer -function onend() { - // if we allow half-open state, or if the writable side ended, - // then we're ok. - if (this.allowHalfOpen || this._writableState.ended) return; - - // no more data can be written. - // But allow more writes to happen in this tick. - processNextTick(onEndNT, this); -} - -function onEndNT(self) { - self.end(); -} - -Object.defineProperty(Duplex.prototype, 'destroyed', { - get: function () { - if (this._readableState === undefined || this._writableState === undefined) { - return false; - } - return this._readableState.destroyed && this._writableState.destroyed; - }, - set: function (value) { - // we ignore the value if the stream - // has not been initialized yet - if (this._readableState === undefined || this._writableState === undefined) { - return; - } - - // backward compatibility, the user is explicitly - // managing destroyed - this._readableState.destroyed = value; - this._writableState.destroyed = value; - } -}); - -Duplex.prototype._destroy = function (err, cb) { - this.push(null); - this.end(); - - processNextTick(cb, err); -}; - -function forEach(xs, f) { - for (var i = 0, l = xs.length; i < l; i++) { - f(xs[i], i); - } -} \ No newline at end of file diff --git a/publi/node_modules/through2/node_modules/readable-stream/lib/_stream_passthrough.js b/publi/node_modules/through2/node_modules/readable-stream/lib/_stream_passthrough.js deleted file mode 100644 index a9c8358..0000000 --- a/publi/node_modules/through2/node_modules/readable-stream/lib/_stream_passthrough.js +++ /dev/null @@ -1,47 +0,0 @@ -// 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. - -// a passthrough stream. -// basically just the most minimal sort of Transform stream. -// Every written chunk gets output as-is. - -'use strict'; - -module.exports = PassThrough; - -var Transform = require('./_stream_transform'); - -/**/ -var util = require('core-util-is'); -util.inherits = require('inherits'); -/**/ - -util.inherits(PassThrough, Transform); - -function PassThrough(options) { - if (!(this instanceof PassThrough)) return new PassThrough(options); - - Transform.call(this, options); -} - -PassThrough.prototype._transform = function (chunk, encoding, cb) { - cb(null, chunk); -}; \ No newline at end of file diff --git a/publi/node_modules/through2/node_modules/readable-stream/lib/_stream_readable.js b/publi/node_modules/through2/node_modules/readable-stream/lib/_stream_readable.js deleted file mode 100644 index ee9001c..0000000 --- a/publi/node_modules/through2/node_modules/readable-stream/lib/_stream_readable.js +++ /dev/null @@ -1,1007 +0,0 @@ -// 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. - -'use strict'; - -/**/ - -var processNextTick = require('process-nextick-args'); -/**/ - -module.exports = Readable; - -/**/ -var isArray = require('isarray'); -/**/ - -/**/ -var Duplex; -/**/ - -Readable.ReadableState = ReadableState; - -/**/ -var EE = require('events').EventEmitter; - -var EElistenerCount = function (emitter, type) { - return emitter.listeners(type).length; -}; -/**/ - -/**/ -var Stream = require('./internal/streams/stream'); -/**/ - -// TODO(bmeurer): Change this back to const once hole checks are -// properly optimized away early in Ignition+TurboFan. -/**/ -var Buffer = require('safe-buffer').Buffer; -var OurUint8Array = global.Uint8Array || function () {}; -function _uint8ArrayToBuffer(chunk) { - return Buffer.from(chunk); -} -function _isUint8Array(obj) { - return Buffer.isBuffer(obj) || obj instanceof OurUint8Array; -} -/**/ - -/**/ -var util = require('core-util-is'); -util.inherits = require('inherits'); -/**/ - -/**/ -var debugUtil = require('util'); -var debug = void 0; -if (debugUtil && debugUtil.debuglog) { - debug = debugUtil.debuglog('stream'); -} else { - debug = function () {}; -} -/**/ - -var BufferList = require('./internal/streams/BufferList'); -var destroyImpl = require('./internal/streams/destroy'); -var StringDecoder; - -util.inherits(Readable, Stream); - -var kProxyEvents = ['error', 'close', 'destroy', 'pause', 'resume']; - -function prependListener(emitter, event, fn) { - // Sadly this is not cacheable as some libraries bundle their own - // event emitter implementation with them. - if (typeof emitter.prependListener === 'function') { - return emitter.prependListener(event, fn); - } else { - // This is a hack to make sure that our error handler is attached before any - // userland ones. NEVER DO THIS. This is here only because this code needs - // to continue to work with older versions of Node.js that do not include - // the prependListener() method. The goal is to eventually remove this hack. - if (!emitter._events || !emitter._events[event]) emitter.on(event, fn);else if (isArray(emitter._events[event])) emitter._events[event].unshift(fn);else emitter._events[event] = [fn, emitter._events[event]]; - } -} - -function ReadableState(options, stream) { - Duplex = Duplex || require('./_stream_duplex'); - - options = options || {}; - - // object stream flag. Used to make read(n) ignore n and to - // make all the buffer merging and length checks go away - this.objectMode = !!options.objectMode; - - if (stream instanceof Duplex) this.objectMode = this.objectMode || !!options.readableObjectMode; - - // the point at which it stops calling _read() to fill the buffer - // Note: 0 is a valid value, means "don't call _read preemptively ever" - var hwm = options.highWaterMark; - var defaultHwm = this.objectMode ? 16 : 16 * 1024; - this.highWaterMark = hwm || hwm === 0 ? hwm : defaultHwm; - - // cast to ints. - this.highWaterMark = Math.floor(this.highWaterMark); - - // A linked list is used to store data chunks instead of an array because the - // linked list can remove elements from the beginning faster than - // array.shift() - this.buffer = new BufferList(); - this.length = 0; - this.pipes = null; - this.pipesCount = 0; - this.flowing = null; - this.ended = false; - this.endEmitted = false; - this.reading = false; - - // a flag to be able to tell if the event 'readable'/'data' is emitted - // immediately, or on a later tick. We set this to true at first, because - // any actions that shouldn't happen until "later" should generally also - // not happen before the first read call. - this.sync = true; - - // whenever we return null, then we set a flag to say - // that we're awaiting a 'readable' event emission. - this.needReadable = false; - this.emittedReadable = false; - this.readableListening = false; - this.resumeScheduled = false; - - // has it been destroyed - this.destroyed = false; - - // Crypto is kind of old and crusty. Historically, its default string - // encoding is 'binary' so we have to make this configurable. - // Everything else in the universe uses 'utf8', though. - this.defaultEncoding = options.defaultEncoding || 'utf8'; - - // the number of writers that are awaiting a drain event in .pipe()s - this.awaitDrain = 0; - - // if true, a maybeReadMore has been scheduled - this.readingMore = false; - - this.decoder = null; - this.encoding = null; - if (options.encoding) { - if (!StringDecoder) StringDecoder = require('string_decoder/').StringDecoder; - this.decoder = new StringDecoder(options.encoding); - this.encoding = options.encoding; - } -} - -function Readable(options) { - Duplex = Duplex || require('./_stream_duplex'); - - if (!(this instanceof Readable)) return new Readable(options); - - this._readableState = new ReadableState(options, this); - - // legacy - this.readable = true; - - if (options) { - if (typeof options.read === 'function') this._read = options.read; - - if (typeof options.destroy === 'function') this._destroy = options.destroy; - } - - Stream.call(this); -} - -Object.defineProperty(Readable.prototype, 'destroyed', { - get: function () { - if (this._readableState === undefined) { - return false; - } - return this._readableState.destroyed; - }, - set: function (value) { - // we ignore the value if the stream - // has not been initialized yet - if (!this._readableState) { - return; - } - - // backward compatibility, the user is explicitly - // managing destroyed - this._readableState.destroyed = value; - } -}); - -Readable.prototype.destroy = destroyImpl.destroy; -Readable.prototype._undestroy = destroyImpl.undestroy; -Readable.prototype._destroy = function (err, cb) { - this.push(null); - cb(err); -}; - -// Manually shove something into the read() buffer. -// This returns true if the highWaterMark has not been hit yet, -// similar to how Writable.write() returns true if you should -// write() some more. -Readable.prototype.push = function (chunk, encoding) { - var state = this._readableState; - var skipChunkCheck; - - if (!state.objectMode) { - if (typeof chunk === 'string') { - encoding = encoding || state.defaultEncoding; - if (encoding !== state.encoding) { - chunk = Buffer.from(chunk, encoding); - encoding = ''; - } - skipChunkCheck = true; - } - } else { - skipChunkCheck = true; - } - - return readableAddChunk(this, chunk, encoding, false, skipChunkCheck); -}; - -// Unshift should *always* be something directly out of read() -Readable.prototype.unshift = function (chunk) { - return readableAddChunk(this, chunk, null, true, false); -}; - -function readableAddChunk(stream, chunk, encoding, addToFront, skipChunkCheck) { - var state = stream._readableState; - if (chunk === null) { - state.reading = false; - onEofChunk(stream, state); - } else { - var er; - if (!skipChunkCheck) er = chunkInvalid(state, chunk); - if (er) { - stream.emit('error', er); - } else if (state.objectMode || chunk && chunk.length > 0) { - if (typeof chunk !== 'string' && !state.objectMode && Object.getPrototypeOf(chunk) !== Buffer.prototype) { - chunk = _uint8ArrayToBuffer(chunk); - } - - if (addToFront) { - if (state.endEmitted) stream.emit('error', new Error('stream.unshift() after end event'));else addChunk(stream, state, chunk, true); - } else if (state.ended) { - stream.emit('error', new Error('stream.push() after EOF')); - } else { - state.reading = false; - if (state.decoder && !encoding) { - chunk = state.decoder.write(chunk); - if (state.objectMode || chunk.length !== 0) addChunk(stream, state, chunk, false);else maybeReadMore(stream, state); - } else { - addChunk(stream, state, chunk, false); - } - } - } else if (!addToFront) { - state.reading = false; - } - } - - return needMoreData(state); -} - -function addChunk(stream, state, chunk, addToFront) { - if (state.flowing && state.length === 0 && !state.sync) { - stream.emit('data', chunk); - stream.read(0); - } else { - // update the buffer info. - state.length += state.objectMode ? 1 : chunk.length; - if (addToFront) state.buffer.unshift(chunk);else state.buffer.push(chunk); - - if (state.needReadable) emitReadable(stream); - } - maybeReadMore(stream, state); -} - -function chunkInvalid(state, chunk) { - var er; - if (!_isUint8Array(chunk) && typeof chunk !== 'string' && chunk !== undefined && !state.objectMode) { - er = new TypeError('Invalid non-string/buffer chunk'); - } - return er; -} - -// if it's past the high water mark, we can push in some more. -// Also, if we have no data yet, we can stand some -// more bytes. This is to work around cases where hwm=0, -// such as the repl. Also, if the push() triggered a -// readable event, and the user called read(largeNumber) such that -// needReadable was set, then we ought to push more, so that another -// 'readable' event will be triggered. -function needMoreData(state) { - return !state.ended && (state.needReadable || state.length < state.highWaterMark || state.length === 0); -} - -Readable.prototype.isPaused = function () { - return this._readableState.flowing === false; -}; - -// backwards compatibility. -Readable.prototype.setEncoding = function (enc) { - if (!StringDecoder) StringDecoder = require('string_decoder/').StringDecoder; - this._readableState.decoder = new StringDecoder(enc); - this._readableState.encoding = enc; - return this; -}; - -// Don't raise the hwm > 8MB -var MAX_HWM = 0x800000; -function computeNewHighWaterMark(n) { - if (n >= MAX_HWM) { - n = MAX_HWM; - } else { - // Get the next highest power of 2 to prevent increasing hwm excessively in - // tiny amounts - n--; - n |= n >>> 1; - n |= n >>> 2; - n |= n >>> 4; - n |= n >>> 8; - n |= n >>> 16; - n++; - } - return n; -} - -// This function is designed to be inlinable, so please take care when making -// changes to the function body. -function howMuchToRead(n, state) { - if (n <= 0 || state.length === 0 && state.ended) return 0; - if (state.objectMode) return 1; - if (n !== n) { - // Only flow one buffer at a time - if (state.flowing && state.length) return state.buffer.head.data.length;else return state.length; - } - // If we're asking for more than the current hwm, then raise the hwm. - if (n > state.highWaterMark) state.highWaterMark = computeNewHighWaterMark(n); - if (n <= state.length) return n; - // Don't have enough - if (!state.ended) { - state.needReadable = true; - return 0; - } - return state.length; -} - -// you can override either this method, or the async _read(n) below. -Readable.prototype.read = function (n) { - debug('read', n); - n = parseInt(n, 10); - var state = this._readableState; - var nOrig = n; - - if (n !== 0) state.emittedReadable = false; - - // if we're doing read(0) to trigger a readable event, but we - // already have a bunch of data in the buffer, then just trigger - // the 'readable' event and move on. - if (n === 0 && state.needReadable && (state.length >= state.highWaterMark || state.ended)) { - debug('read: emitReadable', state.length, state.ended); - if (state.length === 0 && state.ended) endReadable(this);else emitReadable(this); - return null; - } - - n = howMuchToRead(n, state); - - // if we've ended, and we're now clear, then finish it up. - if (n === 0 && state.ended) { - if (state.length === 0) endReadable(this); - return null; - } - - // All the actual chunk generation logic needs to be - // *below* the call to _read. The reason is that in certain - // synthetic stream cases, such as passthrough streams, _read - // may be a completely synchronous operation which may change - // the state of the read buffer, providing enough data when - // before there was *not* enough. - // - // So, the steps are: - // 1. Figure out what the state of things will be after we do - // a read from the buffer. - // - // 2. If that resulting state will trigger a _read, then call _read. - // Note that this may be asynchronous, or synchronous. Yes, it is - // deeply ugly to write APIs this way, but that still doesn't mean - // that the Readable class should behave improperly, as streams are - // designed to be sync/async agnostic. - // Take note if the _read call is sync or async (ie, if the read call - // has returned yet), so that we know whether or not it's safe to emit - // 'readable' etc. - // - // 3. Actually pull the requested chunks out of the buffer and return. - - // if we need a readable event, then we need to do some reading. - var doRead = state.needReadable; - debug('need readable', doRead); - - // if we currently have less than the highWaterMark, then also read some - if (state.length === 0 || state.length - n < state.highWaterMark) { - doRead = true; - debug('length less than watermark', doRead); - } - - // however, if we've ended, then there's no point, and if we're already - // reading, then it's unnecessary. - if (state.ended || state.reading) { - doRead = false; - debug('reading or ended', doRead); - } else if (doRead) { - debug('do read'); - state.reading = true; - state.sync = true; - // if the length is currently zero, then we *need* a readable event. - if (state.length === 0) state.needReadable = true; - // call internal read method - this._read(state.highWaterMark); - state.sync = false; - // If _read pushed data synchronously, then `reading` will be false, - // and we need to re-evaluate how much data we can return to the user. - if (!state.reading) n = howMuchToRead(nOrig, state); - } - - var ret; - if (n > 0) ret = fromList(n, state);else ret = null; - - if (ret === null) { - state.needReadable = true; - n = 0; - } else { - state.length -= n; - } - - if (state.length === 0) { - // If we have nothing in the buffer, then we want to know - // as soon as we *do* get something into the buffer. - if (!state.ended) state.needReadable = true; - - // If we tried to read() past the EOF, then emit end on the next tick. - if (nOrig !== n && state.ended) endReadable(this); - } - - if (ret !== null) this.emit('data', ret); - - return ret; -}; - -function onEofChunk(stream, state) { - if (state.ended) return; - if (state.decoder) { - var chunk = state.decoder.end(); - if (chunk && chunk.length) { - state.buffer.push(chunk); - state.length += state.objectMode ? 1 : chunk.length; - } - } - state.ended = true; - - // emit 'readable' now to make sure it gets picked up. - emitReadable(stream); -} - -// Don't emit readable right away in sync mode, because this can trigger -// another read() call => stack overflow. This way, it might trigger -// a nextTick recursion warning, but that's not so bad. -function emitReadable(stream) { - var state = stream._readableState; - state.needReadable = false; - if (!state.emittedReadable) { - debug('emitReadable', state.flowing); - state.emittedReadable = true; - if (state.sync) processNextTick(emitReadable_, stream);else emitReadable_(stream); - } -} - -function emitReadable_(stream) { - debug('emit readable'); - stream.emit('readable'); - flow(stream); -} - -// at this point, the user has presumably seen the 'readable' event, -// and called read() to consume some data. that may have triggered -// in turn another _read(n) call, in which case reading = true if -// it's in progress. -// However, if we're not ended, or reading, and the length < hwm, -// then go ahead and try to read some more preemptively. -function maybeReadMore(stream, state) { - if (!state.readingMore) { - state.readingMore = true; - processNextTick(maybeReadMore_, stream, state); - } -} - -function maybeReadMore_(stream, state) { - var len = state.length; - while (!state.reading && !state.flowing && !state.ended && state.length < state.highWaterMark) { - debug('maybeReadMore read 0'); - stream.read(0); - if (len === state.length) - // didn't get any data, stop spinning. - break;else len = state.length; - } - state.readingMore = false; -} - -// abstract method. to be overridden in specific implementation classes. -// call cb(er, data) where data is <= n in length. -// for virtual (non-string, non-buffer) streams, "length" is somewhat -// arbitrary, and perhaps not very meaningful. -Readable.prototype._read = function (n) { - this.emit('error', new Error('_read() is not implemented')); -}; - -Readable.prototype.pipe = function (dest, pipeOpts) { - var src = this; - var state = this._readableState; - - switch (state.pipesCount) { - case 0: - state.pipes = dest; - break; - case 1: - state.pipes = [state.pipes, dest]; - break; - default: - state.pipes.push(dest); - break; - } - state.pipesCount += 1; - debug('pipe count=%d opts=%j', state.pipesCount, pipeOpts); - - var doEnd = (!pipeOpts || pipeOpts.end !== false) && dest !== process.stdout && dest !== process.stderr; - - var endFn = doEnd ? onend : unpipe; - if (state.endEmitted) processNextTick(endFn);else src.once('end', endFn); - - dest.on('unpipe', onunpipe); - function onunpipe(readable, unpipeInfo) { - debug('onunpipe'); - if (readable === src) { - if (unpipeInfo && unpipeInfo.hasUnpiped === false) { - unpipeInfo.hasUnpiped = true; - cleanup(); - } - } - } - - function onend() { - debug('onend'); - dest.end(); - } - - // when the dest drains, it reduces the awaitDrain counter - // on the source. This would be more elegant with a .once() - // handler in flow(), but adding and removing repeatedly is - // too slow. - var ondrain = pipeOnDrain(src); - dest.on('drain', ondrain); - - var cleanedUp = false; - function cleanup() { - debug('cleanup'); - // cleanup event handlers once the pipe is broken - dest.removeListener('close', onclose); - dest.removeListener('finish', onfinish); - dest.removeListener('drain', ondrain); - dest.removeListener('error', onerror); - dest.removeListener('unpipe', onunpipe); - src.removeListener('end', onend); - src.removeListener('end', unpipe); - src.removeListener('data', ondata); - - cleanedUp = true; - - // if the reader is waiting for a drain event from this - // specific writer, then it would cause it to never start - // flowing again. - // So, if this is awaiting a drain, then we just call it now. - // If we don't know, then assume that we are waiting for one. - if (state.awaitDrain && (!dest._writableState || dest._writableState.needDrain)) ondrain(); - } - - // If the user pushes more data while we're writing to dest then we'll end up - // in ondata again. However, we only want to increase awaitDrain once because - // dest will only emit one 'drain' event for the multiple writes. - // => Introduce a guard on increasing awaitDrain. - var increasedAwaitDrain = false; - src.on('data', ondata); - function ondata(chunk) { - debug('ondata'); - increasedAwaitDrain = false; - var ret = dest.write(chunk); - if (false === ret && !increasedAwaitDrain) { - // If the user unpiped during `dest.write()`, it is possible - // to get stuck in a permanently paused state if that write - // also returned false. - // => Check whether `dest` is still a piping destination. - if ((state.pipesCount === 1 && state.pipes === dest || state.pipesCount > 1 && indexOf(state.pipes, dest) !== -1) && !cleanedUp) { - debug('false write response, pause', src._readableState.awaitDrain); - src._readableState.awaitDrain++; - increasedAwaitDrain = true; - } - src.pause(); - } - } - - // if the dest has an error, then stop piping into it. - // however, don't suppress the throwing behavior for this. - function onerror(er) { - debug('onerror', er); - unpipe(); - dest.removeListener('error', onerror); - if (EElistenerCount(dest, 'error') === 0) dest.emit('error', er); - } - - // Make sure our error handler is attached before userland ones. - prependListener(dest, 'error', onerror); - - // Both close and finish should trigger unpipe, but only once. - function onclose() { - dest.removeListener('finish', onfinish); - unpipe(); - } - dest.once('close', onclose); - function onfinish() { - debug('onfinish'); - dest.removeListener('close', onclose); - unpipe(); - } - dest.once('finish', onfinish); - - function unpipe() { - debug('unpipe'); - src.unpipe(dest); - } - - // tell the dest that it's being piped to - dest.emit('pipe', src); - - // start the flow if it hasn't been started already. - if (!state.flowing) { - debug('pipe resume'); - src.resume(); - } - - return dest; -}; - -function pipeOnDrain(src) { - return function () { - var state = src._readableState; - debug('pipeOnDrain', state.awaitDrain); - if (state.awaitDrain) state.awaitDrain--; - if (state.awaitDrain === 0 && EElistenerCount(src, 'data')) { - state.flowing = true; - flow(src); - } - }; -} - -Readable.prototype.unpipe = function (dest) { - var state = this._readableState; - var unpipeInfo = { hasUnpiped: false }; - - // if we're not piping anywhere, then do nothing. - if (state.pipesCount === 0) return this; - - // just one destination. most common case. - if (state.pipesCount === 1) { - // passed in one, but it's not the right one. - if (dest && dest !== state.pipes) return this; - - if (!dest) dest = state.pipes; - - // got a match. - state.pipes = null; - state.pipesCount = 0; - state.flowing = false; - if (dest) dest.emit('unpipe', this, unpipeInfo); - return this; - } - - // slow case. multiple pipe destinations. - - if (!dest) { - // remove all. - var dests = state.pipes; - var len = state.pipesCount; - state.pipes = null; - state.pipesCount = 0; - state.flowing = false; - - for (var i = 0; i < len; i++) { - dests[i].emit('unpipe', this, unpipeInfo); - }return this; - } - - // try to find the right one. - var index = indexOf(state.pipes, dest); - if (index === -1) return this; - - state.pipes.splice(index, 1); - state.pipesCount -= 1; - if (state.pipesCount === 1) state.pipes = state.pipes[0]; - - dest.emit('unpipe', this, unpipeInfo); - - return this; -}; - -// set up data events if they are asked for -// Ensure readable listeners eventually get something -Readable.prototype.on = function (ev, fn) { - var res = Stream.prototype.on.call(this, ev, fn); - - if (ev === 'data') { - // Start flowing on next tick if stream isn't explicitly paused - if (this._readableState.flowing !== false) this.resume(); - } else if (ev === 'readable') { - var state = this._readableState; - if (!state.endEmitted && !state.readableListening) { - state.readableListening = state.needReadable = true; - state.emittedReadable = false; - if (!state.reading) { - processNextTick(nReadingNextTick, this); - } else if (state.length) { - emitReadable(this); - } - } - } - - return res; -}; -Readable.prototype.addListener = Readable.prototype.on; - -function nReadingNextTick(self) { - debug('readable nexttick read 0'); - self.read(0); -} - -// pause() and resume() are remnants of the legacy readable stream API -// If the user uses them, then switch into old mode. -Readable.prototype.resume = function () { - var state = this._readableState; - if (!state.flowing) { - debug('resume'); - state.flowing = true; - resume(this, state); - } - return this; -}; - -function resume(stream, state) { - if (!state.resumeScheduled) { - state.resumeScheduled = true; - processNextTick(resume_, stream, state); - } -} - -function resume_(stream, state) { - if (!state.reading) { - debug('resume read 0'); - stream.read(0); - } - - state.resumeScheduled = false; - state.awaitDrain = 0; - stream.emit('resume'); - flow(stream); - if (state.flowing && !state.reading) stream.read(0); -} - -Readable.prototype.pause = function () { - debug('call pause flowing=%j', this._readableState.flowing); - if (false !== this._readableState.flowing) { - debug('pause'); - this._readableState.flowing = false; - this.emit('pause'); - } - return this; -}; - -function flow(stream) { - var state = stream._readableState; - debug('flow', state.flowing); - while (state.flowing && stream.read() !== null) {} -} - -// wrap an old-style stream as the async data source. -// This is *not* part of the readable stream interface. -// It is an ugly unfortunate mess of history. -Readable.prototype.wrap = function (stream) { - var state = this._readableState; - var paused = false; - - var self = this; - stream.on('end', function () { - debug('wrapped end'); - if (state.decoder && !state.ended) { - var chunk = state.decoder.end(); - if (chunk && chunk.length) self.push(chunk); - } - - self.push(null); - }); - - stream.on('data', function (chunk) { - debug('wrapped data'); - if (state.decoder) chunk = state.decoder.write(chunk); - - // don't skip over falsy values in objectMode - if (state.objectMode && (chunk === null || chunk === undefined)) return;else if (!state.objectMode && (!chunk || !chunk.length)) return; - - var ret = self.push(chunk); - if (!ret) { - paused = true; - stream.pause(); - } - }); - - // proxy all the other methods. - // important when wrapping filters and duplexes. - for (var i in stream) { - if (this[i] === undefined && typeof stream[i] === 'function') { - this[i] = function (method) { - return function () { - return stream[method].apply(stream, arguments); - }; - }(i); - } - } - - // proxy certain important events. - for (var n = 0; n < kProxyEvents.length; n++) { - stream.on(kProxyEvents[n], self.emit.bind(self, kProxyEvents[n])); - } - - // when we try to consume some more bytes, simply unpause the - // underlying stream. - self._read = function (n) { - debug('wrapped _read', n); - if (paused) { - paused = false; - stream.resume(); - } - }; - - return self; -}; - -// exposed for testing purposes only. -Readable._fromList = fromList; - -// Pluck off n bytes from an array of buffers. -// Length is the combined lengths of all the buffers in the list. -// This function is designed to be inlinable, so please take care when making -// changes to the function body. -function fromList(n, state) { - // nothing buffered - if (state.length === 0) return null; - - var ret; - if (state.objectMode) ret = state.buffer.shift();else if (!n || n >= state.length) { - // read it all, truncate the list - if (state.decoder) ret = state.buffer.join('');else if (state.buffer.length === 1) ret = state.buffer.head.data;else ret = state.buffer.concat(state.length); - state.buffer.clear(); - } else { - // read part of list - ret = fromListPartial(n, state.buffer, state.decoder); - } - - return ret; -} - -// Extracts only enough buffered data to satisfy the amount requested. -// This function is designed to be inlinable, so please take care when making -// changes to the function body. -function fromListPartial(n, list, hasStrings) { - var ret; - if (n < list.head.data.length) { - // slice is the same for buffers and strings - ret = list.head.data.slice(0, n); - list.head.data = list.head.data.slice(n); - } else if (n === list.head.data.length) { - // first chunk is a perfect match - ret = list.shift(); - } else { - // result spans more than one buffer - ret = hasStrings ? copyFromBufferString(n, list) : copyFromBuffer(n, list); - } - return ret; -} - -// Copies a specified amount of characters from the list of buffered data -// chunks. -// This function is designed to be inlinable, so please take care when making -// changes to the function body. -function copyFromBufferString(n, list) { - var p = list.head; - var c = 1; - var ret = p.data; - n -= ret.length; - while (p = p.next) { - var str = p.data; - var nb = n > str.length ? str.length : n; - if (nb === str.length) ret += str;else ret += str.slice(0, n); - n -= nb; - if (n === 0) { - if (nb === str.length) { - ++c; - if (p.next) list.head = p.next;else list.head = list.tail = null; - } else { - list.head = p; - p.data = str.slice(nb); - } - break; - } - ++c; - } - list.length -= c; - return ret; -} - -// Copies a specified amount of bytes from the list of buffered data chunks. -// This function is designed to be inlinable, so please take care when making -// changes to the function body. -function copyFromBuffer(n, list) { - var ret = Buffer.allocUnsafe(n); - var p = list.head; - var c = 1; - p.data.copy(ret); - n -= p.data.length; - while (p = p.next) { - var buf = p.data; - var nb = n > buf.length ? buf.length : n; - buf.copy(ret, ret.length - n, 0, nb); - n -= nb; - if (n === 0) { - if (nb === buf.length) { - ++c; - if (p.next) list.head = p.next;else list.head = list.tail = null; - } else { - list.head = p; - p.data = buf.slice(nb); - } - break; - } - ++c; - } - list.length -= c; - return ret; -} - -function endReadable(stream) { - var state = stream._readableState; - - // If we get here before consuming all the bytes, then that is a - // bug in node. Should never happen. - if (state.length > 0) throw new Error('"endReadable()" called on non-empty stream'); - - if (!state.endEmitted) { - state.ended = true; - processNextTick(endReadableNT, state, stream); - } -} - -function endReadableNT(state, stream) { - // Check that we didn't get one last unshift. - if (!state.endEmitted && state.length === 0) { - state.endEmitted = true; - stream.readable = false; - stream.emit('end'); - } -} - -function forEach(xs, f) { - for (var i = 0, l = xs.length; i < l; i++) { - f(xs[i], i); - } -} - -function indexOf(xs, x) { - for (var i = 0, l = xs.length; i < l; i++) { - if (xs[i] === x) return i; - } - return -1; -} \ No newline at end of file diff --git a/publi/node_modules/through2/node_modules/readable-stream/lib/_stream_transform.js b/publi/node_modules/through2/node_modules/readable-stream/lib/_stream_transform.js deleted file mode 100644 index a0c2317..0000000 --- a/publi/node_modules/through2/node_modules/readable-stream/lib/_stream_transform.js +++ /dev/null @@ -1,214 +0,0 @@ -// 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. - -// a transform stream is a readable/writable stream where you do -// something with the data. Sometimes it's called a "filter", -// but that's not a great name for it, since that implies a thing where -// some bits pass through, and others are simply ignored. (That would -// be a valid example of a transform, of course.) -// -// While the output is causally related to the input, it's not a -// necessarily symmetric or synchronous transformation. For example, -// a zlib stream might take multiple plain-text writes(), and then -// emit a single compressed chunk some time in the future. -// -// Here's how this works: -// -// The Transform stream has all the aspects of the readable and writable -// stream classes. When you write(chunk), that calls _write(chunk,cb) -// internally, and returns false if there's a lot of pending writes -// buffered up. When you call read(), that calls _read(n) until -// there's enough pending readable data buffered up. -// -// In a transform stream, the written data is placed in a buffer. When -// _read(n) is called, it transforms the queued up data, calling the -// buffered _write cb's as it consumes chunks. If consuming a single -// written chunk would result in multiple output chunks, then the first -// outputted bit calls the readcb, and subsequent chunks just go into -// the read buffer, and will cause it to emit 'readable' if necessary. -// -// This way, back-pressure is actually determined by the reading side, -// since _read has to be called to start processing a new chunk. However, -// a pathological inflate type of transform can cause excessive buffering -// here. For example, imagine a stream where every byte of input is -// interpreted as an integer from 0-255, and then results in that many -// bytes of output. Writing the 4 bytes {ff,ff,ff,ff} would result in -// 1kb of data being output. In this case, you could write a very small -// amount of input, and end up with a very large amount of output. In -// such a pathological inflating mechanism, there'd be no way to tell -// the system to stop doing the transform. A single 4MB write could -// cause the system to run out of memory. -// -// However, even in such a pathological case, only a single written chunk -// would be consumed, and then the rest would wait (un-transformed) until -// the results of the previous transformed chunk were consumed. - -'use strict'; - -module.exports = Transform; - -var Duplex = require('./_stream_duplex'); - -/**/ -var util = require('core-util-is'); -util.inherits = require('inherits'); -/**/ - -util.inherits(Transform, Duplex); - -function TransformState(stream) { - this.afterTransform = function (er, data) { - return afterTransform(stream, er, data); - }; - - this.needTransform = false; - this.transforming = false; - this.writecb = null; - this.writechunk = null; - this.writeencoding = null; -} - -function afterTransform(stream, er, data) { - var ts = stream._transformState; - ts.transforming = false; - - var cb = ts.writecb; - - if (!cb) { - return stream.emit('error', new Error('write callback called multiple times')); - } - - ts.writechunk = null; - ts.writecb = null; - - if (data !== null && data !== undefined) stream.push(data); - - cb(er); - - var rs = stream._readableState; - rs.reading = false; - if (rs.needReadable || rs.length < rs.highWaterMark) { - stream._read(rs.highWaterMark); - } -} - -function Transform(options) { - if (!(this instanceof Transform)) return new Transform(options); - - Duplex.call(this, options); - - this._transformState = new TransformState(this); - - var stream = this; - - // start out asking for a readable event once data is transformed. - this._readableState.needReadable = true; - - // we have implemented the _read method, and done the other things - // that Readable wants before the first _read call, so unset the - // sync guard flag. - this._readableState.sync = false; - - if (options) { - if (typeof options.transform === 'function') this._transform = options.transform; - - if (typeof options.flush === 'function') this._flush = options.flush; - } - - // When the writable side finishes, then flush out anything remaining. - this.once('prefinish', function () { - if (typeof this._flush === 'function') this._flush(function (er, data) { - done(stream, er, data); - });else done(stream); - }); -} - -Transform.prototype.push = function (chunk, encoding) { - this._transformState.needTransform = false; - return Duplex.prototype.push.call(this, chunk, encoding); -}; - -// This is the part where you do stuff! -// override this function in implementation classes. -// 'chunk' is an input chunk. -// -// Call `push(newChunk)` to pass along transformed output -// to the readable side. You may call 'push' zero or more times. -// -// Call `cb(err)` when you are done with this chunk. If you pass -// an error, then that'll put the hurt on the whole operation. If you -// never call cb(), then you'll never get another chunk. -Transform.prototype._transform = function (chunk, encoding, cb) { - throw new Error('_transform() is not implemented'); -}; - -Transform.prototype._write = function (chunk, encoding, cb) { - var ts = this._transformState; - ts.writecb = cb; - ts.writechunk = chunk; - ts.writeencoding = encoding; - if (!ts.transforming) { - var rs = this._readableState; - if (ts.needTransform || rs.needReadable || rs.length < rs.highWaterMark) this._read(rs.highWaterMark); - } -}; - -// Doesn't matter what the args are here. -// _transform does all the work. -// That we got here means that the readable side wants more data. -Transform.prototype._read = function (n) { - var ts = this._transformState; - - if (ts.writechunk !== null && ts.writecb && !ts.transforming) { - ts.transforming = true; - this._transform(ts.writechunk, ts.writeencoding, ts.afterTransform); - } else { - // mark that we need a transform, so that any data that comes in - // will get processed, now that we've asked for it. - ts.needTransform = true; - } -}; - -Transform.prototype._destroy = function (err, cb) { - var _this = this; - - Duplex.prototype._destroy.call(this, err, function (err2) { - cb(err2); - _this.emit('close'); - }); -}; - -function done(stream, er, data) { - if (er) return stream.emit('error', er); - - if (data !== null && data !== undefined) stream.push(data); - - // if there's nothing in the write buffer, then that means - // that nothing more will ever be provided - var ws = stream._writableState; - var ts = stream._transformState; - - if (ws.length) throw new Error('Calling transform done when ws.length != 0'); - - if (ts.transforming) throw new Error('Calling transform done when still transforming'); - - return stream.push(null); -} \ No newline at end of file diff --git a/publi/node_modules/through2/node_modules/readable-stream/lib/_stream_writable.js b/publi/node_modules/through2/node_modules/readable-stream/lib/_stream_writable.js deleted file mode 100644 index d20da88..0000000 --- a/publi/node_modules/through2/node_modules/readable-stream/lib/_stream_writable.js +++ /dev/null @@ -1,664 +0,0 @@ -// 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. - -// A bit simpler than readable streams. -// Implement an async ._write(chunk, encoding, cb), and it'll handle all -// the drain event emission and buffering. - -'use strict'; - -/**/ - -var processNextTick = require('process-nextick-args'); -/**/ - -module.exports = Writable; - -/* */ -function WriteReq(chunk, encoding, cb) { - this.chunk = chunk; - this.encoding = encoding; - this.callback = cb; - this.next = null; -} - -// It seems a linked list but it is not -// there will be only 2 of these for each stream -function CorkedRequest(state) { - var _this = this; - - this.next = null; - this.entry = null; - this.finish = function () { - onCorkedFinish(_this, state); - }; -} -/* */ - -/**/ -var asyncWrite = !process.browser && ['v0.10', 'v0.9.'].indexOf(process.version.slice(0, 5)) > -1 ? setImmediate : processNextTick; -/**/ - -/**/ -var Duplex; -/**/ - -Writable.WritableState = WritableState; - -/**/ -var util = require('core-util-is'); -util.inherits = require('inherits'); -/**/ - -/**/ -var internalUtil = { - deprecate: require('util-deprecate') -}; -/**/ - -/**/ -var Stream = require('./internal/streams/stream'); -/**/ - -/**/ -var Buffer = require('safe-buffer').Buffer; -var OurUint8Array = global.Uint8Array || function () {}; -function _uint8ArrayToBuffer(chunk) { - return Buffer.from(chunk); -} -function _isUint8Array(obj) { - return Buffer.isBuffer(obj) || obj instanceof OurUint8Array; -} -/**/ - -var destroyImpl = require('./internal/streams/destroy'); - -util.inherits(Writable, Stream); - -function nop() {} - -function WritableState(options, stream) { - Duplex = Duplex || require('./_stream_duplex'); - - options = options || {}; - - // object stream flag to indicate whether or not this stream - // contains buffers or objects. - this.objectMode = !!options.objectMode; - - if (stream instanceof Duplex) this.objectMode = this.objectMode || !!options.writableObjectMode; - - // the point at which write() starts returning false - // Note: 0 is a valid value, means that we always return false if - // the entire buffer is not flushed immediately on write() - var hwm = options.highWaterMark; - var defaultHwm = this.objectMode ? 16 : 16 * 1024; - this.highWaterMark = hwm || hwm === 0 ? hwm : defaultHwm; - - // cast to ints. - this.highWaterMark = Math.floor(this.highWaterMark); - - // if _final has been called - this.finalCalled = false; - - // drain event flag. - this.needDrain = false; - // at the start of calling end() - this.ending = false; - // when end() has been called, and returned - this.ended = false; - // when 'finish' is emitted - this.finished = false; - - // has it been destroyed - this.destroyed = false; - - // should we decode strings into buffers before passing to _write? - // this is here so that some node-core streams can optimize string - // handling at a lower level. - var noDecode = options.decodeStrings === false; - this.decodeStrings = !noDecode; - - // Crypto is kind of old and crusty. Historically, its default string - // encoding is 'binary' so we have to make this configurable. - // Everything else in the universe uses 'utf8', though. - this.defaultEncoding = options.defaultEncoding || 'utf8'; - - // not an actual buffer we keep track of, but a measurement - // of how much we're waiting to get pushed to some underlying - // socket or file. - this.length = 0; - - // a flag to see when we're in the middle of a write. - this.writing = false; - - // when true all writes will be buffered until .uncork() call - this.corked = 0; - - // a flag to be able to tell if the onwrite cb is called immediately, - // or on a later tick. We set this to true at first, because any - // actions that shouldn't happen until "later" should generally also - // not happen before the first write call. - this.sync = true; - - // a flag to know if we're processing previously buffered items, which - // may call the _write() callback in the same tick, so that we don't - // end up in an overlapped onwrite situation. - this.bufferProcessing = false; - - // the callback that's passed to _write(chunk,cb) - this.onwrite = function (er) { - onwrite(stream, er); - }; - - // the callback that the user supplies to write(chunk,encoding,cb) - this.writecb = null; - - // the amount that is being written when _write is called. - this.writelen = 0; - - this.bufferedRequest = null; - this.lastBufferedRequest = null; - - // number of pending user-supplied write callbacks - // this must be 0 before 'finish' can be emitted - this.pendingcb = 0; - - // emit prefinish if the only thing we're waiting for is _write cbs - // This is relevant for synchronous Transform streams - this.prefinished = false; - - // True if the error was already emitted and should not be thrown again - this.errorEmitted = false; - - // count buffered requests - this.bufferedRequestCount = 0; - - // allocate the first CorkedRequest, there is always - // one allocated and free to use, and we maintain at most two - this.corkedRequestsFree = new CorkedRequest(this); -} - -WritableState.prototype.getBuffer = function getBuffer() { - var current = this.bufferedRequest; - var out = []; - while (current) { - out.push(current); - current = current.next; - } - return out; -}; - -(function () { - try { - Object.defineProperty(WritableState.prototype, 'buffer', { - get: internalUtil.deprecate(function () { - return this.getBuffer(); - }, '_writableState.buffer is deprecated. Use _writableState.getBuffer ' + 'instead.', 'DEP0003') - }); - } catch (_) {} -})(); - -// Test _writableState for inheritance to account for Duplex streams, -// whose prototype chain only points to Readable. -var realHasInstance; -if (typeof Symbol === 'function' && Symbol.hasInstance && typeof Function.prototype[Symbol.hasInstance] === 'function') { - realHasInstance = Function.prototype[Symbol.hasInstance]; - Object.defineProperty(Writable, Symbol.hasInstance, { - value: function (object) { - if (realHasInstance.call(this, object)) return true; - - return object && object._writableState instanceof WritableState; - } - }); -} else { - realHasInstance = function (object) { - return object instanceof this; - }; -} - -function Writable(options) { - Duplex = Duplex || require('./_stream_duplex'); - - // Writable ctor is applied to Duplexes, too. - // `realHasInstance` is necessary because using plain `instanceof` - // would return false, as no `_writableState` property is attached. - - // Trying to use the custom `instanceof` for Writable here will also break the - // Node.js LazyTransform implementation, which has a non-trivial getter for - // `_writableState` that would lead to infinite recursion. - if (!realHasInstance.call(Writable, this) && !(this instanceof Duplex)) { - return new Writable(options); - } - - this._writableState = new WritableState(options, this); - - // legacy. - this.writable = true; - - if (options) { - if (typeof options.write === 'function') this._write = options.write; - - if (typeof options.writev === 'function') this._writev = options.writev; - - if (typeof options.destroy === 'function') this._destroy = options.destroy; - - if (typeof options.final === 'function') this._final = options.final; - } - - Stream.call(this); -} - -// Otherwise people can pipe Writable streams, which is just wrong. -Writable.prototype.pipe = function () { - this.emit('error', new Error('Cannot pipe, not readable')); -}; - -function writeAfterEnd(stream, cb) { - var er = new Error('write after end'); - // TODO: defer error events consistently everywhere, not just the cb - stream.emit('error', er); - processNextTick(cb, er); -} - -// Checks that a user-supplied chunk is valid, especially for the particular -// mode the stream is in. Currently this means that `null` is never accepted -// and undefined/non-string values are only allowed in object mode. -function validChunk(stream, state, chunk, cb) { - var valid = true; - var er = false; - - if (chunk === null) { - er = new TypeError('May not write null values to stream'); - } else if (typeof chunk !== 'string' && chunk !== undefined && !state.objectMode) { - er = new TypeError('Invalid non-string/buffer chunk'); - } - if (er) { - stream.emit('error', er); - processNextTick(cb, er); - valid = false; - } - return valid; -} - -Writable.prototype.write = function (chunk, encoding, cb) { - var state = this._writableState; - var ret = false; - var isBuf = _isUint8Array(chunk) && !state.objectMode; - - if (isBuf && !Buffer.isBuffer(chunk)) { - chunk = _uint8ArrayToBuffer(chunk); - } - - if (typeof encoding === 'function') { - cb = encoding; - encoding = null; - } - - if (isBuf) encoding = 'buffer';else if (!encoding) encoding = state.defaultEncoding; - - if (typeof cb !== 'function') cb = nop; - - if (state.ended) writeAfterEnd(this, cb);else if (isBuf || validChunk(this, state, chunk, cb)) { - state.pendingcb++; - ret = writeOrBuffer(this, state, isBuf, chunk, encoding, cb); - } - - return ret; -}; - -Writable.prototype.cork = function () { - var state = this._writableState; - - state.corked++; -}; - -Writable.prototype.uncork = function () { - var state = this._writableState; - - if (state.corked) { - state.corked--; - - if (!state.writing && !state.corked && !state.finished && !state.bufferProcessing && state.bufferedRequest) clearBuffer(this, state); - } -}; - -Writable.prototype.setDefaultEncoding = function setDefaultEncoding(encoding) { - // node::ParseEncoding() requires lower case. - if (typeof encoding === 'string') encoding = encoding.toLowerCase(); - if (!(['hex', 'utf8', 'utf-8', 'ascii', 'binary', 'base64', 'ucs2', 'ucs-2', 'utf16le', 'utf-16le', 'raw'].indexOf((encoding + '').toLowerCase()) > -1)) throw new TypeError('Unknown encoding: ' + encoding); - this._writableState.defaultEncoding = encoding; - return this; -}; - -function decodeChunk(state, chunk, encoding) { - if (!state.objectMode && state.decodeStrings !== false && typeof chunk === 'string') { - chunk = Buffer.from(chunk, encoding); - } - return chunk; -} - -// if we're already writing something, then just put this -// in the queue, and wait our turn. Otherwise, call _write -// If we return false, then we need a drain event, so set that flag. -function writeOrBuffer(stream, state, isBuf, chunk, encoding, cb) { - if (!isBuf) { - var newChunk = decodeChunk(state, chunk, encoding); - if (chunk !== newChunk) { - isBuf = true; - encoding = 'buffer'; - chunk = newChunk; - } - } - var len = state.objectMode ? 1 : chunk.length; - - state.length += len; - - var ret = state.length < state.highWaterMark; - // we must ensure that previous needDrain will not be reset to false. - if (!ret) state.needDrain = true; - - if (state.writing || state.corked) { - var last = state.lastBufferedRequest; - state.lastBufferedRequest = { - chunk: chunk, - encoding: encoding, - isBuf: isBuf, - callback: cb, - next: null - }; - if (last) { - last.next = state.lastBufferedRequest; - } else { - state.bufferedRequest = state.lastBufferedRequest; - } - state.bufferedRequestCount += 1; - } else { - doWrite(stream, state, false, len, chunk, encoding, cb); - } - - return ret; -} - -function doWrite(stream, state, writev, len, chunk, encoding, cb) { - state.writelen = len; - state.writecb = cb; - state.writing = true; - state.sync = true; - if (writev) stream._writev(chunk, state.onwrite);else stream._write(chunk, encoding, state.onwrite); - state.sync = false; -} - -function onwriteError(stream, state, sync, er, cb) { - --state.pendingcb; - - if (sync) { - // defer the callback if we are being called synchronously - // to avoid piling up things on the stack - processNextTick(cb, er); - // this can emit finish, and it will always happen - // after error - processNextTick(finishMaybe, stream, state); - stream._writableState.errorEmitted = true; - stream.emit('error', er); - } else { - // the caller expect this to happen before if - // it is async - cb(er); - stream._writableState.errorEmitted = true; - stream.emit('error', er); - // this can emit finish, but finish must - // always follow error - finishMaybe(stream, state); - } -} - -function onwriteStateUpdate(state) { - state.writing = false; - state.writecb = null; - state.length -= state.writelen; - state.writelen = 0; -} - -function onwrite(stream, er) { - var state = stream._writableState; - var sync = state.sync; - var cb = state.writecb; - - onwriteStateUpdate(state); - - if (er) onwriteError(stream, state, sync, er, cb);else { - // Check if we're actually ready to finish, but don't emit yet - var finished = needFinish(state); - - if (!finished && !state.corked && !state.bufferProcessing && state.bufferedRequest) { - clearBuffer(stream, state); - } - - if (sync) { - /**/ - asyncWrite(afterWrite, stream, state, finished, cb); - /**/ - } else { - afterWrite(stream, state, finished, cb); - } - } -} - -function afterWrite(stream, state, finished, cb) { - if (!finished) onwriteDrain(stream, state); - state.pendingcb--; - cb(); - finishMaybe(stream, state); -} - -// Must force callback to be called on nextTick, so that we don't -// emit 'drain' before the write() consumer gets the 'false' return -// value, and has a chance to attach a 'drain' listener. -function onwriteDrain(stream, state) { - if (state.length === 0 && state.needDrain) { - state.needDrain = false; - stream.emit('drain'); - } -} - -// if there's something in the buffer waiting, then process it -function clearBuffer(stream, state) { - state.bufferProcessing = true; - var entry = state.bufferedRequest; - - if (stream._writev && entry && entry.next) { - // Fast case, write everything using _writev() - var l = state.bufferedRequestCount; - var buffer = new Array(l); - var holder = state.corkedRequestsFree; - holder.entry = entry; - - var count = 0; - var allBuffers = true; - while (entry) { - buffer[count] = entry; - if (!entry.isBuf) allBuffers = false; - entry = entry.next; - count += 1; - } - buffer.allBuffers = allBuffers; - - doWrite(stream, state, true, state.length, buffer, '', holder.finish); - - // doWrite is almost always async, defer these to save a bit of time - // as the hot path ends with doWrite - state.pendingcb++; - state.lastBufferedRequest = null; - if (holder.next) { - state.corkedRequestsFree = holder.next; - holder.next = null; - } else { - state.corkedRequestsFree = new CorkedRequest(state); - } - } else { - // Slow case, write chunks one-by-one - while (entry) { - var chunk = entry.chunk; - var encoding = entry.encoding; - var cb = entry.callback; - var len = state.objectMode ? 1 : chunk.length; - - doWrite(stream, state, false, len, chunk, encoding, cb); - entry = entry.next; - // if we didn't call the onwrite immediately, then - // it means that we need to wait until it does. - // also, that means that the chunk and cb are currently - // being processed, so move the buffer counter past them. - if (state.writing) { - break; - } - } - - if (entry === null) state.lastBufferedRequest = null; - } - - state.bufferedRequestCount = 0; - state.bufferedRequest = entry; - state.bufferProcessing = false; -} - -Writable.prototype._write = function (chunk, encoding, cb) { - cb(new Error('_write() is not implemented')); -}; - -Writable.prototype._writev = null; - -Writable.prototype.end = function (chunk, encoding, cb) { - var state = this._writableState; - - if (typeof chunk === 'function') { - cb = chunk; - chunk = null; - encoding = null; - } else if (typeof encoding === 'function') { - cb = encoding; - encoding = null; - } - - if (chunk !== null && chunk !== undefined) this.write(chunk, encoding); - - // .end() fully uncorks - if (state.corked) { - state.corked = 1; - this.uncork(); - } - - // ignore unnecessary end() calls. - if (!state.ending && !state.finished) endWritable(this, state, cb); -}; - -function needFinish(state) { - return state.ending && state.length === 0 && state.bufferedRequest === null && !state.finished && !state.writing; -} -function callFinal(stream, state) { - stream._final(function (err) { - state.pendingcb--; - if (err) { - stream.emit('error', err); - } - state.prefinished = true; - stream.emit('prefinish'); - finishMaybe(stream, state); - }); -} -function prefinish(stream, state) { - if (!state.prefinished && !state.finalCalled) { - if (typeof stream._final === 'function') { - state.pendingcb++; - state.finalCalled = true; - processNextTick(callFinal, stream, state); - } else { - state.prefinished = true; - stream.emit('prefinish'); - } - } -} - -function finishMaybe(stream, state) { - var need = needFinish(state); - if (need) { - prefinish(stream, state); - if (state.pendingcb === 0) { - state.finished = true; - stream.emit('finish'); - } - } - return need; -} - -function endWritable(stream, state, cb) { - state.ending = true; - finishMaybe(stream, state); - if (cb) { - if (state.finished) processNextTick(cb);else stream.once('finish', cb); - } - state.ended = true; - stream.writable = false; -} - -function onCorkedFinish(corkReq, state, err) { - var entry = corkReq.entry; - corkReq.entry = null; - while (entry) { - var cb = entry.callback; - state.pendingcb--; - cb(err); - entry = entry.next; - } - if (state.corkedRequestsFree) { - state.corkedRequestsFree.next = corkReq; - } else { - state.corkedRequestsFree = corkReq; - } -} - -Object.defineProperty(Writable.prototype, 'destroyed', { - get: function () { - if (this._writableState === undefined) { - return false; - } - return this._writableState.destroyed; - }, - set: function (value) { - // we ignore the value if the stream - // has not been initialized yet - if (!this._writableState) { - return; - } - - // backward compatibility, the user is explicitly - // managing destroyed - this._writableState.destroyed = value; - } -}); - -Writable.prototype.destroy = destroyImpl.destroy; -Writable.prototype._undestroy = destroyImpl.undestroy; -Writable.prototype._destroy = function (err, cb) { - this.end(); - cb(err); -}; \ No newline at end of file diff --git a/publi/node_modules/through2/node_modules/readable-stream/lib/internal/streams/BufferList.js b/publi/node_modules/through2/node_modules/readable-stream/lib/internal/streams/BufferList.js deleted file mode 100644 index d467615..0000000 --- a/publi/node_modules/through2/node_modules/readable-stream/lib/internal/streams/BufferList.js +++ /dev/null @@ -1,74 +0,0 @@ -'use strict'; - -/**/ - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -var Buffer = require('safe-buffer').Buffer; -/**/ - -function copyBuffer(src, target, offset) { - src.copy(target, offset); -} - -module.exports = function () { - function BufferList() { - _classCallCheck(this, BufferList); - - this.head = null; - this.tail = null; - this.length = 0; - } - - BufferList.prototype.push = function push(v) { - var entry = { data: v, next: null }; - if (this.length > 0) this.tail.next = entry;else this.head = entry; - this.tail = entry; - ++this.length; - }; - - BufferList.prototype.unshift = function unshift(v) { - var entry = { data: v, next: this.head }; - if (this.length === 0) this.tail = entry; - this.head = entry; - ++this.length; - }; - - BufferList.prototype.shift = function shift() { - if (this.length === 0) return; - var ret = this.head.data; - if (this.length === 1) this.head = this.tail = null;else this.head = this.head.next; - --this.length; - return ret; - }; - - BufferList.prototype.clear = function clear() { - this.head = this.tail = null; - this.length = 0; - }; - - BufferList.prototype.join = function join(s) { - if (this.length === 0) return ''; - var p = this.head; - var ret = '' + p.data; - while (p = p.next) { - ret += s + p.data; - }return ret; - }; - - BufferList.prototype.concat = function concat(n) { - if (this.length === 0) return Buffer.alloc(0); - if (this.length === 1) return this.head.data; - var ret = Buffer.allocUnsafe(n >>> 0); - var p = this.head; - var i = 0; - while (p) { - copyBuffer(p.data, ret, i); - i += p.data.length; - p = p.next; - } - return ret; - }; - - return BufferList; -}(); \ No newline at end of file diff --git a/publi/node_modules/through2/node_modules/readable-stream/lib/internal/streams/destroy.js b/publi/node_modules/through2/node_modules/readable-stream/lib/internal/streams/destroy.js deleted file mode 100644 index b3e58c3..0000000 --- a/publi/node_modules/through2/node_modules/readable-stream/lib/internal/streams/destroy.js +++ /dev/null @@ -1,72 +0,0 @@ -'use strict'; - -/**/ - -var processNextTick = require('process-nextick-args'); -/**/ - -// undocumented cb() API, needed for core, not for public API -function destroy(err, cb) { - var _this = this; - - var readableDestroyed = this._readableState && this._readableState.destroyed; - var writableDestroyed = this._writableState && this._writableState.destroyed; - - if (readableDestroyed || writableDestroyed) { - if (cb) { - cb(err); - } else if (err && (!this._writableState || !this._writableState.errorEmitted)) { - processNextTick(emitErrorNT, this, err); - } - return; - } - - // we set destroyed to true before firing error callbacks in order - // to make it re-entrance safe in case destroy() is called within callbacks - - if (this._readableState) { - this._readableState.destroyed = true; - } - - // if this is a duplex stream mark the writable part as destroyed as well - if (this._writableState) { - this._writableState.destroyed = true; - } - - this._destroy(err || null, function (err) { - if (!cb && err) { - processNextTick(emitErrorNT, _this, err); - if (_this._writableState) { - _this._writableState.errorEmitted = true; - } - } else if (cb) { - cb(err); - } - }); -} - -function undestroy() { - if (this._readableState) { - this._readableState.destroyed = false; - this._readableState.reading = false; - this._readableState.ended = false; - this._readableState.endEmitted = false; - } - - if (this._writableState) { - this._writableState.destroyed = false; - this._writableState.ended = false; - this._writableState.ending = false; - this._writableState.finished = false; - this._writableState.errorEmitted = false; - } -} - -function emitErrorNT(self, err) { - self.emit('error', err); -} - -module.exports = { - destroy: destroy, - undestroy: undestroy -}; \ No newline at end of file diff --git a/publi/node_modules/through2/node_modules/readable-stream/lib/internal/streams/stream-browser.js b/publi/node_modules/through2/node_modules/readable-stream/lib/internal/streams/stream-browser.js deleted file mode 100644 index 9332a3f..0000000 --- a/publi/node_modules/through2/node_modules/readable-stream/lib/internal/streams/stream-browser.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('events').EventEmitter; diff --git a/publi/node_modules/through2/node_modules/readable-stream/lib/internal/streams/stream.js b/publi/node_modules/through2/node_modules/readable-stream/lib/internal/streams/stream.js deleted file mode 100644 index ce2ad5b..0000000 --- a/publi/node_modules/through2/node_modules/readable-stream/lib/internal/streams/stream.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('stream'); diff --git a/publi/node_modules/through2/node_modules/readable-stream/package.json b/publi/node_modules/through2/node_modules/readable-stream/package.json deleted file mode 100644 index aca278b..0000000 --- a/publi/node_modules/through2/node_modules/readable-stream/package.json +++ /dev/null @@ -1,83 +0,0 @@ -{ - "_from": "readable-stream@^2.1.5", - "_id": "readable-stream@2.3.3", - "_inBundle": false, - "_integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", - "_location": "/through2/readable-stream", - "_phantomChildren": {}, - "_requested": { - "type": "range", - "registry": true, - "raw": "readable-stream@^2.1.5", - "name": "readable-stream", - "escapedName": "readable-stream", - "rawSpec": "^2.1.5", - "saveSpec": null, - "fetchSpec": "^2.1.5" - }, - "_requiredBy": [ - "/through2" - ], - "_resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", - "_shasum": "368f2512d79f9d46fdfc71349ae7878bbc1eb95c", - "_spec": "readable-stream@^2.1.5", - "_where": "/mnt/Data/bach/Documents/ola/OLA#5/ola5doc/publi/node_modules/through2", - "browser": { - "util": false, - "./readable.js": "./readable-browser.js", - "./writable.js": "./writable-browser.js", - "./duplex.js": "./duplex-browser.js", - "./lib/internal/streams/stream.js": "./lib/internal/streams/stream-browser.js" - }, - "bugs": { - "url": "https://github.com/nodejs/readable-stream/issues" - }, - "bundleDependencies": false, - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~1.0.6", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.0.3", - "util-deprecate": "~1.0.1" - }, - "deprecated": false, - "description": "Streams3, a user-land copy of the stream library from Node.js", - "devDependencies": { - "assert": "~1.4.0", - "babel-polyfill": "^6.9.1", - "buffer": "^4.9.0", - "nyc": "^6.4.0", - "tap": "~0.7.1", - "tape": "~4.5.1", - "zuul": "~3.10.0" - }, - "homepage": "https://github.com/nodejs/readable-stream#readme", - "keywords": [ - "readable", - "stream", - "pipe" - ], - "license": "MIT", - "main": "readable.js", - "name": "readable-stream", - "nyc": { - "include": [ - "lib/**.js" - ] - }, - "repository": { - "type": "git", - "url": "git://github.com/nodejs/readable-stream.git" - }, - "scripts": { - "browser": "npm run write-zuul && zuul --browser-retries 2 -- test/browser.js", - "cover": "nyc npm test", - "local": "zuul --local 3000 --no-coverage -- test/browser.js", - "report": "nyc report --reporter=lcov", - "test": "tap test/parallel/*.js test/ours/*.js && node test/verify-dependencies.js", - "write-zuul": "printf \"ui: tape\nbrowsers:\n - name: $BROWSER_NAME\n version: $BROWSER_VERSION\n\">.zuul.yml" - }, - "version": "2.3.3" -} diff --git a/publi/node_modules/through2/node_modules/readable-stream/passthrough.js b/publi/node_modules/through2/node_modules/readable-stream/passthrough.js deleted file mode 100644 index ffd791d..0000000 --- a/publi/node_modules/through2/node_modules/readable-stream/passthrough.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./readable').PassThrough diff --git a/publi/node_modules/through2/node_modules/readable-stream/readable-browser.js b/publi/node_modules/through2/node_modules/readable-stream/readable-browser.js deleted file mode 100644 index e503725..0000000 --- a/publi/node_modules/through2/node_modules/readable-stream/readable-browser.js +++ /dev/null @@ -1,7 +0,0 @@ -exports = module.exports = require('./lib/_stream_readable.js'); -exports.Stream = exports; -exports.Readable = exports; -exports.Writable = require('./lib/_stream_writable.js'); -exports.Duplex = require('./lib/_stream_duplex.js'); -exports.Transform = require('./lib/_stream_transform.js'); -exports.PassThrough = require('./lib/_stream_passthrough.js'); diff --git a/publi/node_modules/through2/node_modules/readable-stream/readable.js b/publi/node_modules/through2/node_modules/readable-stream/readable.js deleted file mode 100644 index ec89ec5..0000000 --- a/publi/node_modules/through2/node_modules/readable-stream/readable.js +++ /dev/null @@ -1,19 +0,0 @@ -var Stream = require('stream'); -if (process.env.READABLE_STREAM === 'disable' && Stream) { - module.exports = Stream; - exports = module.exports = Stream.Readable; - exports.Readable = Stream.Readable; - exports.Writable = Stream.Writable; - exports.Duplex = Stream.Duplex; - exports.Transform = Stream.Transform; - exports.PassThrough = Stream.PassThrough; - exports.Stream = Stream; -} else { - exports = module.exports = require('./lib/_stream_readable.js'); - exports.Stream = Stream || exports; - exports.Readable = exports; - exports.Writable = require('./lib/_stream_writable.js'); - exports.Duplex = require('./lib/_stream_duplex.js'); - exports.Transform = require('./lib/_stream_transform.js'); - exports.PassThrough = require('./lib/_stream_passthrough.js'); -} diff --git a/publi/node_modules/through2/node_modules/readable-stream/transform.js b/publi/node_modules/through2/node_modules/readable-stream/transform.js deleted file mode 100644 index b1baba2..0000000 --- a/publi/node_modules/through2/node_modules/readable-stream/transform.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./readable').Transform diff --git a/publi/node_modules/through2/node_modules/readable-stream/writable-browser.js b/publi/node_modules/through2/node_modules/readable-stream/writable-browser.js deleted file mode 100644 index ebdde6a..0000000 --- a/publi/node_modules/through2/node_modules/readable-stream/writable-browser.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./lib/_stream_writable.js'); diff --git a/publi/node_modules/through2/node_modules/readable-stream/writable.js b/publi/node_modules/through2/node_modules/readable-stream/writable.js deleted file mode 100644 index 3211a6f..0000000 --- a/publi/node_modules/through2/node_modules/readable-stream/writable.js +++ /dev/null @@ -1,8 +0,0 @@ -var Stream = require("stream") -var Writable = require("./lib/_stream_writable.js") - -if (process.env.READABLE_STREAM === 'disable') { - module.exports = Stream && Stream.Writable || Writable -} else { - module.exports = Writable -} diff --git a/publi/node_modules/through2/node_modules/string_decoder/.npmignore b/publi/node_modules/through2/node_modules/string_decoder/.npmignore deleted file mode 100644 index 206320c..0000000 --- a/publi/node_modules/through2/node_modules/string_decoder/.npmignore +++ /dev/null @@ -1,2 +0,0 @@ -build -test diff --git a/publi/node_modules/through2/node_modules/string_decoder/LICENSE b/publi/node_modules/through2/node_modules/string_decoder/LICENSE deleted file mode 100644 index 778edb2..0000000 --- a/publi/node_modules/through2/node_modules/string_decoder/LICENSE +++ /dev/null @@ -1,48 +0,0 @@ -Node.js is licensed for use as follows: - -""" -Copyright Node.js contributors. 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. -""" - -This license applies to parts of Node.js originating from the -https://github.com/joyent/node repository: - -""" -Copyright Joyent, Inc. and other Node contributors. 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. -""" - diff --git a/publi/node_modules/through2/node_modules/string_decoder/README.md b/publi/node_modules/through2/node_modules/string_decoder/README.md deleted file mode 100644 index dc3a2d2..0000000 --- a/publi/node_modules/through2/node_modules/string_decoder/README.md +++ /dev/null @@ -1,28 +0,0 @@ -# string_decoder - -***Node-core v7.0.0 string_decoder for userland*** - - -[![NPM](https://nodei.co/npm/string_decoder.png?downloads=true&downloadRank=true)](https://nodei.co/npm/string_decoder/) -[![NPM](https://nodei.co/npm-dl/string_decoder.png?&months=6&height=3)](https://nodei.co/npm/string_decoder/) - - -```bash -npm install --save string_decoder -``` - -***Node-core string_decoderstring_decoder for userland*** - -This package is a mirror of the string_decoder implementation in Node-core. - -Full documentation may be found on the [Node.js website](https://nodejs.org/dist/v7.8.0/docs/api/). - -As of version 1.0.0 **string_decoder** uses semantic versioning. - -## Previous versions - -Previous version numbers match the versions found in Node core, e.g. 0.10.24 matches Node 0.10.24, likewise 0.11.10 matches Node 0.11.10. - -## Update - -The *build/* directory contains a build script that will scrape the source from the [nodejs/node](https://github.com/nodejs/node) repo given a specific Node version. diff --git a/publi/node_modules/through2/node_modules/string_decoder/lib/string_decoder.js b/publi/node_modules/through2/node_modules/string_decoder/lib/string_decoder.js deleted file mode 100644 index 26fb94c..0000000 --- a/publi/node_modules/through2/node_modules/string_decoder/lib/string_decoder.js +++ /dev/null @@ -1,272 +0,0 @@ -'use strict'; - -var Buffer = require('safe-buffer').Buffer; - -var isEncoding = Buffer.isEncoding || function (encoding) { - encoding = '' + encoding; - switch (encoding && encoding.toLowerCase()) { - case 'hex':case 'utf8':case 'utf-8':case 'ascii':case 'binary':case 'base64':case 'ucs2':case 'ucs-2':case 'utf16le':case 'utf-16le':case 'raw': - return true; - default: - return false; - } -}; - -function _normalizeEncoding(enc) { - if (!enc) return 'utf8'; - var retried; - while (true) { - switch (enc) { - case 'utf8': - case 'utf-8': - return 'utf8'; - case 'ucs2': - case 'ucs-2': - case 'utf16le': - case 'utf-16le': - return 'utf16le'; - case 'latin1': - case 'binary': - return 'latin1'; - case 'base64': - case 'ascii': - case 'hex': - return enc; - default: - if (retried) return; // undefined - enc = ('' + enc).toLowerCase(); - retried = true; - } - } -}; - -// Do not cache `Buffer.isEncoding` when checking encoding names as some -// modules monkey-patch it to support additional encodings -function normalizeEncoding(enc) { - var nenc = _normalizeEncoding(enc); - if (typeof nenc !== 'string' && (Buffer.isEncoding === isEncoding || !isEncoding(enc))) throw new Error('Unknown encoding: ' + enc); - return nenc || enc; -} - -// StringDecoder provides an interface for efficiently splitting a series of -// buffers into a series of JS strings without breaking apart multi-byte -// characters. -exports.StringDecoder = StringDecoder; -function StringDecoder(encoding) { - this.encoding = normalizeEncoding(encoding); - var nb; - switch (this.encoding) { - case 'utf16le': - this.text = utf16Text; - this.end = utf16End; - nb = 4; - break; - case 'utf8': - this.fillLast = utf8FillLast; - nb = 4; - break; - case 'base64': - this.text = base64Text; - this.end = base64End; - nb = 3; - break; - default: - this.write = simpleWrite; - this.end = simpleEnd; - return; - } - this.lastNeed = 0; - this.lastTotal = 0; - this.lastChar = Buffer.allocUnsafe(nb); -} - -StringDecoder.prototype.write = function (buf) { - if (buf.length === 0) return ''; - var r; - var i; - if (this.lastNeed) { - r = this.fillLast(buf); - if (r === undefined) return ''; - i = this.lastNeed; - this.lastNeed = 0; - } else { - i = 0; - } - if (i < buf.length) return r ? r + this.text(buf, i) : this.text(buf, i); - return r || ''; -}; - -StringDecoder.prototype.end = utf8End; - -// Returns only complete characters in a Buffer -StringDecoder.prototype.text = utf8Text; - -// Attempts to complete a partial non-UTF-8 character using bytes from a Buffer -StringDecoder.prototype.fillLast = function (buf) { - if (this.lastNeed <= buf.length) { - buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, this.lastNeed); - return this.lastChar.toString(this.encoding, 0, this.lastTotal); - } - buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, buf.length); - this.lastNeed -= buf.length; -}; - -// Checks the type of a UTF-8 byte, whether it's ASCII, a leading byte, or a -// continuation byte. -function utf8CheckByte(byte) { - if (byte <= 0x7F) return 0;else if (byte >> 5 === 0x06) return 2;else if (byte >> 4 === 0x0E) return 3;else if (byte >> 3 === 0x1E) return 4; - return -1; -} - -// Checks at most 3 bytes at the end of a Buffer in order to detect an -// incomplete multi-byte UTF-8 character. The total number of bytes (2, 3, or 4) -// needed to complete the UTF-8 character (if applicable) are returned. -function utf8CheckIncomplete(self, buf, i) { - var j = buf.length - 1; - if (j < i) return 0; - var nb = utf8CheckByte(buf[j]); - if (nb >= 0) { - if (nb > 0) self.lastNeed = nb - 1; - return nb; - } - if (--j < i) return 0; - nb = utf8CheckByte(buf[j]); - if (nb >= 0) { - if (nb > 0) self.lastNeed = nb - 2; - return nb; - } - if (--j < i) return 0; - nb = utf8CheckByte(buf[j]); - if (nb >= 0) { - if (nb > 0) { - if (nb === 2) nb = 0;else self.lastNeed = nb - 3; - } - return nb; - } - return 0; -} - -// Validates as many continuation bytes for a multi-byte UTF-8 character as -// needed or are available. If we see a non-continuation byte where we expect -// one, we "replace" the validated continuation bytes we've seen so far with -// UTF-8 replacement characters ('\ufffd'), to match v8's UTF-8 decoding -// behavior. The continuation byte check is included three times in the case -// where all of the continuation bytes for a character exist in the same buffer. -// It is also done this way as a slight performance increase instead of using a -// loop. -function utf8CheckExtraBytes(self, buf, p) { - if ((buf[0] & 0xC0) !== 0x80) { - self.lastNeed = 0; - return '\ufffd'.repeat(p); - } - if (self.lastNeed > 1 && buf.length > 1) { - if ((buf[1] & 0xC0) !== 0x80) { - self.lastNeed = 1; - return '\ufffd'.repeat(p + 1); - } - if (self.lastNeed > 2 && buf.length > 2) { - if ((buf[2] & 0xC0) !== 0x80) { - self.lastNeed = 2; - return '\ufffd'.repeat(p + 2); - } - } - } -} - -// Attempts to complete a multi-byte UTF-8 character using bytes from a Buffer. -function utf8FillLast(buf) { - var p = this.lastTotal - this.lastNeed; - var r = utf8CheckExtraBytes(this, buf, p); - if (r !== undefined) return r; - if (this.lastNeed <= buf.length) { - buf.copy(this.lastChar, p, 0, this.lastNeed); - return this.lastChar.toString(this.encoding, 0, this.lastTotal); - } - buf.copy(this.lastChar, p, 0, buf.length); - this.lastNeed -= buf.length; -} - -// Returns all complete UTF-8 characters in a Buffer. If the Buffer ended on a -// partial character, the character's bytes are buffered until the required -// number of bytes are available. -function utf8Text(buf, i) { - var total = utf8CheckIncomplete(this, buf, i); - if (!this.lastNeed) return buf.toString('utf8', i); - this.lastTotal = total; - var end = buf.length - (total - this.lastNeed); - buf.copy(this.lastChar, 0, end); - return buf.toString('utf8', i, end); -} - -// For UTF-8, a replacement character for each buffered byte of a (partial) -// character needs to be added to the output. -function utf8End(buf) { - var r = buf && buf.length ? this.write(buf) : ''; - if (this.lastNeed) return r + '\ufffd'.repeat(this.lastTotal - this.lastNeed); - return r; -} - -// UTF-16LE typically needs two bytes per character, but even if we have an even -// number of bytes available, we need to check if we end on a leading/high -// surrogate. In that case, we need to wait for the next two bytes in order to -// decode the last character properly. -function utf16Text(buf, i) { - if ((buf.length - i) % 2 === 0) { - var r = buf.toString('utf16le', i); - if (r) { - var c = r.charCodeAt(r.length - 1); - if (c >= 0xD800 && c <= 0xDBFF) { - this.lastNeed = 2; - this.lastTotal = 4; - this.lastChar[0] = buf[buf.length - 2]; - this.lastChar[1] = buf[buf.length - 1]; - return r.slice(0, -1); - } - } - return r; - } - this.lastNeed = 1; - this.lastTotal = 2; - this.lastChar[0] = buf[buf.length - 1]; - return buf.toString('utf16le', i, buf.length - 1); -} - -// For UTF-16LE we do not explicitly append special replacement characters if we -// end on a partial character, we simply let v8 handle that. -function utf16End(buf) { - var r = buf && buf.length ? this.write(buf) : ''; - if (this.lastNeed) { - var end = this.lastTotal - this.lastNeed; - return r + this.lastChar.toString('utf16le', 0, end); - } - return r; -} - -function base64Text(buf, i) { - var n = (buf.length - i) % 3; - if (n === 0) return buf.toString('base64', i); - this.lastNeed = 3 - n; - this.lastTotal = 3; - if (n === 1) { - this.lastChar[0] = buf[buf.length - 1]; - } else { - this.lastChar[0] = buf[buf.length - 2]; - this.lastChar[1] = buf[buf.length - 1]; - } - return buf.toString('base64', i, buf.length - n); -} - -function base64End(buf) { - var r = buf && buf.length ? this.write(buf) : ''; - if (this.lastNeed) return r + this.lastChar.toString('base64', 0, 3 - this.lastNeed); - return r; -} - -// Pass bytes on through for single-byte encodings (e.g. ascii, latin1, hex) -function simpleWrite(buf) { - return buf.toString(this.encoding); -} - -function simpleEnd(buf) { - return buf && buf.length ? this.write(buf) : ''; -} \ No newline at end of file diff --git a/publi/node_modules/through2/node_modules/string_decoder/package.json b/publi/node_modules/through2/node_modules/string_decoder/package.json deleted file mode 100644 index 5932ea6..0000000 --- a/publi/node_modules/through2/node_modules/string_decoder/package.json +++ /dev/null @@ -1,56 +0,0 @@ -{ - "_from": "string_decoder@~1.0.3", - "_id": "string_decoder@1.0.3", - "_inBundle": false, - "_integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", - "_location": "/through2/string_decoder", - "_phantomChildren": {}, - "_requested": { - "type": "range", - "registry": true, - "raw": "string_decoder@~1.0.3", - "name": "string_decoder", - "escapedName": "string_decoder", - "rawSpec": "~1.0.3", - "saveSpec": null, - "fetchSpec": "~1.0.3" - }, - "_requiredBy": [ - "/through2/readable-stream" - ], - "_resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", - "_shasum": "0fc67d7c141825de94282dd536bec6b9bce860ab", - "_spec": "string_decoder@~1.0.3", - "_where": "/mnt/Data/bach/Documents/ola/OLA#5/ola5doc/publi/node_modules/through2/node_modules/readable-stream", - "bugs": { - "url": "https://github.com/rvagg/string_decoder/issues" - }, - "bundleDependencies": false, - "dependencies": { - "safe-buffer": "~5.1.0" - }, - "deprecated": false, - "description": "The string_decoder module from Node core", - "devDependencies": { - "babel-polyfill": "^6.23.0", - "tap": "~0.4.8" - }, - "homepage": "https://github.com/rvagg/string_decoder", - "keywords": [ - "string", - "decoder", - "browser", - "browserify" - ], - "license": "MIT", - "main": "lib/string_decoder.js", - "name": "string_decoder", - "repository": { - "type": "git", - "url": "git://github.com/rvagg/string_decoder.git" - }, - "scripts": { - "test": "tap test/parallel/*.js && node test/verify-dependencies" - }, - "version": "1.0.3" -} diff --git a/publi/node_modules/through2/package.json b/publi/node_modules/through2/package.json deleted file mode 100644 index 82b4cb4..0000000 --- a/publi/node_modules/through2/package.json +++ /dev/null @@ -1,115 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "through2@^2.0.0", - "scope": null, - "escapedName": "through2", - "name": "through2", - "rawSpec": "^2.0.0", - "spec": ">=2.0.0 <3.0.0", - "type": "range" - }, - "/mnt/Data/bach/Documents/ola/OLA#3DOC/sys/node_modules/gulp-util" - ] - ], - "_from": "through2@>=2.0.0 <3.0.0", - "_id": "through2@2.0.3", - "_inCache": true, - "_location": "/through2", - "_nodeVersion": "7.2.0", - "_npmOperationalInternal": { - "host": "packages-18-east.internal.npmjs.com", - "tmp": "tmp/through2-2.0.3.tgz_1480373529377_0.264686161885038" - }, - "_npmUser": { - "name": "rvagg", - "email": "rod@vagg.org" - }, - "_npmVersion": "3.10.9", - "_phantomChildren": { - "buffer-shims": "1.0.0", - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "process-nextick-args": "1.0.7", - "string_decoder": "0.10.31", - "util-deprecate": "1.0.2" - }, - "_requested": { - "raw": "through2@^2.0.0", - "scope": null, - "escapedName": "through2", - "name": "through2", - "rawSpec": "^2.0.0", - "spec": ">=2.0.0 <3.0.0", - "type": "range" - }, - "_requiredBy": [ - "/gulp-autoprefixer", - "/gulp-plumber", - "/gulp-sass", - "/gulp-util", - "/gulp-wrap" - ], - "_resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz", - "_shasum": "0004569b37c7c74ba39c43f3ced78d1ad94140be", - "_shrinkwrap": null, - "_spec": "through2@^2.0.0", - "_where": "/mnt/Data/bach/Documents/ola/OLA#3DOC/sys/node_modules/gulp-util", - "author": { - "name": "Rod Vagg", - "email": "r@va.gg", - "url": "https://github.com/rvagg" - }, - "bugs": { - "url": "https://github.com/rvagg/through2/issues" - }, - "dependencies": { - "readable-stream": "^2.1.5", - "xtend": "~4.0.1" - }, - "description": "A tiny wrapper around Node streams2 Transform to avoid explicit subclassing noise", - "devDependencies": { - "bl": "~1.1.2", - "faucet": "0.0.1", - "stream-spigot": "~3.0.5", - "tape": "~4.6.2" - }, - "directories": {}, - "dist": { - "shasum": "0004569b37c7c74ba39c43f3ced78d1ad94140be", - "tarball": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz" - }, - "gitHead": "4383b10b2cb6a32ae215760715b317513abe609f", - "homepage": "https://github.com/rvagg/through2#readme", - "keywords": [ - "stream", - "streams2", - "through", - "transform" - ], - "license": "MIT", - "main": "through2.js", - "maintainers": [ - { - "name": "rvagg", - "email": "rod@vagg.org" - }, - { - "name": "bryce", - "email": "bryce@ravenwall.com" - } - ], - "name": "through2", - "optionalDependencies": {}, - "readme": "ERROR: No README data found!", - "repository": { - "type": "git", - "url": "git+https://github.com/rvagg/through2.git" - }, - "scripts": { - "test": "node test/test.js | faucet", - "test-local": "brtapsauce-local test/basic-test.js" - }, - "version": "2.0.3" -} diff --git a/publi/node_modules/through2/through2.js b/publi/node_modules/through2/through2.js deleted file mode 100644 index 5b7a880..0000000 --- a/publi/node_modules/through2/through2.js +++ /dev/null @@ -1,96 +0,0 @@ -var Transform = require('readable-stream/transform') - , inherits = require('util').inherits - , xtend = require('xtend') - -function DestroyableTransform(opts) { - Transform.call(this, opts) - this._destroyed = false -} - -inherits(DestroyableTransform, Transform) - -DestroyableTransform.prototype.destroy = function(err) { - if (this._destroyed) return - this._destroyed = true - - var self = this - process.nextTick(function() { - if (err) - self.emit('error', err) - self.emit('close') - }) -} - -// a noop _transform function -function noop (chunk, enc, callback) { - callback(null, chunk) -} - - -// create a new export function, used by both the main export and -// the .ctor export, contains common logic for dealing with arguments -function through2 (construct) { - return function (options, transform, flush) { - if (typeof options == 'function') { - flush = transform - transform = options - options = {} - } - - if (typeof transform != 'function') - transform = noop - - if (typeof flush != 'function') - flush = null - - return construct(options, transform, flush) - } -} - - -// main export, just make me a transform stream! -module.exports = through2(function (options, transform, flush) { - var t2 = new DestroyableTransform(options) - - t2._transform = transform - - if (flush) - t2._flush = flush - - return t2 -}) - - -// make me a reusable prototype that I can `new`, or implicitly `new` -// with a constructor call -module.exports.ctor = through2(function (options, transform, flush) { - function Through2 (override) { - if (!(this instanceof Through2)) - return new Through2(override) - - this.options = xtend(options, override) - - DestroyableTransform.call(this, this.options) - } - - inherits(Through2, DestroyableTransform) - - Through2.prototype._transform = transform - - if (flush) - Through2.prototype._flush = flush - - return Through2 -}) - - -module.exports.obj = through2(function (options, transform, flush) { - var t2 = new DestroyableTransform(xtend({ objectMode: true, highWaterMark: 16 }, options)) - - t2._transform = transform - - if (flush) - t2._flush = flush - - return t2 -}) diff --git a/publi/node_modules/tildify/index.js b/publi/node_modules/tildify/index.js deleted file mode 100644 index ee8eb93..0000000 --- a/publi/node_modules/tildify/index.js +++ /dev/null @@ -1,9 +0,0 @@ -'use strict'; -var path = require('path'); -var osHomedir = require('os-homedir'); -var home = osHomedir(); - -module.exports = function (str) { - str = path.normalize(str) + path.sep; - return (str.indexOf(home) === 0 ? str.replace(home + path.sep, '~' + path.sep) : str).slice(0, -1); -}; diff --git a/publi/node_modules/tildify/license b/publi/node_modules/tildify/license deleted file mode 100644 index 654d0bf..0000000 --- a/publi/node_modules/tildify/license +++ /dev/null @@ -1,21 +0,0 @@ -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. diff --git a/publi/node_modules/tildify/package.json b/publi/node_modules/tildify/package.json deleted file mode 100644 index 3bd4efe..0000000 --- a/publi/node_modules/tildify/package.json +++ /dev/null @@ -1,108 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "tildify@^1.0.0", - "scope": null, - "escapedName": "tildify", - "name": "tildify", - "rawSpec": "^1.0.0", - "spec": ">=1.0.0 <2.0.0", - "type": "range" - }, - "/mnt/Data/bach/Documents/ola/OLA#3DOC/sys/node_modules/gulp" - ] - ], - "_from": "tildify@>=1.0.0 <2.0.0", - "_id": "tildify@1.2.0", - "_inCache": true, - "_location": "/tildify", - "_nodeVersion": "4.4.2", - "_npmOperationalInternal": { - "host": "packages-12-west.internal.npmjs.com", - "tmp": "tmp/tildify-1.2.0.tgz_1460447164123_0.6345257461071014" - }, - "_npmUser": { - "name": "sindresorhus", - "email": "sindresorhus@gmail.com" - }, - "_npmVersion": "2.15.0", - "_phantomChildren": {}, - "_requested": { - "raw": "tildify@^1.0.0", - "scope": null, - "escapedName": "tildify", - "name": "tildify", - "rawSpec": "^1.0.0", - "spec": ">=1.0.0 <2.0.0", - "type": "range" - }, - "_requiredBy": [ - "/gulp" - ], - "_resolved": "https://registry.npmjs.org/tildify/-/tildify-1.2.0.tgz", - "_shasum": "dcec03f55dca9b7aa3e5b04f21817eb56e63588a", - "_shrinkwrap": null, - "_spec": "tildify@^1.0.0", - "_where": "/mnt/Data/bach/Documents/ola/OLA#3DOC/sys/node_modules/gulp", - "author": { - "name": "Sindre Sorhus", - "email": "sindresorhus@gmail.com", - "url": "sindresorhus.com" - }, - "bugs": { - "url": "https://github.com/sindresorhus/tildify/issues" - }, - "dependencies": { - "os-homedir": "^1.0.0" - }, - "description": "Convert an absolute path to a tilde path: `/Users/sindresorhus/dev` → `~/dev`", - "devDependencies": { - "ava": "*", - "xo": "*" - }, - "directories": {}, - "dist": { - "shasum": "dcec03f55dca9b7aa3e5b04f21817eb56e63588a", - "tarball": "https://registry.npmjs.org/tildify/-/tildify-1.2.0.tgz" - }, - "engines": { - "node": ">=0.10.0" - }, - "files": [ - "index.js" - ], - "gitHead": "c323a7ebf1098dfbf3e333a93c3f0c51c6ca48e0", - "homepage": "https://github.com/sindresorhus/tildify#readme", - "keywords": [ - "unexpand", - "homedir", - "tilde", - "tildify", - "collapse", - "path", - "home", - "dir", - "directory", - "user", - "expand" - ], - "license": "MIT", - "maintainers": [ - { - "name": "sindresorhus", - "email": "sindresorhus@gmail.com" - } - ], - "name": "tildify", - "optionalDependencies": {}, - "readme": "ERROR: No README data found!", - "repository": { - "type": "git", - "url": "git+https://github.com/sindresorhus/tildify.git" - }, - "scripts": { - "test": "xo && ava" - }, - "version": "1.2.0" -} diff --git a/publi/node_modules/tildify/readme.md b/publi/node_modules/tildify/readme.md deleted file mode 100644 index 2a70d69..0000000 --- a/publi/node_modules/tildify/readme.md +++ /dev/null @@ -1,30 +0,0 @@ -# tildify [![Build Status](https://travis-ci.org/sindresorhus/tildify.svg?branch=master)](https://travis-ci.org/sindresorhus/tildify) - -> Convert an absolute path to a tilde path: `/Users/sindresorhus/dev` → `~/dev` - - -## Install - -``` -$ npm install --save tildify -``` - - -## Usage - -```js -const tildify = require('tildify'); - -tildify('/Users/sindresorhus/dev'); -//=> '~/dev' -``` - - -## Related - -See [untildify](https://github.com/sindresorhus/untildify) for the inverse. - - -## License - -MIT © [Sindre Sorhus](https://sindresorhus.com) diff --git a/publi/node_modules/time-stamp/LICENSE b/publi/node_modules/time-stamp/LICENSE deleted file mode 100644 index 83b56e7..0000000 --- a/publi/node_modules/time-stamp/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2015-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. diff --git a/publi/node_modules/time-stamp/README.md b/publi/node_modules/time-stamp/README.md deleted file mode 100644 index a12d3e1..0000000 --- a/publi/node_modules/time-stamp/README.md +++ /dev/null @@ -1,132 +0,0 @@ -# time-stamp [![NPM version](https://img.shields.io/npm/v/time-stamp.svg?style=flat)](https://www.npmjs.com/package/time-stamp) [![NPM monthly downloads](https://img.shields.io/npm/dm/time-stamp.svg?style=flat)](https://npmjs.org/package/time-stamp) [![NPM total downloads](https://img.shields.io/npm/dt/time-stamp.svg?style=flat)](https://npmjs.org/package/time-stamp) [![Linux Build Status](https://img.shields.io/travis/jonschlinkert/time-stamp.svg?style=flat&label=Travis)](https://travis-ci.org/jonschlinkert/time-stamp) - -> Get a formatted timestamp. - -## Install - -Install with [npm](https://www.npmjs.com/): - -```sh -$ npm install --save time-stamp -``` - -## Usage - -```js -var timestamp = require('time-stamp'); - -timestamp(); -//=> 2017:05:14 - -timestamp('YYYYMMDD'); -//=> 20170514 - -timestamp('YYYYMMDD:ss'); -//=> 20170514:26 - -timestamp('YYYY/MM/DD:mm:ss'); -//=> 2017/05/14:52:26 - -timestamp('YYYY:MM:DD'); -//=> 2017:05:14 - -timestamp('[YYYY:MM:DD]'); -//=> [2017:05:14] - -timestamp('YYYY/MM/DD'); -//=> 2017/05/14 - -timestamp('YYYY:MM'); -//=> 2017:05 - -timestamp('YYYY'); -//=> 2017 - -timestamp('MM'); -//=> 05 - -timestamp('DD'); -//=> 14 - -timestamp('HH'); -//=> 20 - -timestamp('mm'); -//=> 52 - -timestamp('ss'); -//=> 26 - -timestamp('ms'); -//=> 481 -``` - -**Valid patterns** - -* `YYYY`: full year (ex: **2017**) -* `MM`: month (ex: **04**) -* `DD`: day (ex: **01**) -* `HH`: hours (ex: **12**) -* `mm`: minutes (ex: **59**) -* `ss`: seconds (ex: **09**) -* `ms`: milliseconds (ex: **532**) - -## About - -### Related projects - -* [days](https://www.npmjs.com/package/days): Days of the week. | [homepage](https://github.com/jonschlinkert/days "Days of the week.") -* [iso-week](https://www.npmjs.com/package/iso-week): Get the ISO week of the year. | [homepage](https://github.com/jonschlinkert/iso-week "Get the ISO week of the year.") -* [month](https://www.npmjs.com/package/month): Get the name or number of the current month or any month of the year. | [homepage](https://github.com/datetime/month "Get the name or number of the current month or any month of the year.") -* [months](https://www.npmjs.com/package/months): Months of the year. | [homepage](https://github.com/jonschlinkert/months "Months of the year.") -* [o-clock](https://www.npmjs.com/package/o-clock): Simple javascript utility for displaying the time in 12-hour clock format. | [homepage](https://github.com/jonschlinkert/o-clock "Simple javascript utility for displaying the time in 12-hour clock format.") -* [seconds](https://www.npmjs.com/package/seconds): Get the number of seconds for a minute, hour, day and week. | [homepage](https://github.com/jonschlinkert/seconds "Get the number of seconds for a minute, hour, day and week.") -* [week](https://www.npmjs.com/package/week): Get the current week number. | [homepage](https://github.com/datetime/week "Get the current week number.") -* [weekday](https://www.npmjs.com/package/weekday): Get the name and number of the current weekday. Or get the name of the… [more](https://github.com/datetime/weekday) | [homepage](https://github.com/datetime/weekday "Get the name and number of the current weekday. Or get the name of the weekday for a given number.") -* [year](https://www.npmjs.com/package/year): Simple utility to get the current year with 2 or 4 digits. | [homepage](https://github.com/jonschlinkert/year "Simple utility to get the current year with 2 or 4 digits.") - -### Contributing - -Pull requests and stars are always welcome. For bugs and feature requests, [please create an issue](../../issues/new). - -### Contributors - -| **Commits** | **Contributor** | -| --- | --- | -| 21 | [jonschlinkert](https://github.com/jonschlinkert) | -| 1 | [evocateur](https://github.com/evocateur) | -| 1 | [mendenhallmagic](https://github.com/mendenhallmagic) | - -### Building docs - -_(This project's readme.md is generated by [verb](https://github.com/verbose/verb-generate-readme), please don't edit the readme directly. Any changes to the readme must be made in the [.verb.md](.verb.md) readme template.)_ - -To generate the readme, run the following command: - -```sh -$ npm install -g verbose/verb#dev verb-generate-readme && verb -``` - -### Running tests - -Running and reviewing unit tests is a great way to get familiarized with a library and its API. You can install dependencies and run tests with the following command: - -```sh -$ npm install && npm test -``` - -### Author - -**Jon Schlinkert** - -* [github/jonschlinkert](https://github.com/jonschlinkert) -* [twitter/jonschlinkert](https://twitter.com/jonschlinkert) - -### License - -Copyright © 2017, [Jon Schlinkert](https://github.com/jonschlinkert). -Released under the [MIT License](LICENSE). - -*** - -_This file was generated by [verb-generate-readme](https://github.com/verbose/verb-generate-readme), v0.6.0, on May 14, 2017._ \ No newline at end of file diff --git a/publi/node_modules/time-stamp/index.js b/publi/node_modules/time-stamp/index.js deleted file mode 100644 index 0c93048..0000000 --- a/publi/node_modules/time-stamp/index.js +++ /dev/null @@ -1,56 +0,0 @@ -/*! - * time-stamp - * - * Copyright (c) 2015-2017, Jon Schlinkert. - * Released under the MIT License. - */ - -'use strict'; - -/** - * Parse the given pattern and return a formatted - * timestamp. - * - * @param {String} `pattern` Date pattern. - * @param {Date} `date` Date object. - * @return {String} - */ - -module.exports = function(pattern, date) { - if (typeof pattern !== 'string') { - date = pattern; - pattern = 'YYYY:MM:DD'; - } - - if (!date) date = new Date(); - - function timestamp() { - var regex = /(?=(YYYY|YY|MM|DD|HH|mm|ss|ms))\1([:\/]*)/; - var match = regex.exec(pattern); - - if (match) { - var increment = method(match[1]); - var val = '00' + String(date[increment[0]]() + (increment[2] || 0)); - var res = val.slice(-increment[1]) + (match[2] || ''); - pattern = pattern.replace(match[0], res); - timestamp(); - } - } - - timestamp(pattern); - return pattern; -}; - -function method(key) { - return ({ - YYYY: ['getFullYear', 4], - YY: ['getFullYear', 2], - // getMonth is zero-based, thus the extra increment field - MM: ['getMonth', 2, 1], - DD: ['getDate', 2], - HH: ['getHours', 2], - mm: ['getMinutes', 2], - ss: ['getSeconds', 2], - ms: ['getMilliseconds', 3] - })[key]; -} diff --git a/publi/node_modules/time-stamp/package.json b/publi/node_modules/time-stamp/package.json deleted file mode 100644 index 48a1c37..0000000 --- a/publi/node_modules/time-stamp/package.json +++ /dev/null @@ -1,117 +0,0 @@ -{ - "_from": "time-stamp@^1.0.0", - "_id": "time-stamp@1.1.0", - "_inBundle": false, - "_integrity": "sha1-dkpaEa9QVhkhsTPztE5hhofg9cM=", - "_location": "/time-stamp", - "_phantomChildren": {}, - "_requested": { - "type": "range", - "registry": true, - "raw": "time-stamp@^1.0.0", - "name": "time-stamp", - "escapedName": "time-stamp", - "rawSpec": "^1.0.0", - "saveSpec": null, - "fetchSpec": "^1.0.0" - }, - "_requiredBy": [ - "/fancy-log" - ], - "_resolved": "https://registry.npmjs.org/time-stamp/-/time-stamp-1.1.0.tgz", - "_shasum": "764a5a11af50561921b133f3b44e618687e0f5c3", - "_spec": "time-stamp@^1.0.0", - "_where": "/mnt/Data/bach/Documents/ola/OLA#5/ola5doc/publi/node_modules/fancy-log", - "author": { - "name": "Jon Schlinkert", - "url": "https://github.com/jonschlinkert" - }, - "bugs": { - "url": "https://github.com/jonschlinkert/time-stamp/issues" - }, - "bundleDependencies": false, - "contributors": [ - { - "name": "Daniel Stockman", - "url": "http://evocateur.org" - }, - { - "name": "Drew", - "url": "https://github.com/mendenhallmagic" - }, - { - "name": "Jon Schlinkert", - "url": "http://twitter.com/jonschlinkert" - } - ], - "deprecated": false, - "description": "Get a formatted timestamp.", - "devDependencies": { - "gulp-format-md": "^0.1.12", - "mocha": "^3.4.1", - "pad-left": "^2.1.0" - }, - "engines": { - "node": ">=0.10.0" - }, - "files": [ - "index.js" - ], - "homepage": "https://github.com/jonschlinkert/time-stamp", - "keywords": [ - "console", - "date", - "format", - "formatting", - "log", - "pretty", - "stamp", - "terminal", - "time", - "time-stamp" - ], - "license": "MIT", - "main": "index.js", - "name": "time-stamp", - "repository": { - "type": "git", - "url": "git+https://github.com/jonschlinkert/time-stamp.git" - }, - "scripts": { - "test": "mocha" - }, - "verb": { - "run": true, - "toc": false, - "layout": "default", - "tasks": [ - "readme" - ], - "plugins": [ - "gulp-format-md" - ], - "helpers": { - "timestamp": "./index.js" - }, - "related": { - "list": [ - "days", - "iso-week", - "month", - "months", - "o-clock", - "seconds", - "week", - "weekday", - "year" - ] - }, - "reflinks": [ - "verb" - ], - "lint": { - "reflinks": true - } - }, - "version": "1.1.0" -} diff --git a/publi/node_modules/to-object-path/LICENSE b/publi/node_modules/to-object-path/LICENSE deleted file mode 100644 index 1e49edf..0000000 --- a/publi/node_modules/to-object-path/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2015-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. diff --git a/publi/node_modules/to-object-path/README.md b/publi/node_modules/to-object-path/README.md deleted file mode 100644 index 7f3cfb1..0000000 --- a/publi/node_modules/to-object-path/README.md +++ /dev/null @@ -1,71 +0,0 @@ -# to-object-path [![NPM version](https://badge.fury.io/js/to-object-path.svg)](http://badge.fury.io/js/to-object-path) - -> Create an object path from a list or array of strings. - -## Install - -Install with [npm](https://www.npmjs.com/) - -```sh -$ npm i to-object-path --save -``` - -## Usage - -```js -var toPath = require('to-object-path'); - -toPath('foo', 'bar', 'baz'); -toPath('foo', ['bar', 'baz']); -//=> 'foo.bar.baz' -``` - -Also supports passing an arguments object (without having to slice args): - -```js -function foo() - return toPath(arguments); -} - -foo('foo', 'bar', 'baz'); -foo('foo', ['bar', 'baz']); -//=> 'foo.bar.baz' -``` - -Visit the [example](./example.js) to see how this could be used in an application. - -## Related projects - -* [get-value](https://www.npmjs.com/package/get-value): Use property paths (` a.b.c`) to get a nested value from an object. | [homepage](https://github.com/jonschlinkert/get-value) -* [has-value](https://www.npmjs.com/package/has-value): Returns true if a value exists, false if empty. Works with deeply nested values using… [more](https://www.npmjs.com/package/has-value) | [homepage](https://github.com/jonschlinkert/has-value) -* [omit-value](https://www.npmjs.com/package/omit-value): Omit properties from an object or deeply nested property of an object using object path… [more](https://www.npmjs.com/package/omit-value) | [homepage](https://github.com/jonschlinkert/omit-value) -* [set-value](https://www.npmjs.com/package/set-value): Create nested values and any intermediaries using dot notation (`'a.b.c'`) paths. | [homepage](https://github.com/jonschlinkert/set-value) -* [unset-value](https://www.npmjs.com/package/unset-value): Delete nested properties from an object using dot notation. | [homepage](https://github.com/jonschlinkert/unset-value) - -## Running tests - -Install dev dependencies: - -```sh -$ npm i -d && npm test -``` - -## Contributing - -Pull requests and stars are always welcome. For bugs and feature requests, [please create an issue](https://github.com/jonschlinkert/to-object-path/issues/new). - -## Author - -**Jon Schlinkert** - -+ [github/jonschlinkert](https://github.com/jonschlinkert) -+ [twitter/jonschlinkert](http://twitter.com/jonschlinkert) - -## License - -Copyright © 2015 Jon Schlinkert -Released under the MIT license. - -*** - -_This file was generated by [verb-cli](https://github.com/assemble/verb-cli) on October 28, 2015._ \ No newline at end of file diff --git a/publi/node_modules/to-object-path/index.js b/publi/node_modules/to-object-path/index.js deleted file mode 100644 index 489f8f6..0000000 --- a/publi/node_modules/to-object-path/index.js +++ /dev/null @@ -1,33 +0,0 @@ -/*! - * to-object-path - * - * Copyright (c) 2015, Jon Schlinkert. - * Licensed under the MIT License. - */ - -'use strict'; - -var typeOf = require('kind-of'); - -module.exports = function toPath(args) { - if (typeOf(args) !== 'arguments') { - args = arguments; - } - return filter(args).join('.'); -}; - -function filter(arr) { - var len = arr.length; - var idx = -1; - var res = []; - - while (++idx < len) { - var ele = arr[idx]; - if (typeOf(ele) === 'arguments' || Array.isArray(ele)) { - res.push.apply(res, filter(ele)); - } else if (typeof ele === 'string') { - res.push(ele); - } - } - return res; -} diff --git a/publi/node_modules/to-object-path/node_modules/kind-of/LICENSE b/publi/node_modules/to-object-path/node_modules/kind-of/LICENSE deleted file mode 100644 index d734237..0000000 --- a/publi/node_modules/to-object-path/node_modules/kind-of/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -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. diff --git a/publi/node_modules/to-object-path/node_modules/kind-of/README.md b/publi/node_modules/to-object-path/node_modules/kind-of/README.md deleted file mode 100644 index 6a9df36..0000000 --- a/publi/node_modules/to-object-path/node_modules/kind-of/README.md +++ /dev/null @@ -1,261 +0,0 @@ -# kind-of [![NPM version](https://img.shields.io/npm/v/kind-of.svg?style=flat)](https://www.npmjs.com/package/kind-of) [![NPM monthly downloads](https://img.shields.io/npm/dm/kind-of.svg?style=flat)](https://npmjs.org/package/kind-of) [![NPM total downloads](https://img.shields.io/npm/dt/kind-of.svg?style=flat)](https://npmjs.org/package/kind-of) [![Linux Build Status](https://img.shields.io/travis/jonschlinkert/kind-of.svg?style=flat&label=Travis)](https://travis-ci.org/jonschlinkert/kind-of) - -> Get the native type of a value. - -## Install - -Install with [npm](https://www.npmjs.com/): - -```sh -$ npm install --save kind-of -``` - -## Install - -Install with [bower](https://bower.io/) - -```sh -$ bower install kind-of --save -``` - -## Usage - -> es5, browser and es6 ready - -```js -var kindOf = require('kind-of'); - -kindOf(undefined); -//=> 'undefined' - -kindOf(null); -//=> 'null' - -kindOf(true); -//=> 'boolean' - -kindOf(false); -//=> 'boolean' - -kindOf(new Boolean(true)); -//=> 'boolean' - -kindOf(new Buffer('')); -//=> 'buffer' - -kindOf(42); -//=> 'number' - -kindOf(new Number(42)); -//=> 'number' - -kindOf('str'); -//=> 'string' - -kindOf(new String('str')); -//=> 'string' - -kindOf(arguments); -//=> 'arguments' - -kindOf({}); -//=> 'object' - -kindOf(Object.create(null)); -//=> 'object' - -kindOf(new Test()); -//=> 'object' - -kindOf(new Date()); -//=> 'date' - -kindOf([]); -//=> 'array' - -kindOf([1, 2, 3]); -//=> 'array' - -kindOf(new Array()); -//=> 'array' - -kindOf(/foo/); -//=> 'regexp' - -kindOf(new RegExp('foo')); -//=> 'regexp' - -kindOf(function () {}); -//=> 'function' - -kindOf(function * () {}); -//=> 'function' - -kindOf(new Function()); -//=> 'function' - -kindOf(new Map()); -//=> 'map' - -kindOf(new WeakMap()); -//=> 'weakmap' - -kindOf(new Set()); -//=> 'set' - -kindOf(new WeakSet()); -//=> 'weakset' - -kindOf(Symbol('str')); -//=> 'symbol' - -kindOf(new Int8Array()); -//=> 'int8array' - -kindOf(new Uint8Array()); -//=> 'uint8array' - -kindOf(new Uint8ClampedArray()); -//=> 'uint8clampedarray' - -kindOf(new Int16Array()); -//=> 'int16array' - -kindOf(new Uint16Array()); -//=> 'uint16array' - -kindOf(new Int32Array()); -//=> 'int32array' - -kindOf(new Uint32Array()); -//=> 'uint32array' - -kindOf(new Float32Array()); -//=> 'float32array' - -kindOf(new Float64Array()); -//=> 'float64array' -``` - -## Benchmarks - -Benchmarked against [typeof](http://github.com/CodingFu/typeof) and [type-of](https://github.com/ForbesLindesay/type-of). -Note that performaces is slower for es6 features `Map`, `WeakMap`, `Set` and `WeakSet`. - -```bash -#1: array - current x 23,329,397 ops/sec ±0.82% (94 runs sampled) - lib-type-of x 4,170,273 ops/sec ±0.55% (94 runs sampled) - lib-typeof x 9,686,935 ops/sec ±0.59% (98 runs sampled) - -#2: boolean - current x 27,197,115 ops/sec ±0.85% (94 runs sampled) - lib-type-of x 3,145,791 ops/sec ±0.73% (97 runs sampled) - lib-typeof x 9,199,562 ops/sec ±0.44% (99 runs sampled) - -#3: date - current x 20,190,117 ops/sec ±0.86% (92 runs sampled) - lib-type-of x 5,166,970 ops/sec ±0.74% (94 runs sampled) - lib-typeof x 9,610,821 ops/sec ±0.50% (96 runs sampled) - -#4: function - current x 23,855,460 ops/sec ±0.60% (97 runs sampled) - lib-type-of x 5,667,740 ops/sec ±0.54% (100 runs sampled) - lib-typeof x 10,010,644 ops/sec ±0.44% (100 runs sampled) - -#5: null - current x 27,061,047 ops/sec ±0.97% (96 runs sampled) - lib-type-of x 13,965,573 ops/sec ±0.62% (97 runs sampled) - lib-typeof x 8,460,194 ops/sec ±0.61% (97 runs sampled) - -#6: number - current x 25,075,682 ops/sec ±0.53% (99 runs sampled) - lib-type-of x 2,266,405 ops/sec ±0.41% (98 runs sampled) - lib-typeof x 9,821,481 ops/sec ±0.45% (99 runs sampled) - -#7: object - current x 3,348,980 ops/sec ±0.49% (99 runs sampled) - lib-type-of x 3,245,138 ops/sec ±0.60% (94 runs sampled) - lib-typeof x 9,262,952 ops/sec ±0.59% (99 runs sampled) - -#8: regex - current x 21,284,827 ops/sec ±0.72% (96 runs sampled) - lib-type-of x 4,689,241 ops/sec ±0.43% (100 runs sampled) - lib-typeof x 8,957,593 ops/sec ±0.62% (98 runs sampled) - -#9: string - current x 25,379,234 ops/sec ±0.58% (96 runs sampled) - lib-type-of x 3,635,148 ops/sec ±0.76% (93 runs sampled) - lib-typeof x 9,494,134 ops/sec ±0.49% (98 runs sampled) - -#10: undef - current x 27,459,221 ops/sec ±1.01% (93 runs sampled) - lib-type-of x 14,360,433 ops/sec ±0.52% (99 runs sampled) - lib-typeof x 23,202,868 ops/sec ±0.59% (94 runs sampled) - -``` - -## Optimizations - -In 7 out of 8 cases, this library is 2x-10x faster than other top libraries included in the benchmarks. There are a few things that lead to this performance advantage, none of them hard and fast rules, but all of them simple and repeatable in almost any code library: - -1. Optimize around the fastest and most common use cases first. Of course, this will change from project-to-project, but I took some time to understand how and why `typeof` checks were being used in my own libraries and other libraries I use a lot. -2. Optimize around bottlenecks - In other words, the order in which conditionals are implemented is significant, because each check is only as fast as the failing checks that came before it. Here, the biggest bottleneck by far is checking for plain objects (an object that was created by the `Object` constructor). I opted to make this check happen by process of elimination rather than brute force up front (e.g. by using something like `val.constructor.name`), so that every other type check would not be penalized it. -3. Don't do uneccessary processing - why do `.slice(8, -1).toLowerCase();` just to get the word `regex`? It's much faster to do `if (type === '[object RegExp]') return 'regex'` - -## About - -### Related projects - -* [is-glob](https://www.npmjs.com/package/is-glob): Returns `true` if the given string looks like a glob pattern or an extglob pattern… [more](https://github.com/jonschlinkert/is-glob) | [homepage](https://github.com/jonschlinkert/is-glob "Returns `true` if the given string looks like a glob pattern or an extglob pattern. This makes it easy to create code that only uses external modules like node-glob when necessary, resulting in much faster code execution and initialization time, and a bet") -* [is-number](https://www.npmjs.com/package/is-number): Returns true if the value is a number. comprehensive tests. | [homepage](https://github.com/jonschlinkert/is-number "Returns true if the value is a number. comprehensive tests.") -* [is-primitive](https://www.npmjs.com/package/is-primitive): Returns `true` if the value is a primitive. | [homepage](https://github.com/jonschlinkert/is-primitive "Returns `true` if the value is a primitive. ") - -### Contributing - -Pull requests and stars are always welcome. For bugs and feature requests, [please create an issue](../../issues/new). - -### Contributors - -| **Commits** | **Contributor** | -| --- | --- | -| 59 | [jonschlinkert](https://github.com/jonschlinkert) | -| 2 | [miguelmota](https://github.com/miguelmota) | -| 1 | [dtothefp](https://github.com/dtothefp) | -| 1 | [ksheedlo](https://github.com/ksheedlo) | -| 1 | [pdehaan](https://github.com/pdehaan) | -| 1 | [laggingreflex](https://github.com/laggingreflex) | - -### Building docs - -_(This project's readme.md is generated by [verb](https://github.com/verbose/verb-generate-readme), please don't edit the readme directly. Any changes to the readme must be made in the [.verb.md](.verb.md) readme template.)_ - -To generate the readme, run the following command: - -```sh -$ npm install -g verbose/verb#dev verb-generate-readme && verb -``` - -### Running tests - -Running and reviewing unit tests is a great way to get familiarized with a library and its API. You can install dependencies and run tests with the following command: - -```sh -$ npm install && npm test -``` - -### Author - -**Jon Schlinkert** - -* [github/jonschlinkert](https://github.com/jonschlinkert) -* [twitter/jonschlinkert](https://twitter.com/jonschlinkert) - -### License - -Copyright © 2017, [Jon Schlinkert](https://github.com/jonschlinkert). -Released under the [MIT License](LICENSE). - -*** - -_This file was generated by [verb-generate-readme](https://github.com/verbose/verb-generate-readme), v0.6.0, on May 16, 2017._ \ No newline at end of file diff --git a/publi/node_modules/to-object-path/node_modules/kind-of/index.js b/publi/node_modules/to-object-path/node_modules/kind-of/index.js deleted file mode 100644 index b52c291..0000000 --- a/publi/node_modules/to-object-path/node_modules/kind-of/index.js +++ /dev/null @@ -1,116 +0,0 @@ -var isBuffer = require('is-buffer'); -var toString = Object.prototype.toString; - -/** - * Get the native `typeof` a value. - * - * @param {*} `val` - * @return {*} Native javascript type - */ - -module.exports = function kindOf(val) { - // primitivies - if (typeof val === 'undefined') { - return 'undefined'; - } - if (val === null) { - return 'null'; - } - if (val === true || val === false || val instanceof Boolean) { - return 'boolean'; - } - if (typeof val === 'string' || val instanceof String) { - return 'string'; - } - if (typeof val === 'number' || val instanceof Number) { - return 'number'; - } - - // functions - if (typeof val === 'function' || val instanceof Function) { - return 'function'; - } - - // array - if (typeof Array.isArray !== 'undefined' && Array.isArray(val)) { - return 'array'; - } - - // check for instances of RegExp and Date before calling `toString` - if (val instanceof RegExp) { - return 'regexp'; - } - if (val instanceof Date) { - return 'date'; - } - - // other objects - var type = toString.call(val); - - if (type === '[object RegExp]') { - return 'regexp'; - } - if (type === '[object Date]') { - return 'date'; - } - if (type === '[object Arguments]') { - return 'arguments'; - } - if (type === '[object Error]') { - return 'error'; - } - - // buffer - if (isBuffer(val)) { - return 'buffer'; - } - - // es6: Map, WeakMap, Set, WeakSet - if (type === '[object Set]') { - return 'set'; - } - if (type === '[object WeakSet]') { - return 'weakset'; - } - if (type === '[object Map]') { - return 'map'; - } - if (type === '[object WeakMap]') { - return 'weakmap'; - } - if (type === '[object Symbol]') { - return 'symbol'; - } - - // typed arrays - if (type === '[object Int8Array]') { - return 'int8array'; - } - if (type === '[object Uint8Array]') { - return 'uint8array'; - } - if (type === '[object Uint8ClampedArray]') { - return 'uint8clampedarray'; - } - if (type === '[object Int16Array]') { - return 'int16array'; - } - if (type === '[object Uint16Array]') { - return 'uint16array'; - } - if (type === '[object Int32Array]') { - return 'int32array'; - } - if (type === '[object Uint32Array]') { - return 'uint32array'; - } - if (type === '[object Float32Array]') { - return 'float32array'; - } - if (type === '[object Float64Array]') { - return 'float64array'; - } - - // must be a plain object - return 'object'; -}; diff --git a/publi/node_modules/to-object-path/node_modules/kind-of/package.json b/publi/node_modules/to-object-path/node_modules/kind-of/package.json deleted file mode 100644 index 485cdcf..0000000 --- a/publi/node_modules/to-object-path/node_modules/kind-of/package.json +++ /dev/null @@ -1,139 +0,0 @@ -{ - "_from": "kind-of@^3.0.2", - "_id": "kind-of@3.2.2", - "_inBundle": false, - "_integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "_location": "/to-object-path/kind-of", - "_phantomChildren": {}, - "_requested": { - "type": "range", - "registry": true, - "raw": "kind-of@^3.0.2", - "name": "kind-of", - "escapedName": "kind-of", - "rawSpec": "^3.0.2", - "saveSpec": null, - "fetchSpec": "^3.0.2" - }, - "_requiredBy": [ - "/to-object-path" - ], - "_resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "_shasum": "31ea21a734bab9bbb0f32466d893aea51e4a3c64", - "_spec": "kind-of@^3.0.2", - "_where": "/mnt/Data/bach/Documents/ola/OLA#5/ola5doc/publi/node_modules/to-object-path", - "author": { - "name": "Jon Schlinkert", - "url": "https://github.com/jonschlinkert" - }, - "bugs": { - "url": "https://github.com/jonschlinkert/kind-of/issues" - }, - "bundleDependencies": false, - "contributors": [ - { - "name": "David Fox-Powell", - "url": "https://dtothefp.github.io/me" - }, - { - "name": "Jon Schlinkert", - "url": "http://twitter.com/jonschlinkert" - }, - { - "name": "Ken Sheedlo", - "url": "kensheedlo.com" - }, - { - "name": "laggingreflex", - "url": "https://github.com/laggingreflex" - }, - { - "name": "Miguel Mota", - "url": "https://miguelmota.com" - }, - { - "name": "Peter deHaan", - "url": "http://about.me/peterdehaan" - } - ], - "dependencies": { - "is-buffer": "^1.1.5" - }, - "deprecated": false, - "description": "Get the native type of a value.", - "devDependencies": { - "ansi-bold": "^0.1.1", - "benchmarked": "^1.0.0", - "browserify": "^14.3.0", - "glob": "^7.1.1", - "gulp-format-md": "^0.1.12", - "mocha": "^3.3.0", - "type-of": "^2.0.1", - "typeof": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - }, - "files": [ - "index.js" - ], - "homepage": "https://github.com/jonschlinkert/kind-of", - "keywords": [ - "arguments", - "array", - "boolean", - "check", - "date", - "function", - "is", - "is-type", - "is-type-of", - "kind", - "kind-of", - "number", - "object", - "of", - "regexp", - "string", - "test", - "type", - "type-of", - "typeof", - "types" - ], - "license": "MIT", - "main": "index.js", - "name": "kind-of", - "repository": { - "type": "git", - "url": "git+https://github.com/jonschlinkert/kind-of.git" - }, - "scripts": { - "prepublish": "browserify -o browser.js -e index.js -s index --bare", - "test": "mocha" - }, - "verb": { - "related": { - "list": [ - "is-glob", - "is-number", - "is-primitive" - ] - }, - "toc": false, - "layout": "default", - "tasks": [ - "readme" - ], - "plugins": [ - "gulp-format-md" - ], - "lint": { - "reflinks": true - }, - "reflinks": [ - "verb" - ] - }, - "version": "3.2.2" -} diff --git a/publi/node_modules/to-object-path/package.json b/publi/node_modules/to-object-path/package.json deleted file mode 100644 index 18d7308..0000000 --- a/publi/node_modules/to-object-path/package.json +++ /dev/null @@ -1,83 +0,0 @@ -{ - "_from": "to-object-path@^0.3.0", - "_id": "to-object-path@0.3.0", - "_inBundle": false, - "_integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", - "_location": "/to-object-path", - "_phantomChildren": { - "is-buffer": "1.1.6" - }, - "_requested": { - "type": "range", - "registry": true, - "raw": "to-object-path@^0.3.0", - "name": "to-object-path", - "escapedName": "to-object-path", - "rawSpec": "^0.3.0", - "saveSpec": null, - "fetchSpec": "^0.3.0" - }, - "_requiredBy": [ - "/cache-base", - "/set-getter", - "/union-value/set-value" - ], - "_resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", - "_shasum": "297588b7b0e7e0ac08e04e672f85c1f4999e17af", - "_spec": "to-object-path@^0.3.0", - "_where": "/mnt/Data/bach/Documents/ola/OLA#5/ola5doc/publi/node_modules/cache-base", - "author": { - "name": "Jon Schlinkert", - "url": "https://github.com/jonschlinkert" - }, - "bugs": { - "url": "https://github.com/jonschlinkert/to-object-path/issues" - }, - "bundleDependencies": false, - "dependencies": { - "kind-of": "^3.0.2" - }, - "deprecated": false, - "description": "Create an object path from a list or array of strings.", - "devDependencies": { - "base": "^0.6.7", - "mocha": "*" - }, - "engines": { - "node": ">=0.10.0" - }, - "files": [ - "index.js" - ], - "homepage": "https://github.com/jonschlinkert/to-object-path", - "keywords": [ - "dot", - "nested", - "notation", - "object", - "path", - "stringify" - ], - "license": "MIT", - "main": "index.js", - "name": "to-object-path", - "repository": { - "type": "git", - "url": "git+https://github.com/jonschlinkert/to-object-path.git" - }, - "scripts": { - "test": "mocha" - }, - "verb": { - "related": { - "list": [ - "get-value", - "set-value", - "has-value", - "omit-value", - "unset-value" - ] - } - }, - "version": "0.3.0" -} diff --git a/publi/node_modules/to-regex-range/LICENSE b/publi/node_modules/to-regex-range/LICENSE deleted file mode 100644 index 83b56e7..0000000 --- a/publi/node_modules/to-regex-range/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2015-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. diff --git a/publi/node_modules/to-regex-range/README.md b/publi/node_modules/to-regex-range/README.md deleted file mode 100644 index 2763c5a..0000000 --- a/publi/node_modules/to-regex-range/README.md +++ /dev/null @@ -1,281 +0,0 @@ -# to-regex-range [![NPM version](https://img.shields.io/npm/v/to-regex-range.svg?style=flat)](https://www.npmjs.com/package/to-regex-range) [![NPM monthly downloads](https://img.shields.io/npm/dm/to-regex-range.svg?style=flat)](https://npmjs.org/package/to-regex-range) [![NPM total downloads](https://img.shields.io/npm/dt/to-regex-range.svg?style=flat)](https://npmjs.org/package/to-regex-range) [![Linux Build Status](https://img.shields.io/travis/micromatch/to-regex-range.svg?style=flat&label=Travis)](https://travis-ci.org/micromatch/to-regex-range) - -> Pass two numbers, get a regex-compatible source string for matching ranges. Validated against more than 2.78 million test assertions. - -## Install - -Install with [npm](https://www.npmjs.com/): - -```sh -$ npm install --save to-regex-range -``` - -Install with [yarn](https://yarnpkg.com): - -```sh -$ yarn add to-regex-range -``` - -
-What does this do? - -
- -This libary generates the `source` string to be passed to `new RegExp()` for matching a range of numbers. - -**Example** - -```js -var toRegexRange = require('to-regex-range'); -var regex = new RegExp(toRegexRange('15', '95')); -``` - -A string is returned so that you can do whatever you need with it before passing it to `new RegExp()` (like adding `^` or `$` boundaries, defining flags, or combining it another string). - -
- -
- -
-Why use this library? - -
- -### Convenience - -Creating regular expressions for matching numbers gets deceptively complicated pretty fast. - -For example, let's say you need a validation regex for matching part of a user-id, postal code, social security number, tax id, etc: - -* regex for matching `1` => `/1/` (easy enough) -* regex for matching `1` through `5` => `/[1-5]/` (not bad...) -* regex for matching `1` or `5` => `/(1|5)/` (still easy...) -* regex for matching `1` through `50` => `/([1-9]|[1-4][0-9]|50)/` (uh-oh...) -* regex for matching `1` through `55` => `/([1-9]|[1-4][0-9]|5[0-5])/` (no prob, I can do this...) -* regex for matching `1` through `555` => `/([1-9]|[1-9][0-9]|[1-4][0-9]{2}|5[0-4][0-9]|55[0-5])/` (maybe not...) -* regex for matching `0001` through `5555` => `/(0{3}[1-9]|0{2}[1-9][0-9]|0[1-9][0-9]{2}|[1-4][0-9]{3}|5[0-4][0-9]{2}|55[0-4][0-9]|555[0-5])/` (okay, I get the point!) - -The numbers are contrived, but they're also really basic. In the real world you might need to generate a regex on-the-fly for validation. - -**Learn more** - -If you're interested in learning more about [character classes](http://www.regular-expressions.info/charclass.html) and other regex features, I personally have always found [regular-expressions.info](http://www.regular-expressions.info/charclass.html) to be pretty useful. - -### Heavily tested - -As of April 27, 2017, this library runs [2,783,483 test assertions](./test/test.js) against generated regex-ranges to provide brute-force verification that results are indeed correct. - -Tests run in ~870ms on my MacBook Pro, 2.5 GHz Intel Core i7. - -### Highly optimized - -Generated regular expressions are highly optimized: - -* duplicate sequences and character classes are reduced using quantifiers -* smart enough to use `?` conditionals when number(s) or range(s) can be positive or negative -* uses fragment caching to avoid processing the same exact string more than once - -
- -
- -## Usage - -Add this library to your javascript application with the following line of code - -```js -var toRegexRange = require('to-regex-range'); -``` - -The main export is a function that takes two integers: the `min` value and `max` value (formatted as strings or numbers). - -```js -var source = toRegexRange('15', '95'); -//=> 1[5-9]|[2-8][0-9]|9[0-5] - -var re = new RegExp('^' + source + '$'); -console.log(re.test('14')); //=> false -console.log(re.test('50')); //=> true -console.log(re.test('94')); //=> true -console.log(re.test('96')); //=> false -``` - -## Options - -### options.capture - -**Type**: `boolean` - -**Deafault**: `undefined` - -Wrap the returned value in parentheses when there is more than one regex condition. Useful when you're dynamically generating ranges. - -```js -console.log(toRegexRange('-10', '10')); -//=> -[1-9]|-?10|[0-9] - -console.log(toRegexRange('-10', '10', {capture: true})); -//=> (-[1-9]|-?10|[0-9]) -``` - -### options.shorthand - -**Type**: `boolean` - -**Deafault**: `undefined` - -Use the regex shorthand for `[0-9]`: - -```js -console.log(toRegexRange('0', '999999')); -//=> [0-9]|[1-9][0-9]{1,5} - -console.log(toRegexRange('0', '999999', {shorthand: true})); -//=> \d|[1-9]\d{1,5} -``` - -### options.relaxZeros - -**Type**: `boolean` - -**Default**: `true` - -This option only applies to **negative zero-padded ranges**. By default, when a negative zero-padded range is defined, the number of leading zeros is relaxed using `-0*`. - -```js -console.log(toRegexRange('-001', '100')); -//=> -0*1|0{2}[0-9]|0[1-9][0-9]|100 - -console.log(toRegexRange('-001', '100', {relaxZeros: false})); -//=> -0{2}1|0{2}[0-9]|0[1-9][0-9]|100 -``` - -
-Why are zeros relaxed for negative zero-padded ranges by default? - -Consider the following. - -```js -var regex = toRegexRange('-001', '100'); -``` - -_Note that `-001` and `100` are both three digits long_. - -In most zero-padding implementations, only a single leading zero is enough to indicate that zero-padding should be applied. Thus, the leading zeros would be "corrected" on the negative range in the example to `-01`, instead of `-001`, to make total length of each string no greater than the length of the largest number in the range (in other words, `-001` is 4 digits, but `100` is only three digits). - -If zeros were not relaxed by default, you might expect the resulting regex of the above pattern to match `-001` - given that it's defined that way in the arguments - _but it wouldn't_. It would, however, match `-01`. This gets even more ambiguous with large ranges, like `-01` to `1000000`. - -Thus, we relax zeros by default to provide a more predictable experience for users. - -
- -## Examples - -| **Range** | **Result** | **Compile time** | -| --- | --- | --- | -| `toRegexRange('5, 5')` | `5` | _33μs_ | -| `toRegexRange('5, 6')` | `5\|6` | _53μs_ | -| `toRegexRange('29, 51')` | `29\|[34][0-9]\|5[01]` | _699μs_ | -| `toRegexRange('31, 877')` | `3[1-9]\|[4-9][0-9]\|[1-7][0-9]{2}\|8[0-6][0-9]\|87[0-7]` | _711μs_ | -| `toRegexRange('111, 555')` | `11[1-9]\|1[2-9][0-9]\|[2-4][0-9]{2}\|5[0-4][0-9]\|55[0-5]` | _62μs_ | -| `toRegexRange('-10, 10')` | `-[1-9]\|-?10\|[0-9]` | _74μs_ | -| `toRegexRange('-100, -10')` | `-1[0-9]\|-[2-9][0-9]\|-100` | _49μs_ | -| `toRegexRange('-100, 100')` | `-[1-9]\|-?[1-9][0-9]\|-?100\|[0-9]` | _45μs_ | -| `toRegexRange('001, 100')` | `0{2}[1-9]\|0[1-9][0-9]\|100` | _158μs_ | -| `toRegexRange('0010, 1000')` | `0{2}1[0-9]\|0{2}[2-9][0-9]\|0[1-9][0-9]{2}\|1000` | _61μs_ | -| `toRegexRange('1, 2')` | `1\|2` | _10μs_ | -| `toRegexRange('1, 5')` | `[1-5]` | _24μs_ | -| `toRegexRange('1, 10')` | `[1-9]\|10` | _23μs_ | -| `toRegexRange('1, 100')` | `[1-9]\|[1-9][0-9]\|100` | _30μs_ | -| `toRegexRange('1, 1000')` | `[1-9]\|[1-9][0-9]{1,2}\|1000` | _52μs_ | -| `toRegexRange('1, 10000')` | `[1-9]\|[1-9][0-9]{1,3}\|10000` | _47μs_ | -| `toRegexRange('1, 100000')` | `[1-9]\|[1-9][0-9]{1,4}\|100000` | _44μs_ | -| `toRegexRange('1, 1000000')` | `[1-9]\|[1-9][0-9]{1,5}\|1000000` | _49μs_ | -| `toRegexRange('1, 10000000')` | `[1-9]\|[1-9][0-9]{1,6}\|10000000` | _63μs_ | - -## Heads up! - -**Order of arguments** - -When the `min` is larger than the `max`, values will be flipped to create a valid range: - -```js -toRegexRange('51', '29'); -``` - -Is effectively flipped to: - -```js -toRegexRange('29', '51'); -//=> 29|[3-4][0-9]|5[0-1] -``` - -**Steps / increments** - -This library does not support steps (increments). A pr to add support would be welcome. - -## History - -### v2.0.0 - 2017-04-21 - -**New features** - -Adds support for zero-padding! - -### v1.0.0 - -**Optimizations** - -Repeating ranges are now grouped using quantifiers. rocessing time is roughly the same, but the generated regex is much smaller, which should result in faster matching. - -## Attribution - -Inspired by the python library [range-regex](https://github.com/dimka665/range-regex). - -## About - -### Related projects - -* [expand-range](https://www.npmjs.com/package/expand-range): Fast, bash-like range expansion. Expand a range of numbers or letters, uppercase or lowercase. See… [more](https://github.com/jonschlinkert/expand-range) | [homepage](https://github.com/jonschlinkert/expand-range "Fast, bash-like range expansion. Expand a range of numbers or letters, uppercase or lowercase. See the benchmarks. Used by micromatch.") -* [fill-range](https://www.npmjs.com/package/fill-range): Fill in a range of numbers or letters, optionally passing an increment or `step` to… [more](https://github.com/jonschlinkert/fill-range) | [homepage](https://github.com/jonschlinkert/fill-range "Fill in a range of numbers or letters, optionally passing an increment or `step` to use, or create a regex-compatible range with `options.toRegex`") -* [micromatch](https://www.npmjs.com/package/micromatch): Glob matching for javascript/node.js. A drop-in replacement and faster alternative to minimatch and multimatch. | [homepage](https://github.com/jonschlinkert/micromatch "Glob matching for javascript/node.js. A drop-in replacement and faster alternative to minimatch and multimatch.") -* [repeat-element](https://www.npmjs.com/package/repeat-element): Create an array by repeating the given value n times. | [homepage](https://github.com/jonschlinkert/repeat-element "Create an array by repeating the given value n times.") -* [repeat-string](https://www.npmjs.com/package/repeat-string): Repeat the given string n times. Fastest implementation for repeating a string. | [homepage](https://github.com/jonschlinkert/repeat-string "Repeat the given string n times. Fastest implementation for repeating a string.") - -### Contributing - -Pull requests and stars are always welcome. For bugs and feature requests, [please create an issue](../../issues/new). - -### Building docs - -_(This project's readme.md is generated by [verb](https://github.com/verbose/verb-generate-readme), please don't edit the readme directly. Any changes to the readme must be made in the [.verb.md](.verb.md) readme template.)_ - -To generate the readme, run the following command: - -```sh -$ npm install -g verbose/verb#dev verb-generate-readme && verb -``` - -### Running tests - -Running and reviewing unit tests is a great way to get familiarized with a library and its API. You can install dependencies and run tests with the following command: - -```sh -$ npm install && npm test -``` - -### Author - -**Jon Schlinkert** - -* [github/jonschlinkert](https://github.com/jonschlinkert) -* [twitter/jonschlinkert](https://twitter.com/jonschlinkert) - -### License - -Copyright © 2017, [Jon Schlinkert](https://github.com/jonschlinkert). -Released under the [MIT License](LICENSE). - -*** - -_This file was generated by [verb-generate-readme](https://github.com/verbose/verb-generate-readme), v0.6.0, on April 27, 2017._ \ No newline at end of file diff --git a/publi/node_modules/to-regex-range/index.js b/publi/node_modules/to-regex-range/index.js deleted file mode 100644 index 7bb5a74..0000000 --- a/publi/node_modules/to-regex-range/index.js +++ /dev/null @@ -1,294 +0,0 @@ -/*! - * to-regex-range - * - * Copyright (c) 2015, 2017, Jon Schlinkert. - * Released under the MIT License. - */ - -'use strict'; - -var repeat = require('repeat-string'); -var isNumber = require('is-number'); -var cache = {}; - -function toRegexRange(min, max, options) { - if (isNumber(min) === false) { - throw new RangeError('toRegexRange: first argument is invalid.'); - } - - if (typeof max === 'undefined' || min === max) { - return String(min); - } - - if (isNumber(max) === false) { - throw new RangeError('toRegexRange: second argument is invalid.'); - } - - options = options || {}; - var relax = String(options.relaxZeros); - var shorthand = String(options.shorthand); - var capture = String(options.capture); - var key = min + ':' + max + '=' + relax + shorthand + capture; - if (cache.hasOwnProperty(key)) { - return cache[key].result; - } - - var a = Math.min(min, max); - var b = Math.max(min, max); - - if (Math.abs(a - b) === 1) { - var result = min + '|' + max; - if (options.capture) { - return '(' + result + ')'; - } - return result; - } - - var isPadded = padding(min) || padding(max); - var positives = []; - var negatives = []; - - var tok = {min: min, max: max, a: a, b: b}; - if (isPadded) { - tok.isPadded = isPadded; - tok.maxLen = String(tok.max).length; - } - - if (a < 0) { - var newMin = b < 0 ? Math.abs(b) : 1; - var newMax = Math.abs(a); - negatives = splitToPatterns(newMin, newMax, tok, options); - a = tok.a = 0; - } - - if (b >= 0) { - positives = splitToPatterns(a, b, tok, options); - } - - tok.negatives = negatives; - tok.positives = positives; - tok.result = siftPatterns(negatives, positives, options); - - if (options.capture && (positives.length + negatives.length) > 1) { - tok.result = '(' + tok.result + ')'; - } - - cache[key] = tok; - return tok.result; -} - -function siftPatterns(neg, pos, options) { - var onlyNegative = filterPatterns(neg, pos, '-', false, options) || []; - var onlyPositive = filterPatterns(pos, neg, '', false, options) || []; - var intersected = filterPatterns(neg, pos, '-?', true, options) || []; - var subpatterns = onlyNegative.concat(intersected).concat(onlyPositive); - return subpatterns.join('|'); -} - -function splitToRanges(min, max) { - min = Number(min); - max = Number(max); - - var nines = 1; - var stops = [max]; - var stop = +countNines(min, nines); - - while (min <= stop && stop <= max) { - stops = push(stops, stop); - nines += 1; - stop = +countNines(min, nines); - } - - var zeros = 1; - stop = countZeros(max + 1, zeros) - 1; - - while (min < stop && stop <= max) { - stops = push(stops, stop); - zeros += 1; - stop = countZeros(max + 1, zeros) - 1; - } - - stops.sort(compare); - return stops; -} - -/** - * Convert a range to a regex pattern - * @param {Number} `start` - * @param {Number} `stop` - * @return {String} - */ - -function rangeToPattern(start, stop, options) { - if (start === stop) { - return {pattern: String(start), digits: []}; - } - - var zipped = zip(String(start), String(stop)); - var len = zipped.length, i = -1; - - var pattern = ''; - var digits = 0; - - while (++i < len) { - var numbers = zipped[i]; - var startDigit = numbers[0]; - var stopDigit = numbers[1]; - - if (startDigit === stopDigit) { - pattern += startDigit; - - } else if (startDigit !== '0' || stopDigit !== '9') { - pattern += toCharacterClass(startDigit, stopDigit); - - } else { - digits += 1; - } - } - - if (digits) { - pattern += options.shorthand ? '\\d' : '[0-9]'; - } - - return { pattern: pattern, digits: [digits] }; -} - -function splitToPatterns(min, max, tok, options) { - var ranges = splitToRanges(min, max); - var len = ranges.length; - var idx = -1; - - var tokens = []; - var start = min; - var prev; - - while (++idx < len) { - var range = ranges[idx]; - var obj = rangeToPattern(start, range, options); - var zeros = ''; - - if (!tok.isPadded && prev && prev.pattern === obj.pattern) { - if (prev.digits.length > 1) { - prev.digits.pop(); - } - prev.digits.push(obj.digits[0]); - prev.string = prev.pattern + toQuantifier(prev.digits); - start = range + 1; - continue; - } - - if (tok.isPadded) { - zeros = padZeros(range, tok); - } - - obj.string = zeros + obj.pattern + toQuantifier(obj.digits); - tokens.push(obj); - start = range + 1; - prev = obj; - } - - return tokens; -} - -function filterPatterns(arr, comparison, prefix, intersection, options) { - var res = []; - - for (var i = 0; i < arr.length; i++) { - var tok = arr[i]; - var ele = tok.string; - - if (options.relaxZeros !== false) { - if (prefix === '-' && ele.charAt(0) === '0') { - if (ele.charAt(1) === '{') { - ele = '0*' + ele.replace(/^0\{\d+\}/, ''); - } else { - ele = '0*' + ele.slice(1); - } - } - } - - if (!intersection && !contains(comparison, 'string', ele)) { - res.push(prefix + ele); - } - - if (intersection && contains(comparison, 'string', ele)) { - res.push(prefix + ele); - } - } - return res; -} - -/** - * Zip strings (`for in` can be used on string characters) - */ - -function zip(a, b) { - var arr = []; - for (var ch in a) arr.push([a[ch], b[ch]]); - return arr; -} - -function compare(a, b) { - return a > b ? 1 : b > a ? -1 : 0; -} - -function push(arr, ele) { - if (arr.indexOf(ele) === -1) arr.push(ele); - return arr; -} - -function contains(arr, key, val) { - for (var i = 0; i < arr.length; i++) { - if (arr[i][key] === val) { - return true; - } - } - return false; -} - -function countNines(min, len) { - return String(min).slice(0, -len) + repeat('9', len); -} - -function countZeros(integer, zeros) { - return integer - (integer % Math.pow(10, zeros)); -} - -function toQuantifier(digits) { - var start = digits[0]; - var stop = digits[1] ? (',' + digits[1]) : ''; - if (!stop && (!start || start === 1)) { - return ''; - } - return '{' + start + stop + '}'; -} - -function toCharacterClass(a, b) { - return '[' + a + ((b - a === 1) ? '' : '-') + b + ']'; -} - -function padding(str) { - return /^-?(0+)\d/.exec(str); -} - -function padZeros(val, tok) { - if (tok.isPadded) { - var diff = Math.abs(tok.maxLen - String(val).length); - switch (diff) { - case 0: - return ''; - case 1: - return '0'; - default: { - return '0{' + diff + '}'; - } - } - } - return val; -} - -/** - * Expose `toRegexRange` - */ - -module.exports = toRegexRange; diff --git a/publi/node_modules/to-regex-range/package.json b/publi/node_modules/to-regex-range/package.json deleted file mode 100644 index e81a6a2..0000000 --- a/publi/node_modules/to-regex-range/package.json +++ /dev/null @@ -1,117 +0,0 @@ -{ - "_from": "to-regex-range@^2.1.0", - "_id": "to-regex-range@2.1.1", - "_inBundle": false, - "_integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", - "_location": "/to-regex-range", - "_phantomChildren": {}, - "_requested": { - "type": "range", - "registry": true, - "raw": "to-regex-range@^2.1.0", - "name": "to-regex-range", - "escapedName": "to-regex-range", - "rawSpec": "^2.1.0", - "saveSpec": null, - "fetchSpec": "^2.1.0" - }, - "_requiredBy": [ - "/fill-range" - ], - "_resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "_shasum": "7c80c17b9dfebe599e27367e0d4dd5590141db38", - "_spec": "to-regex-range@^2.1.0", - "_where": "/mnt/Data/bach/Documents/ola/OLA#5/ola5doc/publi/node_modules/fill-range", - "author": { - "name": "Jon Schlinkert", - "url": "https://github.com/jonschlinkert" - }, - "bugs": { - "url": "https://github.com/micromatch/to-regex-range/issues" - }, - "bundleDependencies": false, - "dependencies": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - }, - "deprecated": false, - "description": "Pass two numbers, get a regex-compatible source string for matching ranges. Validated against more than 2.78 million test assertions.", - "devDependencies": { - "fill-range": "^3.1.1", - "gulp-format-md": "^0.1.12", - "mocha": "^3.2.0", - "text-table": "^0.2.0", - "time-diff": "^0.3.1" - }, - "engines": { - "node": ">=0.10.0" - }, - "files": [ - "index.js" - ], - "homepage": "https://github.com/micromatch/to-regex-range", - "keywords": [ - "alpha", - "alphabetical", - "bash", - "brace", - "date", - "expand", - "expansion", - "glob", - "match", - "matches", - "matching", - "number", - "numerical", - "range", - "ranges", - "regex", - "sequence", - "sh", - "to", - "year" - ], - "license": "MIT", - "main": "index.js", - "name": "to-regex-range", - "repository": { - "type": "git", - "url": "git+https://github.com/micromatch/to-regex-range.git" - }, - "scripts": { - "test": "mocha" - }, - "verb": { - "related": { - "list": [ - "expand-range", - "fill-range", - "micromatch", - "repeat-element", - "repeat-string" - ] - }, - "toc": false, - "layout": "default", - "tasks": [ - "readme" - ], - "plugins": [ - "gulp-format-md" - ], - "lint": { - "reflinks": true - }, - "helpers": [ - "./examples.js" - ], - "reflinks": [ - "0-5", - "0-9", - "1-5", - "1-9" - ] - }, - "version": "2.1.1" -} diff --git a/publi/node_modules/to-regex/LICENSE b/publi/node_modules/to-regex/LICENSE deleted file mode 100644 index 66ae69c..0000000 --- a/publi/node_modules/to-regex/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 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. diff --git a/publi/node_modules/to-regex/README.md b/publi/node_modules/to-regex/README.md deleted file mode 100644 index decc6f8..0000000 --- a/publi/node_modules/to-regex/README.md +++ /dev/null @@ -1,177 +0,0 @@ -# to-regex [![NPM version](https://img.shields.io/npm/v/to-regex.svg?style=flat)](https://www.npmjs.com/package/to-regex) [![NPM downloads](https://img.shields.io/npm/dm/to-regex.svg?style=flat)](https://npmjs.org/package/to-regex) [![Build Status](https://img.shields.io/travis/jonschlinkert/to-regex.svg?style=flat)](https://travis-ci.org/jonschlinkert/to-regex) - -> Generate a regex from a string or array of strings. - -## Table of Contents - -- [Install](#install) -- [Usage](#usage) -- [Options](#options) - * [options.contains](#optionscontains) - * [options.negate](#optionsnegate) - * [options.nocase](#optionsnocase) - * [options.flags](#optionsflags) - * [options.cache](#optionscache) -- [About](#about) - * [Related projects](#related-projects) - * [Contributing](#contributing) - * [Building docs](#building-docs) - * [Running tests](#running-tests) - * [Author](#author) - * [License](#license) - -_(TOC generated by [verb](https://github.com/verbose/verb) using [markdown-toc](https://github.com/jonschlinkert/markdown-toc))_ - -## Install - -Install with [npm](https://www.npmjs.com/): - -```sh -$ npm install --save to-regex -``` - -## Usage - -```js -var toRegex = require('to-regex'); - -console.log(toRegex('foo')); -//=> /^(?:foo)$/ - -console.log(toRegex('foo', {negate: true})); -//=> /^(?:(?:(?!^(?:foo)$).)*)$/ - -console.log(toRegex('foo', {contains: true})); -//=> /(?:foo)/ - -console.log(toRegex(['foo', 'bar'], {negate: true})); -//=> /^(?:(?:(?!^(?:(?:foo)|(?:bar))$).)*)$/ - -console.log(toRegex(['foo', 'bar'], {negate: true, contains: true})); -//=> /^(?:(?:(?!(?:(?:foo)|(?:bar))).)*)$/ -``` - -## Options - -### options.contains - -**Type**: `Boolean` - -**Default**: `undefined` - -Generate a regex that will match any string that _contains_ the given pattern. By default, regex is strict will only return true for exact matches. - -```js -var toRegex = require('to-regex'); -console.log(toRegex('foo', {contains: true})); -//=> /(?:foo)/ -``` - -### options.negate - -**Type**: `Boolean` - -**Default**: `undefined` - -Create a regex that will match everything except the given pattern. - -```js -var toRegex = require('to-regex'); -console.log(toRegex('foo', {negate: true})); -//=> /^(?:(?:(?!^(?:foo)$).)*)$/ -``` - -### options.nocase - -**Type**: `Boolean` - -**Default**: `undefined` - -Adds the `i` flag, to enable case-insensitive matching. - -```js -var toRegex = require('to-regex'); -console.log(toRegex('foo', {nocase: true})); -//=> /^(?:foo)$/i -``` - -Alternatively you can pass the flags you want directly on [options.flags](#options.flags). - -### options.flags - -**Type**: `String` - -**Default**: `undefined` - -Define the flags you want to use on the generated regex. - -```js -var toRegex = require('to-regex'); -console.log(toRegex('foo', {flags: 'gm'})); -//=> /^(?:foo)$/gm -console.log(toRegex('foo', {flags: 'gmi', nocase: true})); //<= handles redundancy -//=> /^(?:foo)$/gmi -``` - -### options.cache - -**Type**: `Boolean` - -**Default**: `true` - -Generated regex is cached based on the provided string and options. As a result, runtime compilation only happens once per pattern (as long as options are also the same), which can result in dramatic speed improvements. - -This also helps with debugging, since adding options and pattern are added to the generated regex. - -**Disable caching** - -```js -toRegex('foo', {cache: false}); -``` - -## About - -### Related projects - -* [has-glob](https://www.npmjs.com/package/has-glob): Returns `true` if an array has a glob pattern. | [homepage](https://github.com/jonschlinkert/has-glob "Returns `true` if an array has a glob pattern.") -* [is-glob](https://www.npmjs.com/package/is-glob): Returns `true` if the given string looks like a glob pattern or an extglob pattern… [more](https://github.com/jonschlinkert/is-glob) | [homepage](https://github.com/jonschlinkert/is-glob "Returns `true` if the given string looks like a glob pattern or an extglob pattern. This makes it easy to create code that only uses external modules like node-glob when necessary, resulting in much faster code execution and initialization time, and a bet") -* [path-regex](https://www.npmjs.com/package/path-regex): Regular expression for matching the parts of a file path. | [homepage](https://github.com/regexps/path-regex "Regular expression for matching the parts of a file path.") -* [to-regex-range](https://www.npmjs.com/package/to-regex-range): Returns a regex-compatible range from two numbers, min and max, with 855,412 generated unit tests… [more](https://github.com/jonschlinkert/to-regex-range) | [homepage](https://github.com/jonschlinkert/to-regex-range "Returns a regex-compatible range from two numbers, min and max, with 855,412 generated unit tests to validate it's accuracy! Useful for creating regular expressions to validate numbers, ranges, years, etc. Returns a string, allowing the returned value to ") - -### Contributing - -Pull requests and stars are always welcome. For bugs and feature requests, [please create an issue](../../issues/new). - -### Building docs - -_(This document was generated by [verb-generate-readme](https://github.com/verbose/verb-generate-readme) (a [verb](https://github.com/verbose/verb) generator), please don't edit the readme directly. Any changes to the readme must be made in [.verb.md](.verb.md).)_ - -To generate the readme and API documentation with [verb](https://github.com/verbose/verb): - -```sh -$ npm install -g verb verb-generate-readme && verb -``` - -### Running tests - -Install dev dependencies: - -```sh -$ npm install -d && npm test -``` - -### Author - -**Jon Schlinkert** - -* [github/jonschlinkert](https://github.com/jonschlinkert) -* [twitter/jonschlinkert](http://twitter.com/jonschlinkert) - -### License - -Copyright © 2016, [Jon Schlinkert](https://github.com/jonschlinkert). -Released under the [MIT license](https://github.com/jonschlinkert/to-regex/blob/master/LICENSE). - -*** - -_This file was generated by [verb-generate-readme](https://github.com/verbose/verb-generate-readme), v0.1.31, on October 16, 2016._ \ No newline at end of file diff --git a/publi/node_modules/to-regex/index.js b/publi/node_modules/to-regex/index.js deleted file mode 100644 index 9c93def..0000000 --- a/publi/node_modules/to-regex/index.js +++ /dev/null @@ -1,148 +0,0 @@ -'use strict'; - -var define = require('define-property'); -var extend = require('extend-shallow'); -var not = require('regex-not'); -var MAX_LENGTH = 1024 * 64; - -/** - * Session cache - */ - -var cache = {}; - -/** - * Create a regular expression from the given `pattern` string. - * - * @param {String|RegExp} `pattern` Pattern can be a string or regular expression. - * @param {Object} `options` - * @return {RegExp} - * @api public - */ - -module.exports = function(patterns, options) { - if (!Array.isArray(patterns)) { - return makeRe(patterns, options); - } - return makeRe(patterns.join('|'), options); -}; - -/** - * Create a regular expression from the given `pattern` string. - * - * @param {String|RegExp} `pattern` Pattern can be a string or regular expression. - * @param {Object} `options` - * @return {RegExp} - * @api public - */ - -function makeRe(pattern, options) { - if (pattern instanceof RegExp) { - return pattern; - } - - if (typeof pattern !== 'string') { - throw new TypeError('expected a string'); - } - - if (pattern.length > MAX_LENGTH) { - throw new Error('expected pattern to be less than ' + MAX_LENGTH + ' characters'); - } - - var key = pattern; - // do this before shallow cloning options, it's a lot faster - if (!options || (options && options.cache !== false)) { - key = createKey(pattern, options); - - if (cache.hasOwnProperty(key)) { - return cache[key]; - } - } - - var opts = extend({}, options); - if (opts.contains === true) { - if (opts.negate === true) { - opts.strictNegate = false; - } else { - opts.strict = false; - } - } - - if (opts.strict === false) { - opts.strictOpen = false; - opts.strictClose = false; - } - - var open = opts.strictOpen !== false ? '^' : ''; - var close = opts.strictClose !== false ? '$' : ''; - var flags = opts.flags || ''; - var regex; - - if (opts.nocase === true && !/i/.test(flags)) { - flags += 'i'; - } - - try { - if (opts.negate || typeof opts.strictNegate === 'boolean') { - pattern = not.create(pattern, opts); - } - var str = open + '(?:' + pattern + ')' + close; - regex = new RegExp(str, flags); - } catch (err) { - if (opts.strictErrors === true) { - err.key = key; - err.pattern = pattern; - err.originalOptions = options; - err.createdOptions = opts; - throw err; - } - - try { - regex = new RegExp('^' + pattern.replace(/(\W)/g, '\\$1') + '$'); - } catch (err) { - regex = /.^/; //<= match nothing - } - } - - if (opts.cache !== false) { - cacheRegex(regex, key, pattern, opts); - } - return regex; -} - -/** - * Cache generated regex. This can result in dramatic speed improvements - * and simplify debugging by adding options and pattern to the regex. It can be - * disabled by passing setting `options.cache` to false. - */ - -function cacheRegex(regex, key, pattern, options) { - define(regex, 'cached', true); - define(regex, 'pattern', pattern); - define(regex, 'options', options); - define(regex, 'key', key); - cache[key] = regex; -} - -/** - * Create the key to use for memoization. The key is generated - * by iterating over the options and concatenating key-value pairs - * to the pattern string. - */ - -function createKey(pattern, options) { - if (!options) return pattern; - var key = pattern; - for (var prop in options) { - if (options.hasOwnProperty(prop)) { - key += ';' + prop + '=' + String(options[prop]); - } - } - return key; -} - -/** - * Expose `makeRe` - */ - -module.exports.makeRe = makeRe; diff --git a/publi/node_modules/to-regex/node_modules/define-property/LICENSE b/publi/node_modules/to-regex/node_modules/define-property/LICENSE deleted file mode 100644 index 65f90ac..0000000 --- a/publi/node_modules/to-regex/node_modules/define-property/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2015, 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. diff --git a/publi/node_modules/to-regex/node_modules/define-property/README.md b/publi/node_modules/to-regex/node_modules/define-property/README.md deleted file mode 100644 index 8cac698..0000000 --- a/publi/node_modules/to-regex/node_modules/define-property/README.md +++ /dev/null @@ -1,77 +0,0 @@ -# define-property [![NPM version](https://badge.fury.io/js/define-property.svg)](http://badge.fury.io/js/define-property) - -> Define a non-enumerable property on an object. - -## Install - -Install with [npm](https://www.npmjs.com/) - -```sh -$ npm i define-property --save -``` - -## Usage - -**Params** - -* `obj`: The object on which to define the property. -* `prop`: The name of the property to be defined or modified. -* `descriptor`: The descriptor for the property being defined or modified. - -```js -var define = require('define-property'); -var obj = {}; -define(obj, 'foo', function(val) { - return val.toUpperCase(); -}); - -console.log(obj); -//=> {} - -console.log(obj.foo('bar')); -//=> 'BAR' -``` - -**get/set** - -```js -define(obj, 'foo', { - get: function() {}, - set: function() {} -}); -``` - -## Related projects - -* [delegate-object](https://www.npmjs.com/package/delegate-object): Copy properties from an object to another object, where properties with function values will be… [more](https://www.npmjs.com/package/delegate-object) | [homepage](https://github.com/doowb/delegate-object) -* [forward-object](https://www.npmjs.com/package/forward-object): Copy properties from an object to another object, where properties with function values will be… [more](https://www.npmjs.com/package/forward-object) | [homepage](https://github.com/doowb/forward-object) -* [mixin-deep](https://www.npmjs.com/package/mixin-deep): Deeply mix the properties of objects into the first object. Like merge-deep, but doesn't clone. | [homepage](https://github.com/jonschlinkert/mixin-deep) -* [mixin-object](https://www.npmjs.com/package/mixin-object): Mixin the own and inherited properties of other objects onto the first object. Pass an… [more](https://www.npmjs.com/package/mixin-object) | [homepage](https://github.com/jonschlinkert/mixin-object) - -## Running tests - -Install dev dependencies: - -```sh -$ npm i -d && npm test -``` - -## Contributing - -Pull requests and stars are always welcome. For bugs and feature requests, [please create an issue](https://github.com/jonschlinkert/define-property/issues/new). - -## Author - -**Jon Schlinkert** - -+ [github/jonschlinkert](https://github.com/jonschlinkert) -+ [twitter/jonschlinkert](http://twitter.com/jonschlinkert) - -## License - -Copyright © 2015 Jon Schlinkert -Released under the MIT license. - -*** - -_This file was generated by [verb-cli](https://github.com/assemble/verb-cli) on August 31, 2015._ diff --git a/publi/node_modules/to-regex/node_modules/define-property/index.js b/publi/node_modules/to-regex/node_modules/define-property/index.js deleted file mode 100644 index 3e0e5e1..0000000 --- a/publi/node_modules/to-regex/node_modules/define-property/index.js +++ /dev/null @@ -1,31 +0,0 @@ -/*! - * define-property - * - * Copyright (c) 2015, Jon Schlinkert. - * Licensed under the MIT License. - */ - -'use strict'; - -var isDescriptor = require('is-descriptor'); - -module.exports = function defineProperty(obj, prop, val) { - if (typeof obj !== 'object' && typeof obj !== 'function') { - throw new TypeError('expected an object or function.'); - } - - if (typeof prop !== 'string') { - throw new TypeError('expected `prop` to be a string.'); - } - - if (isDescriptor(val) && ('set' in val || 'get' in val)) { - return Object.defineProperty(obj, prop, val); - } - - return Object.defineProperty(obj, prop, { - configurable: true, - enumerable: false, - writable: true, - value: val - }); -}; diff --git a/publi/node_modules/to-regex/node_modules/define-property/package.json b/publi/node_modules/to-regex/node_modules/define-property/package.json deleted file mode 100644 index 6ce3738..0000000 --- a/publi/node_modules/to-regex/node_modules/define-property/package.json +++ /dev/null @@ -1,82 +0,0 @@ -{ - "_from": "define-property@^0.2.5", - "_id": "define-property@0.2.5", - "_inBundle": false, - "_integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "_location": "/to-regex/define-property", - "_phantomChildren": {}, - "_requested": { - "type": "range", - "registry": true, - "raw": "define-property@^0.2.5", - "name": "define-property", - "escapedName": "define-property", - "rawSpec": "^0.2.5", - "saveSpec": null, - "fetchSpec": "^0.2.5" - }, - "_requiredBy": [ - "/to-regex" - ], - "_resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "_shasum": "c35b1ef918ec3c990f9a5bc57be04aacec5c8116", - "_spec": "define-property@^0.2.5", - "_where": "/mnt/Data/bach/Documents/ola/OLA#5/ola5doc/publi/node_modules/to-regex", - "author": { - "name": "Jon Schlinkert", - "url": "https://github.com/jonschlinkert" - }, - "bugs": { - "url": "https://github.com/jonschlinkert/define-property/issues" - }, - "bundleDependencies": false, - "dependencies": { - "is-descriptor": "^0.1.0" - }, - "deprecated": false, - "description": "Define a non-enumerable property on an object.", - "devDependencies": { - "mocha": "*", - "should": "^7.0.4" - }, - "engines": { - "node": ">=0.10.0" - }, - "files": [ - "index.js" - ], - "homepage": "https://github.com/jonschlinkert/define-property", - "keywords": [ - "define", - "define-property", - "enumerable", - "key", - "non", - "non-enumerable", - "object", - "prop", - "property", - "value" - ], - "license": "MIT", - "main": "index.js", - "name": "define-property", - "repository": { - "type": "git", - "url": "git+https://github.com/jonschlinkert/define-property.git" - }, - "scripts": { - "test": "mocha" - }, - "verb": { - "related": { - "list": [ - "mixin-deep", - "mixin-object", - "delegate-object", - "forward-object" - ] - } - }, - "version": "0.2.5" -} diff --git a/publi/node_modules/to-regex/node_modules/is-descriptor/LICENSE b/publi/node_modules/to-regex/node_modules/is-descriptor/LICENSE deleted file mode 100644 index c0d7f13..0000000 --- a/publi/node_modules/to-regex/node_modules/is-descriptor/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2015-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. \ No newline at end of file diff --git a/publi/node_modules/to-regex/node_modules/is-descriptor/README.md b/publi/node_modules/to-regex/node_modules/is-descriptor/README.md deleted file mode 100644 index 658e533..0000000 --- a/publi/node_modules/to-regex/node_modules/is-descriptor/README.md +++ /dev/null @@ -1,193 +0,0 @@ -# is-descriptor [![NPM version](https://img.shields.io/npm/v/is-descriptor.svg?style=flat)](https://www.npmjs.com/package/is-descriptor) [![NPM monthly downloads](https://img.shields.io/npm/dm/is-descriptor.svg?style=flat)](https://npmjs.org/package/is-descriptor) [![NPM total downloads](https://img.shields.io/npm/dt/is-descriptor.svg?style=flat)](https://npmjs.org/package/is-descriptor) [![Linux Build Status](https://img.shields.io/travis/jonschlinkert/is-descriptor.svg?style=flat&label=Travis)](https://travis-ci.org/jonschlinkert/is-descriptor) - -> Returns true if a value has the characteristics of a valid JavaScript descriptor. Works for data descriptors and accessor descriptors. - -## Install - -Install with [npm](https://www.npmjs.com/): - -```sh -$ npm install --save is-descriptor -``` - -## Usage - -```js -var isDescriptor = require('is-descriptor'); - -isDescriptor({value: 'foo'}) -//=> true -isDescriptor({get: function(){}, set: function(){}}) -//=> true -isDescriptor({get: 'foo', set: function(){}}) -//=> false -``` - -You may also check for a descriptor by passing an object as the first argument and property name (`string`) as the second argument. - -```js -var obj = {}; -obj.foo = 'abc'; - -Object.defineProperty(obj, 'bar', { - value: 'xyz' -}); - -isDescriptor(obj, 'foo'); -//=> true -isDescriptor(obj, 'bar'); -//=> true -``` - -## Examples - -### value type - -`false` when not an object - -```js -isDescriptor('a'); -//=> false -isDescriptor(null); -//=> false -isDescriptor([]); -//=> false -``` - -### data descriptor - -`true` when the object has valid properties with valid values. - -```js -isDescriptor({value: 'foo'}); -//=> true -isDescriptor({value: noop}); -//=> true -``` - -`false` when the object has invalid properties - -```js -isDescriptor({value: 'foo', bar: 'baz'}); -//=> false -isDescriptor({value: 'foo', bar: 'baz'}); -//=> false -isDescriptor({value: 'foo', get: noop}); -//=> false -isDescriptor({get: noop, value: noop}); -//=> false -``` - -`false` when a value is not the correct type - -```js -isDescriptor({value: 'foo', enumerable: 'foo'}); -//=> false -isDescriptor({value: 'foo', configurable: 'foo'}); -//=> false -isDescriptor({value: 'foo', writable: 'foo'}); -//=> false -``` - -### accessor descriptor - -`true` when the object has valid properties with valid values. - -```js -isDescriptor({get: noop, set: noop}); -//=> true -isDescriptor({get: noop}); -//=> true -isDescriptor({set: noop}); -//=> true -``` - -`false` when the object has invalid properties - -```js -isDescriptor({get: noop, set: noop, bar: 'baz'}); -//=> false -isDescriptor({get: noop, writable: true}); -//=> false -isDescriptor({get: noop, value: true}); -//=> false -``` - -`false` when an accessor is not a function - -```js -isDescriptor({get: noop, set: 'baz'}); -//=> false -isDescriptor({get: 'foo', set: noop}); -//=> false -isDescriptor({get: 'foo', bar: 'baz'}); -//=> false -isDescriptor({get: 'foo', set: 'baz'}); -//=> false -``` - -`false` when a value is not the correct type - -```js -isDescriptor({get: noop, set: noop, enumerable: 'foo'}); -//=> false -isDescriptor({set: noop, configurable: 'foo'}); -//=> false -isDescriptor({get: noop, configurable: 'foo'}); -//=> false -``` - -## About - -### Related projects - -* [is-accessor-descriptor](https://www.npmjs.com/package/is-accessor-descriptor): Returns true if a value has the characteristics of a valid JavaScript accessor descriptor. | [homepage](https://github.com/jonschlinkert/is-accessor-descriptor "Returns true if a value has the characteristics of a valid JavaScript accessor descriptor.") -* [is-data-descriptor](https://www.npmjs.com/package/is-data-descriptor): Returns true if a value has the characteristics of a valid JavaScript data descriptor. | [homepage](https://github.com/jonschlinkert/is-data-descriptor "Returns true if a value has the characteristics of a valid JavaScript data descriptor.") -* [is-descriptor](https://www.npmjs.com/package/is-descriptor): Returns true if a value has the characteristics of a valid JavaScript descriptor. Works for… [more](https://github.com/jonschlinkert/is-descriptor) | [homepage](https://github.com/jonschlinkert/is-descriptor "Returns true if a value has the characteristics of a valid JavaScript descriptor. Works for data descriptors and accessor descriptors.") -* [isobject](https://www.npmjs.com/package/isobject): Returns true if the value is an object and not an array or null. | [homepage](https://github.com/jonschlinkert/isobject "Returns true if the value is an object and not an array or null.") - -### Contributing - -Pull requests and stars are always welcome. For bugs and feature requests, [please create an issue](../../issues/new). - -### Contributors - -| **Commits** | **Contributor** | -| --- | --- | -| 24 | [jonschlinkert](https://github.com/jonschlinkert) | -| 1 | [doowb](https://github.com/doowb) | -| 1 | [wtgtybhertgeghgtwtg](https://github.com/wtgtybhertgeghgtwtg) | - -### Building docs - -_(This project's readme.md is generated by [verb](https://github.com/verbose/verb-generate-readme), please don't edit the readme directly. Any changes to the readme must be made in the [.verb.md](.verb.md) readme template.)_ - -To generate the readme, run the following command: - -```sh -$ npm install -g verbose/verb#dev verb-generate-readme && verb -``` - -### Running tests - -Running and reviewing unit tests is a great way to get familiarized with a library and its API. You can install dependencies and run tests with the following command: - -```sh -$ npm install && npm test -``` - -### Author - -**Jon Schlinkert** - -* [github/jonschlinkert](https://github.com/jonschlinkert) -* [twitter/jonschlinkert](https://twitter.com/jonschlinkert) - -### License - -Copyright © 2017, [Jon Schlinkert](https://github.com/jonschlinkert). -Released under the [MIT License](LICENSE). - -*** - -_This file was generated by [verb-generate-readme](https://github.com/verbose/verb-generate-readme), v0.6.0, on July 22, 2017._ \ No newline at end of file diff --git a/publi/node_modules/to-regex/node_modules/is-descriptor/index.js b/publi/node_modules/to-regex/node_modules/is-descriptor/index.js deleted file mode 100644 index c9b91d7..0000000 --- a/publi/node_modules/to-regex/node_modules/is-descriptor/index.js +++ /dev/null @@ -1,22 +0,0 @@ -/*! - * is-descriptor - * - * Copyright (c) 2015-2017, Jon Schlinkert. - * Released under the MIT License. - */ - -'use strict'; - -var typeOf = require('kind-of'); -var isAccessor = require('is-accessor-descriptor'); -var isData = require('is-data-descriptor'); - -module.exports = function isDescriptor(obj, key) { - if (typeOf(obj) !== 'object') { - return false; - } - if ('get' in obj) { - return isAccessor(obj, key); - } - return isData(obj, key); -}; diff --git a/publi/node_modules/to-regex/node_modules/is-descriptor/package.json b/publi/node_modules/to-regex/node_modules/is-descriptor/package.json deleted file mode 100644 index 7e36b50..0000000 --- a/publi/node_modules/to-regex/node_modules/is-descriptor/package.json +++ /dev/null @@ -1,114 +0,0 @@ -{ - "_from": "is-descriptor@^0.1.0", - "_id": "is-descriptor@0.1.6", - "_inBundle": false, - "_integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "_location": "/to-regex/is-descriptor", - "_phantomChildren": {}, - "_requested": { - "type": "range", - "registry": true, - "raw": "is-descriptor@^0.1.0", - "name": "is-descriptor", - "escapedName": "is-descriptor", - "rawSpec": "^0.1.0", - "saveSpec": null, - "fetchSpec": "^0.1.0" - }, - "_requiredBy": [ - "/to-regex/define-property" - ], - "_resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "_shasum": "366d8240dde487ca51823b1ab9f07a10a78251ca", - "_spec": "is-descriptor@^0.1.0", - "_where": "/mnt/Data/bach/Documents/ola/OLA#5/ola5doc/publi/node_modules/to-regex/node_modules/define-property", - "author": { - "name": "Jon Schlinkert", - "url": "https://github.com/jonschlinkert" - }, - "bugs": { - "url": "https://github.com/jonschlinkert/is-descriptor/issues" - }, - "bundleDependencies": false, - "contributors": [ - { - "name": "Brian Woodward", - "url": "https://twitter.com/doowb" - }, - { - "name": "Jon Schlinkert", - "url": "http://twitter.com/jonschlinkert" - }, - { - "url": "https://github.com/wtgtybhertgeghgtwtg" - } - ], - "dependencies": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "deprecated": false, - "description": "Returns true if a value has the characteristics of a valid JavaScript descriptor. Works for data descriptors and accessor descriptors.", - "devDependencies": { - "gulp-format-md": "^1.0.0", - "mocha": "^3.4.2" - }, - "engines": { - "node": ">=0.10.0" - }, - "files": [ - "index.js" - ], - "homepage": "https://github.com/jonschlinkert/is-descriptor", - "keywords": [ - "accessor", - "check", - "data", - "descriptor", - "get", - "getter", - "is", - "keys", - "object", - "properties", - "property", - "set", - "setter", - "type", - "valid", - "value" - ], - "license": "MIT", - "main": "index.js", - "name": "is-descriptor", - "repository": { - "type": "git", - "url": "git+https://github.com/jonschlinkert/is-descriptor.git" - }, - "scripts": { - "test": "mocha" - }, - "verb": { - "related": { - "list": [ - "is-accessor-descriptor", - "is-data-descriptor", - "is-descriptor", - "isobject" - ] - }, - "plugins": [ - "gulp-format-md" - ], - "toc": false, - "layout": "default", - "tasks": [ - "readme" - ], - "lint": { - "reflinks": true - } - }, - "version": "0.1.6" -} diff --git a/publi/node_modules/to-regex/node_modules/kind-of/LICENSE b/publi/node_modules/to-regex/node_modules/kind-of/LICENSE deleted file mode 100644 index 3f2eca1..0000000 --- a/publi/node_modules/to-regex/node_modules/kind-of/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -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. diff --git a/publi/node_modules/to-regex/node_modules/kind-of/README.md b/publi/node_modules/to-regex/node_modules/kind-of/README.md deleted file mode 100644 index 170bf30..0000000 --- a/publi/node_modules/to-regex/node_modules/kind-of/README.md +++ /dev/null @@ -1,342 +0,0 @@ -# kind-of [![NPM version](https://img.shields.io/npm/v/kind-of.svg?style=flat)](https://www.npmjs.com/package/kind-of) [![NPM monthly downloads](https://img.shields.io/npm/dm/kind-of.svg?style=flat)](https://npmjs.org/package/kind-of) [![NPM total downloads](https://img.shields.io/npm/dt/kind-of.svg?style=flat)](https://npmjs.org/package/kind-of) [![Linux Build Status](https://img.shields.io/travis/jonschlinkert/kind-of.svg?style=flat&label=Travis)](https://travis-ci.org/jonschlinkert/kind-of) - -> Get the native type of a value. - -Please consider following this project's author, [Jon Schlinkert](https://github.com/jonschlinkert), and consider starring the project to show your :heart: and support. - -## Install - -Install with [npm](https://www.npmjs.com/): - -```sh -$ npm install --save kind-of -``` - -Install with [bower](https://bower.io/) - -```sh -$ bower install kind-of --save -``` - -## Why use this? - -1. [it's fast](#benchmarks) | [optimizations](#optimizations) -2. [better type checking](#better-type-checking) - -## Usage - -> es5, browser and es6 ready - -```js -var kindOf = require('kind-of'); - -kindOf(undefined); -//=> 'undefined' - -kindOf(null); -//=> 'null' - -kindOf(true); -//=> 'boolean' - -kindOf(false); -//=> 'boolean' - -kindOf(new Boolean(true)); -//=> 'boolean' - -kindOf(new Buffer('')); -//=> 'buffer' - -kindOf(42); -//=> 'number' - -kindOf(new Number(42)); -//=> 'number' - -kindOf('str'); -//=> 'string' - -kindOf(new String('str')); -//=> 'string' - -kindOf(arguments); -//=> 'arguments' - -kindOf({}); -//=> 'object' - -kindOf(Object.create(null)); -//=> 'object' - -kindOf(new Test()); -//=> 'object' - -kindOf(new Date()); -//=> 'date' - -kindOf([]); -//=> 'array' - -kindOf([1, 2, 3]); -//=> 'array' - -kindOf(new Array()); -//=> 'array' - -kindOf(/foo/); -//=> 'regexp' - -kindOf(new RegExp('foo')); -//=> 'regexp' - -kindOf(function () {}); -//=> 'function' - -kindOf(function * () {}); -//=> 'function' - -kindOf(new Function()); -//=> 'function' - -kindOf(new Map()); -//=> 'map' - -kindOf(new WeakMap()); -//=> 'weakmap' - -kindOf(new Set()); -//=> 'set' - -kindOf(new WeakSet()); -//=> 'weakset' - -kindOf(Symbol('str')); -//=> 'symbol' - -kindOf(new Int8Array()); -//=> 'int8array' - -kindOf(new Uint8Array()); -//=> 'uint8array' - -kindOf(new Uint8ClampedArray()); -//=> 'uint8clampedarray' - -kindOf(new Int16Array()); -//=> 'int16array' - -kindOf(new Uint16Array()); -//=> 'uint16array' - -kindOf(new Int32Array()); -//=> 'int32array' - -kindOf(new Uint32Array()); -//=> 'uint32array' - -kindOf(new Float32Array()); -//=> 'float32array' - -kindOf(new Float64Array()); -//=> 'float64array' -``` - -## Release history - -### v4.0.0 - -**Added** - -* `promise` support - -### v5.0.0 - -**Added** - -* `Set Iterator` and `Map Iterator` support - -**Fixed** - -* Now returns `generatorfunction` for generator functions - -## Benchmarks - -Benchmarked against [typeof](http://github.com/CodingFu/typeof) and [type-of](https://github.com/ForbesLindesay/type-of). -Note that performaces is slower for es6 features `Map`, `WeakMap`, `Set` and `WeakSet`. - -```bash -#1: array - current x 23,329,397 ops/sec ±0.82% (94 runs sampled) - lib-type-of x 4,170,273 ops/sec ±0.55% (94 runs sampled) - lib-typeof x 9,686,935 ops/sec ±0.59% (98 runs sampled) - -#2: boolean - current x 27,197,115 ops/sec ±0.85% (94 runs sampled) - lib-type-of x 3,145,791 ops/sec ±0.73% (97 runs sampled) - lib-typeof x 9,199,562 ops/sec ±0.44% (99 runs sampled) - -#3: date - current x 20,190,117 ops/sec ±0.86% (92 runs sampled) - lib-type-of x 5,166,970 ops/sec ±0.74% (94 runs sampled) - lib-typeof x 9,610,821 ops/sec ±0.50% (96 runs sampled) - -#4: function - current x 23,855,460 ops/sec ±0.60% (97 runs sampled) - lib-type-of x 5,667,740 ops/sec ±0.54% (100 runs sampled) - lib-typeof x 10,010,644 ops/sec ±0.44% (100 runs sampled) - -#5: null - current x 27,061,047 ops/sec ±0.97% (96 runs sampled) - lib-type-of x 13,965,573 ops/sec ±0.62% (97 runs sampled) - lib-typeof x 8,460,194 ops/sec ±0.61% (97 runs sampled) - -#6: number - current x 25,075,682 ops/sec ±0.53% (99 runs sampled) - lib-type-of x 2,266,405 ops/sec ±0.41% (98 runs sampled) - lib-typeof x 9,821,481 ops/sec ±0.45% (99 runs sampled) - -#7: object - current x 3,348,980 ops/sec ±0.49% (99 runs sampled) - lib-type-of x 3,245,138 ops/sec ±0.60% (94 runs sampled) - lib-typeof x 9,262,952 ops/sec ±0.59% (99 runs sampled) - -#8: regex - current x 21,284,827 ops/sec ±0.72% (96 runs sampled) - lib-type-of x 4,689,241 ops/sec ±0.43% (100 runs sampled) - lib-typeof x 8,957,593 ops/sec ±0.62% (98 runs sampled) - -#9: string - current x 25,379,234 ops/sec ±0.58% (96 runs sampled) - lib-type-of x 3,635,148 ops/sec ±0.76% (93 runs sampled) - lib-typeof x 9,494,134 ops/sec ±0.49% (98 runs sampled) - -#10: undef - current x 27,459,221 ops/sec ±1.01% (93 runs sampled) - lib-type-of x 14,360,433 ops/sec ±0.52% (99 runs sampled) - lib-typeof x 23,202,868 ops/sec ±0.59% (94 runs sampled) - -``` - -## Optimizations - -In 7 out of 8 cases, this library is 2x-10x faster than other top libraries included in the benchmarks. There are a few things that lead to this performance advantage, none of them hard and fast rules, but all of them simple and repeatable in almost any code library: - -1. Optimize around the fastest and most common use cases first. Of course, this will change from project-to-project, but I took some time to understand how and why `typeof` checks were being used in my own libraries and other libraries I use a lot. -2. Optimize around bottlenecks - In other words, the order in which conditionals are implemented is significant, because each check is only as fast as the failing checks that came before it. Here, the biggest bottleneck by far is checking for plain objects (an object that was created by the `Object` constructor). I opted to make this check happen by process of elimination rather than brute force up front (e.g. by using something like `val.constructor.name`), so that every other type check would not be penalized it. -3. Don't do uneccessary processing - why do `.slice(8, -1).toLowerCase();` just to get the word `regex`? It's much faster to do `if (type === '[object RegExp]') return 'regex'` -4. There is no reason to make the code in a microlib as terse as possible, just to win points for making it shorter. It's always better to favor performant code over terse code. You will always only be using a single `require()` statement to use the library anyway, regardless of how the code is written. - -## Better type checking - -kind-of is more correct than other type checking libs I've looked at. For example, here are some differing results from other popular libs: - -### [typeof](https://github.com/CodingFu/typeof) lib - -Incorrectly tests instances of custom constructors (pretty common): - -```js -var typeOf = require('typeof'); -function Test() {} -console.log(typeOf(new Test())); -//=> 'test' -``` - -Returns `object` instead of `arguments`: - -```js -function foo() { - console.log(typeOf(arguments)) //=> 'object' -} -foo(); -``` - -### [type-of](https://github.com/ForbesLindesay/type-of) lib - -Incorrectly returns `object` for generator functions, buffers, `Map`, `Set`, `WeakMap` and `WeakSet`: - -```js -function * foo() {} -console.log(typeOf(foo)); -//=> 'object' -console.log(typeOf(new Buffer(''))); -//=> 'object' -console.log(typeOf(new Map())); -//=> 'object' -console.log(typeOf(new Set())); -//=> 'object' -console.log(typeOf(new WeakMap())); -//=> 'object' -console.log(typeOf(new WeakSet())); -//=> 'object' -``` - -## About - -
-Contributing - -Pull requests and stars are always welcome. For bugs and feature requests, [please create an issue](../../issues/new). - -
- -
-Running Tests - -Running and reviewing unit tests is a great way to get familiarized with a library and its API. You can install dependencies and run tests with the following command: - -```sh -$ npm install && npm test -``` - -
- -
-Building docs - -_(This project's readme.md is generated by [verb](https://github.com/verbose/verb-generate-readme), please don't edit the readme directly. Any changes to the readme must be made in the [.verb.md](.verb.md) readme template.)_ - -To generate the readme, run the following command: - -```sh -$ npm install -g verbose/verb#dev verb-generate-readme && verb -``` - -
- -### Related projects - -You might also be interested in these projects: - -* [is-glob](https://www.npmjs.com/package/is-glob): Returns `true` if the given string looks like a glob pattern or an extglob pattern… [more](https://github.com/jonschlinkert/is-glob) | [homepage](https://github.com/jonschlinkert/is-glob "Returns `true` if the given string looks like a glob pattern or an extglob pattern. This makes it easy to create code that only uses external modules like node-glob when necessary, resulting in much faster code execution and initialization time, and a bet") -* [is-number](https://www.npmjs.com/package/is-number): Returns true if the value is a number. comprehensive tests. | [homepage](https://github.com/jonschlinkert/is-number "Returns true if the value is a number. comprehensive tests.") -* [is-primitive](https://www.npmjs.com/package/is-primitive): Returns `true` if the value is a primitive. | [homepage](https://github.com/jonschlinkert/is-primitive "Returns `true` if the value is a primitive. ") - -### Contributors - -| **Commits** | **Contributor** | -| --- | --- | -| 82 | [jonschlinkert](https://github.com/jonschlinkert) | -| 3 | [aretecode](https://github.com/aretecode) | -| 2 | [miguelmota](https://github.com/miguelmota) | -| 1 | [dtothefp](https://github.com/dtothefp) | -| 1 | [ksheedlo](https://github.com/ksheedlo) | -| 1 | [pdehaan](https://github.com/pdehaan) | -| 1 | [laggingreflex](https://github.com/laggingreflex) | -| 1 | [charlike](https://github.com/charlike) | - -### Author - -**Jon Schlinkert** - -* [github/jonschlinkert](https://github.com/jonschlinkert) -* [twitter/jonschlinkert](https://twitter.com/jonschlinkert) - -### License - -Copyright © 2017, [Jon Schlinkert](https://github.com/jonschlinkert). -Released under the [MIT License](LICENSE). - -*** - -_This file was generated by [verb-generate-readme](https://github.com/verbose/verb-generate-readme), v0.6.0, on October 13, 2017._ \ No newline at end of file diff --git a/publi/node_modules/to-regex/node_modules/kind-of/index.js b/publi/node_modules/to-regex/node_modules/kind-of/index.js deleted file mode 100644 index fc5cde9..0000000 --- a/publi/node_modules/to-regex/node_modules/kind-of/index.js +++ /dev/null @@ -1,147 +0,0 @@ -var toString = Object.prototype.toString; - -/** - * Get the native `typeof` a value. - * - * @param {*} `val` - * @return {*} Native javascript type - */ - -module.exports = function kindOf(val) { - var type = typeof val; - - // primitivies - if (type === 'undefined') { - return 'undefined'; - } - if (val === null) { - return 'null'; - } - if (val === true || val === false || val instanceof Boolean) { - return 'boolean'; - } - if (type === 'string' || val instanceof String) { - return 'string'; - } - if (type === 'number' || val instanceof Number) { - return 'number'; - } - - // functions - if (type === 'function' || val instanceof Function) { - if (typeof val.constructor.name !== 'undefined' && val.constructor.name.slice(0, 9) === 'Generator') { - return 'generatorfunction'; - } - return 'function'; - } - - // array - if (typeof Array.isArray !== 'undefined' && Array.isArray(val)) { - return 'array'; - } - - // check for instances of RegExp and Date before calling `toString` - if (val instanceof RegExp) { - return 'regexp'; - } - if (val instanceof Date) { - return 'date'; - } - - // other objects - type = toString.call(val); - - if (type === '[object RegExp]') { - return 'regexp'; - } - if (type === '[object Date]') { - return 'date'; - } - if (type === '[object Arguments]') { - return 'arguments'; - } - if (type === '[object Error]') { - return 'error'; - } - if (type === '[object Promise]') { - return 'promise'; - } - - // buffer - if (isBuffer(val)) { - return 'buffer'; - } - - // es6: Map, WeakMap, Set, WeakSet - if (type === '[object Set]') { - return 'set'; - } - if (type === '[object WeakSet]') { - return 'weakset'; - } - if (type === '[object Map]') { - return 'map'; - } - if (type === '[object WeakMap]') { - return 'weakmap'; - } - if (type === '[object Symbol]') { - return 'symbol'; - } - - if (type === '[object Map Iterator]') { - return 'mapiterator'; - } - if (type === '[object Set Iterator]') { - return 'setiterator'; - } - if (type === '[object String Iterator]') { - return 'stringiterator'; - } - if (type === '[object Array Iterator]') { - return 'arrayiterator'; - } - - // typed arrays - if (type === '[object Int8Array]') { - return 'int8array'; - } - if (type === '[object Uint8Array]') { - return 'uint8array'; - } - if (type === '[object Uint8ClampedArray]') { - return 'uint8clampedarray'; - } - if (type === '[object Int16Array]') { - return 'int16array'; - } - if (type === '[object Uint16Array]') { - return 'uint16array'; - } - if (type === '[object Int32Array]') { - return 'int32array'; - } - if (type === '[object Uint32Array]') { - return 'uint32array'; - } - if (type === '[object Float32Array]') { - return 'float32array'; - } - if (type === '[object Float64Array]') { - return 'float64array'; - } - - // must be a plain object - return 'object'; -}; - -/** - * If you need to support Safari 5-7 (8-10 yr-old browser), - * take a look at https://github.com/feross/is-buffer - */ - -function isBuffer(val) { - return val.constructor - && typeof val.constructor.isBuffer === 'function' - && val.constructor.isBuffer(val); -} diff --git a/publi/node_modules/to-regex/node_modules/kind-of/package.json b/publi/node_modules/to-regex/node_modules/kind-of/package.json deleted file mode 100644 index 6ba28e1..0000000 --- a/publi/node_modules/to-regex/node_modules/kind-of/package.json +++ /dev/null @@ -1,146 +0,0 @@ -{ - "_from": "kind-of@^5.0.0", - "_id": "kind-of@5.1.0", - "_inBundle": false, - "_integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "_location": "/to-regex/kind-of", - "_phantomChildren": {}, - "_requested": { - "type": "range", - "registry": true, - "raw": "kind-of@^5.0.0", - "name": "kind-of", - "escapedName": "kind-of", - "rawSpec": "^5.0.0", - "saveSpec": null, - "fetchSpec": "^5.0.0" - }, - "_requiredBy": [ - "/to-regex/is-descriptor" - ], - "_resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "_shasum": "729c91e2d857b7a419a1f9aa65685c4c33f5845d", - "_spec": "kind-of@^5.0.0", - "_where": "/mnt/Data/bach/Documents/ola/OLA#5/ola5doc/publi/node_modules/to-regex/node_modules/is-descriptor", - "author": { - "name": "Jon Schlinkert", - "url": "https://github.com/jonschlinkert" - }, - "bugs": { - "url": "https://github.com/jonschlinkert/kind-of/issues" - }, - "bundleDependencies": false, - "contributors": [ - { - "name": "David Fox-Powell", - "url": "https://dtothefp.github.io/me" - }, - { - "name": "James", - "url": "https://twitter.com/aretecode" - }, - { - "name": "Jon Schlinkert", - "url": "http://twitter.com/jonschlinkert" - }, - { - "name": "Ken Sheedlo", - "url": "kensheedlo.com" - }, - { - "name": "laggingreflex", - "url": "https://github.com/laggingreflex" - }, - { - "name": "Miguel Mota", - "url": "https://miguelmota.com" - }, - { - "name": "Peter deHaan", - "url": "http://about.me/peterdehaan" - }, - { - "name": "tunnckoCore", - "url": "https://i.am.charlike.online" - } - ], - "deprecated": false, - "description": "Get the native type of a value.", - "devDependencies": { - "ansi-bold": "^0.1.1", - "benchmarked": "^1.1.1", - "browserify": "^14.4.0", - "gulp-format-md": "^0.1.12", - "matched": "^0.4.4", - "mocha": "^3.4.2", - "type-of": "^2.0.1", - "typeof": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - }, - "files": [ - "index.js" - ], - "homepage": "https://github.com/jonschlinkert/kind-of", - "keywords": [ - "arguments", - "array", - "boolean", - "check", - "date", - "function", - "is", - "is-type", - "is-type-of", - "kind", - "kind-of", - "number", - "object", - "of", - "regexp", - "string", - "test", - "type", - "type-of", - "typeof", - "types" - ], - "license": "MIT", - "main": "index.js", - "name": "kind-of", - "repository": { - "type": "git", - "url": "git+https://github.com/jonschlinkert/kind-of.git" - }, - "scripts": { - "prepublish": "browserify -o browser.js -e index.js -s index --bare", - "test": "mocha" - }, - "verb": { - "related": { - "list": [ - "is-glob", - "is-number", - "is-primitive" - ] - }, - "toc": false, - "layout": "default", - "tasks": [ - "readme" - ], - "plugins": [ - "gulp-format-md" - ], - "lint": { - "reflinks": true - }, - "reflinks": [ - "type-of", - "typeof", - "verb" - ] - }, - "version": "5.1.0" -} diff --git a/publi/node_modules/to-regex/package.json b/publi/node_modules/to-regex/package.json deleted file mode 100644 index c94a1e3..0000000 --- a/publi/node_modules/to-regex/package.json +++ /dev/null @@ -1,107 +0,0 @@ -{ - "_from": "to-regex@^3.0.1", - "_id": "to-regex@3.0.1", - "_inBundle": false, - "_integrity": "sha1-FTWL7kosg712N3uh3ASdDxiDeq4=", - "_location": "/to-regex", - "_phantomChildren": { - "is-accessor-descriptor": "0.1.6", - "is-data-descriptor": "0.1.4" - }, - "_requested": { - "type": "range", - "registry": true, - "raw": "to-regex@^3.0.1", - "name": "to-regex", - "escapedName": "to-regex", - "rawSpec": "^3.0.1", - "saveSpec": null, - "fetchSpec": "^3.0.1" - }, - "_requiredBy": [ - "/braces", - "/expand-brackets", - "/extglob", - "/micromatch", - "/nanomatch" - ], - "_resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.1.tgz", - "_shasum": "15358bee4a2c83bd76377ba1dc049d0f18837aae", - "_spec": "to-regex@^3.0.1", - "_where": "/mnt/Data/bach/Documents/ola/OLA#5/ola5doc/publi/node_modules/micromatch", - "author": { - "name": "Jon Schlinkert", - "url": "https://github.com/jonschlinkert" - }, - "bugs": { - "url": "https://github.com/jonschlinkert/to-regex/issues" - }, - "bundleDependencies": false, - "dependencies": { - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "regex-not": "^1.0.0" - }, - "deprecated": false, - "description": "Generate a regex from a string or array of strings.", - "devDependencies": { - "gulp": "^3.9.1", - "gulp-eslint": "^3.0.1", - "gulp-format-md": "^0.1.10", - "gulp-istanbul": "^1.1.1", - "gulp-mocha": "^3.0.1", - "mocha": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - }, - "files": [ - "index.js" - ], - "homepage": "https://github.com/jonschlinkert/to-regex", - "keywords": [ - "match", - "regex", - "regular expression", - "test", - "to" - ], - "license": "MIT", - "main": "index.js", - "name": "to-regex", - "repository": { - "type": "git", - "url": "git+https://github.com/jonschlinkert/to-regex.git" - }, - "scripts": { - "test": "mocha" - }, - "verb": { - "toc": { - "method": "preWrite" - }, - "layout": "default", - "tasks": [ - "readme" - ], - "plugins": [ - "gulp-format-md" - ], - "related": { - "list": [ - "has-glob", - "is-glob", - "path-regex", - "to-regex-range" - ] - }, - "reflinks": [ - "verb", - "verb-generate-readme" - ], - "lint": { - "reflinks": true - } - }, - "version": "3.0.1" -} diff --git a/publi/node_modules/tough-cookie/LICENSE b/publi/node_modules/tough-cookie/LICENSE deleted file mode 100644 index 1bc286f..0000000 --- a/publi/node_modules/tough-cookie/LICENSE +++ /dev/null @@ -1,27 +0,0 @@ -Copyright (c) 2015, Salesforce.com, Inc. -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. - -3. Neither the name of Salesforce.com 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 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. - -=== - -The following exceptions apply: - -=== - -`public_suffix_list.dat` was obtained from - via -. The license for this file is MPL/2.0. The header of -that file reads as follows: - - // This Source Code Form is subject to the terms of the Mozilla Public - // License, v. 2.0. If a copy of the MPL was not distributed with this - // file, You can obtain one at http://mozilla.org/MPL/2.0/. diff --git a/publi/node_modules/tough-cookie/README.md b/publi/node_modules/tough-cookie/README.md deleted file mode 100644 index 79fa780..0000000 --- a/publi/node_modules/tough-cookie/README.md +++ /dev/null @@ -1,509 +0,0 @@ -[RFC6265](https://tools.ietf.org/html/rfc6265) Cookies and CookieJar for Node.js - -[![npm package](https://nodei.co/npm/tough-cookie.png?downloads=true&downloadRank=true&stars=true)](https://nodei.co/npm/tough-cookie/) - -[![Build Status](https://travis-ci.org/salesforce/tough-cookie.png?branch=master)](https://travis-ci.org/salesforce/tough-cookie) - -# Synopsis - -``` javascript -var tough = require('tough-cookie'); -var Cookie = tough.Cookie; -var cookie = Cookie.parse(header); -cookie.value = 'somethingdifferent'; -header = cookie.toString(); - -var cookiejar = new tough.CookieJar(); -cookiejar.setCookie(cookie, 'http://currentdomain.example.com/path', cb); -// ... -cookiejar.getCookies('http://example.com/otherpath',function(err,cookies) { - res.headers['cookie'] = cookies.join('; '); -}); -``` - -# Installation - -It's _so_ easy! - -`npm install tough-cookie` - -Why the name? NPM modules `cookie`, `cookies` and `cookiejar` were already taken. - -## Version Support - -Support for versions of node.js will follow that of the [request](https://www.npmjs.com/package/request) module. - -# API - -## tough - -Functions on the module you get from `require('tough-cookie')`. All can be used as pure functions and don't need to be "bound". - -**Note**: prior to 1.0.x, several of these functions took a `strict` parameter. This has since been removed from the API as it was no longer necessary. - -### `parseDate(string)` - -Parse a cookie date string into a `Date`. Parses according to RFC6265 Section 5.1.1, not `Date.parse()`. - -### `formatDate(date)` - -Format a Date into a RFC1123 string (the RFC6265-recommended format). - -### `canonicalDomain(str)` - -Transforms a domain-name into a canonical domain-name. The canonical domain-name is a trimmed, lowercased, stripped-of-leading-dot and optionally punycode-encoded domain-name (Section 5.1.2 of RFC6265). For the most part, this function is idempotent (can be run again on its output without ill effects). - -### `domainMatch(str,domStr[,canonicalize=true])` - -Answers "does this real domain match the domain in a cookie?". The `str` is the "current" domain-name and the `domStr` is the "cookie" domain-name. Matches according to RFC6265 Section 5.1.3, but it helps to think of it as a "suffix match". - -The `canonicalize` parameter will run the other two paramters through `canonicalDomain` or not. - -### `defaultPath(path)` - -Given a current request/response path, gives the Path apropriate for storing in a cookie. This is basically the "directory" of a "file" in the path, but is specified by Section 5.1.4 of the RFC. - -The `path` parameter MUST be _only_ the pathname part of a URI (i.e. excludes the hostname, query, fragment, etc.). This is the `.pathname` property of node's `uri.parse()` output. - -### `pathMatch(reqPath,cookiePath)` - -Answers "does the request-path path-match a given cookie-path?" as per RFC6265 Section 5.1.4. Returns a boolean. - -This is essentially a prefix-match where `cookiePath` is a prefix of `reqPath`. - -### `parse(cookieString[, options])` - -alias for `Cookie.parse(cookieString[, options])` - -### `fromJSON(string)` - -alias for `Cookie.fromJSON(string)` - -### `getPublicSuffix(hostname)` - -Returns the public suffix of this hostname. The public suffix is the shortest domain-name upon which a cookie can be set. Returns `null` if the hostname cannot have cookies set for it. - -For example: `www.example.com` and `www.subdomain.example.com` both have public suffix `example.com`. - -For further information, see http://publicsuffix.org/. This module derives its list from that site. - -### `cookieCompare(a,b)` - -For use with `.sort()`, sorts a list of cookies into the recommended order given in the RFC (Section 5.4 step 2). The sort algorithm is, in order of precedence: - -* Longest `.path` -* oldest `.creation` (which has a 1ms precision, same as `Date`) -* lowest `.creationIndex` (to get beyond the 1ms precision) - -``` javascript -var cookies = [ /* unsorted array of Cookie objects */ ]; -cookies = cookies.sort(cookieCompare); -``` - -**Note**: Since JavaScript's `Date` is limited to a 1ms precision, cookies within the same milisecond are entirely possible. This is especially true when using the `now` option to `.setCookie()`. The `.creationIndex` property is a per-process global counter, assigned during construction with `new Cookie()`. This preserves the spirit of the RFC sorting: older cookies go first. This works great for `MemoryCookieStore`, since `Set-Cookie` headers are parsed in order, but may not be so great for distributed systems. Sophisticated `Store`s may wish to set this to some other _logical clock_ such that if cookies A and B are created in the same millisecond, but cookie A is created before cookie B, then `A.creationIndex < B.creationIndex`. If you want to alter the global counter, which you probably _shouldn't_ do, it's stored in `Cookie.cookiesCreated`. - -### `permuteDomain(domain)` - -Generates a list of all possible domains that `domainMatch()` the parameter. May be handy for implementing cookie stores. - -### `permutePath(path)` - -Generates a list of all possible paths that `pathMatch()` the parameter. May be handy for implementing cookie stores. - - -## Cookie - -Exported via `tough.Cookie`. - -### `Cookie.parse(cookieString[, options])` - -Parses a single Cookie or Set-Cookie HTTP header into a `Cookie` object. Returns `undefined` if the string can't be parsed. - -The options parameter is not required and currently has only one property: - - * _loose_ - boolean - if `true` enable parsing of key-less cookies like `=abc` and `=`, which are not RFC-compliant. - -If options is not an object, it is ignored, which means you can use `Array#map` with it. - -Here's how to process the Set-Cookie header(s) on a node HTTP/HTTPS response: - -``` javascript -if (res.headers['set-cookie'] instanceof Array) - cookies = res.headers['set-cookie'].map(Cookie.parse); -else - cookies = [Cookie.parse(res.headers['set-cookie'])]; -``` - -_Potentially non-standard behavior:_ currently, tough-cookie will limit the number of spaces before the `=` to 256 characters. -See [Issue 92](https://github.com/salesforce/tough-cookie/issues/92) - -### Properties - -Cookie object properties: - - * _key_ - string - the name or key of the cookie (default "") - * _value_ - string - the value of the cookie (default "") - * _expires_ - `Date` - if set, the `Expires=` attribute of the cookie (defaults to the string `"Infinity"`). See `setExpires()` - * _maxAge_ - seconds - if set, the `Max-Age=` attribute _in seconds_ of the cookie. May also be set to strings `"Infinity"` and `"-Infinity"` for non-expiry and immediate-expiry, respectively. See `setMaxAge()` - * _domain_ - string - the `Domain=` attribute of the cookie - * _path_ - string - the `Path=` of the cookie - * _secure_ - boolean - the `Secure` cookie flag - * _httpOnly_ - boolean - the `HttpOnly` cookie flag - * _extensions_ - `Array` - any unrecognized cookie attributes as strings (even if equal-signs inside) - * _creation_ - `Date` - when this cookie was constructed - * _creationIndex_ - number - set at construction, used to provide greater sort precision (please see `cookieCompare(a,b)` for a full explanation) - -After a cookie has been passed through `CookieJar.setCookie()` it will have the following additional attributes: - - * _hostOnly_ - boolean - is this a host-only cookie (i.e. no Domain field was set, but was instead implied) - * _pathIsDefault_ - boolean - if true, there was no Path field on the cookie and `defaultPath()` was used to derive one. - * _creation_ - `Date` - **modified** from construction to when the cookie was added to the jar - * _lastAccessed_ - `Date` - last time the cookie got accessed. Will affect cookie cleaning once implemented. Using `cookiejar.getCookies(...)` will update this attribute. - -### `Cookie([{properties}])` - -Receives an options object that can contain any of the above Cookie properties, uses the default for unspecified properties. - -### `.toString()` - -encode to a Set-Cookie header value. The Expires cookie field is set using `formatDate()`, but is omitted entirely if `.expires` is `Infinity`. - -### `.cookieString()` - -encode to a Cookie header value (i.e. the `.key` and `.value` properties joined with '='). - -### `.setExpires(String)` - -sets the expiry based on a date-string passed through `parseDate()`. If parseDate returns `null` (i.e. can't parse this date string), `.expires` is set to `"Infinity"` (a string) is set. - -### `.setMaxAge(number)` - -sets the maxAge in seconds. Coerces `-Infinity` to `"-Infinity"` and `Infinity` to `"Infinity"` so it JSON serializes correctly. - -### `.expiryTime([now=Date.now()])` - -### `.expiryDate([now=Date.now()])` - -expiryTime() Computes the absolute unix-epoch milliseconds that this cookie expires. expiryDate() works similarly, except it returns a `Date` object. Note that in both cases the `now` parameter should be milliseconds. - -Max-Age takes precedence over Expires (as per the RFC). The `.creation` attribute -- or, by default, the `now` paramter -- is used to offset the `.maxAge` attribute. - -If Expires (`.expires`) is set, that's returned. - -Otherwise, `expiryTime()` returns `Infinity` and `expiryDate()` returns a `Date` object for "Tue, 19 Jan 2038 03:14:07 GMT" (latest date that can be expressed by a 32-bit `time_t`; the common limit for most user-agents). - -### `.TTL([now=Date.now()])` - -compute the TTL relative to `now` (milliseconds). The same precedence rules as for `expiryTime`/`expiryDate` apply. - -The "number" `Infinity` is returned for cookies without an explicit expiry and `0` is returned if the cookie is expired. Otherwise a time-to-live in milliseconds is returned. - -### `.canonicalizedDoman()` - -### `.cdomain()` - -return the canonicalized `.domain` field. This is lower-cased and punycode (RFC3490) encoded if the domain has any non-ASCII characters. - -### `.toJSON()` - -For convenience in using `JSON.serialize(cookie)`. Returns a plain-old `Object` that can be JSON-serialized. - -Any `Date` properties (i.e., `.expires`, `.creation`, and `.lastAccessed`) are exported in ISO format (`.toISOString()`). - -**NOTE**: Custom `Cookie` properties will be discarded. In tough-cookie 1.x, since there was no `.toJSON` method explicitly defined, all enumerable properties were captured. If you want a property to be serialized, add the property name to the `Cookie.serializableProperties` Array. - -### `Cookie.fromJSON(strOrObj)` - -Does the reverse of `cookie.toJSON()`. If passed a string, will `JSON.parse()` that first. - -Any `Date` properties (i.e., `.expires`, `.creation`, and `.lastAccessed`) are parsed via `Date.parse()`, not the tough-cookie `parseDate`, since it's JavaScript/JSON-y timestamps being handled at this layer. - -Returns `null` upon JSON parsing error. - -### `.clone()` - -Does a deep clone of this cookie, exactly implemented as `Cookie.fromJSON(cookie.toJSON())`. - -### `.validate()` - -Status: *IN PROGRESS*. Works for a few things, but is by no means comprehensive. - -validates cookie attributes for semantic correctness. Useful for "lint" checking any Set-Cookie headers you generate. For now, it returns a boolean, but eventually could return a reason string -- you can future-proof with this construct: - -``` javascript -if (cookie.validate() === true) { - // it's tasty -} else { - // yuck! -} -``` - - -## CookieJar - -Exported via `tough.CookieJar`. - -### `CookieJar([store],[options])` - -Simply use `new CookieJar()`. If you'd like to use a custom store, pass that to the constructor otherwise a `MemoryCookieStore` will be created and used. - -The `options` object can be omitted and can have the following properties: - - * _rejectPublicSuffixes_ - boolean - default `true` - reject cookies with domains like "com" and "co.uk" - * _looseMode_ - boolean - default `false` - accept malformed cookies like `bar` and `=bar`, which have an implied empty name. - This is not in the standard, but is used sometimes on the web and is accepted by (most) browsers. - -Since eventually this module would like to support database/remote/etc. CookieJars, continuation passing style is used for CookieJar methods. - -### `.setCookie(cookieOrString, currentUrl, [{options},] cb(err,cookie))` - -Attempt to set the cookie in the cookie jar. If the operation fails, an error will be given to the callback `cb`, otherwise the cookie is passed through. The cookie will have updated `.creation`, `.lastAccessed` and `.hostOnly` properties. - -The `options` object can be omitted and can have the following properties: - - * _http_ - boolean - default `true` - indicates if this is an HTTP or non-HTTP API. Affects HttpOnly cookies. - * _secure_ - boolean - autodetect from url - indicates if this is a "Secure" API. If the currentUrl starts with `https:` or `wss:` then this is defaulted to `true`, otherwise `false`. - * _now_ - Date - default `new Date()` - what to use for the creation/access time of cookies - * _ignoreError_ - boolean - default `false` - silently ignore things like parse errors and invalid domains. `Store` errors aren't ignored by this option. - -As per the RFC, the `.hostOnly` property is set if there was no "Domain=" parameter in the cookie string (or `.domain` was null on the Cookie object). The `.domain` property is set to the fully-qualified hostname of `currentUrl` in this case. Matching this cookie requires an exact hostname match (not a `domainMatch` as per usual). - -### `.setCookieSync(cookieOrString, currentUrl, [{options}])` - -Synchronous version of `setCookie`; only works with synchronous stores (e.g. the default `MemoryCookieStore`). - -### `.getCookies(currentUrl, [{options},] cb(err,cookies))` - -Retrieve the list of cookies that can be sent in a Cookie header for the current url. - -If an error is encountered, that's passed as `err` to the callback, otherwise an `Array` of `Cookie` objects is passed. The array is sorted with `cookieCompare()` unless the `{sort:false}` option is given. - -The `options` object can be omitted and can have the following properties: - - * _http_ - boolean - default `true` - indicates if this is an HTTP or non-HTTP API. Affects HttpOnly cookies. - * _secure_ - boolean - autodetect from url - indicates if this is a "Secure" API. If the currentUrl starts with `https:` or `wss:` then this is defaulted to `true`, otherwise `false`. - * _now_ - Date - default `new Date()` - what to use for the creation/access time of cookies - * _expire_ - boolean - default `true` - perform expiry-time checking of cookies and asynchronously remove expired cookies from the store. Using `false` will return expired cookies and **not** remove them from the store (which is useful for replaying Set-Cookie headers, potentially). - * _allPaths_ - boolean - default `false` - if `true`, do not scope cookies by path. The default uses RFC-compliant path scoping. **Note**: may not be supported by the underlying store (the default `MemoryCookieStore` supports it). - -The `.lastAccessed` property of the returned cookies will have been updated. - -### `.getCookiesSync(currentUrl, [{options}])` - -Synchronous version of `getCookies`; only works with synchronous stores (e.g. the default `MemoryCookieStore`). - -### `.getCookieString(...)` - -Accepts the same options as `.getCookies()` but passes a string suitable for a Cookie header rather than an array to the callback. Simply maps the `Cookie` array via `.cookieString()`. - -### `.getCookieStringSync(...)` - -Synchronous version of `getCookieString`; only works with synchronous stores (e.g. the default `MemoryCookieStore`). - -### `.getSetCookieStrings(...)` - -Returns an array of strings suitable for **Set-Cookie** headers. Accepts the same options as `.getCookies()`. Simply maps the cookie array via `.toString()`. - -### `.getSetCookieStringsSync(...)` - -Synchronous version of `getSetCookieStrings`; only works with synchronous stores (e.g. the default `MemoryCookieStore`). - -### `.serialize(cb(err,serializedObject))` - -Serialize the Jar if the underlying store supports `.getAllCookies`. - -**NOTE**: Custom `Cookie` properties will be discarded. If you want a property to be serialized, add the property name to the `Cookie.serializableProperties` Array. - -See [Serialization Format]. - -### `.serializeSync()` - -Sync version of .serialize - -### `.toJSON()` - -Alias of .serializeSync() for the convenience of `JSON.stringify(cookiejar)`. - -### `CookieJar.deserialize(serialized, [store], cb(err,object))` - -A new Jar is created and the serialized Cookies are added to the underlying store. Each `Cookie` is added via `store.putCookie` in the order in which they appear in the serialization. - -The `store` argument is optional, but should be an instance of `Store`. By default, a new instance of `MemoryCookieStore` is created. - -As a convenience, if `serialized` is a string, it is passed through `JSON.parse` first. If that throws an error, this is passed to the callback. - -### `CookieJar.deserializeSync(serialized, [store])` - -Sync version of `.deserialize`. _Note_ that the `store` must be synchronous for this to work. - -### `CookieJar.fromJSON(string)` - -Alias of `.deserializeSync` to provide consistency with `Cookie.fromJSON()`. - -### `.clone([store,]cb(err,newJar))` - -Produces a deep clone of this jar. Modifications to the original won't affect the clone, and vice versa. - -The `store` argument is optional, but should be an instance of `Store`. By default, a new instance of `MemoryCookieStore` is created. Transferring between store types is supported so long as the source implements `.getAllCookies()` and the destination implements `.putCookie()`. - -### `.cloneSync([store])` - -Synchronous version of `.clone`, returning a new `CookieJar` instance. - -The `store` argument is optional, but must be a _synchronous_ `Store` instance if specified. If not passed, a new instance of `MemoryCookieStore` is used. - -The _source_ and _destination_ must both be synchronous `Store`s. If one or both stores are asynchronous, use `.clone` instead. Recall that `MemoryCookieStore` supports both synchronous and asynchronous API calls. - -## Store - -Base class for CookieJar stores. Available as `tough.Store`. - -## Store API - -The storage model for each `CookieJar` instance can be replaced with a custom implementation. The default is `MemoryCookieStore` which can be found in the `lib/memstore.js` file. The API uses continuation-passing-style to allow for asynchronous stores. - -Stores should inherit from the base `Store` class, which is available as `require('tough-cookie').Store`. - -Stores are asynchronous by default, but if `store.synchronous` is set to `true`, then the `*Sync` methods on the of the containing `CookieJar` can be used (however, the continuation-passing style - -All `domain` parameters will have been normalized before calling. - -The Cookie store must have all of the following methods. - -### `store.findCookie(domain, path, key, cb(err,cookie))` - -Retrieve a cookie with the given domain, path and key (a.k.a. name). The RFC maintains that exactly one of these cookies should exist in a store. If the store is using versioning, this means that the latest/newest such cookie should be returned. - -Callback takes an error and the resulting `Cookie` object. If no cookie is found then `null` MUST be passed instead (i.e. not an error). - -### `store.findCookies(domain, path, cb(err,cookies))` - -Locates cookies matching the given domain and path. This is most often called in the context of `cookiejar.getCookies()` above. - -If no cookies are found, the callback MUST be passed an empty array. - -The resulting list will be checked for applicability to the current request according to the RFC (domain-match, path-match, http-only-flag, secure-flag, expiry, etc.), so it's OK to use an optimistic search algorithm when implementing this method. However, the search algorithm used SHOULD try to find cookies that `domainMatch()` the domain and `pathMatch()` the path in order to limit the amount of checking that needs to be done. - -As of version 0.9.12, the `allPaths` option to `cookiejar.getCookies()` above will cause the path here to be `null`. If the path is `null`, path-matching MUST NOT be performed (i.e. domain-matching only). - -### `store.putCookie(cookie, cb(err))` - -Adds a new cookie to the store. The implementation SHOULD replace any existing cookie with the same `.domain`, `.path`, and `.key` properties -- depending on the nature of the implementation, it's possible that between the call to `fetchCookie` and `putCookie` that a duplicate `putCookie` can occur. - -The `cookie` object MUST NOT be modified; the caller will have already updated the `.creation` and `.lastAccessed` properties. - -Pass an error if the cookie cannot be stored. - -### `store.updateCookie(oldCookie, newCookie, cb(err))` - -Update an existing cookie. The implementation MUST update the `.value` for a cookie with the same `domain`, `.path` and `.key`. The implementation SHOULD check that the old value in the store is equivalent to `oldCookie` - how the conflict is resolved is up to the store. - -The `.lastAccessed` property will always be different between the two objects (to the precision possible via JavaScript's clock). Both `.creation` and `.creationIndex` are guaranteed to be the same. Stores MAY ignore or defer the `.lastAccessed` change at the cost of affecting how cookies are selected for automatic deletion (e.g., least-recently-used, which is up to the store to implement). - -Stores may wish to optimize changing the `.value` of the cookie in the store versus storing a new cookie. If the implementation doesn't define this method a stub that calls `putCookie(newCookie,cb)` will be added to the store object. - -The `newCookie` and `oldCookie` objects MUST NOT be modified. - -Pass an error if the newCookie cannot be stored. - -### `store.removeCookie(domain, path, key, cb(err))` - -Remove a cookie from the store (see notes on `findCookie` about the uniqueness constraint). - -The implementation MUST NOT pass an error if the cookie doesn't exist; only pass an error due to the failure to remove an existing cookie. - -### `store.removeCookies(domain, path, cb(err))` - -Removes matching cookies from the store. The `path` parameter is optional, and if missing means all paths in a domain should be removed. - -Pass an error ONLY if removing any existing cookies failed. - -### `store.getAllCookies(cb(err, cookies))` - -Produces an `Array` of all cookies during `jar.serialize()`. The items in the array can be true `Cookie` objects or generic `Object`s with the [Serialization Format] data structure. - -Cookies SHOULD be returned in creation order to preserve sorting via `compareCookies()`. For reference, `MemoryCookieStore` will sort by `.creationIndex` since it uses true `Cookie` objects internally. If you don't return the cookies in creation order, they'll still be sorted by creation time, but this only has a precision of 1ms. See `compareCookies` for more detail. - -Pass an error if retrieval fails. - -## MemoryCookieStore - -Inherits from `Store`. - -A just-in-memory CookieJar synchronous store implementation, used by default. Despite being a synchronous implementation, it's usable with both the synchronous and asynchronous forms of the `CookieJar` API. - -## Community Cookie Stores - -These are some Store implementations authored and maintained by the community. They aren't official and we don't vouch for them but you may be interested to have a look: - -- [`db-cookie-store`](https://github.com/JSBizon/db-cookie-store): SQL including SQLite-based databases -- [`file-cookie-store`](https://github.com/JSBizon/file-cookie-store): Netscape cookie file format on disk -- [`redis-cookie-store`](https://github.com/benkroeger/redis-cookie-store): Redis -- [`tough-cookie-filestore`](https://github.com/mitsuru/tough-cookie-filestore): JSON on disk -- [`tough-cookie-web-storage-store`](https://github.com/exponentjs/tough-cookie-web-storage-store): DOM localStorage and sessionStorage - - -# Serialization Format - -**NOTE**: if you want to have custom `Cookie` properties serialized, add the property name to `Cookie.serializableProperties`. - -```js - { - // The version of tough-cookie that serialized this jar. - version: 'tough-cookie@1.x.y', - - // add the store type, to make humans happy: - storeType: 'MemoryCookieStore', - - // CookieJar configuration: - rejectPublicSuffixes: true, - // ... future items go here - - // Gets filled from jar.store.getAllCookies(): - cookies: [ - { - key: 'string', - value: 'string', - // ... - /* other Cookie.serializableProperties go here */ - } - ] - } -``` - -# Copyright and License - -(tl;dr: BSD-3-Clause with some MPL/2.0) - -```text - Copyright (c) 2015, Salesforce.com, Inc. - 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. - - 3. Neither the name of Salesforce.com 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 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. -``` - -Portions may be licensed under different licenses (in particular `public_suffix_list.dat` is MPL/2.0); please read that file and the LICENSE file for full details. diff --git a/publi/node_modules/tough-cookie/lib/cookie.js b/publi/node_modules/tough-cookie/lib/cookie.js deleted file mode 100644 index ccf941f..0000000 --- a/publi/node_modules/tough-cookie/lib/cookie.js +++ /dev/null @@ -1,1341 +0,0 @@ -/*! - * Copyright (c) 2015, Salesforce.com, Inc. - * 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. - * - * 3. Neither the name of Salesforce.com 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 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. - */ -'use strict'; -var net = require('net'); -var urlParse = require('url').parse; -var pubsuffix = require('./pubsuffix'); -var Store = require('./store').Store; -var MemoryCookieStore = require('./memstore').MemoryCookieStore; -var pathMatch = require('./pathMatch').pathMatch; -var VERSION = require('../package.json').version; - -var punycode; -try { - punycode = require('punycode'); -} catch(e) { - console.warn("cookie: can't load punycode; won't use punycode for domain normalization"); -} - -var DATE_DELIM = /[\x09\x20-\x2F\x3B-\x40\x5B-\x60\x7B-\x7E]/; - -// From RFC6265 S4.1.1 -// note that it excludes \x3B ";" -var COOKIE_OCTET = /[\x21\x23-\x2B\x2D-\x3A\x3C-\x5B\x5D-\x7E]/; -var COOKIE_OCTETS = new RegExp('^'+COOKIE_OCTET.source+'+$'); - -var CONTROL_CHARS = /[\x00-\x1F]/; - -// For COOKIE_PAIR and LOOSE_COOKIE_PAIR below, the number of spaces has been -// restricted to 256 to side-step a ReDoS issue reported here: -// https://github.com/salesforce/tough-cookie/issues/92 - -// Double quotes are part of the value (see: S4.1.1). -// '\r', '\n' and '\0' should be treated as a terminator in the "relaxed" mode -// (see: https://github.com/ChromiumWebApps/chromium/blob/b3d3b4da8bb94c1b2e061600df106d590fda3620/net/cookies/parsed_cookie.cc#L60) -// '=' and ';' are attribute/values separators -// (see: https://github.com/ChromiumWebApps/chromium/blob/b3d3b4da8bb94c1b2e061600df106d590fda3620/net/cookies/parsed_cookie.cc#L64) -var COOKIE_PAIR = /^(([^=;]+))\s{0,256}=\s*([^\n\r\0]*)/; - -// Used to parse non-RFC-compliant cookies like '=abc' when given the `loose` -// option in Cookie.parse: -var LOOSE_COOKIE_PAIR = /^((?:=)?([^=;]*)\s{0,256}=\s*)?([^\n\r\0]*)/; - -// RFC6265 S4.1.1 defines path value as 'any CHAR except CTLs or ";"' -// Note ';' is \x3B -var PATH_VALUE = /[\x20-\x3A\x3C-\x7E]+/; - -var DAY_OF_MONTH = /^(\d{1,2})[^\d]*$/; -var TIME = /^(\d{1,2})[^\d]*:(\d{1,2})[^\d]*:(\d{1,2})[^\d]*$/; -var MONTH = /^(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)/i; - -var MONTH_TO_NUM = { - jan:0, feb:1, mar:2, apr:3, may:4, jun:5, - jul:6, aug:7, sep:8, oct:9, nov:10, dec:11 -}; -var NUM_TO_MONTH = [ - 'Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec' -]; -var NUM_TO_DAY = [ - 'Sun','Mon','Tue','Wed','Thu','Fri','Sat' -]; - -var YEAR = /^(\d{2}|\d{4})$/; // 2 to 4 digits - -var MAX_TIME = 2147483647000; // 31-bit max -var MIN_TIME = 0; // 31-bit min - - -// RFC6265 S5.1.1 date parser: -function parseDate(str) { - if (!str) { - return; - } - - /* RFC6265 S5.1.1: - * 2. Process each date-token sequentially in the order the date-tokens - * appear in the cookie-date - */ - var tokens = str.split(DATE_DELIM); - if (!tokens) { - return; - } - - var hour = null; - var minutes = null; - var seconds = null; - var day = null; - var month = null; - var year = null; - - for (var i=0; i 23 || minutes > 59 || seconds > 59) { - return; - } - - continue; - } - } - - /* 2.2. If the found-day-of-month flag is not set and the date-token matches - * the day-of-month production, set the found-day-of- month flag and set - * the day-of-month-value to the number denoted by the date-token. Skip - * the remaining sub-steps and continue to the next date-token. - */ - if (day === null) { - result = DAY_OF_MONTH.exec(token); - if (result) { - day = parseInt(result, 10); - /* RFC6265 S5.1.1.5: - * [fail if] the day-of-month-value is less than 1 or greater than 31 - */ - if(day < 1 || day > 31) { - return; - } - continue; - } - } - - /* 2.3. If the found-month flag is not set and the date-token matches the - * month production, set the found-month flag and set the month-value to - * the month denoted by the date-token. Skip the remaining sub-steps and - * continue to the next date-token. - */ - if (month === null) { - result = MONTH.exec(token); - if (result) { - month = MONTH_TO_NUM[result[1].toLowerCase()]; - continue; - } - } - - /* 2.4. If the found-year flag is not set and the date-token matches the year - * production, set the found-year flag and set the year-value to the number - * denoted by the date-token. Skip the remaining sub-steps and continue to - * the next date-token. - */ - if (year === null) { - result = YEAR.exec(token); - if (result) { - year = parseInt(result[0], 10); - /* From S5.1.1: - * 3. If the year-value is greater than or equal to 70 and less - * than or equal to 99, increment the year-value by 1900. - * 4. If the year-value is greater than or equal to 0 and less - * than or equal to 69, increment the year-value by 2000. - */ - if (70 <= year && year <= 99) { - year += 1900; - } else if (0 <= year && year <= 69) { - year += 2000; - } - - if (year < 1601) { - return; // 5. ... the year-value is less than 1601 - } - } - } - } - - if (seconds === null || day === null || month === null || year === null) { - return; // 5. ... at least one of the found-day-of-month, found-month, found- - // year, or found-time flags is not set, - } - - return new Date(Date.UTC(year, month, day, hour, minutes, seconds)); -} - -function formatDate(date) { - var d = date.getUTCDate(); d = d >= 10 ? d : '0'+d; - var h = date.getUTCHours(); h = h >= 10 ? h : '0'+h; - var m = date.getUTCMinutes(); m = m >= 10 ? m : '0'+m; - var s = date.getUTCSeconds(); s = s >= 10 ? s : '0'+s; - return NUM_TO_DAY[date.getUTCDay()] + ', ' + - d+' '+ NUM_TO_MONTH[date.getUTCMonth()] +' '+ date.getUTCFullYear() +' '+ - h+':'+m+':'+s+' GMT'; -} - -// S5.1.2 Canonicalized Host Names -function canonicalDomain(str) { - if (str == null) { - return null; - } - str = str.trim().replace(/^\./,''); // S4.1.2.3 & S5.2.3: ignore leading . - - // convert to IDN if any non-ASCII characters - if (punycode && /[^\u0001-\u007f]/.test(str)) { - str = punycode.toASCII(str); - } - - return str.toLowerCase(); -} - -// S5.1.3 Domain Matching -function domainMatch(str, domStr, canonicalize) { - if (str == null || domStr == null) { - return null; - } - if (canonicalize !== false) { - str = canonicalDomain(str); - domStr = canonicalDomain(domStr); - } - - /* - * "The domain string and the string are identical. (Note that both the - * domain string and the string will have been canonicalized to lower case at - * this point)" - */ - if (str == domStr) { - return true; - } - - /* "All of the following [three] conditions hold:" (order adjusted from the RFC) */ - - /* "* The string is a host name (i.e., not an IP address)." */ - if (net.isIP(str)) { - return false; - } - - /* "* The domain string is a suffix of the string" */ - var idx = str.indexOf(domStr); - if (idx <= 0) { - return false; // it's a non-match (-1) or prefix (0) - } - - // e.g "a.b.c".indexOf("b.c") === 2 - // 5 === 3+2 - if (str.length !== domStr.length + idx) { // it's not a suffix - return false; - } - - /* "* The last character of the string that is not included in the domain - * string is a %x2E (".") character." */ - if (str.substr(idx-1,1) !== '.') { - return false; - } - - return true; -} - - -// RFC6265 S5.1.4 Paths and Path-Match - -/* - * "The user agent MUST use an algorithm equivalent to the following algorithm - * to compute the default-path of a cookie:" - * - * Assumption: the path (and not query part or absolute uri) is passed in. - */ -function defaultPath(path) { - // "2. If the uri-path is empty or if the first character of the uri-path is not - // a %x2F ("/") character, output %x2F ("/") and skip the remaining steps. - if (!path || path.substr(0,1) !== "/") { - return "/"; - } - - // "3. If the uri-path contains no more than one %x2F ("/") character, output - // %x2F ("/") and skip the remaining step." - if (path === "/") { - return path; - } - - var rightSlash = path.lastIndexOf("/"); - if (rightSlash === 0) { - return "/"; - } - - // "4. Output the characters of the uri-path from the first character up to, - // but not including, the right-most %x2F ("/")." - return path.slice(0, rightSlash); -} - - -function parse(str, options) { - if (!options || typeof options !== 'object') { - options = {}; - } - str = str.trim(); - - // We use a regex to parse the "name-value-pair" part of S5.2 - var firstSemi = str.indexOf(';'); // S5.2 step 1 - var pairRe = options.loose ? LOOSE_COOKIE_PAIR : COOKIE_PAIR; - var result = pairRe.exec(firstSemi === -1 ? str : str.substr(0,firstSemi)); - - // Rx satisfies the "the name string is empty" and "lacks a %x3D ("=")" - // constraints as well as trimming any whitespace. - if (!result) { - return; - } - - var c = new Cookie(); - if (result[1]) { - c.key = result[2].trim(); - } else { - c.key = ''; - } - c.value = result[3].trim(); - if (CONTROL_CHARS.test(c.key) || CONTROL_CHARS.test(c.value)) { - return; - } - - if (firstSemi === -1) { - return c; - } - - // S5.2.3 "unparsed-attributes consist of the remainder of the set-cookie-string - // (including the %x3B (";") in question)." plus later on in the same section - // "discard the first ";" and trim". - var unparsed = str.slice(firstSemi + 1).trim(); - - // "If the unparsed-attributes string is empty, skip the rest of these - // steps." - if (unparsed.length === 0) { - return c; - } - - /* - * S5.2 says that when looping over the items "[p]rocess the attribute-name - * and attribute-value according to the requirements in the following - * subsections" for every item. Plus, for many of the individual attributes - * in S5.3 it says to use the "attribute-value of the last attribute in the - * cookie-attribute-list". Therefore, in this implementation, we overwrite - * the previous value. - */ - var cookie_avs = unparsed.split(';'); - while (cookie_avs.length) { - var av = cookie_avs.shift().trim(); - if (av.length === 0) { // happens if ";;" appears - continue; - } - var av_sep = av.indexOf('='); - var av_key, av_value; - - if (av_sep === -1) { - av_key = av; - av_value = null; - } else { - av_key = av.substr(0,av_sep); - av_value = av.substr(av_sep+1); - } - - av_key = av_key.trim().toLowerCase(); - - if (av_value) { - av_value = av_value.trim(); - } - - switch(av_key) { - case 'expires': // S5.2.1 - if (av_value) { - var exp = parseDate(av_value); - // "If the attribute-value failed to parse as a cookie date, ignore the - // cookie-av." - if (exp) { - // over and underflow not realistically a concern: V8's getTime() seems to - // store something larger than a 32-bit time_t (even with 32-bit node) - c.expires = exp; - } - } - break; - - case 'max-age': // S5.2.2 - if (av_value) { - // "If the first character of the attribute-value is not a DIGIT or a "-" - // character ...[or]... If the remainder of attribute-value contains a - // non-DIGIT character, ignore the cookie-av." - if (/^-?[0-9]+$/.test(av_value)) { - var delta = parseInt(av_value, 10); - // "If delta-seconds is less than or equal to zero (0), let expiry-time - // be the earliest representable date and time." - c.setMaxAge(delta); - } - } - break; - - case 'domain': // S5.2.3 - // "If the attribute-value is empty, the behavior is undefined. However, - // the user agent SHOULD ignore the cookie-av entirely." - if (av_value) { - // S5.2.3 "Let cookie-domain be the attribute-value without the leading %x2E - // (".") character." - var domain = av_value.trim().replace(/^\./, ''); - if (domain) { - // "Convert the cookie-domain to lower case." - c.domain = domain.toLowerCase(); - } - } - break; - - case 'path': // S5.2.4 - /* - * "If the attribute-value is empty or if the first character of the - * attribute-value is not %x2F ("/"): - * Let cookie-path be the default-path. - * Otherwise: - * Let cookie-path be the attribute-value." - * - * We'll represent the default-path as null since it depends on the - * context of the parsing. - */ - c.path = av_value && av_value[0] === "/" ? av_value : null; - break; - - case 'secure': // S5.2.5 - /* - * "If the attribute-name case-insensitively matches the string "Secure", - * the user agent MUST append an attribute to the cookie-attribute-list - * with an attribute-name of Secure and an empty attribute-value." - */ - c.secure = true; - break; - - case 'httponly': // S5.2.6 -- effectively the same as 'secure' - c.httpOnly = true; - break; - - default: - c.extensions = c.extensions || []; - c.extensions.push(av); - break; - } - } - - return c; -} - -// avoid the V8 deoptimization monster! -function jsonParse(str) { - var obj; - try { - obj = JSON.parse(str); - } catch (e) { - return e; - } - return obj; -} - -function fromJSON(str) { - if (!str) { - return null; - } - - var obj; - if (typeof str === 'string') { - obj = jsonParse(str); - if (obj instanceof Error) { - return null; - } - } else { - // assume it's an Object - obj = str; - } - - var c = new Cookie(); - for (var i=0; i 1) { - var lindex = path.lastIndexOf('/'); - if (lindex === 0) { - break; - } - path = path.substr(0,lindex); - permutations.push(path); - } - permutations.push('/'); - return permutations; -} - -function getCookieContext(url) { - if (url instanceof Object) { - return url; - } - // NOTE: decodeURI will throw on malformed URIs (see GH-32). - // Therefore, we will just skip decoding for such URIs. - try { - url = decodeURI(url); - } - catch(err) { - // Silently swallow error - } - - return urlParse(url); -} - -function Cookie(options) { - options = options || {}; - - Object.keys(options).forEach(function(prop) { - if (Cookie.prototype.hasOwnProperty(prop) && - Cookie.prototype[prop] !== options[prop] && - prop.substr(0,1) !== '_') - { - this[prop] = options[prop]; - } - }, this); - - this.creation = this.creation || new Date(); - - // used to break creation ties in cookieCompare(): - Object.defineProperty(this, 'creationIndex', { - configurable: false, - enumerable: false, // important for assert.deepEqual checks - writable: true, - value: ++Cookie.cookiesCreated - }); -} - -Cookie.cookiesCreated = 0; // incremented each time a cookie is created - -Cookie.parse = parse; -Cookie.fromJSON = fromJSON; - -Cookie.prototype.key = ""; -Cookie.prototype.value = ""; - -// the order in which the RFC has them: -Cookie.prototype.expires = "Infinity"; // coerces to literal Infinity -Cookie.prototype.maxAge = null; // takes precedence over expires for TTL -Cookie.prototype.domain = null; -Cookie.prototype.path = null; -Cookie.prototype.secure = false; -Cookie.prototype.httpOnly = false; -Cookie.prototype.extensions = null; - -// set by the CookieJar: -Cookie.prototype.hostOnly = null; // boolean when set -Cookie.prototype.pathIsDefault = null; // boolean when set -Cookie.prototype.creation = null; // Date when set; defaulted by Cookie.parse -Cookie.prototype.lastAccessed = null; // Date when set -Object.defineProperty(Cookie.prototype, 'creationIndex', { - configurable: true, - enumerable: false, - writable: true, - value: 0 -}); - -Cookie.serializableProperties = Object.keys(Cookie.prototype) - .filter(function(prop) { - return !( - Cookie.prototype[prop] instanceof Function || - prop === 'creationIndex' || - prop.substr(0,1) === '_' - ); - }); - -Cookie.prototype.inspect = function inspect() { - var now = Date.now(); - return 'Cookie="'+this.toString() + - '; hostOnly='+(this.hostOnly != null ? this.hostOnly : '?') + - '; aAge='+(this.lastAccessed ? (now-this.lastAccessed.getTime())+'ms' : '?') + - '; cAge='+(this.creation ? (now-this.creation.getTime())+'ms' : '?') + - '"'; -}; - -Cookie.prototype.toJSON = function() { - var obj = {}; - - var props = Cookie.serializableProperties; - for (var i=0; i suffixLen) { - var publicSuffix = parts.slice(0,suffixLen+1).reverse().join('.'); - return converted ? punycode.toUnicode(publicSuffix) : publicSuffix; - } - - return null; -}; - -// The following generated structure is used under the MPL version 2.0 -// See public-suffix.txt for more information - -var index = module.exports.index = Object.freeze( -{"ac":true,"com.ac":true,"edu.ac":true,"gov.ac":true,"net.ac":true,"mil.ac":true,"org.ac":true,"ad":true,"nom.ad":true,"ae":true,"co.ae":true,"net.ae":true,"org.ae":true,"sch.ae":true,"ac.ae":true,"gov.ae":true,"mil.ae":true,"aero":true,"accident-investigation.aero":true,"accident-prevention.aero":true,"aerobatic.aero":true,"aeroclub.aero":true,"aerodrome.aero":true,"agents.aero":true,"aircraft.aero":true,"airline.aero":true,"airport.aero":true,"air-surveillance.aero":true,"airtraffic.aero":true,"air-traffic-control.aero":true,"ambulance.aero":true,"amusement.aero":true,"association.aero":true,"author.aero":true,"ballooning.aero":true,"broker.aero":true,"caa.aero":true,"cargo.aero":true,"catering.aero":true,"certification.aero":true,"championship.aero":true,"charter.aero":true,"civilaviation.aero":true,"club.aero":true,"conference.aero":true,"consultant.aero":true,"consulting.aero":true,"control.aero":true,"council.aero":true,"crew.aero":true,"design.aero":true,"dgca.aero":true,"educator.aero":true,"emergency.aero":true,"engine.aero":true,"engineer.aero":true,"entertainment.aero":true,"equipment.aero":true,"exchange.aero":true,"express.aero":true,"federation.aero":true,"flight.aero":true,"freight.aero":true,"fuel.aero":true,"gliding.aero":true,"government.aero":true,"groundhandling.aero":true,"group.aero":true,"hanggliding.aero":true,"homebuilt.aero":true,"insurance.aero":true,"journal.aero":true,"journalist.aero":true,"leasing.aero":true,"logistics.aero":true,"magazine.aero":true,"maintenance.aero":true,"media.aero":true,"microlight.aero":true,"modelling.aero":true,"navigation.aero":true,"parachuting.aero":true,"paragliding.aero":true,"passenger-association.aero":true,"pilot.aero":true,"press.aero":true,"production.aero":true,"recreation.aero":true,"repbody.aero":true,"res.aero":true,"research.aero":true,"rotorcraft.aero":true,"safety.aero":true,"scientist.aero":true,"services.aero":true,"show.aero":true,"skydiving.aero":true,"software.aero":true,"student.aero":true,"trader.aero":true,"trading.aero":true,"trainer.aero":true,"union.aero":true,"workinggroup.aero":true,"works.aero":true,"af":true,"gov.af":true,"com.af":true,"org.af":true,"net.af":true,"edu.af":true,"ag":true,"com.ag":true,"org.ag":true,"net.ag":true,"co.ag":true,"nom.ag":true,"ai":true,"off.ai":true,"com.ai":true,"net.ai":true,"org.ai":true,"al":true,"com.al":true,"edu.al":true,"gov.al":true,"mil.al":true,"net.al":true,"org.al":true,"am":true,"ao":true,"ed.ao":true,"gv.ao":true,"og.ao":true,"co.ao":true,"pb.ao":true,"it.ao":true,"aq":true,"ar":true,"com.ar":true,"edu.ar":true,"gob.ar":true,"gov.ar":true,"int.ar":true,"mil.ar":true,"net.ar":true,"org.ar":true,"tur.ar":true,"arpa":true,"e164.arpa":true,"in-addr.arpa":true,"ip6.arpa":true,"iris.arpa":true,"uri.arpa":true,"urn.arpa":true,"as":true,"gov.as":true,"asia":true,"at":true,"ac.at":true,"co.at":true,"gv.at":true,"or.at":true,"au":true,"com.au":true,"net.au":true,"org.au":true,"edu.au":true,"gov.au":true,"asn.au":true,"id.au":true,"info.au":true,"conf.au":true,"oz.au":true,"act.au":true,"nsw.au":true,"nt.au":true,"qld.au":true,"sa.au":true,"tas.au":true,"vic.au":true,"wa.au":true,"act.edu.au":true,"nsw.edu.au":true,"nt.edu.au":true,"qld.edu.au":true,"sa.edu.au":true,"tas.edu.au":true,"vic.edu.au":true,"wa.edu.au":true,"qld.gov.au":true,"sa.gov.au":true,"tas.gov.au":true,"vic.gov.au":true,"wa.gov.au":true,"aw":true,"com.aw":true,"ax":true,"az":true,"com.az":true,"net.az":true,"int.az":true,"gov.az":true,"org.az":true,"edu.az":true,"info.az":true,"pp.az":true,"mil.az":true,"name.az":true,"pro.az":true,"biz.az":true,"ba":true,"com.ba":true,"edu.ba":true,"gov.ba":true,"mil.ba":true,"net.ba":true,"org.ba":true,"bb":true,"biz.bb":true,"co.bb":true,"com.bb":true,"edu.bb":true,"gov.bb":true,"info.bb":true,"net.bb":true,"org.bb":true,"store.bb":true,"tv.bb":true,"*.bd":true,"be":true,"ac.be":true,"bf":true,"gov.bf":true,"bg":true,"a.bg":true,"b.bg":true,"c.bg":true,"d.bg":true,"e.bg":true,"f.bg":true,"g.bg":true,"h.bg":true,"i.bg":true,"j.bg":true,"k.bg":true,"l.bg":true,"m.bg":true,"n.bg":true,"o.bg":true,"p.bg":true,"q.bg":true,"r.bg":true,"s.bg":true,"t.bg":true,"u.bg":true,"v.bg":true,"w.bg":true,"x.bg":true,"y.bg":true,"z.bg":true,"0.bg":true,"1.bg":true,"2.bg":true,"3.bg":true,"4.bg":true,"5.bg":true,"6.bg":true,"7.bg":true,"8.bg":true,"9.bg":true,"bh":true,"com.bh":true,"edu.bh":true,"net.bh":true,"org.bh":true,"gov.bh":true,"bi":true,"co.bi":true,"com.bi":true,"edu.bi":true,"or.bi":true,"org.bi":true,"biz":true,"bj":true,"asso.bj":true,"barreau.bj":true,"gouv.bj":true,"bm":true,"com.bm":true,"edu.bm":true,"gov.bm":true,"net.bm":true,"org.bm":true,"*.bn":true,"bo":true,"com.bo":true,"edu.bo":true,"gov.bo":true,"gob.bo":true,"int.bo":true,"org.bo":true,"net.bo":true,"mil.bo":true,"tv.bo":true,"br":true,"adm.br":true,"adv.br":true,"agr.br":true,"am.br":true,"arq.br":true,"art.br":true,"ato.br":true,"b.br":true,"bio.br":true,"blog.br":true,"bmd.br":true,"cim.br":true,"cng.br":true,"cnt.br":true,"com.br":true,"coop.br":true,"ecn.br":true,"eco.br":true,"edu.br":true,"emp.br":true,"eng.br":true,"esp.br":true,"etc.br":true,"eti.br":true,"far.br":true,"flog.br":true,"fm.br":true,"fnd.br":true,"fot.br":true,"fst.br":true,"g12.br":true,"ggf.br":true,"gov.br":true,"imb.br":true,"ind.br":true,"inf.br":true,"jor.br":true,"jus.br":true,"leg.br":true,"lel.br":true,"mat.br":true,"med.br":true,"mil.br":true,"mp.br":true,"mus.br":true,"net.br":true,"*.nom.br":true,"not.br":true,"ntr.br":true,"odo.br":true,"org.br":true,"ppg.br":true,"pro.br":true,"psc.br":true,"psi.br":true,"qsl.br":true,"radio.br":true,"rec.br":true,"slg.br":true,"srv.br":true,"taxi.br":true,"teo.br":true,"tmp.br":true,"trd.br":true,"tur.br":true,"tv.br":true,"vet.br":true,"vlog.br":true,"wiki.br":true,"zlg.br":true,"bs":true,"com.bs":true,"net.bs":true,"org.bs":true,"edu.bs":true,"gov.bs":true,"bt":true,"com.bt":true,"edu.bt":true,"gov.bt":true,"net.bt":true,"org.bt":true,"bv":true,"bw":true,"co.bw":true,"org.bw":true,"by":true,"gov.by":true,"mil.by":true,"com.by":true,"of.by":true,"bz":true,"com.bz":true,"net.bz":true,"org.bz":true,"edu.bz":true,"gov.bz":true,"ca":true,"ab.ca":true,"bc.ca":true,"mb.ca":true,"nb.ca":true,"nf.ca":true,"nl.ca":true,"ns.ca":true,"nt.ca":true,"nu.ca":true,"on.ca":true,"pe.ca":true,"qc.ca":true,"sk.ca":true,"yk.ca":true,"gc.ca":true,"cat":true,"cc":true,"cd":true,"gov.cd":true,"cf":true,"cg":true,"ch":true,"ci":true,"org.ci":true,"or.ci":true,"com.ci":true,"co.ci":true,"edu.ci":true,"ed.ci":true,"ac.ci":true,"net.ci":true,"go.ci":true,"asso.ci":true,"xn--aroport-bya.ci":true,"int.ci":true,"presse.ci":true,"md.ci":true,"gouv.ci":true,"*.ck":true,"www.ck":false,"cl":true,"gov.cl":true,"gob.cl":true,"co.cl":true,"mil.cl":true,"cm":true,"co.cm":true,"com.cm":true,"gov.cm":true,"net.cm":true,"cn":true,"ac.cn":true,"com.cn":true,"edu.cn":true,"gov.cn":true,"net.cn":true,"org.cn":true,"mil.cn":true,"xn--55qx5d.cn":true,"xn--io0a7i.cn":true,"xn--od0alg.cn":true,"ah.cn":true,"bj.cn":true,"cq.cn":true,"fj.cn":true,"gd.cn":true,"gs.cn":true,"gz.cn":true,"gx.cn":true,"ha.cn":true,"hb.cn":true,"he.cn":true,"hi.cn":true,"hl.cn":true,"hn.cn":true,"jl.cn":true,"js.cn":true,"jx.cn":true,"ln.cn":true,"nm.cn":true,"nx.cn":true,"qh.cn":true,"sc.cn":true,"sd.cn":true,"sh.cn":true,"sn.cn":true,"sx.cn":true,"tj.cn":true,"xj.cn":true,"xz.cn":true,"yn.cn":true,"zj.cn":true,"hk.cn":true,"mo.cn":true,"tw.cn":true,"co":true,"arts.co":true,"com.co":true,"edu.co":true,"firm.co":true,"gov.co":true,"info.co":true,"int.co":true,"mil.co":true,"net.co":true,"nom.co":true,"org.co":true,"rec.co":true,"web.co":true,"com":true,"coop":true,"cr":true,"ac.cr":true,"co.cr":true,"ed.cr":true,"fi.cr":true,"go.cr":true,"or.cr":true,"sa.cr":true,"cu":true,"com.cu":true,"edu.cu":true,"org.cu":true,"net.cu":true,"gov.cu":true,"inf.cu":true,"cv":true,"cw":true,"com.cw":true,"edu.cw":true,"net.cw":true,"org.cw":true,"cx":true,"gov.cx":true,"cy":true,"ac.cy":true,"biz.cy":true,"com.cy":true,"ekloges.cy":true,"gov.cy":true,"ltd.cy":true,"name.cy":true,"net.cy":true,"org.cy":true,"parliament.cy":true,"press.cy":true,"pro.cy":true,"tm.cy":true,"cz":true,"de":true,"dj":true,"dk":true,"dm":true,"com.dm":true,"net.dm":true,"org.dm":true,"edu.dm":true,"gov.dm":true,"do":true,"art.do":true,"com.do":true,"edu.do":true,"gob.do":true,"gov.do":true,"mil.do":true,"net.do":true,"org.do":true,"sld.do":true,"web.do":true,"dz":true,"com.dz":true,"org.dz":true,"net.dz":true,"gov.dz":true,"edu.dz":true,"asso.dz":true,"pol.dz":true,"art.dz":true,"ec":true,"com.ec":true,"info.ec":true,"net.ec":true,"fin.ec":true,"k12.ec":true,"med.ec":true,"pro.ec":true,"org.ec":true,"edu.ec":true,"gov.ec":true,"gob.ec":true,"mil.ec":true,"edu":true,"ee":true,"edu.ee":true,"gov.ee":true,"riik.ee":true,"lib.ee":true,"med.ee":true,"com.ee":true,"pri.ee":true,"aip.ee":true,"org.ee":true,"fie.ee":true,"eg":true,"com.eg":true,"edu.eg":true,"eun.eg":true,"gov.eg":true,"mil.eg":true,"name.eg":true,"net.eg":true,"org.eg":true,"sci.eg":true,"*.er":true,"es":true,"com.es":true,"nom.es":true,"org.es":true,"gob.es":true,"edu.es":true,"et":true,"com.et":true,"gov.et":true,"org.et":true,"edu.et":true,"biz.et":true,"name.et":true,"info.et":true,"net.et":true,"eu":true,"fi":true,"aland.fi":true,"*.fj":true,"*.fk":true,"fm":true,"fo":true,"fr":true,"com.fr":true,"asso.fr":true,"nom.fr":true,"prd.fr":true,"presse.fr":true,"tm.fr":true,"aeroport.fr":true,"assedic.fr":true,"avocat.fr":true,"avoues.fr":true,"cci.fr":true,"chambagri.fr":true,"chirurgiens-dentistes.fr":true,"experts-comptables.fr":true,"geometre-expert.fr":true,"gouv.fr":true,"greta.fr":true,"huissier-justice.fr":true,"medecin.fr":true,"notaires.fr":true,"pharmacien.fr":true,"port.fr":true,"veterinaire.fr":true,"ga":true,"gb":true,"gd":true,"ge":true,"com.ge":true,"edu.ge":true,"gov.ge":true,"org.ge":true,"mil.ge":true,"net.ge":true,"pvt.ge":true,"gf":true,"gg":true,"co.gg":true,"net.gg":true,"org.gg":true,"gh":true,"com.gh":true,"edu.gh":true,"gov.gh":true,"org.gh":true,"mil.gh":true,"gi":true,"com.gi":true,"ltd.gi":true,"gov.gi":true,"mod.gi":true,"edu.gi":true,"org.gi":true,"gl":true,"co.gl":true,"com.gl":true,"edu.gl":true,"net.gl":true,"org.gl":true,"gm":true,"gn":true,"ac.gn":true,"com.gn":true,"edu.gn":true,"gov.gn":true,"org.gn":true,"net.gn":true,"gov":true,"gp":true,"com.gp":true,"net.gp":true,"mobi.gp":true,"edu.gp":true,"org.gp":true,"asso.gp":true,"gq":true,"gr":true,"com.gr":true,"edu.gr":true,"net.gr":true,"org.gr":true,"gov.gr":true,"gs":true,"gt":true,"com.gt":true,"edu.gt":true,"gob.gt":true,"ind.gt":true,"mil.gt":true,"net.gt":true,"org.gt":true,"*.gu":true,"gw":true,"gy":true,"co.gy":true,"com.gy":true,"edu.gy":true,"gov.gy":true,"net.gy":true,"org.gy":true,"hk":true,"com.hk":true,"edu.hk":true,"gov.hk":true,"idv.hk":true,"net.hk":true,"org.hk":true,"xn--55qx5d.hk":true,"xn--wcvs22d.hk":true,"xn--lcvr32d.hk":true,"xn--mxtq1m.hk":true,"xn--gmqw5a.hk":true,"xn--ciqpn.hk":true,"xn--gmq050i.hk":true,"xn--zf0avx.hk":true,"xn--io0a7i.hk":true,"xn--mk0axi.hk":true,"xn--od0alg.hk":true,"xn--od0aq3b.hk":true,"xn--tn0ag.hk":true,"xn--uc0atv.hk":true,"xn--uc0ay4a.hk":true,"hm":true,"hn":true,"com.hn":true,"edu.hn":true,"org.hn":true,"net.hn":true,"mil.hn":true,"gob.hn":true,"hr":true,"iz.hr":true,"from.hr":true,"name.hr":true,"com.hr":true,"ht":true,"com.ht":true,"shop.ht":true,"firm.ht":true,"info.ht":true,"adult.ht":true,"net.ht":true,"pro.ht":true,"org.ht":true,"med.ht":true,"art.ht":true,"coop.ht":true,"pol.ht":true,"asso.ht":true,"edu.ht":true,"rel.ht":true,"gouv.ht":true,"perso.ht":true,"hu":true,"co.hu":true,"info.hu":true,"org.hu":true,"priv.hu":true,"sport.hu":true,"tm.hu":true,"2000.hu":true,"agrar.hu":true,"bolt.hu":true,"casino.hu":true,"city.hu":true,"erotica.hu":true,"erotika.hu":true,"film.hu":true,"forum.hu":true,"games.hu":true,"hotel.hu":true,"ingatlan.hu":true,"jogasz.hu":true,"konyvelo.hu":true,"lakas.hu":true,"media.hu":true,"news.hu":true,"reklam.hu":true,"sex.hu":true,"shop.hu":true,"suli.hu":true,"szex.hu":true,"tozsde.hu":true,"utazas.hu":true,"video.hu":true,"id":true,"ac.id":true,"biz.id":true,"co.id":true,"desa.id":true,"go.id":true,"mil.id":true,"my.id":true,"net.id":true,"or.id":true,"sch.id":true,"web.id":true,"ie":true,"gov.ie":true,"il":true,"ac.il":true,"co.il":true,"gov.il":true,"idf.il":true,"k12.il":true,"muni.il":true,"net.il":true,"org.il":true,"im":true,"ac.im":true,"co.im":true,"com.im":true,"ltd.co.im":true,"net.im":true,"org.im":true,"plc.co.im":true,"tt.im":true,"tv.im":true,"in":true,"co.in":true,"firm.in":true,"net.in":true,"org.in":true,"gen.in":true,"ind.in":true,"nic.in":true,"ac.in":true,"edu.in":true,"res.in":true,"gov.in":true,"mil.in":true,"info":true,"int":true,"eu.int":true,"io":true,"com.io":true,"iq":true,"gov.iq":true,"edu.iq":true,"mil.iq":true,"com.iq":true,"org.iq":true,"net.iq":true,"ir":true,"ac.ir":true,"co.ir":true,"gov.ir":true,"id.ir":true,"net.ir":true,"org.ir":true,"sch.ir":true,"xn--mgba3a4f16a.ir":true,"xn--mgba3a4fra.ir":true,"is":true,"net.is":true,"com.is":true,"edu.is":true,"gov.is":true,"org.is":true,"int.is":true,"it":true,"gov.it":true,"edu.it":true,"abr.it":true,"abruzzo.it":true,"aosta-valley.it":true,"aostavalley.it":true,"bas.it":true,"basilicata.it":true,"cal.it":true,"calabria.it":true,"cam.it":true,"campania.it":true,"emilia-romagna.it":true,"emiliaromagna.it":true,"emr.it":true,"friuli-v-giulia.it":true,"friuli-ve-giulia.it":true,"friuli-vegiulia.it":true,"friuli-venezia-giulia.it":true,"friuli-veneziagiulia.it":true,"friuli-vgiulia.it":true,"friuliv-giulia.it":true,"friulive-giulia.it":true,"friulivegiulia.it":true,"friulivenezia-giulia.it":true,"friuliveneziagiulia.it":true,"friulivgiulia.it":true,"fvg.it":true,"laz.it":true,"lazio.it":true,"lig.it":true,"liguria.it":true,"lom.it":true,"lombardia.it":true,"lombardy.it":true,"lucania.it":true,"mar.it":true,"marche.it":true,"mol.it":true,"molise.it":true,"piedmont.it":true,"piemonte.it":true,"pmn.it":true,"pug.it":true,"puglia.it":true,"sar.it":true,"sardegna.it":true,"sardinia.it":true,"sic.it":true,"sicilia.it":true,"sicily.it":true,"taa.it":true,"tos.it":true,"toscana.it":true,"trentino-a-adige.it":true,"trentino-aadige.it":true,"trentino-alto-adige.it":true,"trentino-altoadige.it":true,"trentino-s-tirol.it":true,"trentino-stirol.it":true,"trentino-sud-tirol.it":true,"trentino-sudtirol.it":true,"trentino-sued-tirol.it":true,"trentino-suedtirol.it":true,"trentinoa-adige.it":true,"trentinoaadige.it":true,"trentinoalto-adige.it":true,"trentinoaltoadige.it":true,"trentinos-tirol.it":true,"trentinostirol.it":true,"trentinosud-tirol.it":true,"trentinosudtirol.it":true,"trentinosued-tirol.it":true,"trentinosuedtirol.it":true,"tuscany.it":true,"umb.it":true,"umbria.it":true,"val-d-aosta.it":true,"val-daosta.it":true,"vald-aosta.it":true,"valdaosta.it":true,"valle-aosta.it":true,"valle-d-aosta.it":true,"valle-daosta.it":true,"valleaosta.it":true,"valled-aosta.it":true,"valledaosta.it":true,"vallee-aoste.it":true,"valleeaoste.it":true,"vao.it":true,"vda.it":true,"ven.it":true,"veneto.it":true,"ag.it":true,"agrigento.it":true,"al.it":true,"alessandria.it":true,"alto-adige.it":true,"altoadige.it":true,"an.it":true,"ancona.it":true,"andria-barletta-trani.it":true,"andria-trani-barletta.it":true,"andriabarlettatrani.it":true,"andriatranibarletta.it":true,"ao.it":true,"aosta.it":true,"aoste.it":true,"ap.it":true,"aq.it":true,"aquila.it":true,"ar.it":true,"arezzo.it":true,"ascoli-piceno.it":true,"ascolipiceno.it":true,"asti.it":true,"at.it":true,"av.it":true,"avellino.it":true,"ba.it":true,"balsan.it":true,"bari.it":true,"barletta-trani-andria.it":true,"barlettatraniandria.it":true,"belluno.it":true,"benevento.it":true,"bergamo.it":true,"bg.it":true,"bi.it":true,"biella.it":true,"bl.it":true,"bn.it":true,"bo.it":true,"bologna.it":true,"bolzano.it":true,"bozen.it":true,"br.it":true,"brescia.it":true,"brindisi.it":true,"bs.it":true,"bt.it":true,"bz.it":true,"ca.it":true,"cagliari.it":true,"caltanissetta.it":true,"campidano-medio.it":true,"campidanomedio.it":true,"campobasso.it":true,"carbonia-iglesias.it":true,"carboniaiglesias.it":true,"carrara-massa.it":true,"carraramassa.it":true,"caserta.it":true,"catania.it":true,"catanzaro.it":true,"cb.it":true,"ce.it":true,"cesena-forli.it":true,"cesenaforli.it":true,"ch.it":true,"chieti.it":true,"ci.it":true,"cl.it":true,"cn.it":true,"co.it":true,"como.it":true,"cosenza.it":true,"cr.it":true,"cremona.it":true,"crotone.it":true,"cs.it":true,"ct.it":true,"cuneo.it":true,"cz.it":true,"dell-ogliastra.it":true,"dellogliastra.it":true,"en.it":true,"enna.it":true,"fc.it":true,"fe.it":true,"fermo.it":true,"ferrara.it":true,"fg.it":true,"fi.it":true,"firenze.it":true,"florence.it":true,"fm.it":true,"foggia.it":true,"forli-cesena.it":true,"forlicesena.it":true,"fr.it":true,"frosinone.it":true,"ge.it":true,"genoa.it":true,"genova.it":true,"go.it":true,"gorizia.it":true,"gr.it":true,"grosseto.it":true,"iglesias-carbonia.it":true,"iglesiascarbonia.it":true,"im.it":true,"imperia.it":true,"is.it":true,"isernia.it":true,"kr.it":true,"la-spezia.it":true,"laquila.it":true,"laspezia.it":true,"latina.it":true,"lc.it":true,"le.it":true,"lecce.it":true,"lecco.it":true,"li.it":true,"livorno.it":true,"lo.it":true,"lodi.it":true,"lt.it":true,"lu.it":true,"lucca.it":true,"macerata.it":true,"mantova.it":true,"massa-carrara.it":true,"massacarrara.it":true,"matera.it":true,"mb.it":true,"mc.it":true,"me.it":true,"medio-campidano.it":true,"mediocampidano.it":true,"messina.it":true,"mi.it":true,"milan.it":true,"milano.it":true,"mn.it":true,"mo.it":true,"modena.it":true,"monza-brianza.it":true,"monza-e-della-brianza.it":true,"monza.it":true,"monzabrianza.it":true,"monzaebrianza.it":true,"monzaedellabrianza.it":true,"ms.it":true,"mt.it":true,"na.it":true,"naples.it":true,"napoli.it":true,"no.it":true,"novara.it":true,"nu.it":true,"nuoro.it":true,"og.it":true,"ogliastra.it":true,"olbia-tempio.it":true,"olbiatempio.it":true,"or.it":true,"oristano.it":true,"ot.it":true,"pa.it":true,"padova.it":true,"padua.it":true,"palermo.it":true,"parma.it":true,"pavia.it":true,"pc.it":true,"pd.it":true,"pe.it":true,"perugia.it":true,"pesaro-urbino.it":true,"pesarourbino.it":true,"pescara.it":true,"pg.it":true,"pi.it":true,"piacenza.it":true,"pisa.it":true,"pistoia.it":true,"pn.it":true,"po.it":true,"pordenone.it":true,"potenza.it":true,"pr.it":true,"prato.it":true,"pt.it":true,"pu.it":true,"pv.it":true,"pz.it":true,"ra.it":true,"ragusa.it":true,"ravenna.it":true,"rc.it":true,"re.it":true,"reggio-calabria.it":true,"reggio-emilia.it":true,"reggiocalabria.it":true,"reggioemilia.it":true,"rg.it":true,"ri.it":true,"rieti.it":true,"rimini.it":true,"rm.it":true,"rn.it":true,"ro.it":true,"roma.it":true,"rome.it":true,"rovigo.it":true,"sa.it":true,"salerno.it":true,"sassari.it":true,"savona.it":true,"si.it":true,"siena.it":true,"siracusa.it":true,"so.it":true,"sondrio.it":true,"sp.it":true,"sr.it":true,"ss.it":true,"suedtirol.it":true,"sv.it":true,"ta.it":true,"taranto.it":true,"te.it":true,"tempio-olbia.it":true,"tempioolbia.it":true,"teramo.it":true,"terni.it":true,"tn.it":true,"to.it":true,"torino.it":true,"tp.it":true,"tr.it":true,"trani-andria-barletta.it":true,"trani-barletta-andria.it":true,"traniandriabarletta.it":true,"tranibarlettaandria.it":true,"trapani.it":true,"trentino.it":true,"trento.it":true,"treviso.it":true,"trieste.it":true,"ts.it":true,"turin.it":true,"tv.it":true,"ud.it":true,"udine.it":true,"urbino-pesaro.it":true,"urbinopesaro.it":true,"va.it":true,"varese.it":true,"vb.it":true,"vc.it":true,"ve.it":true,"venezia.it":true,"venice.it":true,"verbania.it":true,"vercelli.it":true,"verona.it":true,"vi.it":true,"vibo-valentia.it":true,"vibovalentia.it":true,"vicenza.it":true,"viterbo.it":true,"vr.it":true,"vs.it":true,"vt.it":true,"vv.it":true,"je":true,"co.je":true,"net.je":true,"org.je":true,"*.jm":true,"jo":true,"com.jo":true,"org.jo":true,"net.jo":true,"edu.jo":true,"sch.jo":true,"gov.jo":true,"mil.jo":true,"name.jo":true,"jobs":true,"jp":true,"ac.jp":true,"ad.jp":true,"co.jp":true,"ed.jp":true,"go.jp":true,"gr.jp":true,"lg.jp":true,"ne.jp":true,"or.jp":true,"aichi.jp":true,"akita.jp":true,"aomori.jp":true,"chiba.jp":true,"ehime.jp":true,"fukui.jp":true,"fukuoka.jp":true,"fukushima.jp":true,"gifu.jp":true,"gunma.jp":true,"hiroshima.jp":true,"hokkaido.jp":true,"hyogo.jp":true,"ibaraki.jp":true,"ishikawa.jp":true,"iwate.jp":true,"kagawa.jp":true,"kagoshima.jp":true,"kanagawa.jp":true,"kochi.jp":true,"kumamoto.jp":true,"kyoto.jp":true,"mie.jp":true,"miyagi.jp":true,"miyazaki.jp":true,"nagano.jp":true,"nagasaki.jp":true,"nara.jp":true,"niigata.jp":true,"oita.jp":true,"okayama.jp":true,"okinawa.jp":true,"osaka.jp":true,"saga.jp":true,"saitama.jp":true,"shiga.jp":true,"shimane.jp":true,"shizuoka.jp":true,"tochigi.jp":true,"tokushima.jp":true,"tokyo.jp":true,"tottori.jp":true,"toyama.jp":true,"wakayama.jp":true,"yamagata.jp":true,"yamaguchi.jp":true,"yamanashi.jp":true,"xn--4pvxs.jp":true,"xn--vgu402c.jp":true,"xn--c3s14m.jp":true,"xn--f6qx53a.jp":true,"xn--8pvr4u.jp":true,"xn--uist22h.jp":true,"xn--djrs72d6uy.jp":true,"xn--mkru45i.jp":true,"xn--0trq7p7nn.jp":true,"xn--8ltr62k.jp":true,"xn--2m4a15e.jp":true,"xn--efvn9s.jp":true,"xn--32vp30h.jp":true,"xn--4it797k.jp":true,"xn--1lqs71d.jp":true,"xn--5rtp49c.jp":true,"xn--5js045d.jp":true,"xn--ehqz56n.jp":true,"xn--1lqs03n.jp":true,"xn--qqqt11m.jp":true,"xn--kbrq7o.jp":true,"xn--pssu33l.jp":true,"xn--ntsq17g.jp":true,"xn--uisz3g.jp":true,"xn--6btw5a.jp":true,"xn--1ctwo.jp":true,"xn--6orx2r.jp":true,"xn--rht61e.jp":true,"xn--rht27z.jp":true,"xn--djty4k.jp":true,"xn--nit225k.jp":true,"xn--rht3d.jp":true,"xn--klty5x.jp":true,"xn--kltx9a.jp":true,"xn--kltp7d.jp":true,"xn--uuwu58a.jp":true,"xn--zbx025d.jp":true,"xn--ntso0iqx3a.jp":true,"xn--elqq16h.jp":true,"xn--4it168d.jp":true,"xn--klt787d.jp":true,"xn--rny31h.jp":true,"xn--7t0a264c.jp":true,"xn--5rtq34k.jp":true,"xn--k7yn95e.jp":true,"xn--tor131o.jp":true,"xn--d5qv7z876c.jp":true,"*.kawasaki.jp":true,"*.kitakyushu.jp":true,"*.kobe.jp":true,"*.nagoya.jp":true,"*.sapporo.jp":true,"*.sendai.jp":true,"*.yokohama.jp":true,"city.kawasaki.jp":false,"city.kitakyushu.jp":false,"city.kobe.jp":false,"city.nagoya.jp":false,"city.sapporo.jp":false,"city.sendai.jp":false,"city.yokohama.jp":false,"aisai.aichi.jp":true,"ama.aichi.jp":true,"anjo.aichi.jp":true,"asuke.aichi.jp":true,"chiryu.aichi.jp":true,"chita.aichi.jp":true,"fuso.aichi.jp":true,"gamagori.aichi.jp":true,"handa.aichi.jp":true,"hazu.aichi.jp":true,"hekinan.aichi.jp":true,"higashiura.aichi.jp":true,"ichinomiya.aichi.jp":true,"inazawa.aichi.jp":true,"inuyama.aichi.jp":true,"isshiki.aichi.jp":true,"iwakura.aichi.jp":true,"kanie.aichi.jp":true,"kariya.aichi.jp":true,"kasugai.aichi.jp":true,"kira.aichi.jp":true,"kiyosu.aichi.jp":true,"komaki.aichi.jp":true,"konan.aichi.jp":true,"kota.aichi.jp":true,"mihama.aichi.jp":true,"miyoshi.aichi.jp":true,"nishio.aichi.jp":true,"nisshin.aichi.jp":true,"obu.aichi.jp":true,"oguchi.aichi.jp":true,"oharu.aichi.jp":true,"okazaki.aichi.jp":true,"owariasahi.aichi.jp":true,"seto.aichi.jp":true,"shikatsu.aichi.jp":true,"shinshiro.aichi.jp":true,"shitara.aichi.jp":true,"tahara.aichi.jp":true,"takahama.aichi.jp":true,"tobishima.aichi.jp":true,"toei.aichi.jp":true,"togo.aichi.jp":true,"tokai.aichi.jp":true,"tokoname.aichi.jp":true,"toyoake.aichi.jp":true,"toyohashi.aichi.jp":true,"toyokawa.aichi.jp":true,"toyone.aichi.jp":true,"toyota.aichi.jp":true,"tsushima.aichi.jp":true,"yatomi.aichi.jp":true,"akita.akita.jp":true,"daisen.akita.jp":true,"fujisato.akita.jp":true,"gojome.akita.jp":true,"hachirogata.akita.jp":true,"happou.akita.jp":true,"higashinaruse.akita.jp":true,"honjo.akita.jp":true,"honjyo.akita.jp":true,"ikawa.akita.jp":true,"kamikoani.akita.jp":true,"kamioka.akita.jp":true,"katagami.akita.jp":true,"kazuno.akita.jp":true,"kitaakita.akita.jp":true,"kosaka.akita.jp":true,"kyowa.akita.jp":true,"misato.akita.jp":true,"mitane.akita.jp":true,"moriyoshi.akita.jp":true,"nikaho.akita.jp":true,"noshiro.akita.jp":true,"odate.akita.jp":true,"oga.akita.jp":true,"ogata.akita.jp":true,"semboku.akita.jp":true,"yokote.akita.jp":true,"yurihonjo.akita.jp":true,"aomori.aomori.jp":true,"gonohe.aomori.jp":true,"hachinohe.aomori.jp":true,"hashikami.aomori.jp":true,"hiranai.aomori.jp":true,"hirosaki.aomori.jp":true,"itayanagi.aomori.jp":true,"kuroishi.aomori.jp":true,"misawa.aomori.jp":true,"mutsu.aomori.jp":true,"nakadomari.aomori.jp":true,"noheji.aomori.jp":true,"oirase.aomori.jp":true,"owani.aomori.jp":true,"rokunohe.aomori.jp":true,"sannohe.aomori.jp":true,"shichinohe.aomori.jp":true,"shingo.aomori.jp":true,"takko.aomori.jp":true,"towada.aomori.jp":true,"tsugaru.aomori.jp":true,"tsuruta.aomori.jp":true,"abiko.chiba.jp":true,"asahi.chiba.jp":true,"chonan.chiba.jp":true,"chosei.chiba.jp":true,"choshi.chiba.jp":true,"chuo.chiba.jp":true,"funabashi.chiba.jp":true,"futtsu.chiba.jp":true,"hanamigawa.chiba.jp":true,"ichihara.chiba.jp":true,"ichikawa.chiba.jp":true,"ichinomiya.chiba.jp":true,"inzai.chiba.jp":true,"isumi.chiba.jp":true,"kamagaya.chiba.jp":true,"kamogawa.chiba.jp":true,"kashiwa.chiba.jp":true,"katori.chiba.jp":true,"katsuura.chiba.jp":true,"kimitsu.chiba.jp":true,"kisarazu.chiba.jp":true,"kozaki.chiba.jp":true,"kujukuri.chiba.jp":true,"kyonan.chiba.jp":true,"matsudo.chiba.jp":true,"midori.chiba.jp":true,"mihama.chiba.jp":true,"minamiboso.chiba.jp":true,"mobara.chiba.jp":true,"mutsuzawa.chiba.jp":true,"nagara.chiba.jp":true,"nagareyama.chiba.jp":true,"narashino.chiba.jp":true,"narita.chiba.jp":true,"noda.chiba.jp":true,"oamishirasato.chiba.jp":true,"omigawa.chiba.jp":true,"onjuku.chiba.jp":true,"otaki.chiba.jp":true,"sakae.chiba.jp":true,"sakura.chiba.jp":true,"shimofusa.chiba.jp":true,"shirako.chiba.jp":true,"shiroi.chiba.jp":true,"shisui.chiba.jp":true,"sodegaura.chiba.jp":true,"sosa.chiba.jp":true,"tako.chiba.jp":true,"tateyama.chiba.jp":true,"togane.chiba.jp":true,"tohnosho.chiba.jp":true,"tomisato.chiba.jp":true,"urayasu.chiba.jp":true,"yachimata.chiba.jp":true,"yachiyo.chiba.jp":true,"yokaichiba.chiba.jp":true,"yokoshibahikari.chiba.jp":true,"yotsukaido.chiba.jp":true,"ainan.ehime.jp":true,"honai.ehime.jp":true,"ikata.ehime.jp":true,"imabari.ehime.jp":true,"iyo.ehime.jp":true,"kamijima.ehime.jp":true,"kihoku.ehime.jp":true,"kumakogen.ehime.jp":true,"masaki.ehime.jp":true,"matsuno.ehime.jp":true,"matsuyama.ehime.jp":true,"namikata.ehime.jp":true,"niihama.ehime.jp":true,"ozu.ehime.jp":true,"saijo.ehime.jp":true,"seiyo.ehime.jp":true,"shikokuchuo.ehime.jp":true,"tobe.ehime.jp":true,"toon.ehime.jp":true,"uchiko.ehime.jp":true,"uwajima.ehime.jp":true,"yawatahama.ehime.jp":true,"echizen.fukui.jp":true,"eiheiji.fukui.jp":true,"fukui.fukui.jp":true,"ikeda.fukui.jp":true,"katsuyama.fukui.jp":true,"mihama.fukui.jp":true,"minamiechizen.fukui.jp":true,"obama.fukui.jp":true,"ohi.fukui.jp":true,"ono.fukui.jp":true,"sabae.fukui.jp":true,"sakai.fukui.jp":true,"takahama.fukui.jp":true,"tsuruga.fukui.jp":true,"wakasa.fukui.jp":true,"ashiya.fukuoka.jp":true,"buzen.fukuoka.jp":true,"chikugo.fukuoka.jp":true,"chikuho.fukuoka.jp":true,"chikujo.fukuoka.jp":true,"chikushino.fukuoka.jp":true,"chikuzen.fukuoka.jp":true,"chuo.fukuoka.jp":true,"dazaifu.fukuoka.jp":true,"fukuchi.fukuoka.jp":true,"hakata.fukuoka.jp":true,"higashi.fukuoka.jp":true,"hirokawa.fukuoka.jp":true,"hisayama.fukuoka.jp":true,"iizuka.fukuoka.jp":true,"inatsuki.fukuoka.jp":true,"kaho.fukuoka.jp":true,"kasuga.fukuoka.jp":true,"kasuya.fukuoka.jp":true,"kawara.fukuoka.jp":true,"keisen.fukuoka.jp":true,"koga.fukuoka.jp":true,"kurate.fukuoka.jp":true,"kurogi.fukuoka.jp":true,"kurume.fukuoka.jp":true,"minami.fukuoka.jp":true,"miyako.fukuoka.jp":true,"miyama.fukuoka.jp":true,"miyawaka.fukuoka.jp":true,"mizumaki.fukuoka.jp":true,"munakata.fukuoka.jp":true,"nakagawa.fukuoka.jp":true,"nakama.fukuoka.jp":true,"nishi.fukuoka.jp":true,"nogata.fukuoka.jp":true,"ogori.fukuoka.jp":true,"okagaki.fukuoka.jp":true,"okawa.fukuoka.jp":true,"oki.fukuoka.jp":true,"omuta.fukuoka.jp":true,"onga.fukuoka.jp":true,"onojo.fukuoka.jp":true,"oto.fukuoka.jp":true,"saigawa.fukuoka.jp":true,"sasaguri.fukuoka.jp":true,"shingu.fukuoka.jp":true,"shinyoshitomi.fukuoka.jp":true,"shonai.fukuoka.jp":true,"soeda.fukuoka.jp":true,"sue.fukuoka.jp":true,"tachiarai.fukuoka.jp":true,"tagawa.fukuoka.jp":true,"takata.fukuoka.jp":true,"toho.fukuoka.jp":true,"toyotsu.fukuoka.jp":true,"tsuiki.fukuoka.jp":true,"ukiha.fukuoka.jp":true,"umi.fukuoka.jp":true,"usui.fukuoka.jp":true,"yamada.fukuoka.jp":true,"yame.fukuoka.jp":true,"yanagawa.fukuoka.jp":true,"yukuhashi.fukuoka.jp":true,"aizubange.fukushima.jp":true,"aizumisato.fukushima.jp":true,"aizuwakamatsu.fukushima.jp":true,"asakawa.fukushima.jp":true,"bandai.fukushima.jp":true,"date.fukushima.jp":true,"fukushima.fukushima.jp":true,"furudono.fukushima.jp":true,"futaba.fukushima.jp":true,"hanawa.fukushima.jp":true,"higashi.fukushima.jp":true,"hirata.fukushima.jp":true,"hirono.fukushima.jp":true,"iitate.fukushima.jp":true,"inawashiro.fukushima.jp":true,"ishikawa.fukushima.jp":true,"iwaki.fukushima.jp":true,"izumizaki.fukushima.jp":true,"kagamiishi.fukushima.jp":true,"kaneyama.fukushima.jp":true,"kawamata.fukushima.jp":true,"kitakata.fukushima.jp":true,"kitashiobara.fukushima.jp":true,"koori.fukushima.jp":true,"koriyama.fukushima.jp":true,"kunimi.fukushima.jp":true,"miharu.fukushima.jp":true,"mishima.fukushima.jp":true,"namie.fukushima.jp":true,"nango.fukushima.jp":true,"nishiaizu.fukushima.jp":true,"nishigo.fukushima.jp":true,"okuma.fukushima.jp":true,"omotego.fukushima.jp":true,"ono.fukushima.jp":true,"otama.fukushima.jp":true,"samegawa.fukushima.jp":true,"shimogo.fukushima.jp":true,"shirakawa.fukushima.jp":true,"showa.fukushima.jp":true,"soma.fukushima.jp":true,"sukagawa.fukushima.jp":true,"taishin.fukushima.jp":true,"tamakawa.fukushima.jp":true,"tanagura.fukushima.jp":true,"tenei.fukushima.jp":true,"yabuki.fukushima.jp":true,"yamato.fukushima.jp":true,"yamatsuri.fukushima.jp":true,"yanaizu.fukushima.jp":true,"yugawa.fukushima.jp":true,"anpachi.gifu.jp":true,"ena.gifu.jp":true,"gifu.gifu.jp":true,"ginan.gifu.jp":true,"godo.gifu.jp":true,"gujo.gifu.jp":true,"hashima.gifu.jp":true,"hichiso.gifu.jp":true,"hida.gifu.jp":true,"higashishirakawa.gifu.jp":true,"ibigawa.gifu.jp":true,"ikeda.gifu.jp":true,"kakamigahara.gifu.jp":true,"kani.gifu.jp":true,"kasahara.gifu.jp":true,"kasamatsu.gifu.jp":true,"kawaue.gifu.jp":true,"kitagata.gifu.jp":true,"mino.gifu.jp":true,"minokamo.gifu.jp":true,"mitake.gifu.jp":true,"mizunami.gifu.jp":true,"motosu.gifu.jp":true,"nakatsugawa.gifu.jp":true,"ogaki.gifu.jp":true,"sakahogi.gifu.jp":true,"seki.gifu.jp":true,"sekigahara.gifu.jp":true,"shirakawa.gifu.jp":true,"tajimi.gifu.jp":true,"takayama.gifu.jp":true,"tarui.gifu.jp":true,"toki.gifu.jp":true,"tomika.gifu.jp":true,"wanouchi.gifu.jp":true,"yamagata.gifu.jp":true,"yaotsu.gifu.jp":true,"yoro.gifu.jp":true,"annaka.gunma.jp":true,"chiyoda.gunma.jp":true,"fujioka.gunma.jp":true,"higashiagatsuma.gunma.jp":true,"isesaki.gunma.jp":true,"itakura.gunma.jp":true,"kanna.gunma.jp":true,"kanra.gunma.jp":true,"katashina.gunma.jp":true,"kawaba.gunma.jp":true,"kiryu.gunma.jp":true,"kusatsu.gunma.jp":true,"maebashi.gunma.jp":true,"meiwa.gunma.jp":true,"midori.gunma.jp":true,"minakami.gunma.jp":true,"naganohara.gunma.jp":true,"nakanojo.gunma.jp":true,"nanmoku.gunma.jp":true,"numata.gunma.jp":true,"oizumi.gunma.jp":true,"ora.gunma.jp":true,"ota.gunma.jp":true,"shibukawa.gunma.jp":true,"shimonita.gunma.jp":true,"shinto.gunma.jp":true,"showa.gunma.jp":true,"takasaki.gunma.jp":true,"takayama.gunma.jp":true,"tamamura.gunma.jp":true,"tatebayashi.gunma.jp":true,"tomioka.gunma.jp":true,"tsukiyono.gunma.jp":true,"tsumagoi.gunma.jp":true,"ueno.gunma.jp":true,"yoshioka.gunma.jp":true,"asaminami.hiroshima.jp":true,"daiwa.hiroshima.jp":true,"etajima.hiroshima.jp":true,"fuchu.hiroshima.jp":true,"fukuyama.hiroshima.jp":true,"hatsukaichi.hiroshima.jp":true,"higashihiroshima.hiroshima.jp":true,"hongo.hiroshima.jp":true,"jinsekikogen.hiroshima.jp":true,"kaita.hiroshima.jp":true,"kui.hiroshima.jp":true,"kumano.hiroshima.jp":true,"kure.hiroshima.jp":true,"mihara.hiroshima.jp":true,"miyoshi.hiroshima.jp":true,"naka.hiroshima.jp":true,"onomichi.hiroshima.jp":true,"osakikamijima.hiroshima.jp":true,"otake.hiroshima.jp":true,"saka.hiroshima.jp":true,"sera.hiroshima.jp":true,"seranishi.hiroshima.jp":true,"shinichi.hiroshima.jp":true,"shobara.hiroshima.jp":true,"takehara.hiroshima.jp":true,"abashiri.hokkaido.jp":true,"abira.hokkaido.jp":true,"aibetsu.hokkaido.jp":true,"akabira.hokkaido.jp":true,"akkeshi.hokkaido.jp":true,"asahikawa.hokkaido.jp":true,"ashibetsu.hokkaido.jp":true,"ashoro.hokkaido.jp":true,"assabu.hokkaido.jp":true,"atsuma.hokkaido.jp":true,"bibai.hokkaido.jp":true,"biei.hokkaido.jp":true,"bifuka.hokkaido.jp":true,"bihoro.hokkaido.jp":true,"biratori.hokkaido.jp":true,"chippubetsu.hokkaido.jp":true,"chitose.hokkaido.jp":true,"date.hokkaido.jp":true,"ebetsu.hokkaido.jp":true,"embetsu.hokkaido.jp":true,"eniwa.hokkaido.jp":true,"erimo.hokkaido.jp":true,"esan.hokkaido.jp":true,"esashi.hokkaido.jp":true,"fukagawa.hokkaido.jp":true,"fukushima.hokkaido.jp":true,"furano.hokkaido.jp":true,"furubira.hokkaido.jp":true,"haboro.hokkaido.jp":true,"hakodate.hokkaido.jp":true,"hamatonbetsu.hokkaido.jp":true,"hidaka.hokkaido.jp":true,"higashikagura.hokkaido.jp":true,"higashikawa.hokkaido.jp":true,"hiroo.hokkaido.jp":true,"hokuryu.hokkaido.jp":true,"hokuto.hokkaido.jp":true,"honbetsu.hokkaido.jp":true,"horokanai.hokkaido.jp":true,"horonobe.hokkaido.jp":true,"ikeda.hokkaido.jp":true,"imakane.hokkaido.jp":true,"ishikari.hokkaido.jp":true,"iwamizawa.hokkaido.jp":true,"iwanai.hokkaido.jp":true,"kamifurano.hokkaido.jp":true,"kamikawa.hokkaido.jp":true,"kamishihoro.hokkaido.jp":true,"kamisunagawa.hokkaido.jp":true,"kamoenai.hokkaido.jp":true,"kayabe.hokkaido.jp":true,"kembuchi.hokkaido.jp":true,"kikonai.hokkaido.jp":true,"kimobetsu.hokkaido.jp":true,"kitahiroshima.hokkaido.jp":true,"kitami.hokkaido.jp":true,"kiyosato.hokkaido.jp":true,"koshimizu.hokkaido.jp":true,"kunneppu.hokkaido.jp":true,"kuriyama.hokkaido.jp":true,"kuromatsunai.hokkaido.jp":true,"kushiro.hokkaido.jp":true,"kutchan.hokkaido.jp":true,"kyowa.hokkaido.jp":true,"mashike.hokkaido.jp":true,"matsumae.hokkaido.jp":true,"mikasa.hokkaido.jp":true,"minamifurano.hokkaido.jp":true,"mombetsu.hokkaido.jp":true,"moseushi.hokkaido.jp":true,"mukawa.hokkaido.jp":true,"muroran.hokkaido.jp":true,"naie.hokkaido.jp":true,"nakagawa.hokkaido.jp":true,"nakasatsunai.hokkaido.jp":true,"nakatombetsu.hokkaido.jp":true,"nanae.hokkaido.jp":true,"nanporo.hokkaido.jp":true,"nayoro.hokkaido.jp":true,"nemuro.hokkaido.jp":true,"niikappu.hokkaido.jp":true,"niki.hokkaido.jp":true,"nishiokoppe.hokkaido.jp":true,"noboribetsu.hokkaido.jp":true,"numata.hokkaido.jp":true,"obihiro.hokkaido.jp":true,"obira.hokkaido.jp":true,"oketo.hokkaido.jp":true,"okoppe.hokkaido.jp":true,"otaru.hokkaido.jp":true,"otobe.hokkaido.jp":true,"otofuke.hokkaido.jp":true,"otoineppu.hokkaido.jp":true,"oumu.hokkaido.jp":true,"ozora.hokkaido.jp":true,"pippu.hokkaido.jp":true,"rankoshi.hokkaido.jp":true,"rebun.hokkaido.jp":true,"rikubetsu.hokkaido.jp":true,"rishiri.hokkaido.jp":true,"rishirifuji.hokkaido.jp":true,"saroma.hokkaido.jp":true,"sarufutsu.hokkaido.jp":true,"shakotan.hokkaido.jp":true,"shari.hokkaido.jp":true,"shibecha.hokkaido.jp":true,"shibetsu.hokkaido.jp":true,"shikabe.hokkaido.jp":true,"shikaoi.hokkaido.jp":true,"shimamaki.hokkaido.jp":true,"shimizu.hokkaido.jp":true,"shimokawa.hokkaido.jp":true,"shinshinotsu.hokkaido.jp":true,"shintoku.hokkaido.jp":true,"shiranuka.hokkaido.jp":true,"shiraoi.hokkaido.jp":true,"shiriuchi.hokkaido.jp":true,"sobetsu.hokkaido.jp":true,"sunagawa.hokkaido.jp":true,"taiki.hokkaido.jp":true,"takasu.hokkaido.jp":true,"takikawa.hokkaido.jp":true,"takinoue.hokkaido.jp":true,"teshikaga.hokkaido.jp":true,"tobetsu.hokkaido.jp":true,"tohma.hokkaido.jp":true,"tomakomai.hokkaido.jp":true,"tomari.hokkaido.jp":true,"toya.hokkaido.jp":true,"toyako.hokkaido.jp":true,"toyotomi.hokkaido.jp":true,"toyoura.hokkaido.jp":true,"tsubetsu.hokkaido.jp":true,"tsukigata.hokkaido.jp":true,"urakawa.hokkaido.jp":true,"urausu.hokkaido.jp":true,"uryu.hokkaido.jp":true,"utashinai.hokkaido.jp":true,"wakkanai.hokkaido.jp":true,"wassamu.hokkaido.jp":true,"yakumo.hokkaido.jp":true,"yoichi.hokkaido.jp":true,"aioi.hyogo.jp":true,"akashi.hyogo.jp":true,"ako.hyogo.jp":true,"amagasaki.hyogo.jp":true,"aogaki.hyogo.jp":true,"asago.hyogo.jp":true,"ashiya.hyogo.jp":true,"awaji.hyogo.jp":true,"fukusaki.hyogo.jp":true,"goshiki.hyogo.jp":true,"harima.hyogo.jp":true,"himeji.hyogo.jp":true,"ichikawa.hyogo.jp":true,"inagawa.hyogo.jp":true,"itami.hyogo.jp":true,"kakogawa.hyogo.jp":true,"kamigori.hyogo.jp":true,"kamikawa.hyogo.jp":true,"kasai.hyogo.jp":true,"kasuga.hyogo.jp":true,"kawanishi.hyogo.jp":true,"miki.hyogo.jp":true,"minamiawaji.hyogo.jp":true,"nishinomiya.hyogo.jp":true,"nishiwaki.hyogo.jp":true,"ono.hyogo.jp":true,"sanda.hyogo.jp":true,"sannan.hyogo.jp":true,"sasayama.hyogo.jp":true,"sayo.hyogo.jp":true,"shingu.hyogo.jp":true,"shinonsen.hyogo.jp":true,"shiso.hyogo.jp":true,"sumoto.hyogo.jp":true,"taishi.hyogo.jp":true,"taka.hyogo.jp":true,"takarazuka.hyogo.jp":true,"takasago.hyogo.jp":true,"takino.hyogo.jp":true,"tamba.hyogo.jp":true,"tatsuno.hyogo.jp":true,"toyooka.hyogo.jp":true,"yabu.hyogo.jp":true,"yashiro.hyogo.jp":true,"yoka.hyogo.jp":true,"yokawa.hyogo.jp":true,"ami.ibaraki.jp":true,"asahi.ibaraki.jp":true,"bando.ibaraki.jp":true,"chikusei.ibaraki.jp":true,"daigo.ibaraki.jp":true,"fujishiro.ibaraki.jp":true,"hitachi.ibaraki.jp":true,"hitachinaka.ibaraki.jp":true,"hitachiomiya.ibaraki.jp":true,"hitachiota.ibaraki.jp":true,"ibaraki.ibaraki.jp":true,"ina.ibaraki.jp":true,"inashiki.ibaraki.jp":true,"itako.ibaraki.jp":true,"iwama.ibaraki.jp":true,"joso.ibaraki.jp":true,"kamisu.ibaraki.jp":true,"kasama.ibaraki.jp":true,"kashima.ibaraki.jp":true,"kasumigaura.ibaraki.jp":true,"koga.ibaraki.jp":true,"miho.ibaraki.jp":true,"mito.ibaraki.jp":true,"moriya.ibaraki.jp":true,"naka.ibaraki.jp":true,"namegata.ibaraki.jp":true,"oarai.ibaraki.jp":true,"ogawa.ibaraki.jp":true,"omitama.ibaraki.jp":true,"ryugasaki.ibaraki.jp":true,"sakai.ibaraki.jp":true,"sakuragawa.ibaraki.jp":true,"shimodate.ibaraki.jp":true,"shimotsuma.ibaraki.jp":true,"shirosato.ibaraki.jp":true,"sowa.ibaraki.jp":true,"suifu.ibaraki.jp":true,"takahagi.ibaraki.jp":true,"tamatsukuri.ibaraki.jp":true,"tokai.ibaraki.jp":true,"tomobe.ibaraki.jp":true,"tone.ibaraki.jp":true,"toride.ibaraki.jp":true,"tsuchiura.ibaraki.jp":true,"tsukuba.ibaraki.jp":true,"uchihara.ibaraki.jp":true,"ushiku.ibaraki.jp":true,"yachiyo.ibaraki.jp":true,"yamagata.ibaraki.jp":true,"yawara.ibaraki.jp":true,"yuki.ibaraki.jp":true,"anamizu.ishikawa.jp":true,"hakui.ishikawa.jp":true,"hakusan.ishikawa.jp":true,"kaga.ishikawa.jp":true,"kahoku.ishikawa.jp":true,"kanazawa.ishikawa.jp":true,"kawakita.ishikawa.jp":true,"komatsu.ishikawa.jp":true,"nakanoto.ishikawa.jp":true,"nanao.ishikawa.jp":true,"nomi.ishikawa.jp":true,"nonoichi.ishikawa.jp":true,"noto.ishikawa.jp":true,"shika.ishikawa.jp":true,"suzu.ishikawa.jp":true,"tsubata.ishikawa.jp":true,"tsurugi.ishikawa.jp":true,"uchinada.ishikawa.jp":true,"wajima.ishikawa.jp":true,"fudai.iwate.jp":true,"fujisawa.iwate.jp":true,"hanamaki.iwate.jp":true,"hiraizumi.iwate.jp":true,"hirono.iwate.jp":true,"ichinohe.iwate.jp":true,"ichinoseki.iwate.jp":true,"iwaizumi.iwate.jp":true,"iwate.iwate.jp":true,"joboji.iwate.jp":true,"kamaishi.iwate.jp":true,"kanegasaki.iwate.jp":true,"karumai.iwate.jp":true,"kawai.iwate.jp":true,"kitakami.iwate.jp":true,"kuji.iwate.jp":true,"kunohe.iwate.jp":true,"kuzumaki.iwate.jp":true,"miyako.iwate.jp":true,"mizusawa.iwate.jp":true,"morioka.iwate.jp":true,"ninohe.iwate.jp":true,"noda.iwate.jp":true,"ofunato.iwate.jp":true,"oshu.iwate.jp":true,"otsuchi.iwate.jp":true,"rikuzentakata.iwate.jp":true,"shiwa.iwate.jp":true,"shizukuishi.iwate.jp":true,"sumita.iwate.jp":true,"tanohata.iwate.jp":true,"tono.iwate.jp":true,"yahaba.iwate.jp":true,"yamada.iwate.jp":true,"ayagawa.kagawa.jp":true,"higashikagawa.kagawa.jp":true,"kanonji.kagawa.jp":true,"kotohira.kagawa.jp":true,"manno.kagawa.jp":true,"marugame.kagawa.jp":true,"mitoyo.kagawa.jp":true,"naoshima.kagawa.jp":true,"sanuki.kagawa.jp":true,"tadotsu.kagawa.jp":true,"takamatsu.kagawa.jp":true,"tonosho.kagawa.jp":true,"uchinomi.kagawa.jp":true,"utazu.kagawa.jp":true,"zentsuji.kagawa.jp":true,"akune.kagoshima.jp":true,"amami.kagoshima.jp":true,"hioki.kagoshima.jp":true,"isa.kagoshima.jp":true,"isen.kagoshima.jp":true,"izumi.kagoshima.jp":true,"kagoshima.kagoshima.jp":true,"kanoya.kagoshima.jp":true,"kawanabe.kagoshima.jp":true,"kinko.kagoshima.jp":true,"kouyama.kagoshima.jp":true,"makurazaki.kagoshima.jp":true,"matsumoto.kagoshima.jp":true,"minamitane.kagoshima.jp":true,"nakatane.kagoshima.jp":true,"nishinoomote.kagoshima.jp":true,"satsumasendai.kagoshima.jp":true,"soo.kagoshima.jp":true,"tarumizu.kagoshima.jp":true,"yusui.kagoshima.jp":true,"aikawa.kanagawa.jp":true,"atsugi.kanagawa.jp":true,"ayase.kanagawa.jp":true,"chigasaki.kanagawa.jp":true,"ebina.kanagawa.jp":true,"fujisawa.kanagawa.jp":true,"hadano.kanagawa.jp":true,"hakone.kanagawa.jp":true,"hiratsuka.kanagawa.jp":true,"isehara.kanagawa.jp":true,"kaisei.kanagawa.jp":true,"kamakura.kanagawa.jp":true,"kiyokawa.kanagawa.jp":true,"matsuda.kanagawa.jp":true,"minamiashigara.kanagawa.jp":true,"miura.kanagawa.jp":true,"nakai.kanagawa.jp":true,"ninomiya.kanagawa.jp":true,"odawara.kanagawa.jp":true,"oi.kanagawa.jp":true,"oiso.kanagawa.jp":true,"sagamihara.kanagawa.jp":true,"samukawa.kanagawa.jp":true,"tsukui.kanagawa.jp":true,"yamakita.kanagawa.jp":true,"yamato.kanagawa.jp":true,"yokosuka.kanagawa.jp":true,"yugawara.kanagawa.jp":true,"zama.kanagawa.jp":true,"zushi.kanagawa.jp":true,"aki.kochi.jp":true,"geisei.kochi.jp":true,"hidaka.kochi.jp":true,"higashitsuno.kochi.jp":true,"ino.kochi.jp":true,"kagami.kochi.jp":true,"kami.kochi.jp":true,"kitagawa.kochi.jp":true,"kochi.kochi.jp":true,"mihara.kochi.jp":true,"motoyama.kochi.jp":true,"muroto.kochi.jp":true,"nahari.kochi.jp":true,"nakamura.kochi.jp":true,"nankoku.kochi.jp":true,"nishitosa.kochi.jp":true,"niyodogawa.kochi.jp":true,"ochi.kochi.jp":true,"okawa.kochi.jp":true,"otoyo.kochi.jp":true,"otsuki.kochi.jp":true,"sakawa.kochi.jp":true,"sukumo.kochi.jp":true,"susaki.kochi.jp":true,"tosa.kochi.jp":true,"tosashimizu.kochi.jp":true,"toyo.kochi.jp":true,"tsuno.kochi.jp":true,"umaji.kochi.jp":true,"yasuda.kochi.jp":true,"yusuhara.kochi.jp":true,"amakusa.kumamoto.jp":true,"arao.kumamoto.jp":true,"aso.kumamoto.jp":true,"choyo.kumamoto.jp":true,"gyokuto.kumamoto.jp":true,"kamiamakusa.kumamoto.jp":true,"kikuchi.kumamoto.jp":true,"kumamoto.kumamoto.jp":true,"mashiki.kumamoto.jp":true,"mifune.kumamoto.jp":true,"minamata.kumamoto.jp":true,"minamioguni.kumamoto.jp":true,"nagasu.kumamoto.jp":true,"nishihara.kumamoto.jp":true,"oguni.kumamoto.jp":true,"ozu.kumamoto.jp":true,"sumoto.kumamoto.jp":true,"takamori.kumamoto.jp":true,"uki.kumamoto.jp":true,"uto.kumamoto.jp":true,"yamaga.kumamoto.jp":true,"yamato.kumamoto.jp":true,"yatsushiro.kumamoto.jp":true,"ayabe.kyoto.jp":true,"fukuchiyama.kyoto.jp":true,"higashiyama.kyoto.jp":true,"ide.kyoto.jp":true,"ine.kyoto.jp":true,"joyo.kyoto.jp":true,"kameoka.kyoto.jp":true,"kamo.kyoto.jp":true,"kita.kyoto.jp":true,"kizu.kyoto.jp":true,"kumiyama.kyoto.jp":true,"kyotamba.kyoto.jp":true,"kyotanabe.kyoto.jp":true,"kyotango.kyoto.jp":true,"maizuru.kyoto.jp":true,"minami.kyoto.jp":true,"minamiyamashiro.kyoto.jp":true,"miyazu.kyoto.jp":true,"muko.kyoto.jp":true,"nagaokakyo.kyoto.jp":true,"nakagyo.kyoto.jp":true,"nantan.kyoto.jp":true,"oyamazaki.kyoto.jp":true,"sakyo.kyoto.jp":true,"seika.kyoto.jp":true,"tanabe.kyoto.jp":true,"uji.kyoto.jp":true,"ujitawara.kyoto.jp":true,"wazuka.kyoto.jp":true,"yamashina.kyoto.jp":true,"yawata.kyoto.jp":true,"asahi.mie.jp":true,"inabe.mie.jp":true,"ise.mie.jp":true,"kameyama.mie.jp":true,"kawagoe.mie.jp":true,"kiho.mie.jp":true,"kisosaki.mie.jp":true,"kiwa.mie.jp":true,"komono.mie.jp":true,"kumano.mie.jp":true,"kuwana.mie.jp":true,"matsusaka.mie.jp":true,"meiwa.mie.jp":true,"mihama.mie.jp":true,"minamiise.mie.jp":true,"misugi.mie.jp":true,"miyama.mie.jp":true,"nabari.mie.jp":true,"shima.mie.jp":true,"suzuka.mie.jp":true,"tado.mie.jp":true,"taiki.mie.jp":true,"taki.mie.jp":true,"tamaki.mie.jp":true,"toba.mie.jp":true,"tsu.mie.jp":true,"udono.mie.jp":true,"ureshino.mie.jp":true,"watarai.mie.jp":true,"yokkaichi.mie.jp":true,"furukawa.miyagi.jp":true,"higashimatsushima.miyagi.jp":true,"ishinomaki.miyagi.jp":true,"iwanuma.miyagi.jp":true,"kakuda.miyagi.jp":true,"kami.miyagi.jp":true,"kawasaki.miyagi.jp":true,"marumori.miyagi.jp":true,"matsushima.miyagi.jp":true,"minamisanriku.miyagi.jp":true,"misato.miyagi.jp":true,"murata.miyagi.jp":true,"natori.miyagi.jp":true,"ogawara.miyagi.jp":true,"ohira.miyagi.jp":true,"onagawa.miyagi.jp":true,"osaki.miyagi.jp":true,"rifu.miyagi.jp":true,"semine.miyagi.jp":true,"shibata.miyagi.jp":true,"shichikashuku.miyagi.jp":true,"shikama.miyagi.jp":true,"shiogama.miyagi.jp":true,"shiroishi.miyagi.jp":true,"tagajo.miyagi.jp":true,"taiwa.miyagi.jp":true,"tome.miyagi.jp":true,"tomiya.miyagi.jp":true,"wakuya.miyagi.jp":true,"watari.miyagi.jp":true,"yamamoto.miyagi.jp":true,"zao.miyagi.jp":true,"aya.miyazaki.jp":true,"ebino.miyazaki.jp":true,"gokase.miyazaki.jp":true,"hyuga.miyazaki.jp":true,"kadogawa.miyazaki.jp":true,"kawaminami.miyazaki.jp":true,"kijo.miyazaki.jp":true,"kitagawa.miyazaki.jp":true,"kitakata.miyazaki.jp":true,"kitaura.miyazaki.jp":true,"kobayashi.miyazaki.jp":true,"kunitomi.miyazaki.jp":true,"kushima.miyazaki.jp":true,"mimata.miyazaki.jp":true,"miyakonojo.miyazaki.jp":true,"miyazaki.miyazaki.jp":true,"morotsuka.miyazaki.jp":true,"nichinan.miyazaki.jp":true,"nishimera.miyazaki.jp":true,"nobeoka.miyazaki.jp":true,"saito.miyazaki.jp":true,"shiiba.miyazaki.jp":true,"shintomi.miyazaki.jp":true,"takaharu.miyazaki.jp":true,"takanabe.miyazaki.jp":true,"takazaki.miyazaki.jp":true,"tsuno.miyazaki.jp":true,"achi.nagano.jp":true,"agematsu.nagano.jp":true,"anan.nagano.jp":true,"aoki.nagano.jp":true,"asahi.nagano.jp":true,"azumino.nagano.jp":true,"chikuhoku.nagano.jp":true,"chikuma.nagano.jp":true,"chino.nagano.jp":true,"fujimi.nagano.jp":true,"hakuba.nagano.jp":true,"hara.nagano.jp":true,"hiraya.nagano.jp":true,"iida.nagano.jp":true,"iijima.nagano.jp":true,"iiyama.nagano.jp":true,"iizuna.nagano.jp":true,"ikeda.nagano.jp":true,"ikusaka.nagano.jp":true,"ina.nagano.jp":true,"karuizawa.nagano.jp":true,"kawakami.nagano.jp":true,"kiso.nagano.jp":true,"kisofukushima.nagano.jp":true,"kitaaiki.nagano.jp":true,"komagane.nagano.jp":true,"komoro.nagano.jp":true,"matsukawa.nagano.jp":true,"matsumoto.nagano.jp":true,"miasa.nagano.jp":true,"minamiaiki.nagano.jp":true,"minamimaki.nagano.jp":true,"minamiminowa.nagano.jp":true,"minowa.nagano.jp":true,"miyada.nagano.jp":true,"miyota.nagano.jp":true,"mochizuki.nagano.jp":true,"nagano.nagano.jp":true,"nagawa.nagano.jp":true,"nagiso.nagano.jp":true,"nakagawa.nagano.jp":true,"nakano.nagano.jp":true,"nozawaonsen.nagano.jp":true,"obuse.nagano.jp":true,"ogawa.nagano.jp":true,"okaya.nagano.jp":true,"omachi.nagano.jp":true,"omi.nagano.jp":true,"ookuwa.nagano.jp":true,"ooshika.nagano.jp":true,"otaki.nagano.jp":true,"otari.nagano.jp":true,"sakae.nagano.jp":true,"sakaki.nagano.jp":true,"saku.nagano.jp":true,"sakuho.nagano.jp":true,"shimosuwa.nagano.jp":true,"shinanomachi.nagano.jp":true,"shiojiri.nagano.jp":true,"suwa.nagano.jp":true,"suzaka.nagano.jp":true,"takagi.nagano.jp":true,"takamori.nagano.jp":true,"takayama.nagano.jp":true,"tateshina.nagano.jp":true,"tatsuno.nagano.jp":true,"togakushi.nagano.jp":true,"togura.nagano.jp":true,"tomi.nagano.jp":true,"ueda.nagano.jp":true,"wada.nagano.jp":true,"yamagata.nagano.jp":true,"yamanouchi.nagano.jp":true,"yasaka.nagano.jp":true,"yasuoka.nagano.jp":true,"chijiwa.nagasaki.jp":true,"futsu.nagasaki.jp":true,"goto.nagasaki.jp":true,"hasami.nagasaki.jp":true,"hirado.nagasaki.jp":true,"iki.nagasaki.jp":true,"isahaya.nagasaki.jp":true,"kawatana.nagasaki.jp":true,"kuchinotsu.nagasaki.jp":true,"matsuura.nagasaki.jp":true,"nagasaki.nagasaki.jp":true,"obama.nagasaki.jp":true,"omura.nagasaki.jp":true,"oseto.nagasaki.jp":true,"saikai.nagasaki.jp":true,"sasebo.nagasaki.jp":true,"seihi.nagasaki.jp":true,"shimabara.nagasaki.jp":true,"shinkamigoto.nagasaki.jp":true,"togitsu.nagasaki.jp":true,"tsushima.nagasaki.jp":true,"unzen.nagasaki.jp":true,"ando.nara.jp":true,"gose.nara.jp":true,"heguri.nara.jp":true,"higashiyoshino.nara.jp":true,"ikaruga.nara.jp":true,"ikoma.nara.jp":true,"kamikitayama.nara.jp":true,"kanmaki.nara.jp":true,"kashiba.nara.jp":true,"kashihara.nara.jp":true,"katsuragi.nara.jp":true,"kawai.nara.jp":true,"kawakami.nara.jp":true,"kawanishi.nara.jp":true,"koryo.nara.jp":true,"kurotaki.nara.jp":true,"mitsue.nara.jp":true,"miyake.nara.jp":true,"nara.nara.jp":true,"nosegawa.nara.jp":true,"oji.nara.jp":true,"ouda.nara.jp":true,"oyodo.nara.jp":true,"sakurai.nara.jp":true,"sango.nara.jp":true,"shimoichi.nara.jp":true,"shimokitayama.nara.jp":true,"shinjo.nara.jp":true,"soni.nara.jp":true,"takatori.nara.jp":true,"tawaramoto.nara.jp":true,"tenkawa.nara.jp":true,"tenri.nara.jp":true,"uda.nara.jp":true,"yamatokoriyama.nara.jp":true,"yamatotakada.nara.jp":true,"yamazoe.nara.jp":true,"yoshino.nara.jp":true,"aga.niigata.jp":true,"agano.niigata.jp":true,"gosen.niigata.jp":true,"itoigawa.niigata.jp":true,"izumozaki.niigata.jp":true,"joetsu.niigata.jp":true,"kamo.niigata.jp":true,"kariwa.niigata.jp":true,"kashiwazaki.niigata.jp":true,"minamiuonuma.niigata.jp":true,"mitsuke.niigata.jp":true,"muika.niigata.jp":true,"murakami.niigata.jp":true,"myoko.niigata.jp":true,"nagaoka.niigata.jp":true,"niigata.niigata.jp":true,"ojiya.niigata.jp":true,"omi.niigata.jp":true,"sado.niigata.jp":true,"sanjo.niigata.jp":true,"seiro.niigata.jp":true,"seirou.niigata.jp":true,"sekikawa.niigata.jp":true,"shibata.niigata.jp":true,"tagami.niigata.jp":true,"tainai.niigata.jp":true,"tochio.niigata.jp":true,"tokamachi.niigata.jp":true,"tsubame.niigata.jp":true,"tsunan.niigata.jp":true,"uonuma.niigata.jp":true,"yahiko.niigata.jp":true,"yoita.niigata.jp":true,"yuzawa.niigata.jp":true,"beppu.oita.jp":true,"bungoono.oita.jp":true,"bungotakada.oita.jp":true,"hasama.oita.jp":true,"hiji.oita.jp":true,"himeshima.oita.jp":true,"hita.oita.jp":true,"kamitsue.oita.jp":true,"kokonoe.oita.jp":true,"kuju.oita.jp":true,"kunisaki.oita.jp":true,"kusu.oita.jp":true,"oita.oita.jp":true,"saiki.oita.jp":true,"taketa.oita.jp":true,"tsukumi.oita.jp":true,"usa.oita.jp":true,"usuki.oita.jp":true,"yufu.oita.jp":true,"akaiwa.okayama.jp":true,"asakuchi.okayama.jp":true,"bizen.okayama.jp":true,"hayashima.okayama.jp":true,"ibara.okayama.jp":true,"kagamino.okayama.jp":true,"kasaoka.okayama.jp":true,"kibichuo.okayama.jp":true,"kumenan.okayama.jp":true,"kurashiki.okayama.jp":true,"maniwa.okayama.jp":true,"misaki.okayama.jp":true,"nagi.okayama.jp":true,"niimi.okayama.jp":true,"nishiawakura.okayama.jp":true,"okayama.okayama.jp":true,"satosho.okayama.jp":true,"setouchi.okayama.jp":true,"shinjo.okayama.jp":true,"shoo.okayama.jp":true,"soja.okayama.jp":true,"takahashi.okayama.jp":true,"tamano.okayama.jp":true,"tsuyama.okayama.jp":true,"wake.okayama.jp":true,"yakage.okayama.jp":true,"aguni.okinawa.jp":true,"ginowan.okinawa.jp":true,"ginoza.okinawa.jp":true,"gushikami.okinawa.jp":true,"haebaru.okinawa.jp":true,"higashi.okinawa.jp":true,"hirara.okinawa.jp":true,"iheya.okinawa.jp":true,"ishigaki.okinawa.jp":true,"ishikawa.okinawa.jp":true,"itoman.okinawa.jp":true,"izena.okinawa.jp":true,"kadena.okinawa.jp":true,"kin.okinawa.jp":true,"kitadaito.okinawa.jp":true,"kitanakagusuku.okinawa.jp":true,"kumejima.okinawa.jp":true,"kunigami.okinawa.jp":true,"minamidaito.okinawa.jp":true,"motobu.okinawa.jp":true,"nago.okinawa.jp":true,"naha.okinawa.jp":true,"nakagusuku.okinawa.jp":true,"nakijin.okinawa.jp":true,"nanjo.okinawa.jp":true,"nishihara.okinawa.jp":true,"ogimi.okinawa.jp":true,"okinawa.okinawa.jp":true,"onna.okinawa.jp":true,"shimoji.okinawa.jp":true,"taketomi.okinawa.jp":true,"tarama.okinawa.jp":true,"tokashiki.okinawa.jp":true,"tomigusuku.okinawa.jp":true,"tonaki.okinawa.jp":true,"urasoe.okinawa.jp":true,"uruma.okinawa.jp":true,"yaese.okinawa.jp":true,"yomitan.okinawa.jp":true,"yonabaru.okinawa.jp":true,"yonaguni.okinawa.jp":true,"zamami.okinawa.jp":true,"abeno.osaka.jp":true,"chihayaakasaka.osaka.jp":true,"chuo.osaka.jp":true,"daito.osaka.jp":true,"fujiidera.osaka.jp":true,"habikino.osaka.jp":true,"hannan.osaka.jp":true,"higashiosaka.osaka.jp":true,"higashisumiyoshi.osaka.jp":true,"higashiyodogawa.osaka.jp":true,"hirakata.osaka.jp":true,"ibaraki.osaka.jp":true,"ikeda.osaka.jp":true,"izumi.osaka.jp":true,"izumiotsu.osaka.jp":true,"izumisano.osaka.jp":true,"kadoma.osaka.jp":true,"kaizuka.osaka.jp":true,"kanan.osaka.jp":true,"kashiwara.osaka.jp":true,"katano.osaka.jp":true,"kawachinagano.osaka.jp":true,"kishiwada.osaka.jp":true,"kita.osaka.jp":true,"kumatori.osaka.jp":true,"matsubara.osaka.jp":true,"minato.osaka.jp":true,"minoh.osaka.jp":true,"misaki.osaka.jp":true,"moriguchi.osaka.jp":true,"neyagawa.osaka.jp":true,"nishi.osaka.jp":true,"nose.osaka.jp":true,"osakasayama.osaka.jp":true,"sakai.osaka.jp":true,"sayama.osaka.jp":true,"sennan.osaka.jp":true,"settsu.osaka.jp":true,"shijonawate.osaka.jp":true,"shimamoto.osaka.jp":true,"suita.osaka.jp":true,"tadaoka.osaka.jp":true,"taishi.osaka.jp":true,"tajiri.osaka.jp":true,"takaishi.osaka.jp":true,"takatsuki.osaka.jp":true,"tondabayashi.osaka.jp":true,"toyonaka.osaka.jp":true,"toyono.osaka.jp":true,"yao.osaka.jp":true,"ariake.saga.jp":true,"arita.saga.jp":true,"fukudomi.saga.jp":true,"genkai.saga.jp":true,"hamatama.saga.jp":true,"hizen.saga.jp":true,"imari.saga.jp":true,"kamimine.saga.jp":true,"kanzaki.saga.jp":true,"karatsu.saga.jp":true,"kashima.saga.jp":true,"kitagata.saga.jp":true,"kitahata.saga.jp":true,"kiyama.saga.jp":true,"kouhoku.saga.jp":true,"kyuragi.saga.jp":true,"nishiarita.saga.jp":true,"ogi.saga.jp":true,"omachi.saga.jp":true,"ouchi.saga.jp":true,"saga.saga.jp":true,"shiroishi.saga.jp":true,"taku.saga.jp":true,"tara.saga.jp":true,"tosu.saga.jp":true,"yoshinogari.saga.jp":true,"arakawa.saitama.jp":true,"asaka.saitama.jp":true,"chichibu.saitama.jp":true,"fujimi.saitama.jp":true,"fujimino.saitama.jp":true,"fukaya.saitama.jp":true,"hanno.saitama.jp":true,"hanyu.saitama.jp":true,"hasuda.saitama.jp":true,"hatogaya.saitama.jp":true,"hatoyama.saitama.jp":true,"hidaka.saitama.jp":true,"higashichichibu.saitama.jp":true,"higashimatsuyama.saitama.jp":true,"honjo.saitama.jp":true,"ina.saitama.jp":true,"iruma.saitama.jp":true,"iwatsuki.saitama.jp":true,"kamiizumi.saitama.jp":true,"kamikawa.saitama.jp":true,"kamisato.saitama.jp":true,"kasukabe.saitama.jp":true,"kawagoe.saitama.jp":true,"kawaguchi.saitama.jp":true,"kawajima.saitama.jp":true,"kazo.saitama.jp":true,"kitamoto.saitama.jp":true,"koshigaya.saitama.jp":true,"kounosu.saitama.jp":true,"kuki.saitama.jp":true,"kumagaya.saitama.jp":true,"matsubushi.saitama.jp":true,"minano.saitama.jp":true,"misato.saitama.jp":true,"miyashiro.saitama.jp":true,"miyoshi.saitama.jp":true,"moroyama.saitama.jp":true,"nagatoro.saitama.jp":true,"namegawa.saitama.jp":true,"niiza.saitama.jp":true,"ogano.saitama.jp":true,"ogawa.saitama.jp":true,"ogose.saitama.jp":true,"okegawa.saitama.jp":true,"omiya.saitama.jp":true,"otaki.saitama.jp":true,"ranzan.saitama.jp":true,"ryokami.saitama.jp":true,"saitama.saitama.jp":true,"sakado.saitama.jp":true,"satte.saitama.jp":true,"sayama.saitama.jp":true,"shiki.saitama.jp":true,"shiraoka.saitama.jp":true,"soka.saitama.jp":true,"sugito.saitama.jp":true,"toda.saitama.jp":true,"tokigawa.saitama.jp":true,"tokorozawa.saitama.jp":true,"tsurugashima.saitama.jp":true,"urawa.saitama.jp":true,"warabi.saitama.jp":true,"yashio.saitama.jp":true,"yokoze.saitama.jp":true,"yono.saitama.jp":true,"yorii.saitama.jp":true,"yoshida.saitama.jp":true,"yoshikawa.saitama.jp":true,"yoshimi.saitama.jp":true,"aisho.shiga.jp":true,"gamo.shiga.jp":true,"higashiomi.shiga.jp":true,"hikone.shiga.jp":true,"koka.shiga.jp":true,"konan.shiga.jp":true,"kosei.shiga.jp":true,"koto.shiga.jp":true,"kusatsu.shiga.jp":true,"maibara.shiga.jp":true,"moriyama.shiga.jp":true,"nagahama.shiga.jp":true,"nishiazai.shiga.jp":true,"notogawa.shiga.jp":true,"omihachiman.shiga.jp":true,"otsu.shiga.jp":true,"ritto.shiga.jp":true,"ryuoh.shiga.jp":true,"takashima.shiga.jp":true,"takatsuki.shiga.jp":true,"torahime.shiga.jp":true,"toyosato.shiga.jp":true,"yasu.shiga.jp":true,"akagi.shimane.jp":true,"ama.shimane.jp":true,"gotsu.shimane.jp":true,"hamada.shimane.jp":true,"higashiizumo.shimane.jp":true,"hikawa.shimane.jp":true,"hikimi.shimane.jp":true,"izumo.shimane.jp":true,"kakinoki.shimane.jp":true,"masuda.shimane.jp":true,"matsue.shimane.jp":true,"misato.shimane.jp":true,"nishinoshima.shimane.jp":true,"ohda.shimane.jp":true,"okinoshima.shimane.jp":true,"okuizumo.shimane.jp":true,"shimane.shimane.jp":true,"tamayu.shimane.jp":true,"tsuwano.shimane.jp":true,"unnan.shimane.jp":true,"yakumo.shimane.jp":true,"yasugi.shimane.jp":true,"yatsuka.shimane.jp":true,"arai.shizuoka.jp":true,"atami.shizuoka.jp":true,"fuji.shizuoka.jp":true,"fujieda.shizuoka.jp":true,"fujikawa.shizuoka.jp":true,"fujinomiya.shizuoka.jp":true,"fukuroi.shizuoka.jp":true,"gotemba.shizuoka.jp":true,"haibara.shizuoka.jp":true,"hamamatsu.shizuoka.jp":true,"higashiizu.shizuoka.jp":true,"ito.shizuoka.jp":true,"iwata.shizuoka.jp":true,"izu.shizuoka.jp":true,"izunokuni.shizuoka.jp":true,"kakegawa.shizuoka.jp":true,"kannami.shizuoka.jp":true,"kawanehon.shizuoka.jp":true,"kawazu.shizuoka.jp":true,"kikugawa.shizuoka.jp":true,"kosai.shizuoka.jp":true,"makinohara.shizuoka.jp":true,"matsuzaki.shizuoka.jp":true,"minamiizu.shizuoka.jp":true,"mishima.shizuoka.jp":true,"morimachi.shizuoka.jp":true,"nishiizu.shizuoka.jp":true,"numazu.shizuoka.jp":true,"omaezaki.shizuoka.jp":true,"shimada.shizuoka.jp":true,"shimizu.shizuoka.jp":true,"shimoda.shizuoka.jp":true,"shizuoka.shizuoka.jp":true,"susono.shizuoka.jp":true,"yaizu.shizuoka.jp":true,"yoshida.shizuoka.jp":true,"ashikaga.tochigi.jp":true,"bato.tochigi.jp":true,"haga.tochigi.jp":true,"ichikai.tochigi.jp":true,"iwafune.tochigi.jp":true,"kaminokawa.tochigi.jp":true,"kanuma.tochigi.jp":true,"karasuyama.tochigi.jp":true,"kuroiso.tochigi.jp":true,"mashiko.tochigi.jp":true,"mibu.tochigi.jp":true,"moka.tochigi.jp":true,"motegi.tochigi.jp":true,"nasu.tochigi.jp":true,"nasushiobara.tochigi.jp":true,"nikko.tochigi.jp":true,"nishikata.tochigi.jp":true,"nogi.tochigi.jp":true,"ohira.tochigi.jp":true,"ohtawara.tochigi.jp":true,"oyama.tochigi.jp":true,"sakura.tochigi.jp":true,"sano.tochigi.jp":true,"shimotsuke.tochigi.jp":true,"shioya.tochigi.jp":true,"takanezawa.tochigi.jp":true,"tochigi.tochigi.jp":true,"tsuga.tochigi.jp":true,"ujiie.tochigi.jp":true,"utsunomiya.tochigi.jp":true,"yaita.tochigi.jp":true,"aizumi.tokushima.jp":true,"anan.tokushima.jp":true,"ichiba.tokushima.jp":true,"itano.tokushima.jp":true,"kainan.tokushima.jp":true,"komatsushima.tokushima.jp":true,"matsushige.tokushima.jp":true,"mima.tokushima.jp":true,"minami.tokushima.jp":true,"miyoshi.tokushima.jp":true,"mugi.tokushima.jp":true,"nakagawa.tokushima.jp":true,"naruto.tokushima.jp":true,"sanagochi.tokushima.jp":true,"shishikui.tokushima.jp":true,"tokushima.tokushima.jp":true,"wajiki.tokushima.jp":true,"adachi.tokyo.jp":true,"akiruno.tokyo.jp":true,"akishima.tokyo.jp":true,"aogashima.tokyo.jp":true,"arakawa.tokyo.jp":true,"bunkyo.tokyo.jp":true,"chiyoda.tokyo.jp":true,"chofu.tokyo.jp":true,"chuo.tokyo.jp":true,"edogawa.tokyo.jp":true,"fuchu.tokyo.jp":true,"fussa.tokyo.jp":true,"hachijo.tokyo.jp":true,"hachioji.tokyo.jp":true,"hamura.tokyo.jp":true,"higashikurume.tokyo.jp":true,"higashimurayama.tokyo.jp":true,"higashiyamato.tokyo.jp":true,"hino.tokyo.jp":true,"hinode.tokyo.jp":true,"hinohara.tokyo.jp":true,"inagi.tokyo.jp":true,"itabashi.tokyo.jp":true,"katsushika.tokyo.jp":true,"kita.tokyo.jp":true,"kiyose.tokyo.jp":true,"kodaira.tokyo.jp":true,"koganei.tokyo.jp":true,"kokubunji.tokyo.jp":true,"komae.tokyo.jp":true,"koto.tokyo.jp":true,"kouzushima.tokyo.jp":true,"kunitachi.tokyo.jp":true,"machida.tokyo.jp":true,"meguro.tokyo.jp":true,"minato.tokyo.jp":true,"mitaka.tokyo.jp":true,"mizuho.tokyo.jp":true,"musashimurayama.tokyo.jp":true,"musashino.tokyo.jp":true,"nakano.tokyo.jp":true,"nerima.tokyo.jp":true,"ogasawara.tokyo.jp":true,"okutama.tokyo.jp":true,"ome.tokyo.jp":true,"oshima.tokyo.jp":true,"ota.tokyo.jp":true,"setagaya.tokyo.jp":true,"shibuya.tokyo.jp":true,"shinagawa.tokyo.jp":true,"shinjuku.tokyo.jp":true,"suginami.tokyo.jp":true,"sumida.tokyo.jp":true,"tachikawa.tokyo.jp":true,"taito.tokyo.jp":true,"tama.tokyo.jp":true,"toshima.tokyo.jp":true,"chizu.tottori.jp":true,"hino.tottori.jp":true,"kawahara.tottori.jp":true,"koge.tottori.jp":true,"kotoura.tottori.jp":true,"misasa.tottori.jp":true,"nanbu.tottori.jp":true,"nichinan.tottori.jp":true,"sakaiminato.tottori.jp":true,"tottori.tottori.jp":true,"wakasa.tottori.jp":true,"yazu.tottori.jp":true,"yonago.tottori.jp":true,"asahi.toyama.jp":true,"fuchu.toyama.jp":true,"fukumitsu.toyama.jp":true,"funahashi.toyama.jp":true,"himi.toyama.jp":true,"imizu.toyama.jp":true,"inami.toyama.jp":true,"johana.toyama.jp":true,"kamiichi.toyama.jp":true,"kurobe.toyama.jp":true,"nakaniikawa.toyama.jp":true,"namerikawa.toyama.jp":true,"nanto.toyama.jp":true,"nyuzen.toyama.jp":true,"oyabe.toyama.jp":true,"taira.toyama.jp":true,"takaoka.toyama.jp":true,"tateyama.toyama.jp":true,"toga.toyama.jp":true,"tonami.toyama.jp":true,"toyama.toyama.jp":true,"unazuki.toyama.jp":true,"uozu.toyama.jp":true,"yamada.toyama.jp":true,"arida.wakayama.jp":true,"aridagawa.wakayama.jp":true,"gobo.wakayama.jp":true,"hashimoto.wakayama.jp":true,"hidaka.wakayama.jp":true,"hirogawa.wakayama.jp":true,"inami.wakayama.jp":true,"iwade.wakayama.jp":true,"kainan.wakayama.jp":true,"kamitonda.wakayama.jp":true,"katsuragi.wakayama.jp":true,"kimino.wakayama.jp":true,"kinokawa.wakayama.jp":true,"kitayama.wakayama.jp":true,"koya.wakayama.jp":true,"koza.wakayama.jp":true,"kozagawa.wakayama.jp":true,"kudoyama.wakayama.jp":true,"kushimoto.wakayama.jp":true,"mihama.wakayama.jp":true,"misato.wakayama.jp":true,"nachikatsuura.wakayama.jp":true,"shingu.wakayama.jp":true,"shirahama.wakayama.jp":true,"taiji.wakayama.jp":true,"tanabe.wakayama.jp":true,"wakayama.wakayama.jp":true,"yuasa.wakayama.jp":true,"yura.wakayama.jp":true,"asahi.yamagata.jp":true,"funagata.yamagata.jp":true,"higashine.yamagata.jp":true,"iide.yamagata.jp":true,"kahoku.yamagata.jp":true,"kaminoyama.yamagata.jp":true,"kaneyama.yamagata.jp":true,"kawanishi.yamagata.jp":true,"mamurogawa.yamagata.jp":true,"mikawa.yamagata.jp":true,"murayama.yamagata.jp":true,"nagai.yamagata.jp":true,"nakayama.yamagata.jp":true,"nanyo.yamagata.jp":true,"nishikawa.yamagata.jp":true,"obanazawa.yamagata.jp":true,"oe.yamagata.jp":true,"oguni.yamagata.jp":true,"ohkura.yamagata.jp":true,"oishida.yamagata.jp":true,"sagae.yamagata.jp":true,"sakata.yamagata.jp":true,"sakegawa.yamagata.jp":true,"shinjo.yamagata.jp":true,"shirataka.yamagata.jp":true,"shonai.yamagata.jp":true,"takahata.yamagata.jp":true,"tendo.yamagata.jp":true,"tozawa.yamagata.jp":true,"tsuruoka.yamagata.jp":true,"yamagata.yamagata.jp":true,"yamanobe.yamagata.jp":true,"yonezawa.yamagata.jp":true,"yuza.yamagata.jp":true,"abu.yamaguchi.jp":true,"hagi.yamaguchi.jp":true,"hikari.yamaguchi.jp":true,"hofu.yamaguchi.jp":true,"iwakuni.yamaguchi.jp":true,"kudamatsu.yamaguchi.jp":true,"mitou.yamaguchi.jp":true,"nagato.yamaguchi.jp":true,"oshima.yamaguchi.jp":true,"shimonoseki.yamaguchi.jp":true,"shunan.yamaguchi.jp":true,"tabuse.yamaguchi.jp":true,"tokuyama.yamaguchi.jp":true,"toyota.yamaguchi.jp":true,"ube.yamaguchi.jp":true,"yuu.yamaguchi.jp":true,"chuo.yamanashi.jp":true,"doshi.yamanashi.jp":true,"fuefuki.yamanashi.jp":true,"fujikawa.yamanashi.jp":true,"fujikawaguchiko.yamanashi.jp":true,"fujiyoshida.yamanashi.jp":true,"hayakawa.yamanashi.jp":true,"hokuto.yamanashi.jp":true,"ichikawamisato.yamanashi.jp":true,"kai.yamanashi.jp":true,"kofu.yamanashi.jp":true,"koshu.yamanashi.jp":true,"kosuge.yamanashi.jp":true,"minami-alps.yamanashi.jp":true,"minobu.yamanashi.jp":true,"nakamichi.yamanashi.jp":true,"nanbu.yamanashi.jp":true,"narusawa.yamanashi.jp":true,"nirasaki.yamanashi.jp":true,"nishikatsura.yamanashi.jp":true,"oshino.yamanashi.jp":true,"otsuki.yamanashi.jp":true,"showa.yamanashi.jp":true,"tabayama.yamanashi.jp":true,"tsuru.yamanashi.jp":true,"uenohara.yamanashi.jp":true,"yamanakako.yamanashi.jp":true,"yamanashi.yamanashi.jp":true,"*.ke":true,"kg":true,"org.kg":true,"net.kg":true,"com.kg":true,"edu.kg":true,"gov.kg":true,"mil.kg":true,"*.kh":true,"ki":true,"edu.ki":true,"biz.ki":true,"net.ki":true,"org.ki":true,"gov.ki":true,"info.ki":true,"com.ki":true,"km":true,"org.km":true,"nom.km":true,"gov.km":true,"prd.km":true,"tm.km":true,"edu.km":true,"mil.km":true,"ass.km":true,"com.km":true,"coop.km":true,"asso.km":true,"presse.km":true,"medecin.km":true,"notaires.km":true,"pharmaciens.km":true,"veterinaire.km":true,"gouv.km":true,"kn":true,"net.kn":true,"org.kn":true,"edu.kn":true,"gov.kn":true,"kp":true,"com.kp":true,"edu.kp":true,"gov.kp":true,"org.kp":true,"rep.kp":true,"tra.kp":true,"kr":true,"ac.kr":true,"co.kr":true,"es.kr":true,"go.kr":true,"hs.kr":true,"kg.kr":true,"mil.kr":true,"ms.kr":true,"ne.kr":true,"or.kr":true,"pe.kr":true,"re.kr":true,"sc.kr":true,"busan.kr":true,"chungbuk.kr":true,"chungnam.kr":true,"daegu.kr":true,"daejeon.kr":true,"gangwon.kr":true,"gwangju.kr":true,"gyeongbuk.kr":true,"gyeonggi.kr":true,"gyeongnam.kr":true,"incheon.kr":true,"jeju.kr":true,"jeonbuk.kr":true,"jeonnam.kr":true,"seoul.kr":true,"ulsan.kr":true,"*.kw":true,"ky":true,"edu.ky":true,"gov.ky":true,"com.ky":true,"org.ky":true,"net.ky":true,"kz":true,"org.kz":true,"edu.kz":true,"net.kz":true,"gov.kz":true,"mil.kz":true,"com.kz":true,"la":true,"int.la":true,"net.la":true,"info.la":true,"edu.la":true,"gov.la":true,"per.la":true,"com.la":true,"org.la":true,"lb":true,"com.lb":true,"edu.lb":true,"gov.lb":true,"net.lb":true,"org.lb":true,"lc":true,"com.lc":true,"net.lc":true,"co.lc":true,"org.lc":true,"edu.lc":true,"gov.lc":true,"li":true,"lk":true,"gov.lk":true,"sch.lk":true,"net.lk":true,"int.lk":true,"com.lk":true,"org.lk":true,"edu.lk":true,"ngo.lk":true,"soc.lk":true,"web.lk":true,"ltd.lk":true,"assn.lk":true,"grp.lk":true,"hotel.lk":true,"ac.lk":true,"lr":true,"com.lr":true,"edu.lr":true,"gov.lr":true,"org.lr":true,"net.lr":true,"ls":true,"co.ls":true,"org.ls":true,"lt":true,"gov.lt":true,"lu":true,"lv":true,"com.lv":true,"edu.lv":true,"gov.lv":true,"org.lv":true,"mil.lv":true,"id.lv":true,"net.lv":true,"asn.lv":true,"conf.lv":true,"ly":true,"com.ly":true,"net.ly":true,"gov.ly":true,"plc.ly":true,"edu.ly":true,"sch.ly":true,"med.ly":true,"org.ly":true,"id.ly":true,"ma":true,"co.ma":true,"net.ma":true,"gov.ma":true,"org.ma":true,"ac.ma":true,"press.ma":true,"mc":true,"tm.mc":true,"asso.mc":true,"md":true,"me":true,"co.me":true,"net.me":true,"org.me":true,"edu.me":true,"ac.me":true,"gov.me":true,"its.me":true,"priv.me":true,"mg":true,"org.mg":true,"nom.mg":true,"gov.mg":true,"prd.mg":true,"tm.mg":true,"edu.mg":true,"mil.mg":true,"com.mg":true,"co.mg":true,"mh":true,"mil":true,"mk":true,"com.mk":true,"org.mk":true,"net.mk":true,"edu.mk":true,"gov.mk":true,"inf.mk":true,"name.mk":true,"ml":true,"com.ml":true,"edu.ml":true,"gouv.ml":true,"gov.ml":true,"net.ml":true,"org.ml":true,"presse.ml":true,"*.mm":true,"mn":true,"gov.mn":true,"edu.mn":true,"org.mn":true,"mo":true,"com.mo":true,"net.mo":true,"org.mo":true,"edu.mo":true,"gov.mo":true,"mobi":true,"mp":true,"mq":true,"mr":true,"gov.mr":true,"ms":true,"com.ms":true,"edu.ms":true,"gov.ms":true,"net.ms":true,"org.ms":true,"mt":true,"com.mt":true,"edu.mt":true,"net.mt":true,"org.mt":true,"mu":true,"com.mu":true,"net.mu":true,"org.mu":true,"gov.mu":true,"ac.mu":true,"co.mu":true,"or.mu":true,"museum":true,"academy.museum":true,"agriculture.museum":true,"air.museum":true,"airguard.museum":true,"alabama.museum":true,"alaska.museum":true,"amber.museum":true,"ambulance.museum":true,"american.museum":true,"americana.museum":true,"americanantiques.museum":true,"americanart.museum":true,"amsterdam.museum":true,"and.museum":true,"annefrank.museum":true,"anthro.museum":true,"anthropology.museum":true,"antiques.museum":true,"aquarium.museum":true,"arboretum.museum":true,"archaeological.museum":true,"archaeology.museum":true,"architecture.museum":true,"art.museum":true,"artanddesign.museum":true,"artcenter.museum":true,"artdeco.museum":true,"arteducation.museum":true,"artgallery.museum":true,"arts.museum":true,"artsandcrafts.museum":true,"asmatart.museum":true,"assassination.museum":true,"assisi.museum":true,"association.museum":true,"astronomy.museum":true,"atlanta.museum":true,"austin.museum":true,"australia.museum":true,"automotive.museum":true,"aviation.museum":true,"axis.museum":true,"badajoz.museum":true,"baghdad.museum":true,"bahn.museum":true,"bale.museum":true,"baltimore.museum":true,"barcelona.museum":true,"baseball.museum":true,"basel.museum":true,"baths.museum":true,"bauern.museum":true,"beauxarts.museum":true,"beeldengeluid.museum":true,"bellevue.museum":true,"bergbau.museum":true,"berkeley.museum":true,"berlin.museum":true,"bern.museum":true,"bible.museum":true,"bilbao.museum":true,"bill.museum":true,"birdart.museum":true,"birthplace.museum":true,"bonn.museum":true,"boston.museum":true,"botanical.museum":true,"botanicalgarden.museum":true,"botanicgarden.museum":true,"botany.museum":true,"brandywinevalley.museum":true,"brasil.museum":true,"bristol.museum":true,"british.museum":true,"britishcolumbia.museum":true,"broadcast.museum":true,"brunel.museum":true,"brussel.museum":true,"brussels.museum":true,"bruxelles.museum":true,"building.museum":true,"burghof.museum":true,"bus.museum":true,"bushey.museum":true,"cadaques.museum":true,"california.museum":true,"cambridge.museum":true,"can.museum":true,"canada.museum":true,"capebreton.museum":true,"carrier.museum":true,"cartoonart.museum":true,"casadelamoneda.museum":true,"castle.museum":true,"castres.museum":true,"celtic.museum":true,"center.museum":true,"chattanooga.museum":true,"cheltenham.museum":true,"chesapeakebay.museum":true,"chicago.museum":true,"children.museum":true,"childrens.museum":true,"childrensgarden.museum":true,"chiropractic.museum":true,"chocolate.museum":true,"christiansburg.museum":true,"cincinnati.museum":true,"cinema.museum":true,"circus.museum":true,"civilisation.museum":true,"civilization.museum":true,"civilwar.museum":true,"clinton.museum":true,"clock.museum":true,"coal.museum":true,"coastaldefence.museum":true,"cody.museum":true,"coldwar.museum":true,"collection.museum":true,"colonialwilliamsburg.museum":true,"coloradoplateau.museum":true,"columbia.museum":true,"columbus.museum":true,"communication.museum":true,"communications.museum":true,"community.museum":true,"computer.museum":true,"computerhistory.museum":true,"xn--comunicaes-v6a2o.museum":true,"contemporary.museum":true,"contemporaryart.museum":true,"convent.museum":true,"copenhagen.museum":true,"corporation.museum":true,"xn--correios-e-telecomunicaes-ghc29a.museum":true,"corvette.museum":true,"costume.museum":true,"countryestate.museum":true,"county.museum":true,"crafts.museum":true,"cranbrook.museum":true,"creation.museum":true,"cultural.museum":true,"culturalcenter.museum":true,"culture.museum":true,"cyber.museum":true,"cymru.museum":true,"dali.museum":true,"dallas.museum":true,"database.museum":true,"ddr.museum":true,"decorativearts.museum":true,"delaware.museum":true,"delmenhorst.museum":true,"denmark.museum":true,"depot.museum":true,"design.museum":true,"detroit.museum":true,"dinosaur.museum":true,"discovery.museum":true,"dolls.museum":true,"donostia.museum":true,"durham.museum":true,"eastafrica.museum":true,"eastcoast.museum":true,"education.museum":true,"educational.museum":true,"egyptian.museum":true,"eisenbahn.museum":true,"elburg.museum":true,"elvendrell.museum":true,"embroidery.museum":true,"encyclopedic.museum":true,"england.museum":true,"entomology.museum":true,"environment.museum":true,"environmentalconservation.museum":true,"epilepsy.museum":true,"essex.museum":true,"estate.museum":true,"ethnology.museum":true,"exeter.museum":true,"exhibition.museum":true,"family.museum":true,"farm.museum":true,"farmequipment.museum":true,"farmers.museum":true,"farmstead.museum":true,"field.museum":true,"figueres.museum":true,"filatelia.museum":true,"film.museum":true,"fineart.museum":true,"finearts.museum":true,"finland.museum":true,"flanders.museum":true,"florida.museum":true,"force.museum":true,"fortmissoula.museum":true,"fortworth.museum":true,"foundation.museum":true,"francaise.museum":true,"frankfurt.museum":true,"franziskaner.museum":true,"freemasonry.museum":true,"freiburg.museum":true,"fribourg.museum":true,"frog.museum":true,"fundacio.museum":true,"furniture.museum":true,"gallery.museum":true,"garden.museum":true,"gateway.museum":true,"geelvinck.museum":true,"gemological.museum":true,"geology.museum":true,"georgia.museum":true,"giessen.museum":true,"glas.museum":true,"glass.museum":true,"gorge.museum":true,"grandrapids.museum":true,"graz.museum":true,"guernsey.museum":true,"halloffame.museum":true,"hamburg.museum":true,"handson.museum":true,"harvestcelebration.museum":true,"hawaii.museum":true,"health.museum":true,"heimatunduhren.museum":true,"hellas.museum":true,"helsinki.museum":true,"hembygdsforbund.museum":true,"heritage.museum":true,"histoire.museum":true,"historical.museum":true,"historicalsociety.museum":true,"historichouses.museum":true,"historisch.museum":true,"historisches.museum":true,"history.museum":true,"historyofscience.museum":true,"horology.museum":true,"house.museum":true,"humanities.museum":true,"illustration.museum":true,"imageandsound.museum":true,"indian.museum":true,"indiana.museum":true,"indianapolis.museum":true,"indianmarket.museum":true,"intelligence.museum":true,"interactive.museum":true,"iraq.museum":true,"iron.museum":true,"isleofman.museum":true,"jamison.museum":true,"jefferson.museum":true,"jerusalem.museum":true,"jewelry.museum":true,"jewish.museum":true,"jewishart.museum":true,"jfk.museum":true,"journalism.museum":true,"judaica.museum":true,"judygarland.museum":true,"juedisches.museum":true,"juif.museum":true,"karate.museum":true,"karikatur.museum":true,"kids.museum":true,"koebenhavn.museum":true,"koeln.museum":true,"kunst.museum":true,"kunstsammlung.museum":true,"kunstunddesign.museum":true,"labor.museum":true,"labour.museum":true,"lajolla.museum":true,"lancashire.museum":true,"landes.museum":true,"lans.museum":true,"xn--lns-qla.museum":true,"larsson.museum":true,"lewismiller.museum":true,"lincoln.museum":true,"linz.museum":true,"living.museum":true,"livinghistory.museum":true,"localhistory.museum":true,"london.museum":true,"losangeles.museum":true,"louvre.museum":true,"loyalist.museum":true,"lucerne.museum":true,"luxembourg.museum":true,"luzern.museum":true,"mad.museum":true,"madrid.museum":true,"mallorca.museum":true,"manchester.museum":true,"mansion.museum":true,"mansions.museum":true,"manx.museum":true,"marburg.museum":true,"maritime.museum":true,"maritimo.museum":true,"maryland.museum":true,"marylhurst.museum":true,"media.museum":true,"medical.museum":true,"medizinhistorisches.museum":true,"meeres.museum":true,"memorial.museum":true,"mesaverde.museum":true,"michigan.museum":true,"midatlantic.museum":true,"military.museum":true,"mill.museum":true,"miners.museum":true,"mining.museum":true,"minnesota.museum":true,"missile.museum":true,"missoula.museum":true,"modern.museum":true,"moma.museum":true,"money.museum":true,"monmouth.museum":true,"monticello.museum":true,"montreal.museum":true,"moscow.museum":true,"motorcycle.museum":true,"muenchen.museum":true,"muenster.museum":true,"mulhouse.museum":true,"muncie.museum":true,"museet.museum":true,"museumcenter.museum":true,"museumvereniging.museum":true,"music.museum":true,"national.museum":true,"nationalfirearms.museum":true,"nationalheritage.museum":true,"nativeamerican.museum":true,"naturalhistory.museum":true,"naturalhistorymuseum.museum":true,"naturalsciences.museum":true,"nature.museum":true,"naturhistorisches.museum":true,"natuurwetenschappen.museum":true,"naumburg.museum":true,"naval.museum":true,"nebraska.museum":true,"neues.museum":true,"newhampshire.museum":true,"newjersey.museum":true,"newmexico.museum":true,"newport.museum":true,"newspaper.museum":true,"newyork.museum":true,"niepce.museum":true,"norfolk.museum":true,"north.museum":true,"nrw.museum":true,"nuernberg.museum":true,"nuremberg.museum":true,"nyc.museum":true,"nyny.museum":true,"oceanographic.museum":true,"oceanographique.museum":true,"omaha.museum":true,"online.museum":true,"ontario.museum":true,"openair.museum":true,"oregon.museum":true,"oregontrail.museum":true,"otago.museum":true,"oxford.museum":true,"pacific.museum":true,"paderborn.museum":true,"palace.museum":true,"paleo.museum":true,"palmsprings.museum":true,"panama.museum":true,"paris.museum":true,"pasadena.museum":true,"pharmacy.museum":true,"philadelphia.museum":true,"philadelphiaarea.museum":true,"philately.museum":true,"phoenix.museum":true,"photography.museum":true,"pilots.museum":true,"pittsburgh.museum":true,"planetarium.museum":true,"plantation.museum":true,"plants.museum":true,"plaza.museum":true,"portal.museum":true,"portland.museum":true,"portlligat.museum":true,"posts-and-telecommunications.museum":true,"preservation.museum":true,"presidio.museum":true,"press.museum":true,"project.museum":true,"public.museum":true,"pubol.museum":true,"quebec.museum":true,"railroad.museum":true,"railway.museum":true,"research.museum":true,"resistance.museum":true,"riodejaneiro.museum":true,"rochester.museum":true,"rockart.museum":true,"roma.museum":true,"russia.museum":true,"saintlouis.museum":true,"salem.museum":true,"salvadordali.museum":true,"salzburg.museum":true,"sandiego.museum":true,"sanfrancisco.museum":true,"santabarbara.museum":true,"santacruz.museum":true,"santafe.museum":true,"saskatchewan.museum":true,"satx.museum":true,"savannahga.museum":true,"schlesisches.museum":true,"schoenbrunn.museum":true,"schokoladen.museum":true,"school.museum":true,"schweiz.museum":true,"science.museum":true,"scienceandhistory.museum":true,"scienceandindustry.museum":true,"sciencecenter.museum":true,"sciencecenters.museum":true,"science-fiction.museum":true,"sciencehistory.museum":true,"sciences.museum":true,"sciencesnaturelles.museum":true,"scotland.museum":true,"seaport.museum":true,"settlement.museum":true,"settlers.museum":true,"shell.museum":true,"sherbrooke.museum":true,"sibenik.museum":true,"silk.museum":true,"ski.museum":true,"skole.museum":true,"society.museum":true,"sologne.museum":true,"soundandvision.museum":true,"southcarolina.museum":true,"southwest.museum":true,"space.museum":true,"spy.museum":true,"square.museum":true,"stadt.museum":true,"stalbans.museum":true,"starnberg.museum":true,"state.museum":true,"stateofdelaware.museum":true,"station.museum":true,"steam.museum":true,"steiermark.museum":true,"stjohn.museum":true,"stockholm.museum":true,"stpetersburg.museum":true,"stuttgart.museum":true,"suisse.museum":true,"surgeonshall.museum":true,"surrey.museum":true,"svizzera.museum":true,"sweden.museum":true,"sydney.museum":true,"tank.museum":true,"tcm.museum":true,"technology.museum":true,"telekommunikation.museum":true,"television.museum":true,"texas.museum":true,"textile.museum":true,"theater.museum":true,"time.museum":true,"timekeeping.museum":true,"topology.museum":true,"torino.museum":true,"touch.museum":true,"town.museum":true,"transport.museum":true,"tree.museum":true,"trolley.museum":true,"trust.museum":true,"trustee.museum":true,"uhren.museum":true,"ulm.museum":true,"undersea.museum":true,"university.museum":true,"usa.museum":true,"usantiques.museum":true,"usarts.museum":true,"uscountryestate.museum":true,"usculture.museum":true,"usdecorativearts.museum":true,"usgarden.museum":true,"ushistory.museum":true,"ushuaia.museum":true,"uslivinghistory.museum":true,"utah.museum":true,"uvic.museum":true,"valley.museum":true,"vantaa.museum":true,"versailles.museum":true,"viking.museum":true,"village.museum":true,"virginia.museum":true,"virtual.museum":true,"virtuel.museum":true,"vlaanderen.museum":true,"volkenkunde.museum":true,"wales.museum":true,"wallonie.museum":true,"war.museum":true,"washingtondc.museum":true,"watchandclock.museum":true,"watch-and-clock.museum":true,"western.museum":true,"westfalen.museum":true,"whaling.museum":true,"wildlife.museum":true,"williamsburg.museum":true,"windmill.museum":true,"workshop.museum":true,"york.museum":true,"yorkshire.museum":true,"yosemite.museum":true,"youth.museum":true,"zoological.museum":true,"zoology.museum":true,"xn--9dbhblg6di.museum":true,"xn--h1aegh.museum":true,"mv":true,"aero.mv":true,"biz.mv":true,"com.mv":true,"coop.mv":true,"edu.mv":true,"gov.mv":true,"info.mv":true,"int.mv":true,"mil.mv":true,"museum.mv":true,"name.mv":true,"net.mv":true,"org.mv":true,"pro.mv":true,"mw":true,"ac.mw":true,"biz.mw":true,"co.mw":true,"com.mw":true,"coop.mw":true,"edu.mw":true,"gov.mw":true,"int.mw":true,"museum.mw":true,"net.mw":true,"org.mw":true,"mx":true,"com.mx":true,"org.mx":true,"gob.mx":true,"edu.mx":true,"net.mx":true,"my":true,"com.my":true,"net.my":true,"org.my":true,"gov.my":true,"edu.my":true,"mil.my":true,"name.my":true,"mz":true,"ac.mz":true,"adv.mz":true,"co.mz":true,"edu.mz":true,"gov.mz":true,"mil.mz":true,"net.mz":true,"org.mz":true,"na":true,"info.na":true,"pro.na":true,"name.na":true,"school.na":true,"or.na":true,"dr.na":true,"us.na":true,"mx.na":true,"ca.na":true,"in.na":true,"cc.na":true,"tv.na":true,"ws.na":true,"mobi.na":true,"co.na":true,"com.na":true,"org.na":true,"name":true,"nc":true,"asso.nc":true,"ne":true,"net":true,"nf":true,"com.nf":true,"net.nf":true,"per.nf":true,"rec.nf":true,"web.nf":true,"arts.nf":true,"firm.nf":true,"info.nf":true,"other.nf":true,"store.nf":true,"ng":true,"com.ng":true,"edu.ng":true,"gov.ng":true,"i.ng":true,"mil.ng":true,"mobi.ng":true,"name.ng":true,"net.ng":true,"org.ng":true,"sch.ng":true,"com.ni":true,"gob.ni":true,"edu.ni":true,"org.ni":true,"nom.ni":true,"net.ni":true,"mil.ni":true,"co.ni":true,"biz.ni":true,"web.ni":true,"int.ni":true,"ac.ni":true,"in.ni":true,"info.ni":true,"nl":true,"bv.nl":true,"no":true,"fhs.no":true,"vgs.no":true,"fylkesbibl.no":true,"folkebibl.no":true,"museum.no":true,"idrett.no":true,"priv.no":true,"mil.no":true,"stat.no":true,"dep.no":true,"kommune.no":true,"herad.no":true,"aa.no":true,"ah.no":true,"bu.no":true,"fm.no":true,"hl.no":true,"hm.no":true,"jan-mayen.no":true,"mr.no":true,"nl.no":true,"nt.no":true,"of.no":true,"ol.no":true,"oslo.no":true,"rl.no":true,"sf.no":true,"st.no":true,"svalbard.no":true,"tm.no":true,"tr.no":true,"va.no":true,"vf.no":true,"gs.aa.no":true,"gs.ah.no":true,"gs.bu.no":true,"gs.fm.no":true,"gs.hl.no":true,"gs.hm.no":true,"gs.jan-mayen.no":true,"gs.mr.no":true,"gs.nl.no":true,"gs.nt.no":true,"gs.of.no":true,"gs.ol.no":true,"gs.oslo.no":true,"gs.rl.no":true,"gs.sf.no":true,"gs.st.no":true,"gs.svalbard.no":true,"gs.tm.no":true,"gs.tr.no":true,"gs.va.no":true,"gs.vf.no":true,"akrehamn.no":true,"xn--krehamn-dxa.no":true,"algard.no":true,"xn--lgrd-poac.no":true,"arna.no":true,"brumunddal.no":true,"bryne.no":true,"bronnoysund.no":true,"xn--brnnysund-m8ac.no":true,"drobak.no":true,"xn--drbak-wua.no":true,"egersund.no":true,"fetsund.no":true,"floro.no":true,"xn--flor-jra.no":true,"fredrikstad.no":true,"hokksund.no":true,"honefoss.no":true,"xn--hnefoss-q1a.no":true,"jessheim.no":true,"jorpeland.no":true,"xn--jrpeland-54a.no":true,"kirkenes.no":true,"kopervik.no":true,"krokstadelva.no":true,"langevag.no":true,"xn--langevg-jxa.no":true,"leirvik.no":true,"mjondalen.no":true,"xn--mjndalen-64a.no":true,"mo-i-rana.no":true,"mosjoen.no":true,"xn--mosjen-eya.no":true,"nesoddtangen.no":true,"orkanger.no":true,"osoyro.no":true,"xn--osyro-wua.no":true,"raholt.no":true,"xn--rholt-mra.no":true,"sandnessjoen.no":true,"xn--sandnessjen-ogb.no":true,"skedsmokorset.no":true,"slattum.no":true,"spjelkavik.no":true,"stathelle.no":true,"stavern.no":true,"stjordalshalsen.no":true,"xn--stjrdalshalsen-sqb.no":true,"tananger.no":true,"tranby.no":true,"vossevangen.no":true,"afjord.no":true,"xn--fjord-lra.no":true,"agdenes.no":true,"al.no":true,"xn--l-1fa.no":true,"alesund.no":true,"xn--lesund-hua.no":true,"alstahaug.no":true,"alta.no":true,"xn--lt-liac.no":true,"alaheadju.no":true,"xn--laheadju-7ya.no":true,"alvdal.no":true,"amli.no":true,"xn--mli-tla.no":true,"amot.no":true,"xn--mot-tla.no":true,"andebu.no":true,"andoy.no":true,"xn--andy-ira.no":true,"andasuolo.no":true,"ardal.no":true,"xn--rdal-poa.no":true,"aremark.no":true,"arendal.no":true,"xn--s-1fa.no":true,"aseral.no":true,"xn--seral-lra.no":true,"asker.no":true,"askim.no":true,"askvoll.no":true,"askoy.no":true,"xn--asky-ira.no":true,"asnes.no":true,"xn--snes-poa.no":true,"audnedaln.no":true,"aukra.no":true,"aure.no":true,"aurland.no":true,"aurskog-holand.no":true,"xn--aurskog-hland-jnb.no":true,"austevoll.no":true,"austrheim.no":true,"averoy.no":true,"xn--avery-yua.no":true,"balestrand.no":true,"ballangen.no":true,"balat.no":true,"xn--blt-elab.no":true,"balsfjord.no":true,"bahccavuotna.no":true,"xn--bhccavuotna-k7a.no":true,"bamble.no":true,"bardu.no":true,"beardu.no":true,"beiarn.no":true,"bajddar.no":true,"xn--bjddar-pta.no":true,"baidar.no":true,"xn--bidr-5nac.no":true,"berg.no":true,"bergen.no":true,"berlevag.no":true,"xn--berlevg-jxa.no":true,"bearalvahki.no":true,"xn--bearalvhki-y4a.no":true,"bindal.no":true,"birkenes.no":true,"bjarkoy.no":true,"xn--bjarky-fya.no":true,"bjerkreim.no":true,"bjugn.no":true,"bodo.no":true,"xn--bod-2na.no":true,"badaddja.no":true,"xn--bdddj-mrabd.no":true,"budejju.no":true,"bokn.no":true,"bremanger.no":true,"bronnoy.no":true,"xn--brnny-wuac.no":true,"bygland.no":true,"bykle.no":true,"barum.no":true,"xn--brum-voa.no":true,"bo.telemark.no":true,"xn--b-5ga.telemark.no":true,"bo.nordland.no":true,"xn--b-5ga.nordland.no":true,"bievat.no":true,"xn--bievt-0qa.no":true,"bomlo.no":true,"xn--bmlo-gra.no":true,"batsfjord.no":true,"xn--btsfjord-9za.no":true,"bahcavuotna.no":true,"xn--bhcavuotna-s4a.no":true,"dovre.no":true,"drammen.no":true,"drangedal.no":true,"dyroy.no":true,"xn--dyry-ira.no":true,"donna.no":true,"xn--dnna-gra.no":true,"eid.no":true,"eidfjord.no":true,"eidsberg.no":true,"eidskog.no":true,"eidsvoll.no":true,"eigersund.no":true,"elverum.no":true,"enebakk.no":true,"engerdal.no":true,"etne.no":true,"etnedal.no":true,"evenes.no":true,"evenassi.no":true,"xn--eveni-0qa01ga.no":true,"evje-og-hornnes.no":true,"farsund.no":true,"fauske.no":true,"fuossko.no":true,"fuoisku.no":true,"fedje.no":true,"fet.no":true,"finnoy.no":true,"xn--finny-yua.no":true,"fitjar.no":true,"fjaler.no":true,"fjell.no":true,"flakstad.no":true,"flatanger.no":true,"flekkefjord.no":true,"flesberg.no":true,"flora.no":true,"fla.no":true,"xn--fl-zia.no":true,"folldal.no":true,"forsand.no":true,"fosnes.no":true,"frei.no":true,"frogn.no":true,"froland.no":true,"frosta.no":true,"frana.no":true,"xn--frna-woa.no":true,"froya.no":true,"xn--frya-hra.no":true,"fusa.no":true,"fyresdal.no":true,"forde.no":true,"xn--frde-gra.no":true,"gamvik.no":true,"gangaviika.no":true,"xn--ggaviika-8ya47h.no":true,"gaular.no":true,"gausdal.no":true,"gildeskal.no":true,"xn--gildeskl-g0a.no":true,"giske.no":true,"gjemnes.no":true,"gjerdrum.no":true,"gjerstad.no":true,"gjesdal.no":true,"gjovik.no":true,"xn--gjvik-wua.no":true,"gloppen.no":true,"gol.no":true,"gran.no":true,"grane.no":true,"granvin.no":true,"gratangen.no":true,"grimstad.no":true,"grong.no":true,"kraanghke.no":true,"xn--kranghke-b0a.no":true,"grue.no":true,"gulen.no":true,"hadsel.no":true,"halden.no":true,"halsa.no":true,"hamar.no":true,"hamaroy.no":true,"habmer.no":true,"xn--hbmer-xqa.no":true,"hapmir.no":true,"xn--hpmir-xqa.no":true,"hammerfest.no":true,"hammarfeasta.no":true,"xn--hmmrfeasta-s4ac.no":true,"haram.no":true,"hareid.no":true,"harstad.no":true,"hasvik.no":true,"aknoluokta.no":true,"xn--koluokta-7ya57h.no":true,"hattfjelldal.no":true,"aarborte.no":true,"haugesund.no":true,"hemne.no":true,"hemnes.no":true,"hemsedal.no":true,"heroy.more-og-romsdal.no":true,"xn--hery-ira.xn--mre-og-romsdal-qqb.no":true,"heroy.nordland.no":true,"xn--hery-ira.nordland.no":true,"hitra.no":true,"hjartdal.no":true,"hjelmeland.no":true,"hobol.no":true,"xn--hobl-ira.no":true,"hof.no":true,"hol.no":true,"hole.no":true,"holmestrand.no":true,"holtalen.no":true,"xn--holtlen-hxa.no":true,"hornindal.no":true,"horten.no":true,"hurdal.no":true,"hurum.no":true,"hvaler.no":true,"hyllestad.no":true,"hagebostad.no":true,"xn--hgebostad-g3a.no":true,"hoyanger.no":true,"xn--hyanger-q1a.no":true,"hoylandet.no":true,"xn--hylandet-54a.no":true,"ha.no":true,"xn--h-2fa.no":true,"ibestad.no":true,"inderoy.no":true,"xn--indery-fya.no":true,"iveland.no":true,"jevnaker.no":true,"jondal.no":true,"jolster.no":true,"xn--jlster-bya.no":true,"karasjok.no":true,"karasjohka.no":true,"xn--krjohka-hwab49j.no":true,"karlsoy.no":true,"galsa.no":true,"xn--gls-elac.no":true,"karmoy.no":true,"xn--karmy-yua.no":true,"kautokeino.no":true,"guovdageaidnu.no":true,"klepp.no":true,"klabu.no":true,"xn--klbu-woa.no":true,"kongsberg.no":true,"kongsvinger.no":true,"kragero.no":true,"xn--krager-gya.no":true,"kristiansand.no":true,"kristiansund.no":true,"krodsherad.no":true,"xn--krdsherad-m8a.no":true,"kvalsund.no":true,"rahkkeravju.no":true,"xn--rhkkervju-01af.no":true,"kvam.no":true,"kvinesdal.no":true,"kvinnherad.no":true,"kviteseid.no":true,"kvitsoy.no":true,"xn--kvitsy-fya.no":true,"kvafjord.no":true,"xn--kvfjord-nxa.no":true,"giehtavuoatna.no":true,"kvanangen.no":true,"xn--kvnangen-k0a.no":true,"navuotna.no":true,"xn--nvuotna-hwa.no":true,"kafjord.no":true,"xn--kfjord-iua.no":true,"gaivuotna.no":true,"xn--givuotna-8ya.no":true,"larvik.no":true,"lavangen.no":true,"lavagis.no":true,"loabat.no":true,"xn--loabt-0qa.no":true,"lebesby.no":true,"davvesiida.no":true,"leikanger.no":true,"leirfjord.no":true,"leka.no":true,"leksvik.no":true,"lenvik.no":true,"leangaviika.no":true,"xn--leagaviika-52b.no":true,"lesja.no":true,"levanger.no":true,"lier.no":true,"lierne.no":true,"lillehammer.no":true,"lillesand.no":true,"lindesnes.no":true,"lindas.no":true,"xn--linds-pra.no":true,"lom.no":true,"loppa.no":true,"lahppi.no":true,"xn--lhppi-xqa.no":true,"lund.no":true,"lunner.no":true,"luroy.no":true,"xn--lury-ira.no":true,"luster.no":true,"lyngdal.no":true,"lyngen.no":true,"ivgu.no":true,"lardal.no":true,"lerdal.no":true,"xn--lrdal-sra.no":true,"lodingen.no":true,"xn--ldingen-q1a.no":true,"lorenskog.no":true,"xn--lrenskog-54a.no":true,"loten.no":true,"xn--lten-gra.no":true,"malvik.no":true,"masoy.no":true,"xn--msy-ula0h.no":true,"muosat.no":true,"xn--muost-0qa.no":true,"mandal.no":true,"marker.no":true,"marnardal.no":true,"masfjorden.no":true,"meland.no":true,"meldal.no":true,"melhus.no":true,"meloy.no":true,"xn--mely-ira.no":true,"meraker.no":true,"xn--merker-kua.no":true,"moareke.no":true,"xn--moreke-jua.no":true,"midsund.no":true,"midtre-gauldal.no":true,"modalen.no":true,"modum.no":true,"molde.no":true,"moskenes.no":true,"moss.no":true,"mosvik.no":true,"malselv.no":true,"xn--mlselv-iua.no":true,"malatvuopmi.no":true,"xn--mlatvuopmi-s4a.no":true,"namdalseid.no":true,"aejrie.no":true,"namsos.no":true,"namsskogan.no":true,"naamesjevuemie.no":true,"xn--nmesjevuemie-tcba.no":true,"laakesvuemie.no":true,"nannestad.no":true,"narvik.no":true,"narviika.no":true,"naustdal.no":true,"nedre-eiker.no":true,"nes.akershus.no":true,"nes.buskerud.no":true,"nesna.no":true,"nesodden.no":true,"nesseby.no":true,"unjarga.no":true,"xn--unjrga-rta.no":true,"nesset.no":true,"nissedal.no":true,"nittedal.no":true,"nord-aurdal.no":true,"nord-fron.no":true,"nord-odal.no":true,"norddal.no":true,"nordkapp.no":true,"davvenjarga.no":true,"xn--davvenjrga-y4a.no":true,"nordre-land.no":true,"nordreisa.no":true,"raisa.no":true,"xn--risa-5na.no":true,"nore-og-uvdal.no":true,"notodden.no":true,"naroy.no":true,"xn--nry-yla5g.no":true,"notteroy.no":true,"xn--nttery-byae.no":true,"odda.no":true,"oksnes.no":true,"xn--ksnes-uua.no":true,"oppdal.no":true,"oppegard.no":true,"xn--oppegrd-ixa.no":true,"orkdal.no":true,"orland.no":true,"xn--rland-uua.no":true,"orskog.no":true,"xn--rskog-uua.no":true,"orsta.no":true,"xn--rsta-fra.no":true,"os.hedmark.no":true,"os.hordaland.no":true,"osen.no":true,"osteroy.no":true,"xn--ostery-fya.no":true,"ostre-toten.no":true,"xn--stre-toten-zcb.no":true,"overhalla.no":true,"ovre-eiker.no":true,"xn--vre-eiker-k8a.no":true,"oyer.no":true,"xn--yer-zna.no":true,"oygarden.no":true,"xn--ygarden-p1a.no":true,"oystre-slidre.no":true,"xn--ystre-slidre-ujb.no":true,"porsanger.no":true,"porsangu.no":true,"xn--porsgu-sta26f.no":true,"porsgrunn.no":true,"radoy.no":true,"xn--rady-ira.no":true,"rakkestad.no":true,"rana.no":true,"ruovat.no":true,"randaberg.no":true,"rauma.no":true,"rendalen.no":true,"rennebu.no":true,"rennesoy.no":true,"xn--rennesy-v1a.no":true,"rindal.no":true,"ringebu.no":true,"ringerike.no":true,"ringsaker.no":true,"rissa.no":true,"risor.no":true,"xn--risr-ira.no":true,"roan.no":true,"rollag.no":true,"rygge.no":true,"ralingen.no":true,"xn--rlingen-mxa.no":true,"rodoy.no":true,"xn--rdy-0nab.no":true,"romskog.no":true,"xn--rmskog-bya.no":true,"roros.no":true,"xn--rros-gra.no":true,"rost.no":true,"xn--rst-0na.no":true,"royken.no":true,"xn--ryken-vua.no":true,"royrvik.no":true,"xn--ryrvik-bya.no":true,"rade.no":true,"xn--rde-ula.no":true,"salangen.no":true,"siellak.no":true,"saltdal.no":true,"salat.no":true,"xn--slt-elab.no":true,"xn--slat-5na.no":true,"samnanger.no":true,"sande.more-og-romsdal.no":true,"sande.xn--mre-og-romsdal-qqb.no":true,"sande.vestfold.no":true,"sandefjord.no":true,"sandnes.no":true,"sandoy.no":true,"xn--sandy-yua.no":true,"sarpsborg.no":true,"sauda.no":true,"sauherad.no":true,"sel.no":true,"selbu.no":true,"selje.no":true,"seljord.no":true,"sigdal.no":true,"siljan.no":true,"sirdal.no":true,"skaun.no":true,"skedsmo.no":true,"ski.no":true,"skien.no":true,"skiptvet.no":true,"skjervoy.no":true,"xn--skjervy-v1a.no":true,"skierva.no":true,"xn--skierv-uta.no":true,"skjak.no":true,"xn--skjk-soa.no":true,"skodje.no":true,"skanland.no":true,"xn--sknland-fxa.no":true,"skanit.no":true,"xn--sknit-yqa.no":true,"smola.no":true,"xn--smla-hra.no":true,"snillfjord.no":true,"snasa.no":true,"xn--snsa-roa.no":true,"snoasa.no":true,"snaase.no":true,"xn--snase-nra.no":true,"sogndal.no":true,"sokndal.no":true,"sola.no":true,"solund.no":true,"songdalen.no":true,"sortland.no":true,"spydeberg.no":true,"stange.no":true,"stavanger.no":true,"steigen.no":true,"steinkjer.no":true,"stjordal.no":true,"xn--stjrdal-s1a.no":true,"stokke.no":true,"stor-elvdal.no":true,"stord.no":true,"stordal.no":true,"storfjord.no":true,"omasvuotna.no":true,"strand.no":true,"stranda.no":true,"stryn.no":true,"sula.no":true,"suldal.no":true,"sund.no":true,"sunndal.no":true,"surnadal.no":true,"sveio.no":true,"svelvik.no":true,"sykkylven.no":true,"sogne.no":true,"xn--sgne-gra.no":true,"somna.no":true,"xn--smna-gra.no":true,"sondre-land.no":true,"xn--sndre-land-0cb.no":true,"sor-aurdal.no":true,"xn--sr-aurdal-l8a.no":true,"sor-fron.no":true,"xn--sr-fron-q1a.no":true,"sor-odal.no":true,"xn--sr-odal-q1a.no":true,"sor-varanger.no":true,"xn--sr-varanger-ggb.no":true,"matta-varjjat.no":true,"xn--mtta-vrjjat-k7af.no":true,"sorfold.no":true,"xn--srfold-bya.no":true,"sorreisa.no":true,"xn--srreisa-q1a.no":true,"sorum.no":true,"xn--srum-gra.no":true,"tana.no":true,"deatnu.no":true,"time.no":true,"tingvoll.no":true,"tinn.no":true,"tjeldsund.no":true,"dielddanuorri.no":true,"tjome.no":true,"xn--tjme-hra.no":true,"tokke.no":true,"tolga.no":true,"torsken.no":true,"tranoy.no":true,"xn--trany-yua.no":true,"tromso.no":true,"xn--troms-zua.no":true,"tromsa.no":true,"romsa.no":true,"trondheim.no":true,"troandin.no":true,"trysil.no":true,"trana.no":true,"xn--trna-woa.no":true,"trogstad.no":true,"xn--trgstad-r1a.no":true,"tvedestrand.no":true,"tydal.no":true,"tynset.no":true,"tysfjord.no":true,"divtasvuodna.no":true,"divttasvuotna.no":true,"tysnes.no":true,"tysvar.no":true,"xn--tysvr-vra.no":true,"tonsberg.no":true,"xn--tnsberg-q1a.no":true,"ullensaker.no":true,"ullensvang.no":true,"ulvik.no":true,"utsira.no":true,"vadso.no":true,"xn--vads-jra.no":true,"cahcesuolo.no":true,"xn--hcesuolo-7ya35b.no":true,"vaksdal.no":true,"valle.no":true,"vang.no":true,"vanylven.no":true,"vardo.no":true,"xn--vard-jra.no":true,"varggat.no":true,"xn--vrggt-xqad.no":true,"vefsn.no":true,"vaapste.no":true,"vega.no":true,"vegarshei.no":true,"xn--vegrshei-c0a.no":true,"vennesla.no":true,"verdal.no":true,"verran.no":true,"vestby.no":true,"vestnes.no":true,"vestre-slidre.no":true,"vestre-toten.no":true,"vestvagoy.no":true,"xn--vestvgy-ixa6o.no":true,"vevelstad.no":true,"vik.no":true,"vikna.no":true,"vindafjord.no":true,"volda.no":true,"voss.no":true,"varoy.no":true,"xn--vry-yla5g.no":true,"vagan.no":true,"xn--vgan-qoa.no":true,"voagat.no":true,"vagsoy.no":true,"xn--vgsy-qoa0j.no":true,"vaga.no":true,"xn--vg-yiab.no":true,"valer.ostfold.no":true,"xn--vler-qoa.xn--stfold-9xa.no":true,"valer.hedmark.no":true,"xn--vler-qoa.hedmark.no":true,"*.np":true,"nr":true,"biz.nr":true,"info.nr":true,"gov.nr":true,"edu.nr":true,"org.nr":true,"net.nr":true,"com.nr":true,"nu":true,"nz":true,"ac.nz":true,"co.nz":true,"cri.nz":true,"geek.nz":true,"gen.nz":true,"govt.nz":true,"health.nz":true,"iwi.nz":true,"kiwi.nz":true,"maori.nz":true,"mil.nz":true,"xn--mori-qsa.nz":true,"net.nz":true,"org.nz":true,"parliament.nz":true,"school.nz":true,"om":true,"co.om":true,"com.om":true,"edu.om":true,"gov.om":true,"med.om":true,"museum.om":true,"net.om":true,"org.om":true,"pro.om":true,"org":true,"pa":true,"ac.pa":true,"gob.pa":true,"com.pa":true,"org.pa":true,"sld.pa":true,"edu.pa":true,"net.pa":true,"ing.pa":true,"abo.pa":true,"med.pa":true,"nom.pa":true,"pe":true,"edu.pe":true,"gob.pe":true,"nom.pe":true,"mil.pe":true,"org.pe":true,"com.pe":true,"net.pe":true,"pf":true,"com.pf":true,"org.pf":true,"edu.pf":true,"*.pg":true,"ph":true,"com.ph":true,"net.ph":true,"org.ph":true,"gov.ph":true,"edu.ph":true,"ngo.ph":true,"mil.ph":true,"i.ph":true,"pk":true,"com.pk":true,"net.pk":true,"edu.pk":true,"org.pk":true,"fam.pk":true,"biz.pk":true,"web.pk":true,"gov.pk":true,"gob.pk":true,"gok.pk":true,"gon.pk":true,"gop.pk":true,"gos.pk":true,"info.pk":true,"pl":true,"com.pl":true,"net.pl":true,"org.pl":true,"aid.pl":true,"agro.pl":true,"atm.pl":true,"auto.pl":true,"biz.pl":true,"edu.pl":true,"gmina.pl":true,"gsm.pl":true,"info.pl":true,"mail.pl":true,"miasta.pl":true,"media.pl":true,"mil.pl":true,"nieruchomosci.pl":true,"nom.pl":true,"pc.pl":true,"powiat.pl":true,"priv.pl":true,"realestate.pl":true,"rel.pl":true,"sex.pl":true,"shop.pl":true,"sklep.pl":true,"sos.pl":true,"szkola.pl":true,"targi.pl":true,"tm.pl":true,"tourism.pl":true,"travel.pl":true,"turystyka.pl":true,"gov.pl":true,"ap.gov.pl":true,"ic.gov.pl":true,"is.gov.pl":true,"us.gov.pl":true,"kmpsp.gov.pl":true,"kppsp.gov.pl":true,"kwpsp.gov.pl":true,"psp.gov.pl":true,"wskr.gov.pl":true,"kwp.gov.pl":true,"mw.gov.pl":true,"ug.gov.pl":true,"um.gov.pl":true,"umig.gov.pl":true,"ugim.gov.pl":true,"upow.gov.pl":true,"uw.gov.pl":true,"starostwo.gov.pl":true,"pa.gov.pl":true,"po.gov.pl":true,"psse.gov.pl":true,"pup.gov.pl":true,"rzgw.gov.pl":true,"sa.gov.pl":true,"so.gov.pl":true,"sr.gov.pl":true,"wsa.gov.pl":true,"sko.gov.pl":true,"uzs.gov.pl":true,"wiih.gov.pl":true,"winb.gov.pl":true,"pinb.gov.pl":true,"wios.gov.pl":true,"witd.gov.pl":true,"wzmiuw.gov.pl":true,"piw.gov.pl":true,"wiw.gov.pl":true,"griw.gov.pl":true,"wif.gov.pl":true,"oum.gov.pl":true,"sdn.gov.pl":true,"zp.gov.pl":true,"uppo.gov.pl":true,"mup.gov.pl":true,"wuoz.gov.pl":true,"konsulat.gov.pl":true,"oirm.gov.pl":true,"augustow.pl":true,"babia-gora.pl":true,"bedzin.pl":true,"beskidy.pl":true,"bialowieza.pl":true,"bialystok.pl":true,"bielawa.pl":true,"bieszczady.pl":true,"boleslawiec.pl":true,"bydgoszcz.pl":true,"bytom.pl":true,"cieszyn.pl":true,"czeladz.pl":true,"czest.pl":true,"dlugoleka.pl":true,"elblag.pl":true,"elk.pl":true,"glogow.pl":true,"gniezno.pl":true,"gorlice.pl":true,"grajewo.pl":true,"ilawa.pl":true,"jaworzno.pl":true,"jelenia-gora.pl":true,"jgora.pl":true,"kalisz.pl":true,"kazimierz-dolny.pl":true,"karpacz.pl":true,"kartuzy.pl":true,"kaszuby.pl":true,"katowice.pl":true,"kepno.pl":true,"ketrzyn.pl":true,"klodzko.pl":true,"kobierzyce.pl":true,"kolobrzeg.pl":true,"konin.pl":true,"konskowola.pl":true,"kutno.pl":true,"lapy.pl":true,"lebork.pl":true,"legnica.pl":true,"lezajsk.pl":true,"limanowa.pl":true,"lomza.pl":true,"lowicz.pl":true,"lubin.pl":true,"lukow.pl":true,"malbork.pl":true,"malopolska.pl":true,"mazowsze.pl":true,"mazury.pl":true,"mielec.pl":true,"mielno.pl":true,"mragowo.pl":true,"naklo.pl":true,"nowaruda.pl":true,"nysa.pl":true,"olawa.pl":true,"olecko.pl":true,"olkusz.pl":true,"olsztyn.pl":true,"opoczno.pl":true,"opole.pl":true,"ostroda.pl":true,"ostroleka.pl":true,"ostrowiec.pl":true,"ostrowwlkp.pl":true,"pila.pl":true,"pisz.pl":true,"podhale.pl":true,"podlasie.pl":true,"polkowice.pl":true,"pomorze.pl":true,"pomorskie.pl":true,"prochowice.pl":true,"pruszkow.pl":true,"przeworsk.pl":true,"pulawy.pl":true,"radom.pl":true,"rawa-maz.pl":true,"rybnik.pl":true,"rzeszow.pl":true,"sanok.pl":true,"sejny.pl":true,"slask.pl":true,"slupsk.pl":true,"sosnowiec.pl":true,"stalowa-wola.pl":true,"skoczow.pl":true,"starachowice.pl":true,"stargard.pl":true,"suwalki.pl":true,"swidnica.pl":true,"swiebodzin.pl":true,"swinoujscie.pl":true,"szczecin.pl":true,"szczytno.pl":true,"tarnobrzeg.pl":true,"tgory.pl":true,"turek.pl":true,"tychy.pl":true,"ustka.pl":true,"walbrzych.pl":true,"warmia.pl":true,"warszawa.pl":true,"waw.pl":true,"wegrow.pl":true,"wielun.pl":true,"wlocl.pl":true,"wloclawek.pl":true,"wodzislaw.pl":true,"wolomin.pl":true,"wroclaw.pl":true,"zachpomor.pl":true,"zagan.pl":true,"zarow.pl":true,"zgora.pl":true,"zgorzelec.pl":true,"pm":true,"pn":true,"gov.pn":true,"co.pn":true,"org.pn":true,"edu.pn":true,"net.pn":true,"post":true,"pr":true,"com.pr":true,"net.pr":true,"org.pr":true,"gov.pr":true,"edu.pr":true,"isla.pr":true,"pro.pr":true,"biz.pr":true,"info.pr":true,"name.pr":true,"est.pr":true,"prof.pr":true,"ac.pr":true,"pro":true,"aaa.pro":true,"aca.pro":true,"acct.pro":true,"avocat.pro":true,"bar.pro":true,"cpa.pro":true,"eng.pro":true,"jur.pro":true,"law.pro":true,"med.pro":true,"recht.pro":true,"ps":true,"edu.ps":true,"gov.ps":true,"sec.ps":true,"plo.ps":true,"com.ps":true,"org.ps":true,"net.ps":true,"pt":true,"net.pt":true,"gov.pt":true,"org.pt":true,"edu.pt":true,"int.pt":true,"publ.pt":true,"com.pt":true,"nome.pt":true,"pw":true,"co.pw":true,"ne.pw":true,"or.pw":true,"ed.pw":true,"go.pw":true,"belau.pw":true,"py":true,"com.py":true,"coop.py":true,"edu.py":true,"gov.py":true,"mil.py":true,"net.py":true,"org.py":true,"qa":true,"com.qa":true,"edu.qa":true,"gov.qa":true,"mil.qa":true,"name.qa":true,"net.qa":true,"org.qa":true,"sch.qa":true,"re":true,"asso.re":true,"com.re":true,"nom.re":true,"ro":true,"arts.ro":true,"com.ro":true,"firm.ro":true,"info.ro":true,"nom.ro":true,"nt.ro":true,"org.ro":true,"rec.ro":true,"store.ro":true,"tm.ro":true,"www.ro":true,"rs":true,"ac.rs":true,"co.rs":true,"edu.rs":true,"gov.rs":true,"in.rs":true,"org.rs":true,"ru":true,"ac.ru":true,"com.ru":true,"edu.ru":true,"int.ru":true,"net.ru":true,"org.ru":true,"pp.ru":true,"adygeya.ru":true,"altai.ru":true,"amur.ru":true,"arkhangelsk.ru":true,"astrakhan.ru":true,"bashkiria.ru":true,"belgorod.ru":true,"bir.ru":true,"bryansk.ru":true,"buryatia.ru":true,"cbg.ru":true,"chel.ru":true,"chelyabinsk.ru":true,"chita.ru":true,"chukotka.ru":true,"chuvashia.ru":true,"dagestan.ru":true,"dudinka.ru":true,"e-burg.ru":true,"grozny.ru":true,"irkutsk.ru":true,"ivanovo.ru":true,"izhevsk.ru":true,"jar.ru":true,"joshkar-ola.ru":true,"kalmykia.ru":true,"kaluga.ru":true,"kamchatka.ru":true,"karelia.ru":true,"kazan.ru":true,"kchr.ru":true,"kemerovo.ru":true,"khabarovsk.ru":true,"khakassia.ru":true,"khv.ru":true,"kirov.ru":true,"koenig.ru":true,"komi.ru":true,"kostroma.ru":true,"krasnoyarsk.ru":true,"kuban.ru":true,"kurgan.ru":true,"kursk.ru":true,"lipetsk.ru":true,"magadan.ru":true,"mari.ru":true,"mari-el.ru":true,"marine.ru":true,"mordovia.ru":true,"msk.ru":true,"murmansk.ru":true,"nalchik.ru":true,"nnov.ru":true,"nov.ru":true,"novosibirsk.ru":true,"nsk.ru":true,"omsk.ru":true,"orenburg.ru":true,"oryol.ru":true,"palana.ru":true,"penza.ru":true,"perm.ru":true,"ptz.ru":true,"rnd.ru":true,"ryazan.ru":true,"sakhalin.ru":true,"samara.ru":true,"saratov.ru":true,"simbirsk.ru":true,"smolensk.ru":true,"spb.ru":true,"stavropol.ru":true,"stv.ru":true,"surgut.ru":true,"tambov.ru":true,"tatarstan.ru":true,"tom.ru":true,"tomsk.ru":true,"tsaritsyn.ru":true,"tsk.ru":true,"tula.ru":true,"tuva.ru":true,"tver.ru":true,"tyumen.ru":true,"udm.ru":true,"udmurtia.ru":true,"ulan-ude.ru":true,"vladikavkaz.ru":true,"vladimir.ru":true,"vladivostok.ru":true,"volgograd.ru":true,"vologda.ru":true,"voronezh.ru":true,"vrn.ru":true,"vyatka.ru":true,"yakutia.ru":true,"yamal.ru":true,"yaroslavl.ru":true,"yekaterinburg.ru":true,"yuzhno-sakhalinsk.ru":true,"amursk.ru":true,"baikal.ru":true,"cmw.ru":true,"fareast.ru":true,"jamal.ru":true,"kms.ru":true,"k-uralsk.ru":true,"kustanai.ru":true,"kuzbass.ru":true,"mytis.ru":true,"nakhodka.ru":true,"nkz.ru":true,"norilsk.ru":true,"oskol.ru":true,"pyatigorsk.ru":true,"rubtsovsk.ru":true,"snz.ru":true,"syzran.ru":true,"vdonsk.ru":true,"zgrad.ru":true,"gov.ru":true,"mil.ru":true,"test.ru":true,"rw":true,"gov.rw":true,"net.rw":true,"edu.rw":true,"ac.rw":true,"com.rw":true,"co.rw":true,"int.rw":true,"mil.rw":true,"gouv.rw":true,"sa":true,"com.sa":true,"net.sa":true,"org.sa":true,"gov.sa":true,"med.sa":true,"pub.sa":true,"edu.sa":true,"sch.sa":true,"sb":true,"com.sb":true,"edu.sb":true,"gov.sb":true,"net.sb":true,"org.sb":true,"sc":true,"com.sc":true,"gov.sc":true,"net.sc":true,"org.sc":true,"edu.sc":true,"sd":true,"com.sd":true,"net.sd":true,"org.sd":true,"edu.sd":true,"med.sd":true,"tv.sd":true,"gov.sd":true,"info.sd":true,"se":true,"a.se":true,"ac.se":true,"b.se":true,"bd.se":true,"brand.se":true,"c.se":true,"d.se":true,"e.se":true,"f.se":true,"fh.se":true,"fhsk.se":true,"fhv.se":true,"g.se":true,"h.se":true,"i.se":true,"k.se":true,"komforb.se":true,"kommunalforbund.se":true,"komvux.se":true,"l.se":true,"lanbib.se":true,"m.se":true,"n.se":true,"naturbruksgymn.se":true,"o.se":true,"org.se":true,"p.se":true,"parti.se":true,"pp.se":true,"press.se":true,"r.se":true,"s.se":true,"t.se":true,"tm.se":true,"u.se":true,"w.se":true,"x.se":true,"y.se":true,"z.se":true,"sg":true,"com.sg":true,"net.sg":true,"org.sg":true,"gov.sg":true,"edu.sg":true,"per.sg":true,"sh":true,"com.sh":true,"net.sh":true,"gov.sh":true,"org.sh":true,"mil.sh":true,"si":true,"sj":true,"sk":true,"sl":true,"com.sl":true,"net.sl":true,"edu.sl":true,"gov.sl":true,"org.sl":true,"sm":true,"sn":true,"art.sn":true,"com.sn":true,"edu.sn":true,"gouv.sn":true,"org.sn":true,"perso.sn":true,"univ.sn":true,"so":true,"com.so":true,"net.so":true,"org.so":true,"sr":true,"st":true,"co.st":true,"com.st":true,"consulado.st":true,"edu.st":true,"embaixada.st":true,"gov.st":true,"mil.st":true,"net.st":true,"org.st":true,"principe.st":true,"saotome.st":true,"store.st":true,"su":true,"adygeya.su":true,"arkhangelsk.su":true,"balashov.su":true,"bashkiria.su":true,"bryansk.su":true,"dagestan.su":true,"grozny.su":true,"ivanovo.su":true,"kalmykia.su":true,"kaluga.su":true,"karelia.su":true,"khakassia.su":true,"krasnodar.su":true,"kurgan.su":true,"lenug.su":true,"mordovia.su":true,"msk.su":true,"murmansk.su":true,"nalchik.su":true,"nov.su":true,"obninsk.su":true,"penza.su":true,"pokrovsk.su":true,"sochi.su":true,"spb.su":true,"togliatti.su":true,"troitsk.su":true,"tula.su":true,"tuva.su":true,"vladikavkaz.su":true,"vladimir.su":true,"vologda.su":true,"sv":true,"com.sv":true,"edu.sv":true,"gob.sv":true,"org.sv":true,"red.sv":true,"sx":true,"gov.sx":true,"sy":true,"edu.sy":true,"gov.sy":true,"net.sy":true,"mil.sy":true,"com.sy":true,"org.sy":true,"sz":true,"co.sz":true,"ac.sz":true,"org.sz":true,"tc":true,"td":true,"tel":true,"tf":true,"tg":true,"th":true,"ac.th":true,"co.th":true,"go.th":true,"in.th":true,"mi.th":true,"net.th":true,"or.th":true,"tj":true,"ac.tj":true,"biz.tj":true,"co.tj":true,"com.tj":true,"edu.tj":true,"go.tj":true,"gov.tj":true,"int.tj":true,"mil.tj":true,"name.tj":true,"net.tj":true,"nic.tj":true,"org.tj":true,"test.tj":true,"web.tj":true,"tk":true,"tl":true,"gov.tl":true,"tm":true,"com.tm":true,"co.tm":true,"org.tm":true,"net.tm":true,"nom.tm":true,"gov.tm":true,"mil.tm":true,"edu.tm":true,"tn":true,"com.tn":true,"ens.tn":true,"fin.tn":true,"gov.tn":true,"ind.tn":true,"intl.tn":true,"nat.tn":true,"net.tn":true,"org.tn":true,"info.tn":true,"perso.tn":true,"tourism.tn":true,"edunet.tn":true,"rnrt.tn":true,"rns.tn":true,"rnu.tn":true,"mincom.tn":true,"agrinet.tn":true,"defense.tn":true,"turen.tn":true,"to":true,"com.to":true,"gov.to":true,"net.to":true,"org.to":true,"edu.to":true,"mil.to":true,"tr":true,"com.tr":true,"info.tr":true,"biz.tr":true,"net.tr":true,"org.tr":true,"web.tr":true,"gen.tr":true,"tv.tr":true,"av.tr":true,"dr.tr":true,"bbs.tr":true,"name.tr":true,"tel.tr":true,"gov.tr":true,"bel.tr":true,"pol.tr":true,"mil.tr":true,"k12.tr":true,"edu.tr":true,"kep.tr":true,"nc.tr":true,"gov.nc.tr":true,"travel":true,"tt":true,"co.tt":true,"com.tt":true,"org.tt":true,"net.tt":true,"biz.tt":true,"info.tt":true,"pro.tt":true,"int.tt":true,"coop.tt":true,"jobs.tt":true,"mobi.tt":true,"travel.tt":true,"museum.tt":true,"aero.tt":true,"name.tt":true,"gov.tt":true,"edu.tt":true,"tv":true,"tw":true,"edu.tw":true,"gov.tw":true,"mil.tw":true,"com.tw":true,"net.tw":true,"org.tw":true,"idv.tw":true,"game.tw":true,"ebiz.tw":true,"club.tw":true,"xn--zf0ao64a.tw":true,"xn--uc0atv.tw":true,"xn--czrw28b.tw":true,"tz":true,"ac.tz":true,"co.tz":true,"go.tz":true,"hotel.tz":true,"info.tz":true,"me.tz":true,"mil.tz":true,"mobi.tz":true,"ne.tz":true,"or.tz":true,"sc.tz":true,"tv.tz":true,"ua":true,"com.ua":true,"edu.ua":true,"gov.ua":true,"in.ua":true,"net.ua":true,"org.ua":true,"cherkassy.ua":true,"cherkasy.ua":true,"chernigov.ua":true,"chernihiv.ua":true,"chernivtsi.ua":true,"chernovtsy.ua":true,"ck.ua":true,"cn.ua":true,"cr.ua":true,"crimea.ua":true,"cv.ua":true,"dn.ua":true,"dnepropetrovsk.ua":true,"dnipropetrovsk.ua":true,"dominic.ua":true,"donetsk.ua":true,"dp.ua":true,"if.ua":true,"ivano-frankivsk.ua":true,"kh.ua":true,"kharkiv.ua":true,"kharkov.ua":true,"kherson.ua":true,"khmelnitskiy.ua":true,"khmelnytskyi.ua":true,"kiev.ua":true,"kirovograd.ua":true,"km.ua":true,"kr.ua":true,"krym.ua":true,"ks.ua":true,"kv.ua":true,"kyiv.ua":true,"lg.ua":true,"lt.ua":true,"lugansk.ua":true,"lutsk.ua":true,"lv.ua":true,"lviv.ua":true,"mk.ua":true,"mykolaiv.ua":true,"nikolaev.ua":true,"od.ua":true,"odesa.ua":true,"odessa.ua":true,"pl.ua":true,"poltava.ua":true,"rivne.ua":true,"rovno.ua":true,"rv.ua":true,"sb.ua":true,"sebastopol.ua":true,"sevastopol.ua":true,"sm.ua":true,"sumy.ua":true,"te.ua":true,"ternopil.ua":true,"uz.ua":true,"uzhgorod.ua":true,"vinnica.ua":true,"vinnytsia.ua":true,"vn.ua":true,"volyn.ua":true,"yalta.ua":true,"zaporizhzhe.ua":true,"zaporizhzhia.ua":true,"zhitomir.ua":true,"zhytomyr.ua":true,"zp.ua":true,"zt.ua":true,"ug":true,"co.ug":true,"or.ug":true,"ac.ug":true,"sc.ug":true,"go.ug":true,"ne.ug":true,"com.ug":true,"org.ug":true,"uk":true,"ac.uk":true,"co.uk":true,"gov.uk":true,"ltd.uk":true,"me.uk":true,"net.uk":true,"nhs.uk":true,"org.uk":true,"plc.uk":true,"police.uk":true,"*.sch.uk":true,"us":true,"dni.us":true,"fed.us":true,"isa.us":true,"kids.us":true,"nsn.us":true,"ak.us":true,"al.us":true,"ar.us":true,"as.us":true,"az.us":true,"ca.us":true,"co.us":true,"ct.us":true,"dc.us":true,"de.us":true,"fl.us":true,"ga.us":true,"gu.us":true,"hi.us":true,"ia.us":true,"id.us":true,"il.us":true,"in.us":true,"ks.us":true,"ky.us":true,"la.us":true,"ma.us":true,"md.us":true,"me.us":true,"mi.us":true,"mn.us":true,"mo.us":true,"ms.us":true,"mt.us":true,"nc.us":true,"nd.us":true,"ne.us":true,"nh.us":true,"nj.us":true,"nm.us":true,"nv.us":true,"ny.us":true,"oh.us":true,"ok.us":true,"or.us":true,"pa.us":true,"pr.us":true,"ri.us":true,"sc.us":true,"sd.us":true,"tn.us":true,"tx.us":true,"ut.us":true,"vi.us":true,"vt.us":true,"va.us":true,"wa.us":true,"wi.us":true,"wv.us":true,"wy.us":true,"k12.ak.us":true,"k12.al.us":true,"k12.ar.us":true,"k12.as.us":true,"k12.az.us":true,"k12.ca.us":true,"k12.co.us":true,"k12.ct.us":true,"k12.dc.us":true,"k12.de.us":true,"k12.fl.us":true,"k12.ga.us":true,"k12.gu.us":true,"k12.ia.us":true,"k12.id.us":true,"k12.il.us":true,"k12.in.us":true,"k12.ks.us":true,"k12.ky.us":true,"k12.la.us":true,"k12.ma.us":true,"k12.md.us":true,"k12.me.us":true,"k12.mi.us":true,"k12.mn.us":true,"k12.mo.us":true,"k12.ms.us":true,"k12.mt.us":true,"k12.nc.us":true,"k12.ne.us":true,"k12.nh.us":true,"k12.nj.us":true,"k12.nm.us":true,"k12.nv.us":true,"k12.ny.us":true,"k12.oh.us":true,"k12.ok.us":true,"k12.or.us":true,"k12.pa.us":true,"k12.pr.us":true,"k12.ri.us":true,"k12.sc.us":true,"k12.tn.us":true,"k12.tx.us":true,"k12.ut.us":true,"k12.vi.us":true,"k12.vt.us":true,"k12.va.us":true,"k12.wa.us":true,"k12.wi.us":true,"k12.wy.us":true,"cc.ak.us":true,"cc.al.us":true,"cc.ar.us":true,"cc.as.us":true,"cc.az.us":true,"cc.ca.us":true,"cc.co.us":true,"cc.ct.us":true,"cc.dc.us":true,"cc.de.us":true,"cc.fl.us":true,"cc.ga.us":true,"cc.gu.us":true,"cc.hi.us":true,"cc.ia.us":true,"cc.id.us":true,"cc.il.us":true,"cc.in.us":true,"cc.ks.us":true,"cc.ky.us":true,"cc.la.us":true,"cc.ma.us":true,"cc.md.us":true,"cc.me.us":true,"cc.mi.us":true,"cc.mn.us":true,"cc.mo.us":true,"cc.ms.us":true,"cc.mt.us":true,"cc.nc.us":true,"cc.nd.us":true,"cc.ne.us":true,"cc.nh.us":true,"cc.nj.us":true,"cc.nm.us":true,"cc.nv.us":true,"cc.ny.us":true,"cc.oh.us":true,"cc.ok.us":true,"cc.or.us":true,"cc.pa.us":true,"cc.pr.us":true,"cc.ri.us":true,"cc.sc.us":true,"cc.sd.us":true,"cc.tn.us":true,"cc.tx.us":true,"cc.ut.us":true,"cc.vi.us":true,"cc.vt.us":true,"cc.va.us":true,"cc.wa.us":true,"cc.wi.us":true,"cc.wv.us":true,"cc.wy.us":true,"lib.ak.us":true,"lib.al.us":true,"lib.ar.us":true,"lib.as.us":true,"lib.az.us":true,"lib.ca.us":true,"lib.co.us":true,"lib.ct.us":true,"lib.dc.us":true,"lib.fl.us":true,"lib.ga.us":true,"lib.gu.us":true,"lib.hi.us":true,"lib.ia.us":true,"lib.id.us":true,"lib.il.us":true,"lib.in.us":true,"lib.ks.us":true,"lib.ky.us":true,"lib.la.us":true,"lib.ma.us":true,"lib.md.us":true,"lib.me.us":true,"lib.mi.us":true,"lib.mn.us":true,"lib.mo.us":true,"lib.ms.us":true,"lib.mt.us":true,"lib.nc.us":true,"lib.nd.us":true,"lib.ne.us":true,"lib.nh.us":true,"lib.nj.us":true,"lib.nm.us":true,"lib.nv.us":true,"lib.ny.us":true,"lib.oh.us":true,"lib.ok.us":true,"lib.or.us":true,"lib.pa.us":true,"lib.pr.us":true,"lib.ri.us":true,"lib.sc.us":true,"lib.sd.us":true,"lib.tn.us":true,"lib.tx.us":true,"lib.ut.us":true,"lib.vi.us":true,"lib.vt.us":true,"lib.va.us":true,"lib.wa.us":true,"lib.wi.us":true,"lib.wy.us":true,"pvt.k12.ma.us":true,"chtr.k12.ma.us":true,"paroch.k12.ma.us":true,"uy":true,"com.uy":true,"edu.uy":true,"gub.uy":true,"mil.uy":true,"net.uy":true,"org.uy":true,"uz":true,"co.uz":true,"com.uz":true,"net.uz":true,"org.uz":true,"va":true,"vc":true,"com.vc":true,"net.vc":true,"org.vc":true,"gov.vc":true,"mil.vc":true,"edu.vc":true,"ve":true,"arts.ve":true,"co.ve":true,"com.ve":true,"e12.ve":true,"edu.ve":true,"firm.ve":true,"gob.ve":true,"gov.ve":true,"info.ve":true,"int.ve":true,"mil.ve":true,"net.ve":true,"org.ve":true,"rec.ve":true,"store.ve":true,"tec.ve":true,"web.ve":true,"vg":true,"vi":true,"co.vi":true,"com.vi":true,"k12.vi":true,"net.vi":true,"org.vi":true,"vn":true,"com.vn":true,"net.vn":true,"org.vn":true,"edu.vn":true,"gov.vn":true,"int.vn":true,"ac.vn":true,"biz.vn":true,"info.vn":true,"name.vn":true,"pro.vn":true,"health.vn":true,"vu":true,"com.vu":true,"edu.vu":true,"net.vu":true,"org.vu":true,"wf":true,"ws":true,"com.ws":true,"net.ws":true,"org.ws":true,"gov.ws":true,"edu.ws":true,"yt":true,"xn--mgbaam7a8h":true,"xn--y9a3aq":true,"xn--54b7fta0cc":true,"xn--90ais":true,"xn--fiqs8s":true,"xn--fiqz9s":true,"xn--lgbbat1ad8j":true,"xn--wgbh1c":true,"xn--e1a4c":true,"xn--node":true,"xn--qxam":true,"xn--j6w193g":true,"xn--h2brj9c":true,"xn--mgbbh1a71e":true,"xn--fpcrj9c3d":true,"xn--gecrj9c":true,"xn--s9brj9c":true,"xn--45brj9c":true,"xn--xkc2dl3a5ee0h":true,"xn--mgba3a4f16a":true,"xn--mgba3a4fra":true,"xn--mgbtx2b":true,"xn--mgbayh7gpa":true,"xn--3e0b707e":true,"xn--80ao21a":true,"xn--fzc2c9e2c":true,"xn--xkc2al3hye2a":true,"xn--mgbc0a9azcg":true,"xn--d1alf":true,"xn--l1acc":true,"xn--mix891f":true,"xn--mix082f":true,"xn--mgbx4cd0ab":true,"xn--mgb9awbf":true,"xn--mgbai9azgqp6j":true,"xn--mgbai9a5eva00b":true,"xn--ygbi2ammx":true,"xn--90a3ac":true,"xn--o1ac.xn--90a3ac":true,"xn--c1avg.xn--90a3ac":true,"xn--90azh.xn--90a3ac":true,"xn--d1at.xn--90a3ac":true,"xn--o1ach.xn--90a3ac":true,"xn--80au.xn--90a3ac":true,"xn--p1ai":true,"xn--wgbl6a":true,"xn--mgberp4a5d4ar":true,"xn--mgberp4a5d4a87g":true,"xn--mgbqly7c0a67fbc":true,"xn--mgbqly7cvafr":true,"xn--mgbpl2fh":true,"xn--yfro4i67o":true,"xn--clchc0ea0b2g2a9gcd":true,"xn--ogbpf8fl":true,"xn--mgbtf8fl":true,"xn--o3cw4h":true,"xn--pgbs0dh":true,"xn--kpry57d":true,"xn--kprw13d":true,"xn--nnx388a":true,"xn--j1amh":true,"xn--mgb2ddes":true,"xxx":true,"*.ye":true,"ac.za":true,"agric.za":true,"alt.za":true,"co.za":true,"edu.za":true,"gov.za":true,"grondar.za":true,"law.za":true,"mil.za":true,"net.za":true,"ngo.za":true,"nis.za":true,"nom.za":true,"org.za":true,"school.za":true,"tm.za":true,"web.za":true,"zm":true,"ac.zm":true,"biz.zm":true,"co.zm":true,"com.zm":true,"edu.zm":true,"gov.zm":true,"info.zm":true,"mil.zm":true,"net.zm":true,"org.zm":true,"sch.zm":true,"*.zw":true,"aaa":true,"aarp":true,"abarth":true,"abb":true,"abbott":true,"abbvie":true,"abc":true,"able":true,"abogado":true,"abudhabi":true,"academy":true,"accenture":true,"accountant":true,"accountants":true,"aco":true,"active":true,"actor":true,"adac":true,"ads":true,"adult":true,"aeg":true,"aetna":true,"afamilycompany":true,"afl":true,"africa":true,"agakhan":true,"agency":true,"aig":true,"aigo":true,"airbus":true,"airforce":true,"airtel":true,"akdn":true,"alfaromeo":true,"alibaba":true,"alipay":true,"allfinanz":true,"allstate":true,"ally":true,"alsace":true,"alstom":true,"americanexpress":true,"americanfamily":true,"amex":true,"amfam":true,"amica":true,"amsterdam":true,"analytics":true,"android":true,"anquan":true,"anz":true,"aol":true,"apartments":true,"app":true,"apple":true,"aquarelle":true,"arab":true,"aramco":true,"archi":true,"army":true,"art":true,"arte":true,"asda":true,"associates":true,"athleta":true,"attorney":true,"auction":true,"audi":true,"audible":true,"audio":true,"auspost":true,"author":true,"auto":true,"autos":true,"avianca":true,"aws":true,"axa":true,"azure":true,"baby":true,"baidu":true,"banamex":true,"bananarepublic":true,"band":true,"bank":true,"bar":true,"barcelona":true,"barclaycard":true,"barclays":true,"barefoot":true,"bargains":true,"baseball":true,"basketball":true,"bauhaus":true,"bayern":true,"bbc":true,"bbt":true,"bbva":true,"bcg":true,"bcn":true,"beats":true,"beauty":true,"beer":true,"bentley":true,"berlin":true,"best":true,"bestbuy":true,"bet":true,"bharti":true,"bible":true,"bid":true,"bike":true,"bing":true,"bingo":true,"bio":true,"black":true,"blackfriday":true,"blanco":true,"blockbuster":true,"blog":true,"bloomberg":true,"blue":true,"bms":true,"bmw":true,"bnl":true,"bnpparibas":true,"boats":true,"boehringer":true,"bofa":true,"bom":true,"bond":true,"boo":true,"book":true,"booking":true,"boots":true,"bosch":true,"bostik":true,"boston":true,"bot":true,"boutique":true,"box":true,"bradesco":true,"bridgestone":true,"broadway":true,"broker":true,"brother":true,"brussels":true,"budapest":true,"bugatti":true,"build":true,"builders":true,"business":true,"buy":true,"buzz":true,"bzh":true,"cab":true,"cafe":true,"cal":true,"call":true,"calvinklein":true,"cam":true,"camera":true,"camp":true,"cancerresearch":true,"canon":true,"capetown":true,"capital":true,"capitalone":true,"car":true,"caravan":true,"cards":true,"care":true,"career":true,"careers":true,"cars":true,"cartier":true,"casa":true,"case":true,"caseih":true,"cash":true,"casino":true,"catering":true,"catholic":true,"cba":true,"cbn":true,"cbre":true,"cbs":true,"ceb":true,"center":true,"ceo":true,"cern":true,"cfa":true,"cfd":true,"chanel":true,"channel":true,"chase":true,"chat":true,"cheap":true,"chintai":true,"chloe":true,"christmas":true,"chrome":true,"chrysler":true,"church":true,"cipriani":true,"circle":true,"cisco":true,"citadel":true,"citi":true,"citic":true,"city":true,"cityeats":true,"claims":true,"cleaning":true,"click":true,"clinic":true,"clinique":true,"clothing":true,"cloud":true,"club":true,"clubmed":true,"coach":true,"codes":true,"coffee":true,"college":true,"cologne":true,"comcast":true,"commbank":true,"community":true,"company":true,"compare":true,"computer":true,"comsec":true,"condos":true,"construction":true,"consulting":true,"contact":true,"contractors":true,"cooking":true,"cookingchannel":true,"cool":true,"corsica":true,"country":true,"coupon":true,"coupons":true,"courses":true,"credit":true,"creditcard":true,"creditunion":true,"cricket":true,"crown":true,"crs":true,"cruise":true,"cruises":true,"csc":true,"cuisinella":true,"cymru":true,"cyou":true,"dabur":true,"dad":true,"dance":true,"data":true,"date":true,"dating":true,"datsun":true,"day":true,"dclk":true,"dds":true,"deal":true,"dealer":true,"deals":true,"degree":true,"delivery":true,"dell":true,"deloitte":true,"delta":true,"democrat":true,"dental":true,"dentist":true,"desi":true,"design":true,"dev":true,"dhl":true,"diamonds":true,"diet":true,"digital":true,"direct":true,"directory":true,"discount":true,"discover":true,"dish":true,"diy":true,"dnp":true,"docs":true,"doctor":true,"dodge":true,"dog":true,"doha":true,"domains":true,"dot":true,"download":true,"drive":true,"dtv":true,"dubai":true,"duck":true,"dunlop":true,"duns":true,"dupont":true,"durban":true,"dvag":true,"dvr":true,"dwg":true,"earth":true,"eat":true,"eco":true,"edeka":true,"education":true,"email":true,"emerck":true,"emerson":true,"energy":true,"engineer":true,"engineering":true,"enterprises":true,"epost":true,"epson":true,"equipment":true,"ericsson":true,"erni":true,"esq":true,"estate":true,"esurance":true,"etisalat":true,"eurovision":true,"eus":true,"events":true,"everbank":true,"exchange":true,"expert":true,"exposed":true,"express":true,"extraspace":true,"fage":true,"fail":true,"fairwinds":true,"faith":true,"family":true,"fan":true,"fans":true,"farm":true,"farmers":true,"fashion":true,"fast":true,"fedex":true,"feedback":true,"ferrari":true,"ferrero":true,"fiat":true,"fidelity":true,"fido":true,"film":true,"final":true,"finance":true,"financial":true,"fire":true,"firestone":true,"firmdale":true,"fish":true,"fishing":true,"fit":true,"fitness":true,"flickr":true,"flights":true,"flir":true,"florist":true,"flowers":true,"fly":true,"foo":true,"food":true,"foodnetwork":true,"football":true,"ford":true,"forex":true,"forsale":true,"forum":true,"foundation":true,"fox":true,"free":true,"fresenius":true,"frl":true,"frogans":true,"frontdoor":true,"frontier":true,"ftr":true,"fujitsu":true,"fujixerox":true,"fun":true,"fund":true,"furniture":true,"futbol":true,"fyi":true,"gal":true,"gallery":true,"gallo":true,"gallup":true,"game":true,"games":true,"gap":true,"garden":true,"gbiz":true,"gdn":true,"gea":true,"gent":true,"genting":true,"george":true,"ggee":true,"gift":true,"gifts":true,"gives":true,"giving":true,"glade":true,"glass":true,"gle":true,"global":true,"globo":true,"gmail":true,"gmbh":true,"gmo":true,"gmx":true,"godaddy":true,"gold":true,"goldpoint":true,"golf":true,"goo":true,"goodhands":true,"goodyear":true,"goog":true,"google":true,"gop":true,"got":true,"grainger":true,"graphics":true,"gratis":true,"green":true,"gripe":true,"grocery":true,"group":true,"guardian":true,"gucci":true,"guge":true,"guide":true,"guitars":true,"guru":true,"hair":true,"hamburg":true,"hangout":true,"haus":true,"hbo":true,"hdfc":true,"hdfcbank":true,"health":true,"healthcare":true,"help":true,"helsinki":true,"here":true,"hermes":true,"hgtv":true,"hiphop":true,"hisamitsu":true,"hitachi":true,"hiv":true,"hkt":true,"hockey":true,"holdings":true,"holiday":true,"homedepot":true,"homegoods":true,"homes":true,"homesense":true,"honda":true,"honeywell":true,"horse":true,"host":true,"hosting":true,"hot":true,"hoteles":true,"hotels":true,"hotmail":true,"house":true,"how":true,"hsbc":true,"htc":true,"hughes":true,"hyatt":true,"hyundai":true,"ibm":true,"icbc":true,"ice":true,"icu":true,"ieee":true,"ifm":true,"iinet":true,"ikano":true,"imamat":true,"imdb":true,"immo":true,"immobilien":true,"industries":true,"infiniti":true,"ing":true,"ink":true,"institute":true,"insurance":true,"insure":true,"intel":true,"international":true,"intuit":true,"investments":true,"ipiranga":true,"irish":true,"iselect":true,"ismaili":true,"ist":true,"istanbul":true,"itau":true,"itv":true,"iveco":true,"iwc":true,"jaguar":true,"java":true,"jcb":true,"jcp":true,"jeep":true,"jetzt":true,"jewelry":true,"jio":true,"jlc":true,"jll":true,"jmp":true,"jnj":true,"joburg":true,"jot":true,"joy":true,"jpmorgan":true,"jprs":true,"juegos":true,"juniper":true,"kaufen":true,"kddi":true,"kerryhotels":true,"kerrylogistics":true,"kerryproperties":true,"kfh":true,"kia":true,"kim":true,"kinder":true,"kindle":true,"kitchen":true,"kiwi":true,"koeln":true,"komatsu":true,"kosher":true,"kpmg":true,"kpn":true,"krd":true,"kred":true,"kuokgroup":true,"kyoto":true,"lacaixa":true,"ladbrokes":true,"lamborghini":true,"lamer":true,"lancaster":true,"lancia":true,"lancome":true,"land":true,"landrover":true,"lanxess":true,"lasalle":true,"lat":true,"latino":true,"latrobe":true,"law":true,"lawyer":true,"lds":true,"lease":true,"leclerc":true,"lefrak":true,"legal":true,"lego":true,"lexus":true,"lgbt":true,"liaison":true,"lidl":true,"life":true,"lifeinsurance":true,"lifestyle":true,"lighting":true,"like":true,"lilly":true,"limited":true,"limo":true,"lincoln":true,"linde":true,"link":true,"lipsy":true,"live":true,"living":true,"lixil":true,"loan":true,"loans":true,"locker":true,"locus":true,"loft":true,"lol":true,"london":true,"lotte":true,"lotto":true,"love":true,"lpl":true,"lplfinancial":true,"ltd":true,"ltda":true,"lundbeck":true,"lupin":true,"luxe":true,"luxury":true,"macys":true,"madrid":true,"maif":true,"maison":true,"makeup":true,"man":true,"management":true,"mango":true,"map":true,"market":true,"marketing":true,"markets":true,"marriott":true,"marshalls":true,"maserati":true,"mattel":true,"mba":true,"mcd":true,"mcdonalds":true,"mckinsey":true,"med":true,"media":true,"meet":true,"melbourne":true,"meme":true,"memorial":true,"men":true,"menu":true,"meo":true,"merckmsd":true,"metlife":true,"miami":true,"microsoft":true,"mini":true,"mint":true,"mit":true,"mitsubishi":true,"mlb":true,"mls":true,"mma":true,"mobile":true,"mobily":true,"moda":true,"moe":true,"moi":true,"mom":true,"monash":true,"money":true,"monster":true,"montblanc":true,"mopar":true,"mormon":true,"mortgage":true,"moscow":true,"moto":true,"motorcycles":true,"mov":true,"movie":true,"movistar":true,"msd":true,"mtn":true,"mtpc":true,"mtr":true,"mutual":true,"mutuelle":true,"nab":true,"nadex":true,"nagoya":true,"nationwide":true,"natura":true,"navy":true,"nba":true,"nec":true,"netbank":true,"netflix":true,"network":true,"neustar":true,"new":true,"newholland":true,"news":true,"next":true,"nextdirect":true,"nexus":true,"nfl":true,"ngo":true,"nhk":true,"nico":true,"nike":true,"nikon":true,"ninja":true,"nissan":true,"nissay":true,"nokia":true,"northwesternmutual":true,"norton":true,"now":true,"nowruz":true,"nowtv":true,"nra":true,"nrw":true,"ntt":true,"nyc":true,"obi":true,"observer":true,"off":true,"office":true,"okinawa":true,"olayan":true,"olayangroup":true,"oldnavy":true,"ollo":true,"omega":true,"one":true,"ong":true,"onl":true,"online":true,"onyourside":true,"ooo":true,"open":true,"oracle":true,"orange":true,"organic":true,"orientexpress":true,"origins":true,"osaka":true,"otsuka":true,"ott":true,"ovh":true,"page":true,"pamperedchef":true,"panasonic":true,"panerai":true,"paris":true,"pars":true,"partners":true,"parts":true,"party":true,"passagens":true,"pay":true,"pccw":true,"pet":true,"pfizer":true,"pharmacy":true,"phd":true,"philips":true,"phone":true,"photo":true,"photography":true,"photos":true,"physio":true,"piaget":true,"pics":true,"pictet":true,"pictures":true,"pid":true,"pin":true,"ping":true,"pink":true,"pioneer":true,"pizza":true,"place":true,"play":true,"playstation":true,"plumbing":true,"plus":true,"pnc":true,"pohl":true,"poker":true,"politie":true,"porn":true,"pramerica":true,"praxi":true,"press":true,"prime":true,"prod":true,"productions":true,"prof":true,"progressive":true,"promo":true,"properties":true,"property":true,"protection":true,"pru":true,"prudential":true,"pub":true,"pwc":true,"qpon":true,"quebec":true,"quest":true,"qvc":true,"racing":true,"radio":true,"raid":true,"read":true,"realestate":true,"realtor":true,"realty":true,"recipes":true,"red":true,"redstone":true,"redumbrella":true,"rehab":true,"reise":true,"reisen":true,"reit":true,"reliance":true,"ren":true,"rent":true,"rentals":true,"repair":true,"report":true,"republican":true,"rest":true,"restaurant":true,"review":true,"reviews":true,"rexroth":true,"rich":true,"richardli":true,"ricoh":true,"rightathome":true,"ril":true,"rio":true,"rip":true,"rmit":true,"rocher":true,"rocks":true,"rodeo":true,"rogers":true,"room":true,"rsvp":true,"ruhr":true,"run":true,"rwe":true,"ryukyu":true,"saarland":true,"safe":true,"safety":true,"sakura":true,"sale":true,"salon":true,"samsclub":true,"samsung":true,"sandvik":true,"sandvikcoromant":true,"sanofi":true,"sap":true,"sapo":true,"sarl":true,"sas":true,"save":true,"saxo":true,"sbi":true,"sbs":true,"sca":true,"scb":true,"schaeffler":true,"schmidt":true,"scholarships":true,"school":true,"schule":true,"schwarz":true,"science":true,"scjohnson":true,"scor":true,"scot":true,"search":true,"seat":true,"secure":true,"security":true,"seek":true,"select":true,"sener":true,"services":true,"ses":true,"seven":true,"sew":true,"sex":true,"sexy":true,"sfr":true,"shangrila":true,"sharp":true,"shaw":true,"shell":true,"shia":true,"shiksha":true,"shoes":true,"shop":true,"shopping":true,"shouji":true,"show":true,"showtime":true,"shriram":true,"silk":true,"sina":true,"singles":true,"site":true,"ski":true,"skin":true,"sky":true,"skype":true,"sling":true,"smart":true,"smile":true,"sncf":true,"soccer":true,"social":true,"softbank":true,"software":true,"sohu":true,"solar":true,"solutions":true,"song":true,"sony":true,"soy":true,"space":true,"spiegel":true,"spot":true,"spreadbetting":true,"srl":true,"srt":true,"stada":true,"staples":true,"star":true,"starhub":true,"statebank":true,"statefarm":true,"statoil":true,"stc":true,"stcgroup":true,"stockholm":true,"storage":true,"store":true,"stream":true,"studio":true,"study":true,"style":true,"sucks":true,"supplies":true,"supply":true,"support":true,"surf":true,"surgery":true,"suzuki":true,"swatch":true,"swiftcover":true,"swiss":true,"sydney":true,"symantec":true,"systems":true,"tab":true,"taipei":true,"talk":true,"taobao":true,"target":true,"tatamotors":true,"tatar":true,"tattoo":true,"tax":true,"taxi":true,"tci":true,"tdk":true,"team":true,"tech":true,"technology":true,"telecity":true,"telefonica":true,"temasek":true,"tennis":true,"teva":true,"thd":true,"theater":true,"theatre":true,"theguardian":true,"tiaa":true,"tickets":true,"tienda":true,"tiffany":true,"tips":true,"tires":true,"tirol":true,"tjmaxx":true,"tjx":true,"tkmaxx":true,"tmall":true,"today":true,"tokyo":true,"tools":true,"top":true,"toray":true,"toshiba":true,"total":true,"tours":true,"town":true,"toyota":true,"toys":true,"trade":true,"trading":true,"training":true,"travelchannel":true,"travelers":true,"travelersinsurance":true,"trust":true,"trv":true,"tube":true,"tui":true,"tunes":true,"tushu":true,"tvs":true,"ubank":true,"ubs":true,"uconnect":true,"unicom":true,"university":true,"uno":true,"uol":true,"ups":true,"vacations":true,"vana":true,"vanguard":true,"vegas":true,"ventures":true,"verisign":true,"versicherung":true,"vet":true,"viajes":true,"video":true,"vig":true,"viking":true,"villas":true,"vin":true,"vip":true,"virgin":true,"visa":true,"vision":true,"vista":true,"vistaprint":true,"viva":true,"vivo":true,"vlaanderen":true,"vodka":true,"volkswagen":true,"volvo":true,"vote":true,"voting":true,"voto":true,"voyage":true,"vuelos":true,"wales":true,"walmart":true,"walter":true,"wang":true,"wanggou":true,"warman":true,"watch":true,"watches":true,"weather":true,"weatherchannel":true,"webcam":true,"weber":true,"website":true,"wed":true,"wedding":true,"weibo":true,"weir":true,"whoswho":true,"wien":true,"wiki":true,"williamhill":true,"win":true,"windows":true,"wine":true,"winners":true,"wme":true,"wolterskluwer":true,"woodside":true,"work":true,"works":true,"world":true,"wow":true,"wtc":true,"wtf":true,"xbox":true,"xerox":true,"xfinity":true,"xihuan":true,"xin":true,"xn--11b4c3d":true,"xn--1ck2e1b":true,"xn--1qqw23a":true,"xn--30rr7y":true,"xn--3bst00m":true,"xn--3ds443g":true,"xn--3oq18vl8pn36a":true,"xn--3pxu8k":true,"xn--42c2d9a":true,"xn--45q11c":true,"xn--4gbrim":true,"xn--4gq48lf9j":true,"xn--55qw42g":true,"xn--55qx5d":true,"xn--5su34j936bgsg":true,"xn--5tzm5g":true,"xn--6frz82g":true,"xn--6qq986b3xl":true,"xn--80adxhks":true,"xn--80aqecdr1a":true,"xn--80asehdb":true,"xn--80aswg":true,"xn--8y0a063a":true,"xn--9dbq2a":true,"xn--9et52u":true,"xn--9krt00a":true,"xn--b4w605ferd":true,"xn--bck1b9a5dre4c":true,"xn--c1avg":true,"xn--c2br7g":true,"xn--cck2b3b":true,"xn--cg4bki":true,"xn--czr694b":true,"xn--czrs0t":true,"xn--czru2d":true,"xn--d1acj3b":true,"xn--eckvdtc9d":true,"xn--efvy88h":true,"xn--estv75g":true,"xn--fct429k":true,"xn--fhbei":true,"xn--fiq228c5hs":true,"xn--fiq64b":true,"xn--fjq720a":true,"xn--flw351e":true,"xn--fzys8d69uvgm":true,"xn--g2xx48c":true,"xn--gckr3f0f":true,"xn--gk3at1e":true,"xn--hxt814e":true,"xn--i1b6b1a6a2e":true,"xn--imr513n":true,"xn--io0a7i":true,"xn--j1aef":true,"xn--jlq61u9w7b":true,"xn--jvr189m":true,"xn--kcrx77d1x4a":true,"xn--kpu716f":true,"xn--kput3i":true,"xn--mgba3a3ejt":true,"xn--mgba7c0bbn0a":true,"xn--mgbaakc7dvf":true,"xn--mgbab2bd":true,"xn--mgbb9fbpob":true,"xn--mgbca7dzdo":true,"xn--mgbi4ecexp":true,"xn--mgbt3dhd":true,"xn--mk1bu44c":true,"xn--mxtq1m":true,"xn--ngbc5azd":true,"xn--ngbe9e0a":true,"xn--ngbrx":true,"xn--nqv7f":true,"xn--nqv7fs00ema":true,"xn--nyqy26a":true,"xn--p1acf":true,"xn--pbt977c":true,"xn--pssy2u":true,"xn--q9jyb4c":true,"xn--qcka1pmc":true,"xn--rhqv96g":true,"xn--rovu88b":true,"xn--ses554g":true,"xn--t60b56a":true,"xn--tckwe":true,"xn--tiq49xqyj":true,"xn--unup4y":true,"xn--vermgensberater-ctb":true,"xn--vermgensberatung-pwb":true,"xn--vhquv":true,"xn--vuq861b":true,"xn--w4r85el8fhu5dnra":true,"xn--w4rs40l":true,"xn--xhq521b":true,"xn--zfr164b":true,"xperia":true,"xyz":true,"yachts":true,"yahoo":true,"yamaxun":true,"yandex":true,"yodobashi":true,"yoga":true,"yokohama":true,"you":true,"youtube":true,"yun":true,"zappos":true,"zara":true,"zero":true,"zip":true,"zippo":true,"zone":true,"zuerich":true,"beep.pl":true,"*.compute.estate":true,"*.alces.network":true,"*.alwaysdata.net":true,"cloudfront.net":true,"compute.amazonaws.com":true,"ap-northeast-1.compute.amazonaws.com":true,"ap-northeast-2.compute.amazonaws.com":true,"ap-southeast-1.compute.amazonaws.com":true,"ap-southeast-2.compute.amazonaws.com":true,"eu-central-1.compute.amazonaws.com":true,"eu-west-1.compute.amazonaws.com":true,"sa-east-1.compute.amazonaws.com":true,"us-gov-west-1.compute.amazonaws.com":true,"us-west-1.compute.amazonaws.com":true,"us-west-2.compute.amazonaws.com":true,"compute-1.amazonaws.com":true,"z-1.compute-1.amazonaws.com":true,"z-2.compute-1.amazonaws.com":true,"us-east-1.amazonaws.com":true,"compute.amazonaws.com.cn":true,"cn-north-1.compute.amazonaws.com.cn":true,"elasticbeanstalk.com":true,"elb.amazonaws.com":true,"s3.amazonaws.com":true,"s3-ap-northeast-1.amazonaws.com":true,"s3-ap-northeast-2.amazonaws.com":true,"s3-ap-southeast-1.amazonaws.com":true,"s3-ap-southeast-2.amazonaws.com":true,"s3-eu-central-1.amazonaws.com":true,"s3-eu-west-1.amazonaws.com":true,"s3-external-1.amazonaws.com":true,"s3-external-2.amazonaws.com":true,"s3-fips-us-gov-west-1.amazonaws.com":true,"s3-sa-east-1.amazonaws.com":true,"s3-us-gov-west-1.amazonaws.com":true,"s3-us-west-1.amazonaws.com":true,"s3-us-west-2.amazonaws.com":true,"s3.ap-northeast-2.amazonaws.com":true,"s3.cn-north-1.amazonaws.com.cn":true,"s3.eu-central-1.amazonaws.com":true,"on-aptible.com":true,"pimienta.org":true,"poivron.org":true,"potager.org":true,"sweetpepper.org":true,"myasustor.com":true,"myfritz.net":true,"backplaneapp.io":true,"betainabox.com":true,"bnr.la":true,"boxfuse.io":true,"browsersafetymark.io":true,"mycd.eu":true,"ae.org":true,"ar.com":true,"br.com":true,"cn.com":true,"com.de":true,"com.se":true,"de.com":true,"eu.com":true,"gb.com":true,"gb.net":true,"hu.com":true,"hu.net":true,"jp.net":true,"jpn.com":true,"kr.com":true,"mex.com":true,"no.com":true,"qc.com":true,"ru.com":true,"sa.com":true,"se.com":true,"se.net":true,"uk.com":true,"uk.net":true,"us.com":true,"uy.com":true,"za.bz":true,"za.com":true,"africa.com":true,"gr.com":true,"in.net":true,"us.org":true,"co.com":true,"c.la":true,"certmgr.org":true,"xenapponazure.com":true,"virtueeldomein.nl":true,"cloudcontrolled.com":true,"cloudcontrolapp.com":true,"co.ca":true,"co.cz":true,"c.cdn77.org":true,"cdn77-ssl.net":true,"r.cdn77.net":true,"rsc.cdn77.org":true,"ssl.origin.cdn77-secure.org":true,"cloudns.asia":true,"cloudns.biz":true,"cloudns.club":true,"cloudns.cc":true,"cloudns.eu":true,"cloudns.in":true,"cloudns.info":true,"cloudns.org":true,"cloudns.pro":true,"cloudns.pw":true,"cloudns.us":true,"co.nl":true,"co.no":true,"*.platform.sh":true,"realm.cz":true,"*.cryptonomic.net":true,"cupcake.is":true,"cyon.link":true,"cyon.site":true,"daplie.me":true,"biz.dk":true,"co.dk":true,"firm.dk":true,"reg.dk":true,"store.dk":true,"dedyn.io":true,"dnshome.de":true,"dreamhosters.com":true,"mydrobo.com":true,"drud.io":true,"drud.us":true,"duckdns.org":true,"dy.fi":true,"tunk.org":true,"dyndns-at-home.com":true,"dyndns-at-work.com":true,"dyndns-blog.com":true,"dyndns-free.com":true,"dyndns-home.com":true,"dyndns-ip.com":true,"dyndns-mail.com":true,"dyndns-office.com":true,"dyndns-pics.com":true,"dyndns-remote.com":true,"dyndns-server.com":true,"dyndns-web.com":true,"dyndns-wiki.com":true,"dyndns-work.com":true,"dyndns.biz":true,"dyndns.info":true,"dyndns.org":true,"dyndns.tv":true,"at-band-camp.net":true,"ath.cx":true,"barrel-of-knowledge.info":true,"barrell-of-knowledge.info":true,"better-than.tv":true,"blogdns.com":true,"blogdns.net":true,"blogdns.org":true,"blogsite.org":true,"boldlygoingnowhere.org":true,"broke-it.net":true,"buyshouses.net":true,"cechire.com":true,"dnsalias.com":true,"dnsalias.net":true,"dnsalias.org":true,"dnsdojo.com":true,"dnsdojo.net":true,"dnsdojo.org":true,"does-it.net":true,"doesntexist.com":true,"doesntexist.org":true,"dontexist.com":true,"dontexist.net":true,"dontexist.org":true,"doomdns.com":true,"doomdns.org":true,"dvrdns.org":true,"dyn-o-saur.com":true,"dynalias.com":true,"dynalias.net":true,"dynalias.org":true,"dynathome.net":true,"dyndns.ws":true,"endofinternet.net":true,"endofinternet.org":true,"endoftheinternet.org":true,"est-a-la-maison.com":true,"est-a-la-masion.com":true,"est-le-patron.com":true,"est-mon-blogueur.com":true,"for-better.biz":true,"for-more.biz":true,"for-our.info":true,"for-some.biz":true,"for-the.biz":true,"forgot.her.name":true,"forgot.his.name":true,"from-ak.com":true,"from-al.com":true,"from-ar.com":true,"from-az.net":true,"from-ca.com":true,"from-co.net":true,"from-ct.com":true,"from-dc.com":true,"from-de.com":true,"from-fl.com":true,"from-ga.com":true,"from-hi.com":true,"from-ia.com":true,"from-id.com":true,"from-il.com":true,"from-in.com":true,"from-ks.com":true,"from-ky.com":true,"from-la.net":true,"from-ma.com":true,"from-md.com":true,"from-me.org":true,"from-mi.com":true,"from-mn.com":true,"from-mo.com":true,"from-ms.com":true,"from-mt.com":true,"from-nc.com":true,"from-nd.com":true,"from-ne.com":true,"from-nh.com":true,"from-nj.com":true,"from-nm.com":true,"from-nv.com":true,"from-ny.net":true,"from-oh.com":true,"from-ok.com":true,"from-or.com":true,"from-pa.com":true,"from-pr.com":true,"from-ri.com":true,"from-sc.com":true,"from-sd.com":true,"from-tn.com":true,"from-tx.com":true,"from-ut.com":true,"from-va.com":true,"from-vt.com":true,"from-wa.com":true,"from-wi.com":true,"from-wv.com":true,"from-wy.com":true,"ftpaccess.cc":true,"fuettertdasnetz.de":true,"game-host.org":true,"game-server.cc":true,"getmyip.com":true,"gets-it.net":true,"go.dyndns.org":true,"gotdns.com":true,"gotdns.org":true,"groks-the.info":true,"groks-this.info":true,"ham-radio-op.net":true,"here-for-more.info":true,"hobby-site.com":true,"hobby-site.org":true,"home.dyndns.org":true,"homedns.org":true,"homeftp.net":true,"homeftp.org":true,"homeip.net":true,"homelinux.com":true,"homelinux.net":true,"homelinux.org":true,"homeunix.com":true,"homeunix.net":true,"homeunix.org":true,"iamallama.com":true,"in-the-band.net":true,"is-a-anarchist.com":true,"is-a-blogger.com":true,"is-a-bookkeeper.com":true,"is-a-bruinsfan.org":true,"is-a-bulls-fan.com":true,"is-a-candidate.org":true,"is-a-caterer.com":true,"is-a-celticsfan.org":true,"is-a-chef.com":true,"is-a-chef.net":true,"is-a-chef.org":true,"is-a-conservative.com":true,"is-a-cpa.com":true,"is-a-cubicle-slave.com":true,"is-a-democrat.com":true,"is-a-designer.com":true,"is-a-doctor.com":true,"is-a-financialadvisor.com":true,"is-a-geek.com":true,"is-a-geek.net":true,"is-a-geek.org":true,"is-a-green.com":true,"is-a-guru.com":true,"is-a-hard-worker.com":true,"is-a-hunter.com":true,"is-a-knight.org":true,"is-a-landscaper.com":true,"is-a-lawyer.com":true,"is-a-liberal.com":true,"is-a-libertarian.com":true,"is-a-linux-user.org":true,"is-a-llama.com":true,"is-a-musician.com":true,"is-a-nascarfan.com":true,"is-a-nurse.com":true,"is-a-painter.com":true,"is-a-patsfan.org":true,"is-a-personaltrainer.com":true,"is-a-photographer.com":true,"is-a-player.com":true,"is-a-republican.com":true,"is-a-rockstar.com":true,"is-a-socialist.com":true,"is-a-soxfan.org":true,"is-a-student.com":true,"is-a-teacher.com":true,"is-a-techie.com":true,"is-a-therapist.com":true,"is-an-accountant.com":true,"is-an-actor.com":true,"is-an-actress.com":true,"is-an-anarchist.com":true,"is-an-artist.com":true,"is-an-engineer.com":true,"is-an-entertainer.com":true,"is-by.us":true,"is-certified.com":true,"is-found.org":true,"is-gone.com":true,"is-into-anime.com":true,"is-into-cars.com":true,"is-into-cartoons.com":true,"is-into-games.com":true,"is-leet.com":true,"is-lost.org":true,"is-not-certified.com":true,"is-saved.org":true,"is-slick.com":true,"is-uberleet.com":true,"is-very-bad.org":true,"is-very-evil.org":true,"is-very-good.org":true,"is-very-nice.org":true,"is-very-sweet.org":true,"is-with-theband.com":true,"isa-geek.com":true,"isa-geek.net":true,"isa-geek.org":true,"isa-hockeynut.com":true,"issmarterthanyou.com":true,"isteingeek.de":true,"istmein.de":true,"kicks-ass.net":true,"kicks-ass.org":true,"knowsitall.info":true,"land-4-sale.us":true,"lebtimnetz.de":true,"leitungsen.de":true,"likes-pie.com":true,"likescandy.com":true,"merseine.nu":true,"mine.nu":true,"misconfused.org":true,"mypets.ws":true,"myphotos.cc":true,"neat-url.com":true,"office-on-the.net":true,"on-the-web.tv":true,"podzone.net":true,"podzone.org":true,"readmyblog.org":true,"saves-the-whales.com":true,"scrapper-site.net":true,"scrapping.cc":true,"selfip.biz":true,"selfip.com":true,"selfip.info":true,"selfip.net":true,"selfip.org":true,"sells-for-less.com":true,"sells-for-u.com":true,"sells-it.net":true,"sellsyourhome.org":true,"servebbs.com":true,"servebbs.net":true,"servebbs.org":true,"serveftp.net":true,"serveftp.org":true,"servegame.org":true,"shacknet.nu":true,"simple-url.com":true,"space-to-rent.com":true,"stuff-4-sale.org":true,"stuff-4-sale.us":true,"teaches-yoga.com":true,"thruhere.net":true,"traeumtgerade.de":true,"webhop.biz":true,"webhop.info":true,"webhop.net":true,"webhop.org":true,"worse-than.tv":true,"writesthisblog.com":true,"ddnss.de":true,"dyn.ddnss.de":true,"dyndns.ddnss.de":true,"dyndns1.de":true,"dyn-ip24.de":true,"home-webserver.de":true,"dyn.home-webserver.de":true,"myhome-server.de":true,"ddnss.org":true,"dynv6.net":true,"e4.cz":true,"eu.org":true,"al.eu.org":true,"asso.eu.org":true,"at.eu.org":true,"au.eu.org":true,"be.eu.org":true,"bg.eu.org":true,"ca.eu.org":true,"cd.eu.org":true,"ch.eu.org":true,"cn.eu.org":true,"cy.eu.org":true,"cz.eu.org":true,"de.eu.org":true,"dk.eu.org":true,"edu.eu.org":true,"ee.eu.org":true,"es.eu.org":true,"fi.eu.org":true,"fr.eu.org":true,"gr.eu.org":true,"hr.eu.org":true,"hu.eu.org":true,"ie.eu.org":true,"il.eu.org":true,"in.eu.org":true,"int.eu.org":true,"is.eu.org":true,"it.eu.org":true,"jp.eu.org":true,"kr.eu.org":true,"lt.eu.org":true,"lu.eu.org":true,"lv.eu.org":true,"mc.eu.org":true,"me.eu.org":true,"mk.eu.org":true,"mt.eu.org":true,"my.eu.org":true,"net.eu.org":true,"ng.eu.org":true,"nl.eu.org":true,"no.eu.org":true,"nz.eu.org":true,"paris.eu.org":true,"pl.eu.org":true,"pt.eu.org":true,"q-a.eu.org":true,"ro.eu.org":true,"ru.eu.org":true,"se.eu.org":true,"si.eu.org":true,"sk.eu.org":true,"tr.eu.org":true,"uk.eu.org":true,"us.eu.org":true,"eu-1.evennode.com":true,"eu-2.evennode.com":true,"us-1.evennode.com":true,"us-2.evennode.com":true,"apps.fbsbx.com":true,"a.ssl.fastly.net":true,"b.ssl.fastly.net":true,"global.ssl.fastly.net":true,"a.prod.fastly.net":true,"global.prod.fastly.net":true,"fhapp.xyz":true,"firebaseapp.com":true,"flynnhub.com":true,"freebox-os.com":true,"freeboxos.com":true,"fbx-os.fr":true,"fbxos.fr":true,"freebox-os.fr":true,"freeboxos.fr":true,"myfusion.cloud":true,"futuremailing.at":true,"*.ex.ortsinfo.at":true,"*.kunden.ortsinfo.at":true,"service.gov.uk":true,"github.io":true,"githubusercontent.com":true,"githubcloud.com":true,"*.api.githubcloud.com":true,"*.ext.githubcloud.com":true,"gist.githubcloud.com":true,"*.githubcloudusercontent.com":true,"gitlab.io":true,"ro.com":true,"ro.im":true,"shop.ro":true,"goip.de":true,"*.0emm.com":true,"appspot.com":true,"blogspot.ae":true,"blogspot.al":true,"blogspot.am":true,"blogspot.ba":true,"blogspot.be":true,"blogspot.bg":true,"blogspot.bj":true,"blogspot.ca":true,"blogspot.cf":true,"blogspot.ch":true,"blogspot.cl":true,"blogspot.co.at":true,"blogspot.co.id":true,"blogspot.co.il":true,"blogspot.co.ke":true,"blogspot.co.nz":true,"blogspot.co.uk":true,"blogspot.co.za":true,"blogspot.com":true,"blogspot.com.ar":true,"blogspot.com.au":true,"blogspot.com.br":true,"blogspot.com.by":true,"blogspot.com.co":true,"blogspot.com.cy":true,"blogspot.com.ee":true,"blogspot.com.eg":true,"blogspot.com.es":true,"blogspot.com.mt":true,"blogspot.com.ng":true,"blogspot.com.tr":true,"blogspot.com.uy":true,"blogspot.cv":true,"blogspot.cz":true,"blogspot.de":true,"blogspot.dk":true,"blogspot.fi":true,"blogspot.fr":true,"blogspot.gr":true,"blogspot.hk":true,"blogspot.hr":true,"blogspot.hu":true,"blogspot.ie":true,"blogspot.in":true,"blogspot.is":true,"blogspot.it":true,"blogspot.jp":true,"blogspot.kr":true,"blogspot.li":true,"blogspot.lt":true,"blogspot.lu":true,"blogspot.md":true,"blogspot.mk":true,"blogspot.mr":true,"blogspot.mx":true,"blogspot.my":true,"blogspot.nl":true,"blogspot.no":true,"blogspot.pe":true,"blogspot.pt":true,"blogspot.qa":true,"blogspot.re":true,"blogspot.ro":true,"blogspot.rs":true,"blogspot.ru":true,"blogspot.se":true,"blogspot.sg":true,"blogspot.si":true,"blogspot.sk":true,"blogspot.sn":true,"blogspot.td":true,"blogspot.tw":true,"blogspot.ug":true,"blogspot.vn":true,"cloudfunctions.net":true,"codespot.com":true,"googleapis.com":true,"googlecode.com":true,"pagespeedmobilizer.com":true,"publishproxy.com":true,"withgoogle.com":true,"withyoutube.com":true,"hashbang.sh":true,"hasura-app.io":true,"hepforge.org":true,"herokuapp.com":true,"herokussl.com":true,"iki.fi":true,"biz.at":true,"info.at":true,"ac.leg.br":true,"al.leg.br":true,"am.leg.br":true,"ap.leg.br":true,"ba.leg.br":true,"ce.leg.br":true,"df.leg.br":true,"es.leg.br":true,"go.leg.br":true,"ma.leg.br":true,"mg.leg.br":true,"ms.leg.br":true,"mt.leg.br":true,"pa.leg.br":true,"pb.leg.br":true,"pe.leg.br":true,"pi.leg.br":true,"pr.leg.br":true,"rj.leg.br":true,"rn.leg.br":true,"ro.leg.br":true,"rr.leg.br":true,"rs.leg.br":true,"sc.leg.br":true,"se.leg.br":true,"sp.leg.br":true,"to.leg.br":true,"*.triton.zone":true,"*.cns.joyent.com":true,"js.org":true,"keymachine.de":true,"knightpoint.systems":true,"co.krd":true,"edu.krd":true,"*.magentosite.cloud":true,"meteorapp.com":true,"eu.meteorapp.com":true,"co.pl":true,"azurewebsites.net":true,"azure-mobile.net":true,"cloudapp.net":true,"bmoattachments.org":true,"4u.com":true,"ngrok.io":true,"nfshost.com":true,"nsupdate.info":true,"nerdpol.ovh":true,"blogsyte.com":true,"brasilia.me":true,"cable-modem.org":true,"ciscofreak.com":true,"collegefan.org":true,"couchpotatofries.org":true,"damnserver.com":true,"ddns.me":true,"ditchyourip.com":true,"dnsfor.me":true,"dnsiskinky.com":true,"dvrcam.info":true,"dynns.com":true,"eating-organic.net":true,"fantasyleague.cc":true,"geekgalaxy.com":true,"golffan.us":true,"health-carereform.com":true,"homesecuritymac.com":true,"homesecuritypc.com":true,"hopto.me":true,"ilovecollege.info":true,"loginto.me":true,"mlbfan.org":true,"mmafan.biz":true,"myactivedirectory.com":true,"mydissent.net":true,"myeffect.net":true,"mymediapc.net":true,"mypsx.net":true,"mysecuritycamera.com":true,"mysecuritycamera.net":true,"mysecuritycamera.org":true,"net-freaks.com":true,"nflfan.org":true,"nhlfan.net":true,"no-ip.ca":true,"no-ip.co.uk":true,"no-ip.net":true,"noip.us":true,"onthewifi.com":true,"pgafan.net":true,"point2this.com":true,"pointto.us":true,"privatizehealthinsurance.net":true,"quicksytes.com":true,"read-books.org":true,"securitytactics.com":true,"serveexchange.com":true,"servehumour.com":true,"servep2p.com":true,"servesarcasm.com":true,"stufftoread.com":true,"ufcfan.org":true,"unusualperson.com":true,"workisboring.com":true,"3utilities.com":true,"bounceme.net":true,"ddns.net":true,"ddnsking.com":true,"gotdns.ch":true,"hopto.org":true,"myftp.biz":true,"myftp.org":true,"myvnc.com":true,"no-ip.biz":true,"no-ip.info":true,"no-ip.org":true,"noip.me":true,"redirectme.net":true,"servebeer.com":true,"serveblog.net":true,"servecounterstrike.com":true,"serveftp.com":true,"servegame.com":true,"servehalflife.com":true,"servehttp.com":true,"serveirc.com":true,"serveminecraft.net":true,"servemp3.com":true,"servepics.com":true,"servequake.com":true,"sytes.net":true,"webhop.me":true,"zapto.org":true,"nyc.mn":true,"nid.io":true,"opencraft.hosting":true,"operaunite.com":true,"outsystemscloud.com":true,"ownprovider.com":true,"oy.lc":true,"pgfog.com":true,"pagefrontapp.com":true,"art.pl":true,"gliwice.pl":true,"krakow.pl":true,"poznan.pl":true,"wroc.pl":true,"zakopane.pl":true,"pantheonsite.io":true,"gotpantheon.com":true,"mypep.link":true,"xen.prgmr.com":true,"priv.at":true,"protonet.io":true,"chirurgiens-dentistes-en-france.fr":true,"qa2.com":true,"dev-myqnapcloud.com":true,"alpha-myqnapcloud.com":true,"myqnapcloud.com":true,"rackmaze.com":true,"rackmaze.net":true,"rhcloud.com":true,"hzc.io":true,"wellbeingzone.eu":true,"ptplus.fit":true,"wellbeingzone.co.uk":true,"sandcats.io":true,"logoip.de":true,"logoip.com":true,"firewall-gateway.com":true,"firewall-gateway.de":true,"my-gateway.de":true,"my-router.de":true,"spdns.de":true,"spdns.eu":true,"firewall-gateway.net":true,"my-firewall.org":true,"myfirewall.org":true,"spdns.org":true,"biz.ua":true,"co.ua":true,"pp.ua":true,"shiftedit.io":true,"myshopblocks.com":true,"1kapp.com":true,"appchizi.com":true,"applinzi.com":true,"sinaapp.com":true,"vipsinaapp.com":true,"bounty-full.com":true,"alpha.bounty-full.com":true,"beta.bounty-full.com":true,"static.land":true,"dev.static.land":true,"sites.static.land":true,"apps.lair.io":true,"*.stolos.io":true,"spacekit.io":true,"stackspace.space":true,"diskstation.me":true,"dscloud.biz":true,"dscloud.me":true,"dscloud.mobi":true,"dsmynas.com":true,"dsmynas.net":true,"dsmynas.org":true,"familyds.com":true,"familyds.net":true,"familyds.org":true,"i234.me":true,"myds.me":true,"synology.me":true,"taifun-dns.de":true,"gda.pl":true,"gdansk.pl":true,"gdynia.pl":true,"med.pl":true,"sopot.pl":true,"bloxcms.com":true,"townnews-staging.com":true,"*.transurl.be":true,"*.transurl.eu":true,"*.transurl.nl":true,"tuxfamily.org":true,"hk.com":true,"hk.org":true,"ltd.hk":true,"inc.hk":true,"lib.de.us":true,"router.management":true,"wmflabs.org":true,"yolasite.com":true,"za.net":true,"za.org":true,"now.sh":true}); - -// END of automatically generated file diff --git a/publi/node_modules/tough-cookie/lib/store.js b/publi/node_modules/tough-cookie/lib/store.js deleted file mode 100644 index bce5292..0000000 --- a/publi/node_modules/tough-cookie/lib/store.js +++ /dev/null @@ -1,71 +0,0 @@ -/*! - * Copyright (c) 2015, Salesforce.com, Inc. - * 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. - * - * 3. Neither the name of Salesforce.com 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 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. - */ -'use strict'; -/*jshint unused:false */ - -function Store() { -} -exports.Store = Store; - -// Stores may be synchronous, but are still required to use a -// Continuation-Passing Style API. The CookieJar itself will expose a "*Sync" -// API that converts from synchronous-callbacks to imperative style. -Store.prototype.synchronous = false; - -Store.prototype.findCookie = function(domain, path, key, cb) { - throw new Error('findCookie is not implemented'); -}; - -Store.prototype.findCookies = function(domain, path, cb) { - throw new Error('findCookies is not implemented'); -}; - -Store.prototype.putCookie = function(cookie, cb) { - throw new Error('putCookie is not implemented'); -}; - -Store.prototype.updateCookie = function(oldCookie, newCookie, cb) { - // recommended default implementation: - // return this.putCookie(newCookie, cb); - throw new Error('updateCookie is not implemented'); -}; - -Store.prototype.removeCookie = function(domain, path, key, cb) { - throw new Error('removeCookie is not implemented'); -}; - -Store.prototype.removeCookies = function(domain, path, cb) { - throw new Error('removeCookies is not implemented'); -}; - -Store.prototype.getAllCookies = function(cb) { - throw new Error('getAllCookies is not implemented (therefore jar cannot be serialized)'); -}; diff --git a/publi/node_modules/tough-cookie/package.json b/publi/node_modules/tough-cookie/package.json deleted file mode 100644 index 27160ab..0000000 --- a/publi/node_modules/tough-cookie/package.json +++ /dev/null @@ -1,92 +0,0 @@ -{ - "_from": "tough-cookie@~2.3.0", - "_id": "tough-cookie@2.3.3", - "_inBundle": false, - "_integrity": "sha1-C2GKVWW23qkL80JdBNVe3EdadWE=", - "_location": "/tough-cookie", - "_phantomChildren": {}, - "_requested": { - "type": "range", - "registry": true, - "raw": "tough-cookie@~2.3.0", - "name": "tough-cookie", - "escapedName": "tough-cookie", - "rawSpec": "~2.3.0", - "saveSpec": null, - "fetchSpec": "~2.3.0" - }, - "_requiredBy": [ - "/request" - ], - "_resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.3.tgz", - "_shasum": "0b618a5565b6dea90bf3425d04d55edc475a7561", - "_spec": "tough-cookie@~2.3.0", - "_where": "/mnt/Data/bach/Documents/ola/OLA#5/ola5doc/publi/node_modules/request", - "author": { - "name": "Jeremy Stashewsky", - "email": "jstashewsky@salesforce.com" - }, - "bugs": { - "url": "https://github.com/salesforce/tough-cookie/issues" - }, - "bundleDependencies": false, - "contributors": [ - { - "name": "Alexander Savin" - }, - { - "name": "Ian Livingstone" - }, - { - "name": "Ivan Nikulin" - }, - { - "name": "Lalit Kapoor" - }, - { - "name": "Sam Thompson" - }, - { - "name": "Sebastian Mayr" - } - ], - "dependencies": { - "punycode": "^1.4.1" - }, - "deprecated": false, - "description": "RFC6265 Cookies and Cookie Jar for node.js", - "devDependencies": { - "async": "^1.4.2", - "string.prototype.repeat": "^0.2.0", - "vows": "^0.8.1" - }, - "engines": { - "node": ">=0.8" - }, - "files": [ - "lib" - ], - "homepage": "https://github.com/salesforce/tough-cookie", - "keywords": [ - "HTTP", - "cookie", - "cookies", - "set-cookie", - "cookiejar", - "jar", - "RFC6265", - "RFC2965" - ], - "license": "BSD-3-Clause", - "main": "./lib/cookie", - "name": "tough-cookie", - "repository": { - "type": "git", - "url": "git://github.com/salesforce/tough-cookie.git" - }, - "scripts": { - "suffixup": "curl -o public_suffix_list.dat https://publicsuffix.org/list/public_suffix_list.dat && ./generate-pubsuffix.js", - "test": "vows test/*_test.js" - }, - "version": "2.3.3" -} diff --git a/publi/node_modules/trim-newlines/index.js b/publi/node_modules/trim-newlines/index.js deleted file mode 100644 index da31efd..0000000 --- a/publi/node_modules/trim-newlines/index.js +++ /dev/null @@ -1,13 +0,0 @@ -'use strict'; - -var fn = module.exports = function (x) { - return fn.end(fn.start(x)); -}; - -fn.start = function (x) { - return x.replace(/^[\r\n]+/, ''); -}; - -fn.end = function (x) { - return x.replace(/[\r\n]+$/, ''); -}; diff --git a/publi/node_modules/trim-newlines/license b/publi/node_modules/trim-newlines/license deleted file mode 100644 index 654d0bf..0000000 --- a/publi/node_modules/trim-newlines/license +++ /dev/null @@ -1,21 +0,0 @@ -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. diff --git a/publi/node_modules/trim-newlines/package.json b/publi/node_modules/trim-newlines/package.json deleted file mode 100644 index f764f8a..0000000 --- a/publi/node_modules/trim-newlines/package.json +++ /dev/null @@ -1,106 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "trim-newlines@^1.0.0", - "scope": null, - "escapedName": "trim-newlines", - "name": "trim-newlines", - "rawSpec": "^1.0.0", - "spec": ">=1.0.0 <2.0.0", - "type": "range" - }, - "/mnt/Data/bach/Documents/ola/OLA#3DOC/sys/node_modules/meow" - ] - ], - "_from": "trim-newlines@>=1.0.0 <2.0.0", - "_id": "trim-newlines@1.0.0", - "_inCache": true, - "_location": "/trim-newlines", - "_nodeVersion": "4.1.1", - "_npmUser": { - "name": "sindresorhus", - "email": "sindresorhus@gmail.com" - }, - "_npmVersion": "2.14.4", - "_phantomChildren": {}, - "_requested": { - "raw": "trim-newlines@^1.0.0", - "scope": null, - "escapedName": "trim-newlines", - "name": "trim-newlines", - "rawSpec": "^1.0.0", - "spec": ">=1.0.0 <2.0.0", - "type": "range" - }, - "_requiredBy": [ - "/meow" - ], - "_resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", - "_shasum": "5887966bb582a4503a41eb524f7d35011815a613", - "_shrinkwrap": null, - "_spec": "trim-newlines@^1.0.0", - "_where": "/mnt/Data/bach/Documents/ola/OLA#3DOC/sys/node_modules/meow", - "author": { - "name": "Sindre Sorhus", - "email": "sindresorhus@gmail.com", - "url": "sindresorhus.com" - }, - "bugs": { - "url": "https://github.com/sindresorhus/trim-newlines/issues" - }, - "dependencies": {}, - "description": "Trim newlines from the start and/or end of a string", - "devDependencies": { - "ava": "*", - "xo": "*" - }, - "directories": {}, - "dist": { - "shasum": "5887966bb582a4503a41eb524f7d35011815a613", - "tarball": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz" - }, - "engines": { - "node": ">=0.10.0" - }, - "files": [ - "index.js" - ], - "gitHead": "f651a2d4cbf382c2936e6e53edee9316602e4ce7", - "homepage": "https://github.com/sindresorhus/trim-newlines", - "keywords": [ - "trim", - "newline", - "newlines", - "linebreak", - "lf", - "crlf", - "left", - "right", - "start", - "end", - "string", - "str", - "remove", - "delete", - "strip" - ], - "license": "MIT", - "maintainers": [ - { - "name": "sindresorhus", - "email": "sindresorhus@gmail.com" - } - ], - "name": "trim-newlines", - "optionalDependencies": {}, - "readme": "ERROR: No README data found!", - "repository": { - "type": "git", - "url": "git+https://github.com/sindresorhus/trim-newlines.git" - }, - "scripts": { - "test": "xo && ava" - }, - "version": "1.0.0" -} diff --git a/publi/node_modules/trim-newlines/readme.md b/publi/node_modules/trim-newlines/readme.md deleted file mode 100644 index fedb3ca..0000000 --- a/publi/node_modules/trim-newlines/readme.md +++ /dev/null @@ -1,46 +0,0 @@ -# trim-newlines [![Build Status](https://travis-ci.org/sindresorhus/trim-newlines.svg?branch=master)](https://travis-ci.org/sindresorhus/trim-newlines) - -> Trim [newlines](https://en.wikipedia.org/wiki/Newline) from the start and/or end of a string - - -## Install - -``` -$ npm install --save trim-newlines -``` - - -## Usage - -```js -var trimNewlines = require('trim-newlines'); - -trimNewlines('\nunicorn\r\n'); -//=> 'unicorn' -``` - - -## API - -### trimNewlines(input) - -Trim from the start and end of a string. - -### trimNewlines.start(input) - -Trim from the start of a string. - -### trimNewlines.end(input) - -Trim from the end of a string. - - -## Related - -- [trim-left](https://github.com/sindresorhus/trim-left) - Similar to `String#trim()` but removes only whitespace on the left -- [trim-right](https://github.com/sindresorhus/trim-right) - Similar to `String#trim()` but removes only whitespace on the right. - - -## License - -MIT © [Sindre Sorhus](http://sindresorhus.com) diff --git a/publi/node_modules/true-case-path/.npmignore b/publi/node_modules/true-case-path/.npmignore deleted file mode 100644 index d84ebc2..0000000 --- a/publi/node_modules/true-case-path/.npmignore +++ /dev/null @@ -1,9 +0,0 @@ -.DS_Store - -.git/ -.gitignore - -README.md - -node_modules/ -npm-debug.log diff --git a/publi/node_modules/true-case-path/LICENSE b/publi/node_modules/true-case-path/LICENSE deleted file mode 100644 index c0ee812..0000000 --- a/publi/node_modules/true-case-path/LICENSE +++ /dev/null @@ -1,201 +0,0 @@ - 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 {yyyy} {name of copyright owner} - - 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. diff --git a/publi/node_modules/true-case-path/README.md b/publi/node_modules/true-case-path/README.md deleted file mode 100644 index 4b4346b..0000000 --- a/publi/node_modules/true-case-path/README.md +++ /dev/null @@ -1,52 +0,0 @@ -# true-case-path - -## Usage - -`trueCasePathSync()` - -## Description - -Given a possibly case-variant version of an existing filesystem path, returns -the case-exact, normalized version as stored in the filesystem. - -If the input path is a globbing *pattern* as defined by the 'glob' npm -package, only the 1st match, if any, is returned. -Only a literal input path guarantees an unambiguous result. - -If no matching path exists, undefined is returned. -On case-SENSITIVE filesystems, a match will also be found, but if case -variations of a given path exist, it is undefined which match is returned. - -## Platforms - -Windows, OSX, and Linux (though note the limitations with case-insensitive filesystems). - -## Limitations - -- Paths starting with `'./'` are acceptable, but paths starting with `'../'` - are not - when in doubt, resolve with `fs.realPathSync()` first. - An initial `'.'` and *interior* `'..'` instances are normalized, but a relative - input path still results in a relative output path. If you want to ensure - an absolute output path, apply `fs.realPathSync()` to the result. -- On Windows, no attempt is made to case-correct the drive letter or UNC-share - component of the path. -- Unicode support: - - Be sure to use UTF8 source-code files (with a BOM on Windows) - - On OSX, the input path is automatically converted to NFD Unicode form - to match how the filesystem stores names, but note that the result will - invariably be NFD too (which makes no difference for ASCII-characters-only - names). - -## Examples - -``` -const trueCasePathSync = require('true-case-path') - -trueCasePathSync('/users/guest') // OSX: -> '/Users/Guest' - -trueCasePathSync('c:\\users\\all users') // Windows: -> 'c:\Users\All Users' -``` - -## Attribution - -The code for this project was sourced from [http://stackoverflow.com/a/33139702/45375](http://stackoverflow.com/a/33139702/45375) diff --git a/publi/node_modules/true-case-path/index.js b/publi/node_modules/true-case-path/index.js deleted file mode 100644 index e550a87..0000000 --- a/publi/node_modules/true-case-path/index.js +++ /dev/null @@ -1,32 +0,0 @@ -'use strict' - -var glob = require('glob') -var path = require('path') - -function trueCasePathSync(fsPath) { - - // Normalize the path so as to resolve . and .. components. - // !! As of Node v4.1.1, a path starting with ../ is NOT resolved relative - // !! to the current dir, and glob.sync() below then fails. - // !! When in doubt, resolve with fs.realPathSync() *beforehand*. - var fsPathNormalized = path.normalize(fsPath) - - // OSX: HFS+ stores filenames in NFD (decomposed normal form) Unicode format, - // so we must ensure that the input path is in that format first. - if (process.platform === 'darwin') fsPathNormalized = fsPathNormalized.normalize('NFD') - - // !! Windows: Curiously, the drive component mustn't be part of a glob, - // !! otherwise glob.sync() will invariably match nothing. - // !! Thus, we remove the drive component and instead pass it in as the 'cwd' - // !! (working dir.) property below. - var pathRoot = path.parse(fsPathNormalized).root - var noDrivePath = fsPathNormalized.slice(Math.max(pathRoot.length - 1, 0)) - - // Perform case-insensitive globbing (on Windows, relative to the drive / - // network share) and return the 1st match, if any. - // Fortunately, glob() with nocase case-corrects the input even if it is - // a *literal* path. - return glob.sync(noDrivePath, { nocase: true, cwd: pathRoot })[0] -} - -module.exports = trueCasePathSync diff --git a/publi/node_modules/true-case-path/node_modules/glob/LICENSE b/publi/node_modules/true-case-path/node_modules/glob/LICENSE deleted file mode 100644 index 19129e3..0000000 --- a/publi/node_modules/true-case-path/node_modules/glob/LICENSE +++ /dev/null @@ -1,15 +0,0 @@ -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. diff --git a/publi/node_modules/true-case-path/node_modules/glob/README.md b/publi/node_modules/true-case-path/node_modules/glob/README.md deleted file mode 100644 index 6960483..0000000 --- a/publi/node_modules/true-case-path/node_modules/glob/README.md +++ /dev/null @@ -1,359 +0,0 @@ -# Glob - -Match files using the patterns the shell uses, like stars and stuff. - -[![Build Status](https://travis-ci.org/isaacs/node-glob.svg?branch=master)](https://travis-ci.org/isaacs/node-glob/) [![Build Status](https://ci.appveyor.com/api/projects/status/kd7f3yftf7unxlsx?svg=true)](https://ci.appveyor.com/project/isaacs/node-glob) [![Coverage Status](https://coveralls.io/repos/isaacs/node-glob/badge.svg?branch=master&service=github)](https://coveralls.io/github/isaacs/node-glob?branch=master) - -This is a glob implementation in JavaScript. It uses the `minimatch` -library to do its matching. - -![](oh-my-glob.gif) - -## Usage - -```javascript -var glob = require("glob") - -// options is optional -glob("**/*.js", options, function (er, files) { - // files is an array of filenames. - // If the `nonull` option is set, and nothing - // was found, then files is ["**/*.js"] - // er is an error object or null. -}) -``` - -## Glob Primer - -"Globs" are the patterns you type when you do stuff like `ls *.js` on -the command line, or put `build/*` in a `.gitignore` file. - -Before parsing the path part patterns, braced sections are expanded -into a set. Braced sections start with `{` and end with `}`, with any -number of comma-delimited sections within. Braced sections may contain -slash characters, so `a{/b/c,bcd}` would expand into `a/b/c` and `abcd`. - -The following characters have special magic meaning when used in a -path portion: - -* `*` Matches 0 or more characters in a single path portion -* `?` Matches 1 character -* `[...]` Matches a range of characters, similar to a RegExp range. - If the first character of the range is `!` or `^` then it matches - any character not in the range. -* `!(pattern|pattern|pattern)` Matches anything that does not match - any of the patterns provided. -* `?(pattern|pattern|pattern)` Matches zero or one occurrence of the - patterns provided. -* `+(pattern|pattern|pattern)` Matches one or more occurrences of the - patterns provided. -* `*(a|b|c)` Matches zero or more occurrences of the patterns provided -* `@(pattern|pat*|pat?erN)` Matches exactly one of the patterns - provided -* `**` If a "globstar" is alone in a path portion, then it matches - zero or more directories and subdirectories searching for matches. - It does not crawl symlinked directories. - -### Dots - -If a file or directory path portion has a `.` as the first character, -then it will not match any glob pattern unless that pattern's -corresponding path part also has a `.` as its first character. - -For example, the pattern `a/.*/c` would match the file at `a/.b/c`. -However the pattern `a/*/c` would not, because `*` does not start with -a dot character. - -You can make glob treat dots as normal characters by setting -`dot:true` in the options. - -### Basename Matching - -If you set `matchBase:true` in the options, and the pattern has no -slashes in it, then it will seek for any file anywhere in the tree -with a matching basename. For example, `*.js` would match -`test/simple/basic.js`. - -### Empty Sets - -If no matching files are found, then an empty array is returned. This -differs from the shell, where the pattern itself is returned. For -example: - - $ echo a*s*d*f - a*s*d*f - -To get the bash-style behavior, set the `nonull:true` in the options. - -### See Also: - -* `man sh` -* `man bash` (Search for "Pattern Matching") -* `man 3 fnmatch` -* `man 5 gitignore` -* [minimatch documentation](https://github.com/isaacs/minimatch) - -## glob.hasMagic(pattern, [options]) - -Returns `true` if there are any special characters in the pattern, and -`false` otherwise. - -Note that the options affect the results. If `noext:true` is set in -the options object, then `+(a|b)` will not be considered a magic -pattern. If the pattern has a brace expansion, like `a/{b/c,x/y}` -then that is considered magical, unless `nobrace:true` is set in the -options. - -## glob(pattern, [options], cb) - -* `pattern` `{String}` Pattern to be matched -* `options` `{Object}` -* `cb` `{Function}` - * `err` `{Error | null}` - * `matches` `{Array}` filenames found matching the pattern - -Perform an asynchronous glob search. - -## glob.sync(pattern, [options]) - -* `pattern` `{String}` Pattern to be matched -* `options` `{Object}` -* return: `{Array}` filenames found matching the pattern - -Perform a synchronous glob search. - -## Class: glob.Glob - -Create a Glob object by instantiating the `glob.Glob` class. - -```javascript -var Glob = require("glob").Glob -var mg = new Glob(pattern, options, cb) -``` - -It's an EventEmitter, and starts walking the filesystem to find matches -immediately. - -### new glob.Glob(pattern, [options], [cb]) - -* `pattern` `{String}` pattern to search for -* `options` `{Object}` -* `cb` `{Function}` Called when an error occurs, or matches are found - * `err` `{Error | null}` - * `matches` `{Array}` filenames found matching the pattern - -Note that if the `sync` flag is set in the options, then matches will -be immediately available on the `g.found` member. - -### Properties - -* `minimatch` The minimatch object that the glob uses. -* `options` The options object passed in. -* `aborted` Boolean which is set to true when calling `abort()`. There - is no way at this time to continue a glob search after aborting, but - you can re-use the statCache to avoid having to duplicate syscalls. -* `cache` Convenience object. Each field has the following possible - values: - * `false` - Path does not exist - * `true` - Path exists - * `'FILE'` - Path exists, and is not a directory - * `'DIR'` - Path exists, and is a directory - * `[file, entries, ...]` - Path exists, is a directory, and the - array value is the results of `fs.readdir` -* `statCache` Cache of `fs.stat` results, to prevent statting the same - path multiple times. -* `symlinks` A record of which paths are symbolic links, which is - relevant in resolving `**` patterns. -* `realpathCache` An optional object which is passed to `fs.realpath` - to minimize unnecessary syscalls. It is stored on the instantiated - Glob object, and may be re-used. - -### Events - -* `end` When the matching is finished, this is emitted with all the - matches found. If the `nonull` option is set, and no match was found, - then the `matches` list contains the original pattern. The matches - are sorted, unless the `nosort` flag is set. -* `match` Every time a match is found, this is emitted with the specific - thing that matched. It is not deduplicated or resolved to a realpath. -* `error` Emitted when an unexpected error is encountered, or whenever - any fs error occurs if `options.strict` is set. -* `abort` When `abort()` is called, this event is raised. - -### Methods - -* `pause` Temporarily stop the search -* `resume` Resume the search -* `abort` Stop the search forever - -### Options - -All the options that can be passed to Minimatch can also be passed to -Glob to change pattern matching behavior. Also, some have been added, -or have glob-specific ramifications. - -All options are false by default, unless otherwise noted. - -All options are added to the Glob object, as well. - -If you are running many `glob` operations, you can pass a Glob object -as the `options` argument to a subsequent operation to shortcut some -`stat` and `readdir` calls. At the very least, you may pass in shared -`symlinks`, `statCache`, `realpathCache`, and `cache` options, so that -parallel glob operations will be sped up by sharing information about -the filesystem. - -* `cwd` The current working directory in which to search. Defaults - to `process.cwd()`. -* `root` The place where patterns starting with `/` will be mounted - onto. Defaults to `path.resolve(options.cwd, "/")` (`/` on Unix - systems, and `C:\` or some such on Windows.) -* `dot` Include `.dot` files in normal matches and `globstar` matches. - Note that an explicit dot in a portion of the pattern will always - match dot files. -* `nomount` By default, a pattern starting with a forward-slash will be - "mounted" onto the root setting, so that a valid filesystem path is - returned. Set this flag to disable that behavior. -* `mark` Add a `/` character to directory matches. Note that this - requires additional stat calls. -* `nosort` Don't sort the results. -* `stat` Set to true to stat *all* results. This reduces performance - somewhat, and is completely unnecessary, unless `readdir` is presumed - to be an untrustworthy indicator of file existence. -* `silent` When an unusual error is encountered when attempting to - read a directory, a warning will be printed to stderr. Set the - `silent` option to true to suppress these warnings. -* `strict` When an unusual error is encountered when attempting to - read a directory, the process will just continue on in search of - other matches. Set the `strict` option to raise an error in these - cases. -* `cache` See `cache` property above. Pass in a previously generated - cache object to save some fs calls. -* `statCache` A cache of results of filesystem information, to prevent - unnecessary stat calls. While it should not normally be necessary - to set this, you may pass the statCache from one glob() call to the - options object of another, if you know that the filesystem will not - change between calls. (See "Race Conditions" below.) -* `symlinks` A cache of known symbolic links. You may pass in a - previously generated `symlinks` object to save `lstat` calls when - resolving `**` matches. -* `sync` DEPRECATED: use `glob.sync(pattern, opts)` instead. -* `nounique` In some cases, brace-expanded patterns can result in the - same file showing up multiple times in the result set. By default, - this implementation prevents duplicates in the result set. Set this - flag to disable that behavior. -* `nonull` Set to never return an empty set, instead returning a set - containing the pattern itself. This is the default in glob(3). -* `debug` Set to enable debug logging in minimatch and glob. -* `nobrace` Do not expand `{a,b}` and `{1..3}` brace sets. -* `noglobstar` Do not match `**` against multiple filenames. (Ie, - treat it as a normal `*` instead.) -* `noext` Do not match `+(a|b)` "extglob" patterns. -* `nocase` Perform a case-insensitive match. Note: on - case-insensitive filesystems, non-magic patterns will match by - default, since `stat` and `readdir` will not raise errors. -* `matchBase` Perform a basename-only match if the pattern does not - contain any slash characters. That is, `*.js` would be treated as - equivalent to `**/*.js`, matching all js files in all directories. -* `nodir` Do not match directories, only files. (Note: to match - *only* directories, simply put a `/` at the end of the pattern.) -* `ignore` Add a pattern or an array of glob patterns to exclude matches. - Note: `ignore` patterns are *always* in `dot:true` mode, regardless - of any other settings. -* `follow` Follow symlinked directories when expanding `**` patterns. - Note that this can result in a lot of duplicate references in the - presence of cyclic links. -* `realpath` Set to true to call `fs.realpath` on all of the results. - In the case of a symlink that cannot be resolved, the full absolute - path to the matched entry is returned (though it will usually be a - broken symlink) - -## Comparisons to other fnmatch/glob implementations - -While strict compliance with the existing standards is a worthwhile -goal, some discrepancies exist between node-glob and other -implementations, and are intentional. - -The double-star character `**` is supported by default, unless the -`noglobstar` flag is set. This is supported in the manner of bsdglob -and bash 4.3, where `**` only has special significance if it is the only -thing in a path part. That is, `a/**/b` will match `a/x/y/b`, but -`a/**b` will not. - -Note that symlinked directories are not crawled as part of a `**`, -though their contents may match against subsequent portions of the -pattern. This prevents infinite loops and duplicates and the like. - -If an escaped pattern has no matches, and the `nonull` flag is set, -then glob returns the pattern as-provided, rather than -interpreting the character escapes. For example, -`glob.match([], "\\*a\\?")` will return `"\\*a\\?"` rather than -`"*a?"`. This is akin to setting the `nullglob` option in bash, except -that it does not resolve escaped pattern characters. - -If brace expansion is not disabled, then it is performed before any -other interpretation of the glob pattern. Thus, a pattern like -`+(a|{b),c)}`, which would not be valid in bash or zsh, is expanded -**first** into the set of `+(a|b)` and `+(a|c)`, and those patterns are -checked for validity. Since those two are valid, matching proceeds. - -### Comments and Negation - -Previously, this module let you mark a pattern as a "comment" if it -started with a `#` character, or a "negated" pattern if it started -with a `!` character. - -These options were deprecated in version 5, and removed in version 6. - -To specify things that should not match, use the `ignore` option. - -## Windows - -**Please only use forward-slashes in glob expressions.** - -Though windows uses either `/` or `\` as its path separator, only `/` -characters are used by this glob implementation. You must use -forward-slashes **only** in glob expressions. Back-slashes will always -be interpreted as escape characters, not path separators. - -Results from absolute patterns such as `/foo/*` are mounted onto the -root setting using `path.join`. On windows, this will by default result -in `/foo/*` matching `C:\foo\bar.txt`. - -## Race Conditions - -Glob searching, by its very nature, is susceptible to race conditions, -since it relies on directory walking and such. - -As a result, it is possible that a file that exists when glob looks for -it may have been deleted or modified by the time it returns the result. - -As part of its internal implementation, this program caches all stat -and readdir calls that it makes, in order to cut down on system -overhead. However, this also makes it even more susceptible to races, -especially if the cache or statCache objects are reused between glob -calls. - -Users are thus advised not to use a glob result as a guarantee of -filesystem state in the face of rapid changes. For the vast majority -of operations, this is never a problem. - -## Contributing - -Any change to behavior (including bugfixes) must come with a test. - -Patches that fail tests or reduce performance will be rejected. - -``` -# to run tests -npm test - -# to re-generate test fixtures -npm run test-regen - -# to benchmark against bash/zsh -npm run bench - -# to profile javascript -npm run prof -``` diff --git a/publi/node_modules/true-case-path/node_modules/glob/common.js b/publi/node_modules/true-case-path/node_modules/glob/common.js deleted file mode 100644 index c9127eb..0000000 --- a/publi/node_modules/true-case-path/node_modules/glob/common.js +++ /dev/null @@ -1,226 +0,0 @@ -exports.alphasort = alphasort -exports.alphasorti = alphasorti -exports.setopts = setopts -exports.ownProp = ownProp -exports.makeAbs = makeAbs -exports.finish = finish -exports.mark = mark -exports.isIgnored = isIgnored -exports.childrenIgnored = childrenIgnored - -function ownProp (obj, field) { - return Object.prototype.hasOwnProperty.call(obj, field) -} - -var path = require("path") -var minimatch = require("minimatch") -var isAbsolute = require("path-is-absolute") -var Minimatch = minimatch.Minimatch - -function alphasorti (a, b) { - return a.toLowerCase().localeCompare(b.toLowerCase()) -} - -function alphasort (a, b) { - return a.localeCompare(b) -} - -function setupIgnores (self, options) { - self.ignore = options.ignore || [] - - if (!Array.isArray(self.ignore)) - self.ignore = [self.ignore] - - if (self.ignore.length) { - self.ignore = self.ignore.map(ignoreMap) - } -} - -// ignore patterns are always in dot:true mode. -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: gmatcher - } -} - -function setopts (self, pattern, options) { - if (!options) - options = {} - - // base-matching: just use globstar for that. - if (options.matchBase && -1 === pattern.indexOf("/")) { - if (options.noglobstar) { - throw new Error("base matching requires globstar") - } - pattern = "**/" + pattern - } - - self.silent = !!options.silent - self.pattern = pattern - self.strict = options.strict !== false - self.realpath = !!options.realpath - self.realpathCache = options.realpathCache || Object.create(null) - self.follow = !!options.follow - self.dot = !!options.dot - self.mark = !!options.mark - self.nodir = !!options.nodir - if (self.nodir) - self.mark = true - self.sync = !!options.sync - self.nounique = !!options.nounique - self.nonull = !!options.nonull - self.nosort = !!options.nosort - self.nocase = !!options.nocase - self.stat = !!options.stat - self.noprocess = !!options.noprocess - - self.maxLength = options.maxLength || Infinity - self.cache = options.cache || Object.create(null) - self.statCache = options.statCache || Object.create(null) - self.symlinks = options.symlinks || Object.create(null) - - setupIgnores(self, options) - - self.changedCwd = false - var cwd = process.cwd() - if (!ownProp(options, "cwd")) - self.cwd = cwd - else { - self.cwd = options.cwd - self.changedCwd = path.resolve(options.cwd) !== cwd - } - - self.root = options.root || path.resolve(self.cwd, "/") - self.root = path.resolve(self.root) - if (process.platform === "win32") - self.root = self.root.replace(/\\/g, "/") - - self.nomount = !!options.nomount - - // disable comments and negation in Minimatch. - // Note that they are not supported in Glob itself anyway. - options.nonegate = true - options.nocomment = true - - self.minimatch = new Minimatch(pattern, options) - self.options = self.minimatch.options -} - -function finish (self) { - var nou = self.nounique - var all = nou ? [] : Object.create(null) - - for (var i = 0, l = self.matches.length; i < l; i ++) { - var matches = self.matches[i] - if (!matches || Object.keys(matches).length === 0) { - if (self.nonull) { - // do like the shell, and spit out the literal glob - var literal = self.minimatch.globSet[i] - if (nou) - all.push(literal) - else - all[literal] = true - } - } else { - // had matches - var m = Object.keys(matches) - if (nou) - all.push.apply(all, m) - else - m.forEach(function (m) { - all[m] = true - }) - } - } - - if (!nou) - all = Object.keys(all) - - if (!self.nosort) - all = all.sort(self.nocase ? alphasorti : alphasort) - - // at *some* point we statted all of these - if (self.mark) { - for (var i = 0; i < all.length; i++) { - all[i] = self._mark(all[i]) - } - if (self.nodir) { - all = all.filter(function (e) { - return !(/\/$/.test(e)) - }) - } - } - - if (self.ignore.length) - all = all.filter(function(m) { - return !isIgnored(self, m) - }) - - self.found = all -} - -function mark (self, p) { - var abs = makeAbs(self, p) - var c = self.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(self, m) - self.statCache[mabs] = self.statCache[abs] - self.cache[mabs] = self.cache[abs] - } - } - - return m -} - -// lotta situps... -function makeAbs (self, f) { - var abs = f - if (f.charAt(0) === '/') { - abs = path.join(self.root, f) - } else if (isAbsolute(f) || f === '') { - abs = f - } else if (self.changedCwd) { - abs = path.resolve(self.cwd, f) - } else { - abs = path.resolve(f) - } - return abs -} - - -// Return true, if pattern ends with globstar '**', for the accompanying parent directory. -// Ex:- If node_modules/** is the pattern, add 'node_modules' to ignore list along with it's contents -function isIgnored (self, path) { - if (!self.ignore.length) - return false - - return self.ignore.some(function(item) { - return item.matcher.match(path) || !!(item.gmatcher && item.gmatcher.match(path)) - }) -} - -function childrenIgnored (self, path) { - if (!self.ignore.length) - return false - - return self.ignore.some(function(item) { - return !!(item.gmatcher && item.gmatcher.match(path)) - }) -} diff --git a/publi/node_modules/true-case-path/node_modules/glob/glob.js b/publi/node_modules/true-case-path/node_modules/glob/glob.js deleted file mode 100644 index a62da27..0000000 --- a/publi/node_modules/true-case-path/node_modules/glob/glob.js +++ /dev/null @@ -1,765 +0,0 @@ -// Approach: -// -// 1. Get the minimatch set -// 2. For each pattern in the set, PROCESS(pattern, false) -// 3. Store matches per-set, then uniq them -// -// PROCESS(pattern, inGlobStar) -// Get the first [n] items from pattern that are all strings -// Join these together. This is PREFIX. -// If there is no more remaining, then stat(PREFIX) and -// add to matches if it succeeds. END. -// -// If inGlobStar and PREFIX is symlink and points to dir -// set ENTRIES = [] -// else readdir(PREFIX) as ENTRIES -// If fail, END -// -// with ENTRIES -// If pattern[n] is GLOBSTAR -// // handle the case where the globstar match is empty -// // by pruning it out, and testing the resulting pattern -// PROCESS(pattern[0..n] + pattern[n+1 .. $], false) -// // handle other cases. -// for ENTRY in ENTRIES (not dotfiles) -// // attach globstar + tail onto the entry -// // Mark that this entry is a globstar match -// PROCESS(pattern[0..n] + ENTRY + pattern[n .. $], true) -// -// else // not globstar -// for ENTRY in ENTRIES (not dotfiles, unless pattern[n] is dot) -// Test ENTRY against pattern[n] -// If fails, continue -// If passes, PROCESS(pattern[0..n] + item + pattern[n+1 .. $]) -// -// Caveat: -// Cache all stats and readdirs results to minimize syscall. Since all -// we ever care about is existence and directory-ness, we can just keep -// `true` for files, and [children,...] for directories, or `false` for -// things that don't exist. - -module.exports = glob - -var fs = require('fs') -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('./sync.js') -var common = require('./common.js') -var alphasort = common.alphasort -var alphasorti = common.alphasorti -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 - -// old api surface -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 (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 - - // process each pattern in the minimatch set - var n = this.minimatch.set.length - - // The matches are stored as {: true,...} so that - // duplicates are automagically pruned. - // Later, we do an Object.keys() on these. - // Keep them as a list so we can fill in when nonull is set. - 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 self = this - var n = this.minimatch.set.length - this._processing = 0 - this.matches = new Array(n) - - this._emitQueue = [] - this._processQueue = [] - this.paused = false - - if (this.noprocess) - return this - - if (n === 0) - return done() - - for (var i = 0; i < n; i ++) { - this._process(this.minimatch.set[i], i, false, done) - } - - function done () { - --self._processing - if (self._processing <= 0) - self._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 self = this - for (var i = 0; i < this.matches.length; i++) - this._realpathSet(i, next) - - function next () { - if (--n === 0) - self._finish() - } -} - -Glob.prototype._realpathSet = function (index, cb) { - var matchset = this.matches[index] - if (!matchset) - return cb() - - var found = Object.keys(matchset) - var self = this - var n = found.length - - if (n === 0) - return cb() - - var set = this.matches[index] = Object.create(null) - found.forEach(function (p, i) { - // If there's a problem with the stat, then it means that - // one or more of the links in the realpath couldn't be - // resolved. just return the abs value in that case. - p = self._makeAbs(p) - fs.realpath(p, self.realpathCache, function (er, real) { - if (!er) - set[real] = true - else if (er.syscall === 'stat') - set[p] = true - else - self.emit('error', er) // srsly wtf right here - - if (--n === 0) { - self.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 - } - - //console.error('PROCESS %d', this._processing, pattern) - - // Get the first [n] parts of pattern that are all strings. - var n = 0 - while (typeof pattern[n] === 'string') { - n ++ - } - // now n is the index of the first one that is *not* a string. - - // see if there's anything else - var prefix - switch (n) { - // if not, then this is rather simple - case pattern.length: - this._processSimple(pattern.join('/'), index, cb) - return - - case 0: - // pattern *starts* with some non-trivial item. - // going to readdir(cwd), but not include the prefix in matches. - prefix = null - break - - default: - // pattern has some string bits in the front. - // whatever it starts with, whether that's 'absolute' like /foo/bar, - // or 'relative' like '../baz' - prefix = pattern.slice(0, n).join('/') - break - } - - var remain = pattern.slice(n) - - // get the list of entries. - 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 ignored, skip _processing - 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 self = this - this._readdir(abs, inGlobStar, function (er, entries) { - return self._processReaddir2(prefix, read, abs, remain, index, inGlobStar, entries, cb) - }) -} - -Glob.prototype._processReaddir2 = function (prefix, read, abs, remain, index, inGlobStar, entries, cb) { - - // if the abs isn't a dir, then nothing can match! - if (!entries) - return cb() - - // It will only match dot entries if it starts with a dot, or if - // dot is set. Stuff like @(.foo|.bar) isn't allowed. - 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) - } - } - - //console.error('prd2', prefix, entries, remain[0]._glob, matchedEntries) - - var len = matchedEntries.length - // If there are no matched entries, then nothing matches. - if (len === 0) - return cb() - - // if this is the last remaining pattern bit, then no need for - // an additional stat *unless* the user has specified mark or - // stat explicitly. We know they exist, since readdir returned - // them. - - if (remain.length === 1 && !this.mark && !this.stat) { - if (!this.matches[index]) - this.matches[index] = 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) - } - // This was the last one, and no stats were needed - return cb() - } - - // now test all matched entries as stand-ins for that part - // of the pattern. - 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 (this.matches[index][e]) - return - - if (isIgnored(this, e)) - return - - if (this.paused) { - this._emitQueue.push([index, e]) - return - } - - var abs = this._makeAbs(e) - - if (this.nodir) { - var c = this.cache[abs] - if (c === 'DIR' || Array.isArray(c)) - return - } - - if (this.mark) - e = this._mark(e) - - 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 - - // follow all symlinked directories forever - // just proceed as if this is a non-globstar situation - if (this.follow) - return this._readdir(abs, false, cb) - - var lstatkey = 'lstat\0' + abs - var self = this - var lstatcb = inflight(lstatkey, lstatcb_) - - if (lstatcb) - fs.lstat(abs, lstatcb) - - function lstatcb_ (er, lstat) { - if (er) - return cb() - - var isSym = lstat.isSymbolicLink() - self.symlinks[abs] = isSym - - // If it's not a symlink or a dir, then it's definitely a regular file. - // don't bother doing a readdir in that case. - if (!isSym && !lstat.isDirectory()) { - self.cache[abs] = 'FILE' - cb() - } else - self._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 - - //console.error('RD %j %j', +inGlobStar, abs) - 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 self = this - fs.readdir(abs, readdirCb(this, abs, cb)) -} - -function readdirCb (self, abs, cb) { - return function (er, entries) { - if (er) - self._readdirError(abs, er, cb) - else - self._readdirEntries(abs, entries, cb) - } -} - -Glob.prototype._readdirEntries = function (abs, entries, cb) { - if (this.aborted) - return - - // if we haven't asked to stat everything, then just - // assume that everything in there exists, so we can avoid - // having to stat it a second time. - 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 - - // handle errors, and cache the information - switch (er.code) { - case 'ENOTSUP': // https://github.com/isaacs/node-glob/issues/205 - case 'ENOTDIR': // totally normal. means it *does* exist. - this.cache[this._makeAbs(f)] = 'FILE' - break - - case 'ENOENT': // not terribly unusual - case 'ELOOP': - case 'ENAMETOOLONG': - case 'UNKNOWN': - this.cache[this._makeAbs(f)] = false - break - - default: // some unusual error. Treat as failure. - this.cache[this._makeAbs(f)] = false - if (this.strict) { - this.emit('error', er) - // If the error is handled, then we abort - // if not, we threw out of here - 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 self = this - this._readdir(abs, inGlobStar, function (er, entries) { - self._processGlobStar2(prefix, read, abs, remain, index, inGlobStar, entries, cb) - }) -} - - -Glob.prototype._processGlobStar2 = function (prefix, read, abs, remain, index, inGlobStar, entries, cb) { - //console.error('pgs2', prefix, remain[0], entries) - - // no entries means not a dir, so it can never have matches - // foo.txt/** doesn't match foo.txt - if (!entries) - return cb() - - // test without the globstar, and with every child both below - // and replacing the globstar. - var remainWithoutGlobStar = remain.slice(1) - var gspref = prefix ? [ prefix ] : [] - var noGlobStar = gspref.concat(remainWithoutGlobStar) - - // the noGlobStar pattern exits the inGlobStar state - this._process(noGlobStar, index, false, cb) - - var isSym = this.symlinks[abs] - var len = entries.length - - // If it's a symlink, and we're in a globstar, then stop - if (isSym && inGlobStar) - return cb() - - for (var i = 0; i < len; i++) { - var e = entries[i] - if (e.charAt(0) === '.' && !this.dot) - continue - - // these two cases enter the inGlobStar state - 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) { - // XXX review this. Shouldn't it be doing the mounting etc - // before doing stat? kinda weird? - var self = this - this._stat(prefix, function (er, exists) { - self._processSimple2(prefix, index, er, exists, cb) - }) -} -Glob.prototype._processSimple2 = function (prefix, index, er, exists, cb) { - - //console.error('ps2', prefix, exists) - - if (!this.matches[index]) - this.matches[index] = Object.create(null) - - // If it doesn't exist, then just mark the lack of results - 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, '/') - - // Mark this as a match - this._emitMatch(index, prefix) - cb() -} - -// Returns either 'DIR', 'FILE', or false -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' - - // It exists, but maybe not how we need it - if (!needDir || c === 'DIR') - return cb(null, c) - - if (needDir && c === 'FILE') - return cb() - - // otherwise we have to stat, because maybe c=true - // if we know it exists, but not what it is. - } - - var exists - var stat = this.statCache[abs] - if (stat !== undefined) { - 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 self = this - var statcb = inflight('stat\0' + abs, lstatcb_) - if (statcb) - fs.lstat(abs, statcb) - - function lstatcb_ (er, lstat) { - if (lstat && lstat.isSymbolicLink()) { - // If it's a symlink, then treat it as the target, unless - // the target does not exist, then treat it as a file. - return fs.stat(abs, function (er, stat) { - if (er) - self._stat2(f, abs, null, lstat, cb) - else - self._stat2(f, abs, er, stat, cb) - }) - } else { - self._stat2(f, abs, er, lstat, cb) - } - } -} - -Glob.prototype._stat2 = function (f, abs, er, stat, cb) { - if (er) { - this.statCache[abs] = false - return cb() - } - - var needDir = f.slice(-1) === '/' - this.statCache[abs] = stat - - if (abs.slice(-1) === '/' && !stat.isDirectory()) - return cb(null, false, stat) - - var c = stat.isDirectory() ? 'DIR' : 'FILE' - this.cache[abs] = this.cache[abs] || c - - if (needDir && c !== 'DIR') - return cb() - - return cb(null, c, stat) -} diff --git a/publi/node_modules/true-case-path/node_modules/glob/package.json b/publi/node_modules/true-case-path/node_modules/glob/package.json deleted file mode 100644 index 2a95c87..0000000 --- a/publi/node_modules/true-case-path/node_modules/glob/package.json +++ /dev/null @@ -1,75 +0,0 @@ -{ - "_from": "glob@^6.0.4", - "_id": "glob@6.0.4", - "_inBundle": false, - "_integrity": "sha1-DwiGD2oVUSey+t1PnOJLGqtuTSI=", - "_location": "/true-case-path/glob", - "_phantomChildren": {}, - "_requested": { - "type": "range", - "registry": true, - "raw": "glob@^6.0.4", - "name": "glob", - "escapedName": "glob", - "rawSpec": "^6.0.4", - "saveSpec": null, - "fetchSpec": "^6.0.4" - }, - "_requiredBy": [ - "/true-case-path" - ], - "_resolved": "https://registry.npmjs.org/glob/-/glob-6.0.4.tgz", - "_shasum": "0f08860f6a155127b2fadd4f9ce24b1aab6e4d22", - "_spec": "glob@^6.0.4", - "_where": "/mnt/Data/bach/Documents/ola/OLA#5/ola5doc/publi/node_modules/true-case-path", - "author": { - "name": "Isaac Z. Schlueter", - "email": "i@izs.me", - "url": "http://blog.izs.me/" - }, - "bugs": { - "url": "https://github.com/isaacs/node-glob/issues" - }, - "bundleDependencies": false, - "dependencies": { - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "2 || 3", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "deprecated": false, - "description": "a little globber", - "devDependencies": { - "mkdirp": "0", - "rimraf": "^2.2.8", - "tap": "^5.0.0", - "tick": "0.0.6" - }, - "engines": { - "node": "*" - }, - "files": [ - "glob.js", - "sync.js", - "common.js" - ], - "homepage": "https://github.com/isaacs/node-glob#readme", - "license": "ISC", - "main": "glob.js", - "name": "glob", - "repository": { - "type": "git", - "url": "git://github.com/isaacs/node-glob.git" - }, - "scripts": { - "bench": "bash benchmark.sh", - "benchclean": "node benchclean.js", - "prepublish": "npm run benchclean", - "prof": "bash prof.sh && cat profile.txt", - "profclean": "rm -f v8.log profile.txt", - "test": "tap test/*.js --cov", - "test-regen": "npm run profclean && TEST_REGEN=1 node test/00-setup.js" - }, - "version": "6.0.4" -} diff --git a/publi/node_modules/true-case-path/node_modules/glob/sync.js b/publi/node_modules/true-case-path/node_modules/glob/sync.js deleted file mode 100644 index 09883d2..0000000 --- a/publi/node_modules/true-case-path/node_modules/glob/sync.js +++ /dev/null @@ -1,460 +0,0 @@ -module.exports = globSync -globSync.GlobSync = GlobSync - -var fs = require('fs') -var minimatch = require('minimatch') -var Minimatch = minimatch.Minimatch -var Glob = require('./glob.js').Glob -var util = require('util') -var path = require('path') -var assert = require('assert') -var isAbsolute = require('path-is-absolute') -var common = require('./common.js') -var alphasort = common.alphasort -var alphasorti = common.alphasorti -var setopts = common.setopts -var ownProp = common.ownProp -var childrenIgnored = common.childrenIgnored - -function globSync (pattern, options) { - if (typeof options === 'function' || arguments.length === 3) - throw new TypeError('callback provided to sync glob\n'+ - 'See: 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\n'+ - 'See: 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 self = this - this.matches.forEach(function (matchset, index) { - var set = self.matches[index] = Object.create(null) - for (var p in matchset) { - try { - p = self._makeAbs(p) - var real = fs.realpathSync(p, self.realpathCache) - set[real] = true - } catch (er) { - if (er.syscall === 'stat') - set[self._makeAbs(p)] = true - else - throw er - } - } - }) - } - common.finish(this) -} - - -GlobSync.prototype._process = function (pattern, index, inGlobStar) { - assert(this instanceof GlobSync) - - // Get the first [n] parts of pattern that are all strings. - var n = 0 - while (typeof pattern[n] === 'string') { - n ++ - } - // now n is the index of the first one that is *not* a string. - - // See if there's anything else - var prefix - switch (n) { - // if not, then this is rather simple - case pattern.length: - this._processSimple(pattern.join('/'), index) - return - - case 0: - // pattern *starts* with some non-trivial item. - // going to readdir(cwd), but not include the prefix in matches. - prefix = null - break - - default: - // pattern has some string bits in the front. - // whatever it starts with, whether that's 'absolute' like /foo/bar, - // or 'relative' like '../baz' - prefix = pattern.slice(0, n).join('/') - break - } - - var remain = pattern.slice(n) - - // get the list of entries. - 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 ignored, skip processing - 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 the abs isn't a dir, then nothing can match! - if (!entries) - return - - // It will only match dot entries if it starts with a dot, or if - // dot is set. Stuff like @(.foo|.bar) isn't allowed. - 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 there are no matched entries, then nothing matches. - if (len === 0) - return - - // if this is the last remaining pattern bit, then no need for - // an additional stat *unless* the user has specified mark or - // stat explicitly. We know they exist, since readdir returned - // them. - - if (remain.length === 1 && !this.mark && !this.stat) { - if (!this.matches[index]) - this.matches[index] = 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.matches[index][e] = true - } - // This was the last one, and no stats were needed - return - } - - // now test all matched entries as stand-ins for that part - // of the pattern. - 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) { - var abs = this._makeAbs(e) - if (this.mark) - e = this._mark(e) - - if (this.matches[index][e]) - return - - if (this.nodir) { - var c = this.cache[this._makeAbs(e)] - if (c === 'DIR' || Array.isArray(c)) - return - } - - this.matches[index][e] = true - if (this.stat) - this._stat(e) -} - - -GlobSync.prototype._readdirInGlobStar = function (abs) { - // follow all symlinked directories forever - // just proceed as if this is a non-globstar situation - if (this.follow) - return this._readdir(abs, false) - - var entries - var lstat - var stat - try { - lstat = fs.lstatSync(abs) - } catch (er) { - // lstat failed, doesn't exist - return null - } - - var isSym = lstat.isSymbolicLink() - this.symlinks[abs] = isSym - - // If it's not a symlink or a dir, then it's definitely a regular file. - // don't bother doing a readdir in that case. - if (!isSym && !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, fs.readdirSync(abs)) - } catch (er) { - this._readdirError(abs, er) - return null - } -} - -GlobSync.prototype._readdirEntries = function (abs, entries) { - // if we haven't asked to stat everything, then just - // assume that everything in there exists, so we can avoid - // having to stat it a second time. - 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 - - // mark and cache dir-ness - return entries -} - -GlobSync.prototype._readdirError = function (f, er) { - // handle errors, and cache the information - switch (er.code) { - case 'ENOTSUP': // https://github.com/isaacs/node-glob/issues/205 - case 'ENOTDIR': // totally normal. means it *does* exist. - this.cache[this._makeAbs(f)] = 'FILE' - break - - case 'ENOENT': // not terribly unusual - case 'ELOOP': - case 'ENAMETOOLONG': - case 'UNKNOWN': - this.cache[this._makeAbs(f)] = false - break - - default: // some unusual error. Treat as failure. - 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) - - // no entries means not a dir, so it can never have matches - // foo.txt/** doesn't match foo.txt - if (!entries) - return - - // test without the globstar, and with every child both below - // and replacing the globstar. - var remainWithoutGlobStar = remain.slice(1) - var gspref = prefix ? [ prefix ] : [] - var noGlobStar = gspref.concat(remainWithoutGlobStar) - - // the noGlobStar pattern exits the inGlobStar state - this._process(noGlobStar, index, false) - - var len = entries.length - var isSym = this.symlinks[abs] - - // If it's a symlink, and we're in a globstar, then stop - if (isSym && inGlobStar) - return - - for (var i = 0; i < len; i++) { - var e = entries[i] - if (e.charAt(0) === '.' && !this.dot) - continue - - // these two cases enter the inGlobStar state - 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) { - // XXX review this. Shouldn't it be doing the mounting etc - // before doing stat? kinda weird? - var exists = this._stat(prefix) - - if (!this.matches[index]) - this.matches[index] = Object.create(null) - - // If it doesn't exist, then just mark the lack of results - 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, '/') - - // Mark this as a match - this.matches[index][prefix] = true -} - -// Returns either 'DIR', 'FILE', or false -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' - - // It exists, but maybe not how we need it - if (!needDir || c === 'DIR') - return c - - if (needDir && c === 'FILE') - return false - - // otherwise we have to stat, because maybe c=true - // if we know it exists, but not what it is. - } - - var exists - var stat = this.statCache[abs] - if (!stat) { - var lstat - try { - lstat = fs.lstatSync(abs) - } catch (er) { - return false - } - - if (lstat.isSymbolicLink()) { - try { - stat = fs.statSync(abs) - } catch (er) { - stat = lstat - } - } else { - stat = lstat - } - } - - this.statCache[abs] = stat - - var c = stat.isDirectory() ? 'DIR' : 'FILE' - this.cache[abs] = this.cache[abs] || c - - if (needDir && c !== 'DIR') - return false - - return c -} - -GlobSync.prototype._mark = function (p) { - return common.mark(this, p) -} - -GlobSync.prototype._makeAbs = function (f) { - return common.makeAbs(this, f) -} diff --git a/publi/node_modules/true-case-path/package.json b/publi/node_modules/true-case-path/package.json deleted file mode 100644 index ce94914..0000000 --- a/publi/node_modules/true-case-path/package.json +++ /dev/null @@ -1,62 +0,0 @@ -{ - "_from": "true-case-path@^1.0.2", - "_id": "true-case-path@1.0.2", - "_inBundle": false, - "_integrity": "sha1-fskRMJJHZsf1c74wIMNPj9/QDWI=", - "_location": "/true-case-path", - "_phantomChildren": { - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "2.0.10", - "once": "1.3.3", - "path-is-absolute": "1.0.1" - }, - "_requested": { - "type": "range", - "registry": true, - "raw": "true-case-path@^1.0.2", - "name": "true-case-path", - "escapedName": "true-case-path", - "rawSpec": "^1.0.2", - "saveSpec": null, - "fetchSpec": "^1.0.2" - }, - "_requiredBy": [ - "/node-sass" - ], - "_resolved": "https://registry.npmjs.org/true-case-path/-/true-case-path-1.0.2.tgz", - "_shasum": "7ec91130924766c7f573be3020c34f8fdfd00d62", - "_spec": "true-case-path@^1.0.2", - "_where": "/mnt/Data/bach/Documents/ola/OLA#5/ola5doc/publi/node_modules/node-sass", - "author": { - "name": "barsh" - }, - "bugs": { - "url": "https://github.com/barsh/true-case-path/issues" - }, - "bundleDependencies": false, - "contributors": [ - { - "name": "Michael Klement", - "email": "mklement0@gmail.com", - "url": "https://github.com/mklement0" - } - ], - "dependencies": { - "glob": "^6.0.4" - }, - "deprecated": false, - "description": "Given a possibly case-variant version of an existing filesystem path, returns the case-exact, normalized version as stored in the filesystem.", - "homepage": "https://github.com/barsh/true-case-path#readme", - "license": "Apache version 2.0", - "main": "index.js", - "name": "true-case-path", - "repository": { - "type": "git", - "url": "git+https://github.com/barsh/true-case-path.git" - }, - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - }, - "version": "1.0.2" -} diff --git a/publi/node_modules/tryit/README.md b/publi/node_modules/tryit/README.md deleted file mode 100644 index 8041884..0000000 --- a/publi/node_modules/tryit/README.md +++ /dev/null @@ -1,56 +0,0 @@ -# tryit - -Tiny module wrapping try/catch in JavaScript. - -It's *literally 11 lines of code*, [just read it](tryit.js) that's all the documentation you'll need. - - -## install - -``` -npm install tryit -``` - -## usage - -What you'd normally do: -```js -try { - dangerousThing(); -} catch (e) { - console.log('something'); -} -``` - -With try-it (all it does is wrap try-catch) -```js -var tryit = require('tryit'); - -tryit(dangerousThing); -``` - -You can also handle the error by passing a second function -```js -tryit(dangerousThing, function (e) { - if (e) { - console.log('do something'); - } -}) -``` - -The second function follows error-first pattern common in node. So if you pass a callback it gets called in both cases. But will have an error as the first argument if it fails. - -## WHAT? WHY DO THIS!? - -Primary motivation is having a clean way to wrap things that might fail, where I don't care if it fails. I just want to try it. - -This includes stuff like blindly reading/parsing stuff from localStorage in the browser. If it's not there or if parsing it fails, that's fine. But I don't want to leave a bunch of empty `catch (e) {}` blocks in the code. - -Obviously, this is useful any time you're going to attempt to read some unknown data structure. - -In addition, my understanding is that it's hard for JS engines to optimize code in try blocks. By actually passing the code to be executed into a re-used try block, we can avoid having to have more than a single try block in our app. Again, this is not a primary motivation, just a potential side benefit. - - -## license - -[MIT](http://mit.joreteg.com/) diff --git a/publi/node_modules/tryit/package.json b/publi/node_modules/tryit/package.json deleted file mode 100644 index 1a3952f..0000000 --- a/publi/node_modules/tryit/package.json +++ /dev/null @@ -1,95 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "tryit@^1.0.1", - "scope": null, - "escapedName": "tryit", - "name": "tryit", - "rawSpec": "^1.0.1", - "spec": ">=1.0.1 <2.0.0", - "type": "range" - }, - "/mnt/Data/bach/Documents/ola/OLA#3DOC/sys/node_modules/gulp-wrap" - ] - ], - "_from": "tryit@>=1.0.1 <2.0.0", - "_id": "tryit@1.0.3", - "_inCache": true, - "_location": "/tryit", - "_nodeVersion": "6.8.1", - "_npmOperationalInternal": { - "host": "packages-12-west.internal.npmjs.com", - "tmp": "tmp/tryit-1.0.3.tgz_1477606530482_0.8131801665294915" - }, - "_npmUser": { - "name": "henrikjoreteg", - "email": "henrik@joreteg.com" - }, - "_npmVersion": "3.10.8", - "_phantomChildren": {}, - "_requested": { - "raw": "tryit@^1.0.1", - "scope": null, - "escapedName": "tryit", - "name": "tryit", - "rawSpec": "^1.0.1", - "spec": ">=1.0.1 <2.0.0", - "type": "range" - }, - "_requiredBy": [ - "/gulp-wrap" - ], - "_resolved": "https://registry.npmjs.org/tryit/-/tryit-1.0.3.tgz", - "_shasum": "393be730a9446fd1ead6da59a014308f36c289cb", - "_shrinkwrap": null, - "_spec": "tryit@^1.0.1", - "_where": "/mnt/Data/bach/Documents/ola/OLA#3DOC/sys/node_modules/gulp-wrap", - "author": { - "name": "Henrik Joreteg", - "email": "henrik@andyet.net" - }, - "bugs": { - "url": "https://github.com/HenrikJoreteg/tryit/issues" - }, - "dependencies": {}, - "description": "Module to wrap try-catch for better performance and cleaner API.", - "devDependencies": { - "tap-spec": "^2.1.2", - "tape": "^3.0.3" - }, - "directories": {}, - "dist": { - "shasum": "393be730a9446fd1ead6da59a014308f36c289cb", - "tarball": "https://registry.npmjs.org/tryit/-/tryit-1.0.3.tgz" - }, - "files": [ - "tryit.js" - ], - "gitHead": "706147151922a456988a641b08984b2d1fcf2a86", - "homepage": "https://github.com/HenrikJoreteg/tryit#readme", - "keywords": [ - "errors", - "try", - "errorhandling" - ], - "license": "MIT", - "main": "tryit.js", - "maintainers": [ - { - "name": "henrikjoreteg", - "email": "henrik@andyet.net" - } - ], - "name": "tryit", - "optionalDependencies": {}, - "readme": "ERROR: No README data found!", - "repository": { - "type": "git", - "url": "git+ssh://git@github.com/HenrikJoreteg/tryit.git" - }, - "scripts": { - "test": "node test/test.js | tap-spec" - }, - "version": "1.0.3" -} diff --git a/publi/node_modules/tryit/tryit.js b/publi/node_modules/tryit/tryit.js deleted file mode 100644 index 98a5700..0000000 --- a/publi/node_modules/tryit/tryit.js +++ /dev/null @@ -1,14 +0,0 @@ -// tryit -// Simple, re-usuable try-catch, this is a performance optimization -// and provides a cleaner API. -module.exports = function (fn, cb) { - var err; - - try { - fn(); - } catch (e) { - err = e; - } - - if (cb) cb(err || null); -}; diff --git a/publi/node_modules/tunnel-agent/LICENSE b/publi/node_modules/tunnel-agent/LICENSE deleted file mode 100644 index a4a9aee..0000000 --- a/publi/node_modules/tunnel-agent/LICENSE +++ /dev/null @@ -1,55 +0,0 @@ -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 \ No newline at end of file diff --git a/publi/node_modules/tunnel-agent/README.md b/publi/node_modules/tunnel-agent/README.md deleted file mode 100644 index bb533d5..0000000 --- a/publi/node_modules/tunnel-agent/README.md +++ /dev/null @@ -1,4 +0,0 @@ -tunnel-agent -============ - -HTTP proxy tunneling agent. Formerly part of mikeal/request, now a standalone module. diff --git a/publi/node_modules/tunnel-agent/index.js b/publi/node_modules/tunnel-agent/index.js deleted file mode 100644 index 68013ac..0000000 --- a/publi/node_modules/tunnel-agent/index.js +++ /dev/null @@ -1,243 +0,0 @@ -'use strict' - -var net = require('net') - , tls = require('tls') - , http = require('http') - , https = require('https') - , events = require('events') - , assert = require('assert') - , util = require('util') - ; - -exports.httpOverHttp = httpOverHttp -exports.httpsOverHttp = httpsOverHttp -exports.httpOverHttps = httpOverHttps -exports.httpsOverHttps = httpsOverHttps - - -function httpOverHttp(options) { - var agent = new TunnelingAgent(options) - agent.request = http.request - return agent -} - -function httpsOverHttp(options) { - var agent = new TunnelingAgent(options) - agent.request = http.request - agent.createSocket = createSecureSocket - agent.defaultPort = 443 - return agent -} - -function httpOverHttps(options) { - var agent = new TunnelingAgent(options) - agent.request = https.request - return agent -} - -function httpsOverHttps(options) { - var agent = new TunnelingAgent(options) - agent.request = https.request - agent.createSocket = createSecureSocket - agent.defaultPort = 443 - return agent -} - - -function TunnelingAgent(options) { - var self = this - self.options = options || {} - self.proxyOptions = self.options.proxy || {} - self.maxSockets = self.options.maxSockets || http.Agent.defaultMaxSockets - self.requests = [] - self.sockets = [] - - self.on('free', function onFree(socket, host, port) { - for (var i = 0, len = self.requests.length; i < len; ++i) { - var pending = self.requests[i] - if (pending.host === host && pending.port === port) { - // Detect the request to connect same origin server, - // reuse the connection. - self.requests.splice(i, 1) - pending.request.onSocket(socket) - return - } - } - socket.destroy() - self.removeSocket(socket) - }) -} -util.inherits(TunnelingAgent, events.EventEmitter) - -TunnelingAgent.prototype.addRequest = function addRequest(req, options) { - var self = this - - // Legacy API: addRequest(req, host, port, path) - if (typeof options === 'string') { - options = { - host: options, - port: arguments[2], - path: arguments[3] - }; - } - - if (self.sockets.length >= this.maxSockets) { - // We are over limit so we'll add it to the queue. - self.requests.push({host: options.host, port: options.port, request: req}) - return - } - - // If we are under maxSockets create a new one. - self.createConnection({host: options.host, port: options.port, request: req}) -} - -TunnelingAgent.prototype.createConnection = function createConnection(pending) { - var self = this - - self.createSocket(pending, function(socket) { - socket.on('free', onFree) - socket.on('close', onCloseOrRemove) - socket.on('agentRemove', onCloseOrRemove) - pending.request.onSocket(socket) - - function onFree() { - self.emit('free', socket, pending.host, pending.port) - } - - function onCloseOrRemove(err) { - self.removeSocket(socket) - socket.removeListener('free', onFree) - socket.removeListener('close', onCloseOrRemove) - socket.removeListener('agentRemove', onCloseOrRemove) - } - }) -} - -TunnelingAgent.prototype.createSocket = function createSocket(options, cb) { - var self = this - var placeholder = {} - self.sockets.push(placeholder) - - var connectOptions = mergeOptions({}, self.proxyOptions, - { method: 'CONNECT' - , path: options.host + ':' + options.port - , agent: false - } - ) - if (connectOptions.proxyAuth) { - connectOptions.headers = connectOptions.headers || {} - connectOptions.headers['Proxy-Authorization'] = 'Basic ' + - new Buffer(connectOptions.proxyAuth).toString('base64') - } - - debug('making CONNECT request') - var connectReq = self.request(connectOptions) - connectReq.useChunkedEncodingByDefault = false // for v0.6 - connectReq.once('response', onResponse) // for v0.6 - connectReq.once('upgrade', onUpgrade) // for v0.6 - connectReq.once('connect', onConnect) // for v0.7 or later - connectReq.once('error', onError) - connectReq.end() - - function onResponse(res) { - // Very hacky. This is necessary to avoid http-parser leaks. - res.upgrade = true - } - - function onUpgrade(res, socket, head) { - // Hacky. - process.nextTick(function() { - onConnect(res, socket, head) - }) - } - - function onConnect(res, socket, head) { - connectReq.removeAllListeners() - socket.removeAllListeners() - - if (res.statusCode === 200) { - assert.equal(head.length, 0) - debug('tunneling connection has established') - self.sockets[self.sockets.indexOf(placeholder)] = socket - cb(socket) - } else { - debug('tunneling socket could not be established, statusCode=%d', res.statusCode) - var error = new Error('tunneling socket could not be established, ' + 'statusCode=' + res.statusCode) - error.code = 'ECONNRESET' - options.request.emit('error', error) - self.removeSocket(placeholder) - } - } - - function onError(cause) { - connectReq.removeAllListeners() - - debug('tunneling socket could not be established, cause=%s\n', cause.message, cause.stack) - var error = new Error('tunneling socket could not be established, ' + 'cause=' + cause.message) - error.code = 'ECONNRESET' - options.request.emit('error', error) - self.removeSocket(placeholder) - } -} - -TunnelingAgent.prototype.removeSocket = function removeSocket(socket) { - var pos = this.sockets.indexOf(socket) - if (pos === -1) return - - this.sockets.splice(pos, 1) - - var pending = this.requests.shift() - if (pending) { - // If we have pending requests and a socket gets closed a new one - // needs to be created to take over in the pool for the one that closed. - this.createConnection(pending) - } -} - -function createSecureSocket(options, cb) { - var self = this - TunnelingAgent.prototype.createSocket.call(self, options, function(socket) { - // 0 is dummy port for v0.6 - var secureSocket = tls.connect(0, mergeOptions({}, self.options, - { servername: options.host - , socket: socket - } - )) - self.sockets[self.sockets.indexOf(socket)] = secureSocket - cb(secureSocket) - }) -} - - -function mergeOptions(target) { - for (var i = 1, len = arguments.length; i < len; ++i) { - var overrides = arguments[i] - if (typeof overrides === 'object') { - var keys = Object.keys(overrides) - for (var j = 0, keyLen = keys.length; j < keyLen; ++j) { - var k = keys[j] - if (overrides[k] !== undefined) { - target[k] = overrides[k] - } - } - } - } - return target -} - - -var debug -if (process.env.NODE_DEBUG && /\btunnel\b/.test(process.env.NODE_DEBUG)) { - debug = function() { - var args = Array.prototype.slice.call(arguments) - if (typeof args[0] === 'string') { - args[0] = 'TUNNEL: ' + args[0] - } else { - args.unshift('TUNNEL:') - } - console.error.apply(console, args) - } -} else { - debug = function() {} -} -exports.debug = debug // for test diff --git a/publi/node_modules/tunnel-agent/package.json b/publi/node_modules/tunnel-agent/package.json deleted file mode 100644 index f225f1b..0000000 --- a/publi/node_modules/tunnel-agent/package.json +++ /dev/null @@ -1,53 +0,0 @@ -{ - "_from": "tunnel-agent@~0.4.1", - "_id": "tunnel-agent@0.4.3", - "_inBundle": false, - "_integrity": "sha1-Y3PbdpCf5XDgjXNYM2Xtgop07us=", - "_location": "/tunnel-agent", - "_phantomChildren": {}, - "_requested": { - "type": "range", - "registry": true, - "raw": "tunnel-agent@~0.4.1", - "name": "tunnel-agent", - "escapedName": "tunnel-agent", - "rawSpec": "~0.4.1", - "saveSpec": null, - "fetchSpec": "~0.4.1" - }, - "_requiredBy": [ - "/request" - ], - "_resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.3.tgz", - "_shasum": "6373db76909fe570e08d73583365ed828a74eeeb", - "_spec": "tunnel-agent@~0.4.1", - "_where": "/mnt/Data/bach/Documents/ola/OLA#5/ola5doc/publi/node_modules/request", - "author": { - "name": "Mikeal Rogers", - "email": "mikeal.rogers@gmail.com", - "url": "http://www.futurealoof.com" - }, - "bugs": { - "url": "https://github.com/mikeal/tunnel-agent/issues" - }, - "bundleDependencies": false, - "dependencies": {}, - "deprecated": false, - "description": "HTTP proxy tunneling agent. Formerly part of mikeal/request, now a standalone module.", - "devDependencies": {}, - "engines": { - "node": "*" - }, - "files": [ - "index.js" - ], - "homepage": "https://github.com/mikeal/tunnel-agent#readme", - "license": "Apache-2.0", - "main": "index.js", - "name": "tunnel-agent", - "optionalDependencies": {}, - "repository": { - "url": "git+https://github.com/mikeal/tunnel-agent.git" - }, - "version": "0.4.3" -} diff --git a/publi/node_modules/tweetnacl/.npmignore b/publi/node_modules/tweetnacl/.npmignore deleted file mode 100644 index 7d98dcb..0000000 --- a/publi/node_modules/tweetnacl/.npmignore +++ /dev/null @@ -1,4 +0,0 @@ -.eslintrc -.travis.yml -bower.json -test diff --git a/publi/node_modules/tweetnacl/AUTHORS.md b/publi/node_modules/tweetnacl/AUTHORS.md deleted file mode 100644 index 6d74d40..0000000 --- a/publi/node_modules/tweetnacl/AUTHORS.md +++ /dev/null @@ -1,28 +0,0 @@ -List of TweetNaCl.js authors -============================ - - Alphabetical order by first name. - Format: Name (GitHub username or URL) - -* AndSDev (@AndSDev) -* Devi Mandiri (@devi) -* Dmitry Chestnykh (@dchest) - -List of authors of third-party public domain code from which TweetNaCl.js code was derived -========================================================================================== - -[TweetNaCl](http://tweetnacl.cr.yp.to/) --------------------------------------- - -* Bernard van Gastel -* Daniel J. Bernstein -* Peter Schwabe -* Sjaak Smetsers -* Tanja Lange -* Wesley Janssen - - -[Poly1305-donna](https://github.com/floodyberry/poly1305-donna) --------------------------------------------------------------- - -* Andrew Moon (@floodyberry) diff --git a/publi/node_modules/tweetnacl/CHANGELOG.md b/publi/node_modules/tweetnacl/CHANGELOG.md deleted file mode 100644 index 92a4fdc..0000000 --- a/publi/node_modules/tweetnacl/CHANGELOG.md +++ /dev/null @@ -1,221 +0,0 @@ -TweetNaCl.js Changelog -====================== - - -v0.14.5 -------- - -* Fixed incomplete return types in TypeScript typings. -* Replaced COPYING.txt with LICENSE file, which now has public domain dedication - text from The Unlicense. License fields in package.json and bower.json have - been set to "Unlicense". The project was and will be in the public domain -- - this change just makes it easier for automated tools to know about this fact by - using the widely recognized and SPDX-compatible template for public domain - dedication. - - -v0.14.4 -------- - -* Added TypeScript type definitions (contributed by @AndSDev). -* Improved benchmarking code. - - -v0.14.3 -------- - -Fixed a bug in the fast version of Poly1305 and brought it back. - -Thanks to @floodyberry for promptly responding and fixing the original C code: - -> "The issue was not properly detecting if st->h was >= 2^130 - 5, coupled with -> [testing mistake] not catching the failure. The chance of the bug affecting -> anything in the real world is essentially zero luckily, but it's good to have -> it fixed." - -https://github.com/floodyberry/poly1305-donna/issues/2#issuecomment-202698577 - - -v0.14.2 -------- - -Switched Poly1305 fast version back to original (slow) version due to a bug. - - -v0.14.1 -------- - -No code changes, just tweaked packaging and added COPYING.txt. - - -v0.14.0 -------- - -* **Breaking change!** All functions from `nacl.util` have been removed. These - functions are no longer available: - - nacl.util.decodeUTF8 - nacl.util.encodeUTF8 - nacl.util.decodeBase64 - nacl.util.encodeBase64 - - If want to continue using them, you can include - package: - - - - - or - - var nacl = require('tweetnacl'); - nacl.util = require('tweetnacl-util'); - - However it is recommended to use better packages that have wider - compatibility and better performance. Functions from `nacl.util` were never - intended to be robust solution for string conversion and were included for - convenience: cryptography library is not the right place for them. - - Currently calling these functions will throw error pointing to - `tweetnacl-util-js` (in the next version this error message will be removed). - -* Improved detection of available random number generators, making it possible - to use `nacl.randomBytes` and related functions in Web Workers without - changes. - -* Changes to testing (see README). - - -v0.13.3 -------- - -No code changes. - -* Reverted license field in package.json to "Public domain". - -* Fixed typo in README. - - -v0.13.2 -------- - -* Fixed undefined variable bug in fast version of Poly1305. No worries, this - bug was *never* triggered. - -* Specified CC0 public domain dedication. - -* Updated development dependencies. - - -v0.13.1 -------- - -* Exclude `crypto` and `buffer` modules from browserify builds. - - -v0.13.0 -------- - -* Made `nacl-fast` the default version in NPM package. Now - `require("tweetnacl")` will use fast version; to get the original version, - use `require("tweetnacl/nacl.js")`. - -* Cleanup temporary array after generating random bytes. - - -v0.12.2 -------- - -* Improved performance of curve operations, making `nacl.scalarMult`, `nacl.box`, - `nacl.sign` and related functions up to 3x faster in `nacl-fast` version. - - -v0.12.1 -------- - -* Significantly improved performance of Salsa20 (~1.5x faster) and - Poly1305 (~3.5x faster) in `nacl-fast` version. - - -v0.12.0 -------- - -* Instead of using the given secret key directly, TweetNaCl.js now copies it to - a new array in `nacl.box.keyPair.fromSecretKey` and - `nacl.sign.keyPair.fromSecretKey`. - - -v0.11.2 -------- - -* Added new constant: `nacl.sign.seedLength`. - - -v0.11.1 -------- - -* Even faster hash for both short and long inputs (in `nacl-fast`). - - -v0.11.0 -------- - -* Implement `nacl.sign.keyPair.fromSeed` to enable creation of sign key pairs - deterministically from a 32-byte seed. (It behaves like - [libsodium's](http://doc.libsodium.org/public-key_cryptography/public-key_signatures.html) - `crypto_sign_seed_keypair`: the seed becomes a secret part of the secret key.) - -* Fast version now has an improved hash implementation that is 2x-5x faster. - -* Fixed benchmarks, which may have produced incorrect measurements. - - -v0.10.1 -------- - -* Exported undocumented `nacl.lowlevel.crypto_core_hsalsa20`. - - -v0.10.0 -------- - -* **Signature API breaking change!** `nacl.sign` and `nacl.sign.open` now deal - with signed messages, and new `nacl.sign.detached` and - `nacl.sign.detached.verify` are available. - - Previously, `nacl.sign` returned a signature, and `nacl.sign.open` accepted a - message and "detached" signature. This was unlike NaCl's API, which dealt with - signed messages (concatenation of signature and message). - - The new API is: - - nacl.sign(message, secretKey) -> signedMessage - nacl.sign.open(signedMessage, publicKey) -> message | null - - Since detached signatures are common, two new API functions were introduced: - - nacl.sign.detached(message, secretKey) -> signature - nacl.sign.detached.verify(message, signature, publicKey) -> true | false - - (Note that it's `verify`, not `open`, and it returns a boolean value, unlike - `open`, which returns an "unsigned" message.) - -* NPM package now comes without `test` directory to keep it small. - - -v0.9.2 ------- - -* Improved documentation. -* Fast version: increased theoretical message size limit from 2^32-1 to 2^52 - bytes in Poly1305 (and thus, secretbox and box). However this has no impact - in practice since JavaScript arrays or ArrayBuffers are limited to 32-bit - indexes, and most implementations won't allocate more than a gigabyte or so. - (Obviously, there are no tests for the correctness of implementation.) Also, - it's not recommended to use messages that large without splitting them into - smaller packets anyway. - - -v0.9.1 ------- - -* Initial release diff --git a/publi/node_modules/tweetnacl/LICENSE b/publi/node_modules/tweetnacl/LICENSE deleted file mode 100644 index cf1ab25..0000000 --- a/publi/node_modules/tweetnacl/LICENSE +++ /dev/null @@ -1,24 +0,0 @@ -This is free and unencumbered software released into the public domain. - -Anyone is free to copy, modify, publish, use, compile, sell, or -distribute this software, either in source code form or as a compiled -binary, for any purpose, commercial or non-commercial, and by any -means. - -In jurisdictions that recognize copyright laws, the author or authors -of this software dedicate any and all copyright interest in the -software to the public domain. We make this dedication for the benefit -of the public at large and to the detriment of our heirs and -successors. We intend this dedication to be an overt act of -relinquishment in perpetuity of all present and future rights to this -software under copyright law. - -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 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. - -For more information, please refer to diff --git a/publi/node_modules/tweetnacl/PULL_REQUEST_TEMPLATE.md b/publi/node_modules/tweetnacl/PULL_REQUEST_TEMPLATE.md deleted file mode 100644 index a8eb4a9..0000000 --- a/publi/node_modules/tweetnacl/PULL_REQUEST_TEMPLATE.md +++ /dev/null @@ -1,20 +0,0 @@ -# Important! - -If your contribution is not trivial (not a typo fix, etc.), we can only accept -it if you dedicate your copyright for the contribution to the public domain. -Make sure you understand what it means (see http://unlicense.org/)! If you -agree, please add yourself to AUTHORS.md file, and include the following text -to your pull request description or a comment in it: - ------------------------------------------------------------------------------- - - I dedicate any and all copyright interest in this software to the - public domain. I make this dedication for the benefit of the public at - large and to the detriment of my heirs and successors. I intend this - dedication to be an overt act of relinquishment in perpetuity of all - present and future rights to this software under copyright law. - - Anyone is free to copy, modify, publish, use, compile, sell, or - distribute this software, either in source code form or as a compiled - binary, for any purpose, commercial or non-commercial, and by any - means. diff --git a/publi/node_modules/tweetnacl/README.md b/publi/node_modules/tweetnacl/README.md deleted file mode 100644 index ffb6871..0000000 --- a/publi/node_modules/tweetnacl/README.md +++ /dev/null @@ -1,459 +0,0 @@ -TweetNaCl.js -============ - -Port of [TweetNaCl](http://tweetnacl.cr.yp.to) / [NaCl](http://nacl.cr.yp.to/) -to JavaScript for modern browsers and Node.js. Public domain. - -[![Build Status](https://travis-ci.org/dchest/tweetnacl-js.svg?branch=master) -](https://travis-ci.org/dchest/tweetnacl-js) - -Demo: - -**:warning: The library is stable and API is frozen, however it has not been -independently reviewed. If you can help reviewing it, please [contact -me](mailto:dmitry@codingrobots.com).** - -Documentation -============= - -* [Overview](#overview) -* [Installation](#installation) -* [Usage](#usage) - * [Public-key authenticated encryption (box)](#public-key-authenticated-encryption-box) - * [Secret-key authenticated encryption (secretbox)](#secret-key-authenticated-encryption-secretbox) - * [Scalar multiplication](#scalar-multiplication) - * [Signatures](#signatures) - * [Hashing](#hashing) - * [Random bytes generation](#random-bytes-generation) - * [Constant-time comparison](#constant-time-comparison) -* [System requirements](#system-requirements) -* [Development and testing](#development-and-testing) -* [Benchmarks](#benchmarks) -* [Contributors](#contributors) -* [Who uses it](#who-uses-it) - - -Overview --------- - -The primary goal of this project is to produce a translation of TweetNaCl to -JavaScript which is as close as possible to the original C implementation, plus -a thin layer of idiomatic high-level API on top of it. - -There are two versions, you can use either of them: - -* `nacl.js` is the port of TweetNaCl with minimum differences from the - original + high-level API. - -* `nacl-fast.js` is like `nacl.js`, but with some functions replaced with - faster versions. - - -Installation ------------- - -You can install TweetNaCl.js via a package manager: - -[Bower](http://bower.io): - - $ bower install tweetnacl - -[NPM](https://www.npmjs.org/): - - $ npm install tweetnacl - -or [download source code](https://github.com/dchest/tweetnacl-js/releases). - - -Usage ------ - -All API functions accept and return bytes as `Uint8Array`s. If you need to -encode or decode strings, use functions from - or one of the more robust codec -packages. - -In Node.js v4 and later `Buffer` objects are backed by `Uint8Array`s, so you -can freely pass them to TweetNaCl.js functions as arguments. The returned -objects are still `Uint8Array`s, so if you need `Buffer`s, you'll have to -convert them manually; make sure to convert using copying: `new Buffer(array)`, -instead of sharing: `new Buffer(array.buffer)`, because some functions return -subarrays of their buffers. - - -### Public-key authenticated encryption (box) - -Implements *curve25519-xsalsa20-poly1305*. - -#### nacl.box.keyPair() - -Generates a new random key pair for box and returns it as an object with -`publicKey` and `secretKey` members: - - { - publicKey: ..., // Uint8Array with 32-byte public key - secretKey: ... // Uint8Array with 32-byte secret key - } - - -#### nacl.box.keyPair.fromSecretKey(secretKey) - -Returns a key pair for box with public key corresponding to the given secret -key. - -#### nacl.box(message, nonce, theirPublicKey, mySecretKey) - -Encrypt and authenticates message using peer's public key, our secret key, and -the given nonce, which must be unique for each distinct message for a key pair. - -Returns an encrypted and authenticated message, which is -`nacl.box.overheadLength` longer than the original message. - -#### nacl.box.open(box, nonce, theirPublicKey, mySecretKey) - -Authenticates and decrypts the given box with peer's public key, our secret -key, and the given nonce. - -Returns the original message, or `false` if authentication fails. - -#### nacl.box.before(theirPublicKey, mySecretKey) - -Returns a precomputed shared key which can be used in `nacl.box.after` and -`nacl.box.open.after`. - -#### nacl.box.after(message, nonce, sharedKey) - -Same as `nacl.box`, but uses a shared key precomputed with `nacl.box.before`. - -#### nacl.box.open.after(box, nonce, sharedKey) - -Same as `nacl.box.open`, but uses a shared key precomputed with `nacl.box.before`. - -#### nacl.box.publicKeyLength = 32 - -Length of public key in bytes. - -#### nacl.box.secretKeyLength = 32 - -Length of secret key in bytes. - -#### nacl.box.sharedKeyLength = 32 - -Length of precomputed shared key in bytes. - -#### nacl.box.nonceLength = 24 - -Length of nonce in bytes. - -#### nacl.box.overheadLength = 16 - -Length of overhead added to box compared to original message. - - -### Secret-key authenticated encryption (secretbox) - -Implements *xsalsa20-poly1305*. - -#### nacl.secretbox(message, nonce, key) - -Encrypt and authenticates message using the key and the nonce. The nonce must -be unique for each distinct message for this key. - -Returns an encrypted and authenticated message, which is -`nacl.secretbox.overheadLength` longer than the original message. - -#### nacl.secretbox.open(box, nonce, key) - -Authenticates and decrypts the given secret box using the key and the nonce. - -Returns the original message, or `false` if authentication fails. - -#### nacl.secretbox.keyLength = 32 - -Length of key in bytes. - -#### nacl.secretbox.nonceLength = 24 - -Length of nonce in bytes. - -#### nacl.secretbox.overheadLength = 16 - -Length of overhead added to secret box compared to original message. - - -### Scalar multiplication - -Implements *curve25519*. - -#### nacl.scalarMult(n, p) - -Multiplies an integer `n` by a group element `p` and returns the resulting -group element. - -#### nacl.scalarMult.base(n) - -Multiplies an integer `n` by a standard group element and returns the resulting -group element. - -#### nacl.scalarMult.scalarLength = 32 - -Length of scalar in bytes. - -#### nacl.scalarMult.groupElementLength = 32 - -Length of group element in bytes. - - -### Signatures - -Implements [ed25519](http://ed25519.cr.yp.to). - -#### nacl.sign.keyPair() - -Generates new random key pair for signing and returns it as an object with -`publicKey` and `secretKey` members: - - { - publicKey: ..., // Uint8Array with 32-byte public key - secretKey: ... // Uint8Array with 64-byte secret key - } - -#### nacl.sign.keyPair.fromSecretKey(secretKey) - -Returns a signing key pair with public key corresponding to the given -64-byte secret key. The secret key must have been generated by -`nacl.sign.keyPair` or `nacl.sign.keyPair.fromSeed`. - -#### nacl.sign.keyPair.fromSeed(seed) - -Returns a new signing key pair generated deterministically from a 32-byte seed. -The seed must contain enough entropy to be secure. This method is not -recommended for general use: instead, use `nacl.sign.keyPair` to generate a new -key pair from a random seed. - -#### nacl.sign(message, secretKey) - -Signs the message using the secret key and returns a signed message. - -#### nacl.sign.open(signedMessage, publicKey) - -Verifies the signed message and returns the message without signature. - -Returns `null` if verification failed. - -#### nacl.sign.detached(message, secretKey) - -Signs the message using the secret key and returns a signature. - -#### nacl.sign.detached.verify(message, signature, publicKey) - -Verifies the signature for the message and returns `true` if verification -succeeded or `false` if it failed. - -#### nacl.sign.publicKeyLength = 32 - -Length of signing public key in bytes. - -#### nacl.sign.secretKeyLength = 64 - -Length of signing secret key in bytes. - -#### nacl.sign.seedLength = 32 - -Length of seed for `nacl.sign.keyPair.fromSeed` in bytes. - -#### nacl.sign.signatureLength = 64 - -Length of signature in bytes. - - -### Hashing - -Implements *SHA-512*. - -#### nacl.hash(message) - -Returns SHA-512 hash of the message. - -#### nacl.hash.hashLength = 64 - -Length of hash in bytes. - - -### Random bytes generation - -#### nacl.randomBytes(length) - -Returns a `Uint8Array` of the given length containing random bytes of -cryptographic quality. - -**Implementation note** - -TweetNaCl.js uses the following methods to generate random bytes, -depending on the platform it runs on: - -* `window.crypto.getRandomValues` (WebCrypto standard) -* `window.msCrypto.getRandomValues` (Internet Explorer 11) -* `crypto.randomBytes` (Node.js) - -If the platform doesn't provide a suitable PRNG, the following functions, -which require random numbers, will throw exception: - -* `nacl.randomBytes` -* `nacl.box.keyPair` -* `nacl.sign.keyPair` - -Other functions are deterministic and will continue working. - -If a platform you are targeting doesn't implement secure random number -generator, but you somehow have a cryptographically-strong source of entropy -(not `Math.random`!), and you know what you are doing, you can plug it into -TweetNaCl.js like this: - - nacl.setPRNG(function(x, n) { - // ... copy n random bytes into x ... - }); - -Note that `nacl.setPRNG` *completely replaces* internal random byte generator -with the one provided. - - -### Constant-time comparison - -#### nacl.verify(x, y) - -Compares `x` and `y` in constant time and returns `true` if their lengths are -non-zero and equal, and their contents are equal. - -Returns `false` if either of the arguments has zero length, or arguments have -different lengths, or their contents differ. - - -System requirements -------------------- - -TweetNaCl.js supports modern browsers that have a cryptographically secure -pseudorandom number generator and typed arrays, including the latest versions -of: - -* Chrome -* Firefox -* Safari (Mac, iOS) -* Internet Explorer 11 - -Other systems: - -* Node.js - - -Development and testing ------------------------- - -Install NPM modules needed for development: - - $ npm install - -To build minified versions: - - $ npm run build - -Tests use minified version, so make sure to rebuild it every time you change -`nacl.js` or `nacl-fast.js`. - -### Testing - -To run tests in Node.js: - - $ npm run test-node - -By default all tests described here work on `nacl.min.js`. To test other -versions, set environment variable `NACL_SRC` to the file name you want to test. -For example, the following command will test fast minified version: - - $ NACL_SRC=nacl-fast.min.js npm run test-node - -To run full suite of tests in Node.js, including comparing outputs of -JavaScript port to outputs of the original C version: - - $ npm run test-node-all - -To prepare tests for browsers: - - $ npm run build-test-browser - -and then open `test/browser/test.html` (or `test/browser/test-fast.html`) to -run them. - -To run headless browser tests with `tape-run` (powered by Electron): - - $ npm run test-browser - -(If you get `Error: spawn ENOENT`, install *xvfb*: `sudo apt-get install xvfb`.) - -To run tests in both Node and Electron: - - $ npm test - -### Benchmarking - -To run benchmarks in Node.js: - - $ npm run bench - $ NACL_SRC=nacl-fast.min.js npm run bench - -To run benchmarks in a browser, open `test/benchmark/bench.html` (or -`test/benchmark/bench-fast.html`). - - -Benchmarks ----------- - -For reference, here are benchmarks from MacBook Pro (Retina, 13-inch, Mid 2014) -laptop with 2.6 GHz Intel Core i5 CPU (Intel) in Chrome 53/OS X and Xiaomi Redmi -Note 3 smartphone with 1.8 GHz Qualcomm Snapdragon 650 64-bit CPU (ARM) in -Chrome 52/Android: - -| | nacl.js Intel | nacl-fast.js Intel | nacl.js ARM | nacl-fast.js ARM | -| ------------- |:-------------:|:-------------------:|:-------------:|:-----------------:| -| salsa20 | 1.3 MB/s | 128 MB/s | 0.4 MB/s | 43 MB/s | -| poly1305 | 13 MB/s | 171 MB/s | 4 MB/s | 52 MB/s | -| hash | 4 MB/s | 34 MB/s | 0.9 MB/s | 12 MB/s | -| secretbox 1K | 1113 op/s | 57583 op/s | 334 op/s | 14227 op/s | -| box 1K | 145 op/s | 718 op/s | 37 op/s | 368 op/s | -| scalarMult | 171 op/s | 733 op/s | 56 op/s | 380 op/s | -| sign | 77 op/s | 200 op/s | 20 op/s | 61 op/s | -| sign.open | 39 op/s | 102 op/s | 11 op/s | 31 op/s | - -(You can run benchmarks on your devices by clicking on the links at the bottom -of the [home page](https://tweetnacl.js.org)). - -In short, with *nacl-fast.js* and 1024-byte messages you can expect to encrypt and -authenticate more than 57000 messages per second on a typical laptop or more than -14000 messages per second on a $170 smartphone, sign about 200 and verify 100 -messages per second on a laptop or 60 and 30 messages per second on a smartphone, -per CPU core (with Web Workers you can do these operations in parallel), -which is good enough for most applications. - - -Contributors ------------- - -See AUTHORS.md file. - - -Third-party libraries based on TweetNaCl.js -------------------------------------------- - -* [forward-secrecy](https://github.com/alax/forward-secrecy) — Axolotl ratchet implementation -* [nacl-stream](https://github.com/dchest/nacl-stream-js) - streaming encryption -* [tweetnacl-auth-js](https://github.com/dchest/tweetnacl-auth-js) — implementation of [`crypto_auth`](http://nacl.cr.yp.to/auth.html) -* [chloride](https://github.com/dominictarr/chloride) - unified API for various NaCl modules - - -Who uses it ------------ - -Some notable users of TweetNaCl.js: - -* [miniLock](http://minilock.io/) -* [Stellar](https://www.stellar.org/) diff --git a/publi/node_modules/tweetnacl/nacl-fast.js b/publi/node_modules/tweetnacl/nacl-fast.js deleted file mode 100644 index 5e4562f..0000000 --- a/publi/node_modules/tweetnacl/nacl-fast.js +++ /dev/null @@ -1,2388 +0,0 @@ -(function(nacl) { -'use strict'; - -// Ported in 2014 by Dmitry Chestnykh and Devi Mandiri. -// Public domain. -// -// Implementation derived from TweetNaCl version 20140427. -// See for details: http://tweetnacl.cr.yp.to/ - -var gf = function(init) { - var i, r = new Float64Array(16); - if (init) for (i = 0; i < init.length; i++) r[i] = init[i]; - return r; -}; - -// Pluggable, initialized in high-level API below. -var randombytes = function(/* x, n */) { throw new Error('no PRNG'); }; - -var _0 = new Uint8Array(16); -var _9 = new Uint8Array(32); _9[0] = 9; - -var gf0 = gf(), - gf1 = gf([1]), - _121665 = gf([0xdb41, 1]), - D = gf([0x78a3, 0x1359, 0x4dca, 0x75eb, 0xd8ab, 0x4141, 0x0a4d, 0x0070, 0xe898, 0x7779, 0x4079, 0x8cc7, 0xfe73, 0x2b6f, 0x6cee, 0x5203]), - D2 = gf([0xf159, 0x26b2, 0x9b94, 0xebd6, 0xb156, 0x8283, 0x149a, 0x00e0, 0xd130, 0xeef3, 0x80f2, 0x198e, 0xfce7, 0x56df, 0xd9dc, 0x2406]), - X = gf([0xd51a, 0x8f25, 0x2d60, 0xc956, 0xa7b2, 0x9525, 0xc760, 0x692c, 0xdc5c, 0xfdd6, 0xe231, 0xc0a4, 0x53fe, 0xcd6e, 0x36d3, 0x2169]), - Y = gf([0x6658, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666]), - I = gf([0xa0b0, 0x4a0e, 0x1b27, 0xc4ee, 0xe478, 0xad2f, 0x1806, 0x2f43, 0xd7a7, 0x3dfb, 0x0099, 0x2b4d, 0xdf0b, 0x4fc1, 0x2480, 0x2b83]); - -function ts64(x, i, h, l) { - x[i] = (h >> 24) & 0xff; - x[i+1] = (h >> 16) & 0xff; - x[i+2] = (h >> 8) & 0xff; - x[i+3] = h & 0xff; - x[i+4] = (l >> 24) & 0xff; - x[i+5] = (l >> 16) & 0xff; - x[i+6] = (l >> 8) & 0xff; - x[i+7] = l & 0xff; -} - -function vn(x, xi, y, yi, n) { - var i,d = 0; - for (i = 0; i < n; i++) d |= x[xi+i]^y[yi+i]; - return (1 & ((d - 1) >>> 8)) - 1; -} - -function crypto_verify_16(x, xi, y, yi) { - return vn(x,xi,y,yi,16); -} - -function crypto_verify_32(x, xi, y, yi) { - return vn(x,xi,y,yi,32); -} - -function core_salsa20(o, p, k, c) { - var j0 = c[ 0] & 0xff | (c[ 1] & 0xff)<<8 | (c[ 2] & 0xff)<<16 | (c[ 3] & 0xff)<<24, - j1 = k[ 0] & 0xff | (k[ 1] & 0xff)<<8 | (k[ 2] & 0xff)<<16 | (k[ 3] & 0xff)<<24, - j2 = k[ 4] & 0xff | (k[ 5] & 0xff)<<8 | (k[ 6] & 0xff)<<16 | (k[ 7] & 0xff)<<24, - j3 = k[ 8] & 0xff | (k[ 9] & 0xff)<<8 | (k[10] & 0xff)<<16 | (k[11] & 0xff)<<24, - j4 = k[12] & 0xff | (k[13] & 0xff)<<8 | (k[14] & 0xff)<<16 | (k[15] & 0xff)<<24, - j5 = c[ 4] & 0xff | (c[ 5] & 0xff)<<8 | (c[ 6] & 0xff)<<16 | (c[ 7] & 0xff)<<24, - j6 = p[ 0] & 0xff | (p[ 1] & 0xff)<<8 | (p[ 2] & 0xff)<<16 | (p[ 3] & 0xff)<<24, - j7 = p[ 4] & 0xff | (p[ 5] & 0xff)<<8 | (p[ 6] & 0xff)<<16 | (p[ 7] & 0xff)<<24, - j8 = p[ 8] & 0xff | (p[ 9] & 0xff)<<8 | (p[10] & 0xff)<<16 | (p[11] & 0xff)<<24, - j9 = p[12] & 0xff | (p[13] & 0xff)<<8 | (p[14] & 0xff)<<16 | (p[15] & 0xff)<<24, - j10 = c[ 8] & 0xff | (c[ 9] & 0xff)<<8 | (c[10] & 0xff)<<16 | (c[11] & 0xff)<<24, - j11 = k[16] & 0xff | (k[17] & 0xff)<<8 | (k[18] & 0xff)<<16 | (k[19] & 0xff)<<24, - j12 = k[20] & 0xff | (k[21] & 0xff)<<8 | (k[22] & 0xff)<<16 | (k[23] & 0xff)<<24, - j13 = k[24] & 0xff | (k[25] & 0xff)<<8 | (k[26] & 0xff)<<16 | (k[27] & 0xff)<<24, - j14 = k[28] & 0xff | (k[29] & 0xff)<<8 | (k[30] & 0xff)<<16 | (k[31] & 0xff)<<24, - j15 = c[12] & 0xff | (c[13] & 0xff)<<8 | (c[14] & 0xff)<<16 | (c[15] & 0xff)<<24; - - var x0 = j0, x1 = j1, x2 = j2, x3 = j3, x4 = j4, x5 = j5, x6 = j6, x7 = j7, - x8 = j8, x9 = j9, x10 = j10, x11 = j11, x12 = j12, x13 = j13, x14 = j14, - x15 = j15, u; - - for (var i = 0; i < 20; i += 2) { - u = x0 + x12 | 0; - x4 ^= u<<7 | u>>>(32-7); - u = x4 + x0 | 0; - x8 ^= u<<9 | u>>>(32-9); - u = x8 + x4 | 0; - x12 ^= u<<13 | u>>>(32-13); - u = x12 + x8 | 0; - x0 ^= u<<18 | u>>>(32-18); - - u = x5 + x1 | 0; - x9 ^= u<<7 | u>>>(32-7); - u = x9 + x5 | 0; - x13 ^= u<<9 | u>>>(32-9); - u = x13 + x9 | 0; - x1 ^= u<<13 | u>>>(32-13); - u = x1 + x13 | 0; - x5 ^= u<<18 | u>>>(32-18); - - u = x10 + x6 | 0; - x14 ^= u<<7 | u>>>(32-7); - u = x14 + x10 | 0; - x2 ^= u<<9 | u>>>(32-9); - u = x2 + x14 | 0; - x6 ^= u<<13 | u>>>(32-13); - u = x6 + x2 | 0; - x10 ^= u<<18 | u>>>(32-18); - - u = x15 + x11 | 0; - x3 ^= u<<7 | u>>>(32-7); - u = x3 + x15 | 0; - x7 ^= u<<9 | u>>>(32-9); - u = x7 + x3 | 0; - x11 ^= u<<13 | u>>>(32-13); - u = x11 + x7 | 0; - x15 ^= u<<18 | u>>>(32-18); - - u = x0 + x3 | 0; - x1 ^= u<<7 | u>>>(32-7); - u = x1 + x0 | 0; - x2 ^= u<<9 | u>>>(32-9); - u = x2 + x1 | 0; - x3 ^= u<<13 | u>>>(32-13); - u = x3 + x2 | 0; - x0 ^= u<<18 | u>>>(32-18); - - u = x5 + x4 | 0; - x6 ^= u<<7 | u>>>(32-7); - u = x6 + x5 | 0; - x7 ^= u<<9 | u>>>(32-9); - u = x7 + x6 | 0; - x4 ^= u<<13 | u>>>(32-13); - u = x4 + x7 | 0; - x5 ^= u<<18 | u>>>(32-18); - - u = x10 + x9 | 0; - x11 ^= u<<7 | u>>>(32-7); - u = x11 + x10 | 0; - x8 ^= u<<9 | u>>>(32-9); - u = x8 + x11 | 0; - x9 ^= u<<13 | u>>>(32-13); - u = x9 + x8 | 0; - x10 ^= u<<18 | u>>>(32-18); - - u = x15 + x14 | 0; - x12 ^= u<<7 | u>>>(32-7); - u = x12 + x15 | 0; - x13 ^= u<<9 | u>>>(32-9); - u = x13 + x12 | 0; - x14 ^= u<<13 | u>>>(32-13); - u = x14 + x13 | 0; - x15 ^= u<<18 | u>>>(32-18); - } - x0 = x0 + j0 | 0; - x1 = x1 + j1 | 0; - x2 = x2 + j2 | 0; - x3 = x3 + j3 | 0; - x4 = x4 + j4 | 0; - x5 = x5 + j5 | 0; - x6 = x6 + j6 | 0; - x7 = x7 + j7 | 0; - x8 = x8 + j8 | 0; - x9 = x9 + j9 | 0; - x10 = x10 + j10 | 0; - x11 = x11 + j11 | 0; - x12 = x12 + j12 | 0; - x13 = x13 + j13 | 0; - x14 = x14 + j14 | 0; - x15 = x15 + j15 | 0; - - o[ 0] = x0 >>> 0 & 0xff; - o[ 1] = x0 >>> 8 & 0xff; - o[ 2] = x0 >>> 16 & 0xff; - o[ 3] = x0 >>> 24 & 0xff; - - o[ 4] = x1 >>> 0 & 0xff; - o[ 5] = x1 >>> 8 & 0xff; - o[ 6] = x1 >>> 16 & 0xff; - o[ 7] = x1 >>> 24 & 0xff; - - o[ 8] = x2 >>> 0 & 0xff; - o[ 9] = x2 >>> 8 & 0xff; - o[10] = x2 >>> 16 & 0xff; - o[11] = x2 >>> 24 & 0xff; - - o[12] = x3 >>> 0 & 0xff; - o[13] = x3 >>> 8 & 0xff; - o[14] = x3 >>> 16 & 0xff; - o[15] = x3 >>> 24 & 0xff; - - o[16] = x4 >>> 0 & 0xff; - o[17] = x4 >>> 8 & 0xff; - o[18] = x4 >>> 16 & 0xff; - o[19] = x4 >>> 24 & 0xff; - - o[20] = x5 >>> 0 & 0xff; - o[21] = x5 >>> 8 & 0xff; - o[22] = x5 >>> 16 & 0xff; - o[23] = x5 >>> 24 & 0xff; - - o[24] = x6 >>> 0 & 0xff; - o[25] = x6 >>> 8 & 0xff; - o[26] = x6 >>> 16 & 0xff; - o[27] = x6 >>> 24 & 0xff; - - o[28] = x7 >>> 0 & 0xff; - o[29] = x7 >>> 8 & 0xff; - o[30] = x7 >>> 16 & 0xff; - o[31] = x7 >>> 24 & 0xff; - - o[32] = x8 >>> 0 & 0xff; - o[33] = x8 >>> 8 & 0xff; - o[34] = x8 >>> 16 & 0xff; - o[35] = x8 >>> 24 & 0xff; - - o[36] = x9 >>> 0 & 0xff; - o[37] = x9 >>> 8 & 0xff; - o[38] = x9 >>> 16 & 0xff; - o[39] = x9 >>> 24 & 0xff; - - o[40] = x10 >>> 0 & 0xff; - o[41] = x10 >>> 8 & 0xff; - o[42] = x10 >>> 16 & 0xff; - o[43] = x10 >>> 24 & 0xff; - - o[44] = x11 >>> 0 & 0xff; - o[45] = x11 >>> 8 & 0xff; - o[46] = x11 >>> 16 & 0xff; - o[47] = x11 >>> 24 & 0xff; - - o[48] = x12 >>> 0 & 0xff; - o[49] = x12 >>> 8 & 0xff; - o[50] = x12 >>> 16 & 0xff; - o[51] = x12 >>> 24 & 0xff; - - o[52] = x13 >>> 0 & 0xff; - o[53] = x13 >>> 8 & 0xff; - o[54] = x13 >>> 16 & 0xff; - o[55] = x13 >>> 24 & 0xff; - - o[56] = x14 >>> 0 & 0xff; - o[57] = x14 >>> 8 & 0xff; - o[58] = x14 >>> 16 & 0xff; - o[59] = x14 >>> 24 & 0xff; - - o[60] = x15 >>> 0 & 0xff; - o[61] = x15 >>> 8 & 0xff; - o[62] = x15 >>> 16 & 0xff; - o[63] = x15 >>> 24 & 0xff; -} - -function core_hsalsa20(o,p,k,c) { - var j0 = c[ 0] & 0xff | (c[ 1] & 0xff)<<8 | (c[ 2] & 0xff)<<16 | (c[ 3] & 0xff)<<24, - j1 = k[ 0] & 0xff | (k[ 1] & 0xff)<<8 | (k[ 2] & 0xff)<<16 | (k[ 3] & 0xff)<<24, - j2 = k[ 4] & 0xff | (k[ 5] & 0xff)<<8 | (k[ 6] & 0xff)<<16 | (k[ 7] & 0xff)<<24, - j3 = k[ 8] & 0xff | (k[ 9] & 0xff)<<8 | (k[10] & 0xff)<<16 | (k[11] & 0xff)<<24, - j4 = k[12] & 0xff | (k[13] & 0xff)<<8 | (k[14] & 0xff)<<16 | (k[15] & 0xff)<<24, - j5 = c[ 4] & 0xff | (c[ 5] & 0xff)<<8 | (c[ 6] & 0xff)<<16 | (c[ 7] & 0xff)<<24, - j6 = p[ 0] & 0xff | (p[ 1] & 0xff)<<8 | (p[ 2] & 0xff)<<16 | (p[ 3] & 0xff)<<24, - j7 = p[ 4] & 0xff | (p[ 5] & 0xff)<<8 | (p[ 6] & 0xff)<<16 | (p[ 7] & 0xff)<<24, - j8 = p[ 8] & 0xff | (p[ 9] & 0xff)<<8 | (p[10] & 0xff)<<16 | (p[11] & 0xff)<<24, - j9 = p[12] & 0xff | (p[13] & 0xff)<<8 | (p[14] & 0xff)<<16 | (p[15] & 0xff)<<24, - j10 = c[ 8] & 0xff | (c[ 9] & 0xff)<<8 | (c[10] & 0xff)<<16 | (c[11] & 0xff)<<24, - j11 = k[16] & 0xff | (k[17] & 0xff)<<8 | (k[18] & 0xff)<<16 | (k[19] & 0xff)<<24, - j12 = k[20] & 0xff | (k[21] & 0xff)<<8 | (k[22] & 0xff)<<16 | (k[23] & 0xff)<<24, - j13 = k[24] & 0xff | (k[25] & 0xff)<<8 | (k[26] & 0xff)<<16 | (k[27] & 0xff)<<24, - j14 = k[28] & 0xff | (k[29] & 0xff)<<8 | (k[30] & 0xff)<<16 | (k[31] & 0xff)<<24, - j15 = c[12] & 0xff | (c[13] & 0xff)<<8 | (c[14] & 0xff)<<16 | (c[15] & 0xff)<<24; - - var x0 = j0, x1 = j1, x2 = j2, x3 = j3, x4 = j4, x5 = j5, x6 = j6, x7 = j7, - x8 = j8, x9 = j9, x10 = j10, x11 = j11, x12 = j12, x13 = j13, x14 = j14, - x15 = j15, u; - - for (var i = 0; i < 20; i += 2) { - u = x0 + x12 | 0; - x4 ^= u<<7 | u>>>(32-7); - u = x4 + x0 | 0; - x8 ^= u<<9 | u>>>(32-9); - u = x8 + x4 | 0; - x12 ^= u<<13 | u>>>(32-13); - u = x12 + x8 | 0; - x0 ^= u<<18 | u>>>(32-18); - - u = x5 + x1 | 0; - x9 ^= u<<7 | u>>>(32-7); - u = x9 + x5 | 0; - x13 ^= u<<9 | u>>>(32-9); - u = x13 + x9 | 0; - x1 ^= u<<13 | u>>>(32-13); - u = x1 + x13 | 0; - x5 ^= u<<18 | u>>>(32-18); - - u = x10 + x6 | 0; - x14 ^= u<<7 | u>>>(32-7); - u = x14 + x10 | 0; - x2 ^= u<<9 | u>>>(32-9); - u = x2 + x14 | 0; - x6 ^= u<<13 | u>>>(32-13); - u = x6 + x2 | 0; - x10 ^= u<<18 | u>>>(32-18); - - u = x15 + x11 | 0; - x3 ^= u<<7 | u>>>(32-7); - u = x3 + x15 | 0; - x7 ^= u<<9 | u>>>(32-9); - u = x7 + x3 | 0; - x11 ^= u<<13 | u>>>(32-13); - u = x11 + x7 | 0; - x15 ^= u<<18 | u>>>(32-18); - - u = x0 + x3 | 0; - x1 ^= u<<7 | u>>>(32-7); - u = x1 + x0 | 0; - x2 ^= u<<9 | u>>>(32-9); - u = x2 + x1 | 0; - x3 ^= u<<13 | u>>>(32-13); - u = x3 + x2 | 0; - x0 ^= u<<18 | u>>>(32-18); - - u = x5 + x4 | 0; - x6 ^= u<<7 | u>>>(32-7); - u = x6 + x5 | 0; - x7 ^= u<<9 | u>>>(32-9); - u = x7 + x6 | 0; - x4 ^= u<<13 | u>>>(32-13); - u = x4 + x7 | 0; - x5 ^= u<<18 | u>>>(32-18); - - u = x10 + x9 | 0; - x11 ^= u<<7 | u>>>(32-7); - u = x11 + x10 | 0; - x8 ^= u<<9 | u>>>(32-9); - u = x8 + x11 | 0; - x9 ^= u<<13 | u>>>(32-13); - u = x9 + x8 | 0; - x10 ^= u<<18 | u>>>(32-18); - - u = x15 + x14 | 0; - x12 ^= u<<7 | u>>>(32-7); - u = x12 + x15 | 0; - x13 ^= u<<9 | u>>>(32-9); - u = x13 + x12 | 0; - x14 ^= u<<13 | u>>>(32-13); - u = x14 + x13 | 0; - x15 ^= u<<18 | u>>>(32-18); - } - - o[ 0] = x0 >>> 0 & 0xff; - o[ 1] = x0 >>> 8 & 0xff; - o[ 2] = x0 >>> 16 & 0xff; - o[ 3] = x0 >>> 24 & 0xff; - - o[ 4] = x5 >>> 0 & 0xff; - o[ 5] = x5 >>> 8 & 0xff; - o[ 6] = x5 >>> 16 & 0xff; - o[ 7] = x5 >>> 24 & 0xff; - - o[ 8] = x10 >>> 0 & 0xff; - o[ 9] = x10 >>> 8 & 0xff; - o[10] = x10 >>> 16 & 0xff; - o[11] = x10 >>> 24 & 0xff; - - o[12] = x15 >>> 0 & 0xff; - o[13] = x15 >>> 8 & 0xff; - o[14] = x15 >>> 16 & 0xff; - o[15] = x15 >>> 24 & 0xff; - - o[16] = x6 >>> 0 & 0xff; - o[17] = x6 >>> 8 & 0xff; - o[18] = x6 >>> 16 & 0xff; - o[19] = x6 >>> 24 & 0xff; - - o[20] = x7 >>> 0 & 0xff; - o[21] = x7 >>> 8 & 0xff; - o[22] = x7 >>> 16 & 0xff; - o[23] = x7 >>> 24 & 0xff; - - o[24] = x8 >>> 0 & 0xff; - o[25] = x8 >>> 8 & 0xff; - o[26] = x8 >>> 16 & 0xff; - o[27] = x8 >>> 24 & 0xff; - - o[28] = x9 >>> 0 & 0xff; - o[29] = x9 >>> 8 & 0xff; - o[30] = x9 >>> 16 & 0xff; - o[31] = x9 >>> 24 & 0xff; -} - -function crypto_core_salsa20(out,inp,k,c) { - core_salsa20(out,inp,k,c); -} - -function crypto_core_hsalsa20(out,inp,k,c) { - core_hsalsa20(out,inp,k,c); -} - -var sigma = new Uint8Array([101, 120, 112, 97, 110, 100, 32, 51, 50, 45, 98, 121, 116, 101, 32, 107]); - // "expand 32-byte k" - -function crypto_stream_salsa20_xor(c,cpos,m,mpos,b,n,k) { - var z = new Uint8Array(16), x = new Uint8Array(64); - var u, i; - for (i = 0; i < 16; i++) z[i] = 0; - for (i = 0; i < 8; i++) z[i] = n[i]; - while (b >= 64) { - crypto_core_salsa20(x,z,k,sigma); - for (i = 0; i < 64; i++) c[cpos+i] = m[mpos+i] ^ x[i]; - u = 1; - for (i = 8; i < 16; i++) { - u = u + (z[i] & 0xff) | 0; - z[i] = u & 0xff; - u >>>= 8; - } - b -= 64; - cpos += 64; - mpos += 64; - } - if (b > 0) { - crypto_core_salsa20(x,z,k,sigma); - for (i = 0; i < b; i++) c[cpos+i] = m[mpos+i] ^ x[i]; - } - return 0; -} - -function crypto_stream_salsa20(c,cpos,b,n,k) { - var z = new Uint8Array(16), x = new Uint8Array(64); - var u, i; - for (i = 0; i < 16; i++) z[i] = 0; - for (i = 0; i < 8; i++) z[i] = n[i]; - while (b >= 64) { - crypto_core_salsa20(x,z,k,sigma); - for (i = 0; i < 64; i++) c[cpos+i] = x[i]; - u = 1; - for (i = 8; i < 16; i++) { - u = u + (z[i] & 0xff) | 0; - z[i] = u & 0xff; - u >>>= 8; - } - b -= 64; - cpos += 64; - } - if (b > 0) { - crypto_core_salsa20(x,z,k,sigma); - for (i = 0; i < b; i++) c[cpos+i] = x[i]; - } - return 0; -} - -function crypto_stream(c,cpos,d,n,k) { - var s = new Uint8Array(32); - crypto_core_hsalsa20(s,n,k,sigma); - var sn = new Uint8Array(8); - for (var i = 0; i < 8; i++) sn[i] = n[i+16]; - return crypto_stream_salsa20(c,cpos,d,sn,s); -} - -function crypto_stream_xor(c,cpos,m,mpos,d,n,k) { - var s = new Uint8Array(32); - crypto_core_hsalsa20(s,n,k,sigma); - var sn = new Uint8Array(8); - for (var i = 0; i < 8; i++) sn[i] = n[i+16]; - return crypto_stream_salsa20_xor(c,cpos,m,mpos,d,sn,s); -} - -/* -* Port of Andrew Moon's Poly1305-donna-16. Public domain. -* https://github.com/floodyberry/poly1305-donna -*/ - -var poly1305 = function(key) { - this.buffer = new Uint8Array(16); - this.r = new Uint16Array(10); - this.h = new Uint16Array(10); - this.pad = new Uint16Array(8); - this.leftover = 0; - this.fin = 0; - - var t0, t1, t2, t3, t4, t5, t6, t7; - - t0 = key[ 0] & 0xff | (key[ 1] & 0xff) << 8; this.r[0] = ( t0 ) & 0x1fff; - t1 = key[ 2] & 0xff | (key[ 3] & 0xff) << 8; this.r[1] = ((t0 >>> 13) | (t1 << 3)) & 0x1fff; - t2 = key[ 4] & 0xff | (key[ 5] & 0xff) << 8; this.r[2] = ((t1 >>> 10) | (t2 << 6)) & 0x1f03; - t3 = key[ 6] & 0xff | (key[ 7] & 0xff) << 8; this.r[3] = ((t2 >>> 7) | (t3 << 9)) & 0x1fff; - t4 = key[ 8] & 0xff | (key[ 9] & 0xff) << 8; this.r[4] = ((t3 >>> 4) | (t4 << 12)) & 0x00ff; - this.r[5] = ((t4 >>> 1)) & 0x1ffe; - t5 = key[10] & 0xff | (key[11] & 0xff) << 8; this.r[6] = ((t4 >>> 14) | (t5 << 2)) & 0x1fff; - t6 = key[12] & 0xff | (key[13] & 0xff) << 8; this.r[7] = ((t5 >>> 11) | (t6 << 5)) & 0x1f81; - t7 = key[14] & 0xff | (key[15] & 0xff) << 8; this.r[8] = ((t6 >>> 8) | (t7 << 8)) & 0x1fff; - this.r[9] = ((t7 >>> 5)) & 0x007f; - - this.pad[0] = key[16] & 0xff | (key[17] & 0xff) << 8; - this.pad[1] = key[18] & 0xff | (key[19] & 0xff) << 8; - this.pad[2] = key[20] & 0xff | (key[21] & 0xff) << 8; - this.pad[3] = key[22] & 0xff | (key[23] & 0xff) << 8; - this.pad[4] = key[24] & 0xff | (key[25] & 0xff) << 8; - this.pad[5] = key[26] & 0xff | (key[27] & 0xff) << 8; - this.pad[6] = key[28] & 0xff | (key[29] & 0xff) << 8; - this.pad[7] = key[30] & 0xff | (key[31] & 0xff) << 8; -}; - -poly1305.prototype.blocks = function(m, mpos, bytes) { - var hibit = this.fin ? 0 : (1 << 11); - var t0, t1, t2, t3, t4, t5, t6, t7, c; - var d0, d1, d2, d3, d4, d5, d6, d7, d8, d9; - - var h0 = this.h[0], - h1 = this.h[1], - h2 = this.h[2], - h3 = this.h[3], - h4 = this.h[4], - h5 = this.h[5], - h6 = this.h[6], - h7 = this.h[7], - h8 = this.h[8], - h9 = this.h[9]; - - var r0 = this.r[0], - r1 = this.r[1], - r2 = this.r[2], - r3 = this.r[3], - r4 = this.r[4], - r5 = this.r[5], - r6 = this.r[6], - r7 = this.r[7], - r8 = this.r[8], - r9 = this.r[9]; - - while (bytes >= 16) { - t0 = m[mpos+ 0] & 0xff | (m[mpos+ 1] & 0xff) << 8; h0 += ( t0 ) & 0x1fff; - t1 = m[mpos+ 2] & 0xff | (m[mpos+ 3] & 0xff) << 8; h1 += ((t0 >>> 13) | (t1 << 3)) & 0x1fff; - t2 = m[mpos+ 4] & 0xff | (m[mpos+ 5] & 0xff) << 8; h2 += ((t1 >>> 10) | (t2 << 6)) & 0x1fff; - t3 = m[mpos+ 6] & 0xff | (m[mpos+ 7] & 0xff) << 8; h3 += ((t2 >>> 7) | (t3 << 9)) & 0x1fff; - t4 = m[mpos+ 8] & 0xff | (m[mpos+ 9] & 0xff) << 8; h4 += ((t3 >>> 4) | (t4 << 12)) & 0x1fff; - h5 += ((t4 >>> 1)) & 0x1fff; - t5 = m[mpos+10] & 0xff | (m[mpos+11] & 0xff) << 8; h6 += ((t4 >>> 14) | (t5 << 2)) & 0x1fff; - t6 = m[mpos+12] & 0xff | (m[mpos+13] & 0xff) << 8; h7 += ((t5 >>> 11) | (t6 << 5)) & 0x1fff; - t7 = m[mpos+14] & 0xff | (m[mpos+15] & 0xff) << 8; h8 += ((t6 >>> 8) | (t7 << 8)) & 0x1fff; - h9 += ((t7 >>> 5)) | hibit; - - c = 0; - - d0 = c; - d0 += h0 * r0; - d0 += h1 * (5 * r9); - d0 += h2 * (5 * r8); - d0 += h3 * (5 * r7); - d0 += h4 * (5 * r6); - c = (d0 >>> 13); d0 &= 0x1fff; - d0 += h5 * (5 * r5); - d0 += h6 * (5 * r4); - d0 += h7 * (5 * r3); - d0 += h8 * (5 * r2); - d0 += h9 * (5 * r1); - c += (d0 >>> 13); d0 &= 0x1fff; - - d1 = c; - d1 += h0 * r1; - d1 += h1 * r0; - d1 += h2 * (5 * r9); - d1 += h3 * (5 * r8); - d1 += h4 * (5 * r7); - c = (d1 >>> 13); d1 &= 0x1fff; - d1 += h5 * (5 * r6); - d1 += h6 * (5 * r5); - d1 += h7 * (5 * r4); - d1 += h8 * (5 * r3); - d1 += h9 * (5 * r2); - c += (d1 >>> 13); d1 &= 0x1fff; - - d2 = c; - d2 += h0 * r2; - d2 += h1 * r1; - d2 += h2 * r0; - d2 += h3 * (5 * r9); - d2 += h4 * (5 * r8); - c = (d2 >>> 13); d2 &= 0x1fff; - d2 += h5 * (5 * r7); - d2 += h6 * (5 * r6); - d2 += h7 * (5 * r5); - d2 += h8 * (5 * r4); - d2 += h9 * (5 * r3); - c += (d2 >>> 13); d2 &= 0x1fff; - - d3 = c; - d3 += h0 * r3; - d3 += h1 * r2; - d3 += h2 * r1; - d3 += h3 * r0; - d3 += h4 * (5 * r9); - c = (d3 >>> 13); d3 &= 0x1fff; - d3 += h5 * (5 * r8); - d3 += h6 * (5 * r7); - d3 += h7 * (5 * r6); - d3 += h8 * (5 * r5); - d3 += h9 * (5 * r4); - c += (d3 >>> 13); d3 &= 0x1fff; - - d4 = c; - d4 += h0 * r4; - d4 += h1 * r3; - d4 += h2 * r2; - d4 += h3 * r1; - d4 += h4 * r0; - c = (d4 >>> 13); d4 &= 0x1fff; - d4 += h5 * (5 * r9); - d4 += h6 * (5 * r8); - d4 += h7 * (5 * r7); - d4 += h8 * (5 * r6); - d4 += h9 * (5 * r5); - c += (d4 >>> 13); d4 &= 0x1fff; - - d5 = c; - d5 += h0 * r5; - d5 += h1 * r4; - d5 += h2 * r3; - d5 += h3 * r2; - d5 += h4 * r1; - c = (d5 >>> 13); d5 &= 0x1fff; - d5 += h5 * r0; - d5 += h6 * (5 * r9); - d5 += h7 * (5 * r8); - d5 += h8 * (5 * r7); - d5 += h9 * (5 * r6); - c += (d5 >>> 13); d5 &= 0x1fff; - - d6 = c; - d6 += h0 * r6; - d6 += h1 * r5; - d6 += h2 * r4; - d6 += h3 * r3; - d6 += h4 * r2; - c = (d6 >>> 13); d6 &= 0x1fff; - d6 += h5 * r1; - d6 += h6 * r0; - d6 += h7 * (5 * r9); - d6 += h8 * (5 * r8); - d6 += h9 * (5 * r7); - c += (d6 >>> 13); d6 &= 0x1fff; - - d7 = c; - d7 += h0 * r7; - d7 += h1 * r6; - d7 += h2 * r5; - d7 += h3 * r4; - d7 += h4 * r3; - c = (d7 >>> 13); d7 &= 0x1fff; - d7 += h5 * r2; - d7 += h6 * r1; - d7 += h7 * r0; - d7 += h8 * (5 * r9); - d7 += h9 * (5 * r8); - c += (d7 >>> 13); d7 &= 0x1fff; - - d8 = c; - d8 += h0 * r8; - d8 += h1 * r7; - d8 += h2 * r6; - d8 += h3 * r5; - d8 += h4 * r4; - c = (d8 >>> 13); d8 &= 0x1fff; - d8 += h5 * r3; - d8 += h6 * r2; - d8 += h7 * r1; - d8 += h8 * r0; - d8 += h9 * (5 * r9); - c += (d8 >>> 13); d8 &= 0x1fff; - - d9 = c; - d9 += h0 * r9; - d9 += h1 * r8; - d9 += h2 * r7; - d9 += h3 * r6; - d9 += h4 * r5; - c = (d9 >>> 13); d9 &= 0x1fff; - d9 += h5 * r4; - d9 += h6 * r3; - d9 += h7 * r2; - d9 += h8 * r1; - d9 += h9 * r0; - c += (d9 >>> 13); d9 &= 0x1fff; - - c = (((c << 2) + c)) | 0; - c = (c + d0) | 0; - d0 = c & 0x1fff; - c = (c >>> 13); - d1 += c; - - h0 = d0; - h1 = d1; - h2 = d2; - h3 = d3; - h4 = d4; - h5 = d5; - h6 = d6; - h7 = d7; - h8 = d8; - h9 = d9; - - mpos += 16; - bytes -= 16; - } - this.h[0] = h0; - this.h[1] = h1; - this.h[2] = h2; - this.h[3] = h3; - this.h[4] = h4; - this.h[5] = h5; - this.h[6] = h6; - this.h[7] = h7; - this.h[8] = h8; - this.h[9] = h9; -}; - -poly1305.prototype.finish = function(mac, macpos) { - var g = new Uint16Array(10); - var c, mask, f, i; - - if (this.leftover) { - i = this.leftover; - this.buffer[i++] = 1; - for (; i < 16; i++) this.buffer[i] = 0; - this.fin = 1; - this.blocks(this.buffer, 0, 16); - } - - c = this.h[1] >>> 13; - this.h[1] &= 0x1fff; - for (i = 2; i < 10; i++) { - this.h[i] += c; - c = this.h[i] >>> 13; - this.h[i] &= 0x1fff; - } - this.h[0] += (c * 5); - c = this.h[0] >>> 13; - this.h[0] &= 0x1fff; - this.h[1] += c; - c = this.h[1] >>> 13; - this.h[1] &= 0x1fff; - this.h[2] += c; - - g[0] = this.h[0] + 5; - c = g[0] >>> 13; - g[0] &= 0x1fff; - for (i = 1; i < 10; i++) { - g[i] = this.h[i] + c; - c = g[i] >>> 13; - g[i] &= 0x1fff; - } - g[9] -= (1 << 13); - - mask = (c ^ 1) - 1; - for (i = 0; i < 10; i++) g[i] &= mask; - mask = ~mask; - for (i = 0; i < 10; i++) this.h[i] = (this.h[i] & mask) | g[i]; - - this.h[0] = ((this.h[0] ) | (this.h[1] << 13) ) & 0xffff; - this.h[1] = ((this.h[1] >>> 3) | (this.h[2] << 10) ) & 0xffff; - this.h[2] = ((this.h[2] >>> 6) | (this.h[3] << 7) ) & 0xffff; - this.h[3] = ((this.h[3] >>> 9) | (this.h[4] << 4) ) & 0xffff; - this.h[4] = ((this.h[4] >>> 12) | (this.h[5] << 1) | (this.h[6] << 14)) & 0xffff; - this.h[5] = ((this.h[6] >>> 2) | (this.h[7] << 11) ) & 0xffff; - this.h[6] = ((this.h[7] >>> 5) | (this.h[8] << 8) ) & 0xffff; - this.h[7] = ((this.h[8] >>> 8) | (this.h[9] << 5) ) & 0xffff; - - f = this.h[0] + this.pad[0]; - this.h[0] = f & 0xffff; - for (i = 1; i < 8; i++) { - f = (((this.h[i] + this.pad[i]) | 0) + (f >>> 16)) | 0; - this.h[i] = f & 0xffff; - } - - mac[macpos+ 0] = (this.h[0] >>> 0) & 0xff; - mac[macpos+ 1] = (this.h[0] >>> 8) & 0xff; - mac[macpos+ 2] = (this.h[1] >>> 0) & 0xff; - mac[macpos+ 3] = (this.h[1] >>> 8) & 0xff; - mac[macpos+ 4] = (this.h[2] >>> 0) & 0xff; - mac[macpos+ 5] = (this.h[2] >>> 8) & 0xff; - mac[macpos+ 6] = (this.h[3] >>> 0) & 0xff; - mac[macpos+ 7] = (this.h[3] >>> 8) & 0xff; - mac[macpos+ 8] = (this.h[4] >>> 0) & 0xff; - mac[macpos+ 9] = (this.h[4] >>> 8) & 0xff; - mac[macpos+10] = (this.h[5] >>> 0) & 0xff; - mac[macpos+11] = (this.h[5] >>> 8) & 0xff; - mac[macpos+12] = (this.h[6] >>> 0) & 0xff; - mac[macpos+13] = (this.h[6] >>> 8) & 0xff; - mac[macpos+14] = (this.h[7] >>> 0) & 0xff; - mac[macpos+15] = (this.h[7] >>> 8) & 0xff; -}; - -poly1305.prototype.update = function(m, mpos, bytes) { - var i, want; - - if (this.leftover) { - want = (16 - this.leftover); - if (want > bytes) - want = bytes; - for (i = 0; i < want; i++) - this.buffer[this.leftover + i] = m[mpos+i]; - bytes -= want; - mpos += want; - this.leftover += want; - if (this.leftover < 16) - return; - this.blocks(this.buffer, 0, 16); - this.leftover = 0; - } - - if (bytes >= 16) { - want = bytes - (bytes % 16); - this.blocks(m, mpos, want); - mpos += want; - bytes -= want; - } - - if (bytes) { - for (i = 0; i < bytes; i++) - this.buffer[this.leftover + i] = m[mpos+i]; - this.leftover += bytes; - } -}; - -function crypto_onetimeauth(out, outpos, m, mpos, n, k) { - var s = new poly1305(k); - s.update(m, mpos, n); - s.finish(out, outpos); - return 0; -} - -function crypto_onetimeauth_verify(h, hpos, m, mpos, n, k) { - var x = new Uint8Array(16); - crypto_onetimeauth(x,0,m,mpos,n,k); - return crypto_verify_16(h,hpos,x,0); -} - -function crypto_secretbox(c,m,d,n,k) { - var i; - if (d < 32) return -1; - crypto_stream_xor(c,0,m,0,d,n,k); - crypto_onetimeauth(c, 16, c, 32, d - 32, c); - for (i = 0; i < 16; i++) c[i] = 0; - return 0; -} - -function crypto_secretbox_open(m,c,d,n,k) { - var i; - var x = new Uint8Array(32); - if (d < 32) return -1; - crypto_stream(x,0,32,n,k); - if (crypto_onetimeauth_verify(c, 16,c, 32,d - 32,x) !== 0) return -1; - crypto_stream_xor(m,0,c,0,d,n,k); - for (i = 0; i < 32; i++) m[i] = 0; - return 0; -} - -function set25519(r, a) { - var i; - for (i = 0; i < 16; i++) r[i] = a[i]|0; -} - -function car25519(o) { - var i, v, c = 1; - for (i = 0; i < 16; i++) { - v = o[i] + c + 65535; - c = Math.floor(v / 65536); - o[i] = v - c * 65536; - } - o[0] += c-1 + 37 * (c-1); -} - -function sel25519(p, q, b) { - var t, c = ~(b-1); - for (var i = 0; i < 16; i++) { - t = c & (p[i] ^ q[i]); - p[i] ^= t; - q[i] ^= t; - } -} - -function pack25519(o, n) { - var i, j, b; - var m = gf(), t = gf(); - for (i = 0; i < 16; i++) t[i] = n[i]; - car25519(t); - car25519(t); - car25519(t); - for (j = 0; j < 2; j++) { - m[0] = t[0] - 0xffed; - for (i = 1; i < 15; i++) { - m[i] = t[i] - 0xffff - ((m[i-1]>>16) & 1); - m[i-1] &= 0xffff; - } - m[15] = t[15] - 0x7fff - ((m[14]>>16) & 1); - b = (m[15]>>16) & 1; - m[14] &= 0xffff; - sel25519(t, m, 1-b); - } - for (i = 0; i < 16; i++) { - o[2*i] = t[i] & 0xff; - o[2*i+1] = t[i]>>8; - } -} - -function neq25519(a, b) { - var c = new Uint8Array(32), d = new Uint8Array(32); - pack25519(c, a); - pack25519(d, b); - return crypto_verify_32(c, 0, d, 0); -} - -function par25519(a) { - var d = new Uint8Array(32); - pack25519(d, a); - return d[0] & 1; -} - -function unpack25519(o, n) { - var i; - for (i = 0; i < 16; i++) o[i] = n[2*i] + (n[2*i+1] << 8); - o[15] &= 0x7fff; -} - -function A(o, a, b) { - for (var i = 0; i < 16; i++) o[i] = a[i] + b[i]; -} - -function Z(o, a, b) { - for (var i = 0; i < 16; i++) o[i] = a[i] - b[i]; -} - -function M(o, a, b) { - var v, c, - t0 = 0, t1 = 0, t2 = 0, t3 = 0, t4 = 0, t5 = 0, t6 = 0, t7 = 0, - t8 = 0, t9 = 0, t10 = 0, t11 = 0, t12 = 0, t13 = 0, t14 = 0, t15 = 0, - t16 = 0, t17 = 0, t18 = 0, t19 = 0, t20 = 0, t21 = 0, t22 = 0, t23 = 0, - t24 = 0, t25 = 0, t26 = 0, t27 = 0, t28 = 0, t29 = 0, t30 = 0, - b0 = b[0], - b1 = b[1], - b2 = b[2], - b3 = b[3], - b4 = b[4], - b5 = b[5], - b6 = b[6], - b7 = b[7], - b8 = b[8], - b9 = b[9], - b10 = b[10], - b11 = b[11], - b12 = b[12], - b13 = b[13], - b14 = b[14], - b15 = b[15]; - - v = a[0]; - t0 += v * b0; - t1 += v * b1; - t2 += v * b2; - t3 += v * b3; - t4 += v * b4; - t5 += v * b5; - t6 += v * b6; - t7 += v * b7; - t8 += v * b8; - t9 += v * b9; - t10 += v * b10; - t11 += v * b11; - t12 += v * b12; - t13 += v * b13; - t14 += v * b14; - t15 += v * b15; - v = a[1]; - t1 += v * b0; - t2 += v * b1; - t3 += v * b2; - t4 += v * b3; - t5 += v * b4; - t6 += v * b5; - t7 += v * b6; - t8 += v * b7; - t9 += v * b8; - t10 += v * b9; - t11 += v * b10; - t12 += v * b11; - t13 += v * b12; - t14 += v * b13; - t15 += v * b14; - t16 += v * b15; - v = a[2]; - t2 += v * b0; - t3 += v * b1; - t4 += v * b2; - t5 += v * b3; - t6 += v * b4; - t7 += v * b5; - t8 += v * b6; - t9 += v * b7; - t10 += v * b8; - t11 += v * b9; - t12 += v * b10; - t13 += v * b11; - t14 += v * b12; - t15 += v * b13; - t16 += v * b14; - t17 += v * b15; - v = a[3]; - t3 += v * b0; - t4 += v * b1; - t5 += v * b2; - t6 += v * b3; - t7 += v * b4; - t8 += v * b5; - t9 += v * b6; - t10 += v * b7; - t11 += v * b8; - t12 += v * b9; - t13 += v * b10; - t14 += v * b11; - t15 += v * b12; - t16 += v * b13; - t17 += v * b14; - t18 += v * b15; - v = a[4]; - t4 += v * b0; - t5 += v * b1; - t6 += v * b2; - t7 += v * b3; - t8 += v * b4; - t9 += v * b5; - t10 += v * b6; - t11 += v * b7; - t12 += v * b8; - t13 += v * b9; - t14 += v * b10; - t15 += v * b11; - t16 += v * b12; - t17 += v * b13; - t18 += v * b14; - t19 += v * b15; - v = a[5]; - t5 += v * b0; - t6 += v * b1; - t7 += v * b2; - t8 += v * b3; - t9 += v * b4; - t10 += v * b5; - t11 += v * b6; - t12 += v * b7; - t13 += v * b8; - t14 += v * b9; - t15 += v * b10; - t16 += v * b11; - t17 += v * b12; - t18 += v * b13; - t19 += v * b14; - t20 += v * b15; - v = a[6]; - t6 += v * b0; - t7 += v * b1; - t8 += v * b2; - t9 += v * b3; - t10 += v * b4; - t11 += v * b5; - t12 += v * b6; - t13 += v * b7; - t14 += v * b8; - t15 += v * b9; - t16 += v * b10; - t17 += v * b11; - t18 += v * b12; - t19 += v * b13; - t20 += v * b14; - t21 += v * b15; - v = a[7]; - t7 += v * b0; - t8 += v * b1; - t9 += v * b2; - t10 += v * b3; - t11 += v * b4; - t12 += v * b5; - t13 += v * b6; - t14 += v * b7; - t15 += v * b8; - t16 += v * b9; - t17 += v * b10; - t18 += v * b11; - t19 += v * b12; - t20 += v * b13; - t21 += v * b14; - t22 += v * b15; - v = a[8]; - t8 += v * b0; - t9 += v * b1; - t10 += v * b2; - t11 += v * b3; - t12 += v * b4; - t13 += v * b5; - t14 += v * b6; - t15 += v * b7; - t16 += v * b8; - t17 += v * b9; - t18 += v * b10; - t19 += v * b11; - t20 += v * b12; - t21 += v * b13; - t22 += v * b14; - t23 += v * b15; - v = a[9]; - t9 += v * b0; - t10 += v * b1; - t11 += v * b2; - t12 += v * b3; - t13 += v * b4; - t14 += v * b5; - t15 += v * b6; - t16 += v * b7; - t17 += v * b8; - t18 += v * b9; - t19 += v * b10; - t20 += v * b11; - t21 += v * b12; - t22 += v * b13; - t23 += v * b14; - t24 += v * b15; - v = a[10]; - t10 += v * b0; - t11 += v * b1; - t12 += v * b2; - t13 += v * b3; - t14 += v * b4; - t15 += v * b5; - t16 += v * b6; - t17 += v * b7; - t18 += v * b8; - t19 += v * b9; - t20 += v * b10; - t21 += v * b11; - t22 += v * b12; - t23 += v * b13; - t24 += v * b14; - t25 += v * b15; - v = a[11]; - t11 += v * b0; - t12 += v * b1; - t13 += v * b2; - t14 += v * b3; - t15 += v * b4; - t16 += v * b5; - t17 += v * b6; - t18 += v * b7; - t19 += v * b8; - t20 += v * b9; - t21 += v * b10; - t22 += v * b11; - t23 += v * b12; - t24 += v * b13; - t25 += v * b14; - t26 += v * b15; - v = a[12]; - t12 += v * b0; - t13 += v * b1; - t14 += v * b2; - t15 += v * b3; - t16 += v * b4; - t17 += v * b5; - t18 += v * b6; - t19 += v * b7; - t20 += v * b8; - t21 += v * b9; - t22 += v * b10; - t23 += v * b11; - t24 += v * b12; - t25 += v * b13; - t26 += v * b14; - t27 += v * b15; - v = a[13]; - t13 += v * b0; - t14 += v * b1; - t15 += v * b2; - t16 += v * b3; - t17 += v * b4; - t18 += v * b5; - t19 += v * b6; - t20 += v * b7; - t21 += v * b8; - t22 += v * b9; - t23 += v * b10; - t24 += v * b11; - t25 += v * b12; - t26 += v * b13; - t27 += v * b14; - t28 += v * b15; - v = a[14]; - t14 += v * b0; - t15 += v * b1; - t16 += v * b2; - t17 += v * b3; - t18 += v * b4; - t19 += v * b5; - t20 += v * b6; - t21 += v * b7; - t22 += v * b8; - t23 += v * b9; - t24 += v * b10; - t25 += v * b11; - t26 += v * b12; - t27 += v * b13; - t28 += v * b14; - t29 += v * b15; - v = a[15]; - t15 += v * b0; - t16 += v * b1; - t17 += v * b2; - t18 += v * b3; - t19 += v * b4; - t20 += v * b5; - t21 += v * b6; - t22 += v * b7; - t23 += v * b8; - t24 += v * b9; - t25 += v * b10; - t26 += v * b11; - t27 += v * b12; - t28 += v * b13; - t29 += v * b14; - t30 += v * b15; - - t0 += 38 * t16; - t1 += 38 * t17; - t2 += 38 * t18; - t3 += 38 * t19; - t4 += 38 * t20; - t5 += 38 * t21; - t6 += 38 * t22; - t7 += 38 * t23; - t8 += 38 * t24; - t9 += 38 * t25; - t10 += 38 * t26; - t11 += 38 * t27; - t12 += 38 * t28; - t13 += 38 * t29; - t14 += 38 * t30; - // t15 left as is - - // first car - c = 1; - v = t0 + c + 65535; c = Math.floor(v / 65536); t0 = v - c * 65536; - v = t1 + c + 65535; c = Math.floor(v / 65536); t1 = v - c * 65536; - v = t2 + c + 65535; c = Math.floor(v / 65536); t2 = v - c * 65536; - v = t3 + c + 65535; c = Math.floor(v / 65536); t3 = v - c * 65536; - v = t4 + c + 65535; c = Math.floor(v / 65536); t4 = v - c * 65536; - v = t5 + c + 65535; c = Math.floor(v / 65536); t5 = v - c * 65536; - v = t6 + c + 65535; c = Math.floor(v / 65536); t6 = v - c * 65536; - v = t7 + c + 65535; c = Math.floor(v / 65536); t7 = v - c * 65536; - v = t8 + c + 65535; c = Math.floor(v / 65536); t8 = v - c * 65536; - v = t9 + c + 65535; c = Math.floor(v / 65536); t9 = v - c * 65536; - v = t10 + c + 65535; c = Math.floor(v / 65536); t10 = v - c * 65536; - v = t11 + c + 65535; c = Math.floor(v / 65536); t11 = v - c * 65536; - v = t12 + c + 65535; c = Math.floor(v / 65536); t12 = v - c * 65536; - v = t13 + c + 65535; c = Math.floor(v / 65536); t13 = v - c * 65536; - v = t14 + c + 65535; c = Math.floor(v / 65536); t14 = v - c * 65536; - v = t15 + c + 65535; c = Math.floor(v / 65536); t15 = v - c * 65536; - t0 += c-1 + 37 * (c-1); - - // second car - c = 1; - v = t0 + c + 65535; c = Math.floor(v / 65536); t0 = v - c * 65536; - v = t1 + c + 65535; c = Math.floor(v / 65536); t1 = v - c * 65536; - v = t2 + c + 65535; c = Math.floor(v / 65536); t2 = v - c * 65536; - v = t3 + c + 65535; c = Math.floor(v / 65536); t3 = v - c * 65536; - v = t4 + c + 65535; c = Math.floor(v / 65536); t4 = v - c * 65536; - v = t5 + c + 65535; c = Math.floor(v / 65536); t5 = v - c * 65536; - v = t6 + c + 65535; c = Math.floor(v / 65536); t6 = v - c * 65536; - v = t7 + c + 65535; c = Math.floor(v / 65536); t7 = v - c * 65536; - v = t8 + c + 65535; c = Math.floor(v / 65536); t8 = v - c * 65536; - v = t9 + c + 65535; c = Math.floor(v / 65536); t9 = v - c * 65536; - v = t10 + c + 65535; c = Math.floor(v / 65536); t10 = v - c * 65536; - v = t11 + c + 65535; c = Math.floor(v / 65536); t11 = v - c * 65536; - v = t12 + c + 65535; c = Math.floor(v / 65536); t12 = v - c * 65536; - v = t13 + c + 65535; c = Math.floor(v / 65536); t13 = v - c * 65536; - v = t14 + c + 65535; c = Math.floor(v / 65536); t14 = v - c * 65536; - v = t15 + c + 65535; c = Math.floor(v / 65536); t15 = v - c * 65536; - t0 += c-1 + 37 * (c-1); - - o[ 0] = t0; - o[ 1] = t1; - o[ 2] = t2; - o[ 3] = t3; - o[ 4] = t4; - o[ 5] = t5; - o[ 6] = t6; - o[ 7] = t7; - o[ 8] = t8; - o[ 9] = t9; - o[10] = t10; - o[11] = t11; - o[12] = t12; - o[13] = t13; - o[14] = t14; - o[15] = t15; -} - -function S(o, a) { - M(o, a, a); -} - -function inv25519(o, i) { - var c = gf(); - var a; - for (a = 0; a < 16; a++) c[a] = i[a]; - for (a = 253; a >= 0; a--) { - S(c, c); - if(a !== 2 && a !== 4) M(c, c, i); - } - for (a = 0; a < 16; a++) o[a] = c[a]; -} - -function pow2523(o, i) { - var c = gf(); - var a; - for (a = 0; a < 16; a++) c[a] = i[a]; - for (a = 250; a >= 0; a--) { - S(c, c); - if(a !== 1) M(c, c, i); - } - for (a = 0; a < 16; a++) o[a] = c[a]; -} - -function crypto_scalarmult(q, n, p) { - var z = new Uint8Array(32); - var x = new Float64Array(80), r, i; - var a = gf(), b = gf(), c = gf(), - d = gf(), e = gf(), f = gf(); - for (i = 0; i < 31; i++) z[i] = n[i]; - z[31]=(n[31]&127)|64; - z[0]&=248; - unpack25519(x,p); - for (i = 0; i < 16; i++) { - b[i]=x[i]; - d[i]=a[i]=c[i]=0; - } - a[0]=d[0]=1; - for (i=254; i>=0; --i) { - r=(z[i>>>3]>>>(i&7))&1; - sel25519(a,b,r); - sel25519(c,d,r); - A(e,a,c); - Z(a,a,c); - A(c,b,d); - Z(b,b,d); - S(d,e); - S(f,a); - M(a,c,a); - M(c,b,e); - A(e,a,c); - Z(a,a,c); - S(b,a); - Z(c,d,f); - M(a,c,_121665); - A(a,a,d); - M(c,c,a); - M(a,d,f); - M(d,b,x); - S(b,e); - sel25519(a,b,r); - sel25519(c,d,r); - } - for (i = 0; i < 16; i++) { - x[i+16]=a[i]; - x[i+32]=c[i]; - x[i+48]=b[i]; - x[i+64]=d[i]; - } - var x32 = x.subarray(32); - var x16 = x.subarray(16); - inv25519(x32,x32); - M(x16,x16,x32); - pack25519(q,x16); - return 0; -} - -function crypto_scalarmult_base(q, n) { - return crypto_scalarmult(q, n, _9); -} - -function crypto_box_keypair(y, x) { - randombytes(x, 32); - return crypto_scalarmult_base(y, x); -} - -function crypto_box_beforenm(k, y, x) { - var s = new Uint8Array(32); - crypto_scalarmult(s, x, y); - return crypto_core_hsalsa20(k, _0, s, sigma); -} - -var crypto_box_afternm = crypto_secretbox; -var crypto_box_open_afternm = crypto_secretbox_open; - -function crypto_box(c, m, d, n, y, x) { - var k = new Uint8Array(32); - crypto_box_beforenm(k, y, x); - return crypto_box_afternm(c, m, d, n, k); -} - -function crypto_box_open(m, c, d, n, y, x) { - var k = new Uint8Array(32); - crypto_box_beforenm(k, y, x); - return crypto_box_open_afternm(m, c, d, n, k); -} - -var K = [ - 0x428a2f98, 0xd728ae22, 0x71374491, 0x23ef65cd, - 0xb5c0fbcf, 0xec4d3b2f, 0xe9b5dba5, 0x8189dbbc, - 0x3956c25b, 0xf348b538, 0x59f111f1, 0xb605d019, - 0x923f82a4, 0xaf194f9b, 0xab1c5ed5, 0xda6d8118, - 0xd807aa98, 0xa3030242, 0x12835b01, 0x45706fbe, - 0x243185be, 0x4ee4b28c, 0x550c7dc3, 0xd5ffb4e2, - 0x72be5d74, 0xf27b896f, 0x80deb1fe, 0x3b1696b1, - 0x9bdc06a7, 0x25c71235, 0xc19bf174, 0xcf692694, - 0xe49b69c1, 0x9ef14ad2, 0xefbe4786, 0x384f25e3, - 0x0fc19dc6, 0x8b8cd5b5, 0x240ca1cc, 0x77ac9c65, - 0x2de92c6f, 0x592b0275, 0x4a7484aa, 0x6ea6e483, - 0x5cb0a9dc, 0xbd41fbd4, 0x76f988da, 0x831153b5, - 0x983e5152, 0xee66dfab, 0xa831c66d, 0x2db43210, - 0xb00327c8, 0x98fb213f, 0xbf597fc7, 0xbeef0ee4, - 0xc6e00bf3, 0x3da88fc2, 0xd5a79147, 0x930aa725, - 0x06ca6351, 0xe003826f, 0x14292967, 0x0a0e6e70, - 0x27b70a85, 0x46d22ffc, 0x2e1b2138, 0x5c26c926, - 0x4d2c6dfc, 0x5ac42aed, 0x53380d13, 0x9d95b3df, - 0x650a7354, 0x8baf63de, 0x766a0abb, 0x3c77b2a8, - 0x81c2c92e, 0x47edaee6, 0x92722c85, 0x1482353b, - 0xa2bfe8a1, 0x4cf10364, 0xa81a664b, 0xbc423001, - 0xc24b8b70, 0xd0f89791, 0xc76c51a3, 0x0654be30, - 0xd192e819, 0xd6ef5218, 0xd6990624, 0x5565a910, - 0xf40e3585, 0x5771202a, 0x106aa070, 0x32bbd1b8, - 0x19a4c116, 0xb8d2d0c8, 0x1e376c08, 0x5141ab53, - 0x2748774c, 0xdf8eeb99, 0x34b0bcb5, 0xe19b48a8, - 0x391c0cb3, 0xc5c95a63, 0x4ed8aa4a, 0xe3418acb, - 0x5b9cca4f, 0x7763e373, 0x682e6ff3, 0xd6b2b8a3, - 0x748f82ee, 0x5defb2fc, 0x78a5636f, 0x43172f60, - 0x84c87814, 0xa1f0ab72, 0x8cc70208, 0x1a6439ec, - 0x90befffa, 0x23631e28, 0xa4506ceb, 0xde82bde9, - 0xbef9a3f7, 0xb2c67915, 0xc67178f2, 0xe372532b, - 0xca273ece, 0xea26619c, 0xd186b8c7, 0x21c0c207, - 0xeada7dd6, 0xcde0eb1e, 0xf57d4f7f, 0xee6ed178, - 0x06f067aa, 0x72176fba, 0x0a637dc5, 0xa2c898a6, - 0x113f9804, 0xbef90dae, 0x1b710b35, 0x131c471b, - 0x28db77f5, 0x23047d84, 0x32caab7b, 0x40c72493, - 0x3c9ebe0a, 0x15c9bebc, 0x431d67c4, 0x9c100d4c, - 0x4cc5d4be, 0xcb3e42b6, 0x597f299c, 0xfc657e2a, - 0x5fcb6fab, 0x3ad6faec, 0x6c44198c, 0x4a475817 -]; - -function crypto_hashblocks_hl(hh, hl, m, n) { - var wh = new Int32Array(16), wl = new Int32Array(16), - bh0, bh1, bh2, bh3, bh4, bh5, bh6, bh7, - bl0, bl1, bl2, bl3, bl4, bl5, bl6, bl7, - th, tl, i, j, h, l, a, b, c, d; - - var ah0 = hh[0], - ah1 = hh[1], - ah2 = hh[2], - ah3 = hh[3], - ah4 = hh[4], - ah5 = hh[5], - ah6 = hh[6], - ah7 = hh[7], - - al0 = hl[0], - al1 = hl[1], - al2 = hl[2], - al3 = hl[3], - al4 = hl[4], - al5 = hl[5], - al6 = hl[6], - al7 = hl[7]; - - var pos = 0; - while (n >= 128) { - for (i = 0; i < 16; i++) { - j = 8 * i + pos; - wh[i] = (m[j+0] << 24) | (m[j+1] << 16) | (m[j+2] << 8) | m[j+3]; - wl[i] = (m[j+4] << 24) | (m[j+5] << 16) | (m[j+6] << 8) | m[j+7]; - } - for (i = 0; i < 80; i++) { - bh0 = ah0; - bh1 = ah1; - bh2 = ah2; - bh3 = ah3; - bh4 = ah4; - bh5 = ah5; - bh6 = ah6; - bh7 = ah7; - - bl0 = al0; - bl1 = al1; - bl2 = al2; - bl3 = al3; - bl4 = al4; - bl5 = al5; - bl6 = al6; - bl7 = al7; - - // add - h = ah7; - l = al7; - - a = l & 0xffff; b = l >>> 16; - c = h & 0xffff; d = h >>> 16; - - // Sigma1 - h = ((ah4 >>> 14) | (al4 << (32-14))) ^ ((ah4 >>> 18) | (al4 << (32-18))) ^ ((al4 >>> (41-32)) | (ah4 << (32-(41-32)))); - l = ((al4 >>> 14) | (ah4 << (32-14))) ^ ((al4 >>> 18) | (ah4 << (32-18))) ^ ((ah4 >>> (41-32)) | (al4 << (32-(41-32)))); - - a += l & 0xffff; b += l >>> 16; - c += h & 0xffff; d += h >>> 16; - - // Ch - h = (ah4 & ah5) ^ (~ah4 & ah6); - l = (al4 & al5) ^ (~al4 & al6); - - a += l & 0xffff; b += l >>> 16; - c += h & 0xffff; d += h >>> 16; - - // K - h = K[i*2]; - l = K[i*2+1]; - - a += l & 0xffff; b += l >>> 16; - c += h & 0xffff; d += h >>> 16; - - // w - h = wh[i%16]; - l = wl[i%16]; - - a += l & 0xffff; b += l >>> 16; - c += h & 0xffff; d += h >>> 16; - - b += a >>> 16; - c += b >>> 16; - d += c >>> 16; - - th = c & 0xffff | d << 16; - tl = a & 0xffff | b << 16; - - // add - h = th; - l = tl; - - a = l & 0xffff; b = l >>> 16; - c = h & 0xffff; d = h >>> 16; - - // Sigma0 - h = ((ah0 >>> 28) | (al0 << (32-28))) ^ ((al0 >>> (34-32)) | (ah0 << (32-(34-32)))) ^ ((al0 >>> (39-32)) | (ah0 << (32-(39-32)))); - l = ((al0 >>> 28) | (ah0 << (32-28))) ^ ((ah0 >>> (34-32)) | (al0 << (32-(34-32)))) ^ ((ah0 >>> (39-32)) | (al0 << (32-(39-32)))); - - a += l & 0xffff; b += l >>> 16; - c += h & 0xffff; d += h >>> 16; - - // Maj - h = (ah0 & ah1) ^ (ah0 & ah2) ^ (ah1 & ah2); - l = (al0 & al1) ^ (al0 & al2) ^ (al1 & al2); - - a += l & 0xffff; b += l >>> 16; - c += h & 0xffff; d += h >>> 16; - - b += a >>> 16; - c += b >>> 16; - d += c >>> 16; - - bh7 = (c & 0xffff) | (d << 16); - bl7 = (a & 0xffff) | (b << 16); - - // add - h = bh3; - l = bl3; - - a = l & 0xffff; b = l >>> 16; - c = h & 0xffff; d = h >>> 16; - - h = th; - l = tl; - - a += l & 0xffff; b += l >>> 16; - c += h & 0xffff; d += h >>> 16; - - b += a >>> 16; - c += b >>> 16; - d += c >>> 16; - - bh3 = (c & 0xffff) | (d << 16); - bl3 = (a & 0xffff) | (b << 16); - - ah1 = bh0; - ah2 = bh1; - ah3 = bh2; - ah4 = bh3; - ah5 = bh4; - ah6 = bh5; - ah7 = bh6; - ah0 = bh7; - - al1 = bl0; - al2 = bl1; - al3 = bl2; - al4 = bl3; - al5 = bl4; - al6 = bl5; - al7 = bl6; - al0 = bl7; - - if (i%16 === 15) { - for (j = 0; j < 16; j++) { - // add - h = wh[j]; - l = wl[j]; - - a = l & 0xffff; b = l >>> 16; - c = h & 0xffff; d = h >>> 16; - - h = wh[(j+9)%16]; - l = wl[(j+9)%16]; - - a += l & 0xffff; b += l >>> 16; - c += h & 0xffff; d += h >>> 16; - - // sigma0 - th = wh[(j+1)%16]; - tl = wl[(j+1)%16]; - h = ((th >>> 1) | (tl << (32-1))) ^ ((th >>> 8) | (tl << (32-8))) ^ (th >>> 7); - l = ((tl >>> 1) | (th << (32-1))) ^ ((tl >>> 8) | (th << (32-8))) ^ ((tl >>> 7) | (th << (32-7))); - - a += l & 0xffff; b += l >>> 16; - c += h & 0xffff; d += h >>> 16; - - // sigma1 - th = wh[(j+14)%16]; - tl = wl[(j+14)%16]; - h = ((th >>> 19) | (tl << (32-19))) ^ ((tl >>> (61-32)) | (th << (32-(61-32)))) ^ (th >>> 6); - l = ((tl >>> 19) | (th << (32-19))) ^ ((th >>> (61-32)) | (tl << (32-(61-32)))) ^ ((tl >>> 6) | (th << (32-6))); - - a += l & 0xffff; b += l >>> 16; - c += h & 0xffff; d += h >>> 16; - - b += a >>> 16; - c += b >>> 16; - d += c >>> 16; - - wh[j] = (c & 0xffff) | (d << 16); - wl[j] = (a & 0xffff) | (b << 16); - } - } - } - - // add - h = ah0; - l = al0; - - a = l & 0xffff; b = l >>> 16; - c = h & 0xffff; d = h >>> 16; - - h = hh[0]; - l = hl[0]; - - a += l & 0xffff; b += l >>> 16; - c += h & 0xffff; d += h >>> 16; - - b += a >>> 16; - c += b >>> 16; - d += c >>> 16; - - hh[0] = ah0 = (c & 0xffff) | (d << 16); - hl[0] = al0 = (a & 0xffff) | (b << 16); - - h = ah1; - l = al1; - - a = l & 0xffff; b = l >>> 16; - c = h & 0xffff; d = h >>> 16; - - h = hh[1]; - l = hl[1]; - - a += l & 0xffff; b += l >>> 16; - c += h & 0xffff; d += h >>> 16; - - b += a >>> 16; - c += b >>> 16; - d += c >>> 16; - - hh[1] = ah1 = (c & 0xffff) | (d << 16); - hl[1] = al1 = (a & 0xffff) | (b << 16); - - h = ah2; - l = al2; - - a = l & 0xffff; b = l >>> 16; - c = h & 0xffff; d = h >>> 16; - - h = hh[2]; - l = hl[2]; - - a += l & 0xffff; b += l >>> 16; - c += h & 0xffff; d += h >>> 16; - - b += a >>> 16; - c += b >>> 16; - d += c >>> 16; - - hh[2] = ah2 = (c & 0xffff) | (d << 16); - hl[2] = al2 = (a & 0xffff) | (b << 16); - - h = ah3; - l = al3; - - a = l & 0xffff; b = l >>> 16; - c = h & 0xffff; d = h >>> 16; - - h = hh[3]; - l = hl[3]; - - a += l & 0xffff; b += l >>> 16; - c += h & 0xffff; d += h >>> 16; - - b += a >>> 16; - c += b >>> 16; - d += c >>> 16; - - hh[3] = ah3 = (c & 0xffff) | (d << 16); - hl[3] = al3 = (a & 0xffff) | (b << 16); - - h = ah4; - l = al4; - - a = l & 0xffff; b = l >>> 16; - c = h & 0xffff; d = h >>> 16; - - h = hh[4]; - l = hl[4]; - - a += l & 0xffff; b += l >>> 16; - c += h & 0xffff; d += h >>> 16; - - b += a >>> 16; - c += b >>> 16; - d += c >>> 16; - - hh[4] = ah4 = (c & 0xffff) | (d << 16); - hl[4] = al4 = (a & 0xffff) | (b << 16); - - h = ah5; - l = al5; - - a = l & 0xffff; b = l >>> 16; - c = h & 0xffff; d = h >>> 16; - - h = hh[5]; - l = hl[5]; - - a += l & 0xffff; b += l >>> 16; - c += h & 0xffff; d += h >>> 16; - - b += a >>> 16; - c += b >>> 16; - d += c >>> 16; - - hh[5] = ah5 = (c & 0xffff) | (d << 16); - hl[5] = al5 = (a & 0xffff) | (b << 16); - - h = ah6; - l = al6; - - a = l & 0xffff; b = l >>> 16; - c = h & 0xffff; d = h >>> 16; - - h = hh[6]; - l = hl[6]; - - a += l & 0xffff; b += l >>> 16; - c += h & 0xffff; d += h >>> 16; - - b += a >>> 16; - c += b >>> 16; - d += c >>> 16; - - hh[6] = ah6 = (c & 0xffff) | (d << 16); - hl[6] = al6 = (a & 0xffff) | (b << 16); - - h = ah7; - l = al7; - - a = l & 0xffff; b = l >>> 16; - c = h & 0xffff; d = h >>> 16; - - h = hh[7]; - l = hl[7]; - - a += l & 0xffff; b += l >>> 16; - c += h & 0xffff; d += h >>> 16; - - b += a >>> 16; - c += b >>> 16; - d += c >>> 16; - - hh[7] = ah7 = (c & 0xffff) | (d << 16); - hl[7] = al7 = (a & 0xffff) | (b << 16); - - pos += 128; - n -= 128; - } - - return n; -} - -function crypto_hash(out, m, n) { - var hh = new Int32Array(8), - hl = new Int32Array(8), - x = new Uint8Array(256), - i, b = n; - - hh[0] = 0x6a09e667; - hh[1] = 0xbb67ae85; - hh[2] = 0x3c6ef372; - hh[3] = 0xa54ff53a; - hh[4] = 0x510e527f; - hh[5] = 0x9b05688c; - hh[6] = 0x1f83d9ab; - hh[7] = 0x5be0cd19; - - hl[0] = 0xf3bcc908; - hl[1] = 0x84caa73b; - hl[2] = 0xfe94f82b; - hl[3] = 0x5f1d36f1; - hl[4] = 0xade682d1; - hl[5] = 0x2b3e6c1f; - hl[6] = 0xfb41bd6b; - hl[7] = 0x137e2179; - - crypto_hashblocks_hl(hh, hl, m, n); - n %= 128; - - for (i = 0; i < n; i++) x[i] = m[b-n+i]; - x[n] = 128; - - n = 256-128*(n<112?1:0); - x[n-9] = 0; - ts64(x, n-8, (b / 0x20000000) | 0, b << 3); - crypto_hashblocks_hl(hh, hl, x, n); - - for (i = 0; i < 8; i++) ts64(out, 8*i, hh[i], hl[i]); - - return 0; -} - -function add(p, q) { - var a = gf(), b = gf(), c = gf(), - d = gf(), e = gf(), f = gf(), - g = gf(), h = gf(), t = gf(); - - Z(a, p[1], p[0]); - Z(t, q[1], q[0]); - M(a, a, t); - A(b, p[0], p[1]); - A(t, q[0], q[1]); - M(b, b, t); - M(c, p[3], q[3]); - M(c, c, D2); - M(d, p[2], q[2]); - A(d, d, d); - Z(e, b, a); - Z(f, d, c); - A(g, d, c); - A(h, b, a); - - M(p[0], e, f); - M(p[1], h, g); - M(p[2], g, f); - M(p[3], e, h); -} - -function cswap(p, q, b) { - var i; - for (i = 0; i < 4; i++) { - sel25519(p[i], q[i], b); - } -} - -function pack(r, p) { - var tx = gf(), ty = gf(), zi = gf(); - inv25519(zi, p[2]); - M(tx, p[0], zi); - M(ty, p[1], zi); - pack25519(r, ty); - r[31] ^= par25519(tx) << 7; -} - -function scalarmult(p, q, s) { - var b, i; - set25519(p[0], gf0); - set25519(p[1], gf1); - set25519(p[2], gf1); - set25519(p[3], gf0); - for (i = 255; i >= 0; --i) { - b = (s[(i/8)|0] >> (i&7)) & 1; - cswap(p, q, b); - add(q, p); - add(p, p); - cswap(p, q, b); - } -} - -function scalarbase(p, s) { - var q = [gf(), gf(), gf(), gf()]; - set25519(q[0], X); - set25519(q[1], Y); - set25519(q[2], gf1); - M(q[3], X, Y); - scalarmult(p, q, s); -} - -function crypto_sign_keypair(pk, sk, seeded) { - var d = new Uint8Array(64); - var p = [gf(), gf(), gf(), gf()]; - var i; - - if (!seeded) randombytes(sk, 32); - crypto_hash(d, sk, 32); - d[0] &= 248; - d[31] &= 127; - d[31] |= 64; - - scalarbase(p, d); - pack(pk, p); - - for (i = 0; i < 32; i++) sk[i+32] = pk[i]; - return 0; -} - -var L = new Float64Array([0xed, 0xd3, 0xf5, 0x5c, 0x1a, 0x63, 0x12, 0x58, 0xd6, 0x9c, 0xf7, 0xa2, 0xde, 0xf9, 0xde, 0x14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x10]); - -function modL(r, x) { - var carry, i, j, k; - for (i = 63; i >= 32; --i) { - carry = 0; - for (j = i - 32, k = i - 12; j < k; ++j) { - x[j] += carry - 16 * x[i] * L[j - (i - 32)]; - carry = (x[j] + 128) >> 8; - x[j] -= carry * 256; - } - x[j] += carry; - x[i] = 0; - } - carry = 0; - for (j = 0; j < 32; j++) { - x[j] += carry - (x[31] >> 4) * L[j]; - carry = x[j] >> 8; - x[j] &= 255; - } - for (j = 0; j < 32; j++) x[j] -= carry * L[j]; - for (i = 0; i < 32; i++) { - x[i+1] += x[i] >> 8; - r[i] = x[i] & 255; - } -} - -function reduce(r) { - var x = new Float64Array(64), i; - for (i = 0; i < 64; i++) x[i] = r[i]; - for (i = 0; i < 64; i++) r[i] = 0; - modL(r, x); -} - -// Note: difference from C - smlen returned, not passed as argument. -function crypto_sign(sm, m, n, sk) { - var d = new Uint8Array(64), h = new Uint8Array(64), r = new Uint8Array(64); - var i, j, x = new Float64Array(64); - var p = [gf(), gf(), gf(), gf()]; - - crypto_hash(d, sk, 32); - d[0] &= 248; - d[31] &= 127; - d[31] |= 64; - - var smlen = n + 64; - for (i = 0; i < n; i++) sm[64 + i] = m[i]; - for (i = 0; i < 32; i++) sm[32 + i] = d[32 + i]; - - crypto_hash(r, sm.subarray(32), n+32); - reduce(r); - scalarbase(p, r); - pack(sm, p); - - for (i = 32; i < 64; i++) sm[i] = sk[i]; - crypto_hash(h, sm, n + 64); - reduce(h); - - for (i = 0; i < 64; i++) x[i] = 0; - for (i = 0; i < 32; i++) x[i] = r[i]; - for (i = 0; i < 32; i++) { - for (j = 0; j < 32; j++) { - x[i+j] += h[i] * d[j]; - } - } - - modL(sm.subarray(32), x); - return smlen; -} - -function unpackneg(r, p) { - var t = gf(), chk = gf(), num = gf(), - den = gf(), den2 = gf(), den4 = gf(), - den6 = gf(); - - set25519(r[2], gf1); - unpack25519(r[1], p); - S(num, r[1]); - M(den, num, D); - Z(num, num, r[2]); - A(den, r[2], den); - - S(den2, den); - S(den4, den2); - M(den6, den4, den2); - M(t, den6, num); - M(t, t, den); - - pow2523(t, t); - M(t, t, num); - M(t, t, den); - M(t, t, den); - M(r[0], t, den); - - S(chk, r[0]); - M(chk, chk, den); - if (neq25519(chk, num)) M(r[0], r[0], I); - - S(chk, r[0]); - M(chk, chk, den); - if (neq25519(chk, num)) return -1; - - if (par25519(r[0]) === (p[31]>>7)) Z(r[0], gf0, r[0]); - - M(r[3], r[0], r[1]); - return 0; -} - -function crypto_sign_open(m, sm, n, pk) { - var i, mlen; - var t = new Uint8Array(32), h = new Uint8Array(64); - var p = [gf(), gf(), gf(), gf()], - q = [gf(), gf(), gf(), gf()]; - - mlen = -1; - if (n < 64) return -1; - - if (unpackneg(q, pk)) return -1; - - for (i = 0; i < n; i++) m[i] = sm[i]; - for (i = 0; i < 32; i++) m[i+32] = pk[i]; - crypto_hash(h, m, n); - reduce(h); - scalarmult(p, q, h); - - scalarbase(q, sm.subarray(32)); - add(p, q); - pack(t, p); - - n -= 64; - if (crypto_verify_32(sm, 0, t, 0)) { - for (i = 0; i < n; i++) m[i] = 0; - return -1; - } - - for (i = 0; i < n; i++) m[i] = sm[i + 64]; - mlen = n; - return mlen; -} - -var crypto_secretbox_KEYBYTES = 32, - crypto_secretbox_NONCEBYTES = 24, - crypto_secretbox_ZEROBYTES = 32, - crypto_secretbox_BOXZEROBYTES = 16, - crypto_scalarmult_BYTES = 32, - crypto_scalarmult_SCALARBYTES = 32, - crypto_box_PUBLICKEYBYTES = 32, - crypto_box_SECRETKEYBYTES = 32, - crypto_box_BEFORENMBYTES = 32, - crypto_box_NONCEBYTES = crypto_secretbox_NONCEBYTES, - crypto_box_ZEROBYTES = crypto_secretbox_ZEROBYTES, - crypto_box_BOXZEROBYTES = crypto_secretbox_BOXZEROBYTES, - crypto_sign_BYTES = 64, - crypto_sign_PUBLICKEYBYTES = 32, - crypto_sign_SECRETKEYBYTES = 64, - crypto_sign_SEEDBYTES = 32, - crypto_hash_BYTES = 64; - -nacl.lowlevel = { - crypto_core_hsalsa20: crypto_core_hsalsa20, - crypto_stream_xor: crypto_stream_xor, - crypto_stream: crypto_stream, - crypto_stream_salsa20_xor: crypto_stream_salsa20_xor, - crypto_stream_salsa20: crypto_stream_salsa20, - crypto_onetimeauth: crypto_onetimeauth, - crypto_onetimeauth_verify: crypto_onetimeauth_verify, - crypto_verify_16: crypto_verify_16, - crypto_verify_32: crypto_verify_32, - crypto_secretbox: crypto_secretbox, - crypto_secretbox_open: crypto_secretbox_open, - crypto_scalarmult: crypto_scalarmult, - crypto_scalarmult_base: crypto_scalarmult_base, - crypto_box_beforenm: crypto_box_beforenm, - crypto_box_afternm: crypto_box_afternm, - crypto_box: crypto_box, - crypto_box_open: crypto_box_open, - crypto_box_keypair: crypto_box_keypair, - crypto_hash: crypto_hash, - crypto_sign: crypto_sign, - crypto_sign_keypair: crypto_sign_keypair, - crypto_sign_open: crypto_sign_open, - - crypto_secretbox_KEYBYTES: crypto_secretbox_KEYBYTES, - crypto_secretbox_NONCEBYTES: crypto_secretbox_NONCEBYTES, - crypto_secretbox_ZEROBYTES: crypto_secretbox_ZEROBYTES, - crypto_secretbox_BOXZEROBYTES: crypto_secretbox_BOXZEROBYTES, - crypto_scalarmult_BYTES: crypto_scalarmult_BYTES, - crypto_scalarmult_SCALARBYTES: crypto_scalarmult_SCALARBYTES, - crypto_box_PUBLICKEYBYTES: crypto_box_PUBLICKEYBYTES, - crypto_box_SECRETKEYBYTES: crypto_box_SECRETKEYBYTES, - crypto_box_BEFORENMBYTES: crypto_box_BEFORENMBYTES, - crypto_box_NONCEBYTES: crypto_box_NONCEBYTES, - crypto_box_ZEROBYTES: crypto_box_ZEROBYTES, - crypto_box_BOXZEROBYTES: crypto_box_BOXZEROBYTES, - crypto_sign_BYTES: crypto_sign_BYTES, - crypto_sign_PUBLICKEYBYTES: crypto_sign_PUBLICKEYBYTES, - crypto_sign_SECRETKEYBYTES: crypto_sign_SECRETKEYBYTES, - crypto_sign_SEEDBYTES: crypto_sign_SEEDBYTES, - crypto_hash_BYTES: crypto_hash_BYTES -}; - -/* High-level API */ - -function checkLengths(k, n) { - if (k.length !== crypto_secretbox_KEYBYTES) throw new Error('bad key size'); - if (n.length !== crypto_secretbox_NONCEBYTES) throw new Error('bad nonce size'); -} - -function checkBoxLengths(pk, sk) { - if (pk.length !== crypto_box_PUBLICKEYBYTES) throw new Error('bad public key size'); - if (sk.length !== crypto_box_SECRETKEYBYTES) throw new Error('bad secret key size'); -} - -function checkArrayTypes() { - var t, i; - for (i = 0; i < arguments.length; i++) { - if ((t = Object.prototype.toString.call(arguments[i])) !== '[object Uint8Array]') - throw new TypeError('unexpected type ' + t + ', use Uint8Array'); - } -} - -function cleanup(arr) { - for (var i = 0; i < arr.length; i++) arr[i] = 0; -} - -// TODO: Completely remove this in v0.15. -if (!nacl.util) { - nacl.util = {}; - nacl.util.decodeUTF8 = nacl.util.encodeUTF8 = nacl.util.encodeBase64 = nacl.util.decodeBase64 = function() { - throw new Error('nacl.util moved into separate package: https://github.com/dchest/tweetnacl-util-js'); - }; -} - -nacl.randomBytes = function(n) { - var b = new Uint8Array(n); - randombytes(b, n); - return b; -}; - -nacl.secretbox = function(msg, nonce, key) { - checkArrayTypes(msg, nonce, key); - checkLengths(key, nonce); - var m = new Uint8Array(crypto_secretbox_ZEROBYTES + msg.length); - var c = new Uint8Array(m.length); - for (var i = 0; i < msg.length; i++) m[i+crypto_secretbox_ZEROBYTES] = msg[i]; - crypto_secretbox(c, m, m.length, nonce, key); - return c.subarray(crypto_secretbox_BOXZEROBYTES); -}; - -nacl.secretbox.open = function(box, nonce, key) { - checkArrayTypes(box, nonce, key); - checkLengths(key, nonce); - var c = new Uint8Array(crypto_secretbox_BOXZEROBYTES + box.length); - var m = new Uint8Array(c.length); - for (var i = 0; i < box.length; i++) c[i+crypto_secretbox_BOXZEROBYTES] = box[i]; - if (c.length < 32) return false; - if (crypto_secretbox_open(m, c, c.length, nonce, key) !== 0) return false; - return m.subarray(crypto_secretbox_ZEROBYTES); -}; - -nacl.secretbox.keyLength = crypto_secretbox_KEYBYTES; -nacl.secretbox.nonceLength = crypto_secretbox_NONCEBYTES; -nacl.secretbox.overheadLength = crypto_secretbox_BOXZEROBYTES; - -nacl.scalarMult = function(n, p) { - checkArrayTypes(n, p); - if (n.length !== crypto_scalarmult_SCALARBYTES) throw new Error('bad n size'); - if (p.length !== crypto_scalarmult_BYTES) throw new Error('bad p size'); - var q = new Uint8Array(crypto_scalarmult_BYTES); - crypto_scalarmult(q, n, p); - return q; -}; - -nacl.scalarMult.base = function(n) { - checkArrayTypes(n); - if (n.length !== crypto_scalarmult_SCALARBYTES) throw new Error('bad n size'); - var q = new Uint8Array(crypto_scalarmult_BYTES); - crypto_scalarmult_base(q, n); - return q; -}; - -nacl.scalarMult.scalarLength = crypto_scalarmult_SCALARBYTES; -nacl.scalarMult.groupElementLength = crypto_scalarmult_BYTES; - -nacl.box = function(msg, nonce, publicKey, secretKey) { - var k = nacl.box.before(publicKey, secretKey); - return nacl.secretbox(msg, nonce, k); -}; - -nacl.box.before = function(publicKey, secretKey) { - checkArrayTypes(publicKey, secretKey); - checkBoxLengths(publicKey, secretKey); - var k = new Uint8Array(crypto_box_BEFORENMBYTES); - crypto_box_beforenm(k, publicKey, secretKey); - return k; -}; - -nacl.box.after = nacl.secretbox; - -nacl.box.open = function(msg, nonce, publicKey, secretKey) { - var k = nacl.box.before(publicKey, secretKey); - return nacl.secretbox.open(msg, nonce, k); -}; - -nacl.box.open.after = nacl.secretbox.open; - -nacl.box.keyPair = function() { - var pk = new Uint8Array(crypto_box_PUBLICKEYBYTES); - var sk = new Uint8Array(crypto_box_SECRETKEYBYTES); - crypto_box_keypair(pk, sk); - return {publicKey: pk, secretKey: sk}; -}; - -nacl.box.keyPair.fromSecretKey = function(secretKey) { - checkArrayTypes(secretKey); - if (secretKey.length !== crypto_box_SECRETKEYBYTES) - throw new Error('bad secret key size'); - var pk = new Uint8Array(crypto_box_PUBLICKEYBYTES); - crypto_scalarmult_base(pk, secretKey); - return {publicKey: pk, secretKey: new Uint8Array(secretKey)}; -}; - -nacl.box.publicKeyLength = crypto_box_PUBLICKEYBYTES; -nacl.box.secretKeyLength = crypto_box_SECRETKEYBYTES; -nacl.box.sharedKeyLength = crypto_box_BEFORENMBYTES; -nacl.box.nonceLength = crypto_box_NONCEBYTES; -nacl.box.overheadLength = nacl.secretbox.overheadLength; - -nacl.sign = function(msg, secretKey) { - checkArrayTypes(msg, secretKey); - if (secretKey.length !== crypto_sign_SECRETKEYBYTES) - throw new Error('bad secret key size'); - var signedMsg = new Uint8Array(crypto_sign_BYTES+msg.length); - crypto_sign(signedMsg, msg, msg.length, secretKey); - return signedMsg; -}; - -nacl.sign.open = function(signedMsg, publicKey) { - if (arguments.length !== 2) - throw new Error('nacl.sign.open accepts 2 arguments; did you mean to use nacl.sign.detached.verify?'); - checkArrayTypes(signedMsg, publicKey); - if (publicKey.length !== crypto_sign_PUBLICKEYBYTES) - throw new Error('bad public key size'); - var tmp = new Uint8Array(signedMsg.length); - var mlen = crypto_sign_open(tmp, signedMsg, signedMsg.length, publicKey); - if (mlen < 0) return null; - var m = new Uint8Array(mlen); - for (var i = 0; i < m.length; i++) m[i] = tmp[i]; - return m; -}; - -nacl.sign.detached = function(msg, secretKey) { - var signedMsg = nacl.sign(msg, secretKey); - var sig = new Uint8Array(crypto_sign_BYTES); - for (var i = 0; i < sig.length; i++) sig[i] = signedMsg[i]; - return sig; -}; - -nacl.sign.detached.verify = function(msg, sig, publicKey) { - checkArrayTypes(msg, sig, publicKey); - if (sig.length !== crypto_sign_BYTES) - throw new Error('bad signature size'); - if (publicKey.length !== crypto_sign_PUBLICKEYBYTES) - throw new Error('bad public key size'); - var sm = new Uint8Array(crypto_sign_BYTES + msg.length); - var m = new Uint8Array(crypto_sign_BYTES + msg.length); - var i; - for (i = 0; i < crypto_sign_BYTES; i++) sm[i] = sig[i]; - for (i = 0; i < msg.length; i++) sm[i+crypto_sign_BYTES] = msg[i]; - return (crypto_sign_open(m, sm, sm.length, publicKey) >= 0); -}; - -nacl.sign.keyPair = function() { - var pk = new Uint8Array(crypto_sign_PUBLICKEYBYTES); - var sk = new Uint8Array(crypto_sign_SECRETKEYBYTES); - crypto_sign_keypair(pk, sk); - return {publicKey: pk, secretKey: sk}; -}; - -nacl.sign.keyPair.fromSecretKey = function(secretKey) { - checkArrayTypes(secretKey); - if (secretKey.length !== crypto_sign_SECRETKEYBYTES) - throw new Error('bad secret key size'); - var pk = new Uint8Array(crypto_sign_PUBLICKEYBYTES); - for (var i = 0; i < pk.length; i++) pk[i] = secretKey[32+i]; - return {publicKey: pk, secretKey: new Uint8Array(secretKey)}; -}; - -nacl.sign.keyPair.fromSeed = function(seed) { - checkArrayTypes(seed); - if (seed.length !== crypto_sign_SEEDBYTES) - throw new Error('bad seed size'); - var pk = new Uint8Array(crypto_sign_PUBLICKEYBYTES); - var sk = new Uint8Array(crypto_sign_SECRETKEYBYTES); - for (var i = 0; i < 32; i++) sk[i] = seed[i]; - crypto_sign_keypair(pk, sk, true); - return {publicKey: pk, secretKey: sk}; -}; - -nacl.sign.publicKeyLength = crypto_sign_PUBLICKEYBYTES; -nacl.sign.secretKeyLength = crypto_sign_SECRETKEYBYTES; -nacl.sign.seedLength = crypto_sign_SEEDBYTES; -nacl.sign.signatureLength = crypto_sign_BYTES; - -nacl.hash = function(msg) { - checkArrayTypes(msg); - var h = new Uint8Array(crypto_hash_BYTES); - crypto_hash(h, msg, msg.length); - return h; -}; - -nacl.hash.hashLength = crypto_hash_BYTES; - -nacl.verify = function(x, y) { - checkArrayTypes(x, y); - // Zero length arguments are considered not equal. - if (x.length === 0 || y.length === 0) return false; - if (x.length !== y.length) return false; - return (vn(x, 0, y, 0, x.length) === 0) ? true : false; -}; - -nacl.setPRNG = function(fn) { - randombytes = fn; -}; - -(function() { - // Initialize PRNG if environment provides CSPRNG. - // If not, methods calling randombytes will throw. - var crypto = typeof self !== 'undefined' ? (self.crypto || self.msCrypto) : null; - if (crypto && crypto.getRandomValues) { - // Browsers. - var QUOTA = 65536; - nacl.setPRNG(function(x, n) { - var i, v = new Uint8Array(n); - for (i = 0; i < n; i += QUOTA) { - crypto.getRandomValues(v.subarray(i, i + Math.min(n - i, QUOTA))); - } - for (i = 0; i < n; i++) x[i] = v[i]; - cleanup(v); - }); - } else if (typeof require !== 'undefined') { - // Node.js. - crypto = require('crypto'); - if (crypto && crypto.randomBytes) { - nacl.setPRNG(function(x, n) { - var i, v = crypto.randomBytes(n); - for (i = 0; i < n; i++) x[i] = v[i]; - cleanup(v); - }); - } - } -})(); - -})(typeof module !== 'undefined' && module.exports ? module.exports : (self.nacl = self.nacl || {})); diff --git a/publi/node_modules/tweetnacl/nacl-fast.min.js b/publi/node_modules/tweetnacl/nacl-fast.min.js deleted file mode 100644 index 8bc47da..0000000 --- a/publi/node_modules/tweetnacl/nacl-fast.min.js +++ /dev/null @@ -1,2 +0,0 @@ -!function(r){"use strict";function t(r,t,n,e){r[t]=n>>24&255,r[t+1]=n>>16&255,r[t+2]=n>>8&255,r[t+3]=255&n,r[t+4]=e>>24&255,r[t+5]=e>>16&255,r[t+6]=e>>8&255,r[t+7]=255&e}function n(r,t,n,e,o){var i,h=0;for(i=0;i>>8)-1}function e(r,t,e,o){return n(r,t,e,o,16)}function o(r,t,e,o){return n(r,t,e,o,32)}function i(r,t,n,e){for(var o,i=255&e[0]|(255&e[1])<<8|(255&e[2])<<16|(255&e[3])<<24,h=255&n[0]|(255&n[1])<<8|(255&n[2])<<16|(255&n[3])<<24,a=255&n[4]|(255&n[5])<<8|(255&n[6])<<16|(255&n[7])<<24,f=255&n[8]|(255&n[9])<<8|(255&n[10])<<16|(255&n[11])<<24,s=255&n[12]|(255&n[13])<<8|(255&n[14])<<16|(255&n[15])<<24,c=255&e[4]|(255&e[5])<<8|(255&e[6])<<16|(255&e[7])<<24,u=255&t[0]|(255&t[1])<<8|(255&t[2])<<16|(255&t[3])<<24,y=255&t[4]|(255&t[5])<<8|(255&t[6])<<16|(255&t[7])<<24,l=255&t[8]|(255&t[9])<<8|(255&t[10])<<16|(255&t[11])<<24,w=255&t[12]|(255&t[13])<<8|(255&t[14])<<16|(255&t[15])<<24,p=255&e[8]|(255&e[9])<<8|(255&e[10])<<16|(255&e[11])<<24,v=255&n[16]|(255&n[17])<<8|(255&n[18])<<16|(255&n[19])<<24,b=255&n[20]|(255&n[21])<<8|(255&n[22])<<16|(255&n[23])<<24,g=255&n[24]|(255&n[25])<<8|(255&n[26])<<16|(255&n[27])<<24,_=255&n[28]|(255&n[29])<<8|(255&n[30])<<16|(255&n[31])<<24,A=255&e[12]|(255&e[13])<<8|(255&e[14])<<16|(255&e[15])<<24,d=i,U=h,E=a,x=f,M=s,m=c,B=u,S=y,K=l,T=w,Y=p,k=v,L=b,z=g,R=_,P=A,O=0;O<20;O+=2)o=d+L|0,M^=o<<7|o>>>25,o=M+d|0,K^=o<<9|o>>>23,o=K+M|0,L^=o<<13|o>>>19,o=L+K|0,d^=o<<18|o>>>14,o=m+U|0,T^=o<<7|o>>>25,o=T+m|0,z^=o<<9|o>>>23,o=z+T|0,U^=o<<13|o>>>19,o=U+z|0,m^=o<<18|o>>>14,o=Y+B|0,R^=o<<7|o>>>25,o=R+Y|0,E^=o<<9|o>>>23,o=E+R|0,B^=o<<13|o>>>19,o=B+E|0,Y^=o<<18|o>>>14,o=P+k|0,x^=o<<7|o>>>25,o=x+P|0,S^=o<<9|o>>>23,o=S+x|0,k^=o<<13|o>>>19,o=k+S|0,P^=o<<18|o>>>14,o=d+x|0,U^=o<<7|o>>>25,o=U+d|0,E^=o<<9|o>>>23,o=E+U|0,x^=o<<13|o>>>19,o=x+E|0,d^=o<<18|o>>>14,o=m+M|0,B^=o<<7|o>>>25,o=B+m|0,S^=o<<9|o>>>23,o=S+B|0,M^=o<<13|o>>>19,o=M+S|0,m^=o<<18|o>>>14,o=Y+T|0,k^=o<<7|o>>>25,o=k+Y|0,K^=o<<9|o>>>23,o=K+k|0,T^=o<<13|o>>>19,o=T+K|0,Y^=o<<18|o>>>14,o=P+R|0,L^=o<<7|o>>>25,o=L+P|0,z^=o<<9|o>>>23,o=z+L|0,R^=o<<13|o>>>19,o=R+z|0,P^=o<<18|o>>>14;d=d+i|0,U=U+h|0,E=E+a|0,x=x+f|0,M=M+s|0,m=m+c|0,B=B+u|0,S=S+y|0,K=K+l|0,T=T+w|0,Y=Y+p|0,k=k+v|0,L=L+b|0,z=z+g|0,R=R+_|0,P=P+A|0,r[0]=d>>>0&255,r[1]=d>>>8&255,r[2]=d>>>16&255,r[3]=d>>>24&255,r[4]=U>>>0&255,r[5]=U>>>8&255,r[6]=U>>>16&255,r[7]=U>>>24&255,r[8]=E>>>0&255,r[9]=E>>>8&255,r[10]=E>>>16&255,r[11]=E>>>24&255,r[12]=x>>>0&255,r[13]=x>>>8&255,r[14]=x>>>16&255,r[15]=x>>>24&255,r[16]=M>>>0&255,r[17]=M>>>8&255,r[18]=M>>>16&255,r[19]=M>>>24&255,r[20]=m>>>0&255,r[21]=m>>>8&255,r[22]=m>>>16&255,r[23]=m>>>24&255,r[24]=B>>>0&255,r[25]=B>>>8&255,r[26]=B>>>16&255,r[27]=B>>>24&255,r[28]=S>>>0&255,r[29]=S>>>8&255,r[30]=S>>>16&255,r[31]=S>>>24&255,r[32]=K>>>0&255,r[33]=K>>>8&255,r[34]=K>>>16&255,r[35]=K>>>24&255,r[36]=T>>>0&255,r[37]=T>>>8&255,r[38]=T>>>16&255,r[39]=T>>>24&255,r[40]=Y>>>0&255,r[41]=Y>>>8&255,r[42]=Y>>>16&255,r[43]=Y>>>24&255,r[44]=k>>>0&255,r[45]=k>>>8&255,r[46]=k>>>16&255,r[47]=k>>>24&255,r[48]=L>>>0&255,r[49]=L>>>8&255,r[50]=L>>>16&255,r[51]=L>>>24&255,r[52]=z>>>0&255,r[53]=z>>>8&255,r[54]=z>>>16&255,r[55]=z>>>24&255,r[56]=R>>>0&255,r[57]=R>>>8&255,r[58]=R>>>16&255,r[59]=R>>>24&255,r[60]=P>>>0&255,r[61]=P>>>8&255,r[62]=P>>>16&255,r[63]=P>>>24&255}function h(r,t,n,e){for(var o,i=255&e[0]|(255&e[1])<<8|(255&e[2])<<16|(255&e[3])<<24,h=255&n[0]|(255&n[1])<<8|(255&n[2])<<16|(255&n[3])<<24,a=255&n[4]|(255&n[5])<<8|(255&n[6])<<16|(255&n[7])<<24,f=255&n[8]|(255&n[9])<<8|(255&n[10])<<16|(255&n[11])<<24,s=255&n[12]|(255&n[13])<<8|(255&n[14])<<16|(255&n[15])<<24,c=255&e[4]|(255&e[5])<<8|(255&e[6])<<16|(255&e[7])<<24,u=255&t[0]|(255&t[1])<<8|(255&t[2])<<16|(255&t[3])<<24,y=255&t[4]|(255&t[5])<<8|(255&t[6])<<16|(255&t[7])<<24,l=255&t[8]|(255&t[9])<<8|(255&t[10])<<16|(255&t[11])<<24,w=255&t[12]|(255&t[13])<<8|(255&t[14])<<16|(255&t[15])<<24,p=255&e[8]|(255&e[9])<<8|(255&e[10])<<16|(255&e[11])<<24,v=255&n[16]|(255&n[17])<<8|(255&n[18])<<16|(255&n[19])<<24,b=255&n[20]|(255&n[21])<<8|(255&n[22])<<16|(255&n[23])<<24,g=255&n[24]|(255&n[25])<<8|(255&n[26])<<16|(255&n[27])<<24,_=255&n[28]|(255&n[29])<<8|(255&n[30])<<16|(255&n[31])<<24,A=255&e[12]|(255&e[13])<<8|(255&e[14])<<16|(255&e[15])<<24,d=i,U=h,E=a,x=f,M=s,m=c,B=u,S=y,K=l,T=w,Y=p,k=v,L=b,z=g,R=_,P=A,O=0;O<20;O+=2)o=d+L|0,M^=o<<7|o>>>25,o=M+d|0,K^=o<<9|o>>>23,o=K+M|0,L^=o<<13|o>>>19,o=L+K|0,d^=o<<18|o>>>14,o=m+U|0,T^=o<<7|o>>>25,o=T+m|0,z^=o<<9|o>>>23,o=z+T|0,U^=o<<13|o>>>19,o=U+z|0,m^=o<<18|o>>>14,o=Y+B|0,R^=o<<7|o>>>25,o=R+Y|0,E^=o<<9|o>>>23,o=E+R|0,B^=o<<13|o>>>19,o=B+E|0,Y^=o<<18|o>>>14,o=P+k|0,x^=o<<7|o>>>25,o=x+P|0,S^=o<<9|o>>>23,o=S+x|0,k^=o<<13|o>>>19,o=k+S|0,P^=o<<18|o>>>14,o=d+x|0,U^=o<<7|o>>>25,o=U+d|0,E^=o<<9|o>>>23,o=E+U|0,x^=o<<13|o>>>19,o=x+E|0,d^=o<<18|o>>>14,o=m+M|0,B^=o<<7|o>>>25,o=B+m|0,S^=o<<9|o>>>23,o=S+B|0,M^=o<<13|o>>>19,o=M+S|0,m^=o<<18|o>>>14,o=Y+T|0,k^=o<<7|o>>>25,o=k+Y|0,K^=o<<9|o>>>23,o=K+k|0,T^=o<<13|o>>>19,o=T+K|0,Y^=o<<18|o>>>14,o=P+R|0,L^=o<<7|o>>>25,o=L+P|0,z^=o<<9|o>>>23,o=z+L|0,R^=o<<13|o>>>19,o=R+z|0,P^=o<<18|o>>>14;r[0]=d>>>0&255,r[1]=d>>>8&255,r[2]=d>>>16&255,r[3]=d>>>24&255,r[4]=m>>>0&255,r[5]=m>>>8&255,r[6]=m>>>16&255,r[7]=m>>>24&255,r[8]=Y>>>0&255,r[9]=Y>>>8&255,r[10]=Y>>>16&255,r[11]=Y>>>24&255,r[12]=P>>>0&255,r[13]=P>>>8&255,r[14]=P>>>16&255,r[15]=P>>>24&255,r[16]=B>>>0&255,r[17]=B>>>8&255,r[18]=B>>>16&255,r[19]=B>>>24&255,r[20]=S>>>0&255,r[21]=S>>>8&255,r[22]=S>>>16&255,r[23]=S>>>24&255,r[24]=K>>>0&255,r[25]=K>>>8&255,r[26]=K>>>16&255,r[27]=K>>>24&255,r[28]=T>>>0&255,r[29]=T>>>8&255,r[30]=T>>>16&255,r[31]=T>>>24&255}function a(r,t,n,e){i(r,t,n,e)}function f(r,t,n,e){h(r,t,n,e)}function s(r,t,n,e,o,i,h){var f,s,c=new Uint8Array(16),u=new Uint8Array(64);for(s=0;s<16;s++)c[s]=0;for(s=0;s<8;s++)c[s]=i[s];for(;o>=64;){for(a(u,c,h,ur),s=0;s<64;s++)r[t+s]=n[e+s]^u[s];for(f=1,s=8;s<16;s++)f=f+(255&c[s])|0,c[s]=255&f,f>>>=8;o-=64,t+=64,e+=64}if(o>0)for(a(u,c,h,ur),s=0;s=64;){for(a(s,f,o,ur),h=0;h<64;h++)r[t+h]=s[h];for(i=1,h=8;h<16;h++)i=i+(255&f[h])|0,f[h]=255&i,i>>>=8;n-=64,t+=64}if(n>0)for(a(s,f,o,ur),h=0;h>16&1),i[n-1]&=65535;i[15]=h[15]-32767-(i[14]>>16&1),o=i[15]>>16&1,i[14]&=65535,_(h,i,1-o)}for(n=0;n<16;n++)r[2*n]=255&h[n],r[2*n+1]=h[n]>>8}function d(r,t){var n=new Uint8Array(32),e=new Uint8Array(32);return A(n,r),A(e,t),o(n,0,e,0)}function U(r){var t=new Uint8Array(32);return A(t,r),1&t[0]}function E(r,t){var n;for(n=0;n<16;n++)r[n]=t[2*n]+(t[2*n+1]<<8);r[15]&=32767}function x(r,t,n){for(var e=0;e<16;e++)r[e]=t[e]+n[e]}function M(r,t,n){for(var e=0;e<16;e++)r[e]=t[e]-n[e]}function m(r,t,n){var e,o,i=0,h=0,a=0,f=0,s=0,c=0,u=0,y=0,l=0,w=0,p=0,v=0,b=0,g=0,_=0,A=0,d=0,U=0,E=0,x=0,M=0,m=0,B=0,S=0,K=0,T=0,Y=0,k=0,L=0,z=0,R=0,P=n[0],O=n[1],N=n[2],C=n[3],F=n[4],I=n[5],G=n[6],Z=n[7],j=n[8],q=n[9],V=n[10],X=n[11],D=n[12],H=n[13],J=n[14],Q=n[15];e=t[0],i+=e*P,h+=e*O,a+=e*N,f+=e*C,s+=e*F,c+=e*I,u+=e*G,y+=e*Z,l+=e*j,w+=e*q,p+=e*V,v+=e*X,b+=e*D,g+=e*H,_+=e*J,A+=e*Q,e=t[1],h+=e*P,a+=e*O,f+=e*N,s+=e*C,c+=e*F,u+=e*I,y+=e*G,l+=e*Z,w+=e*j,p+=e*q,v+=e*V,b+=e*X,g+=e*D,_+=e*H,A+=e*J,d+=e*Q,e=t[2],a+=e*P,f+=e*O,s+=e*N,c+=e*C,u+=e*F,y+=e*I,l+=e*G,w+=e*Z,p+=e*j,v+=e*q,b+=e*V,g+=e*X,_+=e*D,A+=e*H,d+=e*J,U+=e*Q,e=t[3],f+=e*P,s+=e*O,c+=e*N,u+=e*C,y+=e*F,l+=e*I,w+=e*G,p+=e*Z,v+=e*j,b+=e*q,g+=e*V,_+=e*X,A+=e*D,d+=e*H,U+=e*J,E+=e*Q,e=t[4],s+=e*P,c+=e*O,u+=e*N,y+=e*C,l+=e*F,w+=e*I,p+=e*G,v+=e*Z,b+=e*j,g+=e*q,_+=e*V,A+=e*X,d+=e*D,U+=e*H,E+=e*J,x+=e*Q,e=t[5],c+=e*P,u+=e*O,y+=e*N,l+=e*C,w+=e*F,p+=e*I,v+=e*G,b+=e*Z,g+=e*j,_+=e*q,A+=e*V,d+=e*X,U+=e*D,E+=e*H,x+=e*J,M+=e*Q,e=t[6],u+=e*P,y+=e*O,l+=e*N,w+=e*C,p+=e*F,v+=e*I,b+=e*G,g+=e*Z,_+=e*j,A+=e*q,d+=e*V,U+=e*X,E+=e*D,x+=e*H,M+=e*J,m+=e*Q,e=t[7],y+=e*P,l+=e*O,w+=e*N,p+=e*C,v+=e*F,b+=e*I,g+=e*G,_+=e*Z,A+=e*j,d+=e*q,U+=e*V,E+=e*X,x+=e*D,M+=e*H,m+=e*J,B+=e*Q,e=t[8],l+=e*P,w+=e*O,p+=e*N,v+=e*C,b+=e*F,g+=e*I,_+=e*G,A+=e*Z,d+=e*j,U+=e*q,E+=e*V,x+=e*X,M+=e*D,m+=e*H,B+=e*J,S+=e*Q,e=t[9],w+=e*P,p+=e*O,v+=e*N,b+=e*C,g+=e*F,_+=e*I,A+=e*G,d+=e*Z,U+=e*j,E+=e*q,x+=e*V,M+=e*X,m+=e*D,B+=e*H,S+=e*J,K+=e*Q,e=t[10],p+=e*P,v+=e*O,b+=e*N,g+=e*C,_+=e*F,A+=e*I,d+=e*G,U+=e*Z,E+=e*j,x+=e*q,M+=e*V,m+=e*X,B+=e*D,S+=e*H,K+=e*J,T+=e*Q,e=t[11],v+=e*P,b+=e*O,g+=e*N,_+=e*C,A+=e*F,d+=e*I,U+=e*G,E+=e*Z,x+=e*j,M+=e*q,m+=e*V,B+=e*X;S+=e*D;K+=e*H,T+=e*J,Y+=e*Q,e=t[12],b+=e*P,g+=e*O,_+=e*N,A+=e*C,d+=e*F,U+=e*I,E+=e*G,x+=e*Z,M+=e*j,m+=e*q,B+=e*V,S+=e*X,K+=e*D,T+=e*H,Y+=e*J,k+=e*Q,e=t[13],g+=e*P,_+=e*O,A+=e*N,d+=e*C,U+=e*F,E+=e*I,x+=e*G,M+=e*Z,m+=e*j,B+=e*q,S+=e*V,K+=e*X,T+=e*D,Y+=e*H,k+=e*J,L+=e*Q,e=t[14],_+=e*P,A+=e*O,d+=e*N,U+=e*C,E+=e*F,x+=e*I,M+=e*G,m+=e*Z,B+=e*j,S+=e*q,K+=e*V,T+=e*X,Y+=e*D,k+=e*H,L+=e*J,z+=e*Q,e=t[15],A+=e*P,d+=e*O,U+=e*N,E+=e*C,x+=e*F,M+=e*I,m+=e*G,B+=e*Z,S+=e*j,K+=e*q,T+=e*V,Y+=e*X,k+=e*D,L+=e*H,z+=e*J,R+=e*Q,i+=38*d,h+=38*U,a+=38*E,f+=38*x,s+=38*M,c+=38*m,u+=38*B,y+=38*S,l+=38*K,w+=38*T,p+=38*Y,v+=38*k,b+=38*L,g+=38*z,_+=38*R,o=1,e=i+o+65535,o=Math.floor(e/65536),i=e-65536*o,e=h+o+65535,o=Math.floor(e/65536),h=e-65536*o,e=a+o+65535,o=Math.floor(e/65536),a=e-65536*o,e=f+o+65535,o=Math.floor(e/65536),f=e-65536*o,e=s+o+65535,o=Math.floor(e/65536),s=e-65536*o,e=c+o+65535,o=Math.floor(e/65536),c=e-65536*o,e=u+o+65535,o=Math.floor(e/65536),u=e-65536*o,e=y+o+65535,o=Math.floor(e/65536),y=e-65536*o,e=l+o+65535,o=Math.floor(e/65536),l=e-65536*o,e=w+o+65535,o=Math.floor(e/65536),w=e-65536*o,e=p+o+65535,o=Math.floor(e/65536),p=e-65536*o,e=v+o+65535,o=Math.floor(e/65536),v=e-65536*o,e=b+o+65535,o=Math.floor(e/65536),b=e-65536*o,e=g+o+65535,o=Math.floor(e/65536),g=e-65536*o,e=_+o+65535,o=Math.floor(e/65536),_=e-65536*o,e=A+o+65535,o=Math.floor(e/65536),A=e-65536*o,i+=o-1+37*(o-1),o=1,e=i+o+65535,o=Math.floor(e/65536),i=e-65536*o,e=h+o+65535,o=Math.floor(e/65536),h=e-65536*o,e=a+o+65535,o=Math.floor(e/65536),a=e-65536*o,e=f+o+65535,o=Math.floor(e/65536),f=e-65536*o,e=s+o+65535,o=Math.floor(e/65536),s=e-65536*o,e=c+o+65535,o=Math.floor(e/65536),c=e-65536*o,e=u+o+65535,o=Math.floor(e/65536),u=e-65536*o,e=y+o+65535,o=Math.floor(e/65536),y=e-65536*o,e=l+o+65535,o=Math.floor(e/65536),l=e-65536*o,e=w+o+65535,o=Math.floor(e/65536),w=e-65536*o,e=p+o+65535,o=Math.floor(e/65536),p=e-65536*o,e=v+o+65535,o=Math.floor(e/65536),v=e-65536*o,e=b+o+65535,o=Math.floor(e/65536),b=e-65536*o,e=g+o+65535,o=Math.floor(e/65536),g=e-65536*o,e=_+o+65535,o=Math.floor(e/65536),_=e-65536*o,e=A+o+65535,o=Math.floor(e/65536),A=e-65536*o,i+=o-1+37*(o-1),r[0]=i,r[1]=h,r[2]=a,r[3]=f,r[4]=s,r[5]=c,r[6]=u,r[7]=y,r[8]=l,r[9]=w,r[10]=p,r[11]=v,r[12]=b,r[13]=g;r[14]=_;r[15]=A}function B(r,t){m(r,t,t)}function S(r,t){var n,e=$();for(n=0;n<16;n++)e[n]=t[n];for(n=253;n>=0;n--)B(e,e),2!==n&&4!==n&&m(e,e,t);for(n=0;n<16;n++)r[n]=e[n]}function K(r,t){var n,e=$();for(n=0;n<16;n++)e[n]=t[n];for(n=250;n>=0;n--)B(e,e),1!==n&&m(e,e,t);for(n=0;n<16;n++)r[n]=e[n]}function T(r,t,n){var e,o,i=new Uint8Array(32),h=new Float64Array(80),a=$(),f=$(),s=$(),c=$(),u=$(),y=$();for(o=0;o<31;o++)i[o]=t[o];for(i[31]=127&t[31]|64,i[0]&=248,E(h,n),o=0;o<16;o++)f[o]=h[o],c[o]=a[o]=s[o]=0;for(a[0]=c[0]=1,o=254;o>=0;--o)e=i[o>>>3]>>>(7&o)&1,_(a,f,e),_(s,c,e),x(u,a,s),M(a,a,s),x(s,f,c),M(f,f,c),B(c,u),B(y,a),m(a,s,a),m(s,f,u),x(u,a,s),M(a,a,s),B(f,a),M(s,c,y),m(a,s,ir),x(a,a,c),m(s,s,a),m(a,c,y),m(c,f,h),B(f,u),_(a,f,e),_(s,c,e);for(o=0;o<16;o++)h[o+16]=a[o],h[o+32]=s[o],h[o+48]=f[o],h[o+64]=c[o];var l=h.subarray(32),w=h.subarray(16);return S(l,l),m(w,w,l),A(r,w),0}function Y(r,t){return T(r,t,nr)}function k(r,t){return rr(t,32),Y(r,t)}function L(r,t,n){var e=new Uint8Array(32);return T(e,n,t),f(r,tr,e,ur)}function z(r,t,n,e,o,i){var h=new Uint8Array(32);return L(h,o,i),lr(r,t,n,e,h)}function R(r,t,n,e,o,i){var h=new Uint8Array(32);return L(h,o,i),wr(r,t,n,e,h)}function P(r,t,n,e){for(var o,i,h,a,f,s,c,u,y,l,w,p,v,b,g,_,A,d,U,E,x,M,m,B,S,K,T=new Int32Array(16),Y=new Int32Array(16),k=r[0],L=r[1],z=r[2],R=r[3],P=r[4],O=r[5],N=r[6],C=r[7],F=t[0],I=t[1],G=t[2],Z=t[3],j=t[4],q=t[5],V=t[6],X=t[7],D=0;e>=128;){for(U=0;U<16;U++)E=8*U+D,T[U]=n[E+0]<<24|n[E+1]<<16|n[E+2]<<8|n[E+3],Y[U]=n[E+4]<<24|n[E+5]<<16|n[E+6]<<8|n[E+7];for(U=0;U<80;U++)if(o=k,i=L,h=z,a=R,f=P,s=O,c=N,u=C,y=F,l=I,w=G,p=Z,v=j,b=q,g=V,_=X,x=C,M=X,m=65535&M,B=M>>>16,S=65535&x,K=x>>>16,x=(P>>>14|j<<18)^(P>>>18|j<<14)^(j>>>9|P<<23),M=(j>>>14|P<<18)^(j>>>18|P<<14)^(P>>>9|j<<23),m+=65535&M,B+=M>>>16,S+=65535&x,K+=x>>>16,x=P&O^~P&N,M=j&q^~j&V,m+=65535&M,B+=M>>>16,S+=65535&x,K+=x>>>16,x=pr[2*U],M=pr[2*U+1],m+=65535&M,B+=M>>>16,S+=65535&x,K+=x>>>16,x=T[U%16],M=Y[U%16],m+=65535&M,B+=M>>>16,S+=65535&x,K+=x>>>16,B+=m>>>16,S+=B>>>16,K+=S>>>16,A=65535&S|K<<16,d=65535&m|B<<16,x=A,M=d,m=65535&M,B=M>>>16,S=65535&x,K=x>>>16,x=(k>>>28|F<<4)^(F>>>2|k<<30)^(F>>>7|k<<25),M=(F>>>28|k<<4)^(k>>>2|F<<30)^(k>>>7|F<<25),m+=65535&M,B+=M>>>16,S+=65535&x,K+=x>>>16,x=k&L^k&z^L&z,M=F&I^F&G^I&G,m+=65535&M,B+=M>>>16,S+=65535&x,K+=x>>>16,B+=m>>>16,S+=B>>>16,K+=S>>>16,u=65535&S|K<<16,_=65535&m|B<<16,x=a,M=p,m=65535&M,B=M>>>16,S=65535&x,K=x>>>16,x=A,M=d,m+=65535&M,B+=M>>>16,S+=65535&x,K+=x>>>16,B+=m>>>16,S+=B>>>16,K+=S>>>16,a=65535&S|K<<16,p=65535&m|B<<16,L=o,z=i,R=h,P=a,O=f,N=s,C=c,k=u,I=y,G=l,Z=w,j=p,q=v,V=b,X=g,F=_,U%16===15)for(E=0;E<16;E++)x=T[E],M=Y[E],m=65535&M,B=M>>>16,S=65535&x,K=x>>>16,x=T[(E+9)%16],M=Y[(E+9)%16],m+=65535&M,B+=M>>>16,S+=65535&x,K+=x>>>16,A=T[(E+1)%16],d=Y[(E+1)%16],x=(A>>>1|d<<31)^(A>>>8|d<<24)^A>>>7,M=(d>>>1|A<<31)^(d>>>8|A<<24)^(d>>>7|A<<25),m+=65535&M,B+=M>>>16,S+=65535&x,K+=x>>>16,A=T[(E+14)%16],d=Y[(E+14)%16],x=(A>>>19|d<<13)^(d>>>29|A<<3)^A>>>6,M=(d>>>19|A<<13)^(A>>>29|d<<3)^(d>>>6|A<<26),m+=65535&M,B+=M>>>16,S+=65535&x,K+=x>>>16,B+=m>>>16,S+=B>>>16,K+=S>>>16,T[E]=65535&S|K<<16,Y[E]=65535&m|B<<16;x=k,M=F,m=65535&M,B=M>>>16,S=65535&x,K=x>>>16,x=r[0],M=t[0],m+=65535&M,B+=M>>>16,S+=65535&x,K+=x>>>16,B+=m>>>16,S+=B>>>16,K+=S>>>16,r[0]=k=65535&S|K<<16,t[0]=F=65535&m|B<<16,x=L,M=I,m=65535&M,B=M>>>16,S=65535&x,K=x>>>16,x=r[1],M=t[1],m+=65535&M,B+=M>>>16,S+=65535&x,K+=x>>>16,B+=m>>>16,S+=B>>>16,K+=S>>>16,r[1]=L=65535&S|K<<16,t[1]=I=65535&m|B<<16,x=z,M=G,m=65535&M,B=M>>>16,S=65535&x,K=x>>>16,x=r[2],M=t[2],m+=65535&M,B+=M>>>16,S+=65535&x,K+=x>>>16,B+=m>>>16,S+=B>>>16,K+=S>>>16,r[2]=z=65535&S|K<<16,t[2]=G=65535&m|B<<16,x=R,M=Z,m=65535&M,B=M>>>16,S=65535&x,K=x>>>16,x=r[3],M=t[3],m+=65535&M,B+=M>>>16,S+=65535&x,K+=x>>>16,B+=m>>>16,S+=B>>>16,K+=S>>>16,r[3]=R=65535&S|K<<16,t[3]=Z=65535&m|B<<16,x=P,M=j,m=65535&M,B=M>>>16,S=65535&x,K=x>>>16,x=r[4],M=t[4],m+=65535&M,B+=M>>>16,S+=65535&x,K+=x>>>16,B+=m>>>16,S+=B>>>16,K+=S>>>16,r[4]=P=65535&S|K<<16,t[4]=j=65535&m|B<<16,x=O,M=q,m=65535&M,B=M>>>16,S=65535&x,K=x>>>16,x=r[5],M=t[5],m+=65535&M,B+=M>>>16,S+=65535&x,K+=x>>>16,B+=m>>>16,S+=B>>>16,K+=S>>>16,r[5]=O=65535&S|K<<16,t[5]=q=65535&m|B<<16,x=N,M=V,m=65535&M,B=M>>>16,S=65535&x,K=x>>>16,x=r[6],M=t[6],m+=65535&M,B+=M>>>16,S+=65535&x,K+=x>>>16,B+=m>>>16,S+=B>>>16,K+=S>>>16,r[6]=N=65535&S|K<<16,t[6]=V=65535&m|B<<16,x=C,M=X,m=65535&M,B=M>>>16,S=65535&x,K=x>>>16,x=r[7],M=t[7],m+=65535&M,B+=M>>>16,S+=65535&x,K+=x>>>16,B+=m>>>16,S+=B>>>16,K+=S>>>16,r[7]=C=65535&S|K<<16,t[7]=X=65535&m|B<<16,D+=128,e-=128}return e}function O(r,n,e){var o,i=new Int32Array(8),h=new Int32Array(8),a=new Uint8Array(256),f=e;for(i[0]=1779033703,i[1]=3144134277,i[2]=1013904242,i[3]=2773480762,i[4]=1359893119,i[5]=2600822924,i[6]=528734635,i[7]=1541459225,h[0]=4089235720,h[1]=2227873595,h[2]=4271175723,h[3]=1595750129,h[4]=2917565137,h[5]=725511199,h[6]=4215389547,h[7]=327033209,P(i,h,n,e),e%=128,o=0;o=0;--o)e=n[o/8|0]>>(7&o)&1,C(r,t,e),N(t,r),N(r,r),C(r,t,e)}function G(r,t){var n=[$(),$(),$(),$()];b(n[0],fr),b(n[1],sr),b(n[2],or),m(n[3],fr,sr),I(r,n,t)}function Z(r,t,n){var e,o=new Uint8Array(64),i=[$(),$(),$(),$()];for(n||rr(t,32),O(o,t,32),o[0]&=248,o[31]&=127,o[31]|=64,G(i,o),F(r,i),e=0;e<32;e++)t[e+32]=r[e];return 0}function j(r,t){var n,e,o,i;for(e=63;e>=32;--e){for(n=0,o=e-32,i=e-12;o>8,t[o]-=256*n;t[o]+=n,t[e]=0}for(n=0,o=0;o<32;o++)t[o]+=n-(t[31]>>4)*vr[o],n=t[o]>>8,t[o]&=255;for(o=0;o<32;o++)t[o]-=n*vr[o];for(e=0;e<32;e++)t[e+1]+=t[e]>>8,r[e]=255&t[e]}function q(r){var t,n=new Float64Array(64);for(t=0;t<64;t++)n[t]=r[t];for(t=0;t<64;t++)r[t]=0;j(r,n)}function V(r,t,n,e){var o,i,h=new Uint8Array(64),a=new Uint8Array(64),f=new Uint8Array(64),s=new Float64Array(64),c=[$(),$(),$(),$()];O(h,e,32),h[0]&=248,h[31]&=127,h[31]|=64;var u=n+64;for(o=0;o>7&&M(r[0],er,r[0]),m(r[3],r[0],r[1]),0)}function D(r,t,n,e){var i,h,a=new Uint8Array(32),f=new Uint8Array(64),s=[$(),$(),$(),$()],c=[$(),$(),$(),$()];if(h=-1,n<64)return-1;if(X(c,e))return-1;for(i=0;i>>13|n<<3),e=255&r[4]|(255&r[5])<<8,this.r[2]=7939&(n>>>10|e<<6),o=255&r[6]|(255&r[7])<<8,this.r[3]=8191&(e>>>7|o<<9),i=255&r[8]|(255&r[9])<<8,this.r[4]=255&(o>>>4|i<<12),this.r[5]=i>>>1&8190,h=255&r[10]|(255&r[11])<<8,this.r[6]=8191&(i>>>14|h<<2),a=255&r[12]|(255&r[13])<<8,this.r[7]=8065&(h>>>11|a<<5),f=255&r[14]|(255&r[15])<<8,this.r[8]=8191&(a>>>8|f<<8),this.r[9]=f>>>5&127,this.pad[0]=255&r[16]|(255&r[17])<<8,this.pad[1]=255&r[18]|(255&r[19])<<8,this.pad[2]=255&r[20]|(255&r[21])<<8,this.pad[3]=255&r[22]|(255&r[23])<<8,this.pad[4]=255&r[24]|(255&r[25])<<8,this.pad[5]=255&r[26]|(255&r[27])<<8,this.pad[6]=255&r[28]|(255&r[29])<<8,this.pad[7]=255&r[30]|(255&r[31])<<8};yr.prototype.blocks=function(r,t,n){for(var e,o,i,h,a,f,s,c,u,y,l,w,p,v,b,g,_,A,d,U=this.fin?0:2048,E=this.h[0],x=this.h[1],M=this.h[2],m=this.h[3],B=this.h[4],S=this.h[5],K=this.h[6],T=this.h[7],Y=this.h[8],k=this.h[9],L=this.r[0],z=this.r[1],R=this.r[2],P=this.r[3],O=this.r[4],N=this.r[5],C=this.r[6],F=this.r[7],I=this.r[8],G=this.r[9];n>=16;)e=255&r[t+0]|(255&r[t+1])<<8,E+=8191&e,o=255&r[t+2]|(255&r[t+3])<<8,x+=8191&(e>>>13|o<<3),i=255&r[t+4]|(255&r[t+5])<<8,M+=8191&(o>>>10|i<<6),h=255&r[t+6]|(255&r[t+7])<<8,m+=8191&(i>>>7|h<<9),a=255&r[t+8]|(255&r[t+9])<<8,B+=8191&(h>>>4|a<<12),S+=a>>>1&8191,f=255&r[t+10]|(255&r[t+11])<<8,K+=8191&(a>>>14|f<<2),s=255&r[t+12]|(255&r[t+13])<<8,T+=8191&(f>>>11|s<<5),c=255&r[t+14]|(255&r[t+15])<<8,Y+=8191&(s>>>8|c<<8),k+=c>>>5|U,u=0,y=u,y+=E*L,y+=x*(5*G),y+=M*(5*I),y+=m*(5*F),y+=B*(5*C),u=y>>>13,y&=8191,y+=S*(5*N),y+=K*(5*O),y+=T*(5*P),y+=Y*(5*R),y+=k*(5*z),u+=y>>>13,y&=8191,l=u,l+=E*z,l+=x*L,l+=M*(5*G),l+=m*(5*I),l+=B*(5*F),u=l>>>13,l&=8191,l+=S*(5*C),l+=K*(5*N),l+=T*(5*O),l+=Y*(5*P),l+=k*(5*R),u+=l>>>13,l&=8191,w=u,w+=E*R,w+=x*z,w+=M*L,w+=m*(5*G),w+=B*(5*I),u=w>>>13,w&=8191,w+=S*(5*F),w+=K*(5*C),w+=T*(5*N),w+=Y*(5*O),w+=k*(5*P),u+=w>>>13,w&=8191,p=u,p+=E*P,p+=x*R,p+=M*z,p+=m*L,p+=B*(5*G),u=p>>>13,p&=8191,p+=S*(5*I),p+=K*(5*F),p+=T*(5*C),p+=Y*(5*N),p+=k*(5*O),u+=p>>>13,p&=8191,v=u,v+=E*O,v+=x*P,v+=M*R,v+=m*z,v+=B*L,u=v>>>13,v&=8191,v+=S*(5*G),v+=K*(5*I),v+=T*(5*F),v+=Y*(5*C),v+=k*(5*N),u+=v>>>13,v&=8191,b=u,b+=E*N,b+=x*O,b+=M*P,b+=m*R,b+=B*z,u=b>>>13,b&=8191,b+=S*L,b+=K*(5*G),b+=T*(5*I),b+=Y*(5*F),b+=k*(5*C),u+=b>>>13,b&=8191,g=u,g+=E*C,g+=x*N,g+=M*O,g+=m*P,g+=B*R,u=g>>>13,g&=8191,g+=S*z,g+=K*L,g+=T*(5*G),g+=Y*(5*I),g+=k*(5*F),u+=g>>>13,g&=8191,_=u,_+=E*F,_+=x*C,_+=M*N,_+=m*O,_+=B*P,u=_>>>13,_&=8191,_+=S*R,_+=K*z,_+=T*L,_+=Y*(5*G),_+=k*(5*I),u+=_>>>13,_&=8191,A=u,A+=E*I,A+=x*F,A+=M*C,A+=m*N,A+=B*O,u=A>>>13,A&=8191,A+=S*P,A+=K*R,A+=T*z,A+=Y*L,A+=k*(5*G),u+=A>>>13,A&=8191,d=u,d+=E*G,d+=x*I,d+=M*F,d+=m*C,d+=B*N,u=d>>>13,d&=8191,d+=S*O,d+=K*P,d+=T*R,d+=Y*z,d+=k*L,u+=d>>>13,d&=8191,u=(u<<2)+u|0,u=u+y|0,y=8191&u,u>>>=13,l+=u,E=y,x=l,M=w,m=p,B=v,S=b,K=g,T=_,Y=A,k=d,t+=16,n-=16;this.h[0]=E,this.h[1]=x,this.h[2]=M,this.h[3]=m,this.h[4]=B,this.h[5]=S,this.h[6]=K,this.h[7]=T,this.h[8]=Y,this.h[9]=k},yr.prototype.finish=function(r,t){var n,e,o,i,h=new Uint16Array(10);if(this.leftover){for(i=this.leftover,this.buffer[i++]=1;i<16;i++)this.buffer[i]=0;this.fin=1,this.blocks(this.buffer,0,16)}for(n=this.h[1]>>>13,this.h[1]&=8191,i=2;i<10;i++)this.h[i]+=n,n=this.h[i]>>>13,this.h[i]&=8191;for(this.h[0]+=5*n,n=this.h[0]>>>13,this.h[0]&=8191,this.h[1]+=n,n=this.h[1]>>>13,this.h[1]&=8191,this.h[2]+=n,h[0]=this.h[0]+5,n=h[0]>>>13,h[0]&=8191,i=1;i<10;i++)h[i]=this.h[i]+n,n=h[i]>>>13,h[i]&=8191;for(h[9]-=8192,e=(1^n)-1,i=0;i<10;i++)h[i]&=e;for(e=~e,i=0;i<10;i++)this.h[i]=this.h[i]&e|h[i];for(this.h[0]=65535&(this.h[0]|this.h[1]<<13),this.h[1]=65535&(this.h[1]>>>3|this.h[2]<<10),this.h[2]=65535&(this.h[2]>>>6|this.h[3]<<7),this.h[3]=65535&(this.h[3]>>>9|this.h[4]<<4),this.h[4]=65535&(this.h[4]>>>12|this.h[5]<<1|this.h[6]<<14),this.h[5]=65535&(this.h[6]>>>2|this.h[7]<<11),this.h[6]=65535&(this.h[7]>>>5|this.h[8]<<8),this.h[7]=65535&(this.h[8]>>>8|this.h[9]<<5),o=this.h[0]+this.pad[0],this.h[0]=65535&o,i=1;i<8;i++)o=(this.h[i]+this.pad[i]|0)+(o>>>16)|0,this.h[i]=65535&o;r[t+0]=this.h[0]>>>0&255,r[t+1]=this.h[0]>>>8&255,r[t+2]=this.h[1]>>>0&255,r[t+3]=this.h[1]>>>8&255,r[t+4]=this.h[2]>>>0&255,r[t+5]=this.h[2]>>>8&255,r[t+6]=this.h[3]>>>0&255,r[t+7]=this.h[3]>>>8&255,r[t+8]=this.h[4]>>>0&255,r[t+9]=this.h[4]>>>8&255,r[t+10]=this.h[5]>>>0&255,r[t+11]=this.h[5]>>>8&255,r[t+12]=this.h[6]>>>0&255,r[t+13]=this.h[6]>>>8&255,r[t+14]=this.h[7]>>>0&255,r[t+15]=this.h[7]>>>8&255},yr.prototype.update=function(r,t,n){var e,o;if(this.leftover){for(o=16-this.leftover,o>n&&(o=n),e=0;e=16&&(o=n-n%16,this.blocks(r,t,o),t+=o,n-=o),n){for(e=0;e=0},r.sign.keyPair=function(){var r=new Uint8Array(Tr),t=new Uint8Array(Yr);return Z(r,t),{publicKey:r,secretKey:t}},r.sign.keyPair.fromSecretKey=function(r){if(Q(r),r.length!==Yr)throw new Error("bad secret key size");for(var t=new Uint8Array(Tr),n=0;n void): void; -} diff --git a/publi/node_modules/tweetnacl/nacl.js b/publi/node_modules/tweetnacl/nacl.js deleted file mode 100644 index f72dd78..0000000 --- a/publi/node_modules/tweetnacl/nacl.js +++ /dev/null @@ -1,1175 +0,0 @@ -(function(nacl) { -'use strict'; - -// Ported in 2014 by Dmitry Chestnykh and Devi Mandiri. -// Public domain. -// -// Implementation derived from TweetNaCl version 20140427. -// See for details: http://tweetnacl.cr.yp.to/ - -var u64 = function(h, l) { this.hi = h|0 >>> 0; this.lo = l|0 >>> 0; }; -var gf = function(init) { - var i, r = new Float64Array(16); - if (init) for (i = 0; i < init.length; i++) r[i] = init[i]; - return r; -}; - -// Pluggable, initialized in high-level API below. -var randombytes = function(/* x, n */) { throw new Error('no PRNG'); }; - -var _0 = new Uint8Array(16); -var _9 = new Uint8Array(32); _9[0] = 9; - -var gf0 = gf(), - gf1 = gf([1]), - _121665 = gf([0xdb41, 1]), - D = gf([0x78a3, 0x1359, 0x4dca, 0x75eb, 0xd8ab, 0x4141, 0x0a4d, 0x0070, 0xe898, 0x7779, 0x4079, 0x8cc7, 0xfe73, 0x2b6f, 0x6cee, 0x5203]), - D2 = gf([0xf159, 0x26b2, 0x9b94, 0xebd6, 0xb156, 0x8283, 0x149a, 0x00e0, 0xd130, 0xeef3, 0x80f2, 0x198e, 0xfce7, 0x56df, 0xd9dc, 0x2406]), - X = gf([0xd51a, 0x8f25, 0x2d60, 0xc956, 0xa7b2, 0x9525, 0xc760, 0x692c, 0xdc5c, 0xfdd6, 0xe231, 0xc0a4, 0x53fe, 0xcd6e, 0x36d3, 0x2169]), - Y = gf([0x6658, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666]), - I = gf([0xa0b0, 0x4a0e, 0x1b27, 0xc4ee, 0xe478, 0xad2f, 0x1806, 0x2f43, 0xd7a7, 0x3dfb, 0x0099, 0x2b4d, 0xdf0b, 0x4fc1, 0x2480, 0x2b83]); - -function L32(x, c) { return (x << c) | (x >>> (32 - c)); } - -function ld32(x, i) { - var u = x[i+3] & 0xff; - u = (u<<8)|(x[i+2] & 0xff); - u = (u<<8)|(x[i+1] & 0xff); - return (u<<8)|(x[i+0] & 0xff); -} - -function dl64(x, i) { - var h = (x[i] << 24) | (x[i+1] << 16) | (x[i+2] << 8) | x[i+3]; - var l = (x[i+4] << 24) | (x[i+5] << 16) | (x[i+6] << 8) | x[i+7]; - return new u64(h, l); -} - -function st32(x, j, u) { - var i; - for (i = 0; i < 4; i++) { x[j+i] = u & 255; u >>>= 8; } -} - -function ts64(x, i, u) { - x[i] = (u.hi >> 24) & 0xff; - x[i+1] = (u.hi >> 16) & 0xff; - x[i+2] = (u.hi >> 8) & 0xff; - x[i+3] = u.hi & 0xff; - x[i+4] = (u.lo >> 24) & 0xff; - x[i+5] = (u.lo >> 16) & 0xff; - x[i+6] = (u.lo >> 8) & 0xff; - x[i+7] = u.lo & 0xff; -} - -function vn(x, xi, y, yi, n) { - var i,d = 0; - for (i = 0; i < n; i++) d |= x[xi+i]^y[yi+i]; - return (1 & ((d - 1) >>> 8)) - 1; -} - -function crypto_verify_16(x, xi, y, yi) { - return vn(x,xi,y,yi,16); -} - -function crypto_verify_32(x, xi, y, yi) { - return vn(x,xi,y,yi,32); -} - -function core(out,inp,k,c,h) { - var w = new Uint32Array(16), x = new Uint32Array(16), - y = new Uint32Array(16), t = new Uint32Array(4); - var i, j, m; - - for (i = 0; i < 4; i++) { - x[5*i] = ld32(c, 4*i); - x[1+i] = ld32(k, 4*i); - x[6+i] = ld32(inp, 4*i); - x[11+i] = ld32(k, 16+4*i); - } - - for (i = 0; i < 16; i++) y[i] = x[i]; - - for (i = 0; i < 20; i++) { - for (j = 0; j < 4; j++) { - for (m = 0; m < 4; m++) t[m] = x[(5*j+4*m)%16]; - t[1] ^= L32((t[0]+t[3])|0, 7); - t[2] ^= L32((t[1]+t[0])|0, 9); - t[3] ^= L32((t[2]+t[1])|0,13); - t[0] ^= L32((t[3]+t[2])|0,18); - for (m = 0; m < 4; m++) w[4*j+(j+m)%4] = t[m]; - } - for (m = 0; m < 16; m++) x[m] = w[m]; - } - - if (h) { - for (i = 0; i < 16; i++) x[i] = (x[i] + y[i]) | 0; - for (i = 0; i < 4; i++) { - x[5*i] = (x[5*i] - ld32(c, 4*i)) | 0; - x[6+i] = (x[6+i] - ld32(inp, 4*i)) | 0; - } - for (i = 0; i < 4; i++) { - st32(out,4*i,x[5*i]); - st32(out,16+4*i,x[6+i]); - } - } else { - for (i = 0; i < 16; i++) st32(out, 4 * i, (x[i] + y[i]) | 0); - } -} - -function crypto_core_salsa20(out,inp,k,c) { - core(out,inp,k,c,false); - return 0; -} - -function crypto_core_hsalsa20(out,inp,k,c) { - core(out,inp,k,c,true); - return 0; -} - -var sigma = new Uint8Array([101, 120, 112, 97, 110, 100, 32, 51, 50, 45, 98, 121, 116, 101, 32, 107]); - // "expand 32-byte k" - -function crypto_stream_salsa20_xor(c,cpos,m,mpos,b,n,k) { - var z = new Uint8Array(16), x = new Uint8Array(64); - var u, i; - if (!b) return 0; - for (i = 0; i < 16; i++) z[i] = 0; - for (i = 0; i < 8; i++) z[i] = n[i]; - while (b >= 64) { - crypto_core_salsa20(x,z,k,sigma); - for (i = 0; i < 64; i++) c[cpos+i] = (m?m[mpos+i]:0) ^ x[i]; - u = 1; - for (i = 8; i < 16; i++) { - u = u + (z[i] & 0xff) | 0; - z[i] = u & 0xff; - u >>>= 8; - } - b -= 64; - cpos += 64; - if (m) mpos += 64; - } - if (b > 0) { - crypto_core_salsa20(x,z,k,sigma); - for (i = 0; i < b; i++) c[cpos+i] = (m?m[mpos+i]:0) ^ x[i]; - } - return 0; -} - -function crypto_stream_salsa20(c,cpos,d,n,k) { - return crypto_stream_salsa20_xor(c,cpos,null,0,d,n,k); -} - -function crypto_stream(c,cpos,d,n,k) { - var s = new Uint8Array(32); - crypto_core_hsalsa20(s,n,k,sigma); - return crypto_stream_salsa20(c,cpos,d,n.subarray(16),s); -} - -function crypto_stream_xor(c,cpos,m,mpos,d,n,k) { - var s = new Uint8Array(32); - crypto_core_hsalsa20(s,n,k,sigma); - return crypto_stream_salsa20_xor(c,cpos,m,mpos,d,n.subarray(16),s); -} - -function add1305(h, c) { - var j, u = 0; - for (j = 0; j < 17; j++) { - u = (u + ((h[j] + c[j]) | 0)) | 0; - h[j] = u & 255; - u >>>= 8; - } -} - -var minusp = new Uint32Array([ - 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 252 -]); - -function crypto_onetimeauth(out, outpos, m, mpos, n, k) { - var s, i, j, u; - var x = new Uint32Array(17), r = new Uint32Array(17), - h = new Uint32Array(17), c = new Uint32Array(17), - g = new Uint32Array(17); - for (j = 0; j < 17; j++) r[j]=h[j]=0; - for (j = 0; j < 16; j++) r[j]=k[j]; - r[3]&=15; - r[4]&=252; - r[7]&=15; - r[8]&=252; - r[11]&=15; - r[12]&=252; - r[15]&=15; - - while (n > 0) { - for (j = 0; j < 17; j++) c[j] = 0; - for (j = 0; (j < 16) && (j < n); ++j) c[j] = m[mpos+j]; - c[j] = 1; - mpos += j; n -= j; - add1305(h,c); - for (i = 0; i < 17; i++) { - x[i] = 0; - for (j = 0; j < 17; j++) x[i] = (x[i] + (h[j] * ((j <= i) ? r[i - j] : ((320 * r[i + 17 - j])|0))) | 0) | 0; - } - for (i = 0; i < 17; i++) h[i] = x[i]; - u = 0; - for (j = 0; j < 16; j++) { - u = (u + h[j]) | 0; - h[j] = u & 255; - u >>>= 8; - } - u = (u + h[16]) | 0; h[16] = u & 3; - u = (5 * (u >>> 2)) | 0; - for (j = 0; j < 16; j++) { - u = (u + h[j]) | 0; - h[j] = u & 255; - u >>>= 8; - } - u = (u + h[16]) | 0; h[16] = u; - } - - for (j = 0; j < 17; j++) g[j] = h[j]; - add1305(h,minusp); - s = (-(h[16] >>> 7) | 0); - for (j = 0; j < 17; j++) h[j] ^= s & (g[j] ^ h[j]); - - for (j = 0; j < 16; j++) c[j] = k[j + 16]; - c[16] = 0; - add1305(h,c); - for (j = 0; j < 16; j++) out[outpos+j] = h[j]; - return 0; -} - -function crypto_onetimeauth_verify(h, hpos, m, mpos, n, k) { - var x = new Uint8Array(16); - crypto_onetimeauth(x,0,m,mpos,n,k); - return crypto_verify_16(h,hpos,x,0); -} - -function crypto_secretbox(c,m,d,n,k) { - var i; - if (d < 32) return -1; - crypto_stream_xor(c,0,m,0,d,n,k); - crypto_onetimeauth(c, 16, c, 32, d - 32, c); - for (i = 0; i < 16; i++) c[i] = 0; - return 0; -} - -function crypto_secretbox_open(m,c,d,n,k) { - var i; - var x = new Uint8Array(32); - if (d < 32) return -1; - crypto_stream(x,0,32,n,k); - if (crypto_onetimeauth_verify(c, 16,c, 32,d - 32,x) !== 0) return -1; - crypto_stream_xor(m,0,c,0,d,n,k); - for (i = 0; i < 32; i++) m[i] = 0; - return 0; -} - -function set25519(r, a) { - var i; - for (i = 0; i < 16; i++) r[i] = a[i]|0; -} - -function car25519(o) { - var c; - var i; - for (i = 0; i < 16; i++) { - o[i] += 65536; - c = Math.floor(o[i] / 65536); - o[(i+1)*(i<15?1:0)] += c - 1 + 37 * (c-1) * (i===15?1:0); - o[i] -= (c * 65536); - } -} - -function sel25519(p, q, b) { - var t, c = ~(b-1); - for (var i = 0; i < 16; i++) { - t = c & (p[i] ^ q[i]); - p[i] ^= t; - q[i] ^= t; - } -} - -function pack25519(o, n) { - var i, j, b; - var m = gf(), t = gf(); - for (i = 0; i < 16; i++) t[i] = n[i]; - car25519(t); - car25519(t); - car25519(t); - for (j = 0; j < 2; j++) { - m[0] = t[0] - 0xffed; - for (i = 1; i < 15; i++) { - m[i] = t[i] - 0xffff - ((m[i-1]>>16) & 1); - m[i-1] &= 0xffff; - } - m[15] = t[15] - 0x7fff - ((m[14]>>16) & 1); - b = (m[15]>>16) & 1; - m[14] &= 0xffff; - sel25519(t, m, 1-b); - } - for (i = 0; i < 16; i++) { - o[2*i] = t[i] & 0xff; - o[2*i+1] = t[i]>>8; - } -} - -function neq25519(a, b) { - var c = new Uint8Array(32), d = new Uint8Array(32); - pack25519(c, a); - pack25519(d, b); - return crypto_verify_32(c, 0, d, 0); -} - -function par25519(a) { - var d = new Uint8Array(32); - pack25519(d, a); - return d[0] & 1; -} - -function unpack25519(o, n) { - var i; - for (i = 0; i < 16; i++) o[i] = n[2*i] + (n[2*i+1] << 8); - o[15] &= 0x7fff; -} - -function A(o, a, b) { - var i; - for (i = 0; i < 16; i++) o[i] = (a[i] + b[i])|0; -} - -function Z(o, a, b) { - var i; - for (i = 0; i < 16; i++) o[i] = (a[i] - b[i])|0; -} - -function M(o, a, b) { - var i, j, t = new Float64Array(31); - for (i = 0; i < 31; i++) t[i] = 0; - for (i = 0; i < 16; i++) { - for (j = 0; j < 16; j++) { - t[i+j] += a[i] * b[j]; - } - } - for (i = 0; i < 15; i++) { - t[i] += 38 * t[i+16]; - } - for (i = 0; i < 16; i++) o[i] = t[i]; - car25519(o); - car25519(o); -} - -function S(o, a) { - M(o, a, a); -} - -function inv25519(o, i) { - var c = gf(); - var a; - for (a = 0; a < 16; a++) c[a] = i[a]; - for (a = 253; a >= 0; a--) { - S(c, c); - if(a !== 2 && a !== 4) M(c, c, i); - } - for (a = 0; a < 16; a++) o[a] = c[a]; -} - -function pow2523(o, i) { - var c = gf(); - var a; - for (a = 0; a < 16; a++) c[a] = i[a]; - for (a = 250; a >= 0; a--) { - S(c, c); - if(a !== 1) M(c, c, i); - } - for (a = 0; a < 16; a++) o[a] = c[a]; -} - -function crypto_scalarmult(q, n, p) { - var z = new Uint8Array(32); - var x = new Float64Array(80), r, i; - var a = gf(), b = gf(), c = gf(), - d = gf(), e = gf(), f = gf(); - for (i = 0; i < 31; i++) z[i] = n[i]; - z[31]=(n[31]&127)|64; - z[0]&=248; - unpack25519(x,p); - for (i = 0; i < 16; i++) { - b[i]=x[i]; - d[i]=a[i]=c[i]=0; - } - a[0]=d[0]=1; - for (i=254; i>=0; --i) { - r=(z[i>>>3]>>>(i&7))&1; - sel25519(a,b,r); - sel25519(c,d,r); - A(e,a,c); - Z(a,a,c); - A(c,b,d); - Z(b,b,d); - S(d,e); - S(f,a); - M(a,c,a); - M(c,b,e); - A(e,a,c); - Z(a,a,c); - S(b,a); - Z(c,d,f); - M(a,c,_121665); - A(a,a,d); - M(c,c,a); - M(a,d,f); - M(d,b,x); - S(b,e); - sel25519(a,b,r); - sel25519(c,d,r); - } - for (i = 0; i < 16; i++) { - x[i+16]=a[i]; - x[i+32]=c[i]; - x[i+48]=b[i]; - x[i+64]=d[i]; - } - var x32 = x.subarray(32); - var x16 = x.subarray(16); - inv25519(x32,x32); - M(x16,x16,x32); - pack25519(q,x16); - return 0; -} - -function crypto_scalarmult_base(q, n) { - return crypto_scalarmult(q, n, _9); -} - -function crypto_box_keypair(y, x) { - randombytes(x, 32); - return crypto_scalarmult_base(y, x); -} - -function crypto_box_beforenm(k, y, x) { - var s = new Uint8Array(32); - crypto_scalarmult(s, x, y); - return crypto_core_hsalsa20(k, _0, s, sigma); -} - -var crypto_box_afternm = crypto_secretbox; -var crypto_box_open_afternm = crypto_secretbox_open; - -function crypto_box(c, m, d, n, y, x) { - var k = new Uint8Array(32); - crypto_box_beforenm(k, y, x); - return crypto_box_afternm(c, m, d, n, k); -} - -function crypto_box_open(m, c, d, n, y, x) { - var k = new Uint8Array(32); - crypto_box_beforenm(k, y, x); - return crypto_box_open_afternm(m, c, d, n, k); -} - -function add64() { - var a = 0, b = 0, c = 0, d = 0, m16 = 65535, l, h, i; - for (i = 0; i < arguments.length; i++) { - l = arguments[i].lo; - h = arguments[i].hi; - a += (l & m16); b += (l >>> 16); - c += (h & m16); d += (h >>> 16); - } - - b += (a >>> 16); - c += (b >>> 16); - d += (c >>> 16); - - return new u64((c & m16) | (d << 16), (a & m16) | (b << 16)); -} - -function shr64(x, c) { - return new u64((x.hi >>> c), (x.lo >>> c) | (x.hi << (32 - c))); -} - -function xor64() { - var l = 0, h = 0, i; - for (i = 0; i < arguments.length; i++) { - l ^= arguments[i].lo; - h ^= arguments[i].hi; - } - return new u64(h, l); -} - -function R(x, c) { - var h, l, c1 = 32 - c; - if (c < 32) { - h = (x.hi >>> c) | (x.lo << c1); - l = (x.lo >>> c) | (x.hi << c1); - } else if (c < 64) { - h = (x.lo >>> c) | (x.hi << c1); - l = (x.hi >>> c) | (x.lo << c1); - } - return new u64(h, l); -} - -function Ch(x, y, z) { - var h = (x.hi & y.hi) ^ (~x.hi & z.hi), - l = (x.lo & y.lo) ^ (~x.lo & z.lo); - return new u64(h, l); -} - -function Maj(x, y, z) { - var h = (x.hi & y.hi) ^ (x.hi & z.hi) ^ (y.hi & z.hi), - l = (x.lo & y.lo) ^ (x.lo & z.lo) ^ (y.lo & z.lo); - return new u64(h, l); -} - -function Sigma0(x) { return xor64(R(x,28), R(x,34), R(x,39)); } -function Sigma1(x) { return xor64(R(x,14), R(x,18), R(x,41)); } -function sigma0(x) { return xor64(R(x, 1), R(x, 8), shr64(x,7)); } -function sigma1(x) { return xor64(R(x,19), R(x,61), shr64(x,6)); } - -var K = [ - new u64(0x428a2f98, 0xd728ae22), new u64(0x71374491, 0x23ef65cd), - new u64(0xb5c0fbcf, 0xec4d3b2f), new u64(0xe9b5dba5, 0x8189dbbc), - new u64(0x3956c25b, 0xf348b538), new u64(0x59f111f1, 0xb605d019), - new u64(0x923f82a4, 0xaf194f9b), new u64(0xab1c5ed5, 0xda6d8118), - new u64(0xd807aa98, 0xa3030242), new u64(0x12835b01, 0x45706fbe), - new u64(0x243185be, 0x4ee4b28c), new u64(0x550c7dc3, 0xd5ffb4e2), - new u64(0x72be5d74, 0xf27b896f), new u64(0x80deb1fe, 0x3b1696b1), - new u64(0x9bdc06a7, 0x25c71235), new u64(0xc19bf174, 0xcf692694), - new u64(0xe49b69c1, 0x9ef14ad2), new u64(0xefbe4786, 0x384f25e3), - new u64(0x0fc19dc6, 0x8b8cd5b5), new u64(0x240ca1cc, 0x77ac9c65), - new u64(0x2de92c6f, 0x592b0275), new u64(0x4a7484aa, 0x6ea6e483), - new u64(0x5cb0a9dc, 0xbd41fbd4), new u64(0x76f988da, 0x831153b5), - new u64(0x983e5152, 0xee66dfab), new u64(0xa831c66d, 0x2db43210), - new u64(0xb00327c8, 0x98fb213f), new u64(0xbf597fc7, 0xbeef0ee4), - new u64(0xc6e00bf3, 0x3da88fc2), new u64(0xd5a79147, 0x930aa725), - new u64(0x06ca6351, 0xe003826f), new u64(0x14292967, 0x0a0e6e70), - new u64(0x27b70a85, 0x46d22ffc), new u64(0x2e1b2138, 0x5c26c926), - new u64(0x4d2c6dfc, 0x5ac42aed), new u64(0x53380d13, 0x9d95b3df), - new u64(0x650a7354, 0x8baf63de), new u64(0x766a0abb, 0x3c77b2a8), - new u64(0x81c2c92e, 0x47edaee6), new u64(0x92722c85, 0x1482353b), - new u64(0xa2bfe8a1, 0x4cf10364), new u64(0xa81a664b, 0xbc423001), - new u64(0xc24b8b70, 0xd0f89791), new u64(0xc76c51a3, 0x0654be30), - new u64(0xd192e819, 0xd6ef5218), new u64(0xd6990624, 0x5565a910), - new u64(0xf40e3585, 0x5771202a), new u64(0x106aa070, 0x32bbd1b8), - new u64(0x19a4c116, 0xb8d2d0c8), new u64(0x1e376c08, 0x5141ab53), - new u64(0x2748774c, 0xdf8eeb99), new u64(0x34b0bcb5, 0xe19b48a8), - new u64(0x391c0cb3, 0xc5c95a63), new u64(0x4ed8aa4a, 0xe3418acb), - new u64(0x5b9cca4f, 0x7763e373), new u64(0x682e6ff3, 0xd6b2b8a3), - new u64(0x748f82ee, 0x5defb2fc), new u64(0x78a5636f, 0x43172f60), - new u64(0x84c87814, 0xa1f0ab72), new u64(0x8cc70208, 0x1a6439ec), - new u64(0x90befffa, 0x23631e28), new u64(0xa4506ceb, 0xde82bde9), - new u64(0xbef9a3f7, 0xb2c67915), new u64(0xc67178f2, 0xe372532b), - new u64(0xca273ece, 0xea26619c), new u64(0xd186b8c7, 0x21c0c207), - new u64(0xeada7dd6, 0xcde0eb1e), new u64(0xf57d4f7f, 0xee6ed178), - new u64(0x06f067aa, 0x72176fba), new u64(0x0a637dc5, 0xa2c898a6), - new u64(0x113f9804, 0xbef90dae), new u64(0x1b710b35, 0x131c471b), - new u64(0x28db77f5, 0x23047d84), new u64(0x32caab7b, 0x40c72493), - new u64(0x3c9ebe0a, 0x15c9bebc), new u64(0x431d67c4, 0x9c100d4c), - new u64(0x4cc5d4be, 0xcb3e42b6), new u64(0x597f299c, 0xfc657e2a), - new u64(0x5fcb6fab, 0x3ad6faec), new u64(0x6c44198c, 0x4a475817) -]; - -function crypto_hashblocks(x, m, n) { - var z = [], b = [], a = [], w = [], t, i, j; - - for (i = 0; i < 8; i++) z[i] = a[i] = dl64(x, 8*i); - - var pos = 0; - while (n >= 128) { - for (i = 0; i < 16; i++) w[i] = dl64(m, 8*i+pos); - for (i = 0; i < 80; i++) { - for (j = 0; j < 8; j++) b[j] = a[j]; - t = add64(a[7], Sigma1(a[4]), Ch(a[4], a[5], a[6]), K[i], w[i%16]); - b[7] = add64(t, Sigma0(a[0]), Maj(a[0], a[1], a[2])); - b[3] = add64(b[3], t); - for (j = 0; j < 8; j++) a[(j+1)%8] = b[j]; - if (i%16 === 15) { - for (j = 0; j < 16; j++) { - w[j] = add64(w[j], w[(j+9)%16], sigma0(w[(j+1)%16]), sigma1(w[(j+14)%16])); - } - } - } - - for (i = 0; i < 8; i++) { - a[i] = add64(a[i], z[i]); - z[i] = a[i]; - } - - pos += 128; - n -= 128; - } - - for (i = 0; i < 8; i++) ts64(x, 8*i, z[i]); - return n; -} - -var iv = new Uint8Array([ - 0x6a,0x09,0xe6,0x67,0xf3,0xbc,0xc9,0x08, - 0xbb,0x67,0xae,0x85,0x84,0xca,0xa7,0x3b, - 0x3c,0x6e,0xf3,0x72,0xfe,0x94,0xf8,0x2b, - 0xa5,0x4f,0xf5,0x3a,0x5f,0x1d,0x36,0xf1, - 0x51,0x0e,0x52,0x7f,0xad,0xe6,0x82,0xd1, - 0x9b,0x05,0x68,0x8c,0x2b,0x3e,0x6c,0x1f, - 0x1f,0x83,0xd9,0xab,0xfb,0x41,0xbd,0x6b, - 0x5b,0xe0,0xcd,0x19,0x13,0x7e,0x21,0x79 -]); - -function crypto_hash(out, m, n) { - var h = new Uint8Array(64), x = new Uint8Array(256); - var i, b = n; - - for (i = 0; i < 64; i++) h[i] = iv[i]; - - crypto_hashblocks(h, m, n); - n %= 128; - - for (i = 0; i < 256; i++) x[i] = 0; - for (i = 0; i < n; i++) x[i] = m[b-n+i]; - x[n] = 128; - - n = 256-128*(n<112?1:0); - x[n-9] = 0; - ts64(x, n-8, new u64((b / 0x20000000) | 0, b << 3)); - crypto_hashblocks(h, x, n); - - for (i = 0; i < 64; i++) out[i] = h[i]; - - return 0; -} - -function add(p, q) { - var a = gf(), b = gf(), c = gf(), - d = gf(), e = gf(), f = gf(), - g = gf(), h = gf(), t = gf(); - - Z(a, p[1], p[0]); - Z(t, q[1], q[0]); - M(a, a, t); - A(b, p[0], p[1]); - A(t, q[0], q[1]); - M(b, b, t); - M(c, p[3], q[3]); - M(c, c, D2); - M(d, p[2], q[2]); - A(d, d, d); - Z(e, b, a); - Z(f, d, c); - A(g, d, c); - A(h, b, a); - - M(p[0], e, f); - M(p[1], h, g); - M(p[2], g, f); - M(p[3], e, h); -} - -function cswap(p, q, b) { - var i; - for (i = 0; i < 4; i++) { - sel25519(p[i], q[i], b); - } -} - -function pack(r, p) { - var tx = gf(), ty = gf(), zi = gf(); - inv25519(zi, p[2]); - M(tx, p[0], zi); - M(ty, p[1], zi); - pack25519(r, ty); - r[31] ^= par25519(tx) << 7; -} - -function scalarmult(p, q, s) { - var b, i; - set25519(p[0], gf0); - set25519(p[1], gf1); - set25519(p[2], gf1); - set25519(p[3], gf0); - for (i = 255; i >= 0; --i) { - b = (s[(i/8)|0] >> (i&7)) & 1; - cswap(p, q, b); - add(q, p); - add(p, p); - cswap(p, q, b); - } -} - -function scalarbase(p, s) { - var q = [gf(), gf(), gf(), gf()]; - set25519(q[0], X); - set25519(q[1], Y); - set25519(q[2], gf1); - M(q[3], X, Y); - scalarmult(p, q, s); -} - -function crypto_sign_keypair(pk, sk, seeded) { - var d = new Uint8Array(64); - var p = [gf(), gf(), gf(), gf()]; - var i; - - if (!seeded) randombytes(sk, 32); - crypto_hash(d, sk, 32); - d[0] &= 248; - d[31] &= 127; - d[31] |= 64; - - scalarbase(p, d); - pack(pk, p); - - for (i = 0; i < 32; i++) sk[i+32] = pk[i]; - return 0; -} - -var L = new Float64Array([0xed, 0xd3, 0xf5, 0x5c, 0x1a, 0x63, 0x12, 0x58, 0xd6, 0x9c, 0xf7, 0xa2, 0xde, 0xf9, 0xde, 0x14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x10]); - -function modL(r, x) { - var carry, i, j, k; - for (i = 63; i >= 32; --i) { - carry = 0; - for (j = i - 32, k = i - 12; j < k; ++j) { - x[j] += carry - 16 * x[i] * L[j - (i - 32)]; - carry = (x[j] + 128) >> 8; - x[j] -= carry * 256; - } - x[j] += carry; - x[i] = 0; - } - carry = 0; - for (j = 0; j < 32; j++) { - x[j] += carry - (x[31] >> 4) * L[j]; - carry = x[j] >> 8; - x[j] &= 255; - } - for (j = 0; j < 32; j++) x[j] -= carry * L[j]; - for (i = 0; i < 32; i++) { - x[i+1] += x[i] >> 8; - r[i] = x[i] & 255; - } -} - -function reduce(r) { - var x = new Float64Array(64), i; - for (i = 0; i < 64; i++) x[i] = r[i]; - for (i = 0; i < 64; i++) r[i] = 0; - modL(r, x); -} - -// Note: difference from C - smlen returned, not passed as argument. -function crypto_sign(sm, m, n, sk) { - var d = new Uint8Array(64), h = new Uint8Array(64), r = new Uint8Array(64); - var i, j, x = new Float64Array(64); - var p = [gf(), gf(), gf(), gf()]; - - crypto_hash(d, sk, 32); - d[0] &= 248; - d[31] &= 127; - d[31] |= 64; - - var smlen = n + 64; - for (i = 0; i < n; i++) sm[64 + i] = m[i]; - for (i = 0; i < 32; i++) sm[32 + i] = d[32 + i]; - - crypto_hash(r, sm.subarray(32), n+32); - reduce(r); - scalarbase(p, r); - pack(sm, p); - - for (i = 32; i < 64; i++) sm[i] = sk[i]; - crypto_hash(h, sm, n + 64); - reduce(h); - - for (i = 0; i < 64; i++) x[i] = 0; - for (i = 0; i < 32; i++) x[i] = r[i]; - for (i = 0; i < 32; i++) { - for (j = 0; j < 32; j++) { - x[i+j] += h[i] * d[j]; - } - } - - modL(sm.subarray(32), x); - return smlen; -} - -function unpackneg(r, p) { - var t = gf(), chk = gf(), num = gf(), - den = gf(), den2 = gf(), den4 = gf(), - den6 = gf(); - - set25519(r[2], gf1); - unpack25519(r[1], p); - S(num, r[1]); - M(den, num, D); - Z(num, num, r[2]); - A(den, r[2], den); - - S(den2, den); - S(den4, den2); - M(den6, den4, den2); - M(t, den6, num); - M(t, t, den); - - pow2523(t, t); - M(t, t, num); - M(t, t, den); - M(t, t, den); - M(r[0], t, den); - - S(chk, r[0]); - M(chk, chk, den); - if (neq25519(chk, num)) M(r[0], r[0], I); - - S(chk, r[0]); - M(chk, chk, den); - if (neq25519(chk, num)) return -1; - - if (par25519(r[0]) === (p[31]>>7)) Z(r[0], gf0, r[0]); - - M(r[3], r[0], r[1]); - return 0; -} - -function crypto_sign_open(m, sm, n, pk) { - var i, mlen; - var t = new Uint8Array(32), h = new Uint8Array(64); - var p = [gf(), gf(), gf(), gf()], - q = [gf(), gf(), gf(), gf()]; - - mlen = -1; - if (n < 64) return -1; - - if (unpackneg(q, pk)) return -1; - - for (i = 0; i < n; i++) m[i] = sm[i]; - for (i = 0; i < 32; i++) m[i+32] = pk[i]; - crypto_hash(h, m, n); - reduce(h); - scalarmult(p, q, h); - - scalarbase(q, sm.subarray(32)); - add(p, q); - pack(t, p); - - n -= 64; - if (crypto_verify_32(sm, 0, t, 0)) { - for (i = 0; i < n; i++) m[i] = 0; - return -1; - } - - for (i = 0; i < n; i++) m[i] = sm[i + 64]; - mlen = n; - return mlen; -} - -var crypto_secretbox_KEYBYTES = 32, - crypto_secretbox_NONCEBYTES = 24, - crypto_secretbox_ZEROBYTES = 32, - crypto_secretbox_BOXZEROBYTES = 16, - crypto_scalarmult_BYTES = 32, - crypto_scalarmult_SCALARBYTES = 32, - crypto_box_PUBLICKEYBYTES = 32, - crypto_box_SECRETKEYBYTES = 32, - crypto_box_BEFORENMBYTES = 32, - crypto_box_NONCEBYTES = crypto_secretbox_NONCEBYTES, - crypto_box_ZEROBYTES = crypto_secretbox_ZEROBYTES, - crypto_box_BOXZEROBYTES = crypto_secretbox_BOXZEROBYTES, - crypto_sign_BYTES = 64, - crypto_sign_PUBLICKEYBYTES = 32, - crypto_sign_SECRETKEYBYTES = 64, - crypto_sign_SEEDBYTES = 32, - crypto_hash_BYTES = 64; - -nacl.lowlevel = { - crypto_core_hsalsa20: crypto_core_hsalsa20, - crypto_stream_xor: crypto_stream_xor, - crypto_stream: crypto_stream, - crypto_stream_salsa20_xor: crypto_stream_salsa20_xor, - crypto_stream_salsa20: crypto_stream_salsa20, - crypto_onetimeauth: crypto_onetimeauth, - crypto_onetimeauth_verify: crypto_onetimeauth_verify, - crypto_verify_16: crypto_verify_16, - crypto_verify_32: crypto_verify_32, - crypto_secretbox: crypto_secretbox, - crypto_secretbox_open: crypto_secretbox_open, - crypto_scalarmult: crypto_scalarmult, - crypto_scalarmult_base: crypto_scalarmult_base, - crypto_box_beforenm: crypto_box_beforenm, - crypto_box_afternm: crypto_box_afternm, - crypto_box: crypto_box, - crypto_box_open: crypto_box_open, - crypto_box_keypair: crypto_box_keypair, - crypto_hash: crypto_hash, - crypto_sign: crypto_sign, - crypto_sign_keypair: crypto_sign_keypair, - crypto_sign_open: crypto_sign_open, - - crypto_secretbox_KEYBYTES: crypto_secretbox_KEYBYTES, - crypto_secretbox_NONCEBYTES: crypto_secretbox_NONCEBYTES, - crypto_secretbox_ZEROBYTES: crypto_secretbox_ZEROBYTES, - crypto_secretbox_BOXZEROBYTES: crypto_secretbox_BOXZEROBYTES, - crypto_scalarmult_BYTES: crypto_scalarmult_BYTES, - crypto_scalarmult_SCALARBYTES: crypto_scalarmult_SCALARBYTES, - crypto_box_PUBLICKEYBYTES: crypto_box_PUBLICKEYBYTES, - crypto_box_SECRETKEYBYTES: crypto_box_SECRETKEYBYTES, - crypto_box_BEFORENMBYTES: crypto_box_BEFORENMBYTES, - crypto_box_NONCEBYTES: crypto_box_NONCEBYTES, - crypto_box_ZEROBYTES: crypto_box_ZEROBYTES, - crypto_box_BOXZEROBYTES: crypto_box_BOXZEROBYTES, - crypto_sign_BYTES: crypto_sign_BYTES, - crypto_sign_PUBLICKEYBYTES: crypto_sign_PUBLICKEYBYTES, - crypto_sign_SECRETKEYBYTES: crypto_sign_SECRETKEYBYTES, - crypto_sign_SEEDBYTES: crypto_sign_SEEDBYTES, - crypto_hash_BYTES: crypto_hash_BYTES -}; - -/* High-level API */ - -function checkLengths(k, n) { - if (k.length !== crypto_secretbox_KEYBYTES) throw new Error('bad key size'); - if (n.length !== crypto_secretbox_NONCEBYTES) throw new Error('bad nonce size'); -} - -function checkBoxLengths(pk, sk) { - if (pk.length !== crypto_box_PUBLICKEYBYTES) throw new Error('bad public key size'); - if (sk.length !== crypto_box_SECRETKEYBYTES) throw new Error('bad secret key size'); -} - -function checkArrayTypes() { - var t, i; - for (i = 0; i < arguments.length; i++) { - if ((t = Object.prototype.toString.call(arguments[i])) !== '[object Uint8Array]') - throw new TypeError('unexpected type ' + t + ', use Uint8Array'); - } -} - -function cleanup(arr) { - for (var i = 0; i < arr.length; i++) arr[i] = 0; -} - -// TODO: Completely remove this in v0.15. -if (!nacl.util) { - nacl.util = {}; - nacl.util.decodeUTF8 = nacl.util.encodeUTF8 = nacl.util.encodeBase64 = nacl.util.decodeBase64 = function() { - throw new Error('nacl.util moved into separate package: https://github.com/dchest/tweetnacl-util-js'); - }; -} - -nacl.randomBytes = function(n) { - var b = new Uint8Array(n); - randombytes(b, n); - return b; -}; - -nacl.secretbox = function(msg, nonce, key) { - checkArrayTypes(msg, nonce, key); - checkLengths(key, nonce); - var m = new Uint8Array(crypto_secretbox_ZEROBYTES + msg.length); - var c = new Uint8Array(m.length); - for (var i = 0; i < msg.length; i++) m[i+crypto_secretbox_ZEROBYTES] = msg[i]; - crypto_secretbox(c, m, m.length, nonce, key); - return c.subarray(crypto_secretbox_BOXZEROBYTES); -}; - -nacl.secretbox.open = function(box, nonce, key) { - checkArrayTypes(box, nonce, key); - checkLengths(key, nonce); - var c = new Uint8Array(crypto_secretbox_BOXZEROBYTES + box.length); - var m = new Uint8Array(c.length); - for (var i = 0; i < box.length; i++) c[i+crypto_secretbox_BOXZEROBYTES] = box[i]; - if (c.length < 32) return false; - if (crypto_secretbox_open(m, c, c.length, nonce, key) !== 0) return false; - return m.subarray(crypto_secretbox_ZEROBYTES); -}; - -nacl.secretbox.keyLength = crypto_secretbox_KEYBYTES; -nacl.secretbox.nonceLength = crypto_secretbox_NONCEBYTES; -nacl.secretbox.overheadLength = crypto_secretbox_BOXZEROBYTES; - -nacl.scalarMult = function(n, p) { - checkArrayTypes(n, p); - if (n.length !== crypto_scalarmult_SCALARBYTES) throw new Error('bad n size'); - if (p.length !== crypto_scalarmult_BYTES) throw new Error('bad p size'); - var q = new Uint8Array(crypto_scalarmult_BYTES); - crypto_scalarmult(q, n, p); - return q; -}; - -nacl.scalarMult.base = function(n) { - checkArrayTypes(n); - if (n.length !== crypto_scalarmult_SCALARBYTES) throw new Error('bad n size'); - var q = new Uint8Array(crypto_scalarmult_BYTES); - crypto_scalarmult_base(q, n); - return q; -}; - -nacl.scalarMult.scalarLength = crypto_scalarmult_SCALARBYTES; -nacl.scalarMult.groupElementLength = crypto_scalarmult_BYTES; - -nacl.box = function(msg, nonce, publicKey, secretKey) { - var k = nacl.box.before(publicKey, secretKey); - return nacl.secretbox(msg, nonce, k); -}; - -nacl.box.before = function(publicKey, secretKey) { - checkArrayTypes(publicKey, secretKey); - checkBoxLengths(publicKey, secretKey); - var k = new Uint8Array(crypto_box_BEFORENMBYTES); - crypto_box_beforenm(k, publicKey, secretKey); - return k; -}; - -nacl.box.after = nacl.secretbox; - -nacl.box.open = function(msg, nonce, publicKey, secretKey) { - var k = nacl.box.before(publicKey, secretKey); - return nacl.secretbox.open(msg, nonce, k); -}; - -nacl.box.open.after = nacl.secretbox.open; - -nacl.box.keyPair = function() { - var pk = new Uint8Array(crypto_box_PUBLICKEYBYTES); - var sk = new Uint8Array(crypto_box_SECRETKEYBYTES); - crypto_box_keypair(pk, sk); - return {publicKey: pk, secretKey: sk}; -}; - -nacl.box.keyPair.fromSecretKey = function(secretKey) { - checkArrayTypes(secretKey); - if (secretKey.length !== crypto_box_SECRETKEYBYTES) - throw new Error('bad secret key size'); - var pk = new Uint8Array(crypto_box_PUBLICKEYBYTES); - crypto_scalarmult_base(pk, secretKey); - return {publicKey: pk, secretKey: new Uint8Array(secretKey)}; -}; - -nacl.box.publicKeyLength = crypto_box_PUBLICKEYBYTES; -nacl.box.secretKeyLength = crypto_box_SECRETKEYBYTES; -nacl.box.sharedKeyLength = crypto_box_BEFORENMBYTES; -nacl.box.nonceLength = crypto_box_NONCEBYTES; -nacl.box.overheadLength = nacl.secretbox.overheadLength; - -nacl.sign = function(msg, secretKey) { - checkArrayTypes(msg, secretKey); - if (secretKey.length !== crypto_sign_SECRETKEYBYTES) - throw new Error('bad secret key size'); - var signedMsg = new Uint8Array(crypto_sign_BYTES+msg.length); - crypto_sign(signedMsg, msg, msg.length, secretKey); - return signedMsg; -}; - -nacl.sign.open = function(signedMsg, publicKey) { - if (arguments.length !== 2) - throw new Error('nacl.sign.open accepts 2 arguments; did you mean to use nacl.sign.detached.verify?'); - checkArrayTypes(signedMsg, publicKey); - if (publicKey.length !== crypto_sign_PUBLICKEYBYTES) - throw new Error('bad public key size'); - var tmp = new Uint8Array(signedMsg.length); - var mlen = crypto_sign_open(tmp, signedMsg, signedMsg.length, publicKey); - if (mlen < 0) return null; - var m = new Uint8Array(mlen); - for (var i = 0; i < m.length; i++) m[i] = tmp[i]; - return m; -}; - -nacl.sign.detached = function(msg, secretKey) { - var signedMsg = nacl.sign(msg, secretKey); - var sig = new Uint8Array(crypto_sign_BYTES); - for (var i = 0; i < sig.length; i++) sig[i] = signedMsg[i]; - return sig; -}; - -nacl.sign.detached.verify = function(msg, sig, publicKey) { - checkArrayTypes(msg, sig, publicKey); - if (sig.length !== crypto_sign_BYTES) - throw new Error('bad signature size'); - if (publicKey.length !== crypto_sign_PUBLICKEYBYTES) - throw new Error('bad public key size'); - var sm = new Uint8Array(crypto_sign_BYTES + msg.length); - var m = new Uint8Array(crypto_sign_BYTES + msg.length); - var i; - for (i = 0; i < crypto_sign_BYTES; i++) sm[i] = sig[i]; - for (i = 0; i < msg.length; i++) sm[i+crypto_sign_BYTES] = msg[i]; - return (crypto_sign_open(m, sm, sm.length, publicKey) >= 0); -}; - -nacl.sign.keyPair = function() { - var pk = new Uint8Array(crypto_sign_PUBLICKEYBYTES); - var sk = new Uint8Array(crypto_sign_SECRETKEYBYTES); - crypto_sign_keypair(pk, sk); - return {publicKey: pk, secretKey: sk}; -}; - -nacl.sign.keyPair.fromSecretKey = function(secretKey) { - checkArrayTypes(secretKey); - if (secretKey.length !== crypto_sign_SECRETKEYBYTES) - throw new Error('bad secret key size'); - var pk = new Uint8Array(crypto_sign_PUBLICKEYBYTES); - for (var i = 0; i < pk.length; i++) pk[i] = secretKey[32+i]; - return {publicKey: pk, secretKey: new Uint8Array(secretKey)}; -}; - -nacl.sign.keyPair.fromSeed = function(seed) { - checkArrayTypes(seed); - if (seed.length !== crypto_sign_SEEDBYTES) - throw new Error('bad seed size'); - var pk = new Uint8Array(crypto_sign_PUBLICKEYBYTES); - var sk = new Uint8Array(crypto_sign_SECRETKEYBYTES); - for (var i = 0; i < 32; i++) sk[i] = seed[i]; - crypto_sign_keypair(pk, sk, true); - return {publicKey: pk, secretKey: sk}; -}; - -nacl.sign.publicKeyLength = crypto_sign_PUBLICKEYBYTES; -nacl.sign.secretKeyLength = crypto_sign_SECRETKEYBYTES; -nacl.sign.seedLength = crypto_sign_SEEDBYTES; -nacl.sign.signatureLength = crypto_sign_BYTES; - -nacl.hash = function(msg) { - checkArrayTypes(msg); - var h = new Uint8Array(crypto_hash_BYTES); - crypto_hash(h, msg, msg.length); - return h; -}; - -nacl.hash.hashLength = crypto_hash_BYTES; - -nacl.verify = function(x, y) { - checkArrayTypes(x, y); - // Zero length arguments are considered not equal. - if (x.length === 0 || y.length === 0) return false; - if (x.length !== y.length) return false; - return (vn(x, 0, y, 0, x.length) === 0) ? true : false; -}; - -nacl.setPRNG = function(fn) { - randombytes = fn; -}; - -(function() { - // Initialize PRNG if environment provides CSPRNG. - // If not, methods calling randombytes will throw. - var crypto = typeof self !== 'undefined' ? (self.crypto || self.msCrypto) : null; - if (crypto && crypto.getRandomValues) { - // Browsers. - var QUOTA = 65536; - nacl.setPRNG(function(x, n) { - var i, v = new Uint8Array(n); - for (i = 0; i < n; i += QUOTA) { - crypto.getRandomValues(v.subarray(i, i + Math.min(n - i, QUOTA))); - } - for (i = 0; i < n; i++) x[i] = v[i]; - cleanup(v); - }); - } else if (typeof require !== 'undefined') { - // Node.js. - crypto = require('crypto'); - if (crypto && crypto.randomBytes) { - nacl.setPRNG(function(x, n) { - var i, v = crypto.randomBytes(n); - for (i = 0; i < n; i++) x[i] = v[i]; - cleanup(v); - }); - } - } -})(); - -})(typeof module !== 'undefined' && module.exports ? module.exports : (self.nacl = self.nacl || {})); diff --git a/publi/node_modules/tweetnacl/nacl.min.js b/publi/node_modules/tweetnacl/nacl.min.js deleted file mode 100644 index 4484974..0000000 --- a/publi/node_modules/tweetnacl/nacl.min.js +++ /dev/null @@ -1 +0,0 @@ -!function(r){"use strict";function n(r,n){return r<>>32-n}function e(r,n){var e=255&r[n+3];return e=e<<8|255&r[n+2],e=e<<8|255&r[n+1],e<<8|255&r[n+0]}function t(r,n){var e=r[n]<<24|r[n+1]<<16|r[n+2]<<8|r[n+3],t=r[n+4]<<24|r[n+5]<<16|r[n+6]<<8|r[n+7];return new sr(e,t)}function o(r,n,e){var t;for(t=0;t<4;t++)r[n+t]=255&e,e>>>=8}function i(r,n,e){r[n]=e.hi>>24&255,r[n+1]=e.hi>>16&255,r[n+2]=e.hi>>8&255,r[n+3]=255&e.hi,r[n+4]=e.lo>>24&255,r[n+5]=e.lo>>16&255,r[n+6]=e.lo>>8&255,r[n+7]=255&e.lo}function a(r,n,e,t,o){var i,a=0;for(i=0;i>>8)-1}function f(r,n,e,t){return a(r,n,e,t,16)}function u(r,n,e,t){return a(r,n,e,t,32)}function c(r,t,i,a,f){var u,c,w,y=new Uint32Array(16),l=new Uint32Array(16),s=new Uint32Array(16),h=new Uint32Array(4);for(u=0;u<4;u++)l[5*u]=e(a,4*u),l[1+u]=e(i,4*u),l[6+u]=e(t,4*u),l[11+u]=e(i,16+4*u);for(u=0;u<16;u++)s[u]=l[u];for(u=0;u<20;u++){for(c=0;c<4;c++){for(w=0;w<4;w++)h[w]=l[(5*c+4*w)%16];for(h[1]^=n(h[0]+h[3]|0,7),h[2]^=n(h[1]+h[0]|0,9),h[3]^=n(h[2]+h[1]|0,13),h[0]^=n(h[3]+h[2]|0,18),w=0;w<4;w++)y[4*c+(c+w)%4]=h[w]}for(w=0;w<16;w++)l[w]=y[w]}if(f){for(u=0;u<16;u++)l[u]=l[u]+s[u]|0;for(u=0;u<4;u++)l[5*u]=l[5*u]-e(a,4*u)|0,l[6+u]=l[6+u]-e(t,4*u)|0;for(u=0;u<4;u++)o(r,4*u,l[5*u]),o(r,16+4*u,l[6+u])}else for(u=0;u<16;u++)o(r,4*u,l[u]+s[u]|0)}function w(r,n,e,t){return c(r,n,e,t,!1),0}function y(r,n,e,t){return c(r,n,e,t,!0),0}function l(r,n,e,t,o,i,a){var f,u,c=new Uint8Array(16),y=new Uint8Array(64);if(!o)return 0;for(u=0;u<16;u++)c[u]=0;for(u=0;u<8;u++)c[u]=i[u];for(;o>=64;){for(w(y,c,a,Br),u=0;u<64;u++)r[n+u]=(e?e[t+u]:0)^y[u];for(f=1,u=8;u<16;u++)f=f+(255&c[u])|0,c[u]=255&f,f>>>=8;o-=64,n+=64,e&&(t+=64)}if(o>0)for(w(y,c,a,Br),u=0;u>>=8}function b(r,n,e,t,o,i){var a,f,u,c,w=new Uint32Array(17),y=new Uint32Array(17),l=new Uint32Array(17),s=new Uint32Array(17),h=new Uint32Array(17);for(u=0;u<17;u++)y[u]=l[u]=0;for(u=0;u<16;u++)y[u]=i[u];for(y[3]&=15,y[4]&=252,y[7]&=15,y[8]&=252,y[11]&=15,y[12]&=252,y[15]&=15;o>0;){for(u=0;u<17;u++)s[u]=0;for(u=0;u<16&&u>>=8;for(c=c+l[16]|0,l[16]=3&c,c=5*(c>>>2)|0,u=0;u<16;u++)c=c+l[u]|0,l[u]=255&c,c>>>=8;c=c+l[16]|0,l[16]=c}for(u=0;u<17;u++)h[u]=l[u];for(v(l,Sr),a=0|-(l[16]>>>7),u=0;u<17;u++)l[u]^=a&(h[u]^l[u]);for(u=0;u<16;u++)s[u]=i[u+16];for(s[16]=0,v(l,s),u=0;u<16;u++)r[n+u]=l[u];return 0}function p(r,n,e,t,o,i){var a=new Uint8Array(16);return b(a,0,e,t,o,i),f(r,n,a,0)}function _(r,n,e,t,o){var i;if(e<32)return-1;for(g(r,0,n,0,e,t,o),b(r,16,r,32,e-32,r),i=0;i<16;i++)r[i]=0;return 0}function A(r,n,e,t,o){var i,a=new Uint8Array(32);if(e<32)return-1;if(h(a,0,32,t,o),0!==p(n,16,n,32,e-32,a))return-1;for(g(r,0,n,0,e,t,o),i=0;i<32;i++)r[i]=0;return 0}function U(r,n){var e;for(e=0;e<16;e++)r[e]=0|n[e]}function E(r){var n,e;for(e=0;e<16;e++)r[e]+=65536,n=Math.floor(r[e]/65536),r[(e+1)*(e<15?1:0)]+=n-1+37*(n-1)*(15===e?1:0),r[e]-=65536*n}function d(r,n,e){for(var t,o=~(e-1),i=0;i<16;i++)t=o&(r[i]^n[i]),r[i]^=t,n[i]^=t}function x(r,n){var e,t,o,i=hr(),a=hr();for(e=0;e<16;e++)a[e]=n[e];for(E(a),E(a),E(a),t=0;t<2;t++){for(i[0]=a[0]-65517,e=1;e<15;e++)i[e]=a[e]-65535-(i[e-1]>>16&1),i[e-1]&=65535;i[15]=a[15]-32767-(i[14]>>16&1),o=i[15]>>16&1,i[14]&=65535,d(a,i,1-o)}for(e=0;e<16;e++)r[2*e]=255&a[e],r[2*e+1]=a[e]>>8}function m(r,n){var e=new Uint8Array(32),t=new Uint8Array(32);return x(e,r),x(t,n),u(e,0,t,0)}function B(r){var n=new Uint8Array(32);return x(n,r),1&n[0]}function S(r,n){var e;for(e=0;e<16;e++)r[e]=n[2*e]+(n[2*e+1]<<8);r[15]&=32767}function K(r,n,e){var t;for(t=0;t<16;t++)r[t]=n[t]+e[t]|0}function T(r,n,e){var t;for(t=0;t<16;t++)r[t]=n[t]-e[t]|0}function Y(r,n,e){var t,o,i=new Float64Array(31);for(t=0;t<31;t++)i[t]=0;for(t=0;t<16;t++)for(o=0;o<16;o++)i[t+o]+=n[t]*e[o];for(t=0;t<15;t++)i[t]+=38*i[t+16];for(t=0;t<16;t++)r[t]=i[t];E(r),E(r)}function L(r,n){Y(r,n,n)}function k(r,n){var e,t=hr();for(e=0;e<16;e++)t[e]=n[e];for(e=253;e>=0;e--)L(t,t),2!==e&&4!==e&&Y(t,t,n);for(e=0;e<16;e++)r[e]=t[e]}function z(r,n){var e,t=hr();for(e=0;e<16;e++)t[e]=n[e];for(e=250;e>=0;e--)L(t,t),1!==e&&Y(t,t,n);for(e=0;e<16;e++)r[e]=t[e]}function R(r,n,e){var t,o,i=new Uint8Array(32),a=new Float64Array(80),f=hr(),u=hr(),c=hr(),w=hr(),y=hr(),l=hr();for(o=0;o<31;o++)i[o]=n[o];for(i[31]=127&n[31]|64,i[0]&=248,S(a,e),o=0;o<16;o++)u[o]=a[o],w[o]=f[o]=c[o]=0;for(f[0]=w[0]=1,o=254;o>=0;--o)t=i[o>>>3]>>>(7&o)&1,d(f,u,t),d(c,w,t),K(y,f,c),T(f,f,c),K(c,u,w),T(u,u,w),L(w,y),L(l,f),Y(f,c,f),Y(c,u,y),K(y,f,c),T(f,f,c),L(u,f),T(c,w,l),Y(f,c,Ar),K(f,f,w),Y(c,c,f),Y(f,w,l),Y(w,u,a),L(u,y),d(f,u,t),d(c,w,t);for(o=0;o<16;o++)a[o+16]=f[o],a[o+32]=c[o],a[o+48]=u[o],a[o+64]=w[o];var s=a.subarray(32),h=a.subarray(16);return k(s,s),Y(h,h,s),x(r,h),0}function P(r,n){return R(r,n,br)}function O(r,n){return gr(n,32),P(r,n)}function F(r,n,e){var t=new Uint8Array(32);return R(t,e,n),y(r,vr,t,Br)}function N(r,n,e,t,o,i){var a=new Uint8Array(32);return F(a,o,i),Kr(r,n,e,t,a)}function C(r,n,e,t,o,i){var a=new Uint8Array(32);return F(a,o,i),Tr(r,n,e,t,a)}function M(){var r,n,e,t=0,o=0,i=0,a=0,f=65535;for(e=0;e>>16,i+=n&f,a+=n>>>16;return o+=t>>>16,i+=o>>>16,a+=i>>>16,new sr(i&f|a<<16,t&f|o<<16)}function G(r,n){return new sr(r.hi>>>n,r.lo>>>n|r.hi<<32-n)}function Z(){var r,n=0,e=0;for(r=0;r>>n|r.lo<>>n|r.hi<>>n|r.hi<>>n|r.lo<=128;){for(a=0;a<16;a++)y[a]=t(n,8*a+l);for(a=0;a<80;a++){for(f=0;f<8;f++)c[f]=w[f];for(o=M(w[7],X(w[4]),q(w[4],w[5],w[6]),Yr[a],y[a%16]),c[7]=M(o,V(w[0]),I(w[0],w[1],w[2])),c[3]=M(c[3],o),f=0;f<8;f++)w[(f+1)%8]=c[f];if(a%16===15)for(f=0;f<16;f++)y[f]=M(y[f],y[(f+9)%16],D(y[(f+1)%16]),H(y[(f+14)%16]))}for(a=0;a<8;a++)w[a]=M(w[a],u[a]),u[a]=w[a];l+=128,e-=128}for(a=0;a<8;a++)i(r,8*a,u[a]);return e}function Q(r,n,e){var t,o=new Uint8Array(64),a=new Uint8Array(256),f=e;for(t=0;t<64;t++)o[t]=Lr[t];for(J(o,n,e),e%=128,t=0;t<256;t++)a[t]=0;for(t=0;t=0;--o)t=e[o/8|0]>>(7&o)&1,$(r,n,t),W(n,r),W(r,r),$(r,n,t)}function er(r,n){var e=[hr(),hr(),hr(),hr()];U(e[0],dr),U(e[1],xr),U(e[2],_r),Y(e[3],dr,xr),nr(r,e,n)}function tr(r,n,e){var t,o=new Uint8Array(64),i=[hr(),hr(),hr(),hr()];for(e||gr(n,32),Q(o,n,32),o[0]&=248,o[31]&=127,o[31]|=64,er(i,o),rr(r,i),t=0;t<32;t++)n[t+32]=r[t];return 0}function or(r,n){var e,t,o,i;for(t=63;t>=32;--t){for(e=0,o=t-32,i=t-12;o>8,n[o]-=256*e;n[o]+=e,n[t]=0}for(e=0,o=0;o<32;o++)n[o]+=e-(n[31]>>4)*kr[o],e=n[o]>>8,n[o]&=255;for(o=0;o<32;o++)n[o]-=e*kr[o];for(t=0;t<32;t++)n[t+1]+=n[t]>>8,r[t]=255&n[t]}function ir(r){var n,e=new Float64Array(64);for(n=0;n<64;n++)e[n]=r[n];for(n=0;n<64;n++)r[n]=0;or(r,e)}function ar(r,n,e,t){var o,i,a=new Uint8Array(64),f=new Uint8Array(64),u=new Uint8Array(64),c=new Float64Array(64),w=[hr(),hr(),hr(),hr()];Q(a,t,32),a[0]&=248,a[31]&=127,a[31]|=64;var y=e+64;for(o=0;o>7&&T(r[0],pr,r[0]),Y(r[3],r[0],r[1]),0)}function ur(r,n,e,t){var o,i,a=new Uint8Array(32),f=new Uint8Array(64),c=[hr(),hr(),hr(),hr()],w=[hr(),hr(),hr(),hr()];if(i=-1,e<64)return-1;if(fr(w,t))return-1;for(o=0;o=0},r.sign.keyPair=function(){var r=new Uint8Array(Vr),n=new Uint8Array(Xr);return tr(r,n),{publicKey:r,secretKey:n}},r.sign.keyPair.fromSecretKey=function(r){if(yr(r),r.length!==Xr)throw new Error("bad secret key size");for(var n=new Uint8Array(Vr),e=0;e=0.14.0 <0.15.0", - "type": "range" - }, - "/mnt/Data/bach/Documents/ola/OLA#4/OLA#4DOC/sys/node_modules/sshpk" - ] - ], - "_from": "tweetnacl@>=0.14.0 <0.15.0", - "_id": "tweetnacl@0.14.5", - "_inCache": true, - "_location": "/tweetnacl", - "_nodeVersion": "7.0.0", - "_npmOperationalInternal": { - "host": "packages-12-west.internal.npmjs.com", - "tmp": "tmp/tweetnacl-0.14.5.tgz_1481627515097_0.015130913350731134" - }, - "_npmUser": { - "name": "dchest", - "email": "dmitry@codingrobots.com" - }, - "_npmVersion": "3.10.8", - "_phantomChildren": {}, - "_requested": { - "raw": "tweetnacl@~0.14.0", - "scope": null, - "escapedName": "tweetnacl", - "name": "tweetnacl", - "rawSpec": "~0.14.0", - "spec": ">=0.14.0 <0.15.0", - "type": "range" - }, - "_requiredBy": [ - "/bcrypt-pbkdf", - "/sshpk" - ], - "_resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "_shasum": "5ae68177f192d4456269d108afa93ff8743f4f64", - "_shrinkwrap": null, - "_spec": "tweetnacl@~0.14.0", - "_where": "/mnt/Data/bach/Documents/ola/OLA#4/OLA#4DOC/sys/node_modules/sshpk", - "author": { - "name": "TweetNaCl-js contributors" - }, - "browser": { - "buffer": false, - "crypto": false - }, - "bugs": { - "url": "https://github.com/dchest/tweetnacl-js/issues" - }, - "dependencies": {}, - "description": "Port of TweetNaCl cryptographic library to JavaScript", - "devDependencies": { - "browserify": "^13.0.0", - "eslint": "^2.2.0", - "faucet": "^0.0.1", - "tap-browser-color": "^0.1.2", - "tape": "^4.4.0", - "tape-run": "^2.1.3", - "tweetnacl-util": "^0.13.3", - "uglify-js": "^2.6.1" - }, - "directories": { - "test": "test" - }, - "dist": { - "shasum": "5ae68177f192d4456269d108afa93ff8743f4f64", - "tarball": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz" - }, - "gitHead": "cce829e473b1ae299a9373b5140c713ee88f577f", - "homepage": "https://tweetnacl.js.org", - "keywords": [ - "crypto", - "cryptography", - "curve25519", - "ed25519", - "encrypt", - "hash", - "key", - "nacl", - "poly1305", - "public", - "salsa20", - "signatures" - ], - "license": "Unlicense", - "main": "nacl-fast.js", - "maintainers": [ - { - "name": "dchest", - "email": "dmitry@codingrobots.com" - } - ], - "name": "tweetnacl", - "optionalDependencies": {}, - "readme": "TweetNaCl.js\n============\n\nPort of [TweetNaCl](http://tweetnacl.cr.yp.to) / [NaCl](http://nacl.cr.yp.to/)\nto JavaScript for modern browsers and Node.js. Public domain.\n\n[![Build Status](https://travis-ci.org/dchest/tweetnacl-js.svg?branch=master)\n](https://travis-ci.org/dchest/tweetnacl-js)\n\nDemo: \n\n**:warning: The library is stable and API is frozen, however it has not been\nindependently reviewed. If you can help reviewing it, please [contact\nme](mailto:dmitry@codingrobots.com).**\n\nDocumentation\n=============\n\n* [Overview](#overview)\n* [Installation](#installation)\n* [Usage](#usage)\n * [Public-key authenticated encryption (box)](#public-key-authenticated-encryption-box)\n * [Secret-key authenticated encryption (secretbox)](#secret-key-authenticated-encryption-secretbox)\n * [Scalar multiplication](#scalar-multiplication)\n * [Signatures](#signatures)\n * [Hashing](#hashing)\n * [Random bytes generation](#random-bytes-generation)\n * [Constant-time comparison](#constant-time-comparison)\n* [System requirements](#system-requirements)\n* [Development and testing](#development-and-testing)\n* [Benchmarks](#benchmarks)\n* [Contributors](#contributors)\n* [Who uses it](#who-uses-it)\n\n\nOverview\n--------\n\nThe primary goal of this project is to produce a translation of TweetNaCl to\nJavaScript which is as close as possible to the original C implementation, plus\na thin layer of idiomatic high-level API on top of it.\n\nThere are two versions, you can use either of them:\n\n* `nacl.js` is the port of TweetNaCl with minimum differences from the\n original + high-level API.\n\n* `nacl-fast.js` is like `nacl.js`, but with some functions replaced with\n faster versions.\n\n\nInstallation\n------------\n\nYou can install TweetNaCl.js via a package manager:\n\n[Bower](http://bower.io):\n\n $ bower install tweetnacl\n\n[NPM](https://www.npmjs.org/):\n\n $ npm install tweetnacl\n\nor [download source code](https://github.com/dchest/tweetnacl-js/releases).\n\n\nUsage\n-----\n\nAll API functions accept and return bytes as `Uint8Array`s. If you need to\nencode or decode strings, use functions from\n or one of the more robust codec\npackages.\n\nIn Node.js v4 and later `Buffer` objects are backed by `Uint8Array`s, so you\ncan freely pass them to TweetNaCl.js functions as arguments. The returned\nobjects are still `Uint8Array`s, so if you need `Buffer`s, you'll have to\nconvert them manually; make sure to convert using copying: `new Buffer(array)`,\ninstead of sharing: `new Buffer(array.buffer)`, because some functions return\nsubarrays of their buffers.\n\n\n### Public-key authenticated encryption (box)\n\nImplements *curve25519-xsalsa20-poly1305*.\n\n#### nacl.box.keyPair()\n\nGenerates a new random key pair for box and returns it as an object with\n`publicKey` and `secretKey` members:\n\n {\n publicKey: ..., // Uint8Array with 32-byte public key\n secretKey: ... // Uint8Array with 32-byte secret key\n }\n\n\n#### nacl.box.keyPair.fromSecretKey(secretKey)\n\nReturns a key pair for box with public key corresponding to the given secret\nkey.\n\n#### nacl.box(message, nonce, theirPublicKey, mySecretKey)\n\nEncrypt and authenticates message using peer's public key, our secret key, and\nthe given nonce, which must be unique for each distinct message for a key pair.\n\nReturns an encrypted and authenticated message, which is\n`nacl.box.overheadLength` longer than the original message.\n\n#### nacl.box.open(box, nonce, theirPublicKey, mySecretKey)\n\nAuthenticates and decrypts the given box with peer's public key, our secret\nkey, and the given nonce.\n\nReturns the original message, or `false` if authentication fails.\n\n#### nacl.box.before(theirPublicKey, mySecretKey)\n\nReturns a precomputed shared key which can be used in `nacl.box.after` and\n`nacl.box.open.after`.\n\n#### nacl.box.after(message, nonce, sharedKey)\n\nSame as `nacl.box`, but uses a shared key precomputed with `nacl.box.before`.\n\n#### nacl.box.open.after(box, nonce, sharedKey)\n\nSame as `nacl.box.open`, but uses a shared key precomputed with `nacl.box.before`.\n\n#### nacl.box.publicKeyLength = 32\n\nLength of public key in bytes.\n\n#### nacl.box.secretKeyLength = 32\n\nLength of secret key in bytes.\n\n#### nacl.box.sharedKeyLength = 32\n\nLength of precomputed shared key in bytes.\n\n#### nacl.box.nonceLength = 24\n\nLength of nonce in bytes.\n\n#### nacl.box.overheadLength = 16\n\nLength of overhead added to box compared to original message.\n\n\n### Secret-key authenticated encryption (secretbox)\n\nImplements *xsalsa20-poly1305*.\n\n#### nacl.secretbox(message, nonce, key)\n\nEncrypt and authenticates message using the key and the nonce. The nonce must\nbe unique for each distinct message for this key.\n\nReturns an encrypted and authenticated message, which is\n`nacl.secretbox.overheadLength` longer than the original message.\n\n#### nacl.secretbox.open(box, nonce, key)\n\nAuthenticates and decrypts the given secret box using the key and the nonce.\n\nReturns the original message, or `false` if authentication fails.\n\n#### nacl.secretbox.keyLength = 32\n\nLength of key in bytes.\n\n#### nacl.secretbox.nonceLength = 24\n\nLength of nonce in bytes.\n\n#### nacl.secretbox.overheadLength = 16\n\nLength of overhead added to secret box compared to original message.\n\n\n### Scalar multiplication\n\nImplements *curve25519*.\n\n#### nacl.scalarMult(n, p)\n\nMultiplies an integer `n` by a group element `p` and returns the resulting\ngroup element.\n\n#### nacl.scalarMult.base(n)\n\nMultiplies an integer `n` by a standard group element and returns the resulting\ngroup element.\n\n#### nacl.scalarMult.scalarLength = 32\n\nLength of scalar in bytes.\n\n#### nacl.scalarMult.groupElementLength = 32\n\nLength of group element in bytes.\n\n\n### Signatures\n\nImplements [ed25519](http://ed25519.cr.yp.to).\n\n#### nacl.sign.keyPair()\n\nGenerates new random key pair for signing and returns it as an object with\n`publicKey` and `secretKey` members:\n\n {\n publicKey: ..., // Uint8Array with 32-byte public key\n secretKey: ... // Uint8Array with 64-byte secret key\n }\n\n#### nacl.sign.keyPair.fromSecretKey(secretKey)\n\nReturns a signing key pair with public key corresponding to the given\n64-byte secret key. The secret key must have been generated by\n`nacl.sign.keyPair` or `nacl.sign.keyPair.fromSeed`.\n\n#### nacl.sign.keyPair.fromSeed(seed)\n\nReturns a new signing key pair generated deterministically from a 32-byte seed.\nThe seed must contain enough entropy to be secure. This method is not\nrecommended for general use: instead, use `nacl.sign.keyPair` to generate a new\nkey pair from a random seed.\n\n#### nacl.sign(message, secretKey)\n\nSigns the message using the secret key and returns a signed message.\n\n#### nacl.sign.open(signedMessage, publicKey)\n\nVerifies the signed message and returns the message without signature.\n\nReturns `null` if verification failed.\n\n#### nacl.sign.detached(message, secretKey)\n\nSigns the message using the secret key and returns a signature.\n\n#### nacl.sign.detached.verify(message, signature, publicKey)\n\nVerifies the signature for the message and returns `true` if verification\nsucceeded or `false` if it failed.\n\n#### nacl.sign.publicKeyLength = 32\n\nLength of signing public key in bytes.\n\n#### nacl.sign.secretKeyLength = 64\n\nLength of signing secret key in bytes.\n\n#### nacl.sign.seedLength = 32\n\nLength of seed for `nacl.sign.keyPair.fromSeed` in bytes.\n\n#### nacl.sign.signatureLength = 64\n\nLength of signature in bytes.\n\n\n### Hashing\n\nImplements *SHA-512*.\n\n#### nacl.hash(message)\n\nReturns SHA-512 hash of the message.\n\n#### nacl.hash.hashLength = 64\n\nLength of hash in bytes.\n\n\n### Random bytes generation\n\n#### nacl.randomBytes(length)\n\nReturns a `Uint8Array` of the given length containing random bytes of\ncryptographic quality.\n\n**Implementation note**\n\nTweetNaCl.js uses the following methods to generate random bytes,\ndepending on the platform it runs on:\n\n* `window.crypto.getRandomValues` (WebCrypto standard)\n* `window.msCrypto.getRandomValues` (Internet Explorer 11)\n* `crypto.randomBytes` (Node.js)\n\nIf the platform doesn't provide a suitable PRNG, the following functions,\nwhich require random numbers, will throw exception:\n\n* `nacl.randomBytes`\n* `nacl.box.keyPair`\n* `nacl.sign.keyPair`\n\nOther functions are deterministic and will continue working.\n\nIf a platform you are targeting doesn't implement secure random number\ngenerator, but you somehow have a cryptographically-strong source of entropy\n(not `Math.random`!), and you know what you are doing, you can plug it into\nTweetNaCl.js like this:\n\n nacl.setPRNG(function(x, n) {\n // ... copy n random bytes into x ...\n });\n\nNote that `nacl.setPRNG` *completely replaces* internal random byte generator\nwith the one provided.\n\n\n### Constant-time comparison\n\n#### nacl.verify(x, y)\n\nCompares `x` and `y` in constant time and returns `true` if their lengths are\nnon-zero and equal, and their contents are equal.\n\nReturns `false` if either of the arguments has zero length, or arguments have\ndifferent lengths, or their contents differ.\n\n\nSystem requirements\n-------------------\n\nTweetNaCl.js supports modern browsers that have a cryptographically secure\npseudorandom number generator and typed arrays, including the latest versions\nof:\n\n* Chrome\n* Firefox\n* Safari (Mac, iOS)\n* Internet Explorer 11\n\nOther systems:\n\n* Node.js\n\n\nDevelopment and testing\n------------------------\n\nInstall NPM modules needed for development:\n\n $ npm install\n\nTo build minified versions:\n\n $ npm run build\n\nTests use minified version, so make sure to rebuild it every time you change\n`nacl.js` or `nacl-fast.js`.\n\n### Testing\n\nTo run tests in Node.js:\n\n $ npm run test-node\n\nBy default all tests described here work on `nacl.min.js`. To test other\nversions, set environment variable `NACL_SRC` to the file name you want to test.\nFor example, the following command will test fast minified version:\n\n $ NACL_SRC=nacl-fast.min.js npm run test-node\n\nTo run full suite of tests in Node.js, including comparing outputs of\nJavaScript port to outputs of the original C version:\n\n $ npm run test-node-all\n\nTo prepare tests for browsers:\n\n $ npm run build-test-browser\n\nand then open `test/browser/test.html` (or `test/browser/test-fast.html`) to\nrun them.\n\nTo run headless browser tests with `tape-run` (powered by Electron):\n\n $ npm run test-browser\n\n(If you get `Error: spawn ENOENT`, install *xvfb*: `sudo apt-get install xvfb`.)\n\nTo run tests in both Node and Electron:\n\n $ npm test\n\n### Benchmarking\n\nTo run benchmarks in Node.js:\n\n $ npm run bench\n $ NACL_SRC=nacl-fast.min.js npm run bench\n\nTo run benchmarks in a browser, open `test/benchmark/bench.html` (or\n`test/benchmark/bench-fast.html`).\n\n\nBenchmarks\n----------\n\nFor reference, here are benchmarks from MacBook Pro (Retina, 13-inch, Mid 2014)\nlaptop with 2.6 GHz Intel Core i5 CPU (Intel) in Chrome 53/OS X and Xiaomi Redmi\nNote 3 smartphone with 1.8 GHz Qualcomm Snapdragon 650 64-bit CPU (ARM) in\nChrome 52/Android:\n\n| | nacl.js Intel | nacl-fast.js Intel | nacl.js ARM | nacl-fast.js ARM |\n| ------------- |:-------------:|:-------------------:|:-------------:|:-----------------:|\n| salsa20 | 1.3 MB/s | 128 MB/s | 0.4 MB/s | 43 MB/s |\n| poly1305 | 13 MB/s | 171 MB/s | 4 MB/s | 52 MB/s |\n| hash | 4 MB/s | 34 MB/s | 0.9 MB/s | 12 MB/s |\n| secretbox 1K | 1113 op/s | 57583 op/s | 334 op/s | 14227 op/s |\n| box 1K | 145 op/s | 718 op/s | 37 op/s | 368 op/s |\n| scalarMult | 171 op/s | 733 op/s | 56 op/s | 380 op/s |\n| sign | 77 op/s | 200 op/s | 20 op/s | 61 op/s |\n| sign.open | 39 op/s | 102 op/s | 11 op/s | 31 op/s |\n\n(You can run benchmarks on your devices by clicking on the links at the bottom\nof the [home page](https://tweetnacl.js.org)).\n\nIn short, with *nacl-fast.js* and 1024-byte messages you can expect to encrypt and\nauthenticate more than 57000 messages per second on a typical laptop or more than\n14000 messages per second on a $170 smartphone, sign about 200 and verify 100\nmessages per second on a laptop or 60 and 30 messages per second on a smartphone,\nper CPU core (with Web Workers you can do these operations in parallel),\nwhich is good enough for most applications.\n\n\nContributors\n------------\n\nSee AUTHORS.md file.\n\n\nThird-party libraries based on TweetNaCl.js\n-------------------------------------------\n\n* [forward-secrecy](https://github.com/alax/forward-secrecy) — Axolotl ratchet implementation\n* [nacl-stream](https://github.com/dchest/nacl-stream-js) - streaming encryption\n* [tweetnacl-auth-js](https://github.com/dchest/tweetnacl-auth-js) — implementation of [`crypto_auth`](http://nacl.cr.yp.to/auth.html)\n* [chloride](https://github.com/dominictarr/chloride) - unified API for various NaCl modules\n\n\nWho uses it\n-----------\n\nSome notable users of TweetNaCl.js:\n\n* [miniLock](http://minilock.io/)\n* [Stellar](https://www.stellar.org/)\n", - "readmeFilename": "README.md", - "repository": { - "type": "git", - "url": "git+https://github.com/dchest/tweetnacl-js.git" - }, - "scripts": { - "bench": "node test/benchmark/bench.js", - "build": "uglifyjs nacl.js -c -m -o nacl.min.js && uglifyjs nacl-fast.js -c -m -o nacl-fast.min.js", - "build-test-browser": "browserify test/browser/init.js test/*.js | uglifyjs -c -m -o test/browser/_bundle.js 2>/dev/null && browserify test/browser/init.js test/*.quick.js | uglifyjs -c -m -o test/browser/_bundle-quick.js 2>/dev/null", - "lint": "eslint nacl.js nacl-fast.js test/*.js test/benchmark/*.js", - "test": "npm run test-node-all && npm run test-browser", - "test-browser": "NACL_SRC=${NACL_SRC:='nacl.min.js'} && npm run build-test-browser && cat $NACL_SRC test/browser/_bundle.js | tape-run | faucet", - "test-node": "tape test/*.js | faucet", - "test-node-all": "make -C test/c && tape test/*.js test/c/*.js | faucet" - }, - "types": "nacl.d.ts", - "version": "0.14.5" -} diff --git a/publi/node_modules/unc-path-regex/LICENSE b/publi/node_modules/unc-path-regex/LICENSE deleted file mode 100644 index 65f90ac..0000000 --- a/publi/node_modules/unc-path-regex/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2015, 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. diff --git a/publi/node_modules/unc-path-regex/README.md b/publi/node_modules/unc-path-regex/README.md deleted file mode 100644 index e0eddda..0000000 --- a/publi/node_modules/unc-path-regex/README.md +++ /dev/null @@ -1,88 +0,0 @@ -# unc-path-regex [![NPM version](https://badge.fury.io/js/unc-path-regex.svg)](http://badge.fury.io/js/unc-path-regex) [![Build Status](https://travis-ci.org/jonschlinkert/unc-path-regex.svg)](https://travis-ci.org/jonschlinkert/unc-path-regex) - -> Regular expression for testing if a file path is a windows UNC file path. Can also be used as a component of another regexp via the `.source` property. - -Visit the MSDN reference for [Common Data Types 2.2.57 UNC](https://msdn.microsoft.com/en-us/library/gg465305.aspx) for more information about UNC paths. - -## Install - -Install with [npm](https://www.npmjs.com/) - -```sh -$ npm i unc-path-regex --save -``` - -## Usage - -```js -// unc-path-regex returns a function -var regex = require('unc-path-regex')(); -``` - -**true** - -Returns true for windows UNC paths: - -```js -regex.test('\\/foo/bar'); -regex.test('\\\\foo/bar'); -regex.test('\\\\foo\\admin$'); -regex.test('\\\\foo\\admin$\\system32'); -regex.test('\\\\foo\\temp'); -regex.test('\\\\/foo/bar'); -regex.test('\\\\\\/foo/bar'); -``` - -**false** - -Returns false for non-UNC paths: - -```js -regex.test('/foo/bar'); -regex.test('/'); -regex.test('/foo'); -regex.test('/foo/'); -regex.test('c:'); -regex.test('c:.'); -regex.test('c:./'); -regex.test('c:./file'); -regex.test('c:/'); -regex.test('c:/file'); -``` - -## Related projects - -* [dotfile-regex](https://github.com/regexps/dotfile-regex): Regular expresson for matching dotfiles. -* [dotdir-regex](https://github.com/regexps/dotdir-regex): Regex for matching dot-directories, like `.git/` -* [dirname-regex](https://github.com/regexps/dirname-regex): Regular expression for matching the directory part of a file path. -* [is-unc-path](https://github.com/jonschlinkert/is-unc-path): Returns true if a filepath is a windows UNC file path. -* [is-glob](https://github.com/jonschlinkert/is-glob): Returns `true` if the given string looks like a glob pattern. -* [path-regex](https://github.com/regexps/path-regex): Regular expression for matching the parts of a file path. - -## Running tests - -Install dev dependencies: - -```sh -$ npm i -d && npm test -``` - -## Contributing - -Pull requests and stars are always welcome. For bugs and feature requests, [please create an issue](https://github.com/jonschlinkert/unc-path-regex/issues/new) - -## Author - -**Jon Schlinkert** - -+ [github/jonschlinkert](https://github.com/jonschlinkert) -+ [twitter/jonschlinkert](http://twitter.com/jonschlinkert) - -## License - -Copyright © 2015 Jon Schlinkert -Released under the MIT license. - -*** - -_This file was generated by [verb-cli](https://github.com/assemble/verb-cli) on July 07, 2015._ \ No newline at end of file diff --git a/publi/node_modules/unc-path-regex/index.js b/publi/node_modules/unc-path-regex/index.js deleted file mode 100644 index c268404..0000000 --- a/publi/node_modules/unc-path-regex/index.js +++ /dev/null @@ -1,5 +0,0 @@ -'use strict'; - -module.exports = function uncPathRegex() { - return /^[\\\/]{2,}[^\\\/]+[\\\/]+[^\\\/]+/; -}; diff --git a/publi/node_modules/unc-path-regex/package.json b/publi/node_modules/unc-path-regex/package.json deleted file mode 100644 index 4eb65ff..0000000 --- a/publi/node_modules/unc-path-regex/package.json +++ /dev/null @@ -1,124 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "unc-path-regex@^0.1.0", - "scope": null, - "escapedName": "unc-path-regex", - "name": "unc-path-regex", - "rawSpec": "^0.1.0", - "spec": ">=0.1.0 <0.2.0", - "type": "range" - }, - "/mnt/Data/bach/Documents/ola/OLA#3DOC/sys/node_modules/is-unc-path" - ] - ], - "_from": "unc-path-regex@>=0.1.0 <0.2.0", - "_id": "unc-path-regex@0.1.2", - "_inCache": true, - "_location": "/unc-path-regex", - "_nodeVersion": "5.8.0", - "_npmOperationalInternal": { - "host": "packages-16-east.internal.npmjs.com", - "tmp": "tmp/unc-path-regex-0.1.2.tgz_1460256703094_0.4246507475618273" - }, - "_npmUser": { - "name": "tunnckocore", - "email": "mameto_100@mail.bg" - }, - "_npmVersion": "3.8.5", - "_phantomChildren": {}, - "_requested": { - "raw": "unc-path-regex@^0.1.0", - "scope": null, - "escapedName": "unc-path-regex", - "name": "unc-path-regex", - "rawSpec": "^0.1.0", - "spec": ">=0.1.0 <0.2.0", - "type": "range" - }, - "_requiredBy": [ - "/is-unc-path" - ], - "_resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz", - "_shasum": "e73dd3d7b0d7c5ed86fbac6b0ae7d8c6a69d50fa", - "_shrinkwrap": null, - "_spec": "unc-path-regex@^0.1.0", - "_where": "/mnt/Data/bach/Documents/ola/OLA#3DOC/sys/node_modules/is-unc-path", - "author": { - "name": "Jon Schlinkert", - "url": "https://github.com/jonschlinkert" - }, - "bugs": { - "url": "https://github.com/regexhq/unc-path-regex/issues" - }, - "dependencies": {}, - "description": "Regular expression for testing if a file path is a windows UNC file path. Can also be used as a component of another regexp via the `.source` property.", - "devDependencies": { - "mocha": "*" - }, - "directories": {}, - "dist": { - "shasum": "e73dd3d7b0d7c5ed86fbac6b0ae7d8c6a69d50fa", - "tarball": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz" - }, - "engines": { - "node": ">=0.10.0" - }, - "files": [ - "index.js" - ], - "gitHead": "8962715152d8438fac975f90ac218017b41fea20", - "homepage": "https://github.com/regexhq/unc-path-regex", - "keywords": [ - "absolute", - "expression", - "file", - "filepath", - "match", - "matching", - "path", - "regex", - "regexp", - "regular", - "unc", - "win", - "windows" - ], - "license": "MIT", - "main": "index.js", - "maintainers": [ - { - "name": "jonschlinkert", - "email": "github@sellside.com" - }, - { - "name": "tunnckocore", - "email": "mameto_100@mail.bg" - } - ], - "name": "unc-path-regex", - "optionalDependencies": {}, - "readme": "ERROR: No README data found!", - "repository": { - "type": "git", - "url": "git+https://github.com/regexhq/unc-path-regex.git" - }, - "scripts": { - "test": "mocha" - }, - "verb": { - "related": { - "list": [ - "dotfile-regex", - "is-unc-path", - "unc-path-regex", - "dotdir-regex", - "path-regex", - "dirname-regex", - "is-glob" - ] - } - }, - "version": "0.1.2" -} diff --git a/publi/node_modules/union-value/LICENSE b/publi/node_modules/union-value/LICENSE deleted file mode 100644 index 83b56e7..0000000 --- a/publi/node_modules/union-value/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2015-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. diff --git a/publi/node_modules/union-value/README.md b/publi/node_modules/union-value/README.md deleted file mode 100644 index 1a90ffb..0000000 --- a/publi/node_modules/union-value/README.md +++ /dev/null @@ -1,73 +0,0 @@ -# union-value [![NPM version](https://img.shields.io/npm/v/union-value.svg?style=flat)](https://www.npmjs.com/package/union-value) [![NPM monthly downloads](https://img.shields.io/npm/dm/union-value.svg?style=flat)](https://npmjs.org/package/union-value) [![NPM total downloads](https://img.shields.io/npm/dt/union-value.svg?style=flat)](https://npmjs.org/package/union-value) [![Linux Build Status](https://img.shields.io/travis/jonschlinkert/union-value.svg?style=flat&label=Travis)](https://travis-ci.org/jonschlinkert/union-value) - -> Set an array of unique values as the property of an object. Supports setting deeply nested properties using using object-paths/dot notation. - -## Install - -Install with [npm](https://www.npmjs.com/): - -```sh -$ npm install --save union-value -``` - -## Usage - -```js -var union = require('union-value'); - -var obj = {}; - -union(obj, 'a.b.c', ['one', 'two']); -union(obj, 'a.b.c', ['three']); - -console.log(obj); -//=> {a: {b: {c: [ 'one', 'two', 'three' ] }}} -``` - -## About - -### Related projects - -* [assign-value](https://www.npmjs.com/package/assign-value): Assign a value or extend a deeply nested property of an object using object path… [more](https://github.com/jonschlinkert/assign-value) | [homepage](https://github.com/jonschlinkert/assign-value "Assign a value or extend a deeply nested property of an object using object path notation.") -* [get-value](https://www.npmjs.com/package/get-value): Use property paths (`a.b.c`) to get a nested value from an object. | [homepage](https://github.com/jonschlinkert/get-value "Use property paths (`a.b.c`) to get a nested value from an object.") -* [has-value](https://www.npmjs.com/package/has-value): Returns true if a value exists, false if empty. Works with deeply nested values using… [more](https://github.com/jonschlinkert/has-value) | [homepage](https://github.com/jonschlinkert/has-value "Returns true if a value exists, false if empty. Works with deeply nested values using object paths.") -* [set-value](https://www.npmjs.com/package/set-value): Create nested values and any intermediaries using dot notation (`'a.b.c'`) paths. | [homepage](https://github.com/jonschlinkert/set-value "Create nested values and any intermediaries using dot notation (`'a.b.c'`) paths.") -* [unset-value](https://www.npmjs.com/package/unset-value): Delete nested properties from an object using dot notation. | [homepage](https://github.com/jonschlinkert/unset-value "Delete nested properties from an object using dot notation.") - -### Contributing - -Pull requests and stars are always welcome. For bugs and feature requests, [please create an issue](../../issues/new). - -### Building docs - -_(This project's readme.md is generated by [verb](https://github.com/verbose/verb-generate-readme), please don't edit the readme directly. Any changes to the readme must be made in the [.verb.md](.verb.md) readme template.)_ - -To generate the readme, run the following command: - -```sh -$ npm install -g verbose/verb#dev verb-generate-readme && verb -``` - -### Running tests - -Running and reviewing unit tests is a great way to get familiarized with a library and its API. You can install dependencies and run tests with the following command: - -```sh -$ npm install && npm test -``` - -### Author - -**Jon Schlinkert** - -* [github/jonschlinkert](https://github.com/jonschlinkert) -* [twitter/jonschlinkert](https://twitter.com/jonschlinkert) - -### License - -Copyright © 2017, [Jon Schlinkert](https://github.com/jonschlinkert). -Released under the [MIT License](LICENSE). - -*** - -_This file was generated by [verb-generate-readme](https://github.com/verbose/verb-generate-readme), v0.4.2, on February 25, 2017._ \ No newline at end of file diff --git a/publi/node_modules/union-value/index.js b/publi/node_modules/union-value/index.js deleted file mode 100644 index 9c5d8db..0000000 --- a/publi/node_modules/union-value/index.js +++ /dev/null @@ -1,30 +0,0 @@ -'use strict'; - -var isObject = require('is-extendable'); -var union = require('arr-union'); -var get = require('get-value'); -var set = require('set-value'); - -module.exports = function unionValue(obj, prop, value) { - if (!isObject(obj)) { - throw new TypeError('union-value expects the first argument to be an object.'); - } - - if (typeof prop !== 'string') { - throw new TypeError('union-value expects `prop` to be a string.'); - } - - var arr = arrayify(get(obj, prop)); - set(obj, prop, union(arr, arrayify(value))); - return obj; -}; - -function arrayify(val) { - if (val === null || typeof val === 'undefined') { - return []; - } - if (Array.isArray(val)) { - return val; - } - return [val]; -} diff --git a/publi/node_modules/union-value/node_modules/set-value/LICENSE b/publi/node_modules/union-value/node_modules/set-value/LICENSE deleted file mode 100644 index d734237..0000000 --- a/publi/node_modules/union-value/node_modules/set-value/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -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. diff --git a/publi/node_modules/union-value/node_modules/set-value/README.md b/publi/node_modules/union-value/node_modules/set-value/README.md deleted file mode 100644 index 19fbdbb..0000000 --- a/publi/node_modules/union-value/node_modules/set-value/README.md +++ /dev/null @@ -1,81 +0,0 @@ -# set-value [![NPM version](https://img.shields.io/npm/v/set-value.svg?style=flat)](https://www.npmjs.com/package/set-value) [![NPM monthly downloads](https://img.shields.io/npm/dm/set-value.svg?style=flat)](https://npmjs.org/package/set-value) [![NPM total downloads](https://img.shields.io/npm/dt/set-value.svg?style=flat)](https://npmjs.org/package/set-value) [![Linux Build Status](https://img.shields.io/travis/jonschlinkert/set-value.svg?style=flat&label=Travis)](https://travis-ci.org/jonschlinkert/set-value) - -> Create nested values and any intermediaries using dot notation (`'a.b.c'`) paths. - -## Install - -Install with [npm](https://www.npmjs.com/): - -```sh -$ npm install --save set-value -``` - -## Usage - -```js -var set = require('set-value'); - -var obj = {}; -set(obj, 'a.b.c', 'd'); -console.log(obj); -//=> {a: {b: c: 'd'}} -``` - -## About - -### Related projects - -* [assign-value](https://www.npmjs.com/package/assign-value): Assign a value or extend a deeply nested property of an object using object path… [more](https://github.com/jonschlinkert/assign-value) | [homepage](https://github.com/jonschlinkert/assign-value "Assign a value or extend a deeply nested property of an object using object path notation.") -* [get-value](https://www.npmjs.com/package/get-value): Use property paths (`a.b.c`) to get a nested value from an object. | [homepage](https://github.com/jonschlinkert/get-value "Use property paths (`a.b.c`) to get a nested value from an object.") -* [has-value](https://www.npmjs.com/package/has-value): Returns true if a value exists, false if empty. Works with deeply nested values using… [more](https://github.com/jonschlinkert/has-value) | [homepage](https://github.com/jonschlinkert/has-value "Returns true if a value exists, false if empty. Works with deeply nested values using object paths.") -* [merge-value](https://www.npmjs.com/package/merge-value): Similar to assign-value but deeply merges object values or nested values using object path/dot notation. | [homepage](https://github.com/jonschlinkert/merge-value "Similar to assign-value but deeply merges object values or nested values using object path/dot notation.") -* [omit-value](https://www.npmjs.com/package/omit-value): Omit properties from an object or deeply nested property of an object using object path… [more](https://github.com/jonschlinkert/omit-value) | [homepage](https://github.com/jonschlinkert/omit-value "Omit properties from an object or deeply nested property of an object using object path notation.") -* [set-value](https://www.npmjs.com/package/set-value): Create nested values and any intermediaries using dot notation (`'a.b.c'`) paths. | [homepage](https://github.com/jonschlinkert/set-value "Create nested values and any intermediaries using dot notation (`'a.b.c'`) paths.") -* [union-value](https://www.npmjs.com/package/union-value): Set an array of unique values as the property of an object. Supports setting deeply… [more](https://github.com/jonschlinkert/union-value) | [homepage](https://github.com/jonschlinkert/union-value "Set an array of unique values as the property of an object. Supports setting deeply nested properties using using object-paths/dot notation.") -* [unset-value](https://www.npmjs.com/package/unset-value): Delete nested properties from an object using dot notation. | [homepage](https://github.com/jonschlinkert/unset-value "Delete nested properties from an object using dot notation.") - -### Contributing - -Pull requests and stars are always welcome. For bugs and feature requests, [please create an issue](../../issues/new). - -### Contributors - -| **Commits** | **Contributor** | -| --- | --- | -| 53 | [jonschlinkert](https://github.com/jonschlinkert) | -| 1 | [vadimdemedes](https://github.com/vadimdemedes) | -| 1 | [wtgtybhertgeghgtwtg](https://github.com/wtgtybhertgeghgtwtg) | - -### Building docs - -_(This project's readme.md is generated by [verb](https://github.com/verbose/verb-generate-readme), please don't edit the readme directly. Any changes to the readme must be made in the [.verb.md](.verb.md) readme template.)_ - -To generate the readme, run the following command: - -```sh -$ npm install -g verbose/verb#dev verb-generate-readme && verb -``` - -### Running tests - -Running and reviewing unit tests is a great way to get familiarized with a library and its API. You can install dependencies and run tests with the following command: - -```sh -$ npm install && npm test -``` - -### Author - -**Jon Schlinkert** - -* [github/jonschlinkert](https://github.com/jonschlinkert) -* [twitter/jonschlinkert](https://twitter.com/jonschlinkert) - -### License - -Copyright © 2017, [Jon Schlinkert](https://github.com/jonschlinkert). -Released under the [MIT License](LICENSE). - -*** - -_This file was generated by [verb-generate-readme](https://github.com/verbose/verb-generate-readme), v0.4.2, on February 22, 2017._ \ No newline at end of file diff --git a/publi/node_modules/union-value/node_modules/set-value/index.js b/publi/node_modules/union-value/node_modules/set-value/index.js deleted file mode 100644 index e51ece5..0000000 --- a/publi/node_modules/union-value/node_modules/set-value/index.js +++ /dev/null @@ -1,63 +0,0 @@ -/*! - * set-value - * - * Copyright (c) 2014-2015, 2017, Jon Schlinkert. - * Released under the MIT License. - */ - -'use strict'; - -var toPath = require('to-object-path'); -var extend = require('extend-shallow'); -var isPlainObject = require('is-plain-object'); -var isObject = require('is-extendable'); - -module.exports = function(obj, path, val) { - if (!isObject(obj)) { - return obj; - } - - if (Array.isArray(path)) { - path = toPath(path); - } - - if (typeof path !== 'string') { - return obj; - } - - var segs = path.split('.'); - var len = segs.length, i = -1; - var res = obj; - var last; - - while (++i < len) { - var key = segs[i]; - - while (key[key.length - 1] === '\\') { - key = key.slice(0, -1) + '.' + segs[++i]; - } - - if (i === len - 1) { - last = key; - break; - } - - if (!isObject(obj[key])) { - obj[key] = {}; - } - obj = obj[key]; - } - - if (obj.hasOwnProperty(last) && isObject(obj[last])) { - if (isPlainObject(val)) { - extend(obj[last], val); - } else { - obj[last] = val; - } - - } else { - obj[last] = val; - } - return res; -}; - diff --git a/publi/node_modules/union-value/node_modules/set-value/package.json b/publi/node_modules/union-value/node_modules/set-value/package.json deleted file mode 100644 index 639a707..0000000 --- a/publi/node_modules/union-value/node_modules/set-value/package.json +++ /dev/null @@ -1,121 +0,0 @@ -{ - "_from": "set-value@^0.4.3", - "_id": "set-value@0.4.3", - "_inBundle": false, - "_integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=", - "_location": "/union-value/set-value", - "_phantomChildren": {}, - "_requested": { - "type": "range", - "registry": true, - "raw": "set-value@^0.4.3", - "name": "set-value", - "escapedName": "set-value", - "rawSpec": "^0.4.3", - "saveSpec": null, - "fetchSpec": "^0.4.3" - }, - "_requiredBy": [ - "/union-value" - ], - "_resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz", - "_shasum": "7db08f9d3d22dc7f78e53af3c3bf4666ecdfccf1", - "_spec": "set-value@^0.4.3", - "_where": "/mnt/Data/bach/Documents/ola/OLA#5/ola5doc/publi/node_modules/union-value", - "author": { - "name": "Jon Schlinkert", - "url": "https://github.com/jonschlinkert" - }, - "bugs": { - "url": "https://github.com/jonschlinkert/set-value/issues" - }, - "bundleDependencies": false, - "contributors": [ - { - "email": "wtgtybhertgeghgtwtg@gmail.com", - "url": "https://github.com/wtgtybhertgeghgtwtg" - }, - { - "name": "Jon Schlinkert", - "email": "jon.schlinkert@sellside.com", - "url": "http://twitter.com/jonschlinkert" - }, - { - "name": "Vadim Demedes", - "email": "vdemedes@gmail.com", - "url": "https://vadimdemedes.com" - } - ], - "dependencies": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.1", - "to-object-path": "^0.3.0" - }, - "deprecated": false, - "description": "Create nested values and any intermediaries using dot notation (`'a.b.c'`) paths.", - "devDependencies": { - "gulp-format-md": "^0.1.10", - "mocha": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - }, - "files": [ - "index.js" - ], - "homepage": "https://github.com/jonschlinkert/set-value", - "keywords": [ - "get", - "has", - "hasown", - "key", - "keys", - "nested", - "notation", - "object", - "prop", - "properties", - "property", - "props", - "set", - "value", - "values" - ], - "license": "MIT", - "main": "index.js", - "name": "set-value", - "repository": { - "type": "git", - "url": "git+https://github.com/jonschlinkert/set-value.git" - }, - "scripts": { - "test": "mocha" - }, - "verb": { - "toc": false, - "layout": "default", - "tasks": [ - "readme" - ], - "plugins": [ - "gulp-format-md" - ], - "related": { - "list": [ - "assign-value", - "get-value", - "has-value", - "merge-value", - "omit-value", - "set-value", - "union-value", - "unset-value" - ] - }, - "lint": { - "reflinks": true - } - }, - "version": "0.4.3" -} diff --git a/publi/node_modules/union-value/package.json b/publi/node_modules/union-value/package.json deleted file mode 100644 index cf3f271..0000000 --- a/publi/node_modules/union-value/package.json +++ /dev/null @@ -1,106 +0,0 @@ -{ - "_from": "union-value@^1.0.0", - "_id": "union-value@1.0.0", - "_inBundle": false, - "_integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=", - "_location": "/union-value", - "_phantomChildren": { - "extend-shallow": "2.0.1", - "is-extendable": "0.1.1", - "is-plain-object": "2.0.4", - "to-object-path": "0.3.0" - }, - "_requested": { - "type": "range", - "registry": true, - "raw": "union-value@^1.0.0", - "name": "union-value", - "escapedName": "union-value", - "rawSpec": "^1.0.0", - "saveSpec": null, - "fetchSpec": "^1.0.0" - }, - "_requiredBy": [ - "/cache-base" - ], - "_resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz", - "_shasum": "5c71c34cb5bad5dcebe3ea0cd08207ba5aa1aea4", - "_spec": "union-value@^1.0.0", - "_where": "/mnt/Data/bach/Documents/ola/OLA#5/ola5doc/publi/node_modules/cache-base", - "author": { - "name": "Jon Schlinkert", - "url": "https://github.com/jonschlinkert" - }, - "bugs": { - "url": "https://github.com/jonschlinkert/union-value/issues" - }, - "bundleDependencies": false, - "dependencies": { - "arr-union": "^3.1.0", - "get-value": "^2.0.6", - "is-extendable": "^0.1.1", - "set-value": "^0.4.3" - }, - "deprecated": false, - "description": "Set an array of unique values as the property of an object. Supports setting deeply nested properties using using object-paths/dot notation.", - "devDependencies": { - "gulp-format-md": "^0.1.11", - "mocha": "^3.2.0", - "should": "^11.2.0" - }, - "engines": { - "node": ">=0.10.0" - }, - "files": [ - "index.js" - ], - "homepage": "https://github.com/jonschlinkert/union-value", - "keywords": [ - "array", - "dot", - "get", - "has", - "nested", - "notation", - "object", - "path", - "prop", - "property", - "set", - "union", - "value" - ], - "license": "MIT", - "main": "index.js", - "name": "union-value", - "repository": { - "type": "git", - "url": "git+https://github.com/jonschlinkert/union-value.git" - }, - "scripts": { - "test": "mocha" - }, - "verb": { - "toc": false, - "layout": "default", - "tasks": [ - "readme" - ], - "plugins": [ - "gulp-format-md" - ], - "related": { - "list": [ - "assign-value", - "get-value", - "has-value", - "set-value", - "unset-value" - ] - }, - "lint": { - "reflinks": true - } - }, - "version": "1.0.0" -} diff --git a/publi/node_modules/unique-stream/.npmignore b/publi/node_modules/unique-stream/.npmignore deleted file mode 100644 index 4443039..0000000 --- a/publi/node_modules/unique-stream/.npmignore +++ /dev/null @@ -1,3 +0,0 @@ -*.swp -.DS_Store -node_modules/ diff --git a/publi/node_modules/unique-stream/.travis.yml b/publi/node_modules/unique-stream/.travis.yml deleted file mode 100644 index 6e5919d..0000000 --- a/publi/node_modules/unique-stream/.travis.yml +++ /dev/null @@ -1,3 +0,0 @@ -language: node_js -node_js: - - "0.10" diff --git a/publi/node_modules/unique-stream/LICENSE b/publi/node_modules/unique-stream/LICENSE deleted file mode 100644 index cd2225a..0000000 --- a/publi/node_modules/unique-stream/LICENSE +++ /dev/null @@ -1,20 +0,0 @@ -Copyright 2014 Eugene Ware - -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/publi/node_modules/unique-stream/README.md b/publi/node_modules/unique-stream/README.md deleted file mode 100644 index f19b20a..0000000 --- a/publi/node_modules/unique-stream/README.md +++ /dev/null @@ -1,89 +0,0 @@ -# unique-stream - -node.js through stream that emits a unique stream of objects based on criteria - -[![build status](https://secure.travis-ci.org/eugeneware/unique-stream.png)](http://travis-ci.org/eugeneware/unique-stream) - -## Installation - -Install via npm: - -``` -$ npm install unique-stream -``` - -## Examples - -### Dedupe a ReadStream based on JSON.stringify: - -``` js -var unique = require('unique-stream') - , Stream = require('stream'); - -// return a stream of 3 identical objects -function makeStreamOfObjects() { - var s = new Stream; - s.readable = true; - var count = 3; - for (var i = 0; i < 3; i++) { - setImmediate(function () { - s.emit('data', { name: 'Bob', number: 123 }); - --count && end(); - }); - } - - function end() { - s.emit('end'); - } - - return s; -} - -// Will only print out one object as the rest are dupes. (Uses JSON.stringify) -makeStreamOfObjects() - .pipe(unique()) - .on('data', console.log); - -``` - -### Dedupe a ReadStream based on an object property: - -``` js -// Use name as the key field to dedupe on. Will only print one object -makeStreamOfObjects() - .pipe(unique('name')) - .on('data', console.log); -``` - -### Dedupe a ReadStream based on a custom function: - -``` js -// Use a custom function to dedupe on. Use the 'number' field. Will only print one object. -makeStreamOfObjects() - .pipe(function (data) { - return data.number; - }) - .on('data', console.log); -``` - -## Dedupe multiple streams - -The reason I wrote this was to dedupe multiple object streams: - -``` js -var aggregator = unique(); - -// Stream 1 -makeStreamOfObjects() - .pipe(aggregator); - -// Stream 2 -makeStreamOfObjects() - .pipe(aggregator); - -// Stream 3 -makeStreamOfObjects() - .pipe(aggregator); - -aggregator.on('data', console.log); -``` diff --git a/publi/node_modules/unique-stream/index.js b/publi/node_modules/unique-stream/index.js deleted file mode 100644 index 0c13168..0000000 --- a/publi/node_modules/unique-stream/index.js +++ /dev/null @@ -1,54 +0,0 @@ -var Stream = require('stream'); - -function prop(propName) { - return function (data) { - return data[propName]; - }; -} - -module.exports = unique; -function unique(propName) { - var keyfn = JSON.stringify; - if (typeof propName === 'string') { - keyfn = prop(propName); - } else if (typeof propName === 'function') { - keyfn = propName; - } - var seen = {}; - var s = new Stream(); - s.readable = true; - s.writable = true; - var pipes = 0; - - s.write = function (data) { - var key = keyfn(data); - if (seen[key] === undefined) { - seen[key] = true; - s.emit('data', data); - } - }; - - var ended = 0; - s.end = function (data) { - if (arguments.length) s.write(data); - ended++; - if (ended === pipes || pipes === 0) { - s.writable = false; - s.emit('end'); - } - }; - - s.destroy = function (data) { - s.writable = false; - }; - - s.on('pipe', function () { - pipes++; - }); - - s.on('unpipe', function () { - pipes--; - }); - - return s; -} diff --git a/publi/node_modules/unique-stream/package.json b/publi/node_modules/unique-stream/package.json deleted file mode 100644 index f33711d..0000000 --- a/publi/node_modules/unique-stream/package.json +++ /dev/null @@ -1,89 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "unique-stream@^1.0.0", - "scope": null, - "escapedName": "unique-stream", - "name": "unique-stream", - "rawSpec": "^1.0.0", - "spec": ">=1.0.0 <2.0.0", - "type": "range" - }, - "/mnt/Data/bach/Documents/ola/OLA#3DOC/sys/node_modules/glob-stream" - ] - ], - "_from": "unique-stream@>=1.0.0 <2.0.0", - "_id": "unique-stream@1.0.0", - "_inCache": true, - "_location": "/unique-stream", - "_npmUser": { - "name": "eugeneware", - "email": "eugene@noblesamurai.com" - }, - "_npmVersion": "1.4.3", - "_phantomChildren": {}, - "_requested": { - "raw": "unique-stream@^1.0.0", - "scope": null, - "escapedName": "unique-stream", - "name": "unique-stream", - "rawSpec": "^1.0.0", - "spec": ">=1.0.0 <2.0.0", - "type": "range" - }, - "_requiredBy": [ - "/glob-stream" - ], - "_resolved": "https://registry.npmjs.org/unique-stream/-/unique-stream-1.0.0.tgz", - "_shasum": "d59a4a75427447d9aa6c91e70263f8d26a4b104b", - "_shrinkwrap": null, - "_spec": "unique-stream@^1.0.0", - "_where": "/mnt/Data/bach/Documents/ola/OLA#3DOC/sys/node_modules/glob-stream", - "author": { - "name": "Eugene Ware", - "email": "eugene@noblesamurai.com" - }, - "bugs": { - "url": "https://github.com/eugeneware/unique-stream/issues" - }, - "dependencies": {}, - "description": "node.js through stream that emits a unique stream of objects based on criteria", - "devDependencies": { - "after": "~0.8.1", - "chai": "~1.7.2", - "mocha": "^1.18.2" - }, - "directories": {}, - "dist": { - "shasum": "d59a4a75427447d9aa6c91e70263f8d26a4b104b", - "tarball": "https://registry.npmjs.org/unique-stream/-/unique-stream-1.0.0.tgz" - }, - "homepage": "https://github.com/eugeneware/unique-stream", - "keywords": [ - "unique", - "stream", - "unique-stream", - "streaming", - "streams" - ], - "license": "BSD", - "main": "index.js", - "maintainers": [ - { - "name": "eugeneware", - "email": "eugene@noblesamurai.com" - } - ], - "name": "unique-stream", - "optionalDependencies": {}, - "readme": "ERROR: No README data found!", - "repository": { - "type": "git", - "url": "git+https://github.com/eugeneware/unique-stream.git" - }, - "scripts": { - "test": "mocha" - }, - "version": "1.0.0" -} diff --git a/publi/node_modules/unique-stream/test/index.js b/publi/node_modules/unique-stream/test/index.js deleted file mode 100644 index fca02b7..0000000 --- a/publi/node_modules/unique-stream/test/index.js +++ /dev/null @@ -1,109 +0,0 @@ -var expect = require('chai').expect - , unique = require('..') - , Stream = require('stream') - , after = require('after') - , setImmediate = global.setImmediate || process.nextTick; - -describe('unique stream', function() { - - function makeStream(type) { - var s = new Stream(); - s.readable = true; - - var n = 10; - var next = after(n, function () { - setImmediate(function () { - s.emit('end'); - }); - }); - - for (var i = 0; i < n; i++) { - var o = { - type: type, - name: 'name ' + i, - number: i * 10 - }; - - (function (o) { - setImmediate(function () { - s.emit('data', o); - next(); - }); - })(o); - } - return s; - } - - it('should be able to uniqueify objects based on JSON data', function(done) { - var aggregator = unique(); - makeStream('a') - .pipe(aggregator); - makeStream('a') - .pipe(aggregator); - - var n = 0; - aggregator - .on('data', function () { - n++; - }) - .on('end', function () { - expect(n).to.equal(10); - done(); - }); - }); - - it('should be able to uniqueify objects based on a property', function(done) { - var aggregator = unique('number'); - makeStream('a') - .pipe(aggregator); - makeStream('b') - .pipe(aggregator); - - var n = 0; - aggregator - .on('data', function () { - n++; - }) - .on('end', function () { - expect(n).to.equal(10); - done(); - }); - }); - - it('should be able to uniqueify objects based on a function', function(done) { - var aggregator = unique(function (data) { - return data.name; - }); - - makeStream('a') - .pipe(aggregator); - makeStream('b') - .pipe(aggregator); - - var n = 0; - aggregator - .on('data', function () { - n++; - }) - .on('end', function () { - expect(n).to.equal(10); - done(); - }); - }); - - it('should be able to handle uniqueness when not piped', function(done) { - var stream = unique(); - var count = 0; - stream.on('data', function (data) { - expect(data).to.equal('hello'); - count++; - }); - stream.on('end', function() { - expect(count).to.equal(1); - done(); - }); - stream.write('hello'); - stream.write('hello'); - stream.end(); - }); -}); diff --git a/publi/node_modules/unset-value/LICENSE b/publi/node_modules/unset-value/LICENSE deleted file mode 100644 index ec85897..0000000 --- a/publi/node_modules/unset-value/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2015, 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. diff --git a/publi/node_modules/unset-value/README.md b/publi/node_modules/unset-value/README.md deleted file mode 100644 index f0fec3d..0000000 --- a/publi/node_modules/unset-value/README.md +++ /dev/null @@ -1,131 +0,0 @@ -# unset-value [![NPM version](https://img.shields.io/npm/v/unset-value.svg?style=flat)](https://www.npmjs.com/package/unset-value) [![NPM monthly downloads](https://img.shields.io/npm/dm/unset-value.svg?style=flat)](https://npmjs.org/package/unset-value) [![NPM total downloads](https://img.shields.io/npm/dt/unset-value.svg?style=flat)](https://npmjs.org/package/unset-value) [![Linux Build Status](https://img.shields.io/travis/jonschlinkert/unset-value.svg?style=flat&label=Travis)](https://travis-ci.org/jonschlinkert/unset-value) - -> Delete nested properties from an object using dot notation. - -## Install - -Install with [npm](https://www.npmjs.com/): - -```sh -$ npm install --save unset-value -``` - -## Usage - -```js -var unset = require('unset-value'); - -var obj = {a: {b: {c: 'd', e: 'f'}}}; -unset(obj, 'a.b.c'); -console.log(obj); -//=> {a: {b: {e: 'f'}}}; -``` - -## Examples - -### Updates the object when a property is deleted - -```js -var obj = {a: 'b'}; -unset(obj, 'a'); -console.log(obj); -//=> {} -``` - -### Returns true when a property is deleted - -```js -unset({a: 'b'}, 'a') // true -``` - -### Returns `true` when a property does not exist - -This is consistent with `delete` behavior in that it does not -throw when a property does not exist. - -```js -unset({a: {b: {c: 'd'}}}, 'd') // true -``` - -### delete nested values - -```js -var one = {a: {b: {c: 'd'}}}; -unset(one, 'a.b'); -console.log(one); -//=> {a: {}} - -var two = {a: {b: {c: 'd'}}}; -unset(two, 'a.b.c'); -console.log(two); -//=> {a: {b: {}}} - -var three = {a: {b: {c: 'd', e: 'f'}}}; -unset(three, 'a.b.c'); -console.log(three); -//=> {a: {b: {e: 'f'}}} -``` - -### throws on invalid args - -```js -unset(); -// 'expected an object.' -``` - -## About - -### Related projects - -* [get-value](https://www.npmjs.com/package/get-value): Use property paths (`a.b.c`) to get a nested value from an object. | [homepage](https://github.com/jonschlinkert/get-value "Use property paths (`a.b.c`) to get a nested value from an object.") -* [get-values](https://www.npmjs.com/package/get-values): Return an array of all values from the given object. | [homepage](https://github.com/jonschlinkert/get-values "Return an array of all values from the given object.") -* [omit-value](https://www.npmjs.com/package/omit-value): Omit properties from an object or deeply nested property of an object using object path… [more](https://github.com/jonschlinkert/omit-value) | [homepage](https://github.com/jonschlinkert/omit-value "Omit properties from an object or deeply nested property of an object using object path notation.") -* [put-value](https://www.npmjs.com/package/put-value): Update only existing values from an object, works with dot notation paths like `a.b.c` and… [more](https://github.com/tunnckocore/put-value#readme) | [homepage](https://github.com/tunnckocore/put-value#readme "Update only existing values from an object, works with dot notation paths like `a.b.c` and support deep nesting.") -* [set-value](https://www.npmjs.com/package/set-value): Create nested values and any intermediaries using dot notation (`'a.b.c'`) paths. | [homepage](https://github.com/jonschlinkert/set-value "Create nested values and any intermediaries using dot notation (`'a.b.c'`) paths.") -* [union-value](https://www.npmjs.com/package/union-value): Set an array of unique values as the property of an object. Supports setting deeply… [more](https://github.com/jonschlinkert/union-value) | [homepage](https://github.com/jonschlinkert/union-value "Set an array of unique values as the property of an object. Supports setting deeply nested properties using using object-paths/dot notation.") -* [upsert-value](https://www.npmjs.com/package/upsert-value): Update or set nested values and any intermediaries with dot notation (`'a.b.c'`) paths. | [homepage](https://github.com/doowb/upsert-value "Update or set nested values and any intermediaries with dot notation (`'a.b.c'`) paths.") - -### Contributing - -Pull requests and stars are always welcome. For bugs and feature requests, [please create an issue](../../issues/new). - -### Contributors - -| **Commits** | **Contributor** | -| --- | --- | -| 6 | [jonschlinkert](https://github.com/jonschlinkert) | -| 2 | [wtgtybhertgeghgtwtg](https://github.com/wtgtybhertgeghgtwtg) | - -### Building docs - -_(This project's readme.md is generated by [verb](https://github.com/verbose/verb-generate-readme), please don't edit the readme directly. Any changes to the readme must be made in the [.verb.md](.verb.md) readme template.)_ - -To generate the readme, run the following command: - -```sh -$ npm install -g verbose/verb#dev verb-generate-readme && verb -``` - -### Running tests - -Running and reviewing unit tests is a great way to get familiarized with a library and its API. You can install dependencies and run tests with the following command: - -```sh -$ npm install && npm test -``` - -### Author - -**Jon Schlinkert** - -* [github/jonschlinkert](https://github.com/jonschlinkert) -* [twitter/jonschlinkert](https://twitter.com/jonschlinkert) - -### License - -Copyright © 2017, [Jon Schlinkert](https://github.com/jonschlinkert). -Released under the [MIT License](LICENSE). - -*** - -_This file was generated by [verb-generate-readme](https://github.com/verbose/verb-generate-readme), v0.4.2, on February 25, 2017._ \ No newline at end of file diff --git a/publi/node_modules/unset-value/index.js b/publi/node_modules/unset-value/index.js deleted file mode 100644 index a919010..0000000 --- a/publi/node_modules/unset-value/index.js +++ /dev/null @@ -1,32 +0,0 @@ -/*! - * unset-value - * - * Copyright (c) 2015, 2017, Jon Schlinkert. - * Released under the MIT License. - */ - -'use strict'; - -var isObject = require('isobject'); -var has = require('has-value'); - -module.exports = function unset(obj, prop) { - if (!isObject(obj)) { - throw new TypeError('expected an object.'); - } - if (obj.hasOwnProperty(prop)) { - delete obj[prop]; - return true; - } - - if (has(obj, prop)) { - var segs = prop.split('.'); - var last = segs.pop(); - while (segs.length && segs[segs.length - 1].slice(-1) === '\\') { - last = segs.pop().slice(0, -1) + '.' + last; - } - while (segs.length) obj = obj[prop = segs.shift()]; - return (delete obj[last]); - } - return true; -}; diff --git a/publi/node_modules/unset-value/node_modules/has-value/LICENSE b/publi/node_modules/unset-value/node_modules/has-value/LICENSE deleted file mode 100644 index 39245ac..0000000 --- a/publi/node_modules/unset-value/node_modules/has-value/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -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. diff --git a/publi/node_modules/unset-value/node_modules/has-value/README.md b/publi/node_modules/unset-value/node_modules/has-value/README.md deleted file mode 100644 index a927633..0000000 --- a/publi/node_modules/unset-value/node_modules/has-value/README.md +++ /dev/null @@ -1,130 +0,0 @@ -# has-value [![NPM version](https://img.shields.io/npm/v/has-value.svg?style=flat)](https://www.npmjs.com/package/has-value) [![NPM downloads](https://img.shields.io/npm/dm/has-value.svg?style=flat)](https://npmjs.org/package/has-value) [![Build Status](https://img.shields.io/travis/jonschlinkert/has-value.svg?style=flat)](https://travis-ci.org/jonschlinkert/has-value) - -> Returns true if a value exists, false if empty. Works with deeply nested values using object paths. - -## Install - -Install with [npm](https://www.npmjs.com/): - -```sh -$ npm install has-value --save -``` - -**Works for:** - -* booleans -* functions -* numbers (pass `true` as the last arg to treat zero as a value instead of falsey) -* strings -* nulls -* object -* arrays - -## Usage - -Works with nested object paths or a single value: - -```js -var hasValue = require('has-value'); - -hasValue({a: {b: {c: 'foo'}}} 'a.b.c'); -//=> true - -hasValue('a'); -//=> true - -hasValue(''); -//=> false - -hasValue(1); -//=> true - -hasValue(0); -//=> false - -hasValue(0, true); // pass `true` as the last arg to treat zero as a value -//=> true - -hasValue({a: 'a'}}); -//=> true - -hasValue({}}); -//=> false - -hasValue(['a']); -//=> true - -hasValue([]); -//=> false - -hasValue(function(foo) {}); // function length/arity -//=> true - -hasValue(function() {}); -//=> false - -hasValue(true); -hasValue(false); -//=> true -``` - -## isEmpty - -To do the opposite and test for empty values, do: - -```js -function isEmpty(o, isZero) { - return !hasValue.apply(hasValue, arguments); -} -``` - -## Related projects - -You might also be interested in these projects: - -* [get-object](https://www.npmjs.com/package/get-object): Get a property from an object using dot (object path) notation. | [homepage](https://github.com/jonschlinkert/get-object) -* [get-property](https://www.npmjs.com/package/get-property): Get a nested property or its value from an object using simple `a.b.c` paths. | [homepage](https://github.com/jonschlinkert/get-property) -* [get-value](https://www.npmjs.com/package/get-value): Use property paths (`a.b.c`) to get a nested value from an object. | [homepage](https://github.com/jonschlinkert/get-value) -* [set-value](https://www.npmjs.com/package/set-value): Create nested values and any intermediaries using dot notation (`'a.b.c'`) paths. | [homepage](https://github.com/jonschlinkert/set-value) - -## Contributing - -Pull requests and stars are always welcome. For bugs and feature requests, [please create an issue](https://github.com/jonschlinkert/has-value/issues/new). - -## Building docs - -Generate readme and API documentation with [verb](https://github.com/verbose/verb): - -```sh -$ npm install verb && npm run docs -``` - -Or, if [verb](https://github.com/verbose/verb) is installed globally: - -```sh -$ verb -``` - -## Running tests - -Install dev dependencies: - -```sh -$ npm install -d && npm test -``` - -## Author - -**Jon Schlinkert** - -* [github/jonschlinkert](https://github.com/jonschlinkert) -* [twitter/jonschlinkert](http://twitter.com/jonschlinkert) - -## License - -Copyright © 2016, [Jon Schlinkert](https://github.com/jonschlinkert). -Released under the [MIT license](https://github.com/jonschlinkert/has-value/blob/master/LICENSE). - -*** - -_This file was generated by [verb](https://github.com/verbose/verb), v, on March 27, 2016._ \ No newline at end of file diff --git a/publi/node_modules/unset-value/node_modules/has-value/index.js b/publi/node_modules/unset-value/node_modules/has-value/index.js deleted file mode 100644 index 90687c8..0000000 --- a/publi/node_modules/unset-value/node_modules/has-value/index.js +++ /dev/null @@ -1,19 +0,0 @@ -/*! - * has-value - * - * Copyright (c) 2014-2016, Jon Schlinkert. - * Licensed under the MIT License. - */ - -'use strict'; - -var isObject = require('isobject'); -var hasValues = require('has-values'); -var get = require('get-value'); - -module.exports = function(obj, prop, noZero) { - if (isObject(obj)) { - return hasValues(get(obj, prop), noZero); - } - return hasValues(obj, prop); -}; diff --git a/publi/node_modules/unset-value/node_modules/has-value/node_modules/isobject/LICENSE b/publi/node_modules/unset-value/node_modules/has-value/node_modules/isobject/LICENSE deleted file mode 100644 index 39245ac..0000000 --- a/publi/node_modules/unset-value/node_modules/has-value/node_modules/isobject/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -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. diff --git a/publi/node_modules/unset-value/node_modules/has-value/node_modules/isobject/README.md b/publi/node_modules/unset-value/node_modules/has-value/node_modules/isobject/README.md deleted file mode 100644 index 9dd897a..0000000 --- a/publi/node_modules/unset-value/node_modules/has-value/node_modules/isobject/README.md +++ /dev/null @@ -1,112 +0,0 @@ -# isobject [![NPM version](https://img.shields.io/npm/v/isobject.svg?style=flat)](https://www.npmjs.com/package/isobject) [![NPM downloads](https://img.shields.io/npm/dm/isobject.svg?style=flat)](https://npmjs.org/package/isobject) [![Build Status](https://img.shields.io/travis/jonschlinkert/isobject.svg?style=flat)](https://travis-ci.org/jonschlinkert/isobject) - -Returns true if the value is an object and not an array or null. - -## Install - -Install with [npm](https://www.npmjs.com/): - -```sh -$ npm install isobject --save -``` - -Use [is-plain-object](https://github.com/jonschlinkert/is-plain-object) if you want only objects that are created by the `Object` constructor. - -## Install - -Install with [npm](https://www.npmjs.com/): - -```sh -$ npm install isobject -``` - -Install with [bower](http://bower.io/) - -```sh -$ bower install isobject -``` - -## Usage - -```js -var isObject = require('isobject'); -``` - -**True** - -All of the following return `true`: - -```js -isObject({}); -isObject(Object.create({})); -isObject(Object.create(Object.prototype)); -isObject(Object.create(null)); -isObject({}); -isObject(new Foo); -isObject(/foo/); -``` - -**False** - -All of the following return `false`: - -```js -isObject(); -isObject(function () {}); -isObject(1); -isObject([]); -isObject(undefined); -isObject(null); -``` - -## Related projects - -You might also be interested in these projects: - -[merge-deep](https://www.npmjs.com/package/merge-deep): Recursively merge values in a javascript object. | [homepage](https://github.com/jonschlinkert/merge-deep) - -* [extend-shallow](https://www.npmjs.com/package/extend-shallow): Extend an object with the properties of additional objects. node.js/javascript util. | [homepage](https://github.com/jonschlinkert/extend-shallow) -* [is-plain-object](https://www.npmjs.com/package/is-plain-object): Returns true if an object was created by the `Object` constructor. | [homepage](https://github.com/jonschlinkert/is-plain-object) -* [kind-of](https://www.npmjs.com/package/kind-of): Get the native type of a value. | [homepage](https://github.com/jonschlinkert/kind-of) - -## Contributing - -Pull requests and stars are always welcome. For bugs and feature requests, [please create an issue](https://github.com/jonschlinkert/isobject/issues/new). - -## Building docs - -Generate readme and API documentation with [verb](https://github.com/verbose/verb): - -```sh -$ npm install verb && npm run docs -``` - -Or, if [verb](https://github.com/verbose/verb) is installed globally: - -```sh -$ verb -``` - -## Running tests - -Install dev dependencies: - -```sh -$ npm install -d && npm test -``` - -## Author - -**Jon Schlinkert** - -* [github/jonschlinkert](https://github.com/jonschlinkert) -* [twitter/jonschlinkert](http://twitter.com/jonschlinkert) - -## License - -Copyright © 2016, [Jon Schlinkert](https://github.com/jonschlinkert). -Released under the [MIT license](https://github.com/jonschlinkert/isobject/blob/master/LICENSE). - -*** - -_This file was generated by [verb](https://github.com/verbose/verb), v0.9.0, on April 25, 2016._ \ No newline at end of file diff --git a/publi/node_modules/unset-value/node_modules/has-value/node_modules/isobject/index.js b/publi/node_modules/unset-value/node_modules/has-value/node_modules/isobject/index.js deleted file mode 100644 index aa0dce0..0000000 --- a/publi/node_modules/unset-value/node_modules/has-value/node_modules/isobject/index.js +++ /dev/null @@ -1,14 +0,0 @@ -/*! - * isobject - * - * Copyright (c) 2014-2015, Jon Schlinkert. - * Licensed under the MIT License. - */ - -'use strict'; - -var isArray = require('isarray'); - -module.exports = function isObject(val) { - return val != null && typeof val === 'object' && isArray(val) === false; -}; diff --git a/publi/node_modules/unset-value/node_modules/has-value/node_modules/isobject/package.json b/publi/node_modules/unset-value/node_modules/has-value/node_modules/isobject/package.json deleted file mode 100644 index d070f14..0000000 --- a/publi/node_modules/unset-value/node_modules/has-value/node_modules/isobject/package.json +++ /dev/null @@ -1,98 +0,0 @@ -{ - "_from": "isobject@^2.0.0", - "_id": "isobject@2.1.0", - "_inBundle": false, - "_integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", - "_location": "/unset-value/has-value/isobject", - "_phantomChildren": {}, - "_requested": { - "type": "range", - "registry": true, - "raw": "isobject@^2.0.0", - "name": "isobject", - "escapedName": "isobject", - "rawSpec": "^2.0.0", - "saveSpec": null, - "fetchSpec": "^2.0.0" - }, - "_requiredBy": [ - "/unset-value/has-value" - ], - "_resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "_shasum": "f065561096a3f1da2ef46272f815c840d87e0c89", - "_spec": "isobject@^2.0.0", - "_where": "/mnt/Data/bach/Documents/ola/OLA#5/ola5doc/publi/node_modules/unset-value/node_modules/has-value", - "author": { - "name": "Jon Schlinkert", - "url": "https://github.com/jonschlinkert" - }, - "bugs": { - "url": "https://github.com/jonschlinkert/isobject/issues" - }, - "bundleDependencies": false, - "dependencies": { - "isarray": "1.0.0" - }, - "deprecated": false, - "description": "Returns true if the value is an object and not an array or null.", - "devDependencies": { - "gulp-format-md": "^0.1.9", - "mocha": "^2.4.5" - }, - "engines": { - "node": ">=0.10.0" - }, - "files": [ - "index.js" - ], - "homepage": "https://github.com/jonschlinkert/isobject", - "keywords": [ - "check", - "is", - "is-object", - "isobject", - "kind", - "kind-of", - "kindof", - "native", - "object", - "type", - "typeof", - "value" - ], - "license": "MIT", - "main": "index.js", - "name": "isobject", - "repository": { - "type": "git", - "url": "git+https://github.com/jonschlinkert/isobject.git" - }, - "scripts": { - "test": "mocha" - }, - "verb": { - "related": { - "list": [ - "merge-deep", - "extend-shallow", - "is-plain-object", - "kind-of" - ] - }, - "toc": false, - "layout": "default", - "tasks": [ - "readme" - ], - "plugins": [ - "gulp-format-md" - ], - "lint": { - "reflinks": true - }, - "reflinks": [ - "verb" - ] - }, - "version": "2.1.0" -} diff --git a/publi/node_modules/unset-value/node_modules/has-value/package.json b/publi/node_modules/unset-value/node_modules/has-value/package.json deleted file mode 100644 index a42cc63..0000000 --- a/publi/node_modules/unset-value/node_modules/has-value/package.json +++ /dev/null @@ -1,114 +0,0 @@ -{ - "_from": "has-value@^0.3.1", - "_id": "has-value@0.3.1", - "_inBundle": false, - "_integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", - "_location": "/unset-value/has-value", - "_phantomChildren": { - "isarray": "1.0.0" - }, - "_requested": { - "type": "range", - "registry": true, - "raw": "has-value@^0.3.1", - "name": "has-value", - "escapedName": "has-value", - "rawSpec": "^0.3.1", - "saveSpec": null, - "fetchSpec": "^0.3.1" - }, - "_requiredBy": [ - "/unset-value" - ], - "_resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", - "_shasum": "7b1f58bada62ca827ec0a2078025654845995e1f", - "_spec": "has-value@^0.3.1", - "_where": "/mnt/Data/bach/Documents/ola/OLA#5/ola5doc/publi/node_modules/unset-value", - "author": { - "name": "Jon Schlinkert", - "url": "https://github.com/jonschlinkert" - }, - "bugs": { - "url": "https://github.com/jonschlinkert/has-value/issues" - }, - "bundleDependencies": false, - "dependencies": { - "get-value": "^2.0.3", - "has-values": "^0.1.4", - "isobject": "^2.0.0" - }, - "deprecated": false, - "description": "Returns true if a value exists, false if empty. Works with deeply nested values using object paths.", - "devDependencies": { - "gulp-format-md": "^0.1.7", - "mocha": "^2.4.5" - }, - "engines": { - "node": ">=0.10.0" - }, - "files": [ - "index.js" - ], - "homepage": "https://github.com/jonschlinkert/has-value", - "keywords": [ - "array", - "boolean", - "empty", - "find", - "function", - "has", - "hasOwn", - "javascript", - "js", - "key", - "keys", - "node.js", - "null", - "number", - "object", - "properties", - "property", - "string", - "type", - "util", - "utilities", - "utility", - "value" - ], - "license": "MIT", - "main": "index.js", - "name": "has-value", - "repository": { - "type": "git", - "url": "git+https://github.com/jonschlinkert/has-value.git" - }, - "scripts": { - "test": "mocha" - }, - "verb": { - "run": true, - "toc": false, - "layout": "default", - "tasks": [ - "readme" - ], - "plugins": [ - "gulp-format-md" - ], - "related": { - "list": [ - "get-object", - "get-property", - "get-value", - "set-value" - ] - }, - "reflinks": [ - "verb" - ], - "lint": { - "reflinks": true - } - }, - "version": "0.3.1" -} diff --git a/publi/node_modules/unset-value/node_modules/has-values/LICENSE b/publi/node_modules/unset-value/node_modules/has-values/LICENSE deleted file mode 100644 index 39245ac..0000000 --- a/publi/node_modules/unset-value/node_modules/has-values/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -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. diff --git a/publi/node_modules/unset-value/node_modules/has-values/README.md b/publi/node_modules/unset-value/node_modules/has-values/README.md deleted file mode 100644 index 13319c5..0000000 --- a/publi/node_modules/unset-value/node_modules/has-values/README.md +++ /dev/null @@ -1,114 +0,0 @@ -# has-values [![NPM version](https://img.shields.io/npm/v/has-values.svg?style=flat)](https://www.npmjs.com/package/has-values) [![NPM downloads](https://img.shields.io/npm/dm/has-values.svg?style=flat)](https://npmjs.org/package/has-values) [![Build Status](https://img.shields.io/travis/jonschlinkert/has-values.svg?style=flat)](https://travis-ci.org/jonschlinkert/has-values) - -> Returns true if any values exist, false if empty. Works for booleans, functions, numbers, strings, nulls, objects and arrays. - -## Install - -Install with [npm](https://www.npmjs.com/): - -```sh -$ npm install has-values --save -``` - -## Usage - -```js -var hasValue = require('has-values'); - -hasValue('a'); -//=> true - -hasValue(''); -//=> false - -hasValue(1); -//=> true - -hasValue(0); -//=> false - -hasValue(0, true); // treat zero as a value -//=> true - -hasValue({a: 'a'}}); -//=> true - -hasValue({}}); -//=> false - -hasValue(['a']); -//=> true - -hasValue([]); -//=> false - -hasValue(function(foo) {}); // function length/arity -//=> true - -hasValue(function() {}); -//=> false - -hasValue(true); -hasValue(false); -//=> true -``` - -## isEmpty - -To test for empty values, do: - -```js -function isEmpty(o, isZero) { - return !hasValue(o, isZero); -} -``` - -## Related projects - -You might also be interested in these projects: - -* [has-value](https://www.npmjs.com/package/has-value): Returns true if a value exists, false if empty. Works with deeply nested values using… [more](https://www.npmjs.com/package/has-value) | [homepage](https://github.com/jonschlinkert/has-value) -* [is-plain-object](https://www.npmjs.com/package/is-plain-object): Returns true if an object was created by the `Object` constructor. | [homepage](https://github.com/jonschlinkert/is-plain-object) -* [isobject](https://www.npmjs.com/package/isobject): Returns true if the value is an object and not an array or null. | [homepage](https://github.com/jonschlinkert/isobject) - -## Contributing - -Pull requests and stars are always welcome. For bugs and feature requests, [please create an issue](https://github.com/jonschlinkert/has-values/issues/new). - -## Building docs - -Generate readme and API documentation with [verb](https://github.com/verbose/verb): - -```sh -$ npm install verb && npm run docs -``` - -Or, if [verb](https://github.com/verbose/verb) is installed globally: - -```sh -$ verb -``` - -## Running tests - -Install dev dependencies: - -```sh -$ npm install -d && npm test -``` - -## Author - -**Jon Schlinkert** - -* [github/jonschlinkert](https://github.com/jonschlinkert) -* [twitter/jonschlinkert](http://twitter.com/jonschlinkert) - -## License - -Copyright © 2016, [Jon Schlinkert](https://github.com/jonschlinkert). -Released under the [MIT license](https://github.com/jonschlinkert/has-values/blob/master/LICENSE). - -*** - -_This file was generated by [verb](https://github.com/verbose/verb), v, on March 27, 2016._ \ No newline at end of file diff --git a/publi/node_modules/unset-value/node_modules/has-values/index.js b/publi/node_modules/unset-value/node_modules/has-values/index.js deleted file mode 100644 index 6d04ba1..0000000 --- a/publi/node_modules/unset-value/node_modules/has-values/index.js +++ /dev/null @@ -1,36 +0,0 @@ -/*! - * has-values - * - * Copyright (c) 2014-2015, Jon Schlinkert. - * Licensed under the MIT License. - */ - -'use strict'; - -module.exports = function hasValue(o, noZero) { - if (o === null || o === undefined) { - return false; - } - - if (typeof o === 'boolean') { - return true; - } - - if (typeof o === 'number') { - if (o === 0 && noZero === true) { - return false; - } - return true; - } - - if (o.length !== undefined) { - return o.length !== 0; - } - - for (var key in o) { - if (o.hasOwnProperty(key)) { - return true; - } - } - return false; -}; diff --git a/publi/node_modules/unset-value/node_modules/has-values/package.json b/publi/node_modules/unset-value/node_modules/has-values/package.json deleted file mode 100644 index 6ff0e75..0000000 --- a/publi/node_modules/unset-value/node_modules/has-values/package.json +++ /dev/null @@ -1,106 +0,0 @@ -{ - "_from": "has-values@^0.1.4", - "_id": "has-values@0.1.4", - "_inBundle": false, - "_integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", - "_location": "/unset-value/has-values", - "_phantomChildren": {}, - "_requested": { - "type": "range", - "registry": true, - "raw": "has-values@^0.1.4", - "name": "has-values", - "escapedName": "has-values", - "rawSpec": "^0.1.4", - "saveSpec": null, - "fetchSpec": "^0.1.4" - }, - "_requiredBy": [ - "/unset-value/has-value" - ], - "_resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", - "_shasum": "6d61de95d91dfca9b9a02089ad384bff8f62b771", - "_spec": "has-values@^0.1.4", - "_where": "/mnt/Data/bach/Documents/ola/OLA#5/ola5doc/publi/node_modules/unset-value/node_modules/has-value", - "author": { - "name": "Jon Schlinkert", - "url": "https://github.com/jonschlinkert" - }, - "bugs": { - "url": "https://github.com/jonschlinkert/has-values/issues" - }, - "bundleDependencies": false, - "deprecated": false, - "description": "Returns true if any values exist, false if empty. Works for booleans, functions, numbers, strings, nulls, objects and arrays. ", - "devDependencies": { - "gulp-format-md": "^0.1.7", - "mocha": "^2.4.5" - }, - "engines": { - "node": ">=0.10.0" - }, - "files": [ - "index.js" - ], - "homepage": "https://github.com/jonschlinkert/has-values", - "keywords": [ - "array", - "boolean", - "empty", - "find", - "function", - "has", - "hasOwn", - "javascript", - "js", - "key", - "keys", - "node.js", - "null", - "number", - "object", - "properties", - "property", - "string", - "type", - "util", - "utilities", - "utility", - "value" - ], - "license": "MIT", - "main": "index.js", - "name": "has-values", - "repository": { - "type": "git", - "url": "git+https://github.com/jonschlinkert/has-values.git" - }, - "scripts": { - "test": "mocha" - }, - "verb": { - "run": true, - "toc": false, - "layout": "default", - "tasks": [ - "readme" - ], - "plugins": [ - "gulp-format-md" - ], - "related": { - "list": [ - "has-value", - "isobject", - "is-plain-object" - ] - }, - "reflinks": [ - "verb" - ], - "lint": { - "reflinks": true - } - }, - "version": "0.1.4" -} diff --git a/publi/node_modules/unset-value/node_modules/isarray/.npmignore b/publi/node_modules/unset-value/node_modules/isarray/.npmignore deleted file mode 100644 index 3c3629e..0000000 --- a/publi/node_modules/unset-value/node_modules/isarray/.npmignore +++ /dev/null @@ -1 +0,0 @@ -node_modules diff --git a/publi/node_modules/unset-value/node_modules/isarray/.travis.yml b/publi/node_modules/unset-value/node_modules/isarray/.travis.yml deleted file mode 100644 index cc4dba2..0000000 --- a/publi/node_modules/unset-value/node_modules/isarray/.travis.yml +++ /dev/null @@ -1,4 +0,0 @@ -language: node_js -node_js: - - "0.8" - - "0.10" diff --git a/publi/node_modules/unset-value/node_modules/isarray/Makefile b/publi/node_modules/unset-value/node_modules/isarray/Makefile deleted file mode 100644 index 787d56e..0000000 --- a/publi/node_modules/unset-value/node_modules/isarray/Makefile +++ /dev/null @@ -1,6 +0,0 @@ - -test: - @node_modules/.bin/tape test.js - -.PHONY: test - diff --git a/publi/node_modules/unset-value/node_modules/isarray/README.md b/publi/node_modules/unset-value/node_modules/isarray/README.md deleted file mode 100644 index 16d2c59..0000000 --- a/publi/node_modules/unset-value/node_modules/isarray/README.md +++ /dev/null @@ -1,60 +0,0 @@ - -# isarray - -`Array#isArray` for older browsers. - -[![build status](https://secure.travis-ci.org/juliangruber/isarray.svg)](http://travis-ci.org/juliangruber/isarray) -[![downloads](https://img.shields.io/npm/dm/isarray.svg)](https://www.npmjs.org/package/isarray) - -[![browser support](https://ci.testling.com/juliangruber/isarray.png) -](https://ci.testling.com/juliangruber/isarray) - -## Usage - -```js -var isArray = require('isarray'); - -console.log(isArray([])); // => true -console.log(isArray({})); // => false -``` - -## Installation - -With [npm](http://npmjs.org) do - -```bash -$ npm install isarray -``` - -Then bundle for the browser with -[browserify](https://github.com/substack/browserify). - -With [component](http://component.io) do - -```bash -$ component install juliangruber/isarray -``` - -## License - -(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. diff --git a/publi/node_modules/unset-value/node_modules/isarray/component.json b/publi/node_modules/unset-value/node_modules/isarray/component.json deleted file mode 100644 index 9e31b68..0000000 --- a/publi/node_modules/unset-value/node_modules/isarray/component.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "name" : "isarray", - "description" : "Array#isArray for older browsers", - "version" : "0.0.1", - "repository" : "juliangruber/isarray", - "homepage": "https://github.com/juliangruber/isarray", - "main" : "index.js", - "scripts" : [ - "index.js" - ], - "dependencies" : {}, - "keywords": ["browser","isarray","array"], - "author": { - "name": "Julian Gruber", - "email": "mail@juliangruber.com", - "url": "http://juliangruber.com" - }, - "license": "MIT" -} diff --git a/publi/node_modules/unset-value/node_modules/isarray/index.js b/publi/node_modules/unset-value/node_modules/isarray/index.js deleted file mode 100644 index a57f634..0000000 --- a/publi/node_modules/unset-value/node_modules/isarray/index.js +++ /dev/null @@ -1,5 +0,0 @@ -var toString = {}.toString; - -module.exports = Array.isArray || function (arr) { - return toString.call(arr) == '[object Array]'; -}; diff --git a/publi/node_modules/unset-value/node_modules/isarray/package.json b/publi/node_modules/unset-value/node_modules/isarray/package.json deleted file mode 100644 index ee232d4..0000000 --- a/publi/node_modules/unset-value/node_modules/isarray/package.json +++ /dev/null @@ -1,73 +0,0 @@ -{ - "_from": "isarray@1.0.0", - "_id": "isarray@1.0.0", - "_inBundle": false, - "_integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "_location": "/unset-value/isarray", - "_phantomChildren": {}, - "_requested": { - "type": "version", - "registry": true, - "raw": "isarray@1.0.0", - "name": "isarray", - "escapedName": "isarray", - "rawSpec": "1.0.0", - "saveSpec": null, - "fetchSpec": "1.0.0" - }, - "_requiredBy": [ - "/unset-value/has-value/isobject" - ], - "_resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "_shasum": "bb935d48582cba168c06834957a54a3e07124f11", - "_spec": "isarray@1.0.0", - "_where": "/mnt/Data/bach/Documents/ola/OLA#5/ola5doc/publi/node_modules/unset-value/node_modules/has-value/node_modules/isobject", - "author": { - "name": "Julian Gruber", - "email": "mail@juliangruber.com", - "url": "http://juliangruber.com" - }, - "bugs": { - "url": "https://github.com/juliangruber/isarray/issues" - }, - "bundleDependencies": false, - "dependencies": {}, - "deprecated": false, - "description": "Array#isArray for older browsers", - "devDependencies": { - "tape": "~2.13.4" - }, - "homepage": "https://github.com/juliangruber/isarray", - "keywords": [ - "browser", - "isarray", - "array" - ], - "license": "MIT", - "main": "index.js", - "name": "isarray", - "repository": { - "type": "git", - "url": "git://github.com/juliangruber/isarray.git" - }, - "scripts": { - "test": "tape test.js" - }, - "testling": { - "files": "test.js", - "browsers": [ - "ie/8..latest", - "firefox/17..latest", - "firefox/nightly", - "chrome/22..latest", - "chrome/canary", - "opera/12..latest", - "opera/next", - "safari/5.1..latest", - "ipad/6.0..latest", - "iphone/6.0..latest", - "android-browser/4.2..latest" - ] - }, - "version": "1.0.0" -} diff --git a/publi/node_modules/unset-value/node_modules/isarray/test.js b/publi/node_modules/unset-value/node_modules/isarray/test.js deleted file mode 100644 index e0c3444..0000000 --- a/publi/node_modules/unset-value/node_modules/isarray/test.js +++ /dev/null @@ -1,20 +0,0 @@ -var isArray = require('./'); -var test = require('tape'); - -test('is array', function(t){ - t.ok(isArray([])); - t.notOk(isArray({})); - t.notOk(isArray(null)); - t.notOk(isArray(false)); - - var obj = {}; - obj[0] = true; - t.notOk(isArray(obj)); - - var arr = []; - arr.foo = 'bar'; - t.ok(isArray(arr)); - - t.end(); -}); - diff --git a/publi/node_modules/unset-value/package.json b/publi/node_modules/unset-value/package.json deleted file mode 100644 index e9c1e3b..0000000 --- a/publi/node_modules/unset-value/package.json +++ /dev/null @@ -1,111 +0,0 @@ -{ - "_from": "unset-value@^1.0.0", - "_id": "unset-value@1.0.0", - "_inBundle": false, - "_integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", - "_location": "/unset-value", - "_phantomChildren": { - "get-value": "2.0.6" - }, - "_requested": { - "type": "range", - "registry": true, - "raw": "unset-value@^1.0.0", - "name": "unset-value", - "escapedName": "unset-value", - "rawSpec": "^1.0.0", - "saveSpec": null, - "fetchSpec": "^1.0.0" - }, - "_requiredBy": [ - "/cache-base" - ], - "_resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", - "_shasum": "8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559", - "_spec": "unset-value@^1.0.0", - "_where": "/mnt/Data/bach/Documents/ola/OLA#5/ola5doc/publi/node_modules/cache-base", - "author": { - "name": "Jon Schlinkert", - "url": "https://github.com/jonschlinkert" - }, - "bugs": { - "url": "https://github.com/jonschlinkert/unset-value/issues" - }, - "bundleDependencies": false, - "contributors": [ - { - "email": "wtgtybhertgeghgtwtg@gmail.com", - "url": "https://github.com/wtgtybhertgeghgtwtg" - }, - { - "name": "Jon Schlinkert", - "email": "jon.schlinkert@sellside.com", - "url": "http://twitter.com/jonschlinkert" - } - ], - "dependencies": { - "has-value": "^0.3.1", - "isobject": "^3.0.0" - }, - "deprecated": false, - "description": "Delete nested properties from an object using dot notation.", - "devDependencies": { - "gulp-format-md": "^0.1.11", - "mocha": "*", - "should": "*" - }, - "engines": { - "node": ">=0.10.0" - }, - "files": [ - "index.js" - ], - "homepage": "https://github.com/jonschlinkert/unset-value", - "keywords": [ - "del", - "delete", - "key", - "object", - "omit", - "prop", - "property", - "remove", - "unset", - "value" - ], - "license": "MIT", - "main": "index.js", - "name": "unset-value", - "repository": { - "type": "git", - "url": "git+https://github.com/jonschlinkert/unset-value.git" - }, - "scripts": { - "test": "mocha" - }, - "verb": { - "related": { - "list": [ - "get-value", - "get-values", - "omit-value", - "put-value", - "set-value", - "union-value", - "upsert-value" - ] - }, - "toc": false, - "layout": "default", - "tasks": [ - "readme" - ], - "plugins": [ - "gulp-format-md" - ], - "lint": { - "reflinks": true - } - }, - "version": "1.0.0" -} diff --git a/publi/node_modules/urix/.jshintrc b/publi/node_modules/urix/.jshintrc deleted file mode 100644 index 9d1a618..0000000 --- a/publi/node_modules/urix/.jshintrc +++ /dev/null @@ -1,42 +0,0 @@ -{ - "bitwise": true, - "camelcase": true, - "curly": false, - "eqeqeq": true, - "es3": false, - "forin": true, - "immed": false, - "indent": false, - "latedef": "nofunc", - "newcap": false, - "noarg": true, - "noempty": true, - "nonew": false, - "plusplus": false, - "quotmark": true, - "undef": true, - "unused": "vars", - "strict": false, - "trailing": true, - "maxparams": 5, - "maxdepth": false, - "maxstatements": false, - "maxcomplexity": false, - "maxlen": 100, - - "asi": true, - "expr": true, - "globalstrict": true, - "smarttabs": true, - "sub": true, - - "node": true, - "globals": { - "describe": false, - "it": false, - "before": false, - "beforeEach": false, - "after": false, - "afterEach": false - } -} diff --git a/publi/node_modules/urix/LICENSE b/publi/node_modules/urix/LICENSE deleted file mode 100644 index 0595be3..0000000 --- a/publi/node_modules/urix/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2013 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. diff --git a/publi/node_modules/urix/index.js b/publi/node_modules/urix/index.js deleted file mode 100644 index dc6ef27..0000000 --- a/publi/node_modules/urix/index.js +++ /dev/null @@ -1,17 +0,0 @@ -// Copyright 2014 Simon Lydell -// X11 (“MIT”) Licensed. (See LICENSE.) - -var path = require("path") - -"use strict" - -function urix(aPath) { - if (path.sep === "\\") { - return aPath - .replace(/\\/g, "/") - .replace(/^[a-z]:\/?/i, "/") - } - return aPath -} - -module.exports = urix diff --git a/publi/node_modules/urix/package.json b/publi/node_modules/urix/package.json deleted file mode 100644 index c93aa2c..0000000 --- a/publi/node_modules/urix/package.json +++ /dev/null @@ -1,59 +0,0 @@ -{ - "_from": "urix@^0.1.0", - "_id": "urix@0.1.0", - "_inBundle": false, - "_integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", - "_location": "/urix", - "_phantomChildren": {}, - "_requested": { - "type": "range", - "registry": true, - "raw": "urix@^0.1.0", - "name": "urix", - "escapedName": "urix", - "rawSpec": "^0.1.0", - "saveSpec": null, - "fetchSpec": "^0.1.0" - }, - "_requiredBy": [ - "/source-map-resolve" - ], - "_resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", - "_shasum": "da937f7a62e21fec1fd18d49b35c2935067a6c72", - "_spec": "urix@^0.1.0", - "_where": "/mnt/Data/bach/Documents/ola/OLA#5/ola5doc/publi/node_modules/source-map-resolve", - "author": { - "name": "Simon Lydell" - }, - "bugs": { - "url": "https://github.com/lydell/urix/issues" - }, - "bundleDependencies": false, - "deprecated": false, - "description": "Makes Windows-style paths more unix and URI friendly.", - "devDependencies": { - "jshint": "^2.4.4", - "mocha": "^1.17.1" - }, - "homepage": "https://github.com/lydell/urix#readme", - "keywords": [ - "path", - "url", - "uri", - "unix", - "windows", - "backslash", - "slash" - ], - "license": "MIT", - "main": "index.js", - "name": "urix", - "repository": { - "type": "git", - "url": "git+https://github.com/lydell/urix.git" - }, - "scripts": { - "test": "jshint index.js test/ && mocha" - }, - "version": "0.1.0" -} diff --git a/publi/node_modules/urix/readme.md b/publi/node_modules/urix/readme.md deleted file mode 100644 index b258b98..0000000 --- a/publi/node_modules/urix/readme.md +++ /dev/null @@ -1,46 +0,0 @@ -[![Build Status](https://travis-ci.org/lydell/urix.png?branch=master)](https://travis-ci.org/lydell/urix) - -Overview -======== - -Makes Windows-style paths more unix and URI friendly. Useful if you work with -paths that eventually will be used in URLs. - -```js -var urix = require("urix") - -// On Windows: -urix("c:\\users\\you\\foo") -// /users/you/foo - -// On unix-like systems: -urix("c:\\users\\you\\foo") -// c:\users\you\foo -``` - - -Installation -============ - -`npm install urix` - -```js -var urix = require("urix") -``` - - -Usage -===== - -### `urix(path)` ### - -On Windows, replaces all backslashes with slashes and uses a slash instead of a -drive letter and a colon for absolute paths. - -On unix-like systems it is a no-op. - - -License -======= - -[The X11 (“MIT”) License](LICENSE). diff --git a/publi/node_modules/urix/test/index.js b/publi/node_modules/urix/test/index.js deleted file mode 100644 index 5333f24..0000000 --- a/publi/node_modules/urix/test/index.js +++ /dev/null @@ -1,43 +0,0 @@ -// Copyright 2014 Simon Lydell -// X11 (“MIT”) Licensed. (See LICENSE.) - -var path = require("path") -var assert = require("assert") -var urix = require("../") - -"use stict" - -function test(testPath, expected) { - path.sep = "\\" - assert.equal(urix(testPath), expected) - path.sep = "/" - assert.equal(urix(testPath), testPath) -} - -describe("urix", function() { - - it("is a function", function() { - assert.equal(typeof urix, "function") - }) - - - it("converts backslashes to slashes", function() { - test("a\\b\\c", "a/b/c") - test("\\a\\b\\c", "/a/b/c") - test("a/b\\c", "a/b/c") - test("\\\\a\\\\\\b///c", "//a///b///c") - }) - - - it("changes the drive letter to a slash", function() { - test("c:\\a", "/a") - test("C:\\a", "/a") - test("z:\\a", "/a") - test("c:a", "/a") - test("c:/a", "/a") - test("c:\\\\a", "//a") - test("c://a", "//a") - test("c:\\//a", "///a") - }) - -}) diff --git a/publi/node_modules/use/LICENSE b/publi/node_modules/use/LICENSE deleted file mode 100644 index 83b56e7..0000000 --- a/publi/node_modules/use/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2015-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. diff --git a/publi/node_modules/use/README.md b/publi/node_modules/use/README.md deleted file mode 100644 index 4f9067e..0000000 --- a/publi/node_modules/use/README.md +++ /dev/null @@ -1,76 +0,0 @@ -# use [![NPM version](https://img.shields.io/npm/v/use.svg?style=flat)](https://www.npmjs.com/package/use) [![NPM monthly downloads](https://img.shields.io/npm/dm/use.svg?style=flat)](https://npmjs.org/package/use) [![NPM total downloads](https://img.shields.io/npm/dt/use.svg?style=flat)](https://npmjs.org/package/use) [![Linux Build Status](https://img.shields.io/travis/jonschlinkert/use.svg?style=flat&label=Travis)](https://travis-ci.org/jonschlinkert/use) - -> Easily add plugin support to your node.js application. - -## Install - -Install with [npm](https://www.npmjs.com/): - -```sh -$ npm install --save use -``` - -A different take on plugin handling! This is not a middleware system, if you need something that handles async middleware, [ware](https://github.com/segmentio/ware) is great for that. - -## Usage - -```js -var use = require('use'); -``` - -See the [examples folder](./examples) for usage examples. - -## About - -### Related projects - -* [base-plugins](https://www.npmjs.com/package/base-plugins): Upgrade's plugin support in base applications to allow plugins to be called any time after… [more](https://github.com/node-base/base-plugins) | [homepage](https://github.com/node-base/base-plugins "Upgrade's plugin support in base applications to allow plugins to be called any time after init.") -* [base](https://www.npmjs.com/package/base): base is the foundation for creating modular, unit testable and highly pluggable node.js applications, starting… [more](https://github.com/node-base/base) | [homepage](https://github.com/node-base/base "base is the foundation for creating modular, unit testable and highly pluggable node.js applications, starting with a handful of common methods, like `set`, `get`, `del` and `use`.") -* [ware](https://www.npmjs.com/package/ware): Easily create your own middleware layer. | [homepage](https://github.com/segmentio/ware "Easily create your own middleware layer.") - -### Contributing - -Pull requests and stars are always welcome. For bugs and feature requests, [please create an issue](../../issues/new). - -### Contributors - -| **Commits** | **Contributor** | -| --- | --- | -| 22 | [jonschlinkert](https://github.com/jonschlinkert) | -| 7 | [tunnckoCore](https://github.com/tunnckoCore) | -| 2 | [doowb](https://github.com/doowb) | -| 1 | [wtgtybhertgeghgtwtg](https://github.com/wtgtybhertgeghgtwtg) | - -### Building docs - -_(This project's readme.md is generated by [verb](https://github.com/verbose/verb-generate-readme), please don't edit the readme directly. Any changes to the readme must be made in the [.verb.md](.verb.md) readme template.)_ - -To generate the readme, run the following command: - -```sh -$ npm install -g verbose/verb#dev verb-generate-readme && verb -``` - -### Running tests - -Running and reviewing unit tests is a great way to get familiarized with a library and its API. You can install dependencies and run tests with the following command: - -```sh -$ npm install && npm test -``` - -### Author - -**Jon Schlinkert** - -* [github/jonschlinkert](https://github.com/jonschlinkert) -* [twitter/jonschlinkert](https://twitter.com/jonschlinkert) - -### License - -Copyright © 2017, [Jon Schlinkert](https://github.com/jonschlinkert). -Released under the [MIT License](LICENSE). - -*** - -_This file was generated by [verb-generate-readme](https://github.com/verbose/verb-generate-readme), v0.4.2, on February 25, 2017._ \ No newline at end of file diff --git a/publi/node_modules/use/index.js b/publi/node_modules/use/index.js deleted file mode 100644 index 61cae32..0000000 --- a/publi/node_modules/use/index.js +++ /dev/null @@ -1,121 +0,0 @@ -/*! - * use - * - * Copyright (c) 2015, 2017, Jon Schlinkert. - * Released under the MIT License. - */ - -'use strict'; - -var utils = require('./utils'); - -module.exports = function base(app, opts) { - if (!utils.isObject(app) && typeof app !== 'function') { - throw new TypeError('use: expect `app` be an object or function'); - } - - if (!utils.isObject(opts)) { - opts = {}; - } - - var prop = utils.isString(opts.prop) ? opts.prop : 'fns'; - if (!Array.isArray(app[prop])) { - utils.define(app, prop, []); - } - - /** - * Define a plugin function to be passed to use. The only - * parameter exposed to the plugin is `app`, the object or function. - * passed to `use(app)`. `app` is also exposed as `this` in plugins. - * - * Additionally, **if a plugin returns a function, the function will - * be pushed onto the `fns` array**, allowing the plugin to be - * called at a later point by the `run` method. - * - * ```js - * var use = require('use'); - * - * // define a plugin - * function foo(app) { - * // do stuff - * } - * - * var app = function(){}; - * use(app); - * - * // register plugins - * app.use(foo); - * app.use(bar); - * app.use(baz); - * ``` - * @name .use - * @param {Function} `fn` plugin function to call - * @api public - */ - - utils.define(app, 'use', use); - - /** - * Run all plugins on `fns`. Any plugin that returns a function - * when called by `use` is pushed onto the `fns` array. - * - * ```js - * var config = {}; - * app.run(config); - * ``` - * @name .run - * @param {Object} `value` Object to be modified by plugins. - * @return {Object} Returns the object passed to `run` - * @api public - */ - - utils.define(app, 'run', function(val) { - if (!utils.isObject(val)) return; - decorate(val); - - var self = this || app; - var fns = self[prop]; - var len = fns.length; - var idx = -1; - - while (++idx < len) { - val.use(fns[idx]); - } - return val; - }); - - /** - * Call plugin `fn`. If a function is returned push it into the - * `fns` array to be called by the `run` method. - */ - - function use(fn, options) { - if (typeof fn !== 'function') { - throw new TypeError('.use expects `fn` be a function'); - } - - var self = this || app; - if (typeof opts.fn === 'function') { - opts.fn.call(self, self, options); - } - - var plugin = fn.call(self, self); - if (typeof plugin === 'function') { - var fns = self[prop]; - fns.push(plugin); - } - return self; - } - - /** - * Ensure the `.use` method exists on `val` - */ - - function decorate(val) { - if (!val.use || !val.run) { - base(val); - } - } - - return app; -}; diff --git a/publi/node_modules/use/node_modules/define-property/LICENSE b/publi/node_modules/use/node_modules/define-property/LICENSE deleted file mode 100644 index 65f90ac..0000000 --- a/publi/node_modules/use/node_modules/define-property/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2015, 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. diff --git a/publi/node_modules/use/node_modules/define-property/README.md b/publi/node_modules/use/node_modules/define-property/README.md deleted file mode 100644 index 8cac698..0000000 --- a/publi/node_modules/use/node_modules/define-property/README.md +++ /dev/null @@ -1,77 +0,0 @@ -# define-property [![NPM version](https://badge.fury.io/js/define-property.svg)](http://badge.fury.io/js/define-property) - -> Define a non-enumerable property on an object. - -## Install - -Install with [npm](https://www.npmjs.com/) - -```sh -$ npm i define-property --save -``` - -## Usage - -**Params** - -* `obj`: The object on which to define the property. -* `prop`: The name of the property to be defined or modified. -* `descriptor`: The descriptor for the property being defined or modified. - -```js -var define = require('define-property'); -var obj = {}; -define(obj, 'foo', function(val) { - return val.toUpperCase(); -}); - -console.log(obj); -//=> {} - -console.log(obj.foo('bar')); -//=> 'BAR' -``` - -**get/set** - -```js -define(obj, 'foo', { - get: function() {}, - set: function() {} -}); -``` - -## Related projects - -* [delegate-object](https://www.npmjs.com/package/delegate-object): Copy properties from an object to another object, where properties with function values will be… [more](https://www.npmjs.com/package/delegate-object) | [homepage](https://github.com/doowb/delegate-object) -* [forward-object](https://www.npmjs.com/package/forward-object): Copy properties from an object to another object, where properties with function values will be… [more](https://www.npmjs.com/package/forward-object) | [homepage](https://github.com/doowb/forward-object) -* [mixin-deep](https://www.npmjs.com/package/mixin-deep): Deeply mix the properties of objects into the first object. Like merge-deep, but doesn't clone. | [homepage](https://github.com/jonschlinkert/mixin-deep) -* [mixin-object](https://www.npmjs.com/package/mixin-object): Mixin the own and inherited properties of other objects onto the first object. Pass an… [more](https://www.npmjs.com/package/mixin-object) | [homepage](https://github.com/jonschlinkert/mixin-object) - -## Running tests - -Install dev dependencies: - -```sh -$ npm i -d && npm test -``` - -## Contributing - -Pull requests and stars are always welcome. For bugs and feature requests, [please create an issue](https://github.com/jonschlinkert/define-property/issues/new). - -## Author - -**Jon Schlinkert** - -+ [github/jonschlinkert](https://github.com/jonschlinkert) -+ [twitter/jonschlinkert](http://twitter.com/jonschlinkert) - -## License - -Copyright © 2015 Jon Schlinkert -Released under the MIT license. - -*** - -_This file was generated by [verb-cli](https://github.com/assemble/verb-cli) on August 31, 2015._ diff --git a/publi/node_modules/use/node_modules/define-property/index.js b/publi/node_modules/use/node_modules/define-property/index.js deleted file mode 100644 index 3e0e5e1..0000000 --- a/publi/node_modules/use/node_modules/define-property/index.js +++ /dev/null @@ -1,31 +0,0 @@ -/*! - * define-property - * - * Copyright (c) 2015, Jon Schlinkert. - * Licensed under the MIT License. - */ - -'use strict'; - -var isDescriptor = require('is-descriptor'); - -module.exports = function defineProperty(obj, prop, val) { - if (typeof obj !== 'object' && typeof obj !== 'function') { - throw new TypeError('expected an object or function.'); - } - - if (typeof prop !== 'string') { - throw new TypeError('expected `prop` to be a string.'); - } - - if (isDescriptor(val) && ('set' in val || 'get' in val)) { - return Object.defineProperty(obj, prop, val); - } - - return Object.defineProperty(obj, prop, { - configurable: true, - enumerable: false, - writable: true, - value: val - }); -}; diff --git a/publi/node_modules/use/node_modules/define-property/package.json b/publi/node_modules/use/node_modules/define-property/package.json deleted file mode 100644 index 70c8406..0000000 --- a/publi/node_modules/use/node_modules/define-property/package.json +++ /dev/null @@ -1,82 +0,0 @@ -{ - "_from": "define-property@^0.2.5", - "_id": "define-property@0.2.5", - "_inBundle": false, - "_integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "_location": "/use/define-property", - "_phantomChildren": {}, - "_requested": { - "type": "range", - "registry": true, - "raw": "define-property@^0.2.5", - "name": "define-property", - "escapedName": "define-property", - "rawSpec": "^0.2.5", - "saveSpec": null, - "fetchSpec": "^0.2.5" - }, - "_requiredBy": [ - "/use" - ], - "_resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "_shasum": "c35b1ef918ec3c990f9a5bc57be04aacec5c8116", - "_spec": "define-property@^0.2.5", - "_where": "/mnt/Data/bach/Documents/ola/OLA#5/ola5doc/publi/node_modules/use", - "author": { - "name": "Jon Schlinkert", - "url": "https://github.com/jonschlinkert" - }, - "bugs": { - "url": "https://github.com/jonschlinkert/define-property/issues" - }, - "bundleDependencies": false, - "dependencies": { - "is-descriptor": "^0.1.0" - }, - "deprecated": false, - "description": "Define a non-enumerable property on an object.", - "devDependencies": { - "mocha": "*", - "should": "^7.0.4" - }, - "engines": { - "node": ">=0.10.0" - }, - "files": [ - "index.js" - ], - "homepage": "https://github.com/jonschlinkert/define-property", - "keywords": [ - "define", - "define-property", - "enumerable", - "key", - "non", - "non-enumerable", - "object", - "prop", - "property", - "value" - ], - "license": "MIT", - "main": "index.js", - "name": "define-property", - "repository": { - "type": "git", - "url": "git+https://github.com/jonschlinkert/define-property.git" - }, - "scripts": { - "test": "mocha" - }, - "verb": { - "related": { - "list": [ - "mixin-deep", - "mixin-object", - "delegate-object", - "forward-object" - ] - } - }, - "version": "0.2.5" -} diff --git a/publi/node_modules/use/node_modules/is-descriptor/LICENSE b/publi/node_modules/use/node_modules/is-descriptor/LICENSE deleted file mode 100644 index c0d7f13..0000000 --- a/publi/node_modules/use/node_modules/is-descriptor/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2015-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. \ No newline at end of file diff --git a/publi/node_modules/use/node_modules/is-descriptor/README.md b/publi/node_modules/use/node_modules/is-descriptor/README.md deleted file mode 100644 index 658e533..0000000 --- a/publi/node_modules/use/node_modules/is-descriptor/README.md +++ /dev/null @@ -1,193 +0,0 @@ -# is-descriptor [![NPM version](https://img.shields.io/npm/v/is-descriptor.svg?style=flat)](https://www.npmjs.com/package/is-descriptor) [![NPM monthly downloads](https://img.shields.io/npm/dm/is-descriptor.svg?style=flat)](https://npmjs.org/package/is-descriptor) [![NPM total downloads](https://img.shields.io/npm/dt/is-descriptor.svg?style=flat)](https://npmjs.org/package/is-descriptor) [![Linux Build Status](https://img.shields.io/travis/jonschlinkert/is-descriptor.svg?style=flat&label=Travis)](https://travis-ci.org/jonschlinkert/is-descriptor) - -> Returns true if a value has the characteristics of a valid JavaScript descriptor. Works for data descriptors and accessor descriptors. - -## Install - -Install with [npm](https://www.npmjs.com/): - -```sh -$ npm install --save is-descriptor -``` - -## Usage - -```js -var isDescriptor = require('is-descriptor'); - -isDescriptor({value: 'foo'}) -//=> true -isDescriptor({get: function(){}, set: function(){}}) -//=> true -isDescriptor({get: 'foo', set: function(){}}) -//=> false -``` - -You may also check for a descriptor by passing an object as the first argument and property name (`string`) as the second argument. - -```js -var obj = {}; -obj.foo = 'abc'; - -Object.defineProperty(obj, 'bar', { - value: 'xyz' -}); - -isDescriptor(obj, 'foo'); -//=> true -isDescriptor(obj, 'bar'); -//=> true -``` - -## Examples - -### value type - -`false` when not an object - -```js -isDescriptor('a'); -//=> false -isDescriptor(null); -//=> false -isDescriptor([]); -//=> false -``` - -### data descriptor - -`true` when the object has valid properties with valid values. - -```js -isDescriptor({value: 'foo'}); -//=> true -isDescriptor({value: noop}); -//=> true -``` - -`false` when the object has invalid properties - -```js -isDescriptor({value: 'foo', bar: 'baz'}); -//=> false -isDescriptor({value: 'foo', bar: 'baz'}); -//=> false -isDescriptor({value: 'foo', get: noop}); -//=> false -isDescriptor({get: noop, value: noop}); -//=> false -``` - -`false` when a value is not the correct type - -```js -isDescriptor({value: 'foo', enumerable: 'foo'}); -//=> false -isDescriptor({value: 'foo', configurable: 'foo'}); -//=> false -isDescriptor({value: 'foo', writable: 'foo'}); -//=> false -``` - -### accessor descriptor - -`true` when the object has valid properties with valid values. - -```js -isDescriptor({get: noop, set: noop}); -//=> true -isDescriptor({get: noop}); -//=> true -isDescriptor({set: noop}); -//=> true -``` - -`false` when the object has invalid properties - -```js -isDescriptor({get: noop, set: noop, bar: 'baz'}); -//=> false -isDescriptor({get: noop, writable: true}); -//=> false -isDescriptor({get: noop, value: true}); -//=> false -``` - -`false` when an accessor is not a function - -```js -isDescriptor({get: noop, set: 'baz'}); -//=> false -isDescriptor({get: 'foo', set: noop}); -//=> false -isDescriptor({get: 'foo', bar: 'baz'}); -//=> false -isDescriptor({get: 'foo', set: 'baz'}); -//=> false -``` - -`false` when a value is not the correct type - -```js -isDescriptor({get: noop, set: noop, enumerable: 'foo'}); -//=> false -isDescriptor({set: noop, configurable: 'foo'}); -//=> false -isDescriptor({get: noop, configurable: 'foo'}); -//=> false -``` - -## About - -### Related projects - -* [is-accessor-descriptor](https://www.npmjs.com/package/is-accessor-descriptor): Returns true if a value has the characteristics of a valid JavaScript accessor descriptor. | [homepage](https://github.com/jonschlinkert/is-accessor-descriptor "Returns true if a value has the characteristics of a valid JavaScript accessor descriptor.") -* [is-data-descriptor](https://www.npmjs.com/package/is-data-descriptor): Returns true if a value has the characteristics of a valid JavaScript data descriptor. | [homepage](https://github.com/jonschlinkert/is-data-descriptor "Returns true if a value has the characteristics of a valid JavaScript data descriptor.") -* [is-descriptor](https://www.npmjs.com/package/is-descriptor): Returns true if a value has the characteristics of a valid JavaScript descriptor. Works for… [more](https://github.com/jonschlinkert/is-descriptor) | [homepage](https://github.com/jonschlinkert/is-descriptor "Returns true if a value has the characteristics of a valid JavaScript descriptor. Works for data descriptors and accessor descriptors.") -* [isobject](https://www.npmjs.com/package/isobject): Returns true if the value is an object and not an array or null. | [homepage](https://github.com/jonschlinkert/isobject "Returns true if the value is an object and not an array or null.") - -### Contributing - -Pull requests and stars are always welcome. For bugs and feature requests, [please create an issue](../../issues/new). - -### Contributors - -| **Commits** | **Contributor** | -| --- | --- | -| 24 | [jonschlinkert](https://github.com/jonschlinkert) | -| 1 | [doowb](https://github.com/doowb) | -| 1 | [wtgtybhertgeghgtwtg](https://github.com/wtgtybhertgeghgtwtg) | - -### Building docs - -_(This project's readme.md is generated by [verb](https://github.com/verbose/verb-generate-readme), please don't edit the readme directly. Any changes to the readme must be made in the [.verb.md](.verb.md) readme template.)_ - -To generate the readme, run the following command: - -```sh -$ npm install -g verbose/verb#dev verb-generate-readme && verb -``` - -### Running tests - -Running and reviewing unit tests is a great way to get familiarized with a library and its API. You can install dependencies and run tests with the following command: - -```sh -$ npm install && npm test -``` - -### Author - -**Jon Schlinkert** - -* [github/jonschlinkert](https://github.com/jonschlinkert) -* [twitter/jonschlinkert](https://twitter.com/jonschlinkert) - -### License - -Copyright © 2017, [Jon Schlinkert](https://github.com/jonschlinkert). -Released under the [MIT License](LICENSE). - -*** - -_This file was generated by [verb-generate-readme](https://github.com/verbose/verb-generate-readme), v0.6.0, on July 22, 2017._ \ No newline at end of file diff --git a/publi/node_modules/use/node_modules/is-descriptor/index.js b/publi/node_modules/use/node_modules/is-descriptor/index.js deleted file mode 100644 index c9b91d7..0000000 --- a/publi/node_modules/use/node_modules/is-descriptor/index.js +++ /dev/null @@ -1,22 +0,0 @@ -/*! - * is-descriptor - * - * Copyright (c) 2015-2017, Jon Schlinkert. - * Released under the MIT License. - */ - -'use strict'; - -var typeOf = require('kind-of'); -var isAccessor = require('is-accessor-descriptor'); -var isData = require('is-data-descriptor'); - -module.exports = function isDescriptor(obj, key) { - if (typeOf(obj) !== 'object') { - return false; - } - if ('get' in obj) { - return isAccessor(obj, key); - } - return isData(obj, key); -}; diff --git a/publi/node_modules/use/node_modules/is-descriptor/package.json b/publi/node_modules/use/node_modules/is-descriptor/package.json deleted file mode 100644 index 3180619..0000000 --- a/publi/node_modules/use/node_modules/is-descriptor/package.json +++ /dev/null @@ -1,114 +0,0 @@ -{ - "_from": "is-descriptor@^0.1.0", - "_id": "is-descriptor@0.1.6", - "_inBundle": false, - "_integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "_location": "/use/is-descriptor", - "_phantomChildren": {}, - "_requested": { - "type": "range", - "registry": true, - "raw": "is-descriptor@^0.1.0", - "name": "is-descriptor", - "escapedName": "is-descriptor", - "rawSpec": "^0.1.0", - "saveSpec": null, - "fetchSpec": "^0.1.0" - }, - "_requiredBy": [ - "/use/define-property" - ], - "_resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "_shasum": "366d8240dde487ca51823b1ab9f07a10a78251ca", - "_spec": "is-descriptor@^0.1.0", - "_where": "/mnt/Data/bach/Documents/ola/OLA#5/ola5doc/publi/node_modules/use/node_modules/define-property", - "author": { - "name": "Jon Schlinkert", - "url": "https://github.com/jonschlinkert" - }, - "bugs": { - "url": "https://github.com/jonschlinkert/is-descriptor/issues" - }, - "bundleDependencies": false, - "contributors": [ - { - "name": "Brian Woodward", - "url": "https://twitter.com/doowb" - }, - { - "name": "Jon Schlinkert", - "url": "http://twitter.com/jonschlinkert" - }, - { - "url": "https://github.com/wtgtybhertgeghgtwtg" - } - ], - "dependencies": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "deprecated": false, - "description": "Returns true if a value has the characteristics of a valid JavaScript descriptor. Works for data descriptors and accessor descriptors.", - "devDependencies": { - "gulp-format-md": "^1.0.0", - "mocha": "^3.4.2" - }, - "engines": { - "node": ">=0.10.0" - }, - "files": [ - "index.js" - ], - "homepage": "https://github.com/jonschlinkert/is-descriptor", - "keywords": [ - "accessor", - "check", - "data", - "descriptor", - "get", - "getter", - "is", - "keys", - "object", - "properties", - "property", - "set", - "setter", - "type", - "valid", - "value" - ], - "license": "MIT", - "main": "index.js", - "name": "is-descriptor", - "repository": { - "type": "git", - "url": "git+https://github.com/jonschlinkert/is-descriptor.git" - }, - "scripts": { - "test": "mocha" - }, - "verb": { - "related": { - "list": [ - "is-accessor-descriptor", - "is-data-descriptor", - "is-descriptor", - "isobject" - ] - }, - "plugins": [ - "gulp-format-md" - ], - "toc": false, - "layout": "default", - "tasks": [ - "readme" - ], - "lint": { - "reflinks": true - } - }, - "version": "0.1.6" -} diff --git a/publi/node_modules/use/node_modules/kind-of/LICENSE b/publi/node_modules/use/node_modules/kind-of/LICENSE deleted file mode 100644 index 3f2eca1..0000000 --- a/publi/node_modules/use/node_modules/kind-of/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -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. diff --git a/publi/node_modules/use/node_modules/kind-of/README.md b/publi/node_modules/use/node_modules/kind-of/README.md deleted file mode 100644 index 170bf30..0000000 --- a/publi/node_modules/use/node_modules/kind-of/README.md +++ /dev/null @@ -1,342 +0,0 @@ -# kind-of [![NPM version](https://img.shields.io/npm/v/kind-of.svg?style=flat)](https://www.npmjs.com/package/kind-of) [![NPM monthly downloads](https://img.shields.io/npm/dm/kind-of.svg?style=flat)](https://npmjs.org/package/kind-of) [![NPM total downloads](https://img.shields.io/npm/dt/kind-of.svg?style=flat)](https://npmjs.org/package/kind-of) [![Linux Build Status](https://img.shields.io/travis/jonschlinkert/kind-of.svg?style=flat&label=Travis)](https://travis-ci.org/jonschlinkert/kind-of) - -> Get the native type of a value. - -Please consider following this project's author, [Jon Schlinkert](https://github.com/jonschlinkert), and consider starring the project to show your :heart: and support. - -## Install - -Install with [npm](https://www.npmjs.com/): - -```sh -$ npm install --save kind-of -``` - -Install with [bower](https://bower.io/) - -```sh -$ bower install kind-of --save -``` - -## Why use this? - -1. [it's fast](#benchmarks) | [optimizations](#optimizations) -2. [better type checking](#better-type-checking) - -## Usage - -> es5, browser and es6 ready - -```js -var kindOf = require('kind-of'); - -kindOf(undefined); -//=> 'undefined' - -kindOf(null); -//=> 'null' - -kindOf(true); -//=> 'boolean' - -kindOf(false); -//=> 'boolean' - -kindOf(new Boolean(true)); -//=> 'boolean' - -kindOf(new Buffer('')); -//=> 'buffer' - -kindOf(42); -//=> 'number' - -kindOf(new Number(42)); -//=> 'number' - -kindOf('str'); -//=> 'string' - -kindOf(new String('str')); -//=> 'string' - -kindOf(arguments); -//=> 'arguments' - -kindOf({}); -//=> 'object' - -kindOf(Object.create(null)); -//=> 'object' - -kindOf(new Test()); -//=> 'object' - -kindOf(new Date()); -//=> 'date' - -kindOf([]); -//=> 'array' - -kindOf([1, 2, 3]); -//=> 'array' - -kindOf(new Array()); -//=> 'array' - -kindOf(/foo/); -//=> 'regexp' - -kindOf(new RegExp('foo')); -//=> 'regexp' - -kindOf(function () {}); -//=> 'function' - -kindOf(function * () {}); -//=> 'function' - -kindOf(new Function()); -//=> 'function' - -kindOf(new Map()); -//=> 'map' - -kindOf(new WeakMap()); -//=> 'weakmap' - -kindOf(new Set()); -//=> 'set' - -kindOf(new WeakSet()); -//=> 'weakset' - -kindOf(Symbol('str')); -//=> 'symbol' - -kindOf(new Int8Array()); -//=> 'int8array' - -kindOf(new Uint8Array()); -//=> 'uint8array' - -kindOf(new Uint8ClampedArray()); -//=> 'uint8clampedarray' - -kindOf(new Int16Array()); -//=> 'int16array' - -kindOf(new Uint16Array()); -//=> 'uint16array' - -kindOf(new Int32Array()); -//=> 'int32array' - -kindOf(new Uint32Array()); -//=> 'uint32array' - -kindOf(new Float32Array()); -//=> 'float32array' - -kindOf(new Float64Array()); -//=> 'float64array' -``` - -## Release history - -### v4.0.0 - -**Added** - -* `promise` support - -### v5.0.0 - -**Added** - -* `Set Iterator` and `Map Iterator` support - -**Fixed** - -* Now returns `generatorfunction` for generator functions - -## Benchmarks - -Benchmarked against [typeof](http://github.com/CodingFu/typeof) and [type-of](https://github.com/ForbesLindesay/type-of). -Note that performaces is slower for es6 features `Map`, `WeakMap`, `Set` and `WeakSet`. - -```bash -#1: array - current x 23,329,397 ops/sec ±0.82% (94 runs sampled) - lib-type-of x 4,170,273 ops/sec ±0.55% (94 runs sampled) - lib-typeof x 9,686,935 ops/sec ±0.59% (98 runs sampled) - -#2: boolean - current x 27,197,115 ops/sec ±0.85% (94 runs sampled) - lib-type-of x 3,145,791 ops/sec ±0.73% (97 runs sampled) - lib-typeof x 9,199,562 ops/sec ±0.44% (99 runs sampled) - -#3: date - current x 20,190,117 ops/sec ±0.86% (92 runs sampled) - lib-type-of x 5,166,970 ops/sec ±0.74% (94 runs sampled) - lib-typeof x 9,610,821 ops/sec ±0.50% (96 runs sampled) - -#4: function - current x 23,855,460 ops/sec ±0.60% (97 runs sampled) - lib-type-of x 5,667,740 ops/sec ±0.54% (100 runs sampled) - lib-typeof x 10,010,644 ops/sec ±0.44% (100 runs sampled) - -#5: null - current x 27,061,047 ops/sec ±0.97% (96 runs sampled) - lib-type-of x 13,965,573 ops/sec ±0.62% (97 runs sampled) - lib-typeof x 8,460,194 ops/sec ±0.61% (97 runs sampled) - -#6: number - current x 25,075,682 ops/sec ±0.53% (99 runs sampled) - lib-type-of x 2,266,405 ops/sec ±0.41% (98 runs sampled) - lib-typeof x 9,821,481 ops/sec ±0.45% (99 runs sampled) - -#7: object - current x 3,348,980 ops/sec ±0.49% (99 runs sampled) - lib-type-of x 3,245,138 ops/sec ±0.60% (94 runs sampled) - lib-typeof x 9,262,952 ops/sec ±0.59% (99 runs sampled) - -#8: regex - current x 21,284,827 ops/sec ±0.72% (96 runs sampled) - lib-type-of x 4,689,241 ops/sec ±0.43% (100 runs sampled) - lib-typeof x 8,957,593 ops/sec ±0.62% (98 runs sampled) - -#9: string - current x 25,379,234 ops/sec ±0.58% (96 runs sampled) - lib-type-of x 3,635,148 ops/sec ±0.76% (93 runs sampled) - lib-typeof x 9,494,134 ops/sec ±0.49% (98 runs sampled) - -#10: undef - current x 27,459,221 ops/sec ±1.01% (93 runs sampled) - lib-type-of x 14,360,433 ops/sec ±0.52% (99 runs sampled) - lib-typeof x 23,202,868 ops/sec ±0.59% (94 runs sampled) - -``` - -## Optimizations - -In 7 out of 8 cases, this library is 2x-10x faster than other top libraries included in the benchmarks. There are a few things that lead to this performance advantage, none of them hard and fast rules, but all of them simple and repeatable in almost any code library: - -1. Optimize around the fastest and most common use cases first. Of course, this will change from project-to-project, but I took some time to understand how and why `typeof` checks were being used in my own libraries and other libraries I use a lot. -2. Optimize around bottlenecks - In other words, the order in which conditionals are implemented is significant, because each check is only as fast as the failing checks that came before it. Here, the biggest bottleneck by far is checking for plain objects (an object that was created by the `Object` constructor). I opted to make this check happen by process of elimination rather than brute force up front (e.g. by using something like `val.constructor.name`), so that every other type check would not be penalized it. -3. Don't do uneccessary processing - why do `.slice(8, -1).toLowerCase();` just to get the word `regex`? It's much faster to do `if (type === '[object RegExp]') return 'regex'` -4. There is no reason to make the code in a microlib as terse as possible, just to win points for making it shorter. It's always better to favor performant code over terse code. You will always only be using a single `require()` statement to use the library anyway, regardless of how the code is written. - -## Better type checking - -kind-of is more correct than other type checking libs I've looked at. For example, here are some differing results from other popular libs: - -### [typeof](https://github.com/CodingFu/typeof) lib - -Incorrectly tests instances of custom constructors (pretty common): - -```js -var typeOf = require('typeof'); -function Test() {} -console.log(typeOf(new Test())); -//=> 'test' -``` - -Returns `object` instead of `arguments`: - -```js -function foo() { - console.log(typeOf(arguments)) //=> 'object' -} -foo(); -``` - -### [type-of](https://github.com/ForbesLindesay/type-of) lib - -Incorrectly returns `object` for generator functions, buffers, `Map`, `Set`, `WeakMap` and `WeakSet`: - -```js -function * foo() {} -console.log(typeOf(foo)); -//=> 'object' -console.log(typeOf(new Buffer(''))); -//=> 'object' -console.log(typeOf(new Map())); -//=> 'object' -console.log(typeOf(new Set())); -//=> 'object' -console.log(typeOf(new WeakMap())); -//=> 'object' -console.log(typeOf(new WeakSet())); -//=> 'object' -``` - -## About - -
-Contributing - -Pull requests and stars are always welcome. For bugs and feature requests, [please create an issue](../../issues/new). - -
- -
-Running Tests - -Running and reviewing unit tests is a great way to get familiarized with a library and its API. You can install dependencies and run tests with the following command: - -```sh -$ npm install && npm test -``` - -
- -
-Building docs - -_(This project's readme.md is generated by [verb](https://github.com/verbose/verb-generate-readme), please don't edit the readme directly. Any changes to the readme must be made in the [.verb.md](.verb.md) readme template.)_ - -To generate the readme, run the following command: - -```sh -$ npm install -g verbose/verb#dev verb-generate-readme && verb -``` - -
- -### Related projects - -You might also be interested in these projects: - -* [is-glob](https://www.npmjs.com/package/is-glob): Returns `true` if the given string looks like a glob pattern or an extglob pattern… [more](https://github.com/jonschlinkert/is-glob) | [homepage](https://github.com/jonschlinkert/is-glob "Returns `true` if the given string looks like a glob pattern or an extglob pattern. This makes it easy to create code that only uses external modules like node-glob when necessary, resulting in much faster code execution and initialization time, and a bet") -* [is-number](https://www.npmjs.com/package/is-number): Returns true if the value is a number. comprehensive tests. | [homepage](https://github.com/jonschlinkert/is-number "Returns true if the value is a number. comprehensive tests.") -* [is-primitive](https://www.npmjs.com/package/is-primitive): Returns `true` if the value is a primitive. | [homepage](https://github.com/jonschlinkert/is-primitive "Returns `true` if the value is a primitive. ") - -### Contributors - -| **Commits** | **Contributor** | -| --- | --- | -| 82 | [jonschlinkert](https://github.com/jonschlinkert) | -| 3 | [aretecode](https://github.com/aretecode) | -| 2 | [miguelmota](https://github.com/miguelmota) | -| 1 | [dtothefp](https://github.com/dtothefp) | -| 1 | [ksheedlo](https://github.com/ksheedlo) | -| 1 | [pdehaan](https://github.com/pdehaan) | -| 1 | [laggingreflex](https://github.com/laggingreflex) | -| 1 | [charlike](https://github.com/charlike) | - -### Author - -**Jon Schlinkert** - -* [github/jonschlinkert](https://github.com/jonschlinkert) -* [twitter/jonschlinkert](https://twitter.com/jonschlinkert) - -### License - -Copyright © 2017, [Jon Schlinkert](https://github.com/jonschlinkert). -Released under the [MIT License](LICENSE). - -*** - -_This file was generated by [verb-generate-readme](https://github.com/verbose/verb-generate-readme), v0.6.0, on October 13, 2017._ \ No newline at end of file diff --git a/publi/node_modules/use/node_modules/kind-of/index.js b/publi/node_modules/use/node_modules/kind-of/index.js deleted file mode 100644 index fc5cde9..0000000 --- a/publi/node_modules/use/node_modules/kind-of/index.js +++ /dev/null @@ -1,147 +0,0 @@ -var toString = Object.prototype.toString; - -/** - * Get the native `typeof` a value. - * - * @param {*} `val` - * @return {*} Native javascript type - */ - -module.exports = function kindOf(val) { - var type = typeof val; - - // primitivies - if (type === 'undefined') { - return 'undefined'; - } - if (val === null) { - return 'null'; - } - if (val === true || val === false || val instanceof Boolean) { - return 'boolean'; - } - if (type === 'string' || val instanceof String) { - return 'string'; - } - if (type === 'number' || val instanceof Number) { - return 'number'; - } - - // functions - if (type === 'function' || val instanceof Function) { - if (typeof val.constructor.name !== 'undefined' && val.constructor.name.slice(0, 9) === 'Generator') { - return 'generatorfunction'; - } - return 'function'; - } - - // array - if (typeof Array.isArray !== 'undefined' && Array.isArray(val)) { - return 'array'; - } - - // check for instances of RegExp and Date before calling `toString` - if (val instanceof RegExp) { - return 'regexp'; - } - if (val instanceof Date) { - return 'date'; - } - - // other objects - type = toString.call(val); - - if (type === '[object RegExp]') { - return 'regexp'; - } - if (type === '[object Date]') { - return 'date'; - } - if (type === '[object Arguments]') { - return 'arguments'; - } - if (type === '[object Error]') { - return 'error'; - } - if (type === '[object Promise]') { - return 'promise'; - } - - // buffer - if (isBuffer(val)) { - return 'buffer'; - } - - // es6: Map, WeakMap, Set, WeakSet - if (type === '[object Set]') { - return 'set'; - } - if (type === '[object WeakSet]') { - return 'weakset'; - } - if (type === '[object Map]') { - return 'map'; - } - if (type === '[object WeakMap]') { - return 'weakmap'; - } - if (type === '[object Symbol]') { - return 'symbol'; - } - - if (type === '[object Map Iterator]') { - return 'mapiterator'; - } - if (type === '[object Set Iterator]') { - return 'setiterator'; - } - if (type === '[object String Iterator]') { - return 'stringiterator'; - } - if (type === '[object Array Iterator]') { - return 'arrayiterator'; - } - - // typed arrays - if (type === '[object Int8Array]') { - return 'int8array'; - } - if (type === '[object Uint8Array]') { - return 'uint8array'; - } - if (type === '[object Uint8ClampedArray]') { - return 'uint8clampedarray'; - } - if (type === '[object Int16Array]') { - return 'int16array'; - } - if (type === '[object Uint16Array]') { - return 'uint16array'; - } - if (type === '[object Int32Array]') { - return 'int32array'; - } - if (type === '[object Uint32Array]') { - return 'uint32array'; - } - if (type === '[object Float32Array]') { - return 'float32array'; - } - if (type === '[object Float64Array]') { - return 'float64array'; - } - - // must be a plain object - return 'object'; -}; - -/** - * If you need to support Safari 5-7 (8-10 yr-old browser), - * take a look at https://github.com/feross/is-buffer - */ - -function isBuffer(val) { - return val.constructor - && typeof val.constructor.isBuffer === 'function' - && val.constructor.isBuffer(val); -} diff --git a/publi/node_modules/use/node_modules/kind-of/package.json b/publi/node_modules/use/node_modules/kind-of/package.json deleted file mode 100644 index d70f7fe..0000000 --- a/publi/node_modules/use/node_modules/kind-of/package.json +++ /dev/null @@ -1,146 +0,0 @@ -{ - "_from": "kind-of@^5.0.0", - "_id": "kind-of@5.1.0", - "_inBundle": false, - "_integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "_location": "/use/kind-of", - "_phantomChildren": {}, - "_requested": { - "type": "range", - "registry": true, - "raw": "kind-of@^5.0.0", - "name": "kind-of", - "escapedName": "kind-of", - "rawSpec": "^5.0.0", - "saveSpec": null, - "fetchSpec": "^5.0.0" - }, - "_requiredBy": [ - "/use/is-descriptor" - ], - "_resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "_shasum": "729c91e2d857b7a419a1f9aa65685c4c33f5845d", - "_spec": "kind-of@^5.0.0", - "_where": "/mnt/Data/bach/Documents/ola/OLA#5/ola5doc/publi/node_modules/use/node_modules/is-descriptor", - "author": { - "name": "Jon Schlinkert", - "url": "https://github.com/jonschlinkert" - }, - "bugs": { - "url": "https://github.com/jonschlinkert/kind-of/issues" - }, - "bundleDependencies": false, - "contributors": [ - { - "name": "David Fox-Powell", - "url": "https://dtothefp.github.io/me" - }, - { - "name": "James", - "url": "https://twitter.com/aretecode" - }, - { - "name": "Jon Schlinkert", - "url": "http://twitter.com/jonschlinkert" - }, - { - "name": "Ken Sheedlo", - "url": "kensheedlo.com" - }, - { - "name": "laggingreflex", - "url": "https://github.com/laggingreflex" - }, - { - "name": "Miguel Mota", - "url": "https://miguelmota.com" - }, - { - "name": "Peter deHaan", - "url": "http://about.me/peterdehaan" - }, - { - "name": "tunnckoCore", - "url": "https://i.am.charlike.online" - } - ], - "deprecated": false, - "description": "Get the native type of a value.", - "devDependencies": { - "ansi-bold": "^0.1.1", - "benchmarked": "^1.1.1", - "browserify": "^14.4.0", - "gulp-format-md": "^0.1.12", - "matched": "^0.4.4", - "mocha": "^3.4.2", - "type-of": "^2.0.1", - "typeof": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - }, - "files": [ - "index.js" - ], - "homepage": "https://github.com/jonschlinkert/kind-of", - "keywords": [ - "arguments", - "array", - "boolean", - "check", - "date", - "function", - "is", - "is-type", - "is-type-of", - "kind", - "kind-of", - "number", - "object", - "of", - "regexp", - "string", - "test", - "type", - "type-of", - "typeof", - "types" - ], - "license": "MIT", - "main": "index.js", - "name": "kind-of", - "repository": { - "type": "git", - "url": "git+https://github.com/jonschlinkert/kind-of.git" - }, - "scripts": { - "prepublish": "browserify -o browser.js -e index.js -s index --bare", - "test": "mocha" - }, - "verb": { - "related": { - "list": [ - "is-glob", - "is-number", - "is-primitive" - ] - }, - "toc": false, - "layout": "default", - "tasks": [ - "readme" - ], - "plugins": [ - "gulp-format-md" - ], - "lint": { - "reflinks": true - }, - "reflinks": [ - "type-of", - "typeof", - "verb" - ] - }, - "version": "5.1.0" -} diff --git a/publi/node_modules/use/package.json b/publi/node_modules/use/package.json deleted file mode 100644 index 36b482f..0000000 --- a/publi/node_modules/use/package.json +++ /dev/null @@ -1,119 +0,0 @@ -{ - "_from": "use@^2.0.0", - "_id": "use@2.0.2", - "_inBundle": false, - "_integrity": "sha1-riig1y+TvyJCKhii43mZMRLeyOg=", - "_location": "/use", - "_phantomChildren": { - "is-accessor-descriptor": "0.1.6", - "is-data-descriptor": "0.1.4" - }, - "_requested": { - "type": "range", - "registry": true, - "raw": "use@^2.0.0", - "name": "use", - "escapedName": "use", - "rawSpec": "^2.0.0", - "saveSpec": null, - "fetchSpec": "^2.0.0" - }, - "_requiredBy": [ - "/snapdragon" - ], - "_resolved": "https://registry.npmjs.org/use/-/use-2.0.2.tgz", - "_shasum": "ae28a0d72f93bf22422a18a2e379993112dec8e8", - "_spec": "use@^2.0.0", - "_where": "/mnt/Data/bach/Documents/ola/OLA#5/ola5doc/publi/node_modules/snapdragon", - "author": { - "name": "Jon Schlinkert", - "url": "https://github.com/jonschlinkert" - }, - "bugs": { - "url": "https://github.com/jonschlinkert/use/issues" - }, - "bundleDependencies": false, - "contributors": [ - { - "email": "wtgtybhertgeghgtwtg@gmail.com", - "url": "https://github.com/wtgtybhertgeghgtwtg" - }, - { - "name": "Brian Woodward", - "email": "brian.woodward@gmail.com", - "url": "https://github.com/doowb" - }, - { - "name": "Charlike Mike Reagent", - "url": "https://i.am.charlike.online" - }, - { - "name": "Jon Schlinkert", - "email": "jon.schlinkert@sellside.com", - "url": "http://twitter.com/jonschlinkert" - } - ], - "dependencies": { - "define-property": "^0.2.5", - "isobject": "^3.0.0", - "lazy-cache": "^2.0.2" - }, - "deprecated": false, - "description": "Easily add plugin support to your node.js application.", - "devDependencies": { - "base-plugins": "^0.4.13", - "extend-shallow": "^2.0.1", - "gulp": "^3.9.1", - "gulp-eslint": "^3.0.1", - "gulp-format-md": "^0.1.11", - "gulp-istanbul": "^1.1.1", - "gulp-mocha": "^4.0.1", - "mocha": "^3.2.0" - }, - "engines": { - "node": ">=0.10.0" - }, - "files": [ - "index.js", - "utils.js" - ], - "homepage": "https://github.com/jonschlinkert/use", - "keywords": [ - "use" - ], - "license": "MIT", - "main": "index.js", - "name": "use", - "repository": { - "type": "git", - "url": "git+https://github.com/jonschlinkert/use.git" - }, - "scripts": { - "test": "mocha" - }, - "verb": { - "related": { - "list": [ - "base", - "base-plugins", - "ware" - ] - }, - "reflinks": [ - "verb", - "ware" - ], - "toc": false, - "layout": "default", - "tasks": [ - "readme" - ], - "plugins": [ - "gulp-format-md" - ], - "lint": { - "reflinks": true - } - }, - "version": "2.0.2" -} diff --git a/publi/node_modules/use/utils.js b/publi/node_modules/use/utils.js deleted file mode 100644 index bea907b..0000000 --- a/publi/node_modules/use/utils.js +++ /dev/null @@ -1,23 +0,0 @@ -'use strict'; - -var utils = require('lazy-cache')(require); -var fn = require; -require = utils; // eslint-disable-line - -/** - * Lazily required module dependencies - */ - -require('define-property', 'define'); -require('isobject', 'isObject'); -require = fn; // eslint-disable-line - -utils.isString = function(val) { - return val && typeof val === 'string'; -}; - -/** - * Expose `utils` modules - */ - -module.exports = utils; diff --git a/publi/node_modules/user-home/cli.js b/publi/node_modules/user-home/cli.js deleted file mode 100755 index bacbd22..0000000 --- a/publi/node_modules/user-home/cli.js +++ /dev/null @@ -1,26 +0,0 @@ -#!/usr/bin/env node -'use strict'; -var pkg = require('./package.json'); -var userHome = require('./'); - -function help() { - console.log([ - pkg.description, - '', - 'Example', - ' $ user-home', - ' /Users/sindresorhus' - ].join('\n')); -} - -if (process.argv.indexOf('--help') !== -1) { - help(); - return; -} - -if (process.argv.indexOf('--version') !== -1) { - console.log(pkg.version); - return; -} - -process.stdout.write(userHome); diff --git a/publi/node_modules/user-home/index.js b/publi/node_modules/user-home/index.js deleted file mode 100644 index d53b793..0000000 --- a/publi/node_modules/user-home/index.js +++ /dev/null @@ -1,15 +0,0 @@ -'use strict'; -var env = process.env; -var home = env.HOME; -var user = env.LOGNAME || env.USER || env.LNAME || env.USERNAME; - -if (process.platform === 'win32') { - module.exports = env.USERPROFILE || env.HOMEDRIVE + env.HOMEPATH || home || null; -} else if (process.platform === 'darwin') { - module.exports = home || (user ? '/Users/' + user : null) || null; -} else if (process.platform === 'linux') { - module.exports = home || - (user ? (process.getuid() === 0 ? '/root' : '/home/' + user) : null) || null; -} else { - module.exports = home || null; -} diff --git a/publi/node_modules/user-home/license b/publi/node_modules/user-home/license deleted file mode 100644 index 654d0bf..0000000 --- a/publi/node_modules/user-home/license +++ /dev/null @@ -1,21 +0,0 @@ -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. diff --git a/publi/node_modules/user-home/package.json b/publi/node_modules/user-home/package.json deleted file mode 100644 index e9c56de..0000000 --- a/publi/node_modules/user-home/package.json +++ /dev/null @@ -1,103 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "user-home@^1.1.1", - "scope": null, - "escapedName": "user-home", - "name": "user-home", - "rawSpec": "^1.1.1", - "spec": ">=1.1.1 <2.0.0", - "type": "range" - }, - "/mnt/Data/bach/Documents/ola/OLA#3DOC/sys/node_modules/v8flags" - ] - ], - "_from": "user-home@>=1.1.1 <2.0.0", - "_id": "user-home@1.1.1", - "_inCache": true, - "_location": "/user-home", - "_nodeVersion": "0.10.32", - "_npmUser": { - "name": "sindresorhus", - "email": "sindresorhus@gmail.com" - }, - "_npmVersion": "2.1.16", - "_phantomChildren": {}, - "_requested": { - "raw": "user-home@^1.1.1", - "scope": null, - "escapedName": "user-home", - "name": "user-home", - "rawSpec": "^1.1.1", - "spec": ">=1.1.1 <2.0.0", - "type": "range" - }, - "_requiredBy": [ - "/v8flags" - ], - "_resolved": "https://registry.npmjs.org/user-home/-/user-home-1.1.1.tgz", - "_shasum": "2b5be23a32b63a7c9deb8d0f28d485724a3df190", - "_shrinkwrap": null, - "_spec": "user-home@^1.1.1", - "_where": "/mnt/Data/bach/Documents/ola/OLA#3DOC/sys/node_modules/v8flags", - "author": { - "name": "Sindre Sorhus", - "email": "sindresorhus@gmail.com", - "url": "http://sindresorhus.com" - }, - "bin": { - "user-home": "cli.js" - }, - "bugs": { - "url": "https://github.com/sindresorhus/user-home/issues" - }, - "dependencies": {}, - "description": "Get the path to the user home directory", - "devDependencies": { - "ava": "0.0.3" - }, - "directories": {}, - "dist": { - "shasum": "2b5be23a32b63a7c9deb8d0f28d485724a3df190", - "tarball": "https://registry.npmjs.org/user-home/-/user-home-1.1.1.tgz" - }, - "engines": { - "node": ">=0.10.0" - }, - "files": [ - "index.js", - "cli.js" - ], - "gitHead": "cf6ba885d3e6bf625fb3c15ad0334fa623968481", - "homepage": "https://github.com/sindresorhus/user-home", - "keywords": [ - "cli", - "bin", - "user", - "home", - "homedir", - "dir", - "directory", - "folder", - "path" - ], - "license": "MIT", - "maintainers": [ - { - "name": "sindresorhus", - "email": "sindresorhus@gmail.com" - } - ], - "name": "user-home", - "optionalDependencies": {}, - "readme": "ERROR: No README data found!", - "repository": { - "type": "git", - "url": "git+https://github.com/sindresorhus/user-home.git" - }, - "scripts": { - "test": "node test.js" - }, - "version": "1.1.1" -} diff --git a/publi/node_modules/user-home/readme.md b/publi/node_modules/user-home/readme.md deleted file mode 100644 index 5307a07..0000000 --- a/publi/node_modules/user-home/readme.md +++ /dev/null @@ -1,42 +0,0 @@ -# user-home [![Build Status](https://travis-ci.org/sindresorhus/user-home.svg?branch=master)](https://travis-ci.org/sindresorhus/user-home) - -> Get the path to the user home directory - - -## Install - -```sh -$ npm install --save user-home -``` - - -## Usage - -```js -var userHome = require('user-home'); - -console.log(userHome); -//=> /Users/sindresorhus -``` - -Returns `null` in the unlikely scenario that the home directory can't be found. - - -## CLI - -```sh -$ npm install --global user-home -``` - -```sh -$ user-home --help - -Example - $ user-home - /Users/sindresorhus -``` - - -## License - -MIT © [Sindre Sorhus](http://sindresorhus.com) diff --git a/publi/node_modules/util-deprecate/History.md b/publi/node_modules/util-deprecate/History.md deleted file mode 100644 index acc8675..0000000 --- a/publi/node_modules/util-deprecate/History.md +++ /dev/null @@ -1,16 +0,0 @@ - -1.0.2 / 2015-10-07 -================== - - * use try/catch when checking `localStorage` (#3, @kumavis) - -1.0.1 / 2014-11-25 -================== - - * browser: use `console.warn()` for deprecation calls - * browser: more jsdocs - -1.0.0 / 2014-04-30 -================== - - * initial commit diff --git a/publi/node_modules/util-deprecate/LICENSE b/publi/node_modules/util-deprecate/LICENSE deleted file mode 100644 index 6a60e8c..0000000 --- a/publi/node_modules/util-deprecate/LICENSE +++ /dev/null @@ -1,24 +0,0 @@ -(The MIT License) - -Copyright (c) 2014 Nathan Rajlich - -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/publi/node_modules/util-deprecate/README.md b/publi/node_modules/util-deprecate/README.md deleted file mode 100644 index 75622fa..0000000 --- a/publi/node_modules/util-deprecate/README.md +++ /dev/null @@ -1,53 +0,0 @@ -util-deprecate -============== -### The Node.js `util.deprecate()` function with browser support - -In Node.js, this module simply re-exports the `util.deprecate()` function. - -In the web browser (i.e. via browserify), a browser-specific implementation -of the `util.deprecate()` function is used. - - -## API - -A `deprecate()` function is the only thing exposed by this module. - -``` javascript -// setup: -exports.foo = deprecate(foo, 'foo() is deprecated, use bar() instead'); - - -// users see: -foo(); -// foo() is deprecated, use bar() instead -foo(); -foo(); -``` - - -## License - -(The MIT License) - -Copyright (c) 2014 Nathan Rajlich - -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/publi/node_modules/util-deprecate/browser.js b/publi/node_modules/util-deprecate/browser.js deleted file mode 100644 index 549ae2f..0000000 --- a/publi/node_modules/util-deprecate/browser.js +++ /dev/null @@ -1,67 +0,0 @@ - -/** - * Module exports. - */ - -module.exports = deprecate; - -/** - * Mark that a method should not be used. - * Returns a modified function which warns once by default. - * - * If `localStorage.noDeprecation = true` is set, then it is a no-op. - * - * If `localStorage.throwDeprecation = true` is set, then deprecated functions - * will throw an Error when invoked. - * - * If `localStorage.traceDeprecation = true` is set, then deprecated functions - * will invoke `console.trace()` instead of `console.error()`. - * - * @param {Function} fn - the function to deprecate - * @param {String} msg - the string to print to the console when `fn` is invoked - * @returns {Function} a new "deprecated" version of `fn` - * @api public - */ - -function deprecate (fn, msg) { - if (config('noDeprecation')) { - return fn; - } - - var warned = false; - function deprecated() { - if (!warned) { - if (config('throwDeprecation')) { - throw new Error(msg); - } else if (config('traceDeprecation')) { - console.trace(msg); - } else { - console.warn(msg); - } - warned = true; - } - return fn.apply(this, arguments); - } - - return deprecated; -} - -/** - * Checks `localStorage` for boolean values for the given `name`. - * - * @param {String} name - * @returns {Boolean} - * @api private - */ - -function config (name) { - // accessing global.localStorage can trigger a DOMException in sandboxed iframes - try { - if (!global.localStorage) return false; - } catch (_) { - return false; - } - var val = global.localStorage[name]; - if (null == val) return false; - return String(val).toLowerCase() === 'true'; -} diff --git a/publi/node_modules/util-deprecate/node.js b/publi/node_modules/util-deprecate/node.js deleted file mode 100644 index 5e6fcff..0000000 --- a/publi/node_modules/util-deprecate/node.js +++ /dev/null @@ -1,6 +0,0 @@ - -/** - * For Node.js, simply re-export the core `util.deprecate` function. - */ - -module.exports = require('util').deprecate; diff --git a/publi/node_modules/util-deprecate/package.json b/publi/node_modules/util-deprecate/package.json deleted file mode 100644 index 43d301b..0000000 --- a/publi/node_modules/util-deprecate/package.json +++ /dev/null @@ -1,89 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "util-deprecate@~1.0.1", - "scope": null, - "escapedName": "util-deprecate", - "name": "util-deprecate", - "rawSpec": "~1.0.1", - "spec": ">=1.0.1 <1.1.0", - "type": "range" - }, - "/mnt/Data/bach/Documents/ola/OLA#3DOC/sys/node_modules/through2/node_modules/readable-stream" - ] - ], - "_from": "util-deprecate@>=1.0.1 <1.1.0", - "_id": "util-deprecate@1.0.2", - "_inCache": true, - "_location": "/util-deprecate", - "_nodeVersion": "4.1.2", - "_npmUser": { - "name": "tootallnate", - "email": "nathan@tootallnate.net" - }, - "_npmVersion": "2.14.4", - "_phantomChildren": {}, - "_requested": { - "raw": "util-deprecate@~1.0.1", - "scope": null, - "escapedName": "util-deprecate", - "name": "util-deprecate", - "rawSpec": "~1.0.1", - "spec": ">=1.0.1 <1.1.0", - "type": "range" - }, - "_requiredBy": [ - "/through2/readable-stream" - ], - "_resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "_shasum": "450d4dc9fa70de732762fbd2d4a28981419a0ccf", - "_shrinkwrap": null, - "_spec": "util-deprecate@~1.0.1", - "_where": "/mnt/Data/bach/Documents/ola/OLA#3DOC/sys/node_modules/through2/node_modules/readable-stream", - "author": { - "name": "Nathan Rajlich", - "email": "nathan@tootallnate.net", - "url": "http://n8.io/" - }, - "browser": "browser.js", - "bugs": { - "url": "https://github.com/TooTallNate/util-deprecate/issues" - }, - "dependencies": {}, - "description": "The Node.js `util.deprecate()` function with browser support", - "devDependencies": {}, - "directories": {}, - "dist": { - "shasum": "450d4dc9fa70de732762fbd2d4a28981419a0ccf", - "tarball": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" - }, - "gitHead": "475fb6857cd23fafff20c1be846c1350abf8e6d4", - "homepage": "https://github.com/TooTallNate/util-deprecate", - "keywords": [ - "util", - "deprecate", - "browserify", - "browser", - "node" - ], - "license": "MIT", - "main": "node.js", - "maintainers": [ - { - "name": "tootallnate", - "email": "nathan@tootallnate.net" - } - ], - "name": "util-deprecate", - "optionalDependencies": {}, - "readme": "ERROR: No README data found!", - "repository": { - "type": "git", - "url": "git://github.com/TooTallNate/util-deprecate.git" - }, - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - }, - "version": "1.0.2" -} diff --git a/publi/node_modules/uuid/.eslintrc.json b/publi/node_modules/uuid/.eslintrc.json deleted file mode 100644 index 638b0a5..0000000 --- a/publi/node_modules/uuid/.eslintrc.json +++ /dev/null @@ -1,46 +0,0 @@ -{ - "root": true, - "env": { - "browser": true, - "commonjs": true, - "node": true, - "mocha": true - }, - "extends": ["eslint:recommended"], - "installedESLint": true, - "rules": { - "array-bracket-spacing": ["warn", "never"], - "arrow-body-style": ["warn", "as-needed"], - "arrow-parens": ["warn", "as-needed"], - "arrow-spacing": "warn", - "brace-style": "warn", - "camelcase": "warn", - "comma-spacing": ["warn", {"after": true}], - "dot-notation": "warn", - "indent": ["warn", 2, { - "SwitchCase": 1, - "FunctionDeclaration": {"parameters": 1}, - "MemberExpression": 1, - "CallExpression": {"arguments": 1} - }], - "key-spacing": ["warn", {"beforeColon": false, "afterColon": true, "mode": "minimum"}], - "keyword-spacing": "warn", - "no-console": "off", - "no-empty": "off", - "no-multi-spaces": "warn", - "no-redeclare": "off", - "no-restricted-globals": ["warn", "Promise"], - "no-trailing-spaces": "warn", - "no-undef": "error", - "no-unused-vars": ["warn", {"args": "none"}], - "padded-blocks": ["warn", "never"], - "object-curly-spacing": ["warn", "never"], - "quotes": ["warn", "single"], - "react/prop-types": "off", - "react/jsx-no-bind": "off", - "semi": ["warn", "always"], - "space-before-blocks": ["warn", "always"], - "space-before-function-paren": ["warn", "never"], - "space-in-parens": ["warn", "never"] - } -} diff --git a/publi/node_modules/uuid/AUTHORS b/publi/node_modules/uuid/AUTHORS deleted file mode 100644 index 5a10523..0000000 --- a/publi/node_modules/uuid/AUTHORS +++ /dev/null @@ -1,5 +0,0 @@ -Robert Kieffer -Christoph Tavan -AJ ONeal -Vincent Voyer -Roman Shtylman diff --git a/publi/node_modules/uuid/HISTORY.md b/publi/node_modules/uuid/HISTORY.md deleted file mode 100644 index c6050ec..0000000 --- a/publi/node_modules/uuid/HISTORY.md +++ /dev/null @@ -1,28 +0,0 @@ -# 3.0.1 (2016-11-28) - - * split uuid versions into separate files - -# 3.0.0 (2016-11-17) - - * remove .parse and .unparse - -# 2.0.0 - - * Removed uuid.BufferClass - -# 1.4.0 - - * Improved module context detection - * Removed public RNG functions - -# 1.3.2 - - * Improve tests and handling of v1() options (Issue #24) - * Expose RNG option to allow for perf testing with different generators - -# 1.3.0 - - * Support for version 1 ids, thanks to [@ctavan](https://github.com/ctavan)! - * Support for node.js crypto API - * De-emphasizing performance in favor of a) cryptographic quality PRNGs where available and b) more manageable code - diff --git a/publi/node_modules/uuid/LICENSE.md b/publi/node_modules/uuid/LICENSE.md deleted file mode 100644 index 8c84e39..0000000 --- a/publi/node_modules/uuid/LICENSE.md +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2010-2016 Robert Kieffer 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. diff --git a/publi/node_modules/uuid/README.md b/publi/node_modules/uuid/README.md deleted file mode 100644 index 5adaa8f..0000000 --- a/publi/node_modules/uuid/README.md +++ /dev/null @@ -1,227 +0,0 @@ -# uuid [![Build Status](https://secure.travis-ci.org/kelektiv/node-uuid.svg?branch=master)](http://travis-ci.org/kelektiv/node-uuid) # - -Simple, fast generation of [RFC4122](http://www.ietf.org/rfc/rfc4122.txt) UUIDS. - -Features: - -* Support for version 1, 4 and 5 UUIDs -* Cross-platform -* Uses cryptographically-strong random number APIs (when available) -* Zero-dependency, small footprint (... but not [this small](https://gist.github.com/982883)) - -## Quickstart - CommonJS (Recommended) - -```shell -npm install uuid -``` - -Then generate your uuid version of choice ... - -Version 1 (timestamp): - -```javascript -const uuidv1 = require('uuid/v1'); -uuidv1(); // -> '6c84fb90-12c4-11e1-840d-7b25c5ee775a' -``` - -Version 4 (random): - -```javascript -const uuidv4 = require('uuid/v4'); -uuidv4(); // -> '110ec58a-a0f2-4ac4-8393-c866d813b8d1' -``` - -Version 5 (namespace): - -```javascript -const uuidv5 = require('uuid/v5'); - -// ... using predefined DNS namespace (for domain names) -uuidv5('hello.example.com', uuidv5.DNS)); // -> 'fdda765f-fc57-5604-a269-52a7df8164ec' - -// ... using predefined URL namespace (for, well, URLs) -uuidv5('http://example.com/hello', uuidv5.URL); // -> '3bbcee75-cecc-5b56-8031-b6641c1ed1f1' - -// ... using a custom namespace -const MY_NAMESPACE = ''; -uuidv5('Hello, World!', MY_NAMESPACE); // -> '90123e1c-7512-523e-bb28-76fab9f2f73d' -``` - -## Quickstart - Browser-ready Versions - -Browser-ready versions of this module are available via [wzrd.in](https://github.com/jfhbrook/wzrd.in). - -For version 1 uuids: - -```html - - -``` - -For version 4 uuids: - -```html - - -``` - -For version 5 uuids: - -```html - - -``` - -## API - -### Version 1 - -```javascript -const uuidv1 = require('uuid/v1'); - -// Allowed arguments -uuidv1(); -uuidv1(options); -uuidv1(options, buffer, offset); -``` - -Generate and return a RFC4122 v1 (timestamp-based) UUID. - -* `options` - (Object) Optional uuid state to apply. Properties may include: - - * `node` - (Array) Node id as Array of 6 bytes (per 4.1.6). Default: Randomly generated ID. See note 1. - * `clockseq` - (Number between 0 - 0x3fff) RFC clock sequence. Default: An internally maintained clockseq is used. - * `msecs` - (Number | Date) Time in milliseconds since unix Epoch. Default: The current time is used. - * `nsecs` - (Number between 0-9999) additional time, in 100-nanosecond units. Ignored if `msecs` is unspecified. Default: internal uuid counter is used, as per 4.2.1.2. - -* `buffer` - (Array | Buffer) Array or buffer where UUID bytes are to be written. -* `offset` - (Number) Starting index in `buffer` at which to begin writing. - -Returns `buffer`, if specified, otherwise the string form of the UUID - -Note: The id is generated guaranteed to stay constant for the lifetime of the current JS runtime. (Future versions of this module may use persistent storage mechanisms to extend this guarantee.) - -Example: Generate string UUID with fully-specified options - -```javascript -uuidv1({ - node: [0x01, 0x23, 0x45, 0x67, 0x89, 0xab], - clockseq: 0x1234, - msecs: new Date('2011-11-01').getTime(), - nsecs: 5678 -}); // -> "710b962e-041c-11e1-9234-0123456789ab" -``` - -Example: In-place generation of two binary IDs - -```javascript -// Generate two ids in an array -const arr = new Array(32); // -> [] -uuidv1(null, arr, 0); // -> [02 a2 ce 90 14 32 11 e1 85 58 0b 48 8e 4f c1 15] -uuidv1(null, arr, 16); // -> [02 a2 ce 90 14 32 11 e1 85 58 0b 48 8e 4f c1 15 02 a3 1c b0 14 32 11 e1 85 58 0b 48 8e 4f c1 15] -``` - -### Version 4 - -```javascript -const uuidv4 = require('uuid/v4') - -// Allowed arguments -uuidv4(); -uuidv4(options); -uuidv4(options, buffer, offset); -``` - -Generate and return a RFC4122 v4 UUID. - -* `options` - (Object) Optional uuid state to apply. Properties may include: - * `random` - (Number[16]) Array of 16 numbers (0-255) to use in place of randomly generated values - * `rng` - (Function) Random # generator function that returns an Array[16] of byte values (0-255) -* `buffer` - (Array | Buffer) Array or buffer where UUID bytes are to be written. -* `offset` - (Number) Starting index in `buffer` at which to begin writing. - -Returns `buffer`, if specified, otherwise the string form of the UUID - -Example: Generate string UUID with fully-specified options - -```javascript -uuid.v4({ - random: [ - 0x10, 0x91, 0x56, 0xbe, 0xc4, 0xfb, 0xc1, 0xea, - 0x71, 0xb4, 0xef, 0xe1, 0x67, 0x1c, 0x58, 0x36 - ] -}); -// -> "109156be-c4fb-41ea-b1b4-efe1671c5836" -``` - -Example: Generate two IDs in a single buffer - -```javascript -const buffer = new Array(32); // (or 'new Buffer' in node.js) -uuid.v4(null, buffer, 0); -uuid.v4(null, buffer, 16); -``` - -### Version 5 - -```javascript -const uuidv5 = require('uuid/v4'); - -// Allowed arguments -uuidv5(name, namespace); -uuidv5(name, namespace, buffer); -uuidv5(name, namespace, buffer, offset); -``` - -Generate and return a RFC4122 v4 UUID. - -* `name` - (String | Array[]) "name" to create UUID with -* `namespace` - (String | Array[]) "namespace" UUID either as a String or Array[16] of byte values -* `buffer` - (Array | Buffer) Array or buffer where UUID bytes are to be written. -* `offset` - (Number) Starting index in `buffer` at which to begin writing. Default = 0 - -Returns `buffer`, if specified, otherwise the string form of the UUID - -Example: - -```javascript -// Generate a unique namespace (typically you would do this once, outside of -// your project, then bake this value into your code) -const uuidv4 = require('uuid/v4'); -const MY_NAMESPACE = uuidv4(); // - -// Generate a couple namespace uuids -const uuidv5 = require('uuid/v5'); -uuidv5('hello', MY_NAMESPACE); -uuidv5('world', MY_NAMESPACE); -``` - -## Testing - -```shell -npm test -``` - -## Deprecated / Browser-ready API - -The API below is available for legacy purposes and is not expected to be available post-3.X - -```javascript -const uuid = require('uuid'); - -uuid.v1(...); // alias of uuid/v1 -uuid.v4(...); // alias of uuid/v4 -uuid(...); // alias of uuid/v4 - -// uuid.v5() is not supported in this API -``` - -## Legacy node-uuid package - -The code for the legacy node-uuid package is available in the `node-uuid` branch. diff --git a/publi/node_modules/uuid/bin/uuid b/publi/node_modules/uuid/bin/uuid deleted file mode 100755 index 2fd26d7..0000000 --- a/publi/node_modules/uuid/bin/uuid +++ /dev/null @@ -1,50 +0,0 @@ -#!/usr/bin/env node -var assert = require('assert'); - -function usage() { - console.log('Usage:'); - console.log(' uuid'); - console.log(' uuid v1'); - console.log(' uuid v4'); - console.log(' uuid v5 '); - console.log(' uuid --help'); - console.log('\nNote: may be "URL" or "DNS" to use the corresponding UUIDs defined by RFC4122'); -} - -var args = process.argv.slice(2); - -if (args.indexOf('--help') >= 0) { - usage(); - process.exit(0); -} -var version = args.shift() || 'v4'; - -switch (version) { - case 'v1': - var uuidV1 = require('../v1'); - console.log(uuidV1()); - break; - - case 'v4': - var uuidV4 = require('../v4'); - console.log(uuidV4()); - break; - - case 'v5': - var uuidV5 = require('../v5'); - - var name = args.shift(); - var namespace = args.shift(); - assert(name != null, 'v5 name not specified'); - assert(namespace != null, 'v5 namespace not specified'); - - if (namespace == 'URL') namespace = uuidV5.URL; - if (namespace == 'DNS') namespace = uuidV5.DNS; - - console.log(uuidV5(name, namespace)); - break; - - default: - usage(); - process.exit(1); -} diff --git a/publi/node_modules/uuid/index.js b/publi/node_modules/uuid/index.js deleted file mode 100644 index e96791a..0000000 --- a/publi/node_modules/uuid/index.js +++ /dev/null @@ -1,8 +0,0 @@ -var v1 = require('./v1'); -var v4 = require('./v4'); - -var uuid = v4; -uuid.v1 = v1; -uuid.v4 = v4; - -module.exports = uuid; diff --git a/publi/node_modules/uuid/lib/bytesToUuid.js b/publi/node_modules/uuid/lib/bytesToUuid.js deleted file mode 100644 index 2c9a223..0000000 --- a/publi/node_modules/uuid/lib/bytesToUuid.js +++ /dev/null @@ -1,23 +0,0 @@ -/** - * Convert array of 16 byte values to UUID string format of the form: - * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX - */ -var byteToHex = []; -for (var i = 0; i < 256; ++i) { - byteToHex[i] = (i + 0x100).toString(16).substr(1); -} - -function bytesToUuid(buf, offset) { - var i = offset || 0; - var bth = byteToHex; - return bth[buf[i++]] + bth[buf[i++]] + - bth[buf[i++]] + bth[buf[i++]] + '-' + - bth[buf[i++]] + bth[buf[i++]] + '-' + - bth[buf[i++]] + bth[buf[i++]] + '-' + - bth[buf[i++]] + bth[buf[i++]] + '-' + - bth[buf[i++]] + bth[buf[i++]] + - bth[buf[i++]] + bth[buf[i++]] + - bth[buf[i++]] + bth[buf[i++]]; -} - -module.exports = bytesToUuid; diff --git a/publi/node_modules/uuid/lib/rng-browser.js b/publi/node_modules/uuid/lib/rng-browser.js deleted file mode 100644 index ac39b12..0000000 --- a/publi/node_modules/uuid/lib/rng-browser.js +++ /dev/null @@ -1,33 +0,0 @@ -// Unique ID creation requires a high quality random # generator. In the -// browser this is a little complicated due to unknown quality of Math.random() -// and inconsistent support for the `crypto` API. We do the best we can via -// feature-detection -var rng; - -var crypto = global.crypto || global.msCrypto; // for IE 11 -if (crypto && crypto.getRandomValues) { - // WHATWG crypto RNG - http://wiki.whatwg.org/wiki/Crypto - var rnds8 = new Uint8Array(16); // eslint-disable-line no-undef - rng = function whatwgRNG() { - crypto.getRandomValues(rnds8); - return rnds8; - }; -} - -if (!rng) { - // Math.random()-based (RNG) - // - // If all else fails, use Math.random(). It's fast, but is of unspecified - // quality. - var rnds = new Array(16); - rng = function() { - for (var i = 0, r; i < 16; i++) { - if ((i & 0x03) === 0) r = Math.random() * 0x100000000; - rnds[i] = r >>> ((i & 0x03) << 3) & 0xff; - } - - return rnds; - }; -} - -module.exports = rng; diff --git a/publi/node_modules/uuid/lib/rng.js b/publi/node_modules/uuid/lib/rng.js deleted file mode 100644 index 4a0182f..0000000 --- a/publi/node_modules/uuid/lib/rng.js +++ /dev/null @@ -1,10 +0,0 @@ -// Unique ID creation requires a high quality random # generator. In node.js -// this is pretty straight-forward - we use the crypto API. - -var rb = require('crypto').randomBytes; - -function rng() { - return rb(16); -} - -module.exports = rng; diff --git a/publi/node_modules/uuid/lib/sha1-browser.js b/publi/node_modules/uuid/lib/sha1-browser.js deleted file mode 100644 index dbc3184..0000000 --- a/publi/node_modules/uuid/lib/sha1-browser.js +++ /dev/null @@ -1,85 +0,0 @@ -// Adapted from Chris Veness' SHA1 code at -// http://www.movable-type.co.uk/scripts/sha1.html -'use strict'; - -function f(s, x, y, z) { - switch (s) { - case 0: return (x & y) ^ (~x & z); - case 1: return x ^ y ^ z; - case 2: return (x & y) ^ (x & z) ^ (y & z); - case 3: return x ^ y ^ z; - } -} - -function ROTL(x, n) { - return (x << n) | (x>>> (32 - n)); -} - -function sha1(bytes) { - var K = [0x5a827999, 0x6ed9eba1, 0x8f1bbcdc, 0xca62c1d6]; - var H = [0x67452301, 0xefcdab89, 0x98badcfe, 0x10325476, 0xc3d2e1f0]; - - if (typeof(bytes) == 'string') { - var msg = unescape(encodeURIComponent(bytes)); // UTF8 escape - bytes = new Array(msg.length); - for (var i = 0; i < msg.length; i++) bytes[i] = msg.charCodeAt(i); - } - - bytes.push(0x80); - - var l = bytes.length/4 + 2; - var N = Math.ceil(l/16); - var M = new Array(N); - - for (var i=0; i>> 0; - e = d; - d = c; - c = ROTL(b, 30) >>> 0; - b = a; - a = T; - } - - H[0] = (H[0] + a) >>> 0; - H[1] = (H[1] + b) >>> 0; - H[2] = (H[2] + c) >>> 0; - H[3] = (H[3] + d) >>> 0; - H[4] = (H[4] + e) >>> 0; - } - - return [ - H[0] >> 24 & 0xff, H[0] >> 16 & 0xff, H[0] >> 8 & 0xff, H[0] & 0xff, - H[1] >> 24 & 0xff, H[1] >> 16 & 0xff, H[1] >> 8 & 0xff, H[1] & 0xff, - H[2] >> 24 & 0xff, H[2] >> 16 & 0xff, H[2] >> 8 & 0xff, H[2] & 0xff, - H[3] >> 24 & 0xff, H[3] >> 16 & 0xff, H[3] >> 8 & 0xff, H[3] & 0xff, - H[4] >> 24 & 0xff, H[4] >> 16 & 0xff, H[4] >> 8 & 0xff, H[4] & 0xff - ]; -} - -module.exports = sha1; diff --git a/publi/node_modules/uuid/lib/sha1.js b/publi/node_modules/uuid/lib/sha1.js deleted file mode 100644 index e8771ce..0000000 --- a/publi/node_modules/uuid/lib/sha1.js +++ /dev/null @@ -1,21 +0,0 @@ -'use strict'; - -var crypto = require('crypto'); - -function sha1(bytes) { - // support modern Buffer API - if (typeof Buffer.from === 'function') { - if (Array.isArray(bytes)) bytes = Buffer.from(bytes); - else if (typeof bytes === 'string') bytes = Buffer.from(bytes, 'utf8'); - } - - // support pre-v4 Buffer API - else { - if (Array.isArray(bytes)) bytes = new Buffer(bytes); - else if (typeof bytes === 'string') bytes = new Buffer(bytes, 'utf8'); - } - - return crypto.createHash('sha1').update(bytes).digest(); -} - -module.exports = sha1; diff --git a/publi/node_modules/uuid/package.json b/publi/node_modules/uuid/package.json deleted file mode 100644 index f3ffda4..0000000 --- a/publi/node_modules/uuid/package.json +++ /dev/null @@ -1,125 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "uuid@^3.0.0", - "scope": null, - "escapedName": "uuid", - "name": "uuid", - "rawSpec": "^3.0.0", - "spec": ">=3.0.0 <4.0.0", - "type": "range" - }, - "/mnt/Data/bach/Documents/ola/OLA#4/OLA#4DOC/sys/node_modules/request" - ] - ], - "_from": "uuid@>=3.0.0 <4.0.0", - "_id": "uuid@3.1.0", - "_inCache": true, - "_location": "/uuid", - "_nodeVersion": "7.10.0", - "_npmOperationalInternal": { - "host": "s3://npm-registry-packages", - "tmp": "tmp/uuid-3.1.0.tgz_1497635691778_0.6424044836312532" - }, - "_npmUser": { - "name": "broofa", - "email": "robert@broofa.com" - }, - "_npmVersion": "5.0.3", - "_phantomChildren": {}, - "_requested": { - "raw": "uuid@^3.0.0", - "scope": null, - "escapedName": "uuid", - "name": "uuid", - "rawSpec": "^3.0.0", - "spec": ">=3.0.0 <4.0.0", - "type": "range" - }, - "_requiredBy": [ - "/request" - ], - "_resolved": "https://registry.npmjs.org/uuid/-/uuid-3.1.0.tgz", - "_shasum": "3dd3d3e790abc24d7b0d3a034ffababe28ebbc04", - "_shrinkwrap": null, - "_spec": "uuid@^3.0.0", - "_where": "/mnt/Data/bach/Documents/ola/OLA#4/OLA#4DOC/sys/node_modules/request", - "bin": { - "uuid": "./bin/uuid" - }, - "browser": { - "./lib/rng.js": "./lib/rng-browser.js", - "./lib/sha1.js": "./lib/sha1-browser.js" - }, - "bugs": { - "url": "https://github.com/kelektiv/node-uuid/issues" - }, - "contributors": [ - { - "name": "Robert Kieffer", - "email": "robert@broofa.com" - }, - { - "name": "Christoph Tavan", - "email": "dev@tavan.de" - }, - { - "name": "AJ ONeal", - "email": "coolaj86@gmail.com" - }, - { - "name": "Vincent Voyer", - "email": "vincent@zeroload.net" - }, - { - "name": "Roman Shtylman", - "email": "shtylman@gmail.com" - } - ], - "dependencies": {}, - "description": "RFC4122 (v1, v4, and v5) UUIDs", - "devDependencies": { - "mocha": "3.1.2" - }, - "directories": {}, - "dist": { - "integrity": "sha512-DIWtzUkw04M4k3bf1IcpS2tngXEL26YUD2M0tMDUpnUrz2hgzUBlD55a4FjdLGPvfHxS6uluGWvaVEqgBcVa+g==", - "shasum": "3dd3d3e790abc24d7b0d3a034ffababe28ebbc04", - "tarball": "https://registry.npmjs.org/uuid/-/uuid-3.1.0.tgz" - }, - "gitHead": "c50ac88f098ecfbff9a940816c8e6825ffd7e05a", - "homepage": "https://github.com/kelektiv/node-uuid#readme", - "keywords": [ - "uuid", - "guid", - "rfc4122" - ], - "license": "MIT", - "maintainers": [ - { - "name": "broofa", - "email": "robert@broofa.com" - }, - { - "name": "defunctzombie", - "email": "shtylman@gmail.com" - }, - { - "name": "vvo", - "email": "vincent.voyer@gmail.com" - } - ], - "name": "uuid", - "optionalDependencies": {}, - "readme": "# uuid [![Build Status](https://secure.travis-ci.org/kelektiv/node-uuid.svg?branch=master)](http://travis-ci.org/kelektiv/node-uuid) #\n\nSimple, fast generation of [RFC4122](http://www.ietf.org/rfc/rfc4122.txt) UUIDS.\n\nFeatures:\n\n* Support for version 1, 4 and 5 UUIDs\n* Cross-platform\n* Uses cryptographically-strong random number APIs (when available)\n* Zero-dependency, small footprint (... but not [this small](https://gist.github.com/982883))\n\n## Quickstart - CommonJS (Recommended)\n\n```shell\nnpm install uuid\n```\n\nThen generate your uuid version of choice ...\n\nVersion 1 (timestamp):\n\n```javascript\nconst uuidv1 = require('uuid/v1');\nuuidv1(); // -> '6c84fb90-12c4-11e1-840d-7b25c5ee775a'\n```\n\nVersion 4 (random):\n\n```javascript\nconst uuidv4 = require('uuid/v4');\nuuidv4(); // -> '110ec58a-a0f2-4ac4-8393-c866d813b8d1'\n```\n\nVersion 5 (namespace):\n\n```javascript\nconst uuidv5 = require('uuid/v5');\n\n// ... using predefined DNS namespace (for domain names)\nuuidv5('hello.example.com', uuidv5.DNS)); // -> 'fdda765f-fc57-5604-a269-52a7df8164ec'\n\n// ... using predefined URL namespace (for, well, URLs)\nuuidv5('http://example.com/hello', uuidv5.URL); // -> '3bbcee75-cecc-5b56-8031-b6641c1ed1f1'\n\n// ... using a custom namespace\nconst MY_NAMESPACE = '';\nuuidv5('Hello, World!', MY_NAMESPACE); // -> '90123e1c-7512-523e-bb28-76fab9f2f73d'\n```\n\n## Quickstart - Browser-ready Versions\n\nBrowser-ready versions of this module are available via [wzrd.in](https://github.com/jfhbrook/wzrd.in).\n\nFor version 1 uuids:\n\n```html\n\n\n```\n\nFor version 4 uuids:\n\n```html\n\n\n```\n\nFor version 5 uuids:\n\n```html\n\n\n```\n\n## API\n\n### Version 1\n\n```javascript\nconst uuidv1 = require('uuid/v1');\n\n// Allowed arguments\nuuidv1();\nuuidv1(options);\nuuidv1(options, buffer, offset);\n```\n\nGenerate and return a RFC4122 v1 (timestamp-based) UUID.\n\n* `options` - (Object) Optional uuid state to apply. Properties may include:\n\n * `node` - (Array) Node id as Array of 6 bytes (per 4.1.6). Default: Randomly generated ID. See note 1.\n * `clockseq` - (Number between 0 - 0x3fff) RFC clock sequence. Default: An internally maintained clockseq is used.\n * `msecs` - (Number | Date) Time in milliseconds since unix Epoch. Default: The current time is used.\n * `nsecs` - (Number between 0-9999) additional time, in 100-nanosecond units. Ignored if `msecs` is unspecified. Default: internal uuid counter is used, as per 4.2.1.2.\n\n* `buffer` - (Array | Buffer) Array or buffer where UUID bytes are to be written.\n* `offset` - (Number) Starting index in `buffer` at which to begin writing.\n\nReturns `buffer`, if specified, otherwise the string form of the UUID\n\nNote: The id is generated guaranteed to stay constant for the lifetime of the current JS runtime. (Future versions of this module may use persistent storage mechanisms to extend this guarantee.)\n\nExample: Generate string UUID with fully-specified options\n\n```javascript\nuuidv1({\n node: [0x01, 0x23, 0x45, 0x67, 0x89, 0xab],\n clockseq: 0x1234,\n msecs: new Date('2011-11-01').getTime(),\n nsecs: 5678\n}); // -> \"710b962e-041c-11e1-9234-0123456789ab\"\n```\n\nExample: In-place generation of two binary IDs\n\n```javascript\n// Generate two ids in an array\nconst arr = new Array(32); // -> []\nuuidv1(null, arr, 0); // -> [02 a2 ce 90 14 32 11 e1 85 58 0b 48 8e 4f c1 15]\nuuidv1(null, arr, 16); // -> [02 a2 ce 90 14 32 11 e1 85 58 0b 48 8e 4f c1 15 02 a3 1c b0 14 32 11 e1 85 58 0b 48 8e 4f c1 15]\n```\n\n### Version 4\n\n```javascript\nconst uuidv4 = require('uuid/v4')\n\n// Allowed arguments\nuuidv4();\nuuidv4(options);\nuuidv4(options, buffer, offset);\n```\n\nGenerate and return a RFC4122 v4 UUID.\n\n* `options` - (Object) Optional uuid state to apply. Properties may include:\n * `random` - (Number[16]) Array of 16 numbers (0-255) to use in place of randomly generated values\n * `rng` - (Function) Random # generator function that returns an Array[16] of byte values (0-255)\n* `buffer` - (Array | Buffer) Array or buffer where UUID bytes are to be written.\n* `offset` - (Number) Starting index in `buffer` at which to begin writing.\n\nReturns `buffer`, if specified, otherwise the string form of the UUID\n\nExample: Generate string UUID with fully-specified options\n\n```javascript\nuuid.v4({\n random: [\n 0x10, 0x91, 0x56, 0xbe, 0xc4, 0xfb, 0xc1, 0xea,\n 0x71, 0xb4, 0xef, 0xe1, 0x67, 0x1c, 0x58, 0x36\n ]\n});\n// -> \"109156be-c4fb-41ea-b1b4-efe1671c5836\"\n```\n\nExample: Generate two IDs in a single buffer\n\n```javascript\nconst buffer = new Array(32); // (or 'new Buffer' in node.js)\nuuid.v4(null, buffer, 0);\nuuid.v4(null, buffer, 16);\n```\n\n### Version 5\n\n```javascript\nconst uuidv5 = require('uuid/v4');\n\n// Allowed arguments\nuuidv5(name, namespace);\nuuidv5(name, namespace, buffer);\nuuidv5(name, namespace, buffer, offset);\n```\n\nGenerate and return a RFC4122 v4 UUID.\n\n* `name` - (String | Array[]) \"name\" to create UUID with\n* `namespace` - (String | Array[]) \"namespace\" UUID either as a String or Array[16] of byte values\n* `buffer` - (Array | Buffer) Array or buffer where UUID bytes are to be written.\n* `offset` - (Number) Starting index in `buffer` at which to begin writing. Default = 0\n\nReturns `buffer`, if specified, otherwise the string form of the UUID\n\nExample:\n\n```javascript\n// Generate a unique namespace (typically you would do this once, outside of\n// your project, then bake this value into your code)\nconst uuidv4 = require('uuid/v4');\nconst MY_NAMESPACE = uuidv4(); //\n\n// Generate a couple namespace uuids\nconst uuidv5 = require('uuid/v5');\nuuidv5('hello', MY_NAMESPACE);\nuuidv5('world', MY_NAMESPACE);\n```\n\n## Testing\n\n```shell\nnpm test\n```\n\n## Deprecated / Browser-ready API\n\nThe API below is available for legacy purposes and is not expected to be available post-3.X\n\n```javascript\nconst uuid = require('uuid');\n\nuuid.v1(...); // alias of uuid/v1\nuuid.v4(...); // alias of uuid/v4\nuuid(...); // alias of uuid/v4\n\n// uuid.v5() is not supported in this API\n```\n\n## Legacy node-uuid package\n\nThe code for the legacy node-uuid package is available in the `node-uuid` branch.\n", - "readmeFilename": "README.md", - "repository": { - "type": "git", - "url": "git+https://github.com/kelektiv/node-uuid.git" - }, - "scripts": { - "test": "mocha test/test.js" - }, - "version": "3.1.0" -} diff --git a/publi/node_modules/uuid/v1.js b/publi/node_modules/uuid/v1.js deleted file mode 100644 index 613f67e..0000000 --- a/publi/node_modules/uuid/v1.js +++ /dev/null @@ -1,100 +0,0 @@ -var rng = require('./lib/rng'); -var bytesToUuid = require('./lib/bytesToUuid'); - -// **`v1()` - Generate time-based UUID** -// -// Inspired by https://github.com/LiosK/UUID.js -// and http://docs.python.org/library/uuid.html - -// random #'s we need to init node and clockseq -var _seedBytes = rng(); - -// Per 4.5, create and 48-bit node id, (47 random bits + multicast bit = 1) -var _nodeId = [ - _seedBytes[0] | 0x01, - _seedBytes[1], _seedBytes[2], _seedBytes[3], _seedBytes[4], _seedBytes[5] -]; - -// Per 4.2.2, randomize (14 bit) clockseq -var _clockseq = (_seedBytes[6] << 8 | _seedBytes[7]) & 0x3fff; - -// Previous uuid creation time -var _lastMSecs = 0, _lastNSecs = 0; - -// See https://github.com/broofa/node-uuid for API details -function v1(options, buf, offset) { - var i = buf && offset || 0; - var b = buf || []; - - options = options || {}; - - var clockseq = options.clockseq !== undefined ? options.clockseq : _clockseq; - - // UUID timestamps are 100 nano-second units since the Gregorian epoch, - // (1582-10-15 00:00). JSNumbers aren't precise enough for this, so - // time is handled internally as 'msecs' (integer milliseconds) and 'nsecs' - // (100-nanoseconds offset from msecs) since unix epoch, 1970-01-01 00:00. - var msecs = options.msecs !== undefined ? options.msecs : new Date().getTime(); - - // Per 4.2.1.2, use count of uuid's generated during the current clock - // cycle to simulate higher resolution clock - var nsecs = options.nsecs !== undefined ? options.nsecs : _lastNSecs + 1; - - // Time since last uuid creation (in msecs) - var dt = (msecs - _lastMSecs) + (nsecs - _lastNSecs)/10000; - - // Per 4.2.1.2, Bump clockseq on clock regression - if (dt < 0 && options.clockseq === undefined) { - clockseq = clockseq + 1 & 0x3fff; - } - - // Reset nsecs if clock regresses (new clockseq) or we've moved onto a new - // time interval - if ((dt < 0 || msecs > _lastMSecs) && options.nsecs === undefined) { - nsecs = 0; - } - - // Per 4.2.1.2 Throw error if too many uuids are requested - if (nsecs >= 10000) { - throw new Error('uuid.v1(): Can\'t create more than 10M uuids/sec'); - } - - _lastMSecs = msecs; - _lastNSecs = nsecs; - _clockseq = clockseq; - - // Per 4.1.4 - Convert from unix epoch to Gregorian epoch - msecs += 12219292800000; - - // `time_low` - var tl = ((msecs & 0xfffffff) * 10000 + nsecs) % 0x100000000; - b[i++] = tl >>> 24 & 0xff; - b[i++] = tl >>> 16 & 0xff; - b[i++] = tl >>> 8 & 0xff; - b[i++] = tl & 0xff; - - // `time_mid` - var tmh = (msecs / 0x100000000 * 10000) & 0xfffffff; - b[i++] = tmh >>> 8 & 0xff; - b[i++] = tmh & 0xff; - - // `time_high_and_version` - b[i++] = tmh >>> 24 & 0xf | 0x10; // include version - b[i++] = tmh >>> 16 & 0xff; - - // `clock_seq_hi_and_reserved` (Per 4.2.2 - include variant) - b[i++] = clockseq >>> 8 | 0x80; - - // `clock_seq_low` - b[i++] = clockseq & 0xff; - - // `node` - var node = options.node || _nodeId; - for (var n = 0; n < 6; ++n) { - b[i + n] = node[n]; - } - - return buf ? buf : bytesToUuid(b); -} - -module.exports = v1; diff --git a/publi/node_modules/uuid/v4.js b/publi/node_modules/uuid/v4.js deleted file mode 100644 index 38b6f76..0000000 --- a/publi/node_modules/uuid/v4.js +++ /dev/null @@ -1,29 +0,0 @@ -var rng = require('./lib/rng'); -var bytesToUuid = require('./lib/bytesToUuid'); - -function v4(options, buf, offset) { - var i = buf && offset || 0; - - if (typeof(options) == 'string') { - buf = options == 'binary' ? new Array(16) : null; - options = null; - } - options = options || {}; - - var rnds = options.random || (options.rng || rng)(); - - // Per 4.4, set bits for version and `clock_seq_hi_and_reserved` - rnds[6] = (rnds[6] & 0x0f) | 0x40; - rnds[8] = (rnds[8] & 0x3f) | 0x80; - - // Copy bytes to buffer, if provided - if (buf) { - for (var ii = 0; ii < 16; ++ii) { - buf[i + ii] = rnds[ii]; - } - } - - return buf || bytesToUuid(rnds); -} - -module.exports = v4; diff --git a/publi/node_modules/uuid/v5.js b/publi/node_modules/uuid/v5.js deleted file mode 100644 index 39cc35e..0000000 --- a/publi/node_modules/uuid/v5.js +++ /dev/null @@ -1,42 +0,0 @@ -var sha1 = require('./lib/sha1-browser'); -var bytesToUuid = require('./lib/bytesToUuid'); - -function uuidToBytes(uuid) { - // Note: We assume we're being passed a valid uuid string - var bytes = []; - uuid.replace(/[a-fA-F0-9]{2}/g, function(hex) { - bytes.push(parseInt(hex, 16)); - }); - - return bytes; -} - -function stringToBytes(str) { - str = unescape(encodeURIComponent(str)); // UTF8 escape - var bytes = new Array(str.length); - for (var i = 0; i < str.length; i++) { - bytes[i] = str.charCodeAt(i); - } - return bytes; -} - -function v5(name, namespace, buf, offset) { - if (typeof(name) == 'string') name = stringToBytes(name); - if (typeof(namespace) == 'string') namespace = uuidToBytes(namespace); - - if (!Array.isArray(name)) throw TypeError('name must be an array of bytes'); - if (!Array.isArray(namespace) || namespace.length != 16) throw TypeError('namespace must be uuid string or an Array of 16 byte values'); - - // Per 4.3 - var bytes = sha1(namespace.concat(name)); - bytes[6] = (bytes[6] & 0x0f) | 0x50; - bytes[8] = (bytes[8] & 0x3f) | 0x80; - - return buf || bytesToUuid(bytes); -} - -// Pre-defined namespaces, per Appendix C -v5.DNS = '6ba7b810-9dad-11d1-80b4-00c04fd430c8'; -v5.URL = '6ba7b811-9dad-11d1-80b4-00c04fd430c8'; - -module.exports = v5; diff --git a/publi/node_modules/v8flags/.npmignore b/publi/node_modules/v8flags/.npmignore deleted file mode 100644 index ae16e5f..0000000 --- a/publi/node_modules/v8flags/.npmignore +++ /dev/null @@ -1,4 +0,0 @@ -*.yml -LICENSE -README.md -test.js diff --git a/publi/node_modules/v8flags/LICENSE b/publi/node_modules/v8flags/LICENSE deleted file mode 100644 index a55f5b7..0000000 --- a/publi/node_modules/v8flags/LICENSE +++ /dev/null @@ -1,22 +0,0 @@ -Copyright (c) 2014 Tyler Kellen - -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/publi/node_modules/v8flags/README.md b/publi/node_modules/v8flags/README.md deleted file mode 100644 index ca6065b..0000000 --- a/publi/node_modules/v8flags/README.md +++ /dev/null @@ -1,49 +0,0 @@ -# v8flags [![Build Status](https://secure.travis-ci.org/js-cli/js-v8flags.png)](http://travis-ci.org/js-cli/js-v8flags) [![Build status](https://ci.appveyor.com/api/projects/status/9psgmwayx9kpol1a?svg=true)](https://ci.appveyor.com/project/js-cli/js-v8flags) -> Get available v8 flags. - -[![NPM](https://nodei.co/npm/v8flags.png)](https://nodei.co/npm/v8flags/) - -## Example -```js -const v8flags = require('v8flags'); - -v8flags(function (err, results) { - console.log(results); // [ '--use_strict', - // '--es5_readonly', - // '--es52_globals', - // '--harmony_typeof', - // '--harmony_scoping', - // '--harmony_modules', - // '--harmony_proxies', - // '--harmony_collections', - // '--harmony', - // ... -}); -``` - -## Release History - -* 2017-04-18 - v2.1.0 - hash username to support invalid path characters -* 2017-03-31 - v2.0.12 - don't pollute global namespace -* 2015-12-07 - v2.0.11 - cache to temp directory if home is present but unwritable -* 2015-07-28 - v2.0.10 - don't throw for electron runtime, just call back with empty array -* 2015-06-25 - v2.0.9 - call back with flags even if cache file can't be written -* 2015-06-15 - v2.0.7 - revert to 2.0.5 behavior. -* 2015-06-15 - v2.0.6 - store cache file in ~/.cache or ~/AppData/Local depending on platform -* 2015-04-18 - v2.0.5 - attempt to require config file, if this throws for any reason, fopen w+ and re-create -* 2015-04-16 - v2.0.4 - when concurrent processes are run and no config exists, don't append to the cached config. -* 2015-03-31 - v2.0.3 - prefer to store config files in user home over tmp -* 2015-01-18 - v2.0.2 - keep his dark tentacles contained -* 2015-01-15 - v2.0.1 - store temp file in `os.tmpdir()`, drop support for node 0.8 -* 2015-01-15 - v2.0.0 - make the stupid thing async -* 2014-12-22 - v1.0.8 - exclude `--help` flag -* 2014-12-20 - v1.0.7 - pre-cache flags for every version of node from 0.8 to 0.11 -* 2014-12-09 - v1.0.6 - revert to 1.0.0 behavior -* 2014-11-26 - v1.0.5 - get node executable from `process.execPath` -* 2014-11-18 - v1.0.4 - wrap node executable path in quotes -* 2014-11-17 - v1.0.3 - get node executable during npm install via `process.env.NODE` -* 2014-11-17 - v1.0.2 - get node executable from `process.env._` -* 2014-09-03 - v1.0.0 - first major version release -* 2014-09-02 - v0.3.0 - keep -- in flag names -* 2014-09-02 - v0.2.0 - cache flags -* 2014-05-09 - v0.1.0 - initial release diff --git a/publi/node_modules/v8flags/index.js b/publi/node_modules/v8flags/index.js deleted file mode 100644 index 40404d0..0000000 --- a/publi/node_modules/v8flags/index.js +++ /dev/null @@ -1,133 +0,0 @@ -// this entire module is depressing. i should have spent my time learning -// how to patch v8 so that these options would just be available on the -// process object. - -const os = require('os'); -const fs = require('fs'); -const path = require('path'); -const crypto = require('crypto'); -const execFile = require('child_process').execFile; -const env = process.env; -const user = env.LOGNAME || env.USER || env.LNAME || env.USERNAME || ''; -const exclusions = ['--help']; - -const configfile = '.v8flags.'+process.versions.v8+'.'+crypto.createHash('md5').update(user).digest('hex')+'.json'; - -const failureMessage = [ - 'Unable to cache a config file for v8flags to a your home directory', - 'or a temporary folder. To fix this problem, please correct your', - 'environment by setting HOME=/path/to/home or TEMP=/path/to/temp.', - 'NOTE: the user running this must be able to access provided path.', - 'If all else fails, please open an issue here:', - 'http://github.com/tkellen/js-v8flags' -].join('\n'); - -function fail (err) { - err.message += '\n\n' + failureMessage; - return err; -} - -function openConfig (cb) { - var userHome = require('user-home'); - if (!userHome) { - return tryOpenConfig(path.join(os.tmpdir(), configfile), cb); - } - - tryOpenConfig(path.join(userHome, configfile), function (err, fd) { - if (err) return tryOpenConfig(path.join(os.tmpdir(), configfile), cb); - return cb(null, fd); - }); -} - -function tryOpenConfig (configpath, cb) { - try { - // if the config file is valid, it should be json and therefore - // node should be able to require it directly. if this doesn't - // throw, we're done! - var content = require(configpath); - process.nextTick(function () { - cb(null, content); - }); - } catch (e) { - // if requiring the config file failed, maybe it doesn't exist, or - // perhaps it has become corrupted. instead of calling back with the - // content of the file, call back with a file descriptor that we can - // write the cached data to - fs.open(configpath, 'w+', function (err, fd) { - if (err) { - return cb(err); - } - return cb(null, fd); - }); - } -} - -// i can't wait for the day this whole module is obsolete because these -// options are available on the process object. this executes node with -// `--v8-options` and parses the result, returning an array of command -// line flags. -function getFlags (cb) { - execFile(process.execPath, ['--v8-options'], function (execErr, result) { - if (execErr) { - return cb(execErr); - } - var flags = result.match(/\s\s--(\w+)/gm).map(function (match) { - return match.substring(2); - }).filter(function (name) { - return exclusions.indexOf(name) === -1; - }); - return cb(null, flags); - }); -} - -// write some json to a file descriptor. if this fails, call back -// with both the error and the data that was meant to be written. -function writeConfig (fd, flags, cb) { - var buf = new Buffer(JSON.stringify(flags)); - return fs.write(fd, buf, 0, buf.length, 0 , function (writeErr) { - fs.close(fd, function (closeErr) { - var err = writeErr || closeErr; - if (err) { - return cb(fail(err), flags); - } - return cb(null, flags); - }); - }); -} - -module.exports = function (cb) { - // bail early if this is not node - var isElectron = process.versions && process.versions.electron; - if (isElectron) { - return process.nextTick(function () { - cb(null, []); - }); - } - - // attempt to open/read cache file - openConfig(function (openErr, result) { - if (!openErr && typeof result !== 'number') { - return cb(null, result); - } - // if the result is not an array, we need to go fetch - // the flags by invoking node with `--v8-options` - getFlags(function (flagsErr, flags) { - // if there was an error fetching the flags, bail immediately - if (flagsErr) { - return cb(flagsErr); - } - // if there was a problem opening the config file for writing - // throw an error but include the flags anyway so that users - // can continue to execute (at the expense of having to fetch - // flags on every run until they fix the underyling problem). - if (openErr) { - return cb(fail(openErr), flags); - } - // write the config file to disk so subsequent runs can read - // flags out of a cache file. - return writeConfig(result, flags, cb); - }); - }); -}; - -module.exports.configfile = configfile; diff --git a/publi/node_modules/v8flags/package.json b/publi/node_modules/v8flags/package.json deleted file mode 100644 index f08edec..0000000 --- a/publi/node_modules/v8flags/package.json +++ /dev/null @@ -1,67 +0,0 @@ -{ - "_from": "v8flags@^2.0.2", - "_id": "v8flags@2.1.1", - "_inBundle": false, - "_integrity": "sha1-qrGh+jDUX4jdMhFIh1rALAtV5bQ=", - "_location": "/v8flags", - "_phantomChildren": {}, - "_requested": { - "type": "range", - "registry": true, - "raw": "v8flags@^2.0.2", - "name": "v8flags", - "escapedName": "v8flags", - "rawSpec": "^2.0.2", - "saveSpec": null, - "fetchSpec": "^2.0.2" - }, - "_requiredBy": [ - "/gulp" - ], - "_resolved": "https://registry.npmjs.org/v8flags/-/v8flags-2.1.1.tgz", - "_shasum": "aab1a1fa30d45f88dd321148875ac02c0b55e5b4", - "_spec": "v8flags@^2.0.2", - "_where": "/mnt/Data/bach/Documents/ola/OLA#5/ola5doc/publi/node_modules/gulp", - "author": { - "name": "Tyler Kellen", - "url": "http://goingslowly.com/" - }, - "bugs": { - "url": "https://github.com/tkellen/node-v8flags/issues" - }, - "bundleDependencies": false, - "dependencies": { - "user-home": "^1.1.1" - }, - "deprecated": false, - "description": "Get available v8 flags.", - "devDependencies": { - "async": "^0.9.0", - "chai": "~1.9.1", - "mocha": "~1.21.4" - }, - "engines": { - "node": ">= 0.10.0" - }, - "homepage": "https://github.com/tkellen/node-v8flags", - "keywords": [ - "v8 flags", - "harmony flags" - ], - "licenses": [ - { - "type": "MIT", - "url": "https://github.com/tkellen/node-v8flags/blob/master/LICENSE" - } - ], - "main": "index.js", - "name": "v8flags", - "repository": { - "type": "git", - "url": "git://github.com/tkellen/node-v8flags.git" - }, - "scripts": { - "test": "_mocha -R spec test.js" - }, - "version": "2.1.1" -} diff --git a/publi/node_modules/validate-npm-package-license/LICENSE b/publi/node_modules/validate-npm-package-license/LICENSE deleted file mode 100644 index a5e905d..0000000 --- a/publi/node_modules/validate-npm-package-license/LICENSE +++ /dev/null @@ -1,174 +0,0 @@ -SPDX:Apache-2.0 - -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. diff --git a/publi/node_modules/validate-npm-package-license/README.md b/publi/node_modules/validate-npm-package-license/README.md deleted file mode 100644 index c5b3bfc..0000000 --- a/publi/node_modules/validate-npm-package-license/README.md +++ /dev/null @@ -1,113 +0,0 @@ -validate-npm-package-license -============================ - -Give me a string and I'll tell you if it's a valid npm package license string. - -```javascript -var valid = require('validate-npm-package-license'); -``` - -SPDX license identifiers are valid license strings: - -```javascript - -var assert = require('assert'); -var validSPDXExpression = { - validForNewPackages: true, - validForOldPackages: true, - spdx: true -}; - -assert.deepEqual(valid('MIT'), validSPDXExpression); -assert.deepEqual(valid('BSD-2-Clause'), validSPDXExpression); -assert.deepEqual(valid('Apache-2.0'), validSPDXExpression); -assert.deepEqual(valid('ISC'), validSPDXExpression); -``` -The function will return a warning and suggestion for nearly-correct license identifiers: - -```javascript -assert.deepEqual( - valid('Apache 2.0'), - { - validForOldPackages: false, - validForNewPackages: false, - warnings: [ - 'license should be ' + - 'a valid SPDX license expression (without "LicenseRef"), ' + - '"UNLICENSED", or ' + - '"SEE LICENSE IN "', - 'license is similar to the valid expression "Apache-2.0"' - ] - } -); -``` - -SPDX expressions are valid, too ... - -```javascript -// Simple SPDX license expression for dual licensing -assert.deepEqual( - valid('(GPL-3.0 OR BSD-2-Clause)'), - validSPDXExpression -); -``` - -... except if they contain `LicenseRef`: - -```javascript -var warningAboutLicenseRef = { - validForOldPackages: false, - validForNewPackages: false, - spdx: true, - warnings: [ - 'license should be ' + - 'a valid SPDX license expression (without "LicenseRef"), ' + - '"UNLICENSED", or ' + - '"SEE LICENSE IN "', - ] -}; - -assert.deepEqual( - valid('LicenseRef-Made-Up'), - warningAboutLicenseRef -); - -assert.deepEqual( - valid('(MIT OR LicenseRef-Made-Up)'), - warningAboutLicenseRef -); -``` - -If you can't describe your licensing terms with standardized SPDX identifiers, put the terms in a file in the package and point users there: - -```javascript -assert.deepEqual( - valid('SEE LICENSE IN LICENSE.txt'), - { - validForNewPackages: true, - validForOldPackages: true, - inFile: 'LICENSE.txt' - } -); - -assert.deepEqual( - valid('SEE LICENSE IN license.md'), - { - validForNewPackages: true, - validForOldPackages: true, - inFile: 'license.md' - } -); -``` - -If there aren't any licensing terms, use `UNLICENSED`: - -```javascript -var unlicensed = { - validForNewPackages: true, - validForOldPackages: true, - unlicensed: true -}; -assert.deepEqual(valid('UNLICENSED'), unlicensed); -assert.deepEqual(valid('UNLICENCED'), unlicensed); -``` diff --git a/publi/node_modules/validate-npm-package-license/index.js b/publi/node_modules/validate-npm-package-license/index.js deleted file mode 100644 index 2ad98d9..0000000 --- a/publi/node_modules/validate-npm-package-license/index.js +++ /dev/null @@ -1,84 +0,0 @@ -var parse = require('spdx-expression-parse'); -var correct = require('spdx-correct'); - -var genericWarning = ( - 'license should be ' + - 'a valid SPDX license expression (without "LicenseRef"), ' + - '"UNLICENSED", or ' + - '"SEE LICENSE IN "' -); - -var fileReferenceRE = /^SEE LICEN[CS]E IN (.+)$/; - -function startsWith(prefix, string) { - return string.slice(0, prefix.length) === prefix; -} - -function usesLicenseRef(ast) { - if (ast.hasOwnProperty('license')) { - var license = ast.license; - return ( - startsWith('LicenseRef', license) || - startsWith('DocumentRef', license) - ); - } else { - return ( - usesLicenseRef(ast.left) || - usesLicenseRef(ast.right) - ); - } -} - -module.exports = function(argument) { - var ast; - - try { - ast = parse(argument); - } catch (e) { - var match - if ( - argument === 'UNLICENSED' || - argument === 'UNLICENCED' - ) { - return { - validForOldPackages: true, - validForNewPackages: true, - unlicensed: true - }; - } else if (match = fileReferenceRE.exec(argument)) { - return { - validForOldPackages: true, - validForNewPackages: true, - inFile: match[1] - }; - } else { - var result = { - validForOldPackages: false, - validForNewPackages: false, - warnings: [genericWarning] - }; - var corrected = correct(argument); - if (corrected) { - result.warnings.push( - 'license is similar to the valid expression "' + corrected + '"' - ); - } - return result; - } - } - - if (usesLicenseRef(ast)) { - return { - validForNewPackages: false, - validForOldPackages: false, - spdx: true, - warnings: [genericWarning] - }; - } else { - return { - validForNewPackages: true, - validForOldPackages: true, - spdx: true - }; - } -}; diff --git a/publi/node_modules/validate-npm-package-license/package.json b/publi/node_modules/validate-npm-package-license/package.json deleted file mode 100644 index bb4c206..0000000 --- a/publi/node_modules/validate-npm-package-license/package.json +++ /dev/null @@ -1,96 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "validate-npm-package-license@^3.0.1", - "scope": null, - "escapedName": "validate-npm-package-license", - "name": "validate-npm-package-license", - "rawSpec": "^3.0.1", - "spec": ">=3.0.1 <4.0.0", - "type": "range" - }, - "/mnt/Data/bach/Documents/ola/OLA#3DOC/sys/node_modules/normalize-package-data" - ] - ], - "_from": "validate-npm-package-license@>=3.0.1 <4.0.0", - "_id": "validate-npm-package-license@3.0.1", - "_inCache": true, - "_location": "/validate-npm-package-license", - "_nodeVersion": "0.12.7", - "_npmUser": { - "name": "kemitchell", - "email": "kyle@kemitchell.com" - }, - "_npmVersion": "2.13.5", - "_phantomChildren": {}, - "_requested": { - "raw": "validate-npm-package-license@^3.0.1", - "scope": null, - "escapedName": "validate-npm-package-license", - "name": "validate-npm-package-license", - "rawSpec": "^3.0.1", - "spec": ">=3.0.1 <4.0.0", - "type": "range" - }, - "_requiredBy": [ - "/normalize-package-data" - ], - "_resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz", - "_shasum": "2804babe712ad3379459acfbe24746ab2c303fbc", - "_shrinkwrap": null, - "_spec": "validate-npm-package-license@^3.0.1", - "_where": "/mnt/Data/bach/Documents/ola/OLA#3DOC/sys/node_modules/normalize-package-data", - "author": { - "name": "Kyle E. Mitchell", - "email": "kyle@kemitchell.com", - "url": "https://kemitchell.com" - }, - "bugs": { - "url": "https://github.com/kemitchell/validate-npm-package-license.js/issues" - }, - "dependencies": { - "spdx-correct": "~1.0.0", - "spdx-expression-parse": "~1.0.0" - }, - "description": "Give me a string and I'll tell you if it's a valid npm package license string", - "devDependencies": { - "defence-cli": "^1.0.1", - "replace-require-self": "^1.0.0" - }, - "directories": {}, - "dist": { - "shasum": "2804babe712ad3379459acfbe24746ab2c303fbc", - "tarball": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz" - }, - "gitHead": "00200d28f9960985f221bc1a8a71e4760daf39bf", - "homepage": "https://github.com/kemitchell/validate-npm-package-license.js#readme", - "keywords": [ - "license", - "npm", - "package", - "validation" - ], - "license": "Apache-2.0", - "maintainers": [ - { - "name": "kemitchell", - "email": "kyle@kemitchell.com" - }, - { - "name": "othiym23", - "email": "ogd@aoaioxxysz.net" - } - ], - "name": "validate-npm-package-license", - "optionalDependencies": {}, - "readme": "ERROR: No README data found!", - "repository": { - "type": "git", - "url": "git+https://github.com/kemitchell/validate-npm-package-license.js.git" - }, - "scripts": { - "test": "defence README.md | replace-require-self | node" - }, - "version": "3.0.1" -} diff --git a/publi/node_modules/verror/.npmignore b/publi/node_modules/verror/.npmignore deleted file mode 100644 index f14aec8..0000000 --- a/publi/node_modules/verror/.npmignore +++ /dev/null @@ -1,9 +0,0 @@ -.gitignore -.gitmodules -deps -examples -experiments -jsl.node.conf -Makefile -Makefile.targ -test diff --git a/publi/node_modules/verror/CHANGES.md b/publi/node_modules/verror/CHANGES.md deleted file mode 100644 index bbb745a..0000000 --- a/publi/node_modules/verror/CHANGES.md +++ /dev/null @@ -1,28 +0,0 @@ -# Changelog - -## Not yet released - -None yet. - -## v1.10.0 - -* #49 want convenience functions for MultiErrors - -## v1.9.0 - -* #47 could use VError.hasCauseWithName() - -## v1.8.1 - -* #39 captureStackTrace lost when inheriting from WError - -## v1.8.0 - -* #23 Preserve original stack trace(s) - -## v1.7.0 - -* #10 better support for extra properties on Errors -* #11 make it easy to find causes of a particular kind -* #29 No documentation on how to Install this package -* #36 elide development-only files from npm package diff --git a/publi/node_modules/verror/CONTRIBUTING.md b/publi/node_modules/verror/CONTRIBUTING.md deleted file mode 100644 index 750cef8..0000000 --- a/publi/node_modules/verror/CONTRIBUTING.md +++ /dev/null @@ -1,19 +0,0 @@ -# Contributing - -This repository uses [cr.joyent.us](https://cr.joyent.us) (Gerrit) for new -changes. Anyone can submit changes. To get started, see the [cr.joyent.us user -guide](https://github.com/joyent/joyent-gerrit/blob/master/docs/user/README.md). -This repo does not use GitHub pull requests. - -See the [Joyent Engineering -Guidelines](https://github.com/joyent/eng/blob/master/docs/index.md) for general -best practices expected in this repository. - -Contributions should be "make prepush" clean. The "prepush" target runs the -"check" target, which requires these separate tools: - -* https://github.com/davepacheco/jsstyle -* https://github.com/davepacheco/javascriptlint - -If you're changing something non-trivial or user-facing, you may want to submit -an issue first. diff --git a/publi/node_modules/verror/LICENSE b/publi/node_modules/verror/LICENSE deleted file mode 100644 index 82a5cb8..0000000 --- a/publi/node_modules/verror/LICENSE +++ /dev/null @@ -1,19 +0,0 @@ -Copyright (c) 2016, Joyent, Inc. 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 diff --git a/publi/node_modules/verror/README.md b/publi/node_modules/verror/README.md deleted file mode 100644 index c1f0635..0000000 --- a/publi/node_modules/verror/README.md +++ /dev/null @@ -1,528 +0,0 @@ -# verror: rich JavaScript errors - -This module provides several classes in support of Joyent's [Best Practices for -Error Handling in Node.js](http://www.joyent.com/developers/node/design/errors). -If you find any of the behavior here confusing or surprising, check out that -document first. - -The error classes here support: - -* printf-style arguments for the message -* chains of causes -* properties to provide extra information about the error -* creating your own subclasses that support all of these - -The classes here are: - -* **VError**, for chaining errors while preserving each one's error message. - This is useful in servers and command-line utilities when you want to - propagate an error up a call stack, but allow various levels to add their own - context. See examples below. -* **WError**, for wrapping errors while hiding the lower-level messages from the - top-level error. This is useful for API endpoints where you don't want to - expose internal error messages, but you still want to preserve the error chain - for logging and debugging. -* **SError**, which is just like VError but interprets printf-style arguments - more strictly. -* **MultiError**, which is just an Error that encapsulates one or more other - errors. (This is used for parallel operations that return several errors.) - - -# Quick start - -First, install the package: - - npm install verror - -If nothing else, you can use VError as a drop-in replacement for the built-in -JavaScript Error class, with the addition of printf-style messages: - -```javascript -var err = new VError('missing file: "%s"', '/etc/passwd'); -console.log(err.message); -``` - -This prints: - - missing file: "/etc/passwd" - -You can also pass a `cause` argument, which is any other Error object: - -```javascript -var fs = require('fs'); -var filename = '/nonexistent'; -fs.stat(filename, function (err1) { - var err2 = new VError(err1, 'stat "%s"', filename); - console.error(err2.message); -}); -``` - -This prints out: - - stat "/nonexistent": ENOENT, stat '/nonexistent' - -which resembles how Unix programs typically report errors: - - $ sort /nonexistent - sort: open failed: /nonexistent: No such file or directory - -To match the Unixy feel, when you print out the error, just prepend the -program's name to the VError's `message`. Or just call -[node-cmdutil.fail(your_verror)](https://github.com/joyent/node-cmdutil), which -does this for you. - -You can get the next-level Error using `err.cause()`: - -```javascript -console.error(err2.cause().message); -``` - -prints: - - ENOENT, stat '/nonexistent' - -Of course, you can chain these as many times as you want, and it works with any -kind of Error: - -```javascript -var err1 = new Error('No such file or directory'); -var err2 = new VError(err1, 'failed to stat "%s"', '/junk'); -var err3 = new VError(err2, 'request failed'); -console.error(err3.message); -``` - -This prints: - - request failed: failed to stat "/junk": No such file or directory - -The idea is that each layer in the stack annotates the error with a description -of what it was doing. The end result is a message that explains what happened -at each level. - -You can also decorate Error objects with additional information so that callers -can not only handle each kind of error differently, but also construct their own -error messages (e.g., to localize them, format them, group them by type, and so -on). See the example below. - - -# Deeper dive - -The two main goals for VError are: - -* **Make it easy to construct clear, complete error messages intended for - people.** Clear error messages greatly improve both user experience and - debuggability, so we wanted to make it easy to build them. That's why the - constructor takes printf-style arguments. -* **Make it easy to construct objects with programmatically-accessible - metadata** (which we call _informational properties_). Instead of just saying - "connection refused while connecting to 192.168.1.2:80", you can add - properties like `"ip": "192.168.1.2"` and `"tcpPort": 80`. This can be used - for feeding into monitoring systems, analyzing large numbers of Errors (as - from a log file), or localizing error messages. - -To really make this useful, it also needs to be easy to compose Errors: -higher-level code should be able to augment the Errors reported by lower-level -code to provide a more complete description of what happened. Instead of saying -"connection refused", you can say "operation X failed: connection refused". -That's why VError supports `causes`. - -In order for all this to work, programmers need to know that it's generally safe -to wrap lower-level Errors with higher-level ones. If you have existing code -that handles Errors produced by a library, you should be able to wrap those -Errors with a VError to add information without breaking the error handling -code. There are two obvious ways that this could break such consumers: - -* The error's name might change. People typically use `name` to determine what - kind of Error they've got. To ensure compatibility, you can create VErrors - with custom names, but this approach isn't great because it prevents you from - representing complex failures. For this reason, VError provides - `findCauseByName`, which essentially asks: does this Error _or any of its - causes_ have this specific type? If error handling code uses - `findCauseByName`, then subsystems can construct very specific causal chains - for debuggability and still let people handle simple cases easily. There's an - example below. -* The error's properties might change. People often hang additional properties - off of Error objects. If we wrap an existing Error in a new Error, those - properties would be lost unless we copied them. But there are a variety of - both standard and non-standard Error properties that should _not_ be copied in - this way: most obviously `name`, `message`, and `stack`, but also `fileName`, - `lineNumber`, and a few others. Plus, it's useful for some Error subclasses - to have their own private properties -- and there'd be no way to know whether - these should be copied. For these reasons, VError first-classes these - information properties. You have to provide them in the constructor, you can - only fetch them with the `info()` function, and VError takes care of making - sure properties from causes wind up in the `info()` output. - -Let's put this all together with an example from the node-fast RPC library. -node-fast implements a simple RPC protocol for Node programs. There's a server -and client interface, and clients make RPC requests to servers. Let's say the -server fails with an UnauthorizedError with message "user 'bob' is not -authorized". The client wraps all server errors with a FastServerError. The -client also wraps all request errors with a FastRequestError that includes the -name of the RPC call being made. The result of this failed RPC might look like -this: - - name: FastRequestError - message: "request failed: server error: user 'bob' is not authorized" - rpcMsgid: - rpcMethod: GetObject - cause: - name: FastServerError - message: "server error: user 'bob' is not authorized" - cause: - name: UnauthorizedError - message: "user 'bob' is not authorized" - rpcUser: "bob" - -When the caller uses `VError.info()`, the information properties are collapsed -so that it looks like this: - - message: "request failed: server error: user 'bob' is not authorized" - rpcMsgid: - rpcMethod: GetObject - rpcUser: "bob" - -Taking this apart: - -* The error's message is a complete description of the problem. The caller can - report this directly to its caller, which can potentially make its way back to - an end user (if appropriate). It can also be logged. -* The caller can tell that the request failed on the server, rather than as a - result of a client problem (e.g., failure to serialize the request), a - transport problem (e.g., failure to connect to the server), or something else - (e.g., a timeout). They do this using `findCauseByName('FastServerError')` - rather than checking the `name` field directly. -* If the caller logs this error, the logs can be analyzed to aggregate - errors by cause, by RPC method name, by user, or whatever. Or the - error can be correlated with other events for the same rpcMsgid. -* It wasn't very hard for any part of the code to contribute to this Error. - Each part of the stack has just a few lines to provide exactly what it knows, - with very little boilerplate. - -It's not expected that you'd use these complex forms all the time. Despite -supporting the complex case above, you can still just do: - - new VError("my service isn't working"); - -for the simple cases. - - -# Reference: VError, WError, SError - -VError, WError, and SError are convenient drop-in replacements for `Error` that -support printf-style arguments, first-class causes, informational properties, -and other useful features. - - -## Constructors - -The VError constructor has several forms: - -```javascript -/* - * This is the most general form. You can specify any supported options - * (including "cause" and "info") this way. - */ -new VError(options, sprintf_args...) - -/* - * This is a useful shorthand when the only option you need is "cause". - */ -new VError(cause, sprintf_args...) - -/* - * This is a useful shorthand when you don't need any options at all. - */ -new VError(sprintf_args...) -``` - -All of these forms construct a new VError that behaves just like the built-in -JavaScript `Error` class, with some additional methods described below. - -In the first form, `options` is a plain object with any of the following -optional properties: - -Option name | Type | Meaning ----------------- | ---------------- | ------- -`name` | string | Describes what kind of error this is. This is intended for programmatic use to distinguish between different kinds of errors. Note that in modern versions of Node.js, this name is ignored in the `stack` property value, but callers can still use the `name` property to get at it. -`cause` | any Error object | Indicates that the new error was caused by `cause`. See `cause()` below. If unspecified, the cause will be `null`. -`strict` | boolean | If true, then `null` and `undefined` values in `sprintf_args` are passed through to `sprintf()`. Otherwise, these are replaced with the strings `'null'`, and '`undefined`', respectively. -`constructorOpt` | function | If specified, then the stack trace for this error ends at function `constructorOpt`. Functions called by `constructorOpt` will not show up in the stack. This is useful when this class is subclassed. -`info` | object | Specifies arbitrary informational properties that are available through the `VError.info(err)` static class method. See that method for details. - -The second form is equivalent to using the first form with the specified `cause` -as the error's cause. This form is distinguished from the first form because -the first argument is an Error. - -The third form is equivalent to using the first form with all default option -values. This form is distinguished from the other forms because the first -argument is not an object or an Error. - -The `WError` constructor is used exactly the same way as the `VError` -constructor. The `SError` constructor is also used the same way as the -`VError` constructor except that in all cases, the `strict` property is -overriden to `true. - - -## Public properties - -`VError`, `WError`, and `SError` all provide the same public properties as -JavaScript's built-in Error objects. - -Property name | Type | Meaning -------------- | ------ | ------- -`name` | string | Programmatically-usable name of the error. -`message` | string | Human-readable summary of the failure. Programmatically-accessible details are provided through `VError.info(err)` class method. -`stack` | string | Human-readable stack trace where the Error was constructed. - -For all of these classes, the printf-style arguments passed to the constructor -are processed with `sprintf()` to form a message. For `WError`, this becomes -the complete `message` property. For `SError` and `VError`, this message is -prepended to the message of the cause, if any (with a suitable separator), and -the result becomes the `message` property. - -The `stack` property is managed entirely by the underlying JavaScript -implementation. It's generally implemented using a getter function because -constructing the human-readable stack trace is somewhat expensive. - -## Class methods - -The following methods are defined on the `VError` class and as exported -functions on the `verror` module. They're defined this way rather than using -methods on VError instances so that they can be used on Errors not created with -`VError`. - -### `VError.cause(err)` - -The `cause()` function returns the next Error in the cause chain for `err`, or -`null` if there is no next error. See the `cause` argument to the constructor. -Errors can have arbitrarily long cause chains. You can walk the `cause` chain -by invoking `VError.cause(err)` on each subsequent return value. If `err` is -not a `VError`, the cause is `null`. - -### `VError.info(err)` - -Returns an object with all of the extra error information that's been associated -with this Error and all of its causes. These are the properties passed in using -the `info` option to the constructor. Properties not specified in the -constructor for this Error are implicitly inherited from this error's cause. - -These properties are intended to provide programmatically-accessible metadata -about the error. For an error that indicates a failure to resolve a DNS name, -informational properties might include the DNS name to be resolved, or even the -list of resolvers used to resolve it. The values of these properties should -generally be plain objects (i.e., consisting only of null, undefined, numbers, -booleans, strings, and objects and arrays containing only other plain objects). - -### `VError.fullStack(err)` - -Returns a string containing the full stack trace, with all nested errors recursively -reported as `'caused by:' + err.stack`. - -### `VError.findCauseByName(err, name)` - -The `findCauseByName()` function traverses the cause chain for `err`, looking -for an error whose `name` property matches the passed in `name` value. If no -match is found, `null` is returned. - -If all you want is to know _whether_ there's a cause (and you don't care what it -is), you can use `VError.hasCauseWithName(err, name)`. - -If a vanilla error or a non-VError error is passed in, then there is no cause -chain to traverse. In this scenario, the function will check the `name` -property of only `err`. - -### `VError.hasCauseWithName(err, name)` - -Returns true if and only if `VError.findCauseByName(err, name)` would return -a non-null value. This essentially determines whether `err` has any cause in -its cause chain that has name `name`. - -### `VError.errorFromList(errors)` - -Given an array of Error objects (possibly empty), return a single error -representing the whole collection of errors. If the list has: - -* 0 elements, returns `null` -* 1 element, returns the sole error -* more than 1 element, returns a MultiError referencing the whole list - -This is useful for cases where an operation may produce any number of errors, -and you ultimately want to implement the usual `callback(err)` pattern. You can -accumulate the errors in an array and then invoke -`callback(VError.errorFromList(errors))` when the operation is complete. - - -### `VError.errorForEach(err, func)` - -Convenience function for iterating an error that may itself be a MultiError. - -In all cases, `err` must be an Error. If `err` is a MultiError, then `func` is -invoked as `func(errorN)` for each of the underlying errors of the MultiError. -If `err` is any other kind of error, `func` is invoked once as `func(err)`. In -all cases, `func` is invoked synchronously. - -This is useful for cases where an operation may produce any number of warnings -that may be encapsulated with a MultiError -- but may not be. - -This function does not iterate an error's cause chain. - - -## Examples - -The "Demo" section above covers several basic cases. Here's a more advanced -case: - -```javascript -var err1 = new VError('something bad happened'); -/* ... */ -var err2 = new VError({ - 'name': 'ConnectionError', - 'cause': err1, - 'info': { - 'errno': 'ECONNREFUSED', - 'remote_ip': '127.0.0.1', - 'port': 215 - } -}, 'failed to connect to "%s:%d"', '127.0.0.1', 215); - -console.log(err2.message); -console.log(err2.name); -console.log(VError.info(err2)); -console.log(err2.stack); -``` - -This outputs: - - failed to connect to "127.0.0.1:215": something bad happened - ConnectionError - { errno: 'ECONNREFUSED', remote_ip: '127.0.0.1', port: 215 } - ConnectionError: failed to connect to "127.0.0.1:215": something bad happened - at Object. (/home/dap/node-verror/examples/info.js:5:12) - at Module._compile (module.js:456:26) - at Object.Module._extensions..js (module.js:474:10) - at Module.load (module.js:356:32) - at Function.Module._load (module.js:312:12) - at Function.Module.runMain (module.js:497:10) - at startup (node.js:119:16) - at node.js:935:3 - -Information properties are inherited up the cause chain, with values at the top -of the chain overriding same-named values lower in the chain. To continue that -example: - -```javascript -var err3 = new VError({ - 'name': 'RequestError', - 'cause': err2, - 'info': { - 'errno': 'EBADREQUEST' - } -}, 'request failed'); - -console.log(err3.message); -console.log(err3.name); -console.log(VError.info(err3)); -console.log(err3.stack); -``` - -This outputs: - - request failed: failed to connect to "127.0.0.1:215": something bad happened - RequestError - { errno: 'EBADREQUEST', remote_ip: '127.0.0.1', port: 215 } - RequestError: request failed: failed to connect to "127.0.0.1:215": something bad happened - at Object. (/home/dap/node-verror/examples/info.js:20:12) - at Module._compile (module.js:456:26) - at Object.Module._extensions..js (module.js:474:10) - at Module.load (module.js:356:32) - at Function.Module._load (module.js:312:12) - at Function.Module.runMain (module.js:497:10) - at startup (node.js:119:16) - at node.js:935:3 - -You can also print the complete stack trace of combined `Error`s by using -`VError.fullStack(err).` - -```javascript -var err1 = new VError('something bad happened'); -/* ... */ -var err2 = new VError(err1, 'something really bad happened here'); - -console.log(VError.fullStack(err2)); -``` - -This outputs: - - VError: something really bad happened here: something bad happened - at Object. (/home/dap/node-verror/examples/fullStack.js:5:12) - at Module._compile (module.js:409:26) - at Object.Module._extensions..js (module.js:416:10) - at Module.load (module.js:343:32) - at Function.Module._load (module.js:300:12) - at Function.Module.runMain (module.js:441:10) - at startup (node.js:139:18) - at node.js:968:3 - caused by: VError: something bad happened - at Object. (/home/dap/node-verror/examples/fullStack.js:3:12) - at Module._compile (module.js:409:26) - at Object.Module._extensions..js (module.js:416:10) - at Module.load (module.js:343:32) - at Function.Module._load (module.js:300:12) - at Function.Module.runMain (module.js:441:10) - at startup (node.js:139:18) - at node.js:968:3 - -`VError.fullStack` is also safe to use on regular `Error`s, so feel free to use -it whenever you need to extract the stack trace from an `Error`, regardless if -it's a `VError` or not. - -# Reference: MultiError - -MultiError is an Error class that represents a group of Errors. This is used -when you logically need to provide a single Error, but you want to preserve -information about multiple underying Errors. A common case is when you execute -several operations in parallel and some of them fail. - -MultiErrors are constructed as: - -```javascript -new MultiError(error_list) -``` - -`error_list` is an array of at least one `Error` object. - -The cause of the MultiError is the first error provided. None of the other -`VError` options are supported. The `message` for a MultiError consists the -`message` from the first error, prepended with a message indicating that there -were other errors. - -For example: - -```javascript -err = new MultiError([ - new Error('failed to resolve DNS name "abc.example.com"'), - new Error('failed to resolve DNS name "def.example.com"'), -]); - -console.error(err.message); -``` - -outputs: - - first of 2 errors: failed to resolve DNS name "abc.example.com" - -See the convenience function `VError.errorFromList`, which is sometimes simpler -to use than this constructor. - -## Public methods - - -### `errors()` - -Returns an array of the errors used to construct this MultiError. - - -# Contributing - -See separate [contribution guidelines](CONTRIBUTING.md). diff --git a/publi/node_modules/verror/lib/verror.js b/publi/node_modules/verror/lib/verror.js deleted file mode 100644 index 8663dde..0000000 --- a/publi/node_modules/verror/lib/verror.js +++ /dev/null @@ -1,451 +0,0 @@ -/* - * verror.js: richer JavaScript errors - */ - -var mod_assertplus = require('assert-plus'); -var mod_util = require('util'); - -var mod_extsprintf = require('extsprintf'); -var mod_isError = require('core-util-is').isError; -var sprintf = mod_extsprintf.sprintf; - -/* - * Public interface - */ - -/* So you can 'var VError = require('verror')' */ -module.exports = VError; -/* For compatibility */ -VError.VError = VError; -/* Other exported classes */ -VError.SError = SError; -VError.WError = WError; -VError.MultiError = MultiError; - -/* - * Common function used to parse constructor arguments for VError, WError, and - * SError. Named arguments to this function: - * - * strict force strict interpretation of sprintf arguments, even - * if the options in "argv" don't say so - * - * argv error's constructor arguments, which are to be - * interpreted as described in README.md. For quick - * reference, "argv" has one of the following forms: - * - * [ sprintf_args... ] (argv[0] is a string) - * [ cause, sprintf_args... ] (argv[0] is an Error) - * [ options, sprintf_args... ] (argv[0] is an object) - * - * This function normalizes these forms, producing an object with the following - * properties: - * - * options equivalent to "options" in third form. This will never - * be a direct reference to what the caller passed in - * (i.e., it may be a shallow copy), so it can be freely - * modified. - * - * shortmessage result of sprintf(sprintf_args), taking options.strict - * into account as described in README.md. - */ -function parseConstructorArguments(args) -{ - var argv, options, sprintf_args, shortmessage, k; - - mod_assertplus.object(args, 'args'); - mod_assertplus.bool(args.strict, 'args.strict'); - mod_assertplus.array(args.argv, 'args.argv'); - argv = args.argv; - - /* - * First, figure out which form of invocation we've been given. - */ - if (argv.length === 0) { - options = {}; - sprintf_args = []; - } else if (mod_isError(argv[0])) { - options = { 'cause': argv[0] }; - sprintf_args = argv.slice(1); - } else if (typeof (argv[0]) === 'object') { - options = {}; - for (k in argv[0]) { - options[k] = argv[0][k]; - } - sprintf_args = argv.slice(1); - } else { - mod_assertplus.string(argv[0], - 'first argument to VError, SError, or WError ' + - 'constructor must be a string, object, or Error'); - options = {}; - sprintf_args = argv; - } - - /* - * Now construct the error's message. - * - * extsprintf (which we invoke here with our caller's arguments in order - * to construct this Error's message) is strict in its interpretation of - * values to be processed by the "%s" specifier. The value passed to - * extsprintf must actually be a string or something convertible to a - * String using .toString(). Passing other values (notably "null" and - * "undefined") is considered a programmer error. The assumption is - * that if you actually want to print the string "null" or "undefined", - * then that's easy to do that when you're calling extsprintf; on the - * other hand, if you did NOT want that (i.e., there's actually a bug - * where the program assumes some variable is non-null and tries to - * print it, which might happen when constructing a packet or file in - * some specific format), then it's better to stop immediately than - * produce bogus output. - * - * However, sometimes the bug is only in the code calling VError, and a - * programmer might prefer to have the error message contain "null" or - * "undefined" rather than have the bug in the error path crash the - * program (making the first bug harder to identify). For that reason, - * by default VError converts "null" or "undefined" arguments to their - * string representations and passes those to extsprintf. Programmers - * desiring the strict behavior can use the SError class or pass the - * "strict" option to the VError constructor. - */ - mod_assertplus.object(options); - if (!options.strict && !args.strict) { - sprintf_args = sprintf_args.map(function (a) { - return (a === null ? 'null' : - a === undefined ? 'undefined' : a); - }); - } - - if (sprintf_args.length === 0) { - shortmessage = ''; - } else { - shortmessage = sprintf.apply(null, sprintf_args); - } - - return ({ - 'options': options, - 'shortmessage': shortmessage - }); -} - -/* - * See README.md for reference documentation. - */ -function VError() -{ - var args, obj, parsed, cause, ctor, message, k; - - args = Array.prototype.slice.call(arguments, 0); - - /* - * This is a regrettable pattern, but JavaScript's built-in Error class - * is defined to work this way, so we allow the constructor to be called - * without "new". - */ - if (!(this instanceof VError)) { - obj = Object.create(VError.prototype); - VError.apply(obj, arguments); - return (obj); - } - - /* - * For convenience and backwards compatibility, we support several - * different calling forms. Normalize them here. - */ - parsed = parseConstructorArguments({ - 'argv': args, - 'strict': false - }); - - /* - * If we've been given a name, apply it now. - */ - if (parsed.options.name) { - mod_assertplus.string(parsed.options.name, - 'error\'s "name" must be a string'); - this.name = parsed.options.name; - } - - /* - * For debugging, we keep track of the original short message (attached - * this Error particularly) separately from the complete message (which - * includes the messages of our cause chain). - */ - this.jse_shortmsg = parsed.shortmessage; - message = parsed.shortmessage; - - /* - * If we've been given a cause, record a reference to it and update our - * message appropriately. - */ - cause = parsed.options.cause; - if (cause) { - mod_assertplus.ok(mod_isError(cause), 'cause is not an Error'); - this.jse_cause = cause; - - if (!parsed.options.skipCauseMessage) { - message += ': ' + cause.message; - } - } - - /* - * If we've been given an object with properties, shallow-copy that - * here. We don't want to use a deep copy in case there are non-plain - * objects here, but we don't want to use the original object in case - * the caller modifies it later. - */ - this.jse_info = {}; - if (parsed.options.info) { - for (k in parsed.options.info) { - this.jse_info[k] = parsed.options.info[k]; - } - } - - this.message = message; - Error.call(this, message); - - if (Error.captureStackTrace) { - ctor = parsed.options.constructorOpt || this.constructor; - Error.captureStackTrace(this, ctor); - } - - return (this); -} - -mod_util.inherits(VError, Error); -VError.prototype.name = 'VError'; - -VError.prototype.toString = function ve_toString() -{ - var str = (this.hasOwnProperty('name') && this.name || - this.constructor.name || this.constructor.prototype.name); - if (this.message) - str += ': ' + this.message; - - return (str); -}; - -/* - * This method is provided for compatibility. New callers should use - * VError.cause() instead. That method also uses the saner `null` return value - * when there is no cause. - */ -VError.prototype.cause = function ve_cause() -{ - var cause = VError.cause(this); - return (cause === null ? undefined : cause); -}; - -/* - * Static methods - * - * These class-level methods are provided so that callers can use them on - * instances of Errors that are not VErrors. New interfaces should be provided - * only using static methods to eliminate the class of programming mistake where - * people fail to check whether the Error object has the corresponding methods. - */ - -VError.cause = function (err) -{ - mod_assertplus.ok(mod_isError(err), 'err must be an Error'); - return (mod_isError(err.jse_cause) ? err.jse_cause : null); -}; - -VError.info = function (err) -{ - var rv, cause, k; - - mod_assertplus.ok(mod_isError(err), 'err must be an Error'); - cause = VError.cause(err); - if (cause !== null) { - rv = VError.info(cause); - } else { - rv = {}; - } - - if (typeof (err.jse_info) == 'object' && err.jse_info !== null) { - for (k in err.jse_info) { - rv[k] = err.jse_info[k]; - } - } - - return (rv); -}; - -VError.findCauseByName = function (err, name) -{ - var cause; - - mod_assertplus.ok(mod_isError(err), 'err must be an Error'); - mod_assertplus.string(name, 'name'); - mod_assertplus.ok(name.length > 0, 'name cannot be empty'); - - for (cause = err; cause !== null; cause = VError.cause(cause)) { - mod_assertplus.ok(mod_isError(cause)); - if (cause.name == name) { - return (cause); - } - } - - return (null); -}; - -VError.hasCauseWithName = function (err, name) -{ - return (VError.findCauseByName(err, name) !== null); -}; - -VError.fullStack = function (err) -{ - mod_assertplus.ok(mod_isError(err), 'err must be an Error'); - - var cause = VError.cause(err); - - if (cause) { - return (err.stack + '\ncaused by: ' + VError.fullStack(cause)); - } - - return (err.stack); -}; - -VError.errorFromList = function (errors) -{ - mod_assertplus.arrayOfObject(errors, 'errors'); - - if (errors.length === 0) { - return (null); - } - - errors.forEach(function (e) { - mod_assertplus.ok(mod_isError(e)); - }); - - if (errors.length == 1) { - return (errors[0]); - } - - return (new MultiError(errors)); -}; - -VError.errorForEach = function (err, func) -{ - mod_assertplus.ok(mod_isError(err), 'err must be an Error'); - mod_assertplus.func(func, 'func'); - - if (err instanceof MultiError) { - err.errors().forEach(function iterError(e) { func(e); }); - } else { - func(err); - } -}; - - -/* - * SError is like VError, but stricter about types. You cannot pass "null" or - * "undefined" as string arguments to the formatter. - */ -function SError() -{ - var args, obj, parsed, options; - - args = Array.prototype.slice.call(arguments, 0); - if (!(this instanceof SError)) { - obj = Object.create(SError.prototype); - SError.apply(obj, arguments); - return (obj); - } - - parsed = parseConstructorArguments({ - 'argv': args, - 'strict': true - }); - - options = parsed.options; - VError.call(this, options, '%s', parsed.shortmessage); - - return (this); -} - -/* - * We don't bother setting SError.prototype.name because once constructed, - * SErrors are just like VErrors. - */ -mod_util.inherits(SError, VError); - - -/* - * Represents a collection of errors for the purpose of consumers that generally - * only deal with one error. Callers can extract the individual errors - * contained in this object, but may also just treat it as a normal single - * error, in which case a summary message will be printed. - */ -function MultiError(errors) -{ - mod_assertplus.array(errors, 'list of errors'); - mod_assertplus.ok(errors.length > 0, 'must be at least one error'); - this.ase_errors = errors; - - VError.call(this, { - 'cause': errors[0] - }, 'first of %d error%s', errors.length, errors.length == 1 ? '' : 's'); -} - -mod_util.inherits(MultiError, VError); -MultiError.prototype.name = 'MultiError'; - -MultiError.prototype.errors = function me_errors() -{ - return (this.ase_errors.slice(0)); -}; - - -/* - * See README.md for reference details. - */ -function WError() -{ - var args, obj, parsed, options; - - args = Array.prototype.slice.call(arguments, 0); - if (!(this instanceof WError)) { - obj = Object.create(WError.prototype); - WError.apply(obj, args); - return (obj); - } - - parsed = parseConstructorArguments({ - 'argv': args, - 'strict': false - }); - - options = parsed.options; - options['skipCauseMessage'] = true; - VError.call(this, options, '%s', parsed.shortmessage); - - return (this); -} - -mod_util.inherits(WError, VError); -WError.prototype.name = 'WError'; - -WError.prototype.toString = function we_toString() -{ - var str = (this.hasOwnProperty('name') && this.name || - this.constructor.name || this.constructor.prototype.name); - if (this.message) - str += ': ' + this.message; - if (this.jse_cause && this.jse_cause.message) - str += '; caused by ' + this.jse_cause.toString(); - - return (str); -}; - -/* - * For purely historical reasons, WError's cause() function allows you to set - * the cause. - */ -WError.prototype.cause = function we_cause(c) -{ - if (mod_isError(c)) - this.jse_cause = c; - - return (this.jse_cause); -}; diff --git a/publi/node_modules/verror/node_modules/assert-plus/AUTHORS b/publi/node_modules/verror/node_modules/assert-plus/AUTHORS deleted file mode 100644 index 1923524..0000000 --- a/publi/node_modules/verror/node_modules/assert-plus/AUTHORS +++ /dev/null @@ -1,6 +0,0 @@ -Dave Eddy -Fred Kuo -Lars-Magnus Skog -Mark Cavage -Patrick Mooney -Rob Gulewich diff --git a/publi/node_modules/verror/node_modules/assert-plus/CHANGES.md b/publi/node_modules/verror/node_modules/assert-plus/CHANGES.md deleted file mode 100644 index 57d92bf..0000000 --- a/publi/node_modules/verror/node_modules/assert-plus/CHANGES.md +++ /dev/null @@ -1,14 +0,0 @@ -# assert-plus Changelog - -## 1.0.0 - -- *BREAKING* assert.number (and derivatives) now accept Infinity as valid input -- Add assert.finite check. Previous assert.number callers should use this if - they expect Infinity inputs to throw. - -## 0.2.0 - -- Fix `assert.object(null)` so it throws -- Fix optional/arrayOf exports for non-type-of asserts -- Add optiona/arrayOf exports for Stream/Date/Regex/uuid -- Add basic unit test coverage diff --git a/publi/node_modules/verror/node_modules/assert-plus/README.md b/publi/node_modules/verror/node_modules/assert-plus/README.md deleted file mode 100644 index ec200d1..0000000 --- a/publi/node_modules/verror/node_modules/assert-plus/README.md +++ /dev/null @@ -1,162 +0,0 @@ -# assert-plus - -This library is a super small wrapper over node's assert module that has two -things: (1) the ability to disable assertions with the environment variable -NODE\_NDEBUG, and (2) some API wrappers for argument testing. Like -`assert.string(myArg, 'myArg')`. As a simple example, most of my code looks -like this: - -```javascript - var assert = require('assert-plus'); - - function fooAccount(options, callback) { - assert.object(options, 'options'); - assert.number(options.id, 'options.id'); - assert.bool(options.isManager, 'options.isManager'); - assert.string(options.name, 'options.name'); - assert.arrayOfString(options.email, 'options.email'); - assert.func(callback, 'callback'); - - // Do stuff - callback(null, {}); - } -``` - -# API - -All methods that *aren't* part of node's core assert API are simply assumed to -take an argument, and then a string 'name' that's not a message; `AssertionError` -will be thrown if the assertion fails with a message like: - - AssertionError: foo (string) is required - at test (/home/mark/work/foo/foo.js:3:9) - at Object. (/home/mark/work/foo/foo.js:15:1) - at Module._compile (module.js:446:26) - at Object..js (module.js:464:10) - at Module.load (module.js:353:31) - at Function._load (module.js:311:12) - at Array.0 (module.js:484:10) - at EventEmitter._tickCallback (node.js:190:38) - -from: - -```javascript - function test(foo) { - assert.string(foo, 'foo'); - } -``` - -There you go. You can check that arrays are of a homogeneous type with `Arrayof$Type`: - -```javascript - function test(foo) { - assert.arrayOfString(foo, 'foo'); - } -``` - -You can assert IFF an argument is not `undefined` (i.e., an optional arg): - -```javascript - assert.optionalString(foo, 'foo'); -``` - -Lastly, you can opt-out of assertion checking altogether by setting the -environment variable `NODE_NDEBUG=1`. This is pseudo-useful if you have -lots of assertions, and don't want to pay `typeof ()` taxes to v8 in -production. Be advised: The standard functions re-exported from `assert` are -also disabled in assert-plus if NDEBUG is specified. Using them directly from -the `assert` module avoids this behavior. - -The complete list of APIs is: - -* assert.array -* assert.bool -* assert.buffer -* assert.func -* assert.number -* assert.finite -* assert.object -* assert.string -* assert.stream -* assert.date -* assert.regexp -* assert.uuid -* assert.arrayOfArray -* assert.arrayOfBool -* assert.arrayOfBuffer -* assert.arrayOfFunc -* assert.arrayOfNumber -* assert.arrayOfFinite -* assert.arrayOfObject -* assert.arrayOfString -* assert.arrayOfStream -* assert.arrayOfDate -* assert.arrayOfRegexp -* assert.arrayOfUuid -* assert.optionalArray -* assert.optionalBool -* assert.optionalBuffer -* assert.optionalFunc -* assert.optionalNumber -* assert.optionalFinite -* assert.optionalObject -* assert.optionalString -* assert.optionalStream -* assert.optionalDate -* assert.optionalRegexp -* assert.optionalUuid -* assert.optionalArrayOfArray -* assert.optionalArrayOfBool -* assert.optionalArrayOfBuffer -* assert.optionalArrayOfFunc -* assert.optionalArrayOfNumber -* assert.optionalArrayOfFinite -* assert.optionalArrayOfObject -* assert.optionalArrayOfString -* assert.optionalArrayOfStream -* assert.optionalArrayOfDate -* assert.optionalArrayOfRegexp -* assert.optionalArrayOfUuid -* assert.AssertionError -* assert.fail -* assert.ok -* assert.equal -* assert.notEqual -* assert.deepEqual -* assert.notDeepEqual -* assert.strictEqual -* assert.notStrictEqual -* assert.throws -* assert.doesNotThrow -* assert.ifError - -# Installation - - npm install assert-plus - -## License - -The MIT License (MIT) -Copyright (c) 2012 Mark Cavage - -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. - -## Bugs - -See . diff --git a/publi/node_modules/verror/node_modules/assert-plus/assert.js b/publi/node_modules/verror/node_modules/assert-plus/assert.js deleted file mode 100644 index 26f944e..0000000 --- a/publi/node_modules/verror/node_modules/assert-plus/assert.js +++ /dev/null @@ -1,211 +0,0 @@ -// Copyright (c) 2012, Mark Cavage. All rights reserved. -// Copyright 2015 Joyent, Inc. - -var assert = require('assert'); -var Stream = require('stream').Stream; -var util = require('util'); - - -///--- Globals - -/* JSSTYLED */ -var UUID_REGEXP = /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/; - - -///--- Internal - -function _capitalize(str) { - return (str.charAt(0).toUpperCase() + str.slice(1)); -} - -function _toss(name, expected, oper, arg, actual) { - throw new assert.AssertionError({ - message: util.format('%s (%s) is required', name, expected), - actual: (actual === undefined) ? typeof (arg) : actual(arg), - expected: expected, - operator: oper || '===', - stackStartFunction: _toss.caller - }); -} - -function _getClass(arg) { - return (Object.prototype.toString.call(arg).slice(8, -1)); -} - -function noop() { - // Why even bother with asserts? -} - - -///--- Exports - -var types = { - bool: { - check: function (arg) { return typeof (arg) === 'boolean'; } - }, - func: { - check: function (arg) { return typeof (arg) === 'function'; } - }, - string: { - check: function (arg) { return typeof (arg) === 'string'; } - }, - object: { - check: function (arg) { - return typeof (arg) === 'object' && arg !== null; - } - }, - number: { - check: function (arg) { - return typeof (arg) === 'number' && !isNaN(arg); - } - }, - finite: { - check: function (arg) { - return typeof (arg) === 'number' && !isNaN(arg) && isFinite(arg); - } - }, - buffer: { - check: function (arg) { return Buffer.isBuffer(arg); }, - operator: 'Buffer.isBuffer' - }, - array: { - check: function (arg) { return Array.isArray(arg); }, - operator: 'Array.isArray' - }, - stream: { - check: function (arg) { return arg instanceof Stream; }, - operator: 'instanceof', - actual: _getClass - }, - date: { - check: function (arg) { return arg instanceof Date; }, - operator: 'instanceof', - actual: _getClass - }, - regexp: { - check: function (arg) { return arg instanceof RegExp; }, - operator: 'instanceof', - actual: _getClass - }, - uuid: { - check: function (arg) { - return typeof (arg) === 'string' && UUID_REGEXP.test(arg); - }, - operator: 'isUUID' - } -}; - -function _setExports(ndebug) { - var keys = Object.keys(types); - var out; - - /* re-export standard assert */ - if (process.env.NODE_NDEBUG) { - out = noop; - } else { - out = function (arg, msg) { - if (!arg) { - _toss(msg, 'true', arg); - } - }; - } - - /* standard checks */ - keys.forEach(function (k) { - if (ndebug) { - out[k] = noop; - return; - } - var type = types[k]; - out[k] = function (arg, msg) { - if (!type.check(arg)) { - _toss(msg, k, type.operator, arg, type.actual); - } - }; - }); - - /* optional checks */ - keys.forEach(function (k) { - var name = 'optional' + _capitalize(k); - if (ndebug) { - out[name] = noop; - return; - } - var type = types[k]; - out[name] = function (arg, msg) { - if (arg === undefined || arg === null) { - return; - } - if (!type.check(arg)) { - _toss(msg, k, type.operator, arg, type.actual); - } - }; - }); - - /* arrayOf checks */ - keys.forEach(function (k) { - var name = 'arrayOf' + _capitalize(k); - if (ndebug) { - out[name] = noop; - return; - } - var type = types[k]; - var expected = '[' + k + ']'; - out[name] = function (arg, msg) { - if (!Array.isArray(arg)) { - _toss(msg, expected, type.operator, arg, type.actual); - } - var i; - for (i = 0; i < arg.length; i++) { - if (!type.check(arg[i])) { - _toss(msg, expected, type.operator, arg, type.actual); - } - } - }; - }); - - /* optionalArrayOf checks */ - keys.forEach(function (k) { - var name = 'optionalArrayOf' + _capitalize(k); - if (ndebug) { - out[name] = noop; - return; - } - var type = types[k]; - var expected = '[' + k + ']'; - out[name] = function (arg, msg) { - if (arg === undefined || arg === null) { - return; - } - if (!Array.isArray(arg)) { - _toss(msg, expected, type.operator, arg, type.actual); - } - var i; - for (i = 0; i < arg.length; i++) { - if (!type.check(arg[i])) { - _toss(msg, expected, type.operator, arg, type.actual); - } - } - }; - }); - - /* re-export built-in assertions */ - Object.keys(assert).forEach(function (k) { - if (k === 'AssertionError') { - out[k] = assert[k]; - return; - } - if (ndebug) { - out[k] = noop; - return; - } - out[k] = assert[k]; - }); - - /* export ourselves (for unit tests _only_) */ - out._setExports = _setExports; - - return out; -} - -module.exports = _setExports(process.env.NODE_NDEBUG); diff --git a/publi/node_modules/verror/node_modules/assert-plus/package.json b/publi/node_modules/verror/node_modules/assert-plus/package.json deleted file mode 100644 index 5c6b158..0000000 --- a/publi/node_modules/verror/node_modules/assert-plus/package.json +++ /dev/null @@ -1,82 +0,0 @@ -{ - "_from": "assert-plus@^1.0.0", - "_id": "assert-plus@1.0.0", - "_inBundle": false, - "_integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "_location": "/verror/assert-plus", - "_phantomChildren": {}, - "_requested": { - "type": "range", - "registry": true, - "raw": "assert-plus@^1.0.0", - "name": "assert-plus", - "escapedName": "assert-plus", - "rawSpec": "^1.0.0", - "saveSpec": null, - "fetchSpec": "^1.0.0" - }, - "_requiredBy": [ - "/verror" - ], - "_resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "_shasum": "f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525", - "_spec": "assert-plus@^1.0.0", - "_where": "/mnt/Data/bach/Documents/ola/OLA#5/ola5doc/publi/node_modules/verror", - "author": { - "name": "Mark Cavage", - "email": "mcavage@gmail.com" - }, - "bugs": { - "url": "https://github.com/mcavage/node-assert-plus/issues" - }, - "bundleDependencies": false, - "contributors": [ - { - "name": "Dave Eddy", - "email": "dave@daveeddy.com" - }, - { - "name": "Fred Kuo", - "email": "fred.kuo@joyent.com" - }, - { - "name": "Lars-Magnus Skog", - "email": "ralphtheninja@riseup.net" - }, - { - "name": "Mark Cavage", - "email": "mcavage@gmail.com" - }, - { - "name": "Patrick Mooney", - "email": "pmooney@pfmooney.com" - }, - { - "name": "Rob Gulewich", - "email": "robert.gulewich@joyent.com" - } - ], - "dependencies": {}, - "deprecated": false, - "description": "Extra assertions on top of node's assert module", - "devDependencies": { - "faucet": "0.0.1", - "tape": "4.2.2" - }, - "engines": { - "node": ">=0.8" - }, - "homepage": "https://github.com/mcavage/node-assert-plus#readme", - "license": "MIT", - "main": "./assert.js", - "name": "assert-plus", - "optionalDependencies": {}, - "repository": { - "type": "git", - "url": "git+https://github.com/mcavage/node-assert-plus.git" - }, - "scripts": { - "test": "tape tests/*.js | ./node_modules/.bin/faucet" - }, - "version": "1.0.0" -} diff --git a/publi/node_modules/verror/package.json b/publi/node_modules/verror/package.json deleted file mode 100644 index 820cb29..0000000 --- a/publi/node_modules/verror/package.json +++ /dev/null @@ -1,51 +0,0 @@ -{ - "_from": "verror@1.10.0", - "_id": "verror@1.10.0", - "_inBundle": false, - "_integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", - "_location": "/verror", - "_phantomChildren": {}, - "_requested": { - "type": "version", - "registry": true, - "raw": "verror@1.10.0", - "name": "verror", - "escapedName": "verror", - "rawSpec": "1.10.0", - "saveSpec": null, - "fetchSpec": "1.10.0" - }, - "_requiredBy": [ - "/jsprim" - ], - "_resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", - "_shasum": "3a105ca17053af55d6e270c1f8288682e18da400", - "_spec": "verror@1.10.0", - "_where": "/mnt/Data/bach/Documents/ola/OLA#5/ola5doc/publi/node_modules/jsprim", - "bugs": { - "url": "https://github.com/davepacheco/node-verror/issues" - }, - "bundleDependencies": false, - "dependencies": { - "assert-plus": "^1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" - }, - "deprecated": false, - "description": "richer JavaScript errors", - "engines": [ - "node >=0.6.0" - ], - "homepage": "https://github.com/davepacheco/node-verror#readme", - "license": "MIT", - "main": "./lib/verror.js", - "name": "verror", - "repository": { - "type": "git", - "url": "git://github.com/davepacheco/node-verror.git" - }, - "scripts": { - "test": "make test" - }, - "version": "1.10.0" -} diff --git a/publi/node_modules/vinyl-bufferstream/LICENSE b/publi/node_modules/vinyl-bufferstream/LICENSE deleted file mode 100755 index d9ef73f..0000000 --- a/publi/node_modules/vinyl-bufferstream/LICENSE +++ /dev/null @@ -1,20 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2014 - 2015 Shinnosuke Watanabe - -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/publi/node_modules/vinyl-bufferstream/README.md b/publi/node_modules/vinyl-bufferstream/README.md deleted file mode 100755 index 99c32c9..0000000 --- a/publi/node_modules/vinyl-bufferstream/README.md +++ /dev/null @@ -1,131 +0,0 @@ -# vinyl-bufferstream - -[![NPM version](https://img.shields.io/npm/v/vinyl-bufferstream.svg?style=flat)](https://www.npmjs.com/package/vinyl-bufferstream) -[![Build Status](https://img.shields.io/travis/shinnn/vinyl-bufferstream.svg?style=flat)](https://travis-ci.org/shinnn/vinyl-bufferstream) -[![Build status](https://ci.appveyor.com/api/projects/status/gqc8t4mju49p6fkn?svg=true)](https://ci.appveyor.com/project/ShinnosukeWatanabe/vinyl-bufferstream) -[![Coverage Status](https://img.shields.io/coveralls/shinnn/vinyl-bufferstream.svg?style=flat)](https://coveralls.io/r/shinnn/vinyl-bufferstream) -[![Dependency Status](https://img.shields.io/david/shinnn/vinyl-bufferstream.svg?style=flat&label=deps)](https://david-dm.org/shinnn/vinyl-bufferstream) -[![devDependency Status](https://img.shields.io/david/dev/shinnn/vinyl-bufferstream.svg?style=flat&label=devDeps)](https://david-dm.org/shinnn/vinyl-bufferstream#info=devDependencies) - -Deal with [vinyl file](https://github.com/wearefractal/vinyl) contents, regardless of whether it is Buffer/Stream - -```javascript -var through = require('through2'); -var VinylBufferStream = require('vinyl-bufferstream'); - -function yourGulpPlugin() { - var vinylBufferStream = new VinylBufferStream(function(buf, done) { - syncOrAsyncFn(buf, done); - }); - - return through.obj(function(file, enc, cb) { - vinylBufferStream(file, function(err, contents) { - if (err) { - self.emit('error', err); - } else { - file.contents = contents; - self.push(file); - } - cb(); - }); - }); -} -``` - -## Installation - -[Use npm.](https://docs.npmjs.com/cli/install) - -```sh -npm install vinyl-bufferstream -``` - -## API - -```javascript -var VinylBufferStream = require('vinyl-bufferstream'); -``` - -### vinylBufferStream = new VinylBufferStream(*transformFunction*) - -(`new` operator is optional.) - -*transformFunction*: `Function` -Return: `Function` - -The argument must be a function taking a [`Buffer`][buffer] and a callback function as its first and second argument, which calls the callback function with passing [Node](http://nodejs.org/)-style callback arguments (`error, result`). - -#### vinylBufferStream(*file*, *callback*) - -*file*: `Object` ([vinyl file](https://github.com/wearefractal/vinyl#file) object) -*callback*: `Function` - -When the [`file.contents`](https://github.com/wearefractal/vinyl#optionscontents) is a [`Buffer`][buffer], it will call the *transformFunction* with passing file.contents to the first argument. - -When the `file.contents` is a [`Stream`][buffer], it will call the *transformFunction* with passing the buffered stream of file.contents to the first argument. - -When the `file.contents` is a [`Stream`][stream], it won't call the *transformFunction*. - -##### callback(err, contents) - -*error*: `Error` or `null` -*contents*: [`Buffer`][buffer] or [`Stream`][stream] - -When the `file.contents` is a [`Buffer`][buffer], *contents* will be a result that *transformFunction* produces. - -When the `file.contents` is a [`Stream`][stream], *contents* will be a stream that emits a data *transformFunction* produces. - -When the `file.contents` is `null`, *contents* will be `null`. - -```javascript -var gulp = require('gulp'); -var SVGO = require('svgo'); -var through = require('through2'); -var VinylBufferStream = require('vinyl-bufferstream'); - -function svgminPlugin(options) { - var svgo = new SVGO(options); - var vinylBufferStream = new VinylBufferStream(function(buf, done) { - svgo.optimize(String(buf), function(result) { - if (result.error) { - done(result.error); - return; - } - done(null, result.data); - }); - }); - - return through.obj(function(file, enc, cb) { - vinylBufferStream(file, function(err, contents) { - if (err) { - self.emit('error', err); - } else { - file.contents = contents; - self.push(file); - } - cb(); - }); - }); -} - -gulp.task('buffer', function() { - return gulp.src('*.svg') - .pipe(svgminPlugin()) - .pipe(gulp.dest('dest')); -}); - -gulp.task('stream', function() { - return gulp.src('*.svg', {buffer: false}) - .pipe(svgminPlugin()) - .pipe(gulp.dest('dest')); -}); -``` - -## License - -Copyright (c) 2014 - 2015 [Shinnosuke Watanabe](https://github.com/shinnn) - -Licensed under [the MIT License](./LICENSE). - -[buffer]: https://iojs.org/api/buffer.html#buffer_class_buffer -[stream]: https://iojs.org/api/stream.html diff --git a/publi/node_modules/vinyl-bufferstream/index.js b/publi/node_modules/vinyl-bufferstream/index.js deleted file mode 100755 index 5523c6e..0000000 --- a/publi/node_modules/vinyl-bufferstream/index.js +++ /dev/null @@ -1,52 +0,0 @@ -/*! - * vinyl-bufferstream | MIT (c) Shinnosuke Watanabe - * https://github.com/shinnn/vinyl-bufferstream -*/ -'use strict'; - -var BufferStreams = require('bufferstreams'); - -module.exports = function VinylBufferStream(fn) { - if (typeof fn !== 'function') { - throw new TypeError( - fn + - ' is not a function. The argument to VinylBufferStream constructor must be a function.' - ); - } - - return function vinylBufferStream(file, cb) { - if (typeof cb !== 'function') { - throw new TypeError( - cb + - ' is not a function. ' + - 'The second argument to VinylBufferStream instance must be a function.' - ); - } - - if (!file || typeof file.isNull !== 'function') { - cb(new TypeError('Expecting a vinyl file object.')); - return; - } - - if (file.isNull()) { - cb(null, null); - return; - } - - if (file.isStream()) { - var stream = file.contents.pipe(new BufferStreams(function(none, buf, done) { - fn(buf, function(err, result) { - done(err, result); - if (err) { - cb(err); - return; - } - cb(null, stream); - }); - })); - return; - } - - fn(file.contents, cb); - }; -}; diff --git a/publi/node_modules/vinyl-bufferstream/package.json b/publi/node_modules/vinyl-bufferstream/package.json deleted file mode 100644 index f181cfa..0000000 --- a/publi/node_modules/vinyl-bufferstream/package.json +++ /dev/null @@ -1,118 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "vinyl-bufferstream@^1.0.1", - "scope": null, - "escapedName": "vinyl-bufferstream", - "name": "vinyl-bufferstream", - "rawSpec": "^1.0.1", - "spec": ">=1.0.1 <2.0.0", - "type": "range" - }, - "/mnt/Data/bach/Documents/ola/OLA#3DOC/sys/node_modules/gulp-wrap" - ] - ], - "_from": "vinyl-bufferstream@>=1.0.1 <2.0.0", - "_id": "vinyl-bufferstream@1.0.1", - "_inCache": true, - "_location": "/vinyl-bufferstream", - "_nodeVersion": "1.1.0", - "_npmUser": { - "name": "shinnn", - "email": "snnskwtnb@gmail.com" - }, - "_npmVersion": "2.5.0", - "_phantomChildren": {}, - "_requested": { - "raw": "vinyl-bufferstream@^1.0.1", - "scope": null, - "escapedName": "vinyl-bufferstream", - "name": "vinyl-bufferstream", - "rawSpec": "^1.0.1", - "spec": ">=1.0.1 <2.0.0", - "type": "range" - }, - "_requiredBy": [ - "/gulp-wrap" - ], - "_resolved": "https://registry.npmjs.org/vinyl-bufferstream/-/vinyl-bufferstream-1.0.1.tgz", - "_shasum": "0537869f580effa4ca45acb47579e4b9fe63081a", - "_shrinkwrap": null, - "_spec": "vinyl-bufferstream@^1.0.1", - "_where": "/mnt/Data/bach/Documents/ola/OLA#3DOC/sys/node_modules/gulp-wrap", - "author": { - "name": "Shinnosuke Watanabe", - "url": "https://github.com/shinnn" - }, - "bugs": { - "url": "https://github.com/shinnn/vinyl-bufferstream/issues" - }, - "dependencies": { - "bufferstreams": "1.0.1" - }, - "description": "Deal with vinyl file contents, regardless of whether it is Buffer/Stream", - "devDependencies": { - "eslint": "^0.14.1", - "istanbul": "^0.3.5", - "istanbul-coveralls": "^1.0.1", - "jscs": "^1.11.2", - "simple-bufferstream": "0.0.4", - "tap-spec": "^2.2.1", - "tape": "^3.5.0", - "vinyl": "^0.4.6" - }, - "directories": {}, - "dist": { - "shasum": "0537869f580effa4ca45acb47579e4b9fe63081a", - "tarball": "https://registry.npmjs.org/vinyl-bufferstream/-/vinyl-bufferstream-1.0.1.tgz" - }, - "files": [ - "index.js" - ], - "gitHead": "baaf30c5e6291c5838461902bab9098b1dcb4a30", - "homepage": "https://github.com/shinnn/vinyl-bufferstream", - "jscsConfig": { - "preset": "google", - "maximumLineLength": 98, - "requireBlocksOnNewline": true, - "validateLineBreaks": "LF" - }, - "keywords": [ - "gulpfriendly", - "gulp", - "vinyl", - "buffer", - "stream", - "compatibility", - "interchangeability", - "internal", - "helper" - ], - "licenses": [ - { - "type": "MIT", - "url": "https://github.com/shinnn/vinyl-bufferstream/blob/master/LICENSE" - } - ], - "maintainers": [ - { - "name": "shinnn", - "email": "snnskwtnb@gmail.com" - } - ], - "name": "vinyl-bufferstream", - "optionalDependencies": {}, - "readme": "ERROR: No README data found!", - "repository": { - "type": "git", - "url": "git+https://github.com/shinnn/vinyl-bufferstream.git" - }, - "scripts": { - "coverage": "istanbul cover test.js", - "coveralls": "${npm_package_scripts_coverage} && istanbul-coveralls", - "pretest": "jscs *.js && eslint *.js", - "test": "node test.js | tap-spec" - }, - "version": "1.0.1" -} diff --git a/publi/node_modules/vinyl-file/index.js b/publi/node_modules/vinyl-file/index.js deleted file mode 100644 index 51a60ef..0000000 --- a/publi/node_modules/vinyl-file/index.js +++ /dev/null @@ -1,66 +0,0 @@ -'use strict'; -var path = require('path'); -var fs = require('graceful-fs'); -var stripBom = require('strip-bom'); -var stripBomStream = require('strip-bom-stream'); -var File = require('vinyl'); -var pify = require('pify'); -var Promise = require('pinkie-promise'); -var fsP = pify(fs, Promise); - -exports.read = function (pth, opts) { - opts = opts || {}; - - var cwd = opts.cwd || process.cwd(); - var base = opts.base || cwd; - - pth = path.resolve(cwd, pth); - - return fsP.stat(pth).then(function (stat) { - var file = new File({ - cwd: cwd, - base: base, - path: pth, - stat: stat - }); - - if (opts.read === false) { - return file; - } - - if (opts.buffer === false) { - file.contents = fs.createReadStream(pth).pipe(stripBomStream()); - return file; - } - - return fsP.readFile(pth).then(function (contents) { - file.contents = stripBom(contents); - return file; - }); - }); -}; - -exports.readSync = function (pth, opts) { - opts = opts || {}; - - var cwd = opts.cwd || process.cwd(); - var base = opts.base || cwd; - - pth = path.resolve(cwd, pth); - - var contents; - - if (opts.read !== false) { - contents = opts.buffer === false ? - fs.createReadStream(pth).pipe(stripBomStream()) : - stripBom(fs.readFileSync(pth)); - } - - return new File({ - cwd: cwd, - base: base, - path: pth, - stat: fs.statSync(pth), - contents: contents - }); -}; diff --git a/publi/node_modules/vinyl-file/license b/publi/node_modules/vinyl-file/license deleted file mode 100644 index 654d0bf..0000000 --- a/publi/node_modules/vinyl-file/license +++ /dev/null @@ -1,21 +0,0 @@ -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. diff --git a/publi/node_modules/vinyl-file/node_modules/vinyl/CHANGELOG.md b/publi/node_modules/vinyl-file/node_modules/vinyl/CHANGELOG.md deleted file mode 100644 index 9bf67df..0000000 --- a/publi/node_modules/vinyl-file/node_modules/vinyl/CHANGELOG.md +++ /dev/null @@ -1,163 +0,0 @@ -## Change Log - -### v1.1.1 (2016/01/18 23:23 +00:00) -- [3990e00](https://github.com/gulpjs/vinyl/commit/3990e007b004c809a53670c00566afb157fa56b6) 1.1.1 -- [2d3e984](https://github.com/gulpjs/vinyl/commit/2d3e98447a42285b593e1b261984b87b171e7313) chore: add NPM script for changelog (@T1st3) -- [f70c395](https://github.com/gulpjs/vinyl/commit/f70c395085fc3952cf72c061c851f5b0d4676030) docs: add CHANGELOG.md (@T1st3) -- [#74](https://github.com/gulpjs/vinyl/pull/74) Fix isVinyl for falsy values (@erikkemperman) -- [3e8b132](https://github.com/gulpjs/vinyl/commit/3e8b132cd87bf5ab536ff7a4c6d660e33f5990b4) Fix isVinyl for falsy values (@erikkemperman) -- [#73](https://github.com/gulpjs/vinyl/pull/73) Readme: use SVG images. (@d10) -- [193e3d2](https://github.com/gulpjs/vinyl/commit/193e3d25f68c97593e011981e49db2c3e7a47d91) Readme: use SVG images. (@d10) -- [#67](https://github.com/gulpjs/vinyl/pull/67) Set Travis to sudo:false and add node 0.12/4.x (@pdehaan) -- [c33d85a](https://github.com/gulpjs/vinyl/commit/c33d85ab1d63fbcd272f7fb91d666006dab76d99) Set Travis to sudo:false and add node 0.12/4.x (@pdehaan) - -### v1.1.0 (2015/10/23 06:33 +00:00) -- [51052ad](https://github.com/gulpjs/vinyl/commit/51052add24bb1c771bf5912809b47d4d53288c48) 1.1.0 -- [#64](https://github.com/gulpjs/vinyl/pull/64) File.stem for basename without suffix (@soslan) -- [e505375](https://github.com/gulpjs/vinyl/commit/e5053756a49ea8800cd5da12fc0eefce859ccf61) Following JSCS rules in File.stem (@soslan) -- [d45f478](https://github.com/gulpjs/vinyl/commit/d45f478c7af3f2e956e57ce6d7550d64e3b7dbfb) Following JSCS rules (@soslan) -- [#66](https://github.com/gulpjs/vinyl/pull/66) Replace JSHint with ESLint (@pdehaan) -- [c5549f7](https://github.com/gulpjs/vinyl/commit/c5549f7002ae580fa9a7f7df490d6e3911af2285) Bump to eslint-config-gulp@2 (@pdehaan) -- [f6a5512](https://github.com/gulpjs/vinyl/commit/f6a55125e7230621ecae1f395da202140baaee1d) Replace JSHint with ESLint (@pdehaan) -- [#65](https://github.com/gulpjs/vinyl/pull/65) Add JSCS to repo (@pdehaan) -- [f9a0101](https://github.com/gulpjs/vinyl/commit/f9a0101d013356056293d21356d4cb443613b0be) Comments should start with uppercase letters (per JSCS) (@pdehaan) -- [6506478](https://github.com/gulpjs/vinyl/commit/650647833e3cea8d005a3ab1810ecd285418fa1e) Add JSCS to repo (@pdehaan) -- [ae3778c](https://github.com/gulpjs/vinyl/commit/ae3778c536a898fe47bbb37e5932b300123b28b8) Documentation for File.stem (@soslan) -- [e2246af](https://github.com/gulpjs/vinyl/commit/e2246af8aad6df348557f9d1df5001c30ff83774) add stem property to File (@soslan) -- [#63](https://github.com/gulpjs/vinyl/pull/63) Fix broken badge URLs in README.md (@tatsuyafw) -- [032ae7c](https://github.com/gulpjs/vinyl/commit/032ae7c5c59b72dc58041a14449d8d66af053023) Use reference links (@tatsuyafw) -- [652bc3b](https://github.com/gulpjs/vinyl/commit/652bc3bd3cc7a6af5d21d8d759a01cee3ce46acf) Fix some broken links in README.md (@tatsuyafw) - -### v1.0.0 (2015/09/25 22:40 +00:00) -- [dbe943d](https://github.com/gulpjs/vinyl/commit/dbe943dad575b04995f38a35bd27962f54dc8217) 1.0.0 (@contra) -- [0b64336](https://github.com/gulpjs/vinyl/commit/0b643367289db0cfefc6c628eff2be4ee019405c) correct url (@contra) -- [#60](https://github.com/gulpjs/vinyl/pull/60) remove
from README.md (@bobintornado) -- [d9ae5ea](https://github.com/gulpjs/vinyl/commit/d9ae5eab010fd15094c8a0260a25d1244f17df79) remove
from README.md (@bobintornado) - -### v0.5.3 (2015/09/03 00:20 +00:00) -- [6f19648](https://github.com/gulpjs/vinyl/commit/6f19648bd67040bfd0dc755ad031e1e5e0b58429) 0.5.3 (@contra) -- [0fe8da7](https://github.com/gulpjs/vinyl/commit/0fe8da757a862bb956d88dec03ab6f99ca895f7f) add isVinyl function (@contra) - -### v0.5.1 (2015/08/04 21:26 +00:00) -- [81692ec](https://github.com/gulpjs/vinyl/commit/81692ece22eb3b927dba74fedb54a2acb65a36eb) 0.5.1 (@contra) -- [#58](https://github.com/gulpjs/vinyl/pull/58) use Buffer.isBuffer instead of instanceof (@whyrusleeping) -- [7293a71](https://github.com/gulpjs/vinyl/commit/7293a71b9daf177d9b9f600f3acf00a73b95107c) condense isBuffer module to a one liner (@whyrusleeping) -- [e7208e2](https://github.com/gulpjs/vinyl/commit/e7208e2c27029405c7c9cf9c9a3263cdf1e0dfb8) also remove old comment (@whyrusleeping) -- [b4ac64b](https://github.com/gulpjs/vinyl/commit/b4ac64b85ce28093f576db4f006264438f546cb8) use Buffer.isBuffer instead of instanceof (@whyrusleeping) -- [#54](https://github.com/gulpjs/vinyl/pull/54) Fix file clone options (@danielhusar) -- [4b42095](https://github.com/gulpjs/vinyl/commit/4b42095d8e0cb4351a503da67752da15e6b59570) Fix file clone options (@danielhusar) -- [04f681e](https://github.com/gulpjs/vinyl/commit/04f681e4af8ffb99ea3a0a3eab1cc79793887560) closes #50 and #51 (@contra) - -### v0.5.0 (2015/06/03 23:44 +00:00) -- [8fea984](https://github.com/gulpjs/vinyl/commit/8fea9843e6b2aca820ccfee394927ca073f88a05) 0.5.0 (@contra) -- [#52](https://github.com/gulpjs/vinyl/pull/52) Add explicit newlines to readme (@jeremyruppel) -- [027142c](https://github.com/gulpjs/vinyl/commit/027142cf62a3f0a68f4659a612ee782b24c00198) Add explicit newlines to readme (@jeremyruppel) -- [#46](https://github.com/gulpjs/vinyl/pull/46) Add dirname, basename and extname getters (@jeremyruppel) -- [e09817f](https://github.com/gulpjs/vinyl/commit/e09817f15e4ddfc28e1b3452bbca5e2ba1fc2f19) Add dirname, basename and extname accessors (@jeremyruppel) -- [#49](https://github.com/gulpjs/vinyl/pull/49) update license attribute (@pgilad) -- [e5b2670](https://github.com/gulpjs/vinyl/commit/e5b2670af205ca0fb6f589a396b89ab2845a91ac) update license attribut (@pgilad) -- [55f90e3](https://github.com/gulpjs/vinyl/commit/55f90e3763af84c7eb599bd6403dbe14f63d5513) dep updates (@contra) -- [#48](https://github.com/gulpjs/vinyl/pull/48) Update docs for `path` and `history` (@jmm) -- [231f32a](https://github.com/gulpjs/vinyl/commit/231f32a375aa9147d0a41ffd1ace773c45e66ee5) Document `path`. (@jmm) -- [93df183](https://github.com/gulpjs/vinyl/commit/93df18374b62de32c76862baf73e92f33b04882a) Document `options.history`. (@jmm) -- [2ed6a01](https://github.com/gulpjs/vinyl/commit/2ed6a012c03a78b46f9d41034969898a15fdfe15) Correct `options.path` default value docs. (@jmm) -- [edf1ecb](https://github.com/gulpjs/vinyl/commit/edf1ecb0698f355e137f9361a9a9a2581ca485e5) Document `history`. (@jmm) -- [#45](https://github.com/gulpjs/vinyl/pull/45) Update dependencies and devDependencies (@shinnn) -- [f1f9dfb](https://github.com/gulpjs/vinyl/commit/f1f9dfbb1346b608226e5847161bf48e0caa2c1e) update test script (@shinnn) -- [0737ef4](https://github.com/gulpjs/vinyl/commit/0737ef489f9cfffa2494b06edaab9a032f00eb7e) update dependencies and devDependencies (@shinnn) -- [#43](https://github.com/gulpjs/vinyl/pull/43) Document `file.clone()` arguments (@pascalduez) -- [3c5e95d](https://github.com/gulpjs/vinyl/commit/3c5e95d5f482ea9f28dd2d78b83166723cd121bb) Document `file.clone()` arguments (@pascalduez) - -### v0.4.6 (2014/12/03 06:15 +00:00) -- [8255a5f](https://github.com/gulpjs/vinyl/commit/8255a5f1de7fecb1cd5e7ba7ac1ec997395f6be1) 0.4.6 (@contra) -- [37dafeb](https://github.com/gulpjs/vinyl/commit/37dafeb8cb0b33424e77fe67a094517925be2bef) dep update (@contra) - -### v0.4.5 (2014/11/13 23:23 +00:00) -- [a7a8c68](https://github.com/gulpjs/vinyl/commit/a7a8c68a1df914b1f486a54a97b68e9186699d33) 0.4.5 (@contra) -- [ec094b4](https://github.com/gulpjs/vinyl/commit/ec094b43e36512894142baacef26dfffc5827114) reduce size by switching off lodash (@contra) - -### v0.4.4 (2014/11/13 22:59 +00:00) -- [61834c9](https://github.com/gulpjs/vinyl/commit/61834c9429f2e6883a18f377bc5893031ea1c94f) 0.4.4 (@contra) -- [fd887b3](https://github.com/gulpjs/vinyl/commit/fd887b3d21ed47c2b4cf40b0c0ed7b2df9048b09) ignore some files for size reasons (@contra) -- [#37](https://github.com/gulpjs/vinyl/pull/37) Don't package coverage into NPM (@Dapperbot) -- [9b811b8](https://github.com/gulpjs/vinyl/commit/9b811b86529e2b4b0cc20936a6697b3d9df503a2) Don't package coverage into NPM (@lotyrin) - -### v0.4.3 (2014/09/01 18:17 +00:00) -- [6eae432](https://github.com/gulpjs/vinyl/commit/6eae432519b007c313a8df83b093adfb97a2944c) 0.4.3 (@contra) -- [d220c85](https://github.com/gulpjs/vinyl/commit/d220c857259f0070ab38c7b50d90f184a919e472) fix funky history passing, closes #35 (@contra) - -### v0.4.2 (2014/08/29 15:58 +00:00) -- [f33d6d5](https://github.com/gulpjs/vinyl/commit/f33d6d5c1b9d1f83e238521651114beb90a01019) 0.4.2 (@contra) -- [cd0d042](https://github.com/gulpjs/vinyl/commit/cd0d04272297363f27f8456818dbf675618939c3) remove native clone (@contra) -- [e4d8b99](https://github.com/gulpjs/vinyl/commit/e4d8b99c21a50700afd17173e1f3a2076e6fe860) minor speed enhancements (@contra) -- [2353e39](https://github.com/gulpjs/vinyl/commit/2353e3996ac67629da92c2af906bdfdbc6978065) minor speed ups (@contra) - -### v0.4.1 (2014/08/29 14:34 +00:00) -- [0014b9b](https://github.com/gulpjs/vinyl/commit/0014b9bf4166fb5cbe94c439201752cda7991a70) 0.4.1 (@contra) -- [0142513](https://github.com/gulpjs/vinyl/commit/0142513b0727ad6a018b0944fea2bb4966d8bbfa) fix history cloning bug (@contra) - -### v0.4.0 (2014/08/29 07:07 +00:00) -- [80d3f61](https://github.com/gulpjs/vinyl/commit/80d3f61445b347fc1c34f462f0ab800644e90e04) 0.4.0 (@contra) -- [#33](https://github.com/gulpjs/vinyl/pull/33) Clone stream (@popomore) -- [d37b57b](https://github.com/gulpjs/vinyl/commit/d37b57bba0aa1fba18d9fecec3513ac4e61b27cd) coverage 100% :sparkles: (@popomore) -- [b5a62f0](https://github.com/gulpjs/vinyl/commit/b5a62f0ede71bdeae957e8653e6ccbdca998879c) fix testcase and delete duplicate testcase (@popomore) -- [fb1b15d](https://github.com/gulpjs/vinyl/commit/fb1b15da472647743eb4e829b99f64d6d9f751fa) Adding more test (@nfroidure) -- [acea889](https://github.com/gulpjs/vinyl/commit/acea8894e9d983d8037641b4ff6f08b666056979) Fixing the clone method (@nfroidure) -- [#32](https://github.com/gulpjs/vinyl/pull/32) improve clone (@popomore) -- [037e830](https://github.com/gulpjs/vinyl/commit/037e8300b75fdddf9c3e003fd205da7ec13b9157) object should multiline (@popomore) -- [7724121](https://github.com/gulpjs/vinyl/commit/7724121194a4ac94fb23a0048ff926d00a784ecc) pass jshint (@popomore) -- [f76a921](https://github.com/gulpjs/vinyl/commit/f76a9211b8b495d81074884d8ea6454a20bba349) use node-v8-clone for performance, fallback to lodash #29 (@popomore) -- [7638f07](https://github.com/gulpjs/vinyl/commit/7638f072bf33a427ec8324a0fb463f73cb9fc8f2) option to not clone buffer #16 (@popomore) -- [6bfd73c](https://github.com/gulpjs/vinyl/commit/6bfd73cc459907a06ce9affc373599ffb8130c08) copy all attributes deeply #29 (@popomore) -- [b34f813](https://github.com/gulpjs/vinyl/commit/b34f8135d47e0a2ba3be6f769729ba66931b3234) add testcase for clone history (@popomore) -- [a913edf](https://github.com/gulpjs/vinyl/commit/a913edf1dd91c5bdcfc9ff3149a94eae131006aa) fix mixed quote and unused variable (@popomore) - -### v0.3.3 (2014/08/28 13:50 +00:00) -- [c801d3d](https://github.com/gulpjs/vinyl/commit/c801d3dc354383cf2656338d63908ec2983e3612) 0.3.3 (@contra) -- [f13970e](https://github.com/gulpjs/vinyl/commit/f13970e3cc5d1d730f94316daeee5b5c0e6c00f3) fix jshint on tests (@contra) -- [6186101](https://github.com/gulpjs/vinyl/commit/61861017bc22a786a026730cf5c55d23c657abea) closes #31 (@contra) -- [#24](https://github.com/gulpjs/vinyl/pull/24) path get/set for recording path change (@popomore) -- [6eab1c4](https://github.com/gulpjs/vinyl/commit/6eab1c4f1376aec901d8869d3d410953f1c93e9f) done (@contra) - -### v0.3.2 (2014/07/30 23:22 +00:00) -- [44ef836](https://github.com/gulpjs/vinyl/commit/44ef8369e1a0a7ba01da4608d01166c5a5d8cbe1) 0.3.2 (@contra) -- [ae28ff2](https://github.com/gulpjs/vinyl/commit/ae28ff200c034e9a40babb38886cdc7ef97a0f25) oops, thats what i get for coding from a car (@contra) - -### v0.3.1 (2014/07/30 22:35 +00:00) -- [03b7578](https://github.com/gulpjs/vinyl/commit/03b75789e58b43bdaef9ca166e4062b8ccfdefb9) 0.3.1 (@contra) -- [64850ff](https://github.com/gulpjs/vinyl/commit/64850ffdf4d31b35ac1160d0d495644cadd52914) fix deep deps, closes #28 (@contra) - -### v0.3.0 (2014/07/19 04:57 +00:00) -- [dcb77f3](https://github.com/gulpjs/vinyl/commit/dcb77f3246d1011a430c20f883eb89c520206ca6) 0.3.0 (@contra) -- [#27](https://github.com/gulpjs/vinyl/pull/27) Clone custom properties (@vweevers) -- [95710de](https://github.com/gulpjs/vinyl/commit/95710de62f4c1234a244a6818b5e39d92ea7b9a8) fix relative path test for windows (@vweevers) -- [e493187](https://github.com/gulpjs/vinyl/commit/e493187b3f2fd1485077f09e73e669407ac077d3) clone custom properties (@laurelnaiad) -- [e50ceac](https://github.com/gulpjs/vinyl/commit/e50ceacfc3daa825e111976ba4192cb93c80bfe2) throw when set path is null (@popomore) -- [7c71bf3](https://github.com/gulpjs/vinyl/commit/7c71bf3d806a98730a0ce5edd56c0b8f1f42e8f0) remove initialize of this.path (@popomore) -- [d95023f](https://github.com/gulpjs/vinyl/commit/d95023f6604a990d38e4f5b332c7916ceb012366) delete this._path :tongue: (@popomore) -- [f3f9be0](https://github.com/gulpjs/vinyl/commit/f3f9be0f3d76b4125353cd936731f70015d44284) path get/set for recording path change #19 (@popomore) -- [#21](https://github.com/gulpjs/vinyl/pull/21) LICENSE: Remove executable mode (@felixrabe) -- [#22](https://github.com/gulpjs/vinyl/pull/22) Travis: Dump node 0.9 - travis-ci/travis-ci#2251 (@felixrabe) -- [70a2193](https://github.com/gulpjs/vinyl/commit/70a219346c00e0db6be1a0aa55c183e7d5b80ad1) Travis: Dump node 0.9 - travis-ci/travis-ci#2251 (@felixrabe) -- [460eed5](https://github.com/gulpjs/vinyl/commit/460eed58de9cb04d44e35b6bebbfbaea9146015f) LICENSE: Remove executable mode (@felixrabe) -- [#18](https://github.com/gulpjs/vinyl/pull/18) fix typo (@vvakame) -- [1783e7f](https://github.com/gulpjs/vinyl/commit/1783e7f031ecfb118ee9b43971a72be264caa144) fix typo (@vvakame) -- [#11](https://github.com/gulpjs/vinyl/pull/11) Correct README about pipe's end option. (@shuhei) -- [1824ec9](https://github.com/gulpjs/vinyl/commit/1824ec9cefd276557b7338dfdbd54922599f020a) Correct README about pipe's end option. (@shuhei) -- [f49b9c3](https://github.com/gulpjs/vinyl/commit/f49b9c325229754229726ed530c579e4ac23252b) remove dead line (@contra) -- [1ca8e46](https://github.com/gulpjs/vinyl/commit/1ca8e463259c2a395d5d41b528b04a89a953f6b7) dep update, new coveralls stuff (@contra) -- [f00767b](https://github.com/gulpjs/vinyl/commit/f00767bf8b61ca8a7b25f3ebd3dde297fa2dafd7) bump (@contra) -- [#8](https://github.com/gulpjs/vinyl/pull/8) Correct File.clone() treatment of File.stats (@hughsk) -- [bc3acf7](https://github.com/gulpjs/vinyl/commit/bc3acf7b1ed712d70e7d8cb4f6e5248124743ec7) Add test for new File.clone() functionality (@hughsk) -- [dd668fb](https://github.com/gulpjs/vinyl/commit/dd668fb5aaed02cfb0f63a58f027c937dd7e0467) Use clone-stats module to clone fs.Stats instances. (@hughsk) -- [b6244c5](https://github.com/gulpjs/vinyl/commit/b6244c52d3bf9bd87bd6b926f0486f407627f7e0) Correct File.clone() treatment of File.stats (@hughsk) -- [796ba8b](https://github.com/gulpjs/vinyl/commit/796ba8b5ddd658fed3393c7d0a0d7bea7befa1b1) 0.2.1 - fixes #2 (@contra) -- [bffa6a4](https://github.com/gulpjs/vinyl/commit/bffa6a4e323e18e084b5b1444b4537aa3fb3e109) vinyl-fs movement? (@contra) -- [cfaa0a0](https://github.com/gulpjs/vinyl/commit/cfaa0a02b7794e493f600d1d36b288294a278e6c) fix isDirectory tests (@contra) -- [05d1f1b](https://github.com/gulpjs/vinyl/commit/05d1f1b741960cce8e8d2702d326ebb0187935ad) add isDirectory (@contra) -- [76580e5](https://github.com/gulpjs/vinyl/commit/76580e573870885580ac00dd9175e562d008cb81) bump to 0.1.0 (@contra) -- [f7a15c4](https://github.com/gulpjs/vinyl/commit/f7a15c41ac5e82de930e161f6b109ae3336d337b) readme 0.9+ (@contra) -- [fc7f192](https://github.com/gulpjs/vinyl/commit/fc7f1925b2a18466f19db062ad28df02f1db823b) drop 0.8 support (@contra) -- [c004b6c](https://github.com/gulpjs/vinyl/commit/c004b6c857d03a292e8ecd5020ad0420d82dbf1e) target 0.8+ (@contra) -- [edf20bd](https://github.com/gulpjs/vinyl/commit/edf20bd8563fca6e8a568b9d08fb728f6705573c) add small example (@contra) -- [d8c63fe](https://github.com/gulpjs/vinyl/commit/d8c63fe0fd16cf13db2d9a6452c979ec12779428) 0.0.1 (@contra) \ No newline at end of file diff --git a/publi/node_modules/vinyl-file/node_modules/vinyl/LICENSE b/publi/node_modules/vinyl-file/node_modules/vinyl/LICENSE deleted file mode 100644 index 4f482f9..0000000 --- a/publi/node_modules/vinyl-file/node_modules/vinyl/LICENSE +++ /dev/null @@ -1,20 +0,0 @@ -Copyright (c) 2013 Fractal - -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/publi/node_modules/vinyl-file/node_modules/vinyl/README.md b/publi/node_modules/vinyl-file/node_modules/vinyl/README.md deleted file mode 100644 index d4d2c61..0000000 --- a/publi/node_modules/vinyl-file/node_modules/vinyl/README.md +++ /dev/null @@ -1,265 +0,0 @@ -# vinyl [![NPM version][npm-image]][npm-url] [![Build Status][travis-image]][travis-url] [![Coveralls Status][coveralls-image]][coveralls-url] [![Dependency Status][depstat-image]][depstat-url] - -## Information -
Packagevinyl
DescriptionA virtual file format
Node Version>= 0.9
- -## What is this? -Read this for more info about how this plays into the grand scheme of things [https://medium.com/@eschoff/3828e8126466](https://medium.com/@eschoff/3828e8126466) - -## File - -```javascript -var File = require('vinyl'); - -var coffeeFile = new File({ - cwd: "/", - base: "/test/", - path: "/test/file.coffee", - contents: new Buffer("test = 123") -}); -``` - -### isVinyl -When checking if an object is a vinyl file, you should not use instanceof. Use the isVinyl function instead. - -```js -var File = require('vinyl'); - -var dummy = new File({stuff}); -var notAFile = {}; - -File.isVinyl(dummy); // true -File.isVinyl(notAFile); // false -``` - -### isCustomProp -Vinyl checks if a property is not managed internally, such as `sourceMap`. This is than used in `constructor(options)` when setting, and `clone()` when copying properties. - -```js -var File = require('vinyl'); - -File.isCustomProp('sourceMap'); // true -File.isCustomProp('path'); // false -> internal getter/setter -``` - -Read more in [Extending Vinyl](#extending-vinyl). - -### constructor(options) -#### options.cwd -Type: `String`

Default: `process.cwd()` - -#### options.base -Used for relative pathing. Typically where a glob starts. - -Type: `String`

Default: `options.cwd` - -#### options.path -Full path to the file. - -Type: `String`

Default: `undefined` - -#### options.history -Path history. Has no effect if `options.path` is passed. - -Type: `Array`

Default: `options.path ? [options.path] : []` - -#### options.stat -The result of an fs.stat call. See [fs.Stats](http://nodejs.org/api/fs.html#fs_class_fs_stats) for more information. - -Type: `fs.Stats`

Default: `null` - -#### options.contents -File contents. - -Type: `Buffer, Stream, or null`

Default: `null` - -#### options.{custom} -Any other option properties will just be assigned to the new File object. - -```js -var File = require('vinyl'); - -var file = new File({foo: 'bar'}); -file.foo === 'bar'; // true -``` - -### isBuffer() -Returns true if file.contents is a Buffer. - -### isStream() -Returns true if file.contents is a Stream. - -### isNull() -Returns true if file.contents is null. - -### clone([opt]) -Returns a new File object with all attributes cloned.
By default custom attributes are deep-cloned. - -If opt or opt.deep is false, custom attributes will not be deep-cloned. - -If opt.contents is false, it will copy file.contents Buffer's reference. - -### pipe(stream[, opt]) -If file.contents is a Buffer, it will write it to the stream. - -If file.contents is a Stream, it will pipe it to the stream. - -If file.contents is null, it will do nothing. - -If opt.end is false, the destination stream will not be ended (same as node core). - -Returns the stream. - -### inspect() -Returns a pretty String interpretation of the File. Useful for console.log. - -### contents -The [Stream](https://nodejs.org/api/stream.html#stream_stream) or [Buffer](https://nodejs.org/api/buffer.html#buffer_class_buffer) of the file as it was passed in via options, or as the result of modification. - -For example: - -```js -if (file.isBuffer()) { - console.log(file.contents.toString()); // logs out the string of contents -} -``` - -### path -Absolute pathname string or `undefined`. Setting to a different value pushes the old value to `history`. - -### history -Array of `path` values the file object has had, from `history[0]` (original) through `history[history.length - 1]` (current). `history` and its elements should normally be treated as read-only and only altered indirectly by setting `path`. - -### relative -Returns path.relative for the file base and file path. - -Example: - -```javascript -var file = new File({ - cwd: "/", - base: "/test/", - path: "/test/file.coffee" -}); - -console.log(file.relative); // file.coffee -``` - -### dirname -Gets and sets path.dirname for the file path. - -Example: - -```javascript -var file = new File({ - cwd: "/", - base: "/test/", - path: "/test/file.coffee" -}); - -console.log(file.dirname); // /test - -file.dirname = '/specs'; - -console.log(file.dirname); // /specs -console.log(file.path); // /specs/file.coffee -``` - -### basename -Gets and sets path.basename for the file path. - -Example: - -```javascript -var file = new File({ - cwd: "/", - base: "/test/", - path: "/test/file.coffee" -}); - -console.log(file.basename); // file.coffee - -file.basename = 'file.js'; - -console.log(file.basename); // file.js -console.log(file.path); // /test/file.js -``` - -### stem -Gets and sets stem (filename without suffix) for the file path. - -Example: - -```javascript -var file = new File({ - cwd: "/", - base: "/test/", - path: "/test/file.coffee" -}); - -console.log(file.stem); // file - -file.stem = 'foo'; - -console.log(file.stem); // foo -console.log(file.path); // /test/foo.coffee -``` - -### extname -Gets and sets path.extname for the file path. - -Example: - -```javascript -var file = new File({ - cwd: "/", - base: "/test/", - path: "/test/file.coffee" -}); - -console.log(file.extname); // .coffee - -file.extname = '.js'; - -console.log(file.extname); // .js -console.log(file.path); // /test/file.js -``` - -## Extending Vinyl -When extending Vinyl into your own class with extra features, you need to think about a few things. - -When you have your own properties that are managed internally, you need to extend the static `isCustomProp` method to return `false` when one of these properties is queried. - -```js -const File = require('vinyl'); - -const builtInProps = ['foo', '_foo']; - -class SuperFile extends File { - constructor(options) { - super(options); - this._foo = 'example internal read-only value'; - } - - get foo() { - return this._foo; - } - - static isCustomProp(name) { - return super.isCustomProp(name) && builtInProps.indexOf(name) === -1; - } -} -``` - -This makes properties `foo` and `_foo` ignored when cloning, and when passed in options to `constructor(options)` so they don't get assigned to the new object. - -Same goes for `clone()`. If you have your own internal stuff that needs special handling during cloning, you should extend it to do so. - -[npm-url]: https://npmjs.org/package/vinyl -[npm-image]: https://badge.fury.io/js/vinyl.svg -[travis-url]: https://travis-ci.org/gulpjs/vinyl -[travis-image]: https://travis-ci.org/gulpjs/vinyl.svg?branch=master -[coveralls-url]: https://coveralls.io/github/gulpjs/vinyl -[coveralls-image]: https://coveralls.io/repos/github/gulpjs/vinyl/badge.svg -[depstat-url]: https://david-dm.org/gulpjs/vinyl -[depstat-image]: https://david-dm.org/gulpjs/vinyl.svg diff --git a/publi/node_modules/vinyl-file/node_modules/vinyl/index.js b/publi/node_modules/vinyl-file/node_modules/vinyl/index.js deleted file mode 100644 index 5a1fe55..0000000 --- a/publi/node_modules/vinyl-file/node_modules/vinyl/index.js +++ /dev/null @@ -1,270 +0,0 @@ -var path = require('path'); -var clone = require('clone'); -var cloneStats = require('clone-stats'); -var cloneBuffer = require('./lib/cloneBuffer'); -var isBuffer = require('./lib/isBuffer'); -var isStream = require('./lib/isStream'); -var isNull = require('./lib/isNull'); -var inspectStream = require('./lib/inspectStream'); -var Stream = require('stream'); -var replaceExt = require('replace-ext'); - -var builtInFields = [ - '_contents', 'contents', 'stat', 'history', 'path', 'base', 'cwd', -]; - -function File(file) { - var self = this; - - if (!file) { - file = {}; - } - - // Record path change - var history = file.path ? [file.path] : file.history; - this.history = history || []; - - this.cwd = file.cwd || process.cwd(); - this.base = file.base || this.cwd; - - // Stat = files stats object - this.stat = file.stat || null; - - // Contents = stream, buffer, or null if not read - this.contents = file.contents || null; - - this._isVinyl = true; - - // Set custom properties - Object.keys(file).forEach(function(key) { - if (self.constructor.isCustomProp(key)) { - self[key] = file[key]; - } - }); -} - -File.prototype.isBuffer = function() { - return isBuffer(this.contents); -}; - -File.prototype.isStream = function() { - return isStream(this.contents); -}; - -File.prototype.isNull = function() { - return isNull(this.contents); -}; - -// TODO: Should this be moved to vinyl-fs? -File.prototype.isDirectory = function() { - return this.isNull() && this.stat && this.stat.isDirectory(); -}; - -File.prototype.clone = function(opt) { - var self = this; - - if (typeof opt === 'boolean') { - opt = { - deep: opt, - contents: true, - }; - } else if (!opt) { - opt = { - deep: true, - contents: true, - }; - } else { - opt.deep = opt.deep === true; - opt.contents = opt.contents !== false; - } - - // Clone our file contents - var contents; - if (this.isStream()) { - contents = this.contents.pipe(new Stream.PassThrough()); - this.contents = this.contents.pipe(new Stream.PassThrough()); - } else if (this.isBuffer()) { - contents = opt.contents ? cloneBuffer(this.contents) : this.contents; - } - - var file = new this.constructor({ - cwd: this.cwd, - base: this.base, - stat: (this.stat ? cloneStats(this.stat) : null), - history: this.history.slice(), - contents: contents, - }); - - // Clone our custom properties - Object.keys(this).forEach(function(key) { - if (self.constructor.isCustomProp(key)) { - file[key] = opt.deep ? clone(self[key], true) : self[key]; - } - }); - return file; -}; - -File.prototype.pipe = function(stream, opt) { - if (!opt) { - opt = {}; - } - if (typeof opt.end === 'undefined') { - opt.end = true; - } - - if (this.isStream()) { - return this.contents.pipe(stream, opt); - } - if (this.isBuffer()) { - if (opt.end) { - stream.end(this.contents); - } else { - stream.write(this.contents); - } - return stream; - } - - // Check if isNull - if (opt.end) { - stream.end(); - } - return stream; -}; - -File.prototype.inspect = function() { - var inspect = []; - - // Use relative path if possible - var filePath = (this.base && this.path) ? this.relative : this.path; - - if (filePath) { - inspect.push('"' + filePath + '"'); - } - - if (this.isBuffer()) { - inspect.push(this.contents.inspect()); - } - - if (this.isStream()) { - inspect.push(inspectStream(this.contents)); - } - - return ''; -}; - -File.isCustomProp = function(key) { - return builtInFields.indexOf(key) === -1; -}; - -File.isVinyl = function(file) { - return (file && file._isVinyl === true) || false; -}; - -// Virtual attributes -// Or stuff with extra logic -Object.defineProperty(File.prototype, 'contents', { - get: function() { - return this._contents; - }, - set: function(val) { - if (!isBuffer(val) && !isStream(val) && !isNull(val)) { - throw new Error('File.contents can only be a Buffer, a Stream, or null.'); - } - this._contents = val; - }, -}); - -// TODO: Should this be moved to vinyl-fs? -Object.defineProperty(File.prototype, 'relative', { - get: function() { - if (!this.base) { - throw new Error('No base specified! Can not get relative.'); - } - if (!this.path) { - throw new Error('No path specified! Can not get relative.'); - } - return path.relative(this.base, this.path); - }, - set: function() { - throw new Error('File.relative is generated from the base and path attributes. Do not modify it.'); - }, -}); - -Object.defineProperty(File.prototype, 'dirname', { - get: function() { - if (!this.path) { - throw new Error('No path specified! Can not get dirname.'); - } - return path.dirname(this.path); - }, - set: function(dirname) { - if (!this.path) { - throw new Error('No path specified! Can not set dirname.'); - } - this.path = path.join(dirname, path.basename(this.path)); - }, -}); - -Object.defineProperty(File.prototype, 'basename', { - get: function() { - if (!this.path) { - throw new Error('No path specified! Can not get basename.'); - } - return path.basename(this.path); - }, - set: function(basename) { - if (!this.path) { - throw new Error('No path specified! Can not set basename.'); - } - this.path = path.join(path.dirname(this.path), basename); - }, -}); - -// Property for getting/setting stem of the filename. -Object.defineProperty(File.prototype, 'stem', { - get: function() { - if (!this.path) { - throw new Error('No path specified! Can not get stem.'); - } - return path.basename(this.path, this.extname); - }, - set: function(stem) { - if (!this.path) { - throw new Error('No path specified! Can not set stem.'); - } - this.path = path.join(path.dirname(this.path), stem + this.extname); - }, -}); - -Object.defineProperty(File.prototype, 'extname', { - get: function() { - if (!this.path) { - throw new Error('No path specified! Can not get extname.'); - } - return path.extname(this.path); - }, - set: function(extname) { - if (!this.path) { - throw new Error('No path specified! Can not set extname.'); - } - this.path = replaceExt(this.path, extname); - }, -}); - -Object.defineProperty(File.prototype, 'path', { - get: function() { - return this.history[this.history.length - 1]; - }, - set: function(path) { - if (typeof path !== 'string') { - throw new Error('path should be string'); - } - - // Record history only when path changed - if (path && path !== this.path) { - this.history.push(path); - } - }, -}); - -module.exports = File; diff --git a/publi/node_modules/vinyl-file/node_modules/vinyl/lib/cloneBuffer.js b/publi/node_modules/vinyl-file/node_modules/vinyl/lib/cloneBuffer.js deleted file mode 100644 index 89f09ed..0000000 --- a/publi/node_modules/vinyl-file/node_modules/vinyl/lib/cloneBuffer.js +++ /dev/null @@ -1,7 +0,0 @@ -var Buffer = require('buffer').Buffer; - -module.exports = function(buf) { - var out = new Buffer(buf.length); - buf.copy(out); - return out; -}; diff --git a/publi/node_modules/vinyl-file/node_modules/vinyl/lib/inspectStream.js b/publi/node_modules/vinyl-file/node_modules/vinyl/lib/inspectStream.js deleted file mode 100644 index 942f23d..0000000 --- a/publi/node_modules/vinyl-file/node_modules/vinyl/lib/inspectStream.js +++ /dev/null @@ -1,15 +0,0 @@ -var isStream = require('./isStream'); - -module.exports = function(stream) { - if (!isStream(stream)) { - return; - } - - var streamType = stream.constructor.name; - // Avoid StreamStream - if (streamType === 'Stream') { - streamType = ''; - } - - return '<' + streamType + 'Stream>'; -}; diff --git a/publi/node_modules/vinyl-file/node_modules/vinyl/lib/isBuffer.js b/publi/node_modules/vinyl-file/node_modules/vinyl/lib/isBuffer.js deleted file mode 100644 index 8a767d1..0000000 --- a/publi/node_modules/vinyl-file/node_modules/vinyl/lib/isBuffer.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('buffer').Buffer.isBuffer; diff --git a/publi/node_modules/vinyl-file/node_modules/vinyl/lib/isNull.js b/publi/node_modules/vinyl-file/node_modules/vinyl/lib/isNull.js deleted file mode 100644 index 7f22c63..0000000 --- a/publi/node_modules/vinyl-file/node_modules/vinyl/lib/isNull.js +++ /dev/null @@ -1,3 +0,0 @@ -module.exports = function(v) { - return v === null; -}; diff --git a/publi/node_modules/vinyl-file/node_modules/vinyl/lib/isStream.js b/publi/node_modules/vinyl-file/node_modules/vinyl/lib/isStream.js deleted file mode 100644 index 6b54e12..0000000 --- a/publi/node_modules/vinyl-file/node_modules/vinyl/lib/isStream.js +++ /dev/null @@ -1,5 +0,0 @@ -var Stream = require('stream').Stream; - -module.exports = function(o) { - return !!o && o instanceof Stream; -}; diff --git a/publi/node_modules/vinyl-file/node_modules/vinyl/package.json b/publi/node_modules/vinyl-file/node_modules/vinyl/package.json deleted file mode 100644 index 97cfdf6..0000000 --- a/publi/node_modules/vinyl-file/node_modules/vinyl/package.json +++ /dev/null @@ -1,79 +0,0 @@ -{ - "_from": "vinyl@^1.1.0", - "_id": "vinyl@1.2.0", - "_inBundle": false, - "_integrity": "sha1-XIgDbPVl5d8FVYv8kR+GVt8hiIQ=", - "_location": "/vinyl-file/vinyl", - "_phantomChildren": {}, - "_requested": { - "type": "range", - "registry": true, - "raw": "vinyl@^1.1.0", - "name": "vinyl", - "escapedName": "vinyl", - "rawSpec": "^1.1.0", - "saveSpec": null, - "fetchSpec": "^1.1.0" - }, - "_requiredBy": [ - "/vinyl-file" - ], - "_resolved": "https://registry.npmjs.org/vinyl/-/vinyl-1.2.0.tgz", - "_shasum": "5c88036cf565e5df05558bfc911f8656df218884", - "_spec": "vinyl@^1.1.0", - "_where": "/mnt/Data/bach/Documents/ola/OLA#5/ola5doc/publi/node_modules/vinyl-file", - "author": { - "name": "Fractal", - "email": "contact@wearefractal.com", - "url": "http://wearefractal.com/" - }, - "bugs": { - "url": "https://github.com/gulpjs/vinyl/issues" - }, - "bundleDependencies": false, - "dependencies": { - "clone": "^1.0.0", - "clone-stats": "^0.0.1", - "replace-ext": "0.0.1" - }, - "deprecated": false, - "description": "A virtual file format", - "devDependencies": { - "buffer-equal": "0.0.1", - "eslint": "^1.7.3", - "eslint-config-gulp": "^2.0.0", - "event-stream": "^3.1.0", - "github-changes": "^1.0.1", - "istanbul": "^0.3.0", - "istanbul-coveralls": "^1.0.1", - "jscs": "^2.3.5", - "jscs-preset-gulp": "^1.0.0", - "lodash.templatesettings": "^3.1.0", - "mocha": "^2.0.0", - "rimraf": "^2.2.5", - "should": "^7.0.0" - }, - "engines": { - "node": ">= 0.9" - }, - "files": [ - "index.js", - "lib" - ], - "homepage": "http://github.com/gulpjs/vinyl", - "license": "MIT", - "main": "./index.js", - "name": "vinyl", - "repository": { - "type": "git", - "url": "git://github.com/gulpjs/vinyl.git" - }, - "scripts": { - "changelog": "github-changes -o gulpjs -r vinyl -b master -f ./CHANGELOG.md --order-semver --use-commit-body", - "coveralls": "istanbul cover _mocha && istanbul-coveralls", - "lint": "eslint . && jscs *.js lib/ test/", - "pretest": "npm run lint", - "test": "mocha" - }, - "version": "1.2.0" -} diff --git a/publi/node_modules/vinyl-file/package.json b/publi/node_modules/vinyl-file/package.json deleted file mode 100644 index 6f1d3ea..0000000 --- a/publi/node_modules/vinyl-file/package.json +++ /dev/null @@ -1,80 +0,0 @@ -{ - "_from": "vinyl-file@^2.0.0", - "_id": "vinyl-file@2.0.0", - "_inBundle": false, - "_integrity": "sha1-p+v1/779obfRjRQPyweyI++2dRo=", - "_location": "/vinyl-file", - "_phantomChildren": { - "clone": "1.0.3", - "clone-stats": "0.0.1", - "replace-ext": "0.0.1" - }, - "_requested": { - "type": "range", - "registry": true, - "raw": "vinyl-file@^2.0.0", - "name": "vinyl-file", - "escapedName": "vinyl-file", - "rawSpec": "^2.0.0", - "saveSpec": null, - "fetchSpec": "^2.0.0" - }, - "_requiredBy": [ - "/gulp-watch" - ], - "_resolved": "https://registry.npmjs.org/vinyl-file/-/vinyl-file-2.0.0.tgz", - "_shasum": "a7ebf5ffbefda1b7d18d140fcb07b223efb6751a", - "_spec": "vinyl-file@^2.0.0", - "_where": "/mnt/Data/bach/Documents/ola/OLA#5/ola5doc/publi/node_modules/gulp-watch", - "author": { - "name": "Sindre Sorhus", - "email": "sindresorhus@gmail.com", - "url": "sindresorhus.com" - }, - "bugs": { - "url": "https://github.com/sindresorhus/vinyl-file/issues" - }, - "bundleDependencies": false, - "dependencies": { - "graceful-fs": "^4.1.2", - "pify": "^2.3.0", - "pinkie-promise": "^2.0.0", - "strip-bom": "^2.0.0", - "strip-bom-stream": "^2.0.0", - "vinyl": "^1.1.0" - }, - "deprecated": false, - "description": "Create a vinyl file from an actual file", - "devDependencies": { - "ava": "*", - "is-stream": "^1.0.0", - "xo": "*" - }, - "engines": { - "node": ">=0.10.0" - }, - "files": [ - "index.js" - ], - "homepage": "https://github.com/sindresorhus/vinyl-file#readme", - "keywords": [ - "vinyl", - "fs", - "file", - "read", - "virtual", - "format", - "gulp", - "gulpfriendly" - ], - "license": "MIT", - "name": "vinyl-file", - "repository": { - "type": "git", - "url": "git+https://github.com/sindresorhus/vinyl-file.git" - }, - "scripts": { - "test": "xo && ava" - }, - "version": "2.0.0" -} diff --git a/publi/node_modules/vinyl-file/readme.md b/publi/node_modules/vinyl-file/readme.md deleted file mode 100644 index f942123..0000000 --- a/publi/node_modules/vinyl-file/readme.md +++ /dev/null @@ -1,79 +0,0 @@ -# vinyl-file [![Build Status](https://travis-ci.org/sindresorhus/vinyl-file.svg?branch=master)](https://travis-ci.org/sindresorhus/vinyl-file) - -> Create a [vinyl file](https://github.com/wearefractal/vinyl) from an actual file - - -## Install - -``` -$ npm install --save vinyl-file -``` - - -## Usage - -```js -const vinylFile = require('vinyl-file'); - -vinylFile.read('index.js').then(file => { - console.log(file.path); - //=> '/Users/sindresorhus/dev/vinyl-file/index.js' - - console.log(file.cwd); - //=> '/Users/sindresorhus/dev/vinyl-file' -}); - -const file = vinylFile.readSync('index.js'); - -console.log(file.path); -//=> '/Users/sindresorhus/dev/vinyl-file/index.js' - -console.log(file.cwd); -//=> '/Users/sindresorhus/dev/vinyl-file' -``` - - -## API - -### read(path, [options]) - -Returns a promise for a vinyl file. - -### readSync(path, [options]) - -Create a vinyl file synchronously and return it. - -#### options - -##### base - -Type: `string` -Default: `process.cwd()` - -Override the `base` of the vinyl file. - -##### cwd - -Type: `string` -Default: `process.cwd()` - -Override the `cwd` (current working directory) of the vinyl file. - -##### buffer - -Type: `boolean` -Default: `true` - -Setting this to `false` will return `file.contents` as a stream. This is useful when working with large files. **Note:** Plugins might not implement support for streams. - -##### read - -Type: `boolean` -Default: `true` - -Setting this to `false` will return `file.contents` as null and not read the file at all. - - -## License - -MIT © [Sindre Sorhus](http://sindresorhus.com) diff --git a/publi/node_modules/vinyl-fs/LICENSE b/publi/node_modules/vinyl-fs/LICENSE deleted file mode 100755 index 7cbe012..0000000 --- a/publi/node_modules/vinyl-fs/LICENSE +++ /dev/null @@ -1,20 +0,0 @@ -Copyright (c) 2014 Fractal - -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/publi/node_modules/vinyl-fs/README.md b/publi/node_modules/vinyl-fs/README.md deleted file mode 100644 index d3248d7..0000000 --- a/publi/node_modules/vinyl-fs/README.md +++ /dev/null @@ -1,93 +0,0 @@ -# vinyl-fs [![NPM version][npm-image]][npm-url] [![Build Status][travis-image]][travis-url] [![Coveralls Status][coveralls-image]][coveralls-url] [![Dependency Status](https://david-dm.org/wearefractal/vinyl.png?theme=shields.io)](https://david-dm.org/wearefractal/vinyl-fs) - -## Information - - - - - - - - - - - - - -
Packagevinyl-fs
DescriptionVinyl adapter for the file system
Node Version>= 0.10
- -## Usage - -```javascript -var map = require('map-stream'); -var fs = require('vinyl-fs'); - -var log = function(file, cb) { - console.log(file.path); - cb(null, file); -}; - -fs.src(['./js/**/*.js', '!./js/vendor/*.js']) - .pipe(map(log)) - .pipe(fs.dest('./output')); -``` - -## API - -### src(globs[, opt]) - -- Takes a glob string or an array of glob strings as the first argument. -- Possible options for the second argument: - - cwd - Specify the working directory the folder is relative to. Default is `process.cwd()` - - base - Specify the folder relative to the cwd. Default is where the glob begins. This is used to determine the file names when saving in `.dest()` - - buffer - `true` or `false` if you want to buffer the file. - - Default value is `true` - - `false` will make file.contents a paused Stream - - read - `true` or `false` if you want the file to be read or not. Useful for stuff like `rm`ing files. - - Default value is `true` - - `false` will disable writing the file to disk via `.dest()` - - Any glob-related options are documented in [glob-stream] and [node-glob] -- Returns a Readable/Writable stream. -- On write the stream will simply pass items through. -- This stream emits matching [vinyl] File objects - -### watch(globs[, opt, cb]) - -This is just [glob-watcher] - -- Takes a glob string or an array of glob strings as the first argument. -- Possible options for the second argument: - - Any options are passed to [gaze] -- Returns an EventEmitter - - 'changed' event is emitted on each file change -- Optionally calls the callback on each change event - -### dest(folder[, opt]) - -- Takes a folder path as the first argument. -- First argument can also be a function that takes in a file and returns a folder path. -- Possible options for the second argument: - - cwd - Specify the working directory the folder is relative to. Default is `process.cwd()` - - mode - Specify the mode the files should be created with. Default is the mode of the input file (file.stat.mode) -- Returns a Readable/Writable stream. -- On write the stream will save the [vinyl] File to disk at the folder/cwd specified. -- After writing the file to disk, it will be emitted from the stream so you can keep piping these around -- The file will be modified after being written to this stream - - `cwd`, `base`, and `path` will be overwritten to match the folder - - `stat.mode` will be overwritten if you used a mode parameter - - `contents` will have it's position reset to the beginning if it is a stream - -[glob-stream]: https://github.com/wearefractal/glob-stream -[node-glob]: https://github.com/isaacs/node-glob -[gaze]: https://github.com/shama/gaze -[glob-watcher]: https://github.com/wearefractal/glob-watcher -[vinyl]: https://github.com/wearefractal/vinyl - -[npm-url]: https://npmjs.org/package/vinyl-fs -[npm-image]: https://badge.fury.io/js/vinyl-fs.png -[travis-url]: https://travis-ci.org/wearefractal/vinyl-fs -[travis-image]: https://travis-ci.org/wearefractal/vinyl-fs.png?branch=master -[coveralls-url]: https://coveralls.io/r/wearefractal/vinyl-fs -[coveralls-image]: https://coveralls.io/repos/wearefractal/vinyl-fs/badge.png -[depstat-url]: https://david-dm.org/wearefractal/vinyl-fs -[depstat-image]: https://david-dm.org/wearefractal/vinyl-fs.png diff --git a/publi/node_modules/vinyl-fs/index.js b/publi/node_modules/vinyl-fs/index.js deleted file mode 100644 index 7306aa7..0000000 --- a/publi/node_modules/vinyl-fs/index.js +++ /dev/null @@ -1,7 +0,0 @@ -'use strict'; - -module.exports = { - src: require('./lib/src'), - dest: require('./lib/dest'), - watch: require('glob-watcher') -}; diff --git a/publi/node_modules/vinyl-fs/lib/dest/index.js b/publi/node_modules/vinyl-fs/lib/dest/index.js deleted file mode 100644 index 1b94ad3..0000000 --- a/publi/node_modules/vinyl-fs/lib/dest/index.js +++ /dev/null @@ -1,61 +0,0 @@ -'use strict'; - -var defaults = require('defaults'); -var path = require('path'); -var through2 = require('through2'); -var mkdirp = require('mkdirp'); -var fs = require('graceful-fs'); - -var writeContents = require('./writeContents'); - - -function dest(outFolder, opt) { - opt = opt || {}; - if (typeof outFolder !== 'string' && typeof outFolder !== 'function') { - throw new Error('Invalid output folder'); - } - - var options = defaults(opt, { - cwd: process.cwd() - }); - - if (typeof options.mode === 'string') { - options.mode = parseInt(options.mode, 8); - } - - var cwd = path.resolve(options.cwd); - - function saveFile (file, enc, cb) { - var basePath; - if (typeof outFolder === 'string') { - basePath = path.resolve(cwd, outFolder); - } - if (typeof outFolder === 'function') { - basePath = path.resolve(cwd, outFolder(file)); - } - var writePath = path.resolve(basePath, file.relative); - var writeFolder = path.dirname(writePath); - - // wire up new properties - file.stat = file.stat ? file.stat : new fs.Stats(); - file.stat.mode = (options.mode || file.stat.mode); - file.cwd = cwd; - file.base = basePath; - file.path = writePath; - - // mkdirp the folder the file is going in - mkdirp(writeFolder, function(err){ - if (err) { - return cb(err); - } - writeContents(writePath, file, cb); - }); - } - - var stream = through2.obj(saveFile); - // TODO: option for either backpressure or lossy - stream.resume(); - return stream; -} - -module.exports = dest; diff --git a/publi/node_modules/vinyl-fs/lib/dest/writeContents/index.js b/publi/node_modules/vinyl-fs/lib/dest/writeContents/index.js deleted file mode 100644 index ab8f0f9..0000000 --- a/publi/node_modules/vinyl-fs/lib/dest/writeContents/index.js +++ /dev/null @@ -1,59 +0,0 @@ -'use strict'; - -var fs = require('fs'); -var writeDir = require('./writeDir'); -var writeStream = require('./writeStream'); -var writeBuffer = require('./writeBuffer'); - -function writeContents(writePath, file, cb) { - var written = function(err) { - var done = function(err) { - cb(err, file); - }; - if (err) { - return done(err); - } - - if (!file.stat || typeof file.stat.mode !== 'number') { - return done(); - } - - fs.stat(writePath, function(err, st) { - if (err) { - return done(err); - } - // octal 7777 = decimal 4095 - var currentMode = (st.mode & 4095); - if (currentMode === file.stat.mode) { - return done(); - } - fs.chmod(writePath, file.stat.mode, done); - }); - }; - - // if directory then mkdirp it - if (file.isDirectory()) { - writeDir(writePath, file, written); - return; - } - - // stream it to disk yo - if (file.isStream()) { - writeStream(writePath, file, written); - return; - } - - // write it like normal - if (file.isBuffer()) { - writeBuffer(writePath, file, written); - return; - } - - // if no contents then do nothing - if (file.isNull()) { - cb(null, file); - return; - } -} - -module.exports = writeContents; diff --git a/publi/node_modules/vinyl-fs/lib/dest/writeContents/writeBuffer.js b/publi/node_modules/vinyl-fs/lib/dest/writeContents/writeBuffer.js deleted file mode 100644 index fe4be8f..0000000 --- a/publi/node_modules/vinyl-fs/lib/dest/writeContents/writeBuffer.js +++ /dev/null @@ -1,13 +0,0 @@ -'use strict'; - -var fs = require('graceful-fs'); - -function writeBuffer(writePath, file, cb) { - var opt = { - mode: file.stat.mode - }; - - fs.writeFile(writePath, file.contents, opt, cb); -} - -module.exports = writeBuffer; diff --git a/publi/node_modules/vinyl-fs/lib/dest/writeContents/writeDir.js b/publi/node_modules/vinyl-fs/lib/dest/writeContents/writeDir.js deleted file mode 100644 index 9614b54..0000000 --- a/publi/node_modules/vinyl-fs/lib/dest/writeContents/writeDir.js +++ /dev/null @@ -1,9 +0,0 @@ -'use strict'; - -var mkdirp = require('mkdirp'); - -function writeDir (writePath, file, cb) { - mkdirp(writePath, file.stat.mode, cb); -} - -module.exports = writeDir; diff --git a/publi/node_modules/vinyl-fs/lib/dest/writeContents/writeStream.js b/publi/node_modules/vinyl-fs/lib/dest/writeContents/writeStream.js deleted file mode 100644 index c49017a..0000000 --- a/publi/node_modules/vinyl-fs/lib/dest/writeContents/writeStream.js +++ /dev/null @@ -1,22 +0,0 @@ -'use strict'; - -var streamFile = require('../../src/getContents/streamFile'); -var fs = require('graceful-fs'); - -function writeStream (writePath, file, cb) { - var opt = { - mode: file.stat.mode - }; - - var outStream = fs.createWriteStream(writePath, opt); - - file.contents.once('error', cb); - outStream.once('error', cb); - outStream.once('finish', function() { - streamFile(file, cb); - }); - - file.contents.pipe(outStream); -} - -module.exports = writeStream; diff --git a/publi/node_modules/vinyl-fs/lib/src/getContents/bufferFile.js b/publi/node_modules/vinyl-fs/lib/src/getContents/bufferFile.js deleted file mode 100644 index 4448eb7..0000000 --- a/publi/node_modules/vinyl-fs/lib/src/getContents/bufferFile.js +++ /dev/null @@ -1,16 +0,0 @@ -'use strict'; - -var fs = require('graceful-fs'); -var stripBom = require('strip-bom'); - -function bufferFile(file, cb) { - fs.readFile(file.path, function (err, data) { - if (err) { - return cb(err); - } - file.contents = stripBom(data); - cb(null, file); - }); -} - -module.exports = bufferFile; diff --git a/publi/node_modules/vinyl-fs/lib/src/getContents/index.js b/publi/node_modules/vinyl-fs/lib/src/getContents/index.js deleted file mode 100644 index d21a254..0000000 --- a/publi/node_modules/vinyl-fs/lib/src/getContents/index.js +++ /dev/null @@ -1,26 +0,0 @@ -'use strict'; - -var through2 = require('through2'); - -var readDir = require('./readDir'); -var bufferFile = require('./bufferFile'); -var streamFile = require('./streamFile'); - -function getContents(opt) { - return through2.obj(function (file, enc, cb) { - // don't fail to read a directory - if (file.isDirectory()) { - return readDir(file, cb); - } - - // read and pass full contents - if (opt.buffer !== false) { - return bufferFile(file, cb); - } - - // dont buffer anything - just pass streams - return streamFile(file, cb); - }); -} - -module.exports = getContents; diff --git a/publi/node_modules/vinyl-fs/lib/src/getContents/readDir.js b/publi/node_modules/vinyl-fs/lib/src/getContents/readDir.js deleted file mode 100644 index 783fac2..0000000 --- a/publi/node_modules/vinyl-fs/lib/src/getContents/readDir.js +++ /dev/null @@ -1,8 +0,0 @@ -'use strict'; - -function readDir(file, cb) { - // do nothing for now - cb(null, file); -} - -module.exports = readDir; diff --git a/publi/node_modules/vinyl-fs/lib/src/getContents/streamFile.js b/publi/node_modules/vinyl-fs/lib/src/getContents/streamFile.js deleted file mode 100644 index 1743edd..0000000 --- a/publi/node_modules/vinyl-fs/lib/src/getContents/streamFile.js +++ /dev/null @@ -1,13 +0,0 @@ -'use strict'; - -var fs = require('graceful-fs'); -var stripBom = require('strip-bom'); - -function streamFile(file, cb) { - file.contents = fs.createReadStream(file.path) - .pipe(stripBom.stream()); - - cb(null, file); -} - -module.exports = streamFile; diff --git a/publi/node_modules/vinyl-fs/lib/src/getStats.js b/publi/node_modules/vinyl-fs/lib/src/getStats.js deleted file mode 100644 index 8380087..0000000 --- a/publi/node_modules/vinyl-fs/lib/src/getStats.js +++ /dev/null @@ -1,19 +0,0 @@ -'use strict'; - -var through2 = require('through2'); -var fs = require('graceful-fs'); - -function getStats() { - return through2.obj(fetchStats); -} - -function fetchStats(file, enc, cb) { - fs.lstat(file.path, function (err, stat) { - if (stat) { - file.stat = stat; - } - cb(err, file); - }); -} - -module.exports = getStats; diff --git a/publi/node_modules/vinyl-fs/lib/src/index.js b/publi/node_modules/vinyl-fs/lib/src/index.js deleted file mode 100644 index 21a1771..0000000 --- a/publi/node_modules/vinyl-fs/lib/src/index.js +++ /dev/null @@ -1,61 +0,0 @@ -'use strict'; - -var defaults = require('defaults'); -var through = require('through2'); -var gs = require('glob-stream'); -var File = require('vinyl'); - -var getContents = require('./getContents'); -var getStats = require('./getStats'); - -function createFile (globFile, enc, cb) { - cb(null, new File(globFile)); -} - -function src(glob, opt) { - opt = opt || {}; - var pass = through.obj(); - - if (!isValidGlob(glob)) { - throw new Error('Invalid glob argument: ' + glob); - } - // return dead stream if empty array - if (Array.isArray(glob) && glob.length === 0) { - process.nextTick(pass.end.bind(pass)); - return pass; - } - - var options = defaults(opt, { - read: true, - buffer: true - }); - - var globStream = gs.create(glob, options); - - // when people write to use just pass it through - var outputStream = globStream - .pipe(through.obj(createFile)) - .pipe(getStats(options)); - - if (options.read !== false) { - outputStream = outputStream - .pipe(getContents(options)); - } - - return outputStream.pipe(pass); -} - -function isValidGlob(glob) { - if (typeof glob === 'string') { - return true; - } - if (Array.isArray(glob) && glob.length !== 0) { - return glob.every(isValidGlob); - } - if (Array.isArray(glob) && glob.length === 0) { - return true; - } - return false; -} - -module.exports = src; diff --git a/publi/node_modules/vinyl-fs/node_modules/.bin/strip-bom b/publi/node_modules/vinyl-fs/node_modules/.bin/strip-bom deleted file mode 120000 index ba65fdf..0000000 --- a/publi/node_modules/vinyl-fs/node_modules/.bin/strip-bom +++ /dev/null @@ -1 +0,0 @@ -../strip-bom/cli.js \ No newline at end of file diff --git a/publi/node_modules/vinyl-fs/node_modules/clone/.npmignore b/publi/node_modules/vinyl-fs/node_modules/clone/.npmignore deleted file mode 100644 index c2658d7..0000000 --- a/publi/node_modules/vinyl-fs/node_modules/clone/.npmignore +++ /dev/null @@ -1 +0,0 @@ -node_modules/ diff --git a/publi/node_modules/vinyl-fs/node_modules/clone/.travis.yml b/publi/node_modules/vinyl-fs/node_modules/clone/.travis.yml deleted file mode 100644 index 58f2371..0000000 --- a/publi/node_modules/vinyl-fs/node_modules/clone/.travis.yml +++ /dev/null @@ -1,5 +0,0 @@ -language: node_js -node_js: - - 0.6 - - 0.8 - - 0.10 diff --git a/publi/node_modules/vinyl-fs/node_modules/clone/LICENSE b/publi/node_modules/vinyl-fs/node_modules/clone/LICENSE deleted file mode 100644 index fc808cc..0000000 --- a/publi/node_modules/vinyl-fs/node_modules/clone/LICENSE +++ /dev/null @@ -1,18 +0,0 @@ -Copyright © 2011-2014 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. diff --git a/publi/node_modules/vinyl-fs/node_modules/clone/README.md b/publi/node_modules/vinyl-fs/node_modules/clone/README.md deleted file mode 100644 index d7231cf..0000000 --- a/publi/node_modules/vinyl-fs/node_modules/clone/README.md +++ /dev/null @@ -1,126 +0,0 @@ -# clone - -[![build status](https://secure.travis-ci.org/pvorb/node-clone.png)](http://travis-ci.org/pvorb/node-clone) - -offers foolproof _deep cloning_ of variables in JavaScript. - - -## Installation - - npm install clone - -or - - ender build clone - - -## Example - -~~~ javascript -var clone = require('clone'); - -var a, b; - -a = { foo: { bar: 'baz' } }; // initial value of a - -b = clone(a); // clone a -> b -a.foo.bar = 'foo'; // change a - -console.log(a); // show a -console.log(b); // show b -~~~ - -This will print: - -~~~ javascript -{ foo: { bar: 'foo' } } -{ foo: { bar: 'baz' } } -~~~ - -**clone** masters cloning simple objects (even with custom prototype), arrays, -Date objects, and RegExp objects. Everything is cloned recursively, so that you -can clone dates in arrays in objects, for example. - - -## API - -`clone(val, circular, depth)` - - * `val` -- the value that you want to clone, any type allowed - * `circular` -- boolean - - Call `clone` with `circular` set to `false` if you are certain that `obj` - contains no circular references. This will give better performance if needed. - There is no error if `undefined` or `null` is passed as `obj`. - * `depth` -- depth to which the object is to be cloned (optional, - defaults to infinity) - -`clone.clonePrototype(obj)` - - * `obj` -- the object that you want to clone - -Does a prototype clone as -[described by Oran Looney](http://oranlooney.com/functional-javascript/). - - -## Circular References - -~~~ javascript -var a, b; - -a = { hello: 'world' }; - -a.myself = a; -b = clone(a); - -console.log(b); -~~~ - -This will print: - -~~~ javascript -{ hello: "world", myself: [Circular] } -~~~ - -So, `b.myself` points to `b`, not `a`. Neat! - - -## Test - - npm test - - -## Caveat - -Some special objects like a socket or `process.stdout`/`stderr` are known to not -be cloneable. If you find other objects that cannot be cloned, please [open an -issue](https://github.com/pvorb/node-clone/issues/new). - - -## Bugs and Issues - -If you encounter any bugs or issues, feel free to [open an issue at -github](https://github.com/pvorb/node-clone/issues) or send me an email to -. I also always like to hear from you, if you’re using my code. - -## License - -Copyright © 2011-2014 [Paul Vorbach](http://paul.vorba.ch/) and -[contributors](https://github.com/pvorb/node-clone/graphs/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, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/publi/node_modules/vinyl-fs/node_modules/clone/clone.js b/publi/node_modules/vinyl-fs/node_modules/clone/clone.js deleted file mode 100644 index f8fa315..0000000 --- a/publi/node_modules/vinyl-fs/node_modules/clone/clone.js +++ /dev/null @@ -1,144 +0,0 @@ -'use strict'; - -function objectToString(o) { - return Object.prototype.toString.call(o); -} - -// shim for Node's 'util' package -// DO NOT REMOVE THIS! It is required for compatibility with EnderJS (http://enderjs.com/). -var util = { - isArray: function (ar) { - return Array.isArray(ar) || (typeof ar === 'object' && objectToString(ar) === '[object Array]'); - }, - isDate: function (d) { - return typeof d === 'object' && objectToString(d) === '[object Date]'; - }, - isRegExp: function (re) { - return typeof re === 'object' && objectToString(re) === '[object RegExp]'; - }, - getRegExpFlags: function (re) { - var flags = ''; - re.global && (flags += 'g'); - re.ignoreCase && (flags += 'i'); - re.multiline && (flags += 'm'); - return flags; - } -}; - - -if (typeof module === 'object') - module.exports = clone; - -/** - * Clones (copies) an Object using deep copying. - * - * This function supports circular references by default, but if you are certain - * there are no circular references in your object, you can save some CPU time - * by calling clone(obj, false). - * - * Caution: if `circular` is false and `parent` contains circular references, - * your program may enter an infinite loop and crash. - * - * @param `parent` - the object to be cloned - * @param `circular` - set to true if the object to be cloned may contain - * circular references. (optional - true by default) - * @param `depth` - set to a number if the object is only to be cloned to - * a particular depth. (optional - defaults to Infinity) - * @param `prototype` - sets the prototype to be used when cloning an object. - * (optional - defaults to parent prototype). -*/ - -function clone(parent, circular, depth, prototype) { - // maintain two arrays for circular references, where corresponding parents - // and children have the same index - var allParents = []; - var allChildren = []; - - var useBuffer = typeof Buffer != 'undefined'; - - if (typeof circular == 'undefined') - circular = true; - - if (typeof depth == 'undefined') - depth = Infinity; - - // recurse this function so we don't reset allParents and allChildren - function _clone(parent, depth) { - // cloning null always returns null - if (parent === null) - return null; - - if (depth == 0) - return parent; - - var child; - var proto; - if (typeof parent != 'object') { - return parent; - } - - if (util.isArray(parent)) { - child = []; - } else if (util.isRegExp(parent)) { - child = new RegExp(parent.source, util.getRegExpFlags(parent)); - if (parent.lastIndex) child.lastIndex = parent.lastIndex; - } else if (util.isDate(parent)) { - child = new Date(parent.getTime()); - } else if (useBuffer && Buffer.isBuffer(parent)) { - child = new Buffer(parent.length); - parent.copy(child); - return child; - } else { - if (typeof prototype == 'undefined') { - proto = Object.getPrototypeOf(parent); - child = Object.create(proto); - } - else { - child = Object.create(prototype); - proto = prototype; - } - } - - if (circular) { - var index = allParents.indexOf(parent); - - if (index != -1) { - return allChildren[index]; - } - allParents.push(parent); - allChildren.push(child); - } - - for (var i in parent) { - var attrs; - if (proto) { - attrs = Object.getOwnPropertyDescriptor(proto, i); - } - - if (attrs && attrs.set == null) { - continue; - } - child[i] = _clone(parent[i], depth - 1); - } - - return child; - } - - return _clone(parent, depth); -} - -/** - * Simple flat clone using prototype, accepts only objects, usefull for property - * override on FLAT configuration object (no nested props). - * - * USE WITH CAUTION! This may not behave as you wish if you do not know how this - * works. - */ -clone.clonePrototype = function(parent) { - if (parent === null) - return null; - - var c = function () {}; - c.prototype = parent; - return new c(); -}; diff --git a/publi/node_modules/vinyl-fs/node_modules/clone/package.json b/publi/node_modules/vinyl-fs/node_modules/clone/package.json deleted file mode 100644 index 8e34fa9..0000000 --- a/publi/node_modules/vinyl-fs/node_modules/clone/package.json +++ /dev/null @@ -1,159 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "clone@^0.2.0", - "scope": null, - "escapedName": "clone", - "name": "clone", - "rawSpec": "^0.2.0", - "spec": ">=0.2.0 <0.3.0", - "type": "range" - }, - "/mnt/Data/bach/Documents/ola/OLA#3DOC/sys/node_modules/vinyl-fs/node_modules/vinyl" - ] - ], - "_from": "clone@>=0.2.0 <0.3.0", - "_id": "clone@0.2.0", - "_inCache": true, - "_location": "/vinyl-fs/clone", - "_npmUser": { - "name": "pvorb", - "email": "paul@vorba.ch" - }, - "_npmVersion": "1.4.14", - "_phantomChildren": {}, - "_requested": { - "raw": "clone@^0.2.0", - "scope": null, - "escapedName": "clone", - "name": "clone", - "rawSpec": "^0.2.0", - "spec": ">=0.2.0 <0.3.0", - "type": "range" - }, - "_requiredBy": [ - "/vinyl-fs/vinyl" - ], - "_resolved": "https://registry.npmjs.org/clone/-/clone-0.2.0.tgz", - "_shasum": "c6126a90ad4f72dbf5acdb243cc37724fe93fc1f", - "_shrinkwrap": null, - "_spec": "clone@^0.2.0", - "_where": "/mnt/Data/bach/Documents/ola/OLA#3DOC/sys/node_modules/vinyl-fs/node_modules/vinyl", - "author": { - "name": "Paul Vorbach", - "email": "paul@vorba.ch", - "url": "http://paul.vorba.ch/" - }, - "bugs": { - "url": "https://github.com/pvorb/node-clone/issues" - }, - "contributors": [ - { - "name": "Blake Miner", - "email": "miner.blake@gmail.com", - "url": "http://www.blakeminer.com/" - }, - { - "name": "Tian You", - "email": "axqd001@gmail.com", - "url": "http://blog.axqd.net/" - }, - { - "name": "George Stagas", - "email": "gstagas@gmail.com", - "url": "http://stagas.com/" - }, - { - "name": "Tobiasz Cudnik", - "email": "tobiasz.cudnik@gmail.com", - "url": "https://github.com/TobiaszCudnik" - }, - { - "name": "Pavel Lang", - "email": "langpavel@phpskelet.org", - "url": "https://github.com/langpavel" - }, - { - "name": "Dan MacTough", - "url": "http://yabfog.com/" - }, - { - "name": "w1nk", - "url": "https://github.com/w1nk" - }, - { - "name": "Hugh Kennedy", - "url": "http://twitter.com/hughskennedy" - }, - { - "name": "Dustin Diaz", - "url": "http://dustindiaz.com" - }, - { - "name": "Ilya Shaisultanov", - "url": "https://github.com/diversario" - }, - { - "name": "Nathan MacInnes", - "email": "nathan@macinn.es", - "url": "http://macinn.es/" - }, - { - "name": "Benjamin E. Coe", - "email": "ben@npmjs.com", - "url": "https://twitter.com/benjamincoe" - }, - { - "name": "Nathan Zadoks", - "url": "https://github.com/nathan7" - }, - { - "name": "Róbert Oroszi", - "email": "robert+gh@oroszi.net", - "url": "https://github.com/oroce" - } - ], - "dependencies": {}, - "description": "deep cloning of objects and arrays", - "devDependencies": { - "nodeunit": "*", - "underscore": "*" - }, - "directories": {}, - "dist": { - "shasum": "c6126a90ad4f72dbf5acdb243cc37724fe93fc1f", - "tarball": "https://registry.npmjs.org/clone/-/clone-0.2.0.tgz" - }, - "engines": { - "node": "*" - }, - "gitHead": "bb11a43363a0f69e8ac014cb5376ce215ea1f8fd", - "homepage": "https://github.com/pvorb/node-clone", - "license": "MIT", - "main": "clone.js", - "maintainers": [ - { - "name": "pvorb", - "email": "paul@vorb.de" - } - ], - "name": "clone", - "optionalDependencies": {}, - "readme": "ERROR: No README data found!", - "repository": { - "type": "git", - "url": "git://github.com/pvorb/node-clone.git" - }, - "scripts": { - "test": "nodeunit test.js" - }, - "tags": [ - "clone", - "object", - "array", - "function", - "date" - ], - "version": "0.2.0" -} diff --git a/publi/node_modules/vinyl-fs/node_modules/clone/test.js b/publi/node_modules/vinyl-fs/node_modules/clone/test.js deleted file mode 100644 index cb3d166..0000000 --- a/publi/node_modules/vinyl-fs/node_modules/clone/test.js +++ /dev/null @@ -1,289 +0,0 @@ -if(module.parent === null) { - console.log('Run this test file with nodeunit:'); - console.log('$ nodeunit test.js'); -} - - -var clone = require('./'); -var util = require('util'); -var _ = require('underscore'); - - - -exports["clone string"] = function(test) { - test.expect(2); // how many tests? - - var a = "foo"; - test.strictEqual(clone(a), a); - a = ""; - test.strictEqual(clone(a), a); - - test.done(); -}; - - - -exports["clone number"] = function(test) { - test.expect(5); // how many tests? - - var a = 0; - test.strictEqual(clone(a), a); - a = 1; - test.strictEqual(clone(a), a); - a = -1000; - test.strictEqual(clone(a), a); - a = 3.1415927; - test.strictEqual(clone(a), a); - a = -3.1415927; - test.strictEqual(clone(a), a); - - test.done(); -}; - - - -exports["clone date"] = function(test) { - test.expect(3); // how many tests? - - var a = new Date; - var c = clone(a); - test.ok(a instanceof Date); - test.ok(c instanceof Date); - test.equal(c.getTime(), a.getTime()); - - test.done(); -}; - - - -exports["clone object"] = function(test) { - test.expect(2); // how many tests? - - var a = { foo: { bar: "baz" } }; - var b = clone(a); - - test.ok(_(a).isEqual(b), "underscore equal"); - test.deepEqual(b, a); - - test.done(); -}; - - - -exports["clone array"] = function(test) { - test.expect(2); // how many tests? - - var a = [ - { foo: "bar" }, - "baz" - ]; - var b = clone(a); - - test.ok(_(a).isEqual(b), "underscore equal"); - test.deepEqual(b, a); - - test.done(); -}; - -exports["clone buffer"] = function(test) { - test.expect(1); - - var a = new Buffer("this is a test buffer"); - var b = clone(a); - - // no underscore equal since it has no concept of Buffers - test.deepEqual(b, a); - test.done(); -}; - - - -exports["clone regexp"] = function(test) { - test.expect(5); - - var a = /abc123/gi; - var b = clone(a); - - test.deepEqual(b, a); - - var c = /a/g; - test.ok(c.lastIndex === 0); - - c.exec('123a456a'); - test.ok(c.lastIndex === 4); - - var d = clone(c); - test.ok(d.global); - test.ok(d.lastIndex === 4); - - test.done(); -}; - - -exports["clone object containing array"] = function(test) { - test.expect(2); // how many tests? - - var a = { - arr1: [ { a: '1234', b: '2345' } ], - arr2: [ { c: '345', d: '456' } ] - }; - var b = clone(a); - - test.ok(_(a).isEqual(b), "underscore equal"); - test.deepEqual(b, a); - - test.done(); -}; - - - -exports["clone object with circular reference"] = function(test) { - test.expect(8); // how many tests? - - var _ = test.ok; - var c = [1, "foo", {'hello': 'bar'}, function() {}, false, [2]]; - var b = [c, 2, 3, 4]; - var a = {'b': b, 'c': c}; - a.loop = a; - a.loop2 = a; - c.loop = c; - c.aloop = a; - var aCopy = clone(a); - _(a != aCopy); - _(a.c != aCopy.c); - _(aCopy.c == aCopy.b[0]); - _(aCopy.c.loop.loop.aloop == aCopy); - _(aCopy.c[0] == a.c[0]); - - //console.log(util.inspect(aCopy, true, null) ); - //console.log("------------------------------------------------------------"); - //console.log(util.inspect(a, true, null) ); - _(eq(a, aCopy)); - aCopy.c[0] = 2; - _(!eq(a, aCopy)); - aCopy.c = "2"; - _(!eq(a, aCopy)); - //console.log("------------------------------------------------------------"); - //console.log(util.inspect(aCopy, true, null) ); - - function eq(x, y) { - return util.inspect(x, true, null) === util.inspect(y, true, null); - } - - test.done(); -}; - - - -exports['clonePrototype'] = function(test) { - test.expect(3); // how many tests? - - var a = { - a: "aaa", - x: 123, - y: 45.65 - }; - var b = clone.clonePrototype(a); - - test.strictEqual(b.a, a.a); - test.strictEqual(b.x, a.x); - test.strictEqual(b.y, a.y); - - test.done(); -} - -exports['cloneWithinNewVMContext'] = function(test) { - test.expect(3); - var vm = require('vm'); - var ctx = vm.createContext({ clone: clone }); - var script = "clone( {array: [1, 2, 3], date: new Date(), regex: /^foo$/ig} );"; - var results = vm.runInContext(script, ctx); - test.ok(results.array instanceof Array); - test.ok(results.date instanceof Date); - test.ok(results.regex instanceof RegExp); - test.done(); -} - -exports['cloneObjectWithNoConstructor'] = function(test) { - test.expect(3); - var n = null; - var a = { foo: 'bar' }; - a.__proto__ = n; - test.ok(typeof a === 'object'); - test.ok(typeof a !== null); - var b = clone(a); - test.ok(a.foo, b.foo); - test.done(); -} - -exports['clone object with depth argument'] = function (test) { - test.expect(6); - var a = { - foo: { - bar : { - baz : 'qux' - } - } - }; - var b = clone(a, false, 1); - test.deepEqual(b, a); - test.notEqual(b, a); - test.strictEqual(b.foo, a.foo); - - b = clone(a, true, 2); - test.deepEqual(b, a); - test.notEqual(b.foo, a.foo); - test.strictEqual(b.foo.bar, a.foo.bar); - test.done(); -} - -exports['maintain prototype chain in clones'] = function (test) { - test.expect(1); - function Constructor() {} - var a = new Constructor(); - var b = clone(a); - test.strictEqual(Object.getPrototypeOf(a), Object.getPrototypeOf(b)); - test.done(); -} - -exports['parent prototype is overriden with prototype provided'] = function (test) { - test.expect(1); - function Constructor() {} - var a = new Constructor(); - var b = clone(a, true, Infinity, null); - test.strictEqual(b.__defineSetter__, undefined); - test.done(); -} - -exports['clone object with null children'] = function(test) { - test.expect(1); - var a = { - foo: { - bar: null, - baz: { - qux: false - } - } - }; - var b = clone(a); - test.deepEqual(b, a); - test.done(); -} - -exports['clone instance with getter'] = function(test) { - test.expect(1); - function Ctor() {}; - Object.defineProperty(Ctor.prototype, 'prop', { - configurable: true, - enumerable: true, - get: function() { - return 'value'; - } - }); - - var a = new Ctor(); - var b = clone(a); - - test.strictEqual(b.prop, 'value'); - test.done(); -}; \ No newline at end of file diff --git a/publi/node_modules/vinyl-fs/node_modules/graceful-fs/.npmignore b/publi/node_modules/vinyl-fs/node_modules/graceful-fs/.npmignore deleted file mode 100644 index 2f24c57..0000000 --- a/publi/node_modules/vinyl-fs/node_modules/graceful-fs/.npmignore +++ /dev/null @@ -1,3 +0,0 @@ -node_modules/ -coverage/ -.nyc_output/ diff --git a/publi/node_modules/vinyl-fs/node_modules/graceful-fs/.travis.yml b/publi/node_modules/vinyl-fs/node_modules/graceful-fs/.travis.yml deleted file mode 100644 index b535ef4..0000000 --- a/publi/node_modules/vinyl-fs/node_modules/graceful-fs/.travis.yml +++ /dev/null @@ -1,7 +0,0 @@ -sudo: false -language: node_js -node_js: - - '0.10' - - '0.12' - - '4' - - '6' diff --git a/publi/node_modules/vinyl-fs/node_modules/graceful-fs/LICENSE b/publi/node_modules/vinyl-fs/node_modules/graceful-fs/LICENSE deleted file mode 100644 index 19129e3..0000000 --- a/publi/node_modules/vinyl-fs/node_modules/graceful-fs/LICENSE +++ /dev/null @@ -1,15 +0,0 @@ -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. diff --git a/publi/node_modules/vinyl-fs/node_modules/graceful-fs/README.md b/publi/node_modules/vinyl-fs/node_modules/graceful-fs/README.md deleted file mode 100644 index 13a2e86..0000000 --- a/publi/node_modules/vinyl-fs/node_modules/graceful-fs/README.md +++ /dev/null @@ -1,36 +0,0 @@ -# graceful-fs - -graceful-fs functions as a drop-in replacement for the fs module, -making various improvements. - -The improvements are meant to normalize behavior across different -platforms and environments, and to make filesystem access more -resilient to errors. - -## Improvements over [fs module](http://api.nodejs.org/fs.html) - -graceful-fs: - -* Queues up `open` and `readdir` calls, and retries them once - something closes if there is an EMFILE error from too many file - descriptors. -* fixes `lchmod` for Node versions prior to 0.6.2. -* implements `fs.lutimes` if possible. Otherwise it becomes a noop. -* ignores `EINVAL` and `EPERM` errors in `chown`, `fchown` or - `lchown` if the user isn't root. -* makes `lchmod` and `lchown` become noops, if not available. -* retries reading a file if `read` results in EAGAIN error. - -On Windows, it retries renaming a file for up to one second if `EACCESS` -or `EPERM` error occurs, likely because antivirus software has locked -the directory. - -## USAGE - -```javascript -// use just like fs -var fs = require('graceful-fs') - -// now go and do stuff with it... -fs.readFileSync('some-file-or-whatever') -``` diff --git a/publi/node_modules/vinyl-fs/node_modules/graceful-fs/fs.js b/publi/node_modules/vinyl-fs/node_modules/graceful-fs/fs.js deleted file mode 100644 index 7a37bb1..0000000 --- a/publi/node_modules/vinyl-fs/node_modules/graceful-fs/fs.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('natives').require('fs', ['stream']) diff --git a/publi/node_modules/vinyl-fs/node_modules/graceful-fs/graceful-fs.js b/publi/node_modules/vinyl-fs/node_modules/graceful-fs/graceful-fs.js deleted file mode 100644 index fb206b8..0000000 --- a/publi/node_modules/vinyl-fs/node_modules/graceful-fs/graceful-fs.js +++ /dev/null @@ -1,158 +0,0 @@ -// Monkey-patching the fs module. -// It's ugly, but there is simply no other way to do this. -var fs = module.exports = require('./fs.js') - -var assert = require('assert') - -// fix up some busted stuff, mostly on windows and old nodes -require('./polyfills.js') - -var util = require('util') - -function noop () {} - -var debug = noop -if (util.debuglog) - debug = util.debuglog('gfs') -else if (/\bgfs\b/i.test(process.env.NODE_DEBUG || '')) - debug = function() { - var m = util.format.apply(util, arguments) - m = 'GFS: ' + m.split(/\n/).join('\nGFS: ') - console.error(m) - } - -if (/\bgfs\b/i.test(process.env.NODE_DEBUG || '')) { - process.on('exit', function() { - debug('fds', fds) - debug(queue) - assert.equal(queue.length, 0) - }) -} - - -var originalOpen = fs.open -fs.open = open - -function open(path, flags, mode, cb) { - if (typeof mode === "function") cb = mode, mode = null - if (typeof cb !== "function") cb = noop - new OpenReq(path, flags, mode, cb) -} - -function OpenReq(path, flags, mode, cb) { - this.path = path - this.flags = flags - this.mode = mode - this.cb = cb - Req.call(this) -} - -util.inherits(OpenReq, Req) - -OpenReq.prototype.process = function() { - originalOpen.call(fs, this.path, this.flags, this.mode, this.done) -} - -var fds = {} -OpenReq.prototype.done = function(er, fd) { - debug('open done', er, fd) - if (fd) - fds['fd' + fd] = this.path - Req.prototype.done.call(this, er, fd) -} - - -var originalReaddir = fs.readdir -fs.readdir = readdir - -function readdir(path, cb) { - if (typeof cb !== "function") cb = noop - new ReaddirReq(path, cb) -} - -function ReaddirReq(path, cb) { - this.path = path - this.cb = cb - Req.call(this) -} - -util.inherits(ReaddirReq, Req) - -ReaddirReq.prototype.process = function() { - originalReaddir.call(fs, this.path, this.done) -} - -ReaddirReq.prototype.done = function(er, files) { - if (files && files.sort) - files = files.sort() - Req.prototype.done.call(this, er, files) - onclose() -} - - -var originalClose = fs.close -fs.close = close - -function close (fd, cb) { - debug('close', fd) - if (typeof cb !== "function") cb = noop - delete fds['fd' + fd] - originalClose.call(fs, fd, function(er) { - onclose() - cb(er) - }) -} - - -var originalCloseSync = fs.closeSync -fs.closeSync = closeSync - -function closeSync (fd) { - try { - return originalCloseSync(fd) - } finally { - onclose() - } -} - - -// Req class -function Req () { - // start processing - this.done = this.done.bind(this) - this.failures = 0 - this.process() -} - -Req.prototype.done = function (er, result) { - var tryAgain = false - if (er) { - var code = er.code - var tryAgain = code === "EMFILE" || code === "ENFILE" - if (process.platform === "win32") - tryAgain = tryAgain || code === "OK" - } - - if (tryAgain) { - this.failures ++ - enqueue(this) - } else { - var cb = this.cb - cb(er, result) - } -} - -var queue = [] - -function enqueue(req) { - queue.push(req) - debug('enqueue %d %s', queue.length, req.constructor.name, req) -} - -function onclose() { - var req = queue.shift() - if (req) { - debug('process', req.constructor.name, req) - req.process() - } -} diff --git a/publi/node_modules/vinyl-fs/node_modules/graceful-fs/package.json b/publi/node_modules/vinyl-fs/node_modules/graceful-fs/package.json deleted file mode 100644 index 31554bc..0000000 --- a/publi/node_modules/vinyl-fs/node_modules/graceful-fs/package.json +++ /dev/null @@ -1,112 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "graceful-fs@^3.0.0", - "scope": null, - "escapedName": "graceful-fs", - "name": "graceful-fs", - "rawSpec": "^3.0.0", - "spec": ">=3.0.0 <4.0.0", - "type": "range" - }, - "/mnt/Data/bach/Documents/ola/OLA#3DOC/sys/node_modules/vinyl-fs" - ] - ], - "_from": "graceful-fs@>=3.0.0 <4.0.0", - "_id": "graceful-fs@3.0.11", - "_inCache": true, - "_location": "/vinyl-fs/graceful-fs", - "_nodeVersion": "6.5.0", - "_npmOperationalInternal": { - "host": "packages-16-east.internal.npmjs.com", - "tmp": "tmp/graceful-fs-3.0.11.tgz_1472583712827_0.6562602713238448" - }, - "_npmUser": { - "name": "isaacs", - "email": "i@izs.me" - }, - "_npmVersion": "3.10.7", - "_phantomChildren": {}, - "_requested": { - "raw": "graceful-fs@^3.0.0", - "scope": null, - "escapedName": "graceful-fs", - "name": "graceful-fs", - "rawSpec": "^3.0.0", - "spec": ">=3.0.0 <4.0.0", - "type": "range" - }, - "_requiredBy": [ - "/vinyl-fs" - ], - "_resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.11.tgz", - "_shasum": "7613c778a1afea62f25c630a086d7f3acbbdd818", - "_shrinkwrap": null, - "_spec": "graceful-fs@^3.0.0", - "_where": "/mnt/Data/bach/Documents/ola/OLA#3DOC/sys/node_modules/vinyl-fs", - "author": { - "name": "Isaac Z. Schlueter", - "email": "i@izs.me", - "url": "http://blog.izs.me" - }, - "bugs": { - "url": "https://github.com/isaacs/node-graceful-fs/issues" - }, - "dependencies": { - "natives": "^1.1.0" - }, - "description": "A drop-in replacement for fs, making various improvements.", - "devDependencies": { - "mkdirp": "^0.5.0", - "rimraf": "^2.2.8", - "tap": "^1.2.0" - }, - "directories": { - "test": "test" - }, - "dist": { - "shasum": "7613c778a1afea62f25c630a086d7f3acbbdd818", - "tarball": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.11.tgz" - }, - "engines": { - "node": ">=0.4.0" - }, - "gitHead": "03d3cc6dbd4a499b1e13834eedbc469094a27582", - "homepage": "https://github.com/isaacs/node-graceful-fs#readme", - "keywords": [ - "fs", - "module", - "reading", - "retry", - "retries", - "queue", - "error", - "errors", - "handling", - "EMFILE", - "EAGAIN", - "EINVAL", - "EPERM", - "EACCESS" - ], - "license": "ISC", - "main": "graceful-fs.js", - "maintainers": [ - { - "name": "isaacs", - "email": "i@izs.me" - } - ], - "name": "graceful-fs", - "optionalDependencies": {}, - "readme": "ERROR: No README data found!", - "repository": { - "type": "git", - "url": "git://github.com/isaacs/node-graceful-fs.git" - }, - "scripts": { - "test": "tap test/*.js" - }, - "version": "3.0.11" -} diff --git a/publi/node_modules/vinyl-fs/node_modules/graceful-fs/polyfills.js b/publi/node_modules/vinyl-fs/node_modules/graceful-fs/polyfills.js deleted file mode 100644 index 4270539..0000000 --- a/publi/node_modules/vinyl-fs/node_modules/graceful-fs/polyfills.js +++ /dev/null @@ -1,255 +0,0 @@ -var fs = require('./fs.js') -var constants = require('constants') - -var origCwd = process.cwd -var cwd = null -process.cwd = function() { - if (!cwd) - cwd = origCwd.call(process) - return cwd -} -var chdir = process.chdir -process.chdir = function(d) { - cwd = null - chdir.call(process, d) -} - -// (re-)implement some things that are known busted or missing. - -// lchmod, broken prior to 0.6.2 -// back-port the fix here. -if (constants.hasOwnProperty('O_SYMLINK') && - process.version.match(/^v0\.6\.[0-2]|^v0\.5\./)) { - fs.lchmod = function (path, mode, callback) { - callback = callback || noop - fs.open( path - , constants.O_WRONLY | constants.O_SYMLINK - , mode - , function (err, fd) { - if (err) { - callback(err) - return - } - // prefer to return the chmod error, if one occurs, - // but still try to close, and report closing errors if they occur. - fs.fchmod(fd, mode, function (err) { - fs.close(fd, function(err2) { - callback(err || err2) - }) - }) - }) - } - - fs.lchmodSync = function (path, mode) { - var fd = fs.openSync(path, constants.O_WRONLY | constants.O_SYMLINK, mode) - - // prefer to return the chmod error, if one occurs, - // but still try to close, and report closing errors if they occur. - var err, err2 - try { - var ret = fs.fchmodSync(fd, mode) - } catch (er) { - err = er - } - try { - fs.closeSync(fd) - } catch (er) { - err2 = er - } - if (err || err2) throw (err || err2) - return ret - } -} - - -// lutimes implementation, or no-op -if (!fs.lutimes) { - if (constants.hasOwnProperty("O_SYMLINK")) { - fs.lutimes = function (path, at, mt, cb) { - fs.open(path, constants.O_SYMLINK, function (er, fd) { - cb = cb || noop - if (er) return cb(er) - fs.futimes(fd, at, mt, function (er) { - fs.close(fd, function (er2) { - return cb(er || er2) - }) - }) - }) - } - - fs.lutimesSync = function (path, at, mt) { - var fd = fs.openSync(path, constants.O_SYMLINK) - , err - , err2 - , ret - - try { - var ret = fs.futimesSync(fd, at, mt) - } catch (er) { - err = er - } - try { - fs.closeSync(fd) - } catch (er) { - err2 = er - } - if (err || err2) throw (err || err2) - return ret - } - - } else if (fs.utimensat && constants.hasOwnProperty("AT_SYMLINK_NOFOLLOW")) { - // maybe utimensat will be bound soonish? - fs.lutimes = function (path, at, mt, cb) { - fs.utimensat(path, at, mt, constants.AT_SYMLINK_NOFOLLOW, cb) - } - - fs.lutimesSync = function (path, at, mt) { - return fs.utimensatSync(path, at, mt, constants.AT_SYMLINK_NOFOLLOW) - } - - } else { - fs.lutimes = function (_a, _b, _c, cb) { process.nextTick(cb) } - fs.lutimesSync = function () {} - } -} - - -// https://github.com/isaacs/node-graceful-fs/issues/4 -// Chown should not fail on einval or eperm if non-root. -// It should not fail on enosys ever, as this just indicates -// that a fs doesn't support the intended operation. - -fs.chown = chownFix(fs.chown) -fs.fchown = chownFix(fs.fchown) -fs.lchown = chownFix(fs.lchown) - -fs.chmod = chownFix(fs.chmod) -fs.fchmod = chownFix(fs.fchmod) -fs.lchmod = chownFix(fs.lchmod) - -fs.chownSync = chownFixSync(fs.chownSync) -fs.fchownSync = chownFixSync(fs.fchownSync) -fs.lchownSync = chownFixSync(fs.lchownSync) - -fs.chmodSync = chownFix(fs.chmodSync) -fs.fchmodSync = chownFix(fs.fchmodSync) -fs.lchmodSync = chownFix(fs.lchmodSync) - -function chownFix (orig) { - if (!orig) return orig - return function (target, uid, gid, cb) { - return orig.call(fs, target, uid, gid, function (er, res) { - if (chownErOk(er)) er = null - cb(er, res) - }) - } -} - -function chownFixSync (orig) { - if (!orig) return orig - return function (target, uid, gid) { - try { - return orig.call(fs, target, uid, gid) - } catch (er) { - if (!chownErOk(er)) throw er - } - } -} - -// ENOSYS means that the fs doesn't support the op. Just ignore -// that, because it doesn't matter. -// -// if there's no getuid, or if getuid() is something other -// than 0, and the error is EINVAL or EPERM, then just ignore -// it. -// -// This specific case is a silent failure in cp, install, tar, -// and most other unix tools that manage permissions. -// -// When running as root, or if other types of errors are -// encountered, then it's strict. -function chownErOk (er) { - if (!er) - return true - - if (er.code === "ENOSYS") - return true - - var nonroot = !process.getuid || process.getuid() !== 0 - if (nonroot) { - if (er.code === "EINVAL" || er.code === "EPERM") - return true - } - - return false -} - - -// if lchmod/lchown do not exist, then make them no-ops -if (!fs.lchmod) { - fs.lchmod = function (path, mode, cb) { - process.nextTick(cb) - } - fs.lchmodSync = function () {} -} -if (!fs.lchown) { - fs.lchown = function (path, uid, gid, cb) { - process.nextTick(cb) - } - fs.lchownSync = function () {} -} - - - -// on Windows, A/V software can lock the directory, causing this -// to fail with an EACCES or EPERM if the directory contains newly -// created files. Try again on failure, for up to 1 second. -if (process.platform === "win32") { - var rename_ = fs.rename - fs.rename = function rename (from, to, cb) { - var start = Date.now() - rename_(from, to, function CB (er) { - if (er - && (er.code === "EACCES" || er.code === "EPERM") - && Date.now() - start < 1000) { - return rename_(from, to, CB) - } - if(cb) cb(er) - }) - } -} - - -// if read() returns EAGAIN, then just try it again. -var read = fs.read -fs.read = function (fd, buffer, offset, length, position, callback_) { - var callback - if (callback_ && typeof callback_ === 'function') { - var eagCounter = 0 - callback = function (er, _, __) { - if (er && er.code === 'EAGAIN' && eagCounter < 10) { - eagCounter ++ - return read.call(fs, fd, buffer, offset, length, position, callback) - } - callback_.apply(this, arguments) - } - } - return read.call(fs, fd, buffer, offset, length, position, callback) -} - -var readSync = fs.readSync -fs.readSync = function (fd, buffer, offset, length, position) { - var eagCounter = 0 - while (true) { - try { - return readSync.call(fs, fd, buffer, offset, length, position) - } catch (er) { - if (er.code === 'EAGAIN' && eagCounter < 10) { - eagCounter ++ - continue - } - throw er - } - } -} - diff --git a/publi/node_modules/vinyl-fs/node_modules/graceful-fs/test/max-open.js b/publi/node_modules/vinyl-fs/node_modules/graceful-fs/test/max-open.js deleted file mode 100644 index a6b9ba4..0000000 --- a/publi/node_modules/vinyl-fs/node_modules/graceful-fs/test/max-open.js +++ /dev/null @@ -1,69 +0,0 @@ -var test = require('tap').test -var fs = require('../') - -test('open lots of stuff', function (t) { - // Get around EBADF from libuv by making sure that stderr is opened - // Otherwise Darwin will refuse to give us a FD for stderr! - process.stderr.write('') - - // How many parallel open()'s to do - var n = 1024 - var opens = 0 - var fds = [] - var going = true - var closing = false - var doneCalled = 0 - - for (var i = 0; i < n; i++) { - go() - } - - function go() { - opens++ - fs.open(__filename, 'r', function (er, fd) { - if (er) throw er - fds.push(fd) - if (going) go() - }) - } - - // should hit ulimit pretty fast - setTimeout(function () { - going = false - t.equal(opens - fds.length, n) - done() - }, 100) - - - function done () { - if (closing) return - doneCalled++ - - if (fds.length === 0) { - console.error('done called %d times', doneCalled) - // First because of the timeout - // Then to close the fd's opened afterwards - // Then this time, to complete. - // Might take multiple passes, depending on CPU speed - // and ulimit, but at least 3 in every case. - t.ok(doneCalled >= 2) - return t.end() - } - - closing = true - setTimeout(function () { - // console.error('do closing again') - closing = false - done() - }, 100) - - // console.error('closing time') - var closes = fds.slice(0) - fds.length = 0 - closes.forEach(function (fd) { - fs.close(fd, function (er) { - if (er) throw er - }) - }) - } -}) diff --git a/publi/node_modules/vinyl-fs/node_modules/graceful-fs/test/open.js b/publi/node_modules/vinyl-fs/node_modules/graceful-fs/test/open.js deleted file mode 100644 index 85732f2..0000000 --- a/publi/node_modules/vinyl-fs/node_modules/graceful-fs/test/open.js +++ /dev/null @@ -1,39 +0,0 @@ -var test = require('tap').test -var fs = require('../graceful-fs.js') - -test('graceful fs is monkeypatched fs', function (t) { - t.equal(fs, require('../fs.js')) - t.end() -}) - -test('open an existing file works', function (t) { - var fd = fs.openSync(__filename, 'r') - fs.closeSync(fd) - fs.open(__filename, 'r', function (er, fd) { - if (er) throw er - fs.close(fd, function (er) { - if (er) throw er - t.pass('works') - t.end() - }) - }) -}) - -test('open a non-existing file throws', function (t) { - var er - try { - var fd = fs.openSync('this file does not exist', 'r') - } catch (x) { - er = x - } - t.ok(er, 'should throw') - t.notOk(fd, 'should not get an fd') - t.equal(er.code, 'ENOENT') - - fs.open('neither does this file', 'r', function (er, fd) { - t.ok(er, 'should throw') - t.notOk(fd, 'should not get an fd') - t.equal(er.code, 'ENOENT') - t.end() - }) -}) diff --git a/publi/node_modules/vinyl-fs/node_modules/graceful-fs/test/readdir-sort.js b/publi/node_modules/vinyl-fs/node_modules/graceful-fs/test/readdir-sort.js deleted file mode 100644 index cb63a68..0000000 --- a/publi/node_modules/vinyl-fs/node_modules/graceful-fs/test/readdir-sort.js +++ /dev/null @@ -1,20 +0,0 @@ -var test = require("tap").test -var fs = require("../fs.js") - -var readdir = fs.readdir -fs.readdir = function(path, cb) { - process.nextTick(function() { - cb(null, ["b", "z", "a"]) - }) -} - -var g = require("../") - -test("readdir reorder", function (t) { - g.readdir("whatevers", function (er, files) { - if (er) - throw er - t.same(files, [ "a", "b", "z" ]) - t.end() - }) -}) diff --git a/publi/node_modules/vinyl-fs/node_modules/graceful-fs/test/write-then-read.js b/publi/node_modules/vinyl-fs/node_modules/graceful-fs/test/write-then-read.js deleted file mode 100644 index 21e4c26..0000000 --- a/publi/node_modules/vinyl-fs/node_modules/graceful-fs/test/write-then-read.js +++ /dev/null @@ -1,47 +0,0 @@ -var fs = require('../'); -var rimraf = require('rimraf'); -var mkdirp = require('mkdirp'); -var test = require('tap').test; -var p = require('path').resolve(__dirname, 'files'); - -process.chdir(__dirname) - -// Make sure to reserve the stderr fd -process.stderr.write(''); - -var num = 4097; -var paths = new Array(num); - -test('make files', function (t) { - rimraf.sync(p); - mkdirp.sync(p); - - for (var i = 0; i < num; ++i) { - paths[i] = 'files/file-' + i; - fs.writeFileSync(paths[i], 'content'); - } - - t.end(); -}) - -test('read files', function (t) { - // now read them - var done = 0; - for (var i = 0; i < num; ++i) { - fs.readFile(paths[i], function(err, data) { - if (err) - throw err; - - ++done; - if (done === num) { - t.pass('success'); - t.end() - } - }); - } -}); - -test('cleanup', function (t) { - rimraf.sync(p); - t.end(); -}); diff --git a/publi/node_modules/vinyl-fs/node_modules/readable-stream/.npmignore b/publi/node_modules/vinyl-fs/node_modules/readable-stream/.npmignore deleted file mode 100644 index 38344f8..0000000 --- a/publi/node_modules/vinyl-fs/node_modules/readable-stream/.npmignore +++ /dev/null @@ -1,5 +0,0 @@ -build/ -test/ -examples/ -fs.js -zlib.js \ No newline at end of file diff --git a/publi/node_modules/vinyl-fs/node_modules/readable-stream/LICENSE b/publi/node_modules/vinyl-fs/node_modules/readable-stream/LICENSE deleted file mode 100644 index e3d4e69..0000000 --- a/publi/node_modules/vinyl-fs/node_modules/readable-stream/LICENSE +++ /dev/null @@ -1,18 +0,0 @@ -Copyright Joyent, Inc. and other Node contributors. 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. diff --git a/publi/node_modules/vinyl-fs/node_modules/readable-stream/README.md b/publi/node_modules/vinyl-fs/node_modules/readable-stream/README.md deleted file mode 100644 index 3fb3e80..0000000 --- a/publi/node_modules/vinyl-fs/node_modules/readable-stream/README.md +++ /dev/null @@ -1,15 +0,0 @@ -# readable-stream - -***Node-core streams for userland*** - -[![NPM](https://nodei.co/npm/readable-stream.png?downloads=true&downloadRank=true)](https://nodei.co/npm/readable-stream/) -[![NPM](https://nodei.co/npm-dl/readable-stream.png?&months=6&height=3)](https://nodei.co/npm/readable-stream/) - -This package is a mirror of the Streams2 and Streams3 implementations in Node-core. - -If you want to guarantee a stable streams base, regardless of what version of Node you, or the users of your libraries are using, use **readable-stream** *only* and avoid the *"stream"* module in Node-core. - -**readable-stream** comes in two major versions, v1.0.x and v1.1.x. The former tracks the Streams2 implementation in Node 0.10, including bug-fixes and minor improvements as they are added. The latter tracks Streams3 as it develops in Node 0.11; we will likely see a v1.2.x branch for Node 0.12. - -**readable-stream** uses proper patch-level versioning so if you pin to `"~1.0.0"` you’ll get the latest Node 0.10 Streams2 implementation, including any fixes and minor non-breaking improvements. The patch-level versions of 1.0.x and 1.1.x should mirror the patch-level versions of Node-core releases. You should prefer the **1.0.x** releases for now and when you’re ready to start using Streams3, pin to `"~1.1.0"` - diff --git a/publi/node_modules/vinyl-fs/node_modules/readable-stream/duplex.js b/publi/node_modules/vinyl-fs/node_modules/readable-stream/duplex.js deleted file mode 100644 index ca807af..0000000 --- a/publi/node_modules/vinyl-fs/node_modules/readable-stream/duplex.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require("./lib/_stream_duplex.js") diff --git a/publi/node_modules/vinyl-fs/node_modules/readable-stream/lib/_stream_duplex.js b/publi/node_modules/vinyl-fs/node_modules/readable-stream/lib/_stream_duplex.js deleted file mode 100644 index b513d61..0000000 --- a/publi/node_modules/vinyl-fs/node_modules/readable-stream/lib/_stream_duplex.js +++ /dev/null @@ -1,89 +0,0 @@ -// 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. - -// a duplex stream is just a stream that is both readable and writable. -// Since JS doesn't have multiple prototypal inheritance, this class -// prototypally inherits from Readable, and then parasitically from -// Writable. - -module.exports = Duplex; - -/**/ -var objectKeys = Object.keys || function (obj) { - var keys = []; - for (var key in obj) keys.push(key); - return keys; -} -/**/ - - -/**/ -var util = require('core-util-is'); -util.inherits = require('inherits'); -/**/ - -var Readable = require('./_stream_readable'); -var Writable = require('./_stream_writable'); - -util.inherits(Duplex, Readable); - -forEach(objectKeys(Writable.prototype), function(method) { - if (!Duplex.prototype[method]) - Duplex.prototype[method] = Writable.prototype[method]; -}); - -function Duplex(options) { - if (!(this instanceof Duplex)) - return new Duplex(options); - - Readable.call(this, options); - Writable.call(this, options); - - if (options && options.readable === false) - this.readable = false; - - if (options && options.writable === false) - this.writable = false; - - this.allowHalfOpen = true; - if (options && options.allowHalfOpen === false) - this.allowHalfOpen = false; - - this.once('end', onend); -} - -// the no-half-open enforcer -function onend() { - // if we allow half-open state, or if the writable side ended, - // then we're ok. - if (this.allowHalfOpen || this._writableState.ended) - return; - - // no more data can be written. - // But allow more writes to happen in this tick. - process.nextTick(this.end.bind(this)); -} - -function forEach (xs, f) { - for (var i = 0, l = xs.length; i < l; i++) { - f(xs[i], i); - } -} diff --git a/publi/node_modules/vinyl-fs/node_modules/readable-stream/lib/_stream_passthrough.js b/publi/node_modules/vinyl-fs/node_modules/readable-stream/lib/_stream_passthrough.js deleted file mode 100644 index 895ca50..0000000 --- a/publi/node_modules/vinyl-fs/node_modules/readable-stream/lib/_stream_passthrough.js +++ /dev/null @@ -1,46 +0,0 @@ -// 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. - -// a passthrough stream. -// basically just the most minimal sort of Transform stream. -// Every written chunk gets output as-is. - -module.exports = PassThrough; - -var Transform = require('./_stream_transform'); - -/**/ -var util = require('core-util-is'); -util.inherits = require('inherits'); -/**/ - -util.inherits(PassThrough, Transform); - -function PassThrough(options) { - if (!(this instanceof PassThrough)) - return new PassThrough(options); - - Transform.call(this, options); -} - -PassThrough.prototype._transform = function(chunk, encoding, cb) { - cb(null, chunk); -}; diff --git a/publi/node_modules/vinyl-fs/node_modules/readable-stream/lib/_stream_readable.js b/publi/node_modules/vinyl-fs/node_modules/readable-stream/lib/_stream_readable.js deleted file mode 100644 index 6307220..0000000 --- a/publi/node_modules/vinyl-fs/node_modules/readable-stream/lib/_stream_readable.js +++ /dev/null @@ -1,982 +0,0 @@ -// 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. - -module.exports = Readable; - -/**/ -var isArray = require('isarray'); -/**/ - - -/**/ -var Buffer = require('buffer').Buffer; -/**/ - -Readable.ReadableState = ReadableState; - -var EE = require('events').EventEmitter; - -/**/ -if (!EE.listenerCount) EE.listenerCount = function(emitter, type) { - return emitter.listeners(type).length; -}; -/**/ - -var Stream = require('stream'); - -/**/ -var util = require('core-util-is'); -util.inherits = require('inherits'); -/**/ - -var StringDecoder; - -util.inherits(Readable, Stream); - -function ReadableState(options, stream) { - options = options || {}; - - // the point at which it stops calling _read() to fill the buffer - // Note: 0 is a valid value, means "don't call _read preemptively ever" - var hwm = options.highWaterMark; - this.highWaterMark = (hwm || hwm === 0) ? hwm : 16 * 1024; - - // cast to ints. - this.highWaterMark = ~~this.highWaterMark; - - this.buffer = []; - this.length = 0; - this.pipes = null; - this.pipesCount = 0; - this.flowing = false; - this.ended = false; - this.endEmitted = false; - this.reading = false; - - // In streams that never have any data, and do push(null) right away, - // the consumer can miss the 'end' event if they do some I/O before - // consuming the stream. So, we don't emit('end') until some reading - // happens. - this.calledRead = false; - - // a flag to be able to tell if the onwrite cb is called immediately, - // or on a later tick. We set this to true at first, becuase any - // actions that shouldn't happen until "later" should generally also - // not happen before the first write call. - this.sync = true; - - // whenever we return null, then we set a flag to say - // that we're awaiting a 'readable' event emission. - this.needReadable = false; - this.emittedReadable = false; - this.readableListening = false; - - - // object stream flag. Used to make read(n) ignore n and to - // make all the buffer merging and length checks go away - this.objectMode = !!options.objectMode; - - // Crypto is kind of old and crusty. Historically, its default string - // encoding is 'binary' so we have to make this configurable. - // Everything else in the universe uses 'utf8', though. - this.defaultEncoding = options.defaultEncoding || 'utf8'; - - // when piping, we only care about 'readable' events that happen - // after read()ing all the bytes and not getting any pushback. - this.ranOut = false; - - // the number of writers that are awaiting a drain event in .pipe()s - this.awaitDrain = 0; - - // if true, a maybeReadMore has been scheduled - this.readingMore = false; - - this.decoder = null; - this.encoding = null; - if (options.encoding) { - if (!StringDecoder) - StringDecoder = require('string_decoder/').StringDecoder; - this.decoder = new StringDecoder(options.encoding); - this.encoding = options.encoding; - } -} - -function Readable(options) { - if (!(this instanceof Readable)) - return new Readable(options); - - this._readableState = new ReadableState(options, this); - - // legacy - this.readable = true; - - Stream.call(this); -} - -// Manually shove something into the read() buffer. -// This returns true if the highWaterMark has not been hit yet, -// similar to how Writable.write() returns true if you should -// write() some more. -Readable.prototype.push = function(chunk, encoding) { - var state = this._readableState; - - if (typeof chunk === 'string' && !state.objectMode) { - encoding = encoding || state.defaultEncoding; - if (encoding !== state.encoding) { - chunk = new Buffer(chunk, encoding); - encoding = ''; - } - } - - return readableAddChunk(this, state, chunk, encoding, false); -}; - -// Unshift should *always* be something directly out of read() -Readable.prototype.unshift = function(chunk) { - var state = this._readableState; - return readableAddChunk(this, state, chunk, '', true); -}; - -function readableAddChunk(stream, state, chunk, encoding, addToFront) { - var er = chunkInvalid(state, chunk); - if (er) { - stream.emit('error', er); - } else if (chunk === null || chunk === undefined) { - state.reading = false; - if (!state.ended) - onEofChunk(stream, state); - } else if (state.objectMode || chunk && chunk.length > 0) { - if (state.ended && !addToFront) { - var e = new Error('stream.push() after EOF'); - stream.emit('error', e); - } else if (state.endEmitted && addToFront) { - var e = new Error('stream.unshift() after end event'); - stream.emit('error', e); - } else { - if (state.decoder && !addToFront && !encoding) - chunk = state.decoder.write(chunk); - - // update the buffer info. - state.length += state.objectMode ? 1 : chunk.length; - if (addToFront) { - state.buffer.unshift(chunk); - } else { - state.reading = false; - state.buffer.push(chunk); - } - - if (state.needReadable) - emitReadable(stream); - - maybeReadMore(stream, state); - } - } else if (!addToFront) { - state.reading = false; - } - - return needMoreData(state); -} - - - -// if it's past the high water mark, we can push in some more. -// Also, if we have no data yet, we can stand some -// more bytes. This is to work around cases where hwm=0, -// such as the repl. Also, if the push() triggered a -// readable event, and the user called read(largeNumber) such that -// needReadable was set, then we ought to push more, so that another -// 'readable' event will be triggered. -function needMoreData(state) { - return !state.ended && - (state.needReadable || - state.length < state.highWaterMark || - state.length === 0); -} - -// backwards compatibility. -Readable.prototype.setEncoding = function(enc) { - if (!StringDecoder) - StringDecoder = require('string_decoder/').StringDecoder; - this._readableState.decoder = new StringDecoder(enc); - this._readableState.encoding = enc; -}; - -// Don't raise the hwm > 128MB -var MAX_HWM = 0x800000; -function roundUpToNextPowerOf2(n) { - if (n >= MAX_HWM) { - n = MAX_HWM; - } else { - // Get the next highest power of 2 - n--; - for (var p = 1; p < 32; p <<= 1) n |= n >> p; - n++; - } - return n; -} - -function howMuchToRead(n, state) { - if (state.length === 0 && state.ended) - return 0; - - if (state.objectMode) - return n === 0 ? 0 : 1; - - if (n === null || isNaN(n)) { - // only flow one buffer at a time - if (state.flowing && state.buffer.length) - return state.buffer[0].length; - else - return state.length; - } - - if (n <= 0) - return 0; - - // If we're asking for more than the target buffer level, - // then raise the water mark. Bump up to the next highest - // power of 2, to prevent increasing it excessively in tiny - // amounts. - if (n > state.highWaterMark) - state.highWaterMark = roundUpToNextPowerOf2(n); - - // don't have that much. return null, unless we've ended. - if (n > state.length) { - if (!state.ended) { - state.needReadable = true; - return 0; - } else - return state.length; - } - - return n; -} - -// you can override either this method, or the async _read(n) below. -Readable.prototype.read = function(n) { - var state = this._readableState; - state.calledRead = true; - var nOrig = n; - var ret; - - if (typeof n !== 'number' || n > 0) - state.emittedReadable = false; - - // if we're doing read(0) to trigger a readable event, but we - // already have a bunch of data in the buffer, then just trigger - // the 'readable' event and move on. - if (n === 0 && - state.needReadable && - (state.length >= state.highWaterMark || state.ended)) { - emitReadable(this); - return null; - } - - n = howMuchToRead(n, state); - - // if we've ended, and we're now clear, then finish it up. - if (n === 0 && state.ended) { - ret = null; - - // In cases where the decoder did not receive enough data - // to produce a full chunk, then immediately received an - // EOF, state.buffer will contain [, ]. - // howMuchToRead will see this and coerce the amount to - // read to zero (because it's looking at the length of the - // first in state.buffer), and we'll end up here. - // - // This can only happen via state.decoder -- no other venue - // exists for pushing a zero-length chunk into state.buffer - // and triggering this behavior. In this case, we return our - // remaining data and end the stream, if appropriate. - if (state.length > 0 && state.decoder) { - ret = fromList(n, state); - state.length -= ret.length; - } - - if (state.length === 0) - endReadable(this); - - return ret; - } - - // All the actual chunk generation logic needs to be - // *below* the call to _read. The reason is that in certain - // synthetic stream cases, such as passthrough streams, _read - // may be a completely synchronous operation which may change - // the state of the read buffer, providing enough data when - // before there was *not* enough. - // - // So, the steps are: - // 1. Figure out what the state of things will be after we do - // a read from the buffer. - // - // 2. If that resulting state will trigger a _read, then call _read. - // Note that this may be asynchronous, or synchronous. Yes, it is - // deeply ugly to write APIs this way, but that still doesn't mean - // that the Readable class should behave improperly, as streams are - // designed to be sync/async agnostic. - // Take note if the _read call is sync or async (ie, if the read call - // has returned yet), so that we know whether or not it's safe to emit - // 'readable' etc. - // - // 3. Actually pull the requested chunks out of the buffer and return. - - // if we need a readable event, then we need to do some reading. - var doRead = state.needReadable; - - // if we currently have less than the highWaterMark, then also read some - if (state.length - n <= state.highWaterMark) - doRead = true; - - // however, if we've ended, then there's no point, and if we're already - // reading, then it's unnecessary. - if (state.ended || state.reading) - doRead = false; - - if (doRead) { - state.reading = true; - state.sync = true; - // if the length is currently zero, then we *need* a readable event. - if (state.length === 0) - state.needReadable = true; - // call internal read method - this._read(state.highWaterMark); - state.sync = false; - } - - // If _read called its callback synchronously, then `reading` - // will be false, and we need to re-evaluate how much data we - // can return to the user. - if (doRead && !state.reading) - n = howMuchToRead(nOrig, state); - - if (n > 0) - ret = fromList(n, state); - else - ret = null; - - if (ret === null) { - state.needReadable = true; - n = 0; - } - - state.length -= n; - - // If we have nothing in the buffer, then we want to know - // as soon as we *do* get something into the buffer. - if (state.length === 0 && !state.ended) - state.needReadable = true; - - // If we happened to read() exactly the remaining amount in the - // buffer, and the EOF has been seen at this point, then make sure - // that we emit 'end' on the very next tick. - if (state.ended && !state.endEmitted && state.length === 0) - endReadable(this); - - return ret; -}; - -function chunkInvalid(state, chunk) { - var er = null; - if (!Buffer.isBuffer(chunk) && - 'string' !== typeof chunk && - chunk !== null && - chunk !== undefined && - !state.objectMode) { - er = new TypeError('Invalid non-string/buffer chunk'); - } - return er; -} - - -function onEofChunk(stream, state) { - if (state.decoder && !state.ended) { - var chunk = state.decoder.end(); - if (chunk && chunk.length) { - state.buffer.push(chunk); - state.length += state.objectMode ? 1 : chunk.length; - } - } - state.ended = true; - - // if we've ended and we have some data left, then emit - // 'readable' now to make sure it gets picked up. - if (state.length > 0) - emitReadable(stream); - else - endReadable(stream); -} - -// Don't emit readable right away in sync mode, because this can trigger -// another read() call => stack overflow. This way, it might trigger -// a nextTick recursion warning, but that's not so bad. -function emitReadable(stream) { - var state = stream._readableState; - state.needReadable = false; - if (state.emittedReadable) - return; - - state.emittedReadable = true; - if (state.sync) - process.nextTick(function() { - emitReadable_(stream); - }); - else - emitReadable_(stream); -} - -function emitReadable_(stream) { - stream.emit('readable'); -} - - -// at this point, the user has presumably seen the 'readable' event, -// and called read() to consume some data. that may have triggered -// in turn another _read(n) call, in which case reading = true if -// it's in progress. -// However, if we're not ended, or reading, and the length < hwm, -// then go ahead and try to read some more preemptively. -function maybeReadMore(stream, state) { - if (!state.readingMore) { - state.readingMore = true; - process.nextTick(function() { - maybeReadMore_(stream, state); - }); - } -} - -function maybeReadMore_(stream, state) { - var len = state.length; - while (!state.reading && !state.flowing && !state.ended && - state.length < state.highWaterMark) { - stream.read(0); - if (len === state.length) - // didn't get any data, stop spinning. - break; - else - len = state.length; - } - state.readingMore = false; -} - -// abstract method. to be overridden in specific implementation classes. -// call cb(er, data) where data is <= n in length. -// for virtual (non-string, non-buffer) streams, "length" is somewhat -// arbitrary, and perhaps not very meaningful. -Readable.prototype._read = function(n) { - this.emit('error', new Error('not implemented')); -}; - -Readable.prototype.pipe = function(dest, pipeOpts) { - var src = this; - var state = this._readableState; - - switch (state.pipesCount) { - case 0: - state.pipes = dest; - break; - case 1: - state.pipes = [state.pipes, dest]; - break; - default: - state.pipes.push(dest); - break; - } - state.pipesCount += 1; - - var doEnd = (!pipeOpts || pipeOpts.end !== false) && - dest !== process.stdout && - dest !== process.stderr; - - var endFn = doEnd ? onend : cleanup; - if (state.endEmitted) - process.nextTick(endFn); - else - src.once('end', endFn); - - dest.on('unpipe', onunpipe); - function onunpipe(readable) { - if (readable !== src) return; - cleanup(); - } - - function onend() { - dest.end(); - } - - // when the dest drains, it reduces the awaitDrain counter - // on the source. This would be more elegant with a .once() - // handler in flow(), but adding and removing repeatedly is - // too slow. - var ondrain = pipeOnDrain(src); - dest.on('drain', ondrain); - - function cleanup() { - // cleanup event handlers once the pipe is broken - dest.removeListener('close', onclose); - dest.removeListener('finish', onfinish); - dest.removeListener('drain', ondrain); - dest.removeListener('error', onerror); - dest.removeListener('unpipe', onunpipe); - src.removeListener('end', onend); - src.removeListener('end', cleanup); - - // if the reader is waiting for a drain event from this - // specific writer, then it would cause it to never start - // flowing again. - // So, if this is awaiting a drain, then we just call it now. - // If we don't know, then assume that we are waiting for one. - if (!dest._writableState || dest._writableState.needDrain) - ondrain(); - } - - // if the dest has an error, then stop piping into it. - // however, don't suppress the throwing behavior for this. - function onerror(er) { - unpipe(); - dest.removeListener('error', onerror); - if (EE.listenerCount(dest, 'error') === 0) - dest.emit('error', er); - } - // This is a brutally ugly hack to make sure that our error handler - // is attached before any userland ones. NEVER DO THIS. - if (!dest._events || !dest._events.error) - dest.on('error', onerror); - else if (isArray(dest._events.error)) - dest._events.error.unshift(onerror); - else - dest._events.error = [onerror, dest._events.error]; - - - - // Both close and finish should trigger unpipe, but only once. - function onclose() { - dest.removeListener('finish', onfinish); - unpipe(); - } - dest.once('close', onclose); - function onfinish() { - dest.removeListener('close', onclose); - unpipe(); - } - dest.once('finish', onfinish); - - function unpipe() { - src.unpipe(dest); - } - - // tell the dest that it's being piped to - dest.emit('pipe', src); - - // start the flow if it hasn't been started already. - if (!state.flowing) { - // the handler that waits for readable events after all - // the data gets sucked out in flow. - // This would be easier to follow with a .once() handler - // in flow(), but that is too slow. - this.on('readable', pipeOnReadable); - - state.flowing = true; - process.nextTick(function() { - flow(src); - }); - } - - return dest; -}; - -function pipeOnDrain(src) { - return function() { - var dest = this; - var state = src._readableState; - state.awaitDrain--; - if (state.awaitDrain === 0) - flow(src); - }; -} - -function flow(src) { - var state = src._readableState; - var chunk; - state.awaitDrain = 0; - - function write(dest, i, list) { - var written = dest.write(chunk); - if (false === written) { - state.awaitDrain++; - } - } - - while (state.pipesCount && null !== (chunk = src.read())) { - - if (state.pipesCount === 1) - write(state.pipes, 0, null); - else - forEach(state.pipes, write); - - src.emit('data', chunk); - - // if anyone needs a drain, then we have to wait for that. - if (state.awaitDrain > 0) - return; - } - - // if every destination was unpiped, either before entering this - // function, or in the while loop, then stop flowing. - // - // NB: This is a pretty rare edge case. - if (state.pipesCount === 0) { - state.flowing = false; - - // if there were data event listeners added, then switch to old mode. - if (EE.listenerCount(src, 'data') > 0) - emitDataEvents(src); - return; - } - - // at this point, no one needed a drain, so we just ran out of data - // on the next readable event, start it over again. - state.ranOut = true; -} - -function pipeOnReadable() { - if (this._readableState.ranOut) { - this._readableState.ranOut = false; - flow(this); - } -} - - -Readable.prototype.unpipe = function(dest) { - var state = this._readableState; - - // if we're not piping anywhere, then do nothing. - if (state.pipesCount === 0) - return this; - - // just one destination. most common case. - if (state.pipesCount === 1) { - // passed in one, but it's not the right one. - if (dest && dest !== state.pipes) - return this; - - if (!dest) - dest = state.pipes; - - // got a match. - state.pipes = null; - state.pipesCount = 0; - this.removeListener('readable', pipeOnReadable); - state.flowing = false; - if (dest) - dest.emit('unpipe', this); - return this; - } - - // slow case. multiple pipe destinations. - - if (!dest) { - // remove all. - var dests = state.pipes; - var len = state.pipesCount; - state.pipes = null; - state.pipesCount = 0; - this.removeListener('readable', pipeOnReadable); - state.flowing = false; - - for (var i = 0; i < len; i++) - dests[i].emit('unpipe', this); - return this; - } - - // try to find the right one. - var i = indexOf(state.pipes, dest); - if (i === -1) - return this; - - state.pipes.splice(i, 1); - state.pipesCount -= 1; - if (state.pipesCount === 1) - state.pipes = state.pipes[0]; - - dest.emit('unpipe', this); - - return this; -}; - -// set up data events if they are asked for -// Ensure readable listeners eventually get something -Readable.prototype.on = function(ev, fn) { - var res = Stream.prototype.on.call(this, ev, fn); - - if (ev === 'data' && !this._readableState.flowing) - emitDataEvents(this); - - if (ev === 'readable' && this.readable) { - var state = this._readableState; - if (!state.readableListening) { - state.readableListening = true; - state.emittedReadable = false; - state.needReadable = true; - if (!state.reading) { - this.read(0); - } else if (state.length) { - emitReadable(this, state); - } - } - } - - return res; -}; -Readable.prototype.addListener = Readable.prototype.on; - -// pause() and resume() are remnants of the legacy readable stream API -// If the user uses them, then switch into old mode. -Readable.prototype.resume = function() { - emitDataEvents(this); - this.read(0); - this.emit('resume'); -}; - -Readable.prototype.pause = function() { - emitDataEvents(this, true); - this.emit('pause'); -}; - -function emitDataEvents(stream, startPaused) { - var state = stream._readableState; - - if (state.flowing) { - // https://github.com/isaacs/readable-stream/issues/16 - throw new Error('Cannot switch to old mode now.'); - } - - var paused = startPaused || false; - var readable = false; - - // convert to an old-style stream. - stream.readable = true; - stream.pipe = Stream.prototype.pipe; - stream.on = stream.addListener = Stream.prototype.on; - - stream.on('readable', function() { - readable = true; - - var c; - while (!paused && (null !== (c = stream.read()))) - stream.emit('data', c); - - if (c === null) { - readable = false; - stream._readableState.needReadable = true; - } - }); - - stream.pause = function() { - paused = true; - this.emit('pause'); - }; - - stream.resume = function() { - paused = false; - if (readable) - process.nextTick(function() { - stream.emit('readable'); - }); - else - this.read(0); - this.emit('resume'); - }; - - // now make it start, just in case it hadn't already. - stream.emit('readable'); -} - -// wrap an old-style stream as the async data source. -// This is *not* part of the readable stream interface. -// It is an ugly unfortunate mess of history. -Readable.prototype.wrap = function(stream) { - var state = this._readableState; - var paused = false; - - var self = this; - stream.on('end', function() { - if (state.decoder && !state.ended) { - var chunk = state.decoder.end(); - if (chunk && chunk.length) - self.push(chunk); - } - - self.push(null); - }); - - stream.on('data', function(chunk) { - if (state.decoder) - chunk = state.decoder.write(chunk); - - // don't skip over falsy values in objectMode - //if (state.objectMode && util.isNullOrUndefined(chunk)) - if (state.objectMode && (chunk === null || chunk === undefined)) - return; - else if (!state.objectMode && (!chunk || !chunk.length)) - return; - - var ret = self.push(chunk); - if (!ret) { - paused = true; - stream.pause(); - } - }); - - // proxy all the other methods. - // important when wrapping filters and duplexes. - for (var i in stream) { - if (typeof stream[i] === 'function' && - typeof this[i] === 'undefined') { - this[i] = function(method) { return function() { - return stream[method].apply(stream, arguments); - }}(i); - } - } - - // proxy certain important events. - var events = ['error', 'close', 'destroy', 'pause', 'resume']; - forEach(events, function(ev) { - stream.on(ev, self.emit.bind(self, ev)); - }); - - // when we try to consume some more bytes, simply unpause the - // underlying stream. - self._read = function(n) { - if (paused) { - paused = false; - stream.resume(); - } - }; - - return self; -}; - - - -// exposed for testing purposes only. -Readable._fromList = fromList; - -// Pluck off n bytes from an array of buffers. -// Length is the combined lengths of all the buffers in the list. -function fromList(n, state) { - var list = state.buffer; - var length = state.length; - var stringMode = !!state.decoder; - var objectMode = !!state.objectMode; - var ret; - - // nothing in the list, definitely empty. - if (list.length === 0) - return null; - - if (length === 0) - ret = null; - else if (objectMode) - ret = list.shift(); - else if (!n || n >= length) { - // read it all, truncate the array. - if (stringMode) - ret = list.join(''); - else - ret = Buffer.concat(list, length); - list.length = 0; - } else { - // read just some of it. - if (n < list[0].length) { - // just take a part of the first list item. - // slice is the same for buffers and strings. - var buf = list[0]; - ret = buf.slice(0, n); - list[0] = buf.slice(n); - } else if (n === list[0].length) { - // first list is a perfect match - ret = list.shift(); - } else { - // complex case. - // we have enough to cover it, but it spans past the first buffer. - if (stringMode) - ret = ''; - else - ret = new Buffer(n); - - var c = 0; - for (var i = 0, l = list.length; i < l && c < n; i++) { - var buf = list[0]; - var cpy = Math.min(n - c, buf.length); - - if (stringMode) - ret += buf.slice(0, cpy); - else - buf.copy(ret, c, 0, cpy); - - if (cpy < buf.length) - list[0] = buf.slice(cpy); - else - list.shift(); - - c += cpy; - } - } - } - - return ret; -} - -function endReadable(stream) { - var state = stream._readableState; - - // If we get here before consuming all the bytes, then that is a - // bug in node. Should never happen. - if (state.length > 0) - throw new Error('endReadable called on non-empty stream'); - - if (!state.endEmitted && state.calledRead) { - state.ended = true; - process.nextTick(function() { - // Check that we didn't get one last unshift. - if (!state.endEmitted && state.length === 0) { - state.endEmitted = true; - stream.readable = false; - stream.emit('end'); - } - }); - } -} - -function forEach (xs, f) { - for (var i = 0, l = xs.length; i < l; i++) { - f(xs[i], i); - } -} - -function indexOf (xs, x) { - for (var i = 0, l = xs.length; i < l; i++) { - if (xs[i] === x) return i; - } - return -1; -} diff --git a/publi/node_modules/vinyl-fs/node_modules/readable-stream/lib/_stream_transform.js b/publi/node_modules/vinyl-fs/node_modules/readable-stream/lib/_stream_transform.js deleted file mode 100644 index eb188df..0000000 --- a/publi/node_modules/vinyl-fs/node_modules/readable-stream/lib/_stream_transform.js +++ /dev/null @@ -1,210 +0,0 @@ -// 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. - - -// a transform stream is a readable/writable stream where you do -// something with the data. Sometimes it's called a "filter", -// but that's not a great name for it, since that implies a thing where -// some bits pass through, and others are simply ignored. (That would -// be a valid example of a transform, of course.) -// -// While the output is causally related to the input, it's not a -// necessarily symmetric or synchronous transformation. For example, -// a zlib stream might take multiple plain-text writes(), and then -// emit a single compressed chunk some time in the future. -// -// Here's how this works: -// -// The Transform stream has all the aspects of the readable and writable -// stream classes. When you write(chunk), that calls _write(chunk,cb) -// internally, and returns false if there's a lot of pending writes -// buffered up. When you call read(), that calls _read(n) until -// there's enough pending readable data buffered up. -// -// In a transform stream, the written data is placed in a buffer. When -// _read(n) is called, it transforms the queued up data, calling the -// buffered _write cb's as it consumes chunks. If consuming a single -// written chunk would result in multiple output chunks, then the first -// outputted bit calls the readcb, and subsequent chunks just go into -// the read buffer, and will cause it to emit 'readable' if necessary. -// -// This way, back-pressure is actually determined by the reading side, -// since _read has to be called to start processing a new chunk. However, -// a pathological inflate type of transform can cause excessive buffering -// here. For example, imagine a stream where every byte of input is -// interpreted as an integer from 0-255, and then results in that many -// bytes of output. Writing the 4 bytes {ff,ff,ff,ff} would result in -// 1kb of data being output. In this case, you could write a very small -// amount of input, and end up with a very large amount of output. In -// such a pathological inflating mechanism, there'd be no way to tell -// the system to stop doing the transform. A single 4MB write could -// cause the system to run out of memory. -// -// However, even in such a pathological case, only a single written chunk -// would be consumed, and then the rest would wait (un-transformed) until -// the results of the previous transformed chunk were consumed. - -module.exports = Transform; - -var Duplex = require('./_stream_duplex'); - -/**/ -var util = require('core-util-is'); -util.inherits = require('inherits'); -/**/ - -util.inherits(Transform, Duplex); - - -function TransformState(options, stream) { - this.afterTransform = function(er, data) { - return afterTransform(stream, er, data); - }; - - this.needTransform = false; - this.transforming = false; - this.writecb = null; - this.writechunk = null; -} - -function afterTransform(stream, er, data) { - var ts = stream._transformState; - ts.transforming = false; - - var cb = ts.writecb; - - if (!cb) - return stream.emit('error', new Error('no writecb in Transform class')); - - ts.writechunk = null; - ts.writecb = null; - - if (data !== null && data !== undefined) - stream.push(data); - - if (cb) - cb(er); - - var rs = stream._readableState; - rs.reading = false; - if (rs.needReadable || rs.length < rs.highWaterMark) { - stream._read(rs.highWaterMark); - } -} - - -function Transform(options) { - if (!(this instanceof Transform)) - return new Transform(options); - - Duplex.call(this, options); - - var ts = this._transformState = new TransformState(options, this); - - // when the writable side finishes, then flush out anything remaining. - var stream = this; - - // start out asking for a readable event once data is transformed. - this._readableState.needReadable = true; - - // we have implemented the _read method, and done the other things - // that Readable wants before the first _read call, so unset the - // sync guard flag. - this._readableState.sync = false; - - this.once('finish', function() { - if ('function' === typeof this._flush) - this._flush(function(er) { - done(stream, er); - }); - else - done(stream); - }); -} - -Transform.prototype.push = function(chunk, encoding) { - this._transformState.needTransform = false; - return Duplex.prototype.push.call(this, chunk, encoding); -}; - -// This is the part where you do stuff! -// override this function in implementation classes. -// 'chunk' is an input chunk. -// -// Call `push(newChunk)` to pass along transformed output -// to the readable side. You may call 'push' zero or more times. -// -// Call `cb(err)` when you are done with this chunk. If you pass -// an error, then that'll put the hurt on the whole operation. If you -// never call cb(), then you'll never get another chunk. -Transform.prototype._transform = function(chunk, encoding, cb) { - throw new Error('not implemented'); -}; - -Transform.prototype._write = function(chunk, encoding, cb) { - var ts = this._transformState; - ts.writecb = cb; - ts.writechunk = chunk; - ts.writeencoding = encoding; - if (!ts.transforming) { - var rs = this._readableState; - if (ts.needTransform || - rs.needReadable || - rs.length < rs.highWaterMark) - this._read(rs.highWaterMark); - } -}; - -// Doesn't matter what the args are here. -// _transform does all the work. -// That we got here means that the readable side wants more data. -Transform.prototype._read = function(n) { - var ts = this._transformState; - - if (ts.writechunk !== null && ts.writecb && !ts.transforming) { - ts.transforming = true; - this._transform(ts.writechunk, ts.writeencoding, ts.afterTransform); - } else { - // mark that we need a transform, so that any data that comes in - // will get processed, now that we've asked for it. - ts.needTransform = true; - } -}; - - -function done(stream, er) { - if (er) - return stream.emit('error', er); - - // if there's nothing in the write buffer, then that means - // that nothing more will ever be provided - var ws = stream._writableState; - var rs = stream._readableState; - var ts = stream._transformState; - - if (ws.length) - throw new Error('calling transform done when ws.length != 0'); - - if (ts.transforming) - throw new Error('calling transform done when still transforming'); - - return stream.push(null); -} diff --git a/publi/node_modules/vinyl-fs/node_modules/readable-stream/lib/_stream_writable.js b/publi/node_modules/vinyl-fs/node_modules/readable-stream/lib/_stream_writable.js deleted file mode 100644 index 4bdaa4f..0000000 --- a/publi/node_modules/vinyl-fs/node_modules/readable-stream/lib/_stream_writable.js +++ /dev/null @@ -1,386 +0,0 @@ -// 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. - -// A bit simpler than readable streams. -// Implement an async ._write(chunk, cb), and it'll handle all -// the drain event emission and buffering. - -module.exports = Writable; - -/**/ -var Buffer = require('buffer').Buffer; -/**/ - -Writable.WritableState = WritableState; - - -/**/ -var util = require('core-util-is'); -util.inherits = require('inherits'); -/**/ - -var Stream = require('stream'); - -util.inherits(Writable, Stream); - -function WriteReq(chunk, encoding, cb) { - this.chunk = chunk; - this.encoding = encoding; - this.callback = cb; -} - -function WritableState(options, stream) { - options = options || {}; - - // the point at which write() starts returning false - // Note: 0 is a valid value, means that we always return false if - // the entire buffer is not flushed immediately on write() - var hwm = options.highWaterMark; - this.highWaterMark = (hwm || hwm === 0) ? hwm : 16 * 1024; - - // object stream flag to indicate whether or not this stream - // contains buffers or objects. - this.objectMode = !!options.objectMode; - - // cast to ints. - this.highWaterMark = ~~this.highWaterMark; - - this.needDrain = false; - // at the start of calling end() - this.ending = false; - // when end() has been called, and returned - this.ended = false; - // when 'finish' is emitted - this.finished = false; - - // should we decode strings into buffers before passing to _write? - // this is here so that some node-core streams can optimize string - // handling at a lower level. - var noDecode = options.decodeStrings === false; - this.decodeStrings = !noDecode; - - // Crypto is kind of old and crusty. Historically, its default string - // encoding is 'binary' so we have to make this configurable. - // Everything else in the universe uses 'utf8', though. - this.defaultEncoding = options.defaultEncoding || 'utf8'; - - // not an actual buffer we keep track of, but a measurement - // of how much we're waiting to get pushed to some underlying - // socket or file. - this.length = 0; - - // a flag to see when we're in the middle of a write. - this.writing = false; - - // a flag to be able to tell if the onwrite cb is called immediately, - // or on a later tick. We set this to true at first, becuase any - // actions that shouldn't happen until "later" should generally also - // not happen before the first write call. - this.sync = true; - - // a flag to know if we're processing previously buffered items, which - // may call the _write() callback in the same tick, so that we don't - // end up in an overlapped onwrite situation. - this.bufferProcessing = false; - - // the callback that's passed to _write(chunk,cb) - this.onwrite = function(er) { - onwrite(stream, er); - }; - - // the callback that the user supplies to write(chunk,encoding,cb) - this.writecb = null; - - // the amount that is being written when _write is called. - this.writelen = 0; - - this.buffer = []; - - // True if the error was already emitted and should not be thrown again - this.errorEmitted = false; -} - -function Writable(options) { - var Duplex = require('./_stream_duplex'); - - // Writable ctor is applied to Duplexes, though they're not - // instanceof Writable, they're instanceof Readable. - if (!(this instanceof Writable) && !(this instanceof Duplex)) - return new Writable(options); - - this._writableState = new WritableState(options, this); - - // legacy. - this.writable = true; - - Stream.call(this); -} - -// Otherwise people can pipe Writable streams, which is just wrong. -Writable.prototype.pipe = function() { - this.emit('error', new Error('Cannot pipe. Not readable.')); -}; - - -function writeAfterEnd(stream, state, cb) { - var er = new Error('write after end'); - // TODO: defer error events consistently everywhere, not just the cb - stream.emit('error', er); - process.nextTick(function() { - cb(er); - }); -} - -// If we get something that is not a buffer, string, null, or undefined, -// and we're not in objectMode, then that's an error. -// Otherwise stream chunks are all considered to be of length=1, and the -// watermarks determine how many objects to keep in the buffer, rather than -// how many bytes or characters. -function validChunk(stream, state, chunk, cb) { - var valid = true; - if (!Buffer.isBuffer(chunk) && - 'string' !== typeof chunk && - chunk !== null && - chunk !== undefined && - !state.objectMode) { - var er = new TypeError('Invalid non-string/buffer chunk'); - stream.emit('error', er); - process.nextTick(function() { - cb(er); - }); - valid = false; - } - return valid; -} - -Writable.prototype.write = function(chunk, encoding, cb) { - var state = this._writableState; - var ret = false; - - if (typeof encoding === 'function') { - cb = encoding; - encoding = null; - } - - if (Buffer.isBuffer(chunk)) - encoding = 'buffer'; - else if (!encoding) - encoding = state.defaultEncoding; - - if (typeof cb !== 'function') - cb = function() {}; - - if (state.ended) - writeAfterEnd(this, state, cb); - else if (validChunk(this, state, chunk, cb)) - ret = writeOrBuffer(this, state, chunk, encoding, cb); - - return ret; -}; - -function decodeChunk(state, chunk, encoding) { - if (!state.objectMode && - state.decodeStrings !== false && - typeof chunk === 'string') { - chunk = new Buffer(chunk, encoding); - } - return chunk; -} - -// if we're already writing something, then just put this -// in the queue, and wait our turn. Otherwise, call _write -// If we return false, then we need a drain event, so set that flag. -function writeOrBuffer(stream, state, chunk, encoding, cb) { - chunk = decodeChunk(state, chunk, encoding); - if (Buffer.isBuffer(chunk)) - encoding = 'buffer'; - var len = state.objectMode ? 1 : chunk.length; - - state.length += len; - - var ret = state.length < state.highWaterMark; - // we must ensure that previous needDrain will not be reset to false. - if (!ret) - state.needDrain = true; - - if (state.writing) - state.buffer.push(new WriteReq(chunk, encoding, cb)); - else - doWrite(stream, state, len, chunk, encoding, cb); - - return ret; -} - -function doWrite(stream, state, len, chunk, encoding, cb) { - state.writelen = len; - state.writecb = cb; - state.writing = true; - state.sync = true; - stream._write(chunk, encoding, state.onwrite); - state.sync = false; -} - -function onwriteError(stream, state, sync, er, cb) { - if (sync) - process.nextTick(function() { - cb(er); - }); - else - cb(er); - - stream._writableState.errorEmitted = true; - stream.emit('error', er); -} - -function onwriteStateUpdate(state) { - state.writing = false; - state.writecb = null; - state.length -= state.writelen; - state.writelen = 0; -} - -function onwrite(stream, er) { - var state = stream._writableState; - var sync = state.sync; - var cb = state.writecb; - - onwriteStateUpdate(state); - - if (er) - onwriteError(stream, state, sync, er, cb); - else { - // Check if we're actually ready to finish, but don't emit yet - var finished = needFinish(stream, state); - - if (!finished && !state.bufferProcessing && state.buffer.length) - clearBuffer(stream, state); - - if (sync) { - process.nextTick(function() { - afterWrite(stream, state, finished, cb); - }); - } else { - afterWrite(stream, state, finished, cb); - } - } -} - -function afterWrite(stream, state, finished, cb) { - if (!finished) - onwriteDrain(stream, state); - cb(); - if (finished) - finishMaybe(stream, state); -} - -// Must force callback to be called on nextTick, so that we don't -// emit 'drain' before the write() consumer gets the 'false' return -// value, and has a chance to attach a 'drain' listener. -function onwriteDrain(stream, state) { - if (state.length === 0 && state.needDrain) { - state.needDrain = false; - stream.emit('drain'); - } -} - - -// if there's something in the buffer waiting, then process it -function clearBuffer(stream, state) { - state.bufferProcessing = true; - - for (var c = 0; c < state.buffer.length; c++) { - var entry = state.buffer[c]; - var chunk = entry.chunk; - var encoding = entry.encoding; - var cb = entry.callback; - var len = state.objectMode ? 1 : chunk.length; - - doWrite(stream, state, len, chunk, encoding, cb); - - // if we didn't call the onwrite immediately, then - // it means that we need to wait until it does. - // also, that means that the chunk and cb are currently - // being processed, so move the buffer counter past them. - if (state.writing) { - c++; - break; - } - } - - state.bufferProcessing = false; - if (c < state.buffer.length) - state.buffer = state.buffer.slice(c); - else - state.buffer.length = 0; -} - -Writable.prototype._write = function(chunk, encoding, cb) { - cb(new Error('not implemented')); -}; - -Writable.prototype.end = function(chunk, encoding, cb) { - var state = this._writableState; - - if (typeof chunk === 'function') { - cb = chunk; - chunk = null; - encoding = null; - } else if (typeof encoding === 'function') { - cb = encoding; - encoding = null; - } - - if (typeof chunk !== 'undefined' && chunk !== null) - this.write(chunk, encoding); - - // ignore unnecessary end() calls. - if (!state.ending && !state.finished) - endWritable(this, state, cb); -}; - - -function needFinish(stream, state) { - return (state.ending && - state.length === 0 && - !state.finished && - !state.writing); -} - -function finishMaybe(stream, state) { - var need = needFinish(stream, state); - if (need) { - state.finished = true; - stream.emit('finish'); - } - return need; -} - -function endWritable(stream, state, cb) { - state.ending = true; - finishMaybe(stream, state); - if (cb) { - if (state.finished) - process.nextTick(cb); - else - stream.once('finish', cb); - } - state.ended = true; -} diff --git a/publi/node_modules/vinyl-fs/node_modules/readable-stream/package.json b/publi/node_modules/vinyl-fs/node_modules/readable-stream/package.json deleted file mode 100644 index 4b0103c..0000000 --- a/publi/node_modules/vinyl-fs/node_modules/readable-stream/package.json +++ /dev/null @@ -1,112 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "readable-stream@>=1.0.33-1 <1.1.0-0", - "scope": null, - "escapedName": "readable-stream", - "name": "readable-stream", - "rawSpec": ">=1.0.33-1 <1.1.0-0", - "spec": ">=1.0.33-1 <1.1.0-0", - "type": "range" - }, - "/mnt/Data/bach/Documents/ola/OLA#3DOC/sys/node_modules/vinyl-fs/node_modules/through2" - ] - ], - "_from": "readable-stream@>=1.0.33-1 <1.1.0-0", - "_id": "readable-stream@1.0.34", - "_inCache": true, - "_location": "/vinyl-fs/readable-stream", - "_nodeVersion": "5.10.1", - "_npmOperationalInternal": { - "host": "packages-12-west.internal.npmjs.com", - "tmp": "tmp/readable-stream-1.0.34.tgz_1460562521506_0.019665231462568045" - }, - "_npmUser": { - "name": "cwmma", - "email": "calvin.metcalf@gmail.com" - }, - "_npmVersion": "3.8.3", - "_phantomChildren": {}, - "_requested": { - "raw": "readable-stream@>=1.0.33-1 <1.1.0-0", - "scope": null, - "escapedName": "readable-stream", - "name": "readable-stream", - "rawSpec": ">=1.0.33-1 <1.1.0-0", - "spec": ">=1.0.33-1 <1.1.0-0", - "type": "range" - }, - "_requiredBy": [ - "/vinyl-fs/through2" - ], - "_resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", - "_shasum": "125820e34bc842d2f2aaafafe4c2916ee32c157c", - "_shrinkwrap": null, - "_spec": "readable-stream@>=1.0.33-1 <1.1.0-0", - "_where": "/mnt/Data/bach/Documents/ola/OLA#3DOC/sys/node_modules/vinyl-fs/node_modules/through2", - "author": { - "name": "Isaac Z. Schlueter", - "email": "i@izs.me", - "url": "http://blog.izs.me/" - }, - "browser": { - "util": false - }, - "bugs": { - "url": "https://github.com/isaacs/readable-stream/issues" - }, - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - }, - "description": "Streams2, a user-land copy of the stream library from Node.js v0.10.x", - "devDependencies": { - "tap": "~0.2.6" - }, - "directories": {}, - "dist": { - "shasum": "125820e34bc842d2f2aaafafe4c2916ee32c157c", - "tarball": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz" - }, - "gitHead": "1227c7b66deedb1dc5284a89425854d5f7ad9576", - "homepage": "https://github.com/isaacs/readable-stream#readme", - "keywords": [ - "readable", - "stream", - "pipe" - ], - "license": "MIT", - "main": "readable.js", - "maintainers": [ - { - "name": "isaacs", - "email": "isaacs@npmjs.com" - }, - { - "name": "tootallnate", - "email": "nathan@tootallnate.net" - }, - { - "name": "rvagg", - "email": "rod@vagg.org" - }, - { - "name": "cwmma", - "email": "calvin.metcalf@gmail.com" - } - ], - "name": "readable-stream", - "optionalDependencies": {}, - "readme": "ERROR: No README data found!", - "repository": { - "type": "git", - "url": "git://github.com/isaacs/readable-stream.git" - }, - "scripts": { - "test": "tap test/simple/*.js" - }, - "version": "1.0.34" -} diff --git a/publi/node_modules/vinyl-fs/node_modules/readable-stream/passthrough.js b/publi/node_modules/vinyl-fs/node_modules/readable-stream/passthrough.js deleted file mode 100644 index 27e8d8a..0000000 --- a/publi/node_modules/vinyl-fs/node_modules/readable-stream/passthrough.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require("./lib/_stream_passthrough.js") diff --git a/publi/node_modules/vinyl-fs/node_modules/readable-stream/readable.js b/publi/node_modules/vinyl-fs/node_modules/readable-stream/readable.js deleted file mode 100644 index 26511e8..0000000 --- a/publi/node_modules/vinyl-fs/node_modules/readable-stream/readable.js +++ /dev/null @@ -1,11 +0,0 @@ -var Stream = require('stream'); // hack to fix a circular dependency issue when used with browserify -exports = module.exports = require('./lib/_stream_readable.js'); -exports.Stream = Stream; -exports.Readable = exports; -exports.Writable = require('./lib/_stream_writable.js'); -exports.Duplex = require('./lib/_stream_duplex.js'); -exports.Transform = require('./lib/_stream_transform.js'); -exports.PassThrough = require('./lib/_stream_passthrough.js'); -if (!process.browser && process.env.READABLE_STREAM === 'disable') { - module.exports = require('stream'); -} diff --git a/publi/node_modules/vinyl-fs/node_modules/readable-stream/transform.js b/publi/node_modules/vinyl-fs/node_modules/readable-stream/transform.js deleted file mode 100644 index 5d482f0..0000000 --- a/publi/node_modules/vinyl-fs/node_modules/readable-stream/transform.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require("./lib/_stream_transform.js") diff --git a/publi/node_modules/vinyl-fs/node_modules/readable-stream/writable.js b/publi/node_modules/vinyl-fs/node_modules/readable-stream/writable.js deleted file mode 100644 index e1e9efd..0000000 --- a/publi/node_modules/vinyl-fs/node_modules/readable-stream/writable.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require("./lib/_stream_writable.js") diff --git a/publi/node_modules/vinyl-fs/node_modules/strip-bom/cli.js b/publi/node_modules/vinyl-fs/node_modules/strip-bom/cli.js deleted file mode 100755 index 2c1e7c4..0000000 --- a/publi/node_modules/vinyl-fs/node_modules/strip-bom/cli.js +++ /dev/null @@ -1,42 +0,0 @@ -#!/usr/bin/env node -'use strict'; -var fs = require('fs'); -var pkg = require('./package.json'); -var stripBom = require('./'); -var argv = process.argv.slice(2); -var input = argv[0]; - -function help() { - console.log([ - '', - ' ' + pkg.description, - '', - ' Usage', - ' strip-bom > ', - ' cat | strip-bom > ', - '', - ' Example', - ' strip-bom unicorn.txt > unicorn-without-bom.txt' - ].join('\n')); -} - -if (argv.indexOf('--help') !== -1) { - help(); - return; -} - -if (argv.indexOf('--version') !== -1) { - console.log(pkg.version); - return; -} - -if (process.stdin.isTTY) { - if (!input) { - help(); - return; - } - - fs.createReadStream(input).pipe(stripBom.stream()).pipe(process.stdout); -} else { - process.stdin.pipe(stripBom.stream()).pipe(process.stdout); -} diff --git a/publi/node_modules/vinyl-fs/node_modules/strip-bom/index.js b/publi/node_modules/vinyl-fs/node_modules/strip-bom/index.js deleted file mode 100644 index c085b4c..0000000 --- a/publi/node_modules/vinyl-fs/node_modules/strip-bom/index.js +++ /dev/null @@ -1,24 +0,0 @@ -'use strict'; -var isUtf8 = require('is-utf8'); - -var stripBom = module.exports = function (arg) { - if (typeof arg === 'string') { - return arg.replace(/^\ufeff/g, ''); - } - - if (Buffer.isBuffer(arg) && isUtf8(arg) && - arg[0] === 0xef && arg[1] === 0xbb && arg[2] === 0xbf) { - return arg.slice(3); - } - - return arg; -}; - -stripBom.stream = function () { - var firstChunk = require('first-chunk-stream'); - - return firstChunk({minSize: 3}, function (chunk, enc, cb) { - this.push(stripBom(chunk)); - cb(); - }); -}; diff --git a/publi/node_modules/vinyl-fs/node_modules/strip-bom/package.json b/publi/node_modules/vinyl-fs/node_modules/strip-bom/package.json deleted file mode 100644 index c74e44b..0000000 --- a/publi/node_modules/vinyl-fs/node_modules/strip-bom/package.json +++ /dev/null @@ -1,113 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "strip-bom@^1.0.0", - "scope": null, - "escapedName": "strip-bom", - "name": "strip-bom", - "rawSpec": "^1.0.0", - "spec": ">=1.0.0 <2.0.0", - "type": "range" - }, - "/mnt/Data/bach/Documents/ola/OLA#3DOC/sys/node_modules/vinyl-fs" - ] - ], - "_from": "strip-bom@>=1.0.0 <2.0.0", - "_id": "strip-bom@1.0.0", - "_inCache": true, - "_location": "/vinyl-fs/strip-bom", - "_npmUser": { - "name": "sindresorhus", - "email": "sindresorhus@gmail.com" - }, - "_npmVersion": "1.4.9", - "_phantomChildren": {}, - "_requested": { - "raw": "strip-bom@^1.0.0", - "scope": null, - "escapedName": "strip-bom", - "name": "strip-bom", - "rawSpec": "^1.0.0", - "spec": ">=1.0.0 <2.0.0", - "type": "range" - }, - "_requiredBy": [ - "/vinyl-fs" - ], - "_resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-1.0.0.tgz", - "_shasum": "85b8862f3844b5a6d5ec8467a93598173a36f794", - "_shrinkwrap": null, - "_spec": "strip-bom@^1.0.0", - "_where": "/mnt/Data/bach/Documents/ola/OLA#3DOC/sys/node_modules/vinyl-fs", - "author": { - "name": "Sindre Sorhus", - "email": "sindresorhus@gmail.com", - "url": "http://sindresorhus.com" - }, - "bin": { - "strip-bom": "cli.js" - }, - "bugs": { - "url": "https://github.com/sindresorhus/strip-bom/issues" - }, - "dependencies": { - "first-chunk-stream": "^1.0.0", - "is-utf8": "^0.2.0" - }, - "description": "Strip UTF-8 byte order mark (BOM) from a string/buffer/stream", - "devDependencies": { - "concat-stream": "^1.4.5", - "mocha": "*" - }, - "directories": {}, - "dist": { - "shasum": "85b8862f3844b5a6d5ec8467a93598173a36f794", - "tarball": "https://registry.npmjs.org/strip-bom/-/strip-bom-1.0.0.tgz" - }, - "engines": { - "node": ">=0.10.0" - }, - "files": [ - "cli.js", - "index.js" - ], - "homepage": "https://github.com/sindresorhus/strip-bom", - "keywords": [ - "cli", - "bin", - "app", - "bom", - "strip", - "byte", - "mark", - "unicode", - "utf8", - "utf-8", - "remove", - "trim", - "text", - "buffer", - "string", - "stream", - "streams" - ], - "license": "MIT", - "maintainers": [ - { - "name": "sindresorhus", - "email": "sindresorhus@gmail.com" - } - ], - "name": "strip-bom", - "optionalDependencies": {}, - "readme": "ERROR: No README data found!", - "repository": { - "type": "git", - "url": "git://github.com/sindresorhus/strip-bom.git" - }, - "scripts": { - "test": "mocha" - }, - "version": "1.0.0" -} diff --git a/publi/node_modules/vinyl-fs/node_modules/strip-bom/readme.md b/publi/node_modules/vinyl-fs/node_modules/strip-bom/readme.md deleted file mode 100644 index 10e1d8f..0000000 --- a/publi/node_modules/vinyl-fs/node_modules/strip-bom/readme.md +++ /dev/null @@ -1,59 +0,0 @@ -# strip-bom [![Build Status](https://travis-ci.org/sindresorhus/strip-bom.svg?branch=master)](https://travis-ci.org/sindresorhus/strip-bom) - -> Strip UTF-8 [byte order mark](http://en.wikipedia.org/wiki/Byte_order_mark#UTF-8) (BOM) from a string/buffer/stream - -From Wikipedia: - -> The Unicode Standard permits the BOM in UTF-8, but does not require nor recommend its use. Byte order has no meaning in UTF-8. - - -## Usage - -```sh -$ npm install --save strip-bom -``` - -```js -var fs = require('fs'); -var stripBom = require('strip-bom'); - -stripBom('\ufeffUnicorn'); -//=> Unicorn - -stripBom(fs.readFileSync('unicorn.txt')); -//=> Unicorn -``` - -Or as a [Transform stream](http://nodejs.org/api/stream.html#stream_class_stream_transform): - -```js -var fs = require('fs'); -var stripBom = require('strip-bom'); - -fs.createReadStream('unicorn.txt') - .pipe(stripBom.stream()) - .pipe(fs.createWriteStream('unicorn.txt')); -``` - - -## CLI - -```sh -$ npm install --global strip-bom -``` - -``` -$ strip-bom --help - - Usage - strip-bom > - cat | strip-bom > - - Example - strip-bom unicorn.txt > unicorn-without-bom.txt -``` - - -## License - -MIT © [Sindre Sorhus](http://sindresorhus.com) diff --git a/publi/node_modules/vinyl-fs/node_modules/through2/.npmignore b/publi/node_modules/vinyl-fs/node_modules/through2/.npmignore deleted file mode 100644 index 1e1dcab..0000000 --- a/publi/node_modules/vinyl-fs/node_modules/through2/.npmignore +++ /dev/null @@ -1,3 +0,0 @@ -test -.jshintrc -.travis.yml \ No newline at end of file diff --git a/publi/node_modules/vinyl-fs/node_modules/through2/LICENSE b/publi/node_modules/vinyl-fs/node_modules/through2/LICENSE deleted file mode 100644 index f6a0029..0000000 --- a/publi/node_modules/vinyl-fs/node_modules/through2/LICENSE +++ /dev/null @@ -1,39 +0,0 @@ -Copyright 2013, Rod Vagg (the "Original Author") -All rights reserved. - -MIT +no-false-attribs 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. - -Distributions of all or part of the Software intended to be used -by the recipients as they would use the unmodified Software, -containing modifications that substantially alter, remove, or -disable functionality of the Software, outside of the documented -configuration mechanisms provided by the Software, shall be -modified such that the Original Author's bug reporting email -addresses and urls are either replaced with the contact information -of the parties responsible for the changes, or removed entirely. - -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. - - -Except where noted, this license applies to any and all software -programs and associated documentation files created by the -Original Author, when distributed with the Software. \ No newline at end of file diff --git a/publi/node_modules/vinyl-fs/node_modules/through2/README.md b/publi/node_modules/vinyl-fs/node_modules/through2/README.md deleted file mode 100644 index 11259a5..0000000 --- a/publi/node_modules/vinyl-fs/node_modules/through2/README.md +++ /dev/null @@ -1,132 +0,0 @@ -# through2 - -[![NPM](https://nodei.co/npm/through2.png?downloads&downloadRank)](https://nodei.co/npm/through2/) - -**A tiny wrapper around Node streams.Transform (Streams2) to avoid explicit subclassing noise** - -Inspired by [Dominic Tarr](https://github.com/dominictarr)'s [through](https://github.com/dominictarr/through) in that it's so much easier to make a stream out of a function than it is to set up the prototype chain properly: `through(function (chunk) { ... })`. - -Note: A **Streams3** version of through2 is available in npm with the tag `"1.0"` rather than `"latest"` so an `npm install through2` will get you the current Streams2 version (version number is 0.x.x). To use a Streams3 version use `npm install through2@1` to fetch the latest version 1.x.x. More information about Streams2 vs Streams3 and recommendations see the article **[Why I don't use Node's core 'stream' module](http://r.va.gg/2014/06/why-i-dont-use-nodes-core-stream-module.html)**. - -```js -fs.createReadStream('ex.txt') - .pipe(through2(function (chunk, enc, callback) { - for (var i = 0; i < chunk.length; i++) - if (chunk[i] == 97) - chunk[i] = 122 // swap 'a' for 'z' - - this.push(chunk) - - callback() - })) - .pipe(fs.createWriteStream('out.txt')) -``` - -Or object streams: - -```js -var all = [] - -fs.createReadStream('data.csv') - .pipe(csv2()) - .pipe(through2.obj(function (chunk, enc, callback) { - var data = { - name : chunk[0] - , address : chunk[3] - , phone : chunk[10] - } - this.push(data) - - callback() - })) - .on('data', function (data) { - all.push(data) - }) - .on('end', function () { - doSomethingSpecial(all) - }) -``` - -Note that `through2.obj(fn)` is a convenience wrapper around `through2({ objectMode: true }, fn)`. - -## API - -through2([ options, ] [ transformFunction ] [, flushFunction ]) - -Consult the **[stream.Transform](http://nodejs.org/docs/latest/api/stream.html#stream_class_stream_transform)** documentation for the exact rules of the `transformFunction` (i.e. `this._transform`) and the optional `flushFunction` (i.e. `this._flush`). - -### options - -The options argument is optional and is passed straight through to `stream.Transform`. So you can use `objectMode:true` if you are processing non-binary streams (or just use `through2.obj()`). - -The `options` argument is first, unlike standard convention, because if I'm passing in an anonymous function then I'd prefer for the options argument to not get lost at the end of the call: - -```js -fs.createReadStream('/tmp/important.dat') - .pipe(through2({ objectMode: true, allowHalfOpen: false }, - function (chunk, enc, cb) { - cb(null, 'wut?') // note we can use the second argument on the callback - // to provide data as an alternative to this.push('wut?') - } - ) - .pipe(fs.createWriteStream('/tmp/wut.txt')) -``` - -### transformFunction - -The `transformFunction` must have the following signature: `function (chunk, encoding, callback) {}`. A minimal implementation should call the `callback` function to indicate that the transformation is done, even if that transformation means discarding the chunk. - -To queue a new chunk, call `this.push(chunk)`—this can be called as many times as required before the `callback()` if you have multiple pieces to send on. - -Alternatively, you may use `callback(err, chunk)` as shorthand for emitting a single chunk or an error. - -If you **do not provide a `transformFunction`** then you will get a simple pass-through stream. - -### flushFunction - -The optional `flushFunction` is provided as the last argument (2nd or 3rd, depending on whether you've supplied options) is called just prior to the stream ending. Can be used to finish up any processing that may be in progress. - -```js -fs.createReadStream('/tmp/important.dat') - .pipe(through2( - function (chunk, enc, cb) { cb(null, chunk) }, // transform is a noop - function (cb) { // flush function - this.push('tacking on an extra buffer to the end'); - cb(); - } - )) - .pipe(fs.createWriteStream('/tmp/wut.txt')); -``` - -through2.ctor([ options, ] transformFunction[, flushFunction ]) - -Instead of returning a `stream.Transform` instance, `through2.ctor()` returns a **constructor** for a custom Transform. This is useful when you want to use the same transform logic in multiple instances. - -```js -var FToC = through2.ctor({objectMode: true}, function (record, encoding, callback) { - if (record.temp != null && record.unit = "F") { - record.temp = ( ( record.temp - 32 ) * 5 ) / 9 - record.unit = "C" - } - this.push(record) - callback() -}) - -// Create instances of FToC like so: -var converter = new FToC() -// Or: -var converter = FToC() -// Or specify/override options when you instantiate, if you prefer: -var converter = FToC({objectMode: true}) -``` - -## See Also - - - [through2-map](https://github.com/brycebaril/through2-map) - Array.prototype.map analog for streams. - - [through2-filter](https://github.com/brycebaril/through2-filter) - Array.prototype.filter analog for streams. - - [through2-reduce](https://github.com/brycebaril/through2-reduce) - Array.prototype.reduce analog for streams. - - [through2-spy](https://github.com/brycebaril/through2-spy) - Wrapper for simple stream.PassThrough spies. - -## License - -**through2** is Copyright (c) 2013 Rod Vagg [@rvagg](https://twitter.com/rvagg) and licenced under the MIT licence. All rights not explicitly granted in the MIT license are reserved. See the included LICENSE file for more details. diff --git a/publi/node_modules/vinyl-fs/node_modules/through2/package.json b/publi/node_modules/vinyl-fs/node_modules/through2/package.json deleted file mode 100644 index 0b99af6..0000000 --- a/publi/node_modules/vinyl-fs/node_modules/through2/package.json +++ /dev/null @@ -1,98 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "through2@^0.6.1", - "scope": null, - "escapedName": "through2", - "name": "through2", - "rawSpec": "^0.6.1", - "spec": ">=0.6.1 <0.7.0", - "type": "range" - }, - "/mnt/Data/bach/Documents/ola/OLA#3DOC/sys/node_modules/vinyl-fs" - ] - ], - "_from": "through2@>=0.6.1 <0.7.0", - "_id": "through2@0.6.5", - "_inCache": true, - "_location": "/vinyl-fs/through2", - "_npmUser": { - "name": "bryce", - "email": "bryce@ravenwall.com" - }, - "_npmVersion": "1.4.28", - "_phantomChildren": {}, - "_requested": { - "raw": "through2@^0.6.1", - "scope": null, - "escapedName": "through2", - "name": "through2", - "rawSpec": "^0.6.1", - "spec": ">=0.6.1 <0.7.0", - "type": "range" - }, - "_requiredBy": [ - "/vinyl-fs" - ], - "_resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz", - "_shasum": "41ab9c67b29d57209071410e1d7a7a968cd3ad48", - "_shrinkwrap": null, - "_spec": "through2@^0.6.1", - "_where": "/mnt/Data/bach/Documents/ola/OLA#3DOC/sys/node_modules/vinyl-fs", - "author": { - "name": "Rod Vagg", - "email": "r@va.gg", - "url": "https://github.com/rvagg" - }, - "bugs": { - "url": "https://github.com/rvagg/through2/issues" - }, - "dependencies": { - "readable-stream": ">=1.0.33-1 <1.1.0-0", - "xtend": ">=4.0.0 <4.1.0-0" - }, - "description": "A tiny wrapper around Node streams2 Transform to avoid explicit subclassing noise", - "devDependencies": { - "bl": ">=0.9.0 <0.10.0-0", - "stream-spigot": ">=3.0.4 <3.1.0-0", - "tape": ">=2.14.0 <2.15.0-0" - }, - "directories": {}, - "dist": { - "shasum": "41ab9c67b29d57209071410e1d7a7a968cd3ad48", - "tarball": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz" - }, - "gitHead": "ba4a87875f2c82323c10023e36f4ae4b386c1bf8", - "homepage": "https://github.com/rvagg/through2", - "keywords": [ - "stream", - "streams2", - "through", - "transform" - ], - "license": "MIT", - "main": "through2.js", - "maintainers": [ - { - "name": "rvagg", - "email": "rod@vagg.org" - }, - { - "name": "bryce", - "email": "bryce@ravenwall.com" - } - ], - "name": "through2", - "optionalDependencies": {}, - "readme": "ERROR: No README data found!", - "repository": { - "type": "git", - "url": "git+https://github.com/rvagg/through2.git" - }, - "scripts": { - "test": "node test/test.js", - "test-local": "brtapsauce-local test/basic-test.js" - }, - "version": "0.6.5" -} diff --git a/publi/node_modules/vinyl-fs/node_modules/through2/through2.js b/publi/node_modules/vinyl-fs/node_modules/through2/through2.js deleted file mode 100644 index 5b7a880..0000000 --- a/publi/node_modules/vinyl-fs/node_modules/through2/through2.js +++ /dev/null @@ -1,96 +0,0 @@ -var Transform = require('readable-stream/transform') - , inherits = require('util').inherits - , xtend = require('xtend') - -function DestroyableTransform(opts) { - Transform.call(this, opts) - this._destroyed = false -} - -inherits(DestroyableTransform, Transform) - -DestroyableTransform.prototype.destroy = function(err) { - if (this._destroyed) return - this._destroyed = true - - var self = this - process.nextTick(function() { - if (err) - self.emit('error', err) - self.emit('close') - }) -} - -// a noop _transform function -function noop (chunk, enc, callback) { - callback(null, chunk) -} - - -// create a new export function, used by both the main export and -// the .ctor export, contains common logic for dealing with arguments -function through2 (construct) { - return function (options, transform, flush) { - if (typeof options == 'function') { - flush = transform - transform = options - options = {} - } - - if (typeof transform != 'function') - transform = noop - - if (typeof flush != 'function') - flush = null - - return construct(options, transform, flush) - } -} - - -// main export, just make me a transform stream! -module.exports = through2(function (options, transform, flush) { - var t2 = new DestroyableTransform(options) - - t2._transform = transform - - if (flush) - t2._flush = flush - - return t2 -}) - - -// make me a reusable prototype that I can `new`, or implicitly `new` -// with a constructor call -module.exports.ctor = through2(function (options, transform, flush) { - function Through2 (override) { - if (!(this instanceof Through2)) - return new Through2(override) - - this.options = xtend(options, override) - - DestroyableTransform.call(this, this.options) - } - - inherits(Through2, DestroyableTransform) - - Through2.prototype._transform = transform - - if (flush) - Through2.prototype._flush = flush - - return Through2 -}) - - -module.exports.obj = through2(function (options, transform, flush) { - var t2 = new DestroyableTransform(xtend({ objectMode: true, highWaterMark: 16 }, options)) - - t2._transform = transform - - if (flush) - t2._flush = flush - - return t2 -}) diff --git a/publi/node_modules/vinyl-fs/node_modules/vinyl/LICENSE b/publi/node_modules/vinyl-fs/node_modules/vinyl/LICENSE deleted file mode 100644 index 4f482f9..0000000 --- a/publi/node_modules/vinyl-fs/node_modules/vinyl/LICENSE +++ /dev/null @@ -1,20 +0,0 @@ -Copyright (c) 2013 Fractal - -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/publi/node_modules/vinyl-fs/node_modules/vinyl/README.md b/publi/node_modules/vinyl-fs/node_modules/vinyl/README.md deleted file mode 100644 index ae6f16f..0000000 --- a/publi/node_modules/vinyl-fs/node_modules/vinyl/README.md +++ /dev/null @@ -1,127 +0,0 @@ -# vinyl [![NPM version][npm-image]][npm-url] [![Build Status][travis-image]][travis-url] [![Coveralls Status][coveralls-image]][coveralls-url] [![Dependency Status](https://david-dm.org/wearefractal/vinyl.png?theme=shields.io)](https://david-dm.org/wearefractal/vinyl) - - -## Information - - - - - - - - - - - - - -
Packagevinyl
DescriptionA virtual file format
Node Version>= 0.9
- -## What is this? - -Read this for more info about how this plays into the grand scheme of things https://medium.com/@eschoff/3828e8126466 - -## File - -```javascript -var File = require('vinyl'); - -var coffeeFile = new File({ - cwd: "/", - base: "/test/", - path: "/test/file.coffee", - contents: new Buffer("test = 123") -}); -``` - -### constructor(options) - -#### options.cwd - -Type: `String` -Default: `process.cwd()` - -#### options.base - -Used for relative pathing. Typically where a glob starts. - -Type: `String` -Default: `options.cwd` - -#### options.path - -Full path to the file. - -Type: `String` -Default: `null` - -#### options.stat - -The result of an fs.stat call. See [fs.Stats](http://nodejs.org/api/fs.html#fs_class_fs_stats) for more information. - -Type: `fs.Stats` -Default: `null` - -#### options.contents - -File contents. - -Type: `Buffer, Stream, or null` -Default: `null` - -### isBuffer() - -Returns true if file.contents is a Buffer. - -### isStream() - -Returns true if file.contents is a Stream. - -### isNull() - -Returns true if file.contents is null. - -### clone() - -Returns a new File object with all attributes cloned. Custom attributes are deep-cloned. - -### pipe(stream[, opt]) - -If file.contents is a Buffer, it will write it to the stream. - -If file.contents is a Stream, it will pipe it to the stream. - -If file.contents is null, it will do nothing. - -If opt.end is false, the destination stream will not be ended (same as node core). - -Returns the stream. - -### inspect() - -Returns a pretty String interpretation of the File. Useful for console.log. - -### relative - -Returns path.relative for the file base and file path. - -Example: - -```javascript -var file = new File({ - cwd: "/", - base: "/test/", - path: "/test/file.coffee" -}); - -console.log(file.relative); // file.coffee -``` - -[npm-url]: https://npmjs.org/package/vinyl -[npm-image]: https://badge.fury.io/js/vinyl.png -[travis-url]: https://travis-ci.org/wearefractal/vinyl -[travis-image]: https://travis-ci.org/wearefractal/vinyl.png?branch=master -[coveralls-url]: https://coveralls.io/r/wearefractal/vinyl -[coveralls-image]: https://coveralls.io/repos/wearefractal/vinyl/badge.png -[depstat-url]: https://david-dm.org/wearefractal/vinyl -[depstat-image]: https://david-dm.org/wearefractal/vinyl.png diff --git a/publi/node_modules/vinyl-fs/node_modules/vinyl/index.js b/publi/node_modules/vinyl-fs/node_modules/vinyl/index.js deleted file mode 100644 index 9aa47b7..0000000 --- a/publi/node_modules/vinyl-fs/node_modules/vinyl/index.js +++ /dev/null @@ -1,175 +0,0 @@ -var path = require('path'); -var clone = require('clone'); -var cloneStats = require('clone-stats'); -var cloneBuffer = require('./lib/cloneBuffer'); -var isBuffer = require('./lib/isBuffer'); -var isStream = require('./lib/isStream'); -var isNull = require('./lib/isNull'); -var inspectStream = require('./lib/inspectStream'); -var Stream = require('stream'); - -function File(file) { - if (!file) file = {}; - - // record path change - var history = file.path ? [file.path] : file.history; - this.history = history || []; - - // TODO: should this be moved to vinyl-fs? - this.cwd = file.cwd || process.cwd(); - this.base = file.base || this.cwd; - - // stat = fs stats object - // TODO: should this be moved to vinyl-fs? - this.stat = file.stat || null; - - // contents = stream, buffer, or null if not read - this.contents = file.contents || null; -} - -File.prototype.isBuffer = function() { - return isBuffer(this.contents); -}; - -File.prototype.isStream = function() { - return isStream(this.contents); -}; - -File.prototype.isNull = function() { - return isNull(this.contents); -}; - -// TODO: should this be moved to vinyl-fs? -File.prototype.isDirectory = function() { - return this.isNull() && this.stat && this.stat.isDirectory(); -}; - -File.prototype.clone = function(opt) { - if (typeof opt === 'boolean') { - opt = { - deep: opt, - contents: true - }; - } else if (!opt) { - opt = { - deep: false, - contents: true - }; - } else { - opt.deep = opt.deep === true; - opt.contents = opt.contents !== false; - } - - // clone our file contents - var contents; - if (this.isStream()) { - contents = this.contents.pipe(new Stream.PassThrough()); - this.contents = this.contents.pipe(new Stream.PassThrough()); - } else if (this.isBuffer()) { - contents = opt.contents ? cloneBuffer(this.contents) : this.contents; - } - - var file = new File({ - cwd: this.cwd, - base: this.base, - stat: (this.stat ? cloneStats(this.stat) : null), - history: this.history.slice(), - contents: contents - }); - - // clone our custom properties - Object.keys(this).forEach(function(key) { - // ignore built-in fields - if (key === '_contents' || key === 'stat' || - key === 'history' || key === 'path' || - key === 'base' || key === 'cwd') { - return; - } - file[key] = opt.deep ? clone(this[key], true) : this[key]; - }, this); - return file; -}; - -File.prototype.pipe = function(stream, opt) { - if (!opt) opt = {}; - if (typeof opt.end === 'undefined') opt.end = true; - - if (this.isStream()) { - return this.contents.pipe(stream, opt); - } - if (this.isBuffer()) { - if (opt.end) { - stream.end(this.contents); - } else { - stream.write(this.contents); - } - return stream; - } - - // isNull - if (opt.end) stream.end(); - return stream; -}; - -File.prototype.inspect = function() { - var inspect = []; - - // use relative path if possible - var filePath = (this.base && this.path) ? this.relative : this.path; - - if (filePath) { - inspect.push('"'+filePath+'"'); - } - - if (this.isBuffer()) { - inspect.push(this.contents.inspect()); - } - - if (this.isStream()) { - inspect.push(inspectStream(this.contents)); - } - - return ''; -}; - -// virtual attributes -// or stuff with extra logic -Object.defineProperty(File.prototype, 'contents', { - get: function() { - return this._contents; - }, - set: function(val) { - if (!isBuffer(val) && !isStream(val) && !isNull(val)) { - throw new Error('File.contents can only be a Buffer, a Stream, or null.'); - } - this._contents = val; - } -}); - -// TODO: should this be moved to vinyl-fs? -Object.defineProperty(File.prototype, 'relative', { - get: function() { - if (!this.base) throw new Error('No base specified! Can not get relative.'); - if (!this.path) throw new Error('No path specified! Can not get relative.'); - return path.relative(this.base, this.path); - }, - set: function() { - throw new Error('File.relative is generated from the base and path attributes. Do not modify it.'); - } -}); - -Object.defineProperty(File.prototype, 'path', { - get: function() { - return this.history[this.history.length - 1]; - }, - set: function(path) { - if (typeof path !== 'string') throw new Error('path should be string'); - - // record history only when path changed - if (path && path !== this.path) { - this.history.push(path); - } - } -}); - -module.exports = File; diff --git a/publi/node_modules/vinyl-fs/node_modules/vinyl/lib/cloneBuffer.js b/publi/node_modules/vinyl-fs/node_modules/vinyl/lib/cloneBuffer.js deleted file mode 100644 index 89f09ed..0000000 --- a/publi/node_modules/vinyl-fs/node_modules/vinyl/lib/cloneBuffer.js +++ /dev/null @@ -1,7 +0,0 @@ -var Buffer = require('buffer').Buffer; - -module.exports = function(buf) { - var out = new Buffer(buf.length); - buf.copy(out); - return out; -}; diff --git a/publi/node_modules/vinyl-fs/node_modules/vinyl/lib/inspectStream.js b/publi/node_modules/vinyl-fs/node_modules/vinyl/lib/inspectStream.js deleted file mode 100644 index d36df6f..0000000 --- a/publi/node_modules/vinyl-fs/node_modules/vinyl/lib/inspectStream.js +++ /dev/null @@ -1,11 +0,0 @@ -var isStream = require('./isStream'); - -module.exports = function(stream) { - if (!isStream(stream)) return; - - var streamType = stream.constructor.name; - // avoid StreamStream - if (streamType === 'Stream') streamType = ''; - - return '<'+streamType+'Stream>'; -}; diff --git a/publi/node_modules/vinyl-fs/node_modules/vinyl/lib/isBuffer.js b/publi/node_modules/vinyl-fs/node_modules/vinyl/lib/isBuffer.js deleted file mode 100644 index 0e23782..0000000 --- a/publi/node_modules/vinyl-fs/node_modules/vinyl/lib/isBuffer.js +++ /dev/null @@ -1,7 +0,0 @@ -var buf = require('buffer'); -var Buffer = buf.Buffer; - -// could use Buffer.isBuffer but this is the same exact thing... -module.exports = function(o) { - return typeof o === 'object' && o instanceof Buffer; -}; \ No newline at end of file diff --git a/publi/node_modules/vinyl-fs/node_modules/vinyl/lib/isNull.js b/publi/node_modules/vinyl-fs/node_modules/vinyl/lib/isNull.js deleted file mode 100644 index 7f22c63..0000000 --- a/publi/node_modules/vinyl-fs/node_modules/vinyl/lib/isNull.js +++ /dev/null @@ -1,3 +0,0 @@ -module.exports = function(v) { - return v === null; -}; diff --git a/publi/node_modules/vinyl-fs/node_modules/vinyl/lib/isStream.js b/publi/node_modules/vinyl-fs/node_modules/vinyl/lib/isStream.js deleted file mode 100644 index 9ce0929..0000000 --- a/publi/node_modules/vinyl-fs/node_modules/vinyl/lib/isStream.js +++ /dev/null @@ -1,5 +0,0 @@ -var Stream = require('stream').Stream; - -module.exports = function(o) { - return !!o && o instanceof Stream; -}; \ No newline at end of file diff --git a/publi/node_modules/vinyl-fs/node_modules/vinyl/package.json b/publi/node_modules/vinyl-fs/node_modules/vinyl/package.json deleted file mode 100644 index 46b96e0..0000000 --- a/publi/node_modules/vinyl-fs/node_modules/vinyl/package.json +++ /dev/null @@ -1,108 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "vinyl@^0.4.0", - "scope": null, - "escapedName": "vinyl", - "name": "vinyl", - "rawSpec": "^0.4.0", - "spec": ">=0.4.0 <0.5.0", - "type": "range" - }, - "/mnt/Data/bach/Documents/ola/OLA#3DOC/sys/node_modules/vinyl-fs" - ] - ], - "_from": "vinyl@>=0.4.0 <0.5.0", - "_id": "vinyl@0.4.6", - "_inCache": true, - "_location": "/vinyl-fs/vinyl", - "_nodeVersion": "0.10.33", - "_npmUser": { - "name": "fractal", - "email": "contact@wearefractal.com" - }, - "_npmVersion": "2.1.6", - "_phantomChildren": {}, - "_requested": { - "raw": "vinyl@^0.4.0", - "scope": null, - "escapedName": "vinyl", - "name": "vinyl", - "rawSpec": "^0.4.0", - "spec": ">=0.4.0 <0.5.0", - "type": "range" - }, - "_requiredBy": [ - "/vinyl-fs" - ], - "_resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.4.6.tgz", - "_shasum": "2f356c87a550a255461f36bbeb2a5ba8bf784847", - "_shrinkwrap": null, - "_spec": "vinyl@^0.4.0", - "_where": "/mnt/Data/bach/Documents/ola/OLA#3DOC/sys/node_modules/vinyl-fs", - "author": { - "name": "Fractal", - "email": "contact@wearefractal.com", - "url": "http://wearefractal.com/" - }, - "bugs": { - "url": "https://github.com/wearefractal/vinyl/issues" - }, - "dependencies": { - "clone": "^0.2.0", - "clone-stats": "^0.0.1" - }, - "description": "A virtual file format", - "devDependencies": { - "buffer-equal": "0.0.1", - "coveralls": "^2.6.1", - "event-stream": "^3.1.0", - "istanbul": "^0.3.0", - "jshint": "^2.4.1", - "lodash.templatesettings": "^2.4.1", - "mocha": "^2.0.0", - "mocha-lcov-reporter": "^0.0.1", - "rimraf": "^2.2.5", - "should": "^4.0.4" - }, - "directories": {}, - "dist": { - "shasum": "2f356c87a550a255461f36bbeb2a5ba8bf784847", - "tarball": "https://registry.npmjs.org/vinyl/-/vinyl-0.4.6.tgz" - }, - "engines": { - "node": ">= 0.9" - }, - "files": [ - "index.js", - "lib" - ], - "gitHead": "8255a5f1de7fecb1cd5e7ba7ac1ec997395f6be1", - "homepage": "http://github.com/wearefractal/vinyl", - "licenses": [ - { - "type": "MIT", - "url": "http://github.com/wearefractal/vinyl/raw/master/LICENSE" - } - ], - "main": "./index.js", - "maintainers": [ - { - "name": "fractal", - "email": "contact@wearefractal.com" - } - ], - "name": "vinyl", - "optionalDependencies": {}, - "readme": "ERROR: No README data found!", - "repository": { - "type": "git", - "url": "git://github.com/wearefractal/vinyl.git" - }, - "scripts": { - "coveralls": "istanbul cover _mocha -- -R spec && cat ./coverage/lcov.info | coveralls && rm -rf ./coverage", - "test": "mocha --reporter spec && jshint lib" - }, - "version": "0.4.6" -} diff --git a/publi/node_modules/vinyl-fs/package.json b/publi/node_modules/vinyl-fs/package.json deleted file mode 100644 index b24a476..0000000 --- a/publi/node_modules/vinyl-fs/package.json +++ /dev/null @@ -1,127 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "vinyl-fs@^0.3.0", - "scope": null, - "escapedName": "vinyl-fs", - "name": "vinyl-fs", - "rawSpec": "^0.3.0", - "spec": ">=0.3.0 <0.4.0", - "type": "range" - }, - "/mnt/Data/bach/Documents/ola/OLA#3DOC/sys/node_modules/gulp" - ] - ], - "_from": "vinyl-fs@>=0.3.0 <0.4.0", - "_id": "vinyl-fs@0.3.14", - "_inCache": true, - "_location": "/vinyl-fs", - "_nodeVersion": "0.10.36", - "_npmUser": { - "name": "phated", - "email": "blaine@iceddev.com" - }, - "_npmVersion": "2.14.3", - "_phantomChildren": { - "clone-stats": "0.0.1", - "core-util-is": "1.0.2", - "first-chunk-stream": "1.0.0", - "inherits": "2.0.3", - "is-utf8": "0.2.1", - "isarray": "0.0.1", - "natives": "1.1.0", - "string_decoder": "0.10.31", - "xtend": "4.0.1" - }, - "_requested": { - "raw": "vinyl-fs@^0.3.0", - "scope": null, - "escapedName": "vinyl-fs", - "name": "vinyl-fs", - "rawSpec": "^0.3.0", - "spec": ">=0.3.0 <0.4.0", - "type": "range" - }, - "_requiredBy": [ - "/gulp" - ], - "_resolved": "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-0.3.14.tgz", - "_shasum": "9a6851ce1cac1c1cea5fe86c0931d620c2cfa9e6", - "_shrinkwrap": null, - "_spec": "vinyl-fs@^0.3.0", - "_where": "/mnt/Data/bach/Documents/ola/OLA#3DOC/sys/node_modules/gulp", - "author": { - "name": "Fractal", - "email": "contact@wearefractal.com", - "url": "http://wearefractal.com/" - }, - "bugs": { - "url": "https://github.com/wearefractal/vinyl-fs/issues" - }, - "dependencies": { - "defaults": "^1.0.0", - "glob-stream": "^3.1.5", - "glob-watcher": "^0.0.6", - "graceful-fs": "^3.0.0", - "mkdirp": "^0.5.0", - "strip-bom": "^1.0.0", - "through2": "^0.6.1", - "vinyl": "^0.4.0" - }, - "description": "Vinyl adapter for the file system", - "devDependencies": { - "buffer-equal": "^0.0.1", - "coveralls": "^2.6.1", - "istanbul": "^0.3.0", - "jshint": "^2.4.1", - "mocha": "^2.0.0", - "mocha-lcov-reporter": "^0.0.1", - "rimraf": "^2.2.5", - "should": "^4.0.0", - "sinon": "^1.10.3" - }, - "directories": {}, - "dist": { - "shasum": "9a6851ce1cac1c1cea5fe86c0931d620c2cfa9e6", - "tarball": "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-0.3.14.tgz" - }, - "engines": { - "node": ">= 0.10" - }, - "files": [ - "index.js", - "lib" - ], - "gitHead": "1e026b90df987b6da0ca7da941fd61a7cd1e6d8f", - "homepage": "http://github.com/wearefractal/vinyl-fs", - "licenses": [ - { - "type": "MIT", - "url": "http://github.com/wearefractal/vinyl-fs/raw/master/LICENSE" - } - ], - "main": "./index.js", - "maintainers": [ - { - "name": "fractal", - "email": "contact@wearefractal.com" - }, - { - "name": "phated", - "email": "blaine@iceddev.com" - } - ], - "name": "vinyl-fs", - "optionalDependencies": {}, - "readme": "ERROR: No README data found!", - "repository": { - "type": "git", - "url": "git://github.com/wearefractal/vinyl-fs.git" - }, - "scripts": { - "coveralls": "istanbul cover _mocha -- -R spec && cat ./coverage/lcov.info | coveralls && rm -rf ./coverage", - "test": "mocha --reporter spec && jshint lib" - }, - "version": "0.3.14" -} diff --git a/publi/node_modules/vinyl-sourcemaps-apply/.jshintrc b/publi/node_modules/vinyl-sourcemaps-apply/.jshintrc deleted file mode 100644 index 36a93d9..0000000 --- a/publi/node_modules/vinyl-sourcemaps-apply/.jshintrc +++ /dev/null @@ -1,4 +0,0 @@ -{ - "node": true, - "strict": true -} \ No newline at end of file diff --git a/publi/node_modules/vinyl-sourcemaps-apply/.npmignore b/publi/node_modules/vinyl-sourcemaps-apply/.npmignore deleted file mode 100644 index 91dfed8..0000000 --- a/publi/node_modules/vinyl-sourcemaps-apply/.npmignore +++ /dev/null @@ -1,2 +0,0 @@ -.DS_Store -node_modules \ No newline at end of file diff --git a/publi/node_modules/vinyl-sourcemaps-apply/README.md b/publi/node_modules/vinyl-sourcemaps-apply/README.md deleted file mode 100644 index b1d2c48..0000000 --- a/publi/node_modules/vinyl-sourcemaps-apply/README.md +++ /dev/null @@ -1,42 +0,0 @@ -# vinyl-sourcemaps-apply - -Apply a source map to a vinyl file, merging it with preexisting source maps. - -## Usage: - -```javascript -var applySourceMap = require('vinyl-sourcemaps-apply'); -applySourceMap(vinylFile, sourceMap); -``` - -### Example (Gulp plugin): - -```javascript -var through = require('through2'); -var applySourceMap = require('vinyl-sourcemaps-apply'); -var myTransform = require('myTransform'); - -module.exports = function(options) { - - function transform(file, encoding, callback) { - // generate source maps if plugin source-map present - if (file.sourceMap) { - options.makeSourceMaps = true; - } - - // do normal plugin logic - var result = myTransform(file.contents, options); - file.contents = new Buffer(result.code); - - // apply source map to the chain - if (file.sourceMap) { - applySourceMap(file, result.map); - } - - this.push(file); - callback(); - } - - return through.obj(transform); -}; -``` \ No newline at end of file diff --git a/publi/node_modules/vinyl-sourcemaps-apply/index.js b/publi/node_modules/vinyl-sourcemaps-apply/index.js deleted file mode 100644 index c966b80..0000000 --- a/publi/node_modules/vinyl-sourcemaps-apply/index.js +++ /dev/null @@ -1,39 +0,0 @@ -'use strict'; -var SourceMapGenerator = require('source-map').SourceMapGenerator; -var SourceMapConsumer = require('source-map').SourceMapConsumer; - -module.exports = function applySourceMap(file, sourceMap) { - if (typeof sourceMap === 'string' || sourceMap instanceof String) { - sourceMap = JSON.parse(sourceMap); - } - - if (file.sourceMap && (typeof file.sourceMap === 'string' || file.sourceMap instanceof String)) { - file.sourceMap = JSON.parse(file.sourceMap); - } - - // check source map properties - assertProperty(sourceMap, "file"); - assertProperty(sourceMap, "mappings"); - assertProperty(sourceMap, "sources"); - - // fix paths if Windows style paths - sourceMap.file = sourceMap.file.replace(/\\/g, '/'); - sourceMap.sources = sourceMap.sources.map(function(filePath) { - return filePath.replace(/\\/g, '/'); - }); - - if (file.sourceMap && file.sourceMap.mappings !== '') { - var generator = SourceMapGenerator.fromSourceMap(new SourceMapConsumer(sourceMap)); - generator.applySourceMap(new SourceMapConsumer(file.sourceMap)); - file.sourceMap = JSON.parse(generator.toString()); - } else { - file.sourceMap = sourceMap; - } -}; - -function assertProperty(sourceMap, propertyName) { - if (!sourceMap.hasOwnProperty(propertyName)) { - var e = new Error('Source map to be applied is missing the \"' + propertyName + '\" property'); - throw e; - } -} diff --git a/publi/node_modules/vinyl-sourcemaps-apply/package.json b/publi/node_modules/vinyl-sourcemaps-apply/package.json deleted file mode 100644 index b941b4f..0000000 --- a/publi/node_modules/vinyl-sourcemaps-apply/package.json +++ /dev/null @@ -1,89 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "vinyl-sourcemaps-apply@^0.2.0", - "scope": null, - "escapedName": "vinyl-sourcemaps-apply", - "name": "vinyl-sourcemaps-apply", - "rawSpec": "^0.2.0", - "spec": ">=0.2.0 <0.3.0", - "type": "range" - }, - "/mnt/Data/bach/Documents/ola/OLA#3DOC/sys/node_modules/gulp-autoprefixer" - ] - ], - "_from": "vinyl-sourcemaps-apply@>=0.2.0 <0.3.0", - "_id": "vinyl-sourcemaps-apply@0.2.1", - "_inCache": true, - "_location": "/vinyl-sourcemaps-apply", - "_nodeVersion": "0.12.7", - "_npmUser": { - "name": "floridoo", - "email": "florian.reiterer@gmail.com" - }, - "_npmVersion": "2.11.3", - "_phantomChildren": {}, - "_requested": { - "raw": "vinyl-sourcemaps-apply@^0.2.0", - "scope": null, - "escapedName": "vinyl-sourcemaps-apply", - "name": "vinyl-sourcemaps-apply", - "rawSpec": "^0.2.0", - "spec": ">=0.2.0 <0.3.0", - "type": "range" - }, - "_requiredBy": [ - "/gulp-autoprefixer", - "/gulp-sass" - ], - "_resolved": "https://registry.npmjs.org/vinyl-sourcemaps-apply/-/vinyl-sourcemaps-apply-0.2.1.tgz", - "_shasum": "ab6549d61d172c2b1b87be5c508d239c8ef87705", - "_shrinkwrap": null, - "_spec": "vinyl-sourcemaps-apply@^0.2.0", - "_where": "/mnt/Data/bach/Documents/ola/OLA#3DOC/sys/node_modules/gulp-autoprefixer", - "author": { - "name": "Florian Reiterer", - "email": "me@florianreiterer.com" - }, - "bugs": { - "url": "https://github.com/floridoo/vinyl-sourcemaps-apply/issues" - }, - "dependencies": { - "source-map": "^0.5.1" - }, - "description": "Apply a source map to a vinyl file, merging it with preexisting source maps", - "devDependencies": {}, - "directories": {}, - "dist": { - "shasum": "ab6549d61d172c2b1b87be5c508d239c8ef87705", - "tarball": "https://registry.npmjs.org/vinyl-sourcemaps-apply/-/vinyl-sourcemaps-apply-0.2.1.tgz" - }, - "gitHead": "30320c97c112f44ccba02dd73ce5bed1ad4361de", - "homepage": "http://github.com/floridoo/vinyl-sourcemaps-apply", - "keywords": [ - "vinyl", - "sourcemaps", - "source maps", - "gulp" - ], - "license": "ISC", - "main": "index.js", - "maintainers": [ - { - "name": "floridoo", - "email": "florian.reiterer@gmail.com" - } - ], - "name": "vinyl-sourcemaps-apply", - "optionalDependencies": {}, - "readme": "ERROR: No README data found!", - "repository": { - "type": "git", - "url": "git://github.com/floridoo/vinyl-sourcemaps-apply.git" - }, - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - }, - "version": "0.2.1" -} diff --git a/publi/node_modules/vinyl/LICENSE b/publi/node_modules/vinyl/LICENSE deleted file mode 100644 index 4f482f9..0000000 --- a/publi/node_modules/vinyl/LICENSE +++ /dev/null @@ -1,20 +0,0 @@ -Copyright (c) 2013 Fractal - -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/publi/node_modules/vinyl/README.md b/publi/node_modules/vinyl/README.md deleted file mode 100644 index 2d57d85..0000000 --- a/publi/node_modules/vinyl/README.md +++ /dev/null @@ -1,195 +0,0 @@ -# vinyl [![NPM version][npm-image]][npm-url] [![Build Status][travis-image]][travis-url] [![Coveralls Status][coveralls-image]][coveralls-url] [![Dependency Status](https://david-dm.org/wearefractal/vinyl.png?theme=shields.io)](https://david-dm.org/wearefractal/vinyl) -## Information -











Packagevinyl
DescriptionA virtual file format
Node Version>= 0.9
- -## What is this? -Read this for more info about how this plays into the grand scheme of things [https://medium.com/@eschoff/3828e8126466](https://medium.com/@eschoff/3828e8126466) - -## File - -```javascript -var File = require('vinyl'); - -var coffeeFile = new File({ - cwd: "/", - base: "/test/", - path: "/test/file.coffee", - contents: new Buffer("test = 123") -}); -``` - -### isVinyl -When checking if an object is a vinyl file, you should not use instanceof. Use the isVinyl function instead. - -```js -var File = require('vinyl'); - -var dummy = new File({stuff}); -var notAFile = {}; - -File.isVinyl(dummy); // true -File.isVinyl(notAFile); // false -``` - -### constructor(options) -#### options.cwd -Type: `String`

Default: `process.cwd()` - -#### options.base -Used for relative pathing. Typically where a glob starts. - -Type: `String`

Default: `options.cwd` - -#### options.path -Full path to the file. - -Type: `String`

Default: `undefined` - -#### options.history -Path history. Has no effect if `options.path` is passed. - -Type: `Array`

Default: `options.path ? [options.path] : []` - -#### options.stat -The result of an fs.stat call. See [fs.Stats](http://nodejs.org/api/fs.html#fs_class_fs_stats) for more information. - -Type: `fs.Stats`

Default: `null` - -#### options.contents -File contents. - -Type: `Buffer, Stream, or null`

Default: `null` - -### isBuffer() -Returns true if file.contents is a Buffer. - -### isStream() -Returns true if file.contents is a Stream. - -### isNull() -Returns true if file.contents is null. - -### clone([opt]) -Returns a new File object with all attributes cloned.
By default custom attributes are deep-cloned. - -If opt or opt.deep is false, custom attributes will not be deep-cloned. - -If opt.contents is false, it will copy file.contents Buffer's reference. - -### pipe(stream[, opt]) -If file.contents is a Buffer, it will write it to the stream. - -If file.contents is a Stream, it will pipe it to the stream. - -If file.contents is null, it will do nothing. - -If opt.end is false, the destination stream will not be ended (same as node core). - -Returns the stream. - -### inspect() -Returns a pretty String interpretation of the File. Useful for console.log. - -### contents -The [Stream](https://nodejs.org/api/stream.html#stream_stream) or [Buffer](https://nodejs.org/api/buffer.html#buffer_class_buffer) of the file as it was passed in via options, or as the result of modification. - -For example: - -```js -if (file.isBuffer()) { - console.log(file.contents.toString()); // logs out the string of contents -} -``` - -### path -Absolute pathname string or `undefined`. Setting to a different value pushes the old value to `history`. - -### history -Array of `path` values the file object has had, from `history[0]` (original) through `history[history.length - 1]` (current). `history` and its elements should normally be treated as read-only and only altered indirectly by setting `path`. - -### relative -Returns path.relative for the file base and file path. - -Example: - -```javascript -var file = new File({ - cwd: "/", - base: "/test/", - path: "/test/file.coffee" -}); - -console.log(file.relative); // file.coffee -``` - -### dirname -Gets and sets path.dirname for the file path. - -Example: - -```javascript -var file = new File({ - cwd: "/", - base: "/test/", - path: "/test/file.coffee" -}); - -console.log(file.dirname); // /test - -file.dirname = '/specs'; - -console.log(file.dirname); // /specs -console.log(file.path); // /specs/file.coffee -` -``` - -### basename -Gets and sets path.basename for the file path. - -Example: - -```javascript -var file = new File({ - cwd: "/", - base: "/test/", - path: "/test/file.coffee" -}); - -console.log(file.basename); // file.coffee - -file.basename = 'file.js'; - -console.log(file.basename); // file.js -console.log(file.path); // /test/file.js -` -``` - -### extname -Gets and sets path.extname for the file path. - -Example: - -```javascript -var file = new File({ - cwd: "/", - base: "/test/", - path: "/test/file.coffee" -}); - -console.log(file.extname); // .coffee - -file.extname = '.js'; - -console.log(file.extname); // .js -console.log(file.path); // /test/file.js -` -``` - -[npm-url]: https://npmjs.org/package/vinyl -[npm-image]: https://badge.fury.io/js/vinyl.png -[travis-url]: https://travis-ci.org/wearefractal/vinyl -[travis-image]: https://travis-ci.org/wearefractal/vinyl.png?branch=master -[coveralls-url]: https://coveralls.io/r/wearefractal/vinyl -[coveralls-image]: https://coveralls.io/repos/wearefractal/vinyl/badge.png -[depstat-url]: https://david-dm.org/wearefractal/vinyl -[depstat-image]: https://david-dm.org/wearefractal/vinyl.png diff --git a/publi/node_modules/vinyl/index.js b/publi/node_modules/vinyl/index.js deleted file mode 100644 index c8f113f..0000000 --- a/publi/node_modules/vinyl/index.js +++ /dev/null @@ -1,213 +0,0 @@ -var path = require('path'); -var clone = require('clone'); -var cloneStats = require('clone-stats'); -var cloneBuffer = require('./lib/cloneBuffer'); -var isBuffer = require('./lib/isBuffer'); -var isStream = require('./lib/isStream'); -var isNull = require('./lib/isNull'); -var inspectStream = require('./lib/inspectStream'); -var Stream = require('stream'); -var replaceExt = require('replace-ext'); - -function File(file) { - if (!file) file = {}; - - // record path change - var history = file.path ? [file.path] : file.history; - this.history = history || []; - - this.cwd = file.cwd || process.cwd(); - this.base = file.base || this.cwd; - - // stat = files stats object - this.stat = file.stat || null; - - // contents = stream, buffer, or null if not read - this.contents = file.contents || null; - - this._isVinyl = true; -} - -File.prototype.isBuffer = function() { - return isBuffer(this.contents); -}; - -File.prototype.isStream = function() { - return isStream(this.contents); -}; - -File.prototype.isNull = function() { - return isNull(this.contents); -}; - -// TODO: should this be moved to vinyl-fs? -File.prototype.isDirectory = function() { - return this.isNull() && this.stat && this.stat.isDirectory(); -}; - -File.prototype.clone = function(opt) { - if (typeof opt === 'boolean') { - opt = { - deep: opt, - contents: true - }; - } else if (!opt) { - opt = { - deep: true, - contents: true - }; - } else { - opt.deep = opt.deep === true; - opt.contents = opt.contents !== false; - } - - // clone our file contents - var contents; - if (this.isStream()) { - contents = this.contents.pipe(new Stream.PassThrough()); - this.contents = this.contents.pipe(new Stream.PassThrough()); - } else if (this.isBuffer()) { - contents = opt.contents ? cloneBuffer(this.contents) : this.contents; - } - - var file = new File({ - cwd: this.cwd, - base: this.base, - stat: (this.stat ? cloneStats(this.stat) : null), - history: this.history.slice(), - contents: contents - }); - - // clone our custom properties - Object.keys(this).forEach(function(key) { - // ignore built-in fields - if (key === '_contents' || key === 'stat' || - key === 'history' || key === 'path' || - key === 'base' || key === 'cwd') { - return; - } - file[key] = opt.deep ? clone(this[key], true) : this[key]; - }, this); - return file; -}; - -File.prototype.pipe = function(stream, opt) { - if (!opt) opt = {}; - if (typeof opt.end === 'undefined') opt.end = true; - - if (this.isStream()) { - return this.contents.pipe(stream, opt); - } - if (this.isBuffer()) { - if (opt.end) { - stream.end(this.contents); - } else { - stream.write(this.contents); - } - return stream; - } - - // isNull - if (opt.end) stream.end(); - return stream; -}; - -File.prototype.inspect = function() { - var inspect = []; - - // use relative path if possible - var filePath = (this.base && this.path) ? this.relative : this.path; - - if (filePath) { - inspect.push('"'+filePath+'"'); - } - - if (this.isBuffer()) { - inspect.push(this.contents.inspect()); - } - - if (this.isStream()) { - inspect.push(inspectStream(this.contents)); - } - - return ''; -}; - -File.isVinyl = function(file) { - return file && file._isVinyl === true; -}; - -// virtual attributes -// or stuff with extra logic -Object.defineProperty(File.prototype, 'contents', { - get: function() { - return this._contents; - }, - set: function(val) { - if (!isBuffer(val) && !isStream(val) && !isNull(val)) { - throw new Error('File.contents can only be a Buffer, a Stream, or null.'); - } - this._contents = val; - } -}); - -// TODO: should this be moved to vinyl-fs? -Object.defineProperty(File.prototype, 'relative', { - get: function() { - if (!this.base) throw new Error('No base specified! Can not get relative.'); - if (!this.path) throw new Error('No path specified! Can not get relative.'); - return path.relative(this.base, this.path); - }, - set: function() { - throw new Error('File.relative is generated from the base and path attributes. Do not modify it.'); - } -}); - -Object.defineProperty(File.prototype, 'dirname', { - get: function() { - if (!this.path) throw new Error('No path specified! Can not get dirname.'); - return path.dirname(this.path); - }, - set: function(dirname) { - if (!this.path) throw new Error('No path specified! Can not set dirname.'); - this.path = path.join(dirname, path.basename(this.path)); - } -}); - -Object.defineProperty(File.prototype, 'basename', { - get: function() { - if (!this.path) throw new Error('No path specified! Can not get basename.'); - return path.basename(this.path); - }, - set: function(basename) { - if (!this.path) throw new Error('No path specified! Can not set basename.'); - this.path = path.join(path.dirname(this.path), basename); - } -}); - -Object.defineProperty(File.prototype, 'extname', { - get: function() { - if (!this.path) throw new Error('No path specified! Can not get extname.'); - return path.extname(this.path); - }, - set: function(extname) { - if (!this.path) throw new Error('No path specified! Can not set extname.'); - this.path = replaceExt(this.path, extname); - } -}); - -Object.defineProperty(File.prototype, 'path', { - get: function() { - return this.history[this.history.length - 1]; - }, - set: function(path) { - if (typeof path !== 'string') throw new Error('path should be string'); - - // record history only when path changed - if (path && path !== this.path) { - this.history.push(path); - } - } -}); - -module.exports = File; diff --git a/publi/node_modules/vinyl/lib/cloneBuffer.js b/publi/node_modules/vinyl/lib/cloneBuffer.js deleted file mode 100644 index 89f09ed..0000000 --- a/publi/node_modules/vinyl/lib/cloneBuffer.js +++ /dev/null @@ -1,7 +0,0 @@ -var Buffer = require('buffer').Buffer; - -module.exports = function(buf) { - var out = new Buffer(buf.length); - buf.copy(out); - return out; -}; diff --git a/publi/node_modules/vinyl/lib/inspectStream.js b/publi/node_modules/vinyl/lib/inspectStream.js deleted file mode 100644 index d36df6f..0000000 --- a/publi/node_modules/vinyl/lib/inspectStream.js +++ /dev/null @@ -1,11 +0,0 @@ -var isStream = require('./isStream'); - -module.exports = function(stream) { - if (!isStream(stream)) return; - - var streamType = stream.constructor.name; - // avoid StreamStream - if (streamType === 'Stream') streamType = ''; - - return '<'+streamType+'Stream>'; -}; diff --git a/publi/node_modules/vinyl/lib/isBuffer.js b/publi/node_modules/vinyl/lib/isBuffer.js deleted file mode 100644 index 8a767d1..0000000 --- a/publi/node_modules/vinyl/lib/isBuffer.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('buffer').Buffer.isBuffer; diff --git a/publi/node_modules/vinyl/lib/isNull.js b/publi/node_modules/vinyl/lib/isNull.js deleted file mode 100644 index 7f22c63..0000000 --- a/publi/node_modules/vinyl/lib/isNull.js +++ /dev/null @@ -1,3 +0,0 @@ -module.exports = function(v) { - return v === null; -}; diff --git a/publi/node_modules/vinyl/lib/isStream.js b/publi/node_modules/vinyl/lib/isStream.js deleted file mode 100644 index 9ce0929..0000000 --- a/publi/node_modules/vinyl/lib/isStream.js +++ /dev/null @@ -1,5 +0,0 @@ -var Stream = require('stream').Stream; - -module.exports = function(o) { - return !!o && o instanceof Stream; -}; \ No newline at end of file diff --git a/publi/node_modules/vinyl/package.json b/publi/node_modules/vinyl/package.json deleted file mode 100644 index 234c76e..0000000 --- a/publi/node_modules/vinyl/package.json +++ /dev/null @@ -1,107 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "vinyl@^0.5.0", - "scope": null, - "escapedName": "vinyl", - "name": "vinyl", - "rawSpec": "^0.5.0", - "spec": ">=0.5.0 <0.6.0", - "type": "range" - }, - "/mnt/Data/bach/Documents/ola/OLA#3DOC/sys/node_modules/gulp-util" - ] - ], - "_from": "vinyl@>=0.5.0 <0.6.0", - "_id": "vinyl@0.5.3", - "_inCache": true, - "_location": "/vinyl", - "_nodeVersion": "2.5.0", - "_npmUser": { - "name": "fractal", - "email": "contact@wearefractal.com" - }, - "_npmVersion": "2.13.4", - "_phantomChildren": {}, - "_requested": { - "raw": "vinyl@^0.5.0", - "scope": null, - "escapedName": "vinyl", - "name": "vinyl", - "rawSpec": "^0.5.0", - "spec": ">=0.5.0 <0.6.0", - "type": "range" - }, - "_requiredBy": [ - "/gulp-util" - ], - "_resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.5.3.tgz", - "_shasum": "b0455b38fc5e0cf30d4325132e461970c2091cde", - "_shrinkwrap": null, - "_spec": "vinyl@^0.5.0", - "_where": "/mnt/Data/bach/Documents/ola/OLA#3DOC/sys/node_modules/gulp-util", - "author": { - "name": "Fractal", - "email": "contact@wearefractal.com", - "url": "http://wearefractal.com/" - }, - "bugs": { - "url": "https://github.com/wearefractal/vinyl/issues" - }, - "dependencies": { - "clone": "^1.0.0", - "clone-stats": "^0.0.1", - "replace-ext": "0.0.1" - }, - "description": "A virtual file format", - "devDependencies": { - "buffer-equal": "0.0.1", - "event-stream": "^3.1.0", - "istanbul": "^0.3.0", - "istanbul-coveralls": "^1.0.1", - "jshint": "^2.4.1", - "lodash.templatesettings": "^3.1.0", - "mocha": "^2.0.0", - "rimraf": "^2.2.5", - "should": "^7.0.0" - }, - "directories": {}, - "dist": { - "shasum": "b0455b38fc5e0cf30d4325132e461970c2091cde", - "tarball": "https://registry.npmjs.org/vinyl/-/vinyl-0.5.3.tgz" - }, - "engines": { - "node": ">= 0.9" - }, - "files": [ - "index.js", - "lib" - ], - "gitHead": "6f19648bd67040bfd0dc755ad031e1e5e0b58429", - "homepage": "http://github.com/wearefractal/vinyl", - "license": "MIT", - "main": "./index.js", - "maintainers": [ - { - "name": "fractal", - "email": "contact@wearefractal.com" - }, - { - "name": "phated", - "email": "blaine@iceddev.com" - } - ], - "name": "vinyl", - "optionalDependencies": {}, - "readme": "ERROR: No README data found!", - "repository": { - "type": "git", - "url": "git://github.com/wearefractal/vinyl.git" - }, - "scripts": { - "coveralls": "istanbul cover _mocha && istanbul-coveralls", - "test": "mocha && jshint lib" - }, - "version": "0.5.3" -} diff --git a/publi/node_modules/which-module/CHANGELOG.md b/publi/node_modules/which-module/CHANGELOG.md deleted file mode 100644 index 6c8f5f2..0000000 --- a/publi/node_modules/which-module/CHANGELOG.md +++ /dev/null @@ -1,11 +0,0 @@ -# Change Log - -All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. - - -# 1.0.0 (2016-06-06) - - -### Features - -* initial code ([08074cd](https://github.com/nexdrew/which-module/commit/08074cd)) diff --git a/publi/node_modules/which-module/LICENSE b/publi/node_modules/which-module/LICENSE deleted file mode 100644 index ab601b6..0000000 --- a/publi/node_modules/which-module/LICENSE +++ /dev/null @@ -1,13 +0,0 @@ -Copyright (c) 2016, 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. diff --git a/publi/node_modules/which-module/README.md b/publi/node_modules/which-module/README.md deleted file mode 100644 index a8c4bf8..0000000 --- a/publi/node_modules/which-module/README.md +++ /dev/null @@ -1,55 +0,0 @@ -# which-module - -> Find the module object for something that was require()d - -[![Build Status](https://travis-ci.org/nexdrew/which-module.svg?branch=master)](https://travis-ci.org/nexdrew/which-module) -[![Coverage Status](https://coveralls.io/repos/github/nexdrew/which-module/badge.svg?branch=master)](https://coveralls.io/github/nexdrew/which-module?branch=master) -[![Standard Version](https://img.shields.io/badge/release-standard%20version-brightgreen.svg)](https://github.com/conventional-changelog/standard-version) - -Find the `module` object in `require.cache` for something that was `require()`d -or `import`ed - essentially a reverse `require()` lookup. - -Useful for libs that want to e.g. lookup a filename for a module or submodule -that it did not `require()` itself. - -## Install and Usage - -``` -npm install --save which-module -``` - -```js -const whichModule = require('which-module') - -console.log(whichModule(require('something'))) -// Module { -// id: '/path/to/project/node_modules/something/index.js', -// exports: [Function], -// parent: ..., -// filename: '/path/to/project/node_modules/something/index.js', -// loaded: true, -// children: [], -// paths: [ '/path/to/project/node_modules/something/node_modules', -// '/path/to/project/node_modules', -// '/path/to/node_modules', -// '/path/node_modules', -// '/node_modules' ] } -``` - -## API - -### `whichModule(exported)` - -Return the [`module` object](https://nodejs.org/api/modules.html#modules_the_module_object), -if any, that represents the given argument in the `require.cache`. - -`exported` can be anything that was previously `require()`d or `import`ed as a -module, submodule, or dependency - which means `exported` is identical to the -`module.exports` returned by this method. - -If `exported` did not come from the `exports` of a `module` in `require.cache`, -then this method returns `null`. - -## License - -ISC © Contributors diff --git a/publi/node_modules/which-module/index.js b/publi/node_modules/which-module/index.js deleted file mode 100644 index 45559b7..0000000 --- a/publi/node_modules/which-module/index.js +++ /dev/null @@ -1,9 +0,0 @@ -'use strict' - -module.exports = function whichModule (exported) { - for (var i = 0, files = Object.keys(require.cache), mod; i < files.length; i++) { - mod = require.cache[files[i]] - if (mod.exports === exported) return mod - } - return null -} diff --git a/publi/node_modules/which-module/package.json b/publi/node_modules/which-module/package.json deleted file mode 100644 index 4f662b6..0000000 --- a/publi/node_modules/which-module/package.json +++ /dev/null @@ -1,105 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "which-module@^1.0.0", - "scope": null, - "escapedName": "which-module", - "name": "which-module", - "rawSpec": "^1.0.0", - "spec": ">=1.0.0 <2.0.0", - "type": "range" - }, - "/mnt/Data/bach/Documents/ola/OLA#4/OLA#4DOC/sys/node_modules/yargs" - ] - ], - "_from": "which-module@>=1.0.0 <2.0.0", - "_id": "which-module@1.0.0", - "_inCache": true, - "_location": "/which-module", - "_nodeVersion": "5.11.0", - "_npmOperationalInternal": { - "host": "packages-16-east.internal.npmjs.com", - "tmp": "tmp/which-module-1.0.0.tgz_1465192451403_0.19380306638777256" - }, - "_npmUser": { - "name": "nexdrew", - "email": "andrew@npmjs.com" - }, - "_npmVersion": "3.8.8", - "_phantomChildren": {}, - "_requested": { - "raw": "which-module@^1.0.0", - "scope": null, - "escapedName": "which-module", - "name": "which-module", - "rawSpec": "^1.0.0", - "spec": ">=1.0.0 <2.0.0", - "type": "range" - }, - "_requiredBy": [ - "/yargs" - ], - "_resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz", - "_shasum": "bba63ca861948994ff307736089e3b96026c2a4f", - "_shrinkwrap": null, - "_spec": "which-module@^1.0.0", - "_where": "/mnt/Data/bach/Documents/ola/OLA#4/OLA#4DOC/sys/node_modules/yargs", - "author": { - "name": "nexdrew" - }, - "bugs": { - "url": "https://github.com/nexdrew/which-module/issues" - }, - "dependencies": {}, - "description": "Find the module object for something that was require()d", - "devDependencies": { - "ava": "^0.15.2", - "coveralls": "^2.11.9", - "nyc": "^6.4.4", - "standard": "^7.1.2", - "standard-version": "^2.3.0" - }, - "directories": {}, - "dist": { - "shasum": "bba63ca861948994ff307736089e3b96026c2a4f", - "tarball": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz" - }, - "files": [ - "index.js" - ], - "gitHead": "a5b7492798fac7e484fd8812d3d3a1138bb08784", - "homepage": "https://github.com/nexdrew/which-module#readme", - "keywords": [ - "which", - "module", - "exports", - "filename", - "require", - "reverse", - "lookup" - ], - "license": "ISC", - "main": "index.js", - "maintainers": [ - { - "name": "nexdrew", - "email": "andrew@npmjs.com" - } - ], - "name": "which-module", - "optionalDependencies": {}, - "readme": "# which-module\n\n> Find the module object for something that was require()d\n\n[![Build Status](https://travis-ci.org/nexdrew/which-module.svg?branch=master)](https://travis-ci.org/nexdrew/which-module)\n[![Coverage Status](https://coveralls.io/repos/github/nexdrew/which-module/badge.svg?branch=master)](https://coveralls.io/github/nexdrew/which-module?branch=master)\n[![Standard Version](https://img.shields.io/badge/release-standard%20version-brightgreen.svg)](https://github.com/conventional-changelog/standard-version)\n\nFind the `module` object in `require.cache` for something that was `require()`d\nor `import`ed - essentially a reverse `require()` lookup.\n\nUseful for libs that want to e.g. lookup a filename for a module or submodule\nthat it did not `require()` itself.\n\n## Install and Usage\n\n```\nnpm install --save which-module\n```\n\n```js\nconst whichModule = require('which-module')\n\nconsole.log(whichModule(require('something')))\n// Module {\n// id: '/path/to/project/node_modules/something/index.js',\n// exports: [Function],\n// parent: ...,\n// filename: '/path/to/project/node_modules/something/index.js',\n// loaded: true,\n// children: [],\n// paths: [ '/path/to/project/node_modules/something/node_modules',\n// '/path/to/project/node_modules',\n// '/path/to/node_modules',\n// '/path/node_modules',\n// '/node_modules' ] }\n```\n\n## API\n\n### `whichModule(exported)`\n\nReturn the [`module` object](https://nodejs.org/api/modules.html#modules_the_module_object),\nif any, that represents the given argument in the `require.cache`.\n\n`exported` can be anything that was previously `require()`d or `import`ed as a\nmodule, submodule, or dependency - which means `exported` is identical to the\n`module.exports` returned by this method.\n\nIf `exported` did not come from the `exports` of a `module` in `require.cache`,\nthen this method returns `null`.\n\n## License\n\nISC © Contributors\n", - "readmeFilename": "README.md", - "repository": { - "type": "git", - "url": "git+https://github.com/nexdrew/which-module.git" - }, - "scripts": { - "coverage": "nyc report --reporter=text-lcov | coveralls", - "pretest": "standard", - "release": "standard-version", - "test": "nyc ava" - }, - "version": "1.0.0" -} diff --git a/publi/node_modules/which/CHANGELOG.md b/publi/node_modules/which/CHANGELOG.md deleted file mode 100644 index 698e8ed..0000000 --- a/publi/node_modules/which/CHANGELOG.md +++ /dev/null @@ -1,130 +0,0 @@ -# Changes - - -## v1.2.12 - -* Removed unused require - -## v1.2.11 - -* Prevent changelog script from being included in package - -## v1.2.10 - -* Use env.PATH only, not env.Path - -## v1.2.9 - -* fix for paths starting with ../ -* Remove unused `is-absolute` module - -## v1.2.8 - -* bullet items in changelog that contain (but don't start with) # - -## v1.2.7 - -* strip 'update changelog' changelog entries out of changelog - -## v1.2.6 - -* make the changelog bulleted - -## v1.2.5 - -* make a changelog, and keep it up to date -* don't include tests in package -* Properly handle relative-path executables -* appveyor -* Attach error code to Not Found error -* Make tests pass on Windows - -## v1.2.4 - -* Fix typo - -## v1.2.3 - -* update isexe, fix regression in pathExt handling - -## v1.2.2 - -* update deps, use isexe module, test windows - -## v1.2.1 - -* Sometimes windows PATH entries are quoted -* Fixed a bug in the check for group and user mode bits. This bug was introduced during refactoring for supporting strict mode. -* doc cli - -## v1.2.0 - -* Add support for opt.all and -as cli flags -* test the bin -* update travis -* Allow checking for multiple programs in bin/which -* tap 2 - -## v1.1.2 - -* travis -* Refactored and fixed undefined error on Windows -* Support strict mode - -## v1.1.1 - -* test +g exes against secondary groups, if available -* Use windows exe semantics on cygwin & msys -* cwd should be first in path on win32, not last -* Handle lower-case 'env.Path' on Windows -* Update docs -* use single-quotes - -## v1.1.0 - -* Add tests, depend on is-absolute - -## v1.0.9 - -* which.js: root is allowed to execute files owned by anyone - -## v1.0.8 - -* don't use graceful-fs - -## v1.0.7 - -* add license to package.json - -## v1.0.6 - -* isc license - -## 1.0.5 - -* Awful typo - -## 1.0.4 - -* Test for path absoluteness properly -* win: Allow '' as a pathext if cmd has a . in it - -## 1.0.3 - -* Remove references to execPath -* Make `which.sync()` work on Windows by honoring the PATHEXT variable. -* Make `isExe()` always return true on Windows. -* MIT - -## 1.0.2 - -* Only files can be exes - -## 1.0.1 - -* Respect the PATHEXT env for win32 support -* should 0755 the bin -* binary -* guts -* package -* 1st diff --git a/publi/node_modules/which/LICENSE b/publi/node_modules/which/LICENSE deleted file mode 100644 index 19129e3..0000000 --- a/publi/node_modules/which/LICENSE +++ /dev/null @@ -1,15 +0,0 @@ -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. diff --git a/publi/node_modules/which/README.md b/publi/node_modules/which/README.md deleted file mode 100644 index 7f679d5..0000000 --- a/publi/node_modules/which/README.md +++ /dev/null @@ -1,48 +0,0 @@ -# which - -Like the unix `which` utility. - -Finds the first instance of a specified executable in the PATH -environment variable. Does not cache the results, so `hash -r` is not -needed when the PATH changes. - -## USAGE - -```javascript -var which = require('which') - -// async usage -which('node', function (er, resolvedPath) { - // er is returned if no "node" is found on the PATH - // if it is found, then the absolute path to the exec is returned -}) - -// sync usage -// throws if not found -var resolved = which.sync('node') - -// Pass options to override the PATH and PATHEXT environment vars. -which('node', { path: someOtherPath }, function (er, resolved) { - if (er) - throw er - console.log('found at %j', resolved) -}) -``` - -## CLI USAGE - -Same as the BSD `which(1)` binary. - -``` -usage: which [-as] program ... -``` - -## OPTIONS - -You may pass an options object as the second argument. - -- `path`: Use instead of the `PATH` environment variable. -- `pathExt`: Use instead of the `PATHEXT` environment variable. -- `all`: Return all matches, instead of just the first one. Note that - this means the function returns an array of strings instead of a - single string. diff --git a/publi/node_modules/which/bin/which b/publi/node_modules/which/bin/which deleted file mode 100755 index 7cee372..0000000 --- a/publi/node_modules/which/bin/which +++ /dev/null @@ -1,52 +0,0 @@ -#!/usr/bin/env node -var which = require("../") -if (process.argv.length < 3) - usage() - -function usage () { - console.error('usage: which [-as] program ...') - process.exit(1) -} - -var all = false -var silent = false -var dashdash = false -var args = process.argv.slice(2).filter(function (arg) { - if (dashdash || !/^-/.test(arg)) - return true - - if (arg === '--') { - dashdash = true - return false - } - - var flags = arg.substr(1).split('') - for (var f = 0; f < flags.length; f++) { - var flag = flags[f] - switch (flag) { - case 's': - silent = true - break - case 'a': - all = true - break - default: - console.error('which: illegal option -- ' + flag) - usage() - } - } - return false -}) - -process.exit(args.reduce(function (pv, current) { - try { - var f = which.sync(current, { all: all }) - if (all) - f = f.join('\n') - if (!silent) - console.log(f) - return pv; - } catch (e) { - return 1; - } -}, 0)) diff --git a/publi/node_modules/which/package.json b/publi/node_modules/which/package.json deleted file mode 100644 index 2de5430..0000000 --- a/publi/node_modules/which/package.json +++ /dev/null @@ -1,102 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "which@^1.2.12", - "scope": null, - "escapedName": "which", - "name": "which", - "rawSpec": "^1.2.12", - "spec": ">=1.2.12 <2.0.0", - "type": "range" - }, - "/mnt/Data/bach/Documents/ola/OLA#3DOC/sys/node_modules/global-prefix" - ] - ], - "_from": "which@>=1.2.12 <2.0.0", - "_id": "which@1.2.12", - "_inCache": true, - "_location": "/which", - "_nodeVersion": "6.5.0", - "_npmOperationalInternal": { - "host": "packages-12-west.internal.npmjs.com", - "tmp": "tmp/which-1.2.12.tgz_1478902859933_0.6313941152766347" - }, - "_npmUser": { - "name": "isaacs", - "email": "i@izs.me" - }, - "_npmVersion": "3.10.9", - "_phantomChildren": {}, - "_requested": { - "raw": "which@^1.2.12", - "scope": null, - "escapedName": "which", - "name": "which", - "rawSpec": "^1.2.12", - "spec": ">=1.2.12 <2.0.0", - "type": "range" - }, - "_requiredBy": [ - "/cross-spawn", - "/global-prefix", - "/node-gyp" - ], - "_resolved": "https://registry.npmjs.org/which/-/which-1.2.12.tgz", - "_shasum": "de67b5e450269f194909ef23ece4ebe416fa1192", - "_shrinkwrap": null, - "_spec": "which@^1.2.12", - "_where": "/mnt/Data/bach/Documents/ola/OLA#3DOC/sys/node_modules/global-prefix", - "author": { - "name": "Isaac Z. Schlueter", - "email": "i@izs.me", - "url": "http://blog.izs.me" - }, - "bin": { - "which": "./bin/which" - }, - "bugs": { - "url": "https://github.com/isaacs/node-which/issues" - }, - "dependencies": { - "isexe": "^1.1.1" - }, - "description": "Like which(1) unix command. Find the first instance of an executable in the PATH.", - "devDependencies": { - "mkdirp": "^0.5.0", - "rimraf": "^2.3.3", - "tap": "^5.1.1" - }, - "directories": {}, - "dist": { - "shasum": "de67b5e450269f194909ef23ece4ebe416fa1192", - "tarball": "https://registry.npmjs.org/which/-/which-1.2.12.tgz" - }, - "files": [ - "which.js", - "bin/which" - ], - "gitHead": "5db2078bc2ec50d5c5f3d324e1ffcc2348b9cbbd", - "homepage": "https://github.com/isaacs/node-which#readme", - "license": "ISC", - "main": "which.js", - "maintainers": [ - { - "name": "isaacs", - "email": "i@izs.me" - } - ], - "name": "which", - "optionalDependencies": {}, - "readme": "ERROR: No README data found!", - "repository": { - "type": "git", - "url": "git://github.com/isaacs/node-which.git" - }, - "scripts": { - "changelog": "bash gen-changelog.sh", - "postversion": "npm run changelog && git add CHANGELOG.md && git commit -m 'update changelog - '${npm_package_version}", - "test": "tap test/*.js --cov" - }, - "version": "1.2.12" -} diff --git a/publi/node_modules/which/which.js b/publi/node_modules/which/which.js deleted file mode 100644 index 70d974c..0000000 --- a/publi/node_modules/which/which.js +++ /dev/null @@ -1,132 +0,0 @@ -module.exports = which -which.sync = whichSync - -var isWindows = process.platform === 'win32' || - process.env.OSTYPE === 'cygwin' || - process.env.OSTYPE === 'msys' - -var path = require('path') -var COLON = isWindows ? ';' : ':' -var isexe = require('isexe') - -function getNotFoundError (cmd) { - var er = new Error('not found: ' + cmd) - er.code = 'ENOENT' - - return er -} - -function getPathInfo (cmd, opt) { - var colon = opt.colon || COLON - var pathEnv = opt.path || process.env.PATH || '' - var pathExt = [''] - - pathEnv = pathEnv.split(colon) - - var pathExtExe = '' - if (isWindows) { - pathEnv.unshift(process.cwd()) - pathExtExe = (opt.pathExt || process.env.PATHEXT || '.EXE;.CMD;.BAT;.COM') - pathExt = pathExtExe.split(colon) - - - // Always test the cmd itself first. isexe will check to make sure - // it's found in the pathExt set. - if (cmd.indexOf('.') !== -1 && pathExt[0] !== '') - pathExt.unshift('') - } - - // If it has a slash, then we don't bother searching the pathenv. - // just check the file itself, and that's it. - if (cmd.match(/\//) || isWindows && cmd.match(/\\/)) - pathEnv = [''] - - return { - env: pathEnv, - ext: pathExt, - extExe: pathExtExe - } -} - -function which (cmd, opt, cb) { - if (typeof opt === 'function') { - cb = opt - opt = {} - } - - var info = getPathInfo(cmd, opt) - var pathEnv = info.env - var pathExt = info.ext - var pathExtExe = info.extExe - var found = [] - - ;(function F (i, l) { - if (i === l) { - if (opt.all && found.length) - return cb(null, found) - else - return cb(getNotFoundError(cmd)) - } - - var pathPart = pathEnv[i] - if (pathPart.charAt(0) === '"' && pathPart.slice(-1) === '"') - pathPart = pathPart.slice(1, -1) - - var p = path.join(pathPart, cmd) - if (!pathPart && (/^\.[\\\/]/).test(cmd)) { - p = cmd.slice(0, 2) + p - } - ;(function E (ii, ll) { - if (ii === ll) return F(i + 1, l) - var ext = pathExt[ii] - isexe(p + ext, { pathExt: pathExtExe }, function (er, is) { - if (!er && is) { - if (opt.all) - found.push(p + ext) - else - return cb(null, p + ext) - } - return E(ii + 1, ll) - }) - })(0, pathExt.length) - })(0, pathEnv.length) -} - -function whichSync (cmd, opt) { - opt = opt || {} - - var info = getPathInfo(cmd, opt) - var pathEnv = info.env - var pathExt = info.ext - var pathExtExe = info.extExe - var found = [] - - for (var i = 0, l = pathEnv.length; i < l; i ++) { - var pathPart = pathEnv[i] - if (pathPart.charAt(0) === '"' && pathPart.slice(-1) === '"') - pathPart = pathPart.slice(1, -1) - - var p = path.join(pathPart, cmd) - if (!pathPart && /^\.[\\\/]/.test(cmd)) { - p = cmd.slice(0, 2) + p - } - for (var j = 0, ll = pathExt.length; j < ll; j ++) { - var cur = p + pathExt[j] - var is - try { - is = isexe.sync(cur, { pathExt: pathExtExe }) - if (is) { - if (opt.all) - found.push(cur) - else - return cur - } - } catch (ex) {} - } - } - - if (opt.all && found.length) - return found - - throw getNotFoundError(cmd) -} diff --git a/publi/node_modules/wide-align/LICENSE b/publi/node_modules/wide-align/LICENSE deleted file mode 100644 index f4be44d..0000000 --- a/publi/node_modules/wide-align/LICENSE +++ /dev/null @@ -1,14 +0,0 @@ -Copyright (c) 2015, 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. - diff --git a/publi/node_modules/wide-align/README.md b/publi/node_modules/wide-align/README.md deleted file mode 100644 index 32f1be0..0000000 --- a/publi/node_modules/wide-align/README.md +++ /dev/null @@ -1,47 +0,0 @@ -wide-align ----------- - -A wide-character aware text alignment function for use in terminals / on the -console. - -### Usage - -``` -var align = require('wide-align') - -// Note that if you view this on a unicode console, all of the slashes are -// aligned. This is because on a console, all narrow characters are -// an en wide and all wide characters are an em. In browsers, this isn't -// held to and wide characters like "古" can be less than two narrow -// characters even with a fixed width font. - -console.log(align.center('abc', 10)) // ' abc ' -console.log(align.center('古古古', 10)) // ' 古古古 ' -console.log(align.left('abc', 10)) // 'abc ' -console.log(align.left('古古古', 10)) // '古古古 ' -console.log(align.right('abc', 10)) // ' abc' -console.log(align.right('古古古', 10)) // ' 古古古' -``` - -### Functions - -#### `align.center(str, length)` → `str` - -Returns *str* with spaces added to both sides such that that it is *length* -chars long and centered in the spaces. - -#### `align.left(str, length)` → `str` - -Returns *str* with spaces to the right such that it is *length* chars long. - -### `align.right(str, length)` → `str` - -Returns *str* with spaces to the left such that it is *length* chars long. - -### Origins - -These functions were originally taken from -[cliui](https://npmjs.com/package/cliui). Changes include switching to the -MUCH faster pad generation function from -[lodash](https://npmjs.com/package/lodash), making center alignment pad -both sides and adding left alignment. diff --git a/publi/node_modules/wide-align/align.js b/publi/node_modules/wide-align/align.js deleted file mode 100644 index 4f94ca4..0000000 --- a/publi/node_modules/wide-align/align.js +++ /dev/null @@ -1,65 +0,0 @@ -'use strict' -var stringWidth = require('string-width') - -exports.center = alignCenter -exports.left = alignLeft -exports.right = alignRight - -// lodash's way of generating pad characters. - -function createPadding (width) { - var result = '' - var string = ' ' - var n = width - do { - if (n % 2) { - result += string; - } - n = Math.floor(n / 2); - string += string; - } while (n); - - return result; -} - -function alignLeft (str, width) { - var trimmed = str.trimRight() - if (trimmed.length === 0 && str.length >= width) return str - var padding = '' - var strWidth = stringWidth(trimmed) - - if (strWidth < width) { - padding = createPadding(width - strWidth) - } - - return trimmed + padding -} - -function alignRight (str, width) { - var trimmed = str.trimLeft() - if (trimmed.length === 0 && str.length >= width) return str - var padding = '' - var strWidth = stringWidth(trimmed) - - if (strWidth < width) { - padding = createPadding(width - strWidth) - } - - return padding + trimmed -} - -function alignCenter (str, width) { - var trimmed = str.trim() - if (trimmed.length === 0 && str.length >= width) return str - var padLeft = '' - var padRight = '' - var strWidth = stringWidth(trimmed) - - if (strWidth < width) { - var padLeftBy = parseInt((width - strWidth) / 2, 10) - padLeft = createPadding(padLeftBy) - padRight = createPadding(width - (strWidth + padLeftBy)) - } - - return padLeft + trimmed + padRight -} diff --git a/publi/node_modules/wide-align/package.json b/publi/node_modules/wide-align/package.json deleted file mode 100644 index b57ec8a..0000000 --- a/publi/node_modules/wide-align/package.json +++ /dev/null @@ -1,103 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "wide-align@^1.1.0", - "scope": null, - "escapedName": "wide-align", - "name": "wide-align", - "rawSpec": "^1.1.0", - "spec": ">=1.1.0 <2.0.0", - "type": "range" - }, - "/mnt/Data/bach/Documents/ola/OLA#4/OLA#4DOC/sys/node_modules/gauge" - ] - ], - "_from": "wide-align@>=1.1.0 <2.0.0", - "_id": "wide-align@1.1.2", - "_inCache": true, - "_location": "/wide-align", - "_nodeVersion": "7.7.4", - "_npmOperationalInternal": { - "host": "packages-18-east.internal.npmjs.com", - "tmp": "tmp/wide-align-1.1.2.tgz_1494527486997_0.9166653461288661" - }, - "_npmUser": { - "name": "iarna", - "email": "me@re-becca.org" - }, - "_npmVersion": "4.6.1", - "_phantomChildren": {}, - "_requested": { - "raw": "wide-align@^1.1.0", - "scope": null, - "escapedName": "wide-align", - "name": "wide-align", - "rawSpec": "^1.1.0", - "spec": ">=1.1.0 <2.0.0", - "type": "range" - }, - "_requiredBy": [ - "/gauge" - ], - "_resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.2.tgz", - "_shasum": "571e0f1b0604636ebc0dfc21b0339bbe31341710", - "_shrinkwrap": null, - "_spec": "wide-align@^1.1.0", - "_where": "/mnt/Data/bach/Documents/ola/OLA#4/OLA#4DOC/sys/node_modules/gauge", - "author": { - "name": "Rebecca Turner", - "email": "me@re-becca.org", - "url": "http://re-becca.org/" - }, - "bugs": { - "url": "https://github.com/iarna/wide-align/issues" - }, - "dependencies": { - "string-width": "^1.0.2" - }, - "description": "A wide-character aware text alignment function for use on the console or with fixed width fonts.", - "devDependencies": { - "tap": "^10.3.2" - }, - "directories": {}, - "dist": { - "integrity": "sha512-ijDLlyQ7s6x1JgCLur53osjm/UXUYD9+0PbYKrBsYisYXzCxN+HC3mYDNy/dWdmf3AwqwU3CXwDCvsNgGK1S0w==", - "shasum": "571e0f1b0604636ebc0dfc21b0339bbe31341710", - "tarball": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.2.tgz" - }, - "files": [ - "align.js" - ], - "gitHead": "f904295d03f73ddce10c2c1b0808513ebb5525c6", - "homepage": "https://github.com/iarna/wide-align#readme", - "keywords": [ - "wide", - "double", - "unicode", - "cjkv", - "pad", - "align" - ], - "license": "ISC", - "main": "align.js", - "maintainers": [ - { - "name": "iarna", - "email": "me@re-becca.org" - } - ], - "name": "wide-align", - "optionalDependencies": {}, - "readme": "wide-align\n----------\n\nA wide-character aware text alignment function for use in terminals / on the\nconsole.\n\n### Usage\n\n```\nvar align = require('wide-align')\n\n// Note that if you view this on a unicode console, all of the slashes are\n// aligned. This is because on a console, all narrow characters are\n// an en wide and all wide characters are an em. In browsers, this isn't\n// held to and wide characters like \"古\" can be less than two narrow\n// characters even with a fixed width font.\n\nconsole.log(align.center('abc', 10)) // ' abc '\nconsole.log(align.center('古古古', 10)) // ' 古古古 '\nconsole.log(align.left('abc', 10)) // 'abc '\nconsole.log(align.left('古古古', 10)) // '古古古 '\nconsole.log(align.right('abc', 10)) // ' abc'\nconsole.log(align.right('古古古', 10)) // ' 古古古'\n```\n\n### Functions\n\n#### `align.center(str, length)` → `str`\n\nReturns *str* with spaces added to both sides such that that it is *length*\nchars long and centered in the spaces.\n\n#### `align.left(str, length)` → `str`\n\nReturns *str* with spaces to the right such that it is *length* chars long.\n\n### `align.right(str, length)` → `str`\n\nReturns *str* with spaces to the left such that it is *length* chars long.\n\n### Origins\n\nThese functions were originally taken from \n[cliui](https://npmjs.com/package/cliui). Changes include switching to the\nMUCH faster pad generation function from\n[lodash](https://npmjs.com/package/lodash), making center alignment pad\nboth sides and adding left alignment.\n", - "readmeFilename": "README.md", - "repository": { - "type": "git", - "url": "git+https://github.com/iarna/wide-align.git" - }, - "scripts": { - "test": "tap --coverage test/*.js", - "version": "perl -pi -e 's/^( \"version\": $ENV{npm_config_node_version}\").*?\",/$1abc\",/' package-lock.json ; git add package-lock.json" - }, - "version": "1.1.2" -} diff --git a/publi/node_modules/wrap-ansi/index.js b/publi/node_modules/wrap-ansi/index.js deleted file mode 100755 index ff62543..0000000 --- a/publi/node_modules/wrap-ansi/index.js +++ /dev/null @@ -1,168 +0,0 @@ -'use strict'; -var stringWidth = require('string-width'); -var stripAnsi = require('strip-ansi'); - -var ESCAPES = [ - '\u001b', - '\u009b' -]; - -var END_CODE = 39; - -var ESCAPE_CODES = { - 0: 0, - 1: 22, - 2: 22, - 3: 23, - 4: 24, - 7: 27, - 8: 28, - 9: 29, - 30: 39, - 31: 39, - 32: 39, - 33: 39, - 34: 39, - 35: 39, - 36: 39, - 37: 39, - 90: 39, - 40: 49, - 41: 49, - 42: 49, - 43: 49, - 44: 49, - 45: 49, - 46: 49, - 47: 49 -}; - -function wrapAnsi(code) { - return ESCAPES[0] + '[' + code + 'm'; -} - -// calculate the length of words split on ' ', ignoring -// the extra characters added by ansi escape codes. -function wordLengths(str) { - return str.split(' ').map(function (s) { - return stringWidth(s); - }); -} - -// wrap a long word across multiple rows. -// ansi escape codes do not count towards length. -function wrapWord(rows, word, cols) { - var insideEscape = false; - var visible = stripAnsi(rows[rows.length - 1]).length; - - for (var i = 0; i < word.length; i++) { - var x = word[i]; - - rows[rows.length - 1] += x; - - if (ESCAPES.indexOf(x) !== -1) { - insideEscape = true; - } else if (insideEscape && x === 'm') { - insideEscape = false; - continue; - } - - if (insideEscape) { - continue; - } - - visible++; - - if (visible >= cols && i < word.length - 1) { - rows.push(''); - visible = 0; - } - } - - // it's possible that the last row we copy over is only - // ansi escape characters, handle this edge-case. - if (!visible && rows[rows.length - 1].length > 0 && rows.length > 1) { - rows[rows.length - 2] += rows.pop(); - } -} - -// the wrap-ansi module can be invoked -// in either 'hard' or 'soft' wrap mode. -// -// 'hard' will never allow a string to take up more -// than cols characters. -// -// 'soft' allows long words to expand past the column length. -function exec(str, cols, opts) { - var options = opts || {}; - - var pre = ''; - var ret = ''; - var escapeCode; - - var lengths = wordLengths(str); - var words = str.split(' '); - var rows = ['']; - - for (var i = 0, word; (word = words[i]) !== undefined; i++) { - var rowLength = stringWidth(rows[rows.length - 1]); - - if (rowLength) { - rows[rows.length - 1] += ' '; - rowLength++; - } - - // in 'hard' wrap mode, the length of a line is - // never allowed to extend past 'cols'. - if (lengths[i] > cols && options.hard) { - if (rowLength) { - rows.push(''); - } - wrapWord(rows, word, cols); - continue; - } - - if (rowLength + lengths[i] > cols && rowLength > 0) { - if (options.wordWrap === false && rowLength < cols) { - wrapWord(rows, word, cols); - continue; - } - - rows.push(''); - } - - rows[rows.length - 1] += word; - } - - pre = rows.map(function (r) { - return r.trim(); - }).join('\n'); - - for (var j = 0; j < pre.length; j++) { - var y = pre[j]; - - ret += y; - - if (ESCAPES.indexOf(y) !== -1) { - var code = parseFloat(/[0-9][^m]*/.exec(pre.slice(j, j + 4))); - escapeCode = code === END_CODE ? null : code; - } - - if (escapeCode && ESCAPE_CODES[escapeCode]) { - if (pre[j + 1] === '\n') { - ret += wrapAnsi(ESCAPE_CODES[escapeCode]); - } else if (y === '\n') { - ret += wrapAnsi(escapeCode); - } - } - } - - return ret; -} - -// for each line break, invoke the method separately. -module.exports = function (str, cols, opts) { - return String(str).split('\n').map(function (substr) { - return exec(substr, cols, opts); - }).join('\n'); -}; diff --git a/publi/node_modules/wrap-ansi/license b/publi/node_modules/wrap-ansi/license deleted file mode 100644 index 654d0bf..0000000 --- a/publi/node_modules/wrap-ansi/license +++ /dev/null @@ -1,21 +0,0 @@ -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. diff --git a/publi/node_modules/wrap-ansi/package.json b/publi/node_modules/wrap-ansi/package.json deleted file mode 100644 index 8195edb..0000000 --- a/publi/node_modules/wrap-ansi/package.json +++ /dev/null @@ -1,146 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "wrap-ansi@^2.0.0", - "scope": null, - "escapedName": "wrap-ansi", - "name": "wrap-ansi", - "rawSpec": "^2.0.0", - "spec": ">=2.0.0 <3.0.0", - "type": "range" - }, - "/mnt/Data/bach/Documents/ola/OLA#4/OLA#4DOC/sys/node_modules/cliui" - ] - ], - "_from": "wrap-ansi@>=2.0.0 <3.0.0", - "_id": "wrap-ansi@2.1.0", - "_inCache": true, - "_location": "/wrap-ansi", - "_nodeVersion": "4.6.2", - "_npmOperationalInternal": { - "host": "packages-18-east.internal.npmjs.com", - "tmp": "tmp/wrap-ansi-2.1.0.tgz_1480440082575_0.23112521297298372" - }, - "_npmUser": { - "name": "sindresorhus", - "email": "sindresorhus@gmail.com" - }, - "_npmVersion": "2.15.11", - "_phantomChildren": {}, - "_requested": { - "raw": "wrap-ansi@^2.0.0", - "scope": null, - "escapedName": "wrap-ansi", - "name": "wrap-ansi", - "rawSpec": "^2.0.0", - "spec": ">=2.0.0 <3.0.0", - "type": "range" - }, - "_requiredBy": [ - "/cliui" - ], - "_resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", - "_shasum": "d8fc3d284dd05794fe84973caecdd1cf824fdd85", - "_shrinkwrap": null, - "_spec": "wrap-ansi@^2.0.0", - "_where": "/mnt/Data/bach/Documents/ola/OLA#4/OLA#4DOC/sys/node_modules/cliui", - "author": { - "name": "Sindre Sorhus", - "email": "sindresorhus@gmail.com", - "url": "sindresorhus.com" - }, - "bugs": { - "url": "https://github.com/chalk/wrap-ansi/issues" - }, - "dependencies": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1" - }, - "description": "Wordwrap a string with ANSI escape codes", - "devDependencies": { - "ava": "^0.16.0", - "chalk": "^1.1.0", - "coveralls": "^2.11.4", - "has-ansi": "^2.0.0", - "nyc": "^6.2.1", - "strip-ansi": "^3.0.0", - "xo": "*" - }, - "directories": {}, - "dist": { - "shasum": "d8fc3d284dd05794fe84973caecdd1cf824fdd85", - "tarball": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz" - }, - "engines": { - "node": ">=0.10.0" - }, - "files": [ - "index.js" - ], - "gitHead": "a731af5a3461d92f2af302e81e05ea698a3c8c1a", - "homepage": "https://github.com/chalk/wrap-ansi#readme", - "keywords": [ - "wrap", - "break", - "wordwrap", - "wordbreak", - "linewrap", - "ansi", - "styles", - "color", - "colour", - "colors", - "terminal", - "console", - "cli", - "string", - "tty", - "escape", - "formatting", - "rgb", - "256", - "shell", - "xterm", - "log", - "logging", - "command-line", - "text" - ], - "license": "MIT", - "maintainers": [ - { - "name": "Sindre Sorhus", - "email": "sindresorhus@gmail.com", - "url": "sindresorhus.com" - }, - { - "name": "Joshua Appelman", - "email": "jappelman@xebia.com", - "url": "jbnicolai.com" - }, - { - "name": "JD Ballard", - "email": "i.am.qix@gmail.com", - "url": "github.com/qix-" - }, - { - "name": "Benjamin Coe", - "email": "ben@npmjs.com", - "url": "github.com/bcoe" - } - ], - "name": "wrap-ansi", - "optionalDependencies": {}, - "readme": "# wrap-ansi [![Build Status](https://travis-ci.org/chalk/wrap-ansi.svg?branch=master)](https://travis-ci.org/chalk/wrap-ansi) [![Coverage Status](https://coveralls.io/repos/github/chalk/wrap-ansi/badge.svg?branch=master)](https://coveralls.io/github/chalk/wrap-ansi?branch=master)\n\n> Wordwrap a string with [ANSI escape codes](http://en.wikipedia.org/wiki/ANSI_escape_code#Colors_and_Styles)\n\n\n## Install\n\n```\n$ npm install --save wrap-ansi\n```\n\n\n## Usage\n\n```js\nconst chalk = require('chalk');\nconst wrapAnsi = require('wrap-ansi');\n\nconst input = 'The quick brown ' + chalk.red('fox jumped over ') +\n\t'the lazy ' + chalk.green('dog and then ran away with the unicorn.');\n\nconsole.log(wrapAnsi(input, 20));\n```\n\n\n\n\n## API\n\n### wrapAnsi(input, columns, [options])\n\nWrap words to the specified column width.\n\n#### input\n\nType: `string`\n\nString with ANSI escape codes. Like one styled by [`chalk`](https://github.com/chalk/chalk).\n\n#### columns\n\nType: `number`\n\nNumber of columns to wrap the text to.\n\n#### options\n\n##### hard\n\nType: `boolean`
\nDefault: `false`\n\nBy default the wrap is soft, meaning long words may extend past the column width. Setting this to `true` will make it hard wrap at the column width.\n\n##### wordWrap\n\nType: `boolean`
\nDefault: `true`\n\nBy default, an attempt is made to split words at spaces, ensuring that they don't extend past the configured columns. If wordWrap is `false`, each column will instead be completely filled splitting words as necessary.\n\n\n## Related\n\n- [slice-ansi](https://github.com/chalk/slice-ansi) - Slice a string with ANSI escape codes\n- [cli-truncate](https://github.com/sindresorhus/cli-truncate) - Truncate a string to a specific width in the terminal\n- [chalk](https://github.com/chalk/chalk) - Terminal string styling done right\n- [jsesc](https://github.com/mathiasbynens/jsesc) - Generate ASCII-only output from Unicode strings. Useful for creating test fixtures.\n\n\n## License\n\nMIT © [Sindre Sorhus](https://sindresorhus.com)\n", - "readmeFilename": "readme.md", - "repository": { - "type": "git", - "url": "git+https://github.com/chalk/wrap-ansi.git" - }, - "scripts": { - "coveralls": "nyc report --reporter=text-lcov | coveralls", - "test": "xo && nyc ava" - }, - "version": "2.1.0" -} diff --git a/publi/node_modules/wrap-ansi/readme.md b/publi/node_modules/wrap-ansi/readme.md deleted file mode 100644 index 59fc96b..0000000 --- a/publi/node_modules/wrap-ansi/readme.md +++ /dev/null @@ -1,73 +0,0 @@ -# wrap-ansi [![Build Status](https://travis-ci.org/chalk/wrap-ansi.svg?branch=master)](https://travis-ci.org/chalk/wrap-ansi) [![Coverage Status](https://coveralls.io/repos/github/chalk/wrap-ansi/badge.svg?branch=master)](https://coveralls.io/github/chalk/wrap-ansi?branch=master) - -> Wordwrap a string with [ANSI escape codes](http://en.wikipedia.org/wiki/ANSI_escape_code#Colors_and_Styles) - - -## Install - -``` -$ npm install --save wrap-ansi -``` - - -## Usage - -```js -const chalk = require('chalk'); -const wrapAnsi = require('wrap-ansi'); - -const input = 'The quick brown ' + chalk.red('fox jumped over ') + - 'the lazy ' + chalk.green('dog and then ran away with the unicorn.'); - -console.log(wrapAnsi(input, 20)); -``` - - - - -## API - -### wrapAnsi(input, columns, [options]) - -Wrap words to the specified column width. - -#### input - -Type: `string` - -String with ANSI escape codes. Like one styled by [`chalk`](https://github.com/chalk/chalk). - -#### columns - -Type: `number` - -Number of columns to wrap the text to. - -#### options - -##### hard - -Type: `boolean`
-Default: `false` - -By default the wrap is soft, meaning long words may extend past the column width. Setting this to `true` will make it hard wrap at the column width. - -##### wordWrap - -Type: `boolean`
-Default: `true` - -By default, an attempt is made to split words at spaces, ensuring that they don't extend past the configured columns. If wordWrap is `false`, each column will instead be completely filled splitting words as necessary. - - -## Related - -- [slice-ansi](https://github.com/chalk/slice-ansi) - Slice a string with ANSI escape codes -- [cli-truncate](https://github.com/sindresorhus/cli-truncate) - Truncate a string to a specific width in the terminal -- [chalk](https://github.com/chalk/chalk) - Terminal string styling done right -- [jsesc](https://github.com/mathiasbynens/jsesc) - Generate ASCII-only output from Unicode strings. Useful for creating test fixtures. - - -## License - -MIT © [Sindre Sorhus](https://sindresorhus.com) diff --git a/publi/node_modules/wrappy/LICENSE b/publi/node_modules/wrappy/LICENSE deleted file mode 100644 index 19129e3..0000000 --- a/publi/node_modules/wrappy/LICENSE +++ /dev/null @@ -1,15 +0,0 @@ -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. diff --git a/publi/node_modules/wrappy/README.md b/publi/node_modules/wrappy/README.md deleted file mode 100644 index 98eab25..0000000 --- a/publi/node_modules/wrappy/README.md +++ /dev/null @@ -1,36 +0,0 @@ -# wrappy - -Callback wrapping utility - -## USAGE - -```javascript -var wrappy = require("wrappy") - -// var wrapper = wrappy(wrapperFunction) - -// make sure a cb is called only once -// See also: http://npm.im/once for this specific use case -var once = wrappy(function (cb) { - var called = false - return function () { - if (called) return - called = true - return cb.apply(this, arguments) - } -}) - -function printBoo () { - console.log('boo') -} -// has some rando property -printBoo.iAmBooPrinter = true - -var onlyPrintOnce = once(printBoo) - -onlyPrintOnce() // prints 'boo' -onlyPrintOnce() // does nothing - -// random property is retained! -assert.equal(onlyPrintOnce.iAmBooPrinter, true) -``` diff --git a/publi/node_modules/wrappy/package.json b/publi/node_modules/wrappy/package.json deleted file mode 100644 index 285cde3..0000000 --- a/publi/node_modules/wrappy/package.json +++ /dev/null @@ -1,97 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "wrappy@1", - "scope": null, - "escapedName": "wrappy", - "name": "wrappy", - "rawSpec": "1", - "spec": ">=1.0.0 <2.0.0", - "type": "range" - }, - "/mnt/Data/bach/Documents/ola/OLA#3DOC/sys/node_modules/once" - ] - ], - "_from": "wrappy@>=1.0.0 <2.0.0", - "_id": "wrappy@1.0.2", - "_inCache": true, - "_location": "/wrappy", - "_nodeVersion": "5.10.1", - "_npmOperationalInternal": { - "host": "packages-16-east.internal.npmjs.com", - "tmp": "tmp/wrappy-1.0.2.tgz_1463527848281_0.037129373755306005" - }, - "_npmUser": { - "name": "zkat", - "email": "kat@sykosomatic.org" - }, - "_npmVersion": "3.9.1", - "_phantomChildren": {}, - "_requested": { - "raw": "wrappy@1", - "scope": null, - "escapedName": "wrappy", - "name": "wrappy", - "rawSpec": "1", - "spec": ">=1.0.0 <2.0.0", - "type": "range" - }, - "_requiredBy": [ - "/inflight", - "/once" - ], - "_resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "_shasum": "b5243d8f3ec1aa35f1364605bc0d1036e30ab69f", - "_shrinkwrap": null, - "_spec": "wrappy@1", - "_where": "/mnt/Data/bach/Documents/ola/OLA#3DOC/sys/node_modules/once", - "author": { - "name": "Isaac Z. Schlueter", - "email": "i@izs.me", - "url": "http://blog.izs.me/" - }, - "bugs": { - "url": "https://github.com/npm/wrappy/issues" - }, - "dependencies": {}, - "description": "Callback wrapping utility", - "devDependencies": { - "tap": "^2.3.1" - }, - "directories": { - "test": "test" - }, - "dist": { - "shasum": "b5243d8f3ec1aa35f1364605bc0d1036e30ab69f", - "tarball": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" - }, - "files": [ - "wrappy.js" - ], - "gitHead": "71d91b6dc5bdeac37e218c2cf03f9ab55b60d214", - "homepage": "https://github.com/npm/wrappy", - "license": "ISC", - "main": "wrappy.js", - "maintainers": [ - { - "name": "isaacs", - "email": "i@izs.me" - }, - { - "name": "zkat", - "email": "kat@sykosomatic.org" - } - ], - "name": "wrappy", - "optionalDependencies": {}, - "readme": "ERROR: No README data found!", - "repository": { - "type": "git", - "url": "git+https://github.com/npm/wrappy.git" - }, - "scripts": { - "test": "tap --coverage test/*.js" - }, - "version": "1.0.2" -} diff --git a/publi/node_modules/wrappy/wrappy.js b/publi/node_modules/wrappy/wrappy.js deleted file mode 100644 index bb7e7d6..0000000 --- a/publi/node_modules/wrappy/wrappy.js +++ /dev/null @@ -1,33 +0,0 @@ -// Returns a wrapper function that returns a wrapped callback -// The wrapper function should do some stuff, and return a -// presumably different callback function. -// This makes sure that own properties are retained, so that -// decorations and such are not lost along the way. -module.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 cb = args[args.length-1] - if (typeof ret === 'function' && ret !== cb) { - Object.keys(cb).forEach(function (k) { - ret[k] = cb[k] - }) - } - return ret - } -} diff --git a/publi/node_modules/xtend/.jshintrc b/publi/node_modules/xtend/.jshintrc deleted file mode 100644 index 77887b5..0000000 --- a/publi/node_modules/xtend/.jshintrc +++ /dev/null @@ -1,30 +0,0 @@ -{ - "maxdepth": 4, - "maxstatements": 200, - "maxcomplexity": 12, - "maxlen": 80, - "maxparams": 5, - - "curly": true, - "eqeqeq": true, - "immed": true, - "latedef": false, - "noarg": true, - "noempty": true, - "nonew": true, - "undef": true, - "unused": "vars", - "trailing": true, - - "quotmark": true, - "expr": true, - "asi": true, - - "browser": false, - "esnext": true, - "devel": false, - "node": false, - "nonstandard": false, - - "predef": ["require", "module", "__dirname", "__filename"] -} diff --git a/publi/node_modules/xtend/.npmignore b/publi/node_modules/xtend/.npmignore deleted file mode 100644 index 3c3629e..0000000 --- a/publi/node_modules/xtend/.npmignore +++ /dev/null @@ -1 +0,0 @@ -node_modules diff --git a/publi/node_modules/xtend/LICENCE b/publi/node_modules/xtend/LICENCE deleted file mode 100644 index 1a14b43..0000000 --- a/publi/node_modules/xtend/LICENCE +++ /dev/null @@ -1,19 +0,0 @@ -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. diff --git a/publi/node_modules/xtend/Makefile b/publi/node_modules/xtend/Makefile deleted file mode 100644 index d583fcf..0000000 --- a/publi/node_modules/xtend/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -browser: - node ./support/compile - -.PHONY: browser \ No newline at end of file diff --git a/publi/node_modules/xtend/README.md b/publi/node_modules/xtend/README.md deleted file mode 100644 index 093cb29..0000000 --- a/publi/node_modules/xtend/README.md +++ /dev/null @@ -1,32 +0,0 @@ -# xtend - -[![browser support][3]][4] - -[![locked](http://badges.github.io/stability-badges/dist/locked.svg)](http://github.com/badges/stability-badges) - -Extend like a boss - -xtend is a basic utility library which allows you to extend an object by appending all of the properties from each object in a list. When there are identical properties, the right-most property takes precedence. - -## Examples - -```js -var extend = require("xtend") - -// extend returns a new object. Does not mutate arguments -var combination = extend({ - a: "a", - b: 'c' -}, { - b: "b" -}) -// { a: "a", b: "b" } -``` - -## Stability status: Locked - -## MIT Licenced - - - [3]: http://ci.testling.com/Raynos/xtend.png - [4]: http://ci.testling.com/Raynos/xtend diff --git a/publi/node_modules/xtend/immutable.js b/publi/node_modules/xtend/immutable.js deleted file mode 100644 index 94889c9..0000000 --- a/publi/node_modules/xtend/immutable.js +++ /dev/null @@ -1,19 +0,0 @@ -module.exports = extend - -var hasOwnProperty = Object.prototype.hasOwnProperty; - -function extend() { - var target = {} - - for (var i = 0; i < arguments.length; i++) { - var source = arguments[i] - - for (var key in source) { - if (hasOwnProperty.call(source, key)) { - target[key] = source[key] - } - } - } - - return target -} diff --git a/publi/node_modules/xtend/mutable.js b/publi/node_modules/xtend/mutable.js deleted file mode 100644 index 72debed..0000000 --- a/publi/node_modules/xtend/mutable.js +++ /dev/null @@ -1,17 +0,0 @@ -module.exports = extend - -var hasOwnProperty = Object.prototype.hasOwnProperty; - -function extend(target) { - for (var i = 1; i < arguments.length; i++) { - var source = arguments[i] - - for (var key in source) { - if (hasOwnProperty.call(source, key)) { - target[key] = source[key] - } - } - } - - return target -} diff --git a/publi/node_modules/xtend/package.json b/publi/node_modules/xtend/package.json deleted file mode 100644 index c8c479e..0000000 --- a/publi/node_modules/xtend/package.json +++ /dev/null @@ -1,120 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "xtend@~4.0.1", - "scope": null, - "escapedName": "xtend", - "name": "xtend", - "rawSpec": "~4.0.1", - "spec": ">=4.0.1 <4.1.0", - "type": "range" - }, - "/mnt/Data/bach/Documents/ola/OLA#3DOC/sys/node_modules/through2" - ] - ], - "_from": "xtend@>=4.0.1 <4.1.0", - "_id": "xtend@4.0.1", - "_inCache": true, - "_location": "/xtend", - "_nodeVersion": "0.10.32", - "_npmUser": { - "name": "raynos", - "email": "raynos2@gmail.com" - }, - "_npmVersion": "2.14.1", - "_phantomChildren": {}, - "_requested": { - "raw": "xtend@~4.0.1", - "scope": null, - "escapedName": "xtend", - "name": "xtend", - "rawSpec": "~4.0.1", - "spec": ">=4.0.1 <4.1.0", - "type": "range" - }, - "_requiredBy": [ - "/glob-stream/through2", - "/is-my-json-valid", - "/through2", - "/vinyl-fs/through2" - ], - "_resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", - "_shasum": "a5c6d532be656e23db820efb943a1f04998d63af", - "_shrinkwrap": null, - "_spec": "xtend@~4.0.1", - "_where": "/mnt/Data/bach/Documents/ola/OLA#3DOC/sys/node_modules/through2", - "author": { - "name": "Raynos", - "email": "raynos2@gmail.com" - }, - "bugs": { - "url": "https://github.com/Raynos/xtend/issues", - "email": "raynos2@gmail.com" - }, - "contributors": [ - { - "name": "Jake Verbaten" - }, - { - "name": "Matt Esch" - } - ], - "dependencies": {}, - "description": "extend like a boss", - "devDependencies": { - "tape": "~1.1.0" - }, - "directories": {}, - "dist": { - "shasum": "a5c6d532be656e23db820efb943a1f04998d63af", - "tarball": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz" - }, - "engines": { - "node": ">=0.4" - }, - "gitHead": "23dc302a89756da89c1897bc732a752317e35390", - "homepage": "https://github.com/Raynos/xtend", - "keywords": [ - "extend", - "merge", - "options", - "opts", - "object", - "array" - ], - "license": "MIT", - "main": "immutable", - "maintainers": [ - { - "name": "raynos", - "email": "raynos2@gmail.com" - } - ], - "name": "xtend", - "optionalDependencies": {}, - "readme": "ERROR: No README data found!", - "repository": { - "type": "git", - "url": "git://github.com/Raynos/xtend.git" - }, - "scripts": { - "test": "node test" - }, - "testling": { - "files": "test.js", - "browsers": [ - "ie/7..latest", - "firefox/16..latest", - "firefox/nightly", - "chrome/22..latest", - "chrome/canary", - "opera/12..latest", - "opera/next", - "safari/5.1..latest", - "ipad/6.0..latest", - "iphone/6.0..latest" - ] - }, - "version": "4.0.1" -} diff --git a/publi/node_modules/xtend/test.js b/publi/node_modules/xtend/test.js deleted file mode 100644 index 093a2b0..0000000 --- a/publi/node_modules/xtend/test.js +++ /dev/null @@ -1,83 +0,0 @@ -var test = require("tape") -var extend = require("./") -var mutableExtend = require("./mutable") - -test("merge", function(assert) { - var a = { a: "foo" } - var b = { b: "bar" } - - assert.deepEqual(extend(a, b), { a: "foo", b: "bar" }) - assert.end() -}) - -test("replace", function(assert) { - var a = { a: "foo" } - var b = { a: "bar" } - - assert.deepEqual(extend(a, b), { a: "bar" }) - assert.end() -}) - -test("undefined", function(assert) { - var a = { a: undefined } - var b = { b: "foo" } - - assert.deepEqual(extend(a, b), { a: undefined, b: "foo" }) - assert.deepEqual(extend(b, a), { a: undefined, b: "foo" }) - assert.end() -}) - -test("handle 0", function(assert) { - var a = { a: "default" } - var b = { a: 0 } - - assert.deepEqual(extend(a, b), { a: 0 }) - assert.deepEqual(extend(b, a), { a: "default" }) - assert.end() -}) - -test("is immutable", function (assert) { - var record = {} - - extend(record, { foo: "bar" }) - assert.equal(record.foo, undefined) - assert.end() -}) - -test("null as argument", function (assert) { - var a = { foo: "bar" } - var b = null - var c = void 0 - - assert.deepEqual(extend(b, a, c), { foo: "bar" }) - assert.end() -}) - -test("mutable", function (assert) { - var a = { foo: "bar" } - - mutableExtend(a, { bar: "baz" }) - - assert.equal(a.bar, "baz") - assert.end() -}) - -test("null prototype", function(assert) { - var a = { a: "foo" } - var b = Object.create(null) - b.b = "bar"; - - assert.deepEqual(extend(a, b), { a: "foo", b: "bar" }) - assert.end() -}) - -test("null prototype mutable", function (assert) { - var a = { foo: "bar" } - var b = Object.create(null) - b.bar = "baz"; - - mutableExtend(a, b) - - assert.equal(a.bar, "baz") - assert.end() -}) diff --git a/publi/node_modules/y18n/LICENSE b/publi/node_modules/y18n/LICENSE deleted file mode 100644 index 3c157f0..0000000 --- a/publi/node_modules/y18n/LICENSE +++ /dev/null @@ -1,13 +0,0 @@ -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. diff --git a/publi/node_modules/y18n/README.md b/publi/node_modules/y18n/README.md deleted file mode 100644 index 9859458..0000000 --- a/publi/node_modules/y18n/README.md +++ /dev/null @@ -1,91 +0,0 @@ -# y18n - -[![Build Status][travis-image]][travis-url] -[![Coverage Status][coveralls-image]][coveralls-url] -[![NPM version][npm-image]][npm-url] -[![js-standard-style][standard-image]][standard-url] - -The bare-bones internationalization library used by yargs. - -Inspired by [i18n](https://www.npmjs.com/package/i18n). - -## Examples - -_simple string translation:_ - -```js -var __ = require('y18n').__ - -console.log(__('my awesome string %s', 'foo')) -``` - -output: - -`my awesome string foo` - -_pluralization support:_ - -```js -var __n = require('y18n').__n - -console.log(__n('one fish %s', '%d fishes %s', 2, 'foo')) -``` - -output: - -`2 fishes foo` - -## JSON Language Files - -The JSON language files should be stored in a `./locales` folder. -File names correspond to locales, e.g., `en.json`, `pirate.json`. - -When strings are observed for the first time they will be -added to the JSON file corresponding to the current locale. - -## Methods - -### require('y18n')(config) - -Create an instance of y18n with the config provided, options include: - -* `directory`: the locale directory, default `./locales`. -* `updateFiles`: should newly observed strings be updated in file, default `true`. -* `locale`: what locale should be used. -* `fallbackToLanguage`: should fallback to a language-only file (e.g. `en.json`) - be allowed if a file matching the locale does not exist (e.g. `en_US.json`), - default `true`. - -### y18n.\_\_(str, arg, arg, arg) - -Print a localized string, `%s` will be replaced with `arg`s. - -### y18n.\_\_n(singularString, pluralString, count, arg, arg, arg) - -Print a localized string with appropriate pluralization. If `%d` is provided -in the string, the `count` will replace this placeholder. - -### y18n.setLocale(str) - -Set the current locale being used. - -### y18n.getLocale() - -What locale is currently being used? - -### y18n.updateLocale(obj) - -Update the current locale with the key value pairs in `obj`. - -## License - -ISC - -[travis-url]: https://travis-ci.org/yargs/y18n -[travis-image]: https://img.shields.io/travis/yargs/y18n.svg -[coveralls-url]: https://coveralls.io/github/yargs/y18n -[coveralls-image]: https://img.shields.io/coveralls/yargs/y18n.svg -[npm-url]: https://npmjs.org/package/y18n -[npm-image]: https://img.shields.io/npm/v/y18n.svg -[standard-image]: https://img.shields.io/badge/code%20style-standard-brightgreen.svg -[standard-url]: https://github.com/feross/standard diff --git a/publi/node_modules/y18n/index.js b/publi/node_modules/y18n/index.js deleted file mode 100644 index 91b159e..0000000 --- a/publi/node_modules/y18n/index.js +++ /dev/null @@ -1,172 +0,0 @@ -var fs = require('fs') -var path = require('path') -var util = require('util') - -function Y18N (opts) { - // configurable options. - opts = opts || {} - this.directory = opts.directory || './locales' - this.updateFiles = typeof opts.updateFiles === 'boolean' ? opts.updateFiles : true - this.locale = opts.locale || 'en' - this.fallbackToLanguage = typeof opts.fallbackToLanguage === 'boolean' ? opts.fallbackToLanguage : true - - // internal stuff. - this.cache = {} - this.writeQueue = [] -} - -Y18N.prototype.__ = function () { - var args = Array.prototype.slice.call(arguments) - var str = args.shift() - var cb = function () {} // start with noop. - - if (typeof args[args.length - 1] === 'function') cb = args.pop() - cb = cb || function () {} // noop. - - if (!this.cache[this.locale]) this._readLocaleFile() - - // we've observed a new string, update the language file. - if (!this.cache[this.locale][str] && this.updateFiles) { - this.cache[this.locale][str] = str - - // include the current directory and locale, - // since these values could change before the - // write is performed. - this._enqueueWrite([this.directory, this.locale, cb]) - } else { - cb() - } - - return util.format.apply(util, [this.cache[this.locale][str] || str].concat(args)) -} - -Y18N.prototype._enqueueWrite = function (work) { - this.writeQueue.push(work) - if (this.writeQueue.length === 1) this._processWriteQueue() -} - -Y18N.prototype._processWriteQueue = function () { - var _this = this - var work = this.writeQueue[0] - - // destructure the enqueued work. - var directory = work[0] - var locale = work[1] - var cb = work[2] - - var languageFile = this._resolveLocaleFile(directory, locale) - var serializedLocale = JSON.stringify(this.cache[locale], null, 2) - - fs.writeFile(languageFile, serializedLocale, 'utf-8', function (err) { - _this.writeQueue.shift() - if (_this.writeQueue.length > 0) _this._processWriteQueue() - cb(err) - }) -} - -Y18N.prototype._readLocaleFile = function () { - var localeLookup = {} - var languageFile = this._resolveLocaleFile(this.directory, this.locale) - - try { - localeLookup = JSON.parse(fs.readFileSync(languageFile, 'utf-8')) - } catch (err) { - if (err instanceof SyntaxError) { - err.message = 'syntax error in ' + languageFile - } - - if (err.code === 'ENOENT') localeLookup = {} - else throw err - } - - this.cache[this.locale] = localeLookup -} - -Y18N.prototype._resolveLocaleFile = function (directory, locale) { - var file = path.resolve(directory, './', locale + '.json') - if (this.fallbackToLanguage && !this._fileExistsSync(file) && ~locale.lastIndexOf('_')) { - // attempt fallback to language only - var languageFile = path.resolve(directory, './', locale.split('_')[0] + '.json') - if (this._fileExistsSync(languageFile)) file = languageFile - } - return file -} - -// this only exists because fs.existsSync() "will be deprecated" -// see https://nodejs.org/api/fs.html#fs_fs_existssync_path -Y18N.prototype._fileExistsSync = function (file) { - try { - return fs.statSync(file).isFile() - } catch (err) { - return false - } -} - -Y18N.prototype.__n = function () { - var args = Array.prototype.slice.call(arguments) - var singular = args.shift() - var plural = args.shift() - var quantity = args.shift() - - var cb = function () {} // start with noop. - if (typeof args[args.length - 1] === 'function') cb = args.pop() - - if (!this.cache[this.locale]) this._readLocaleFile() - - var str = quantity === 1 ? singular : plural - if (this.cache[this.locale][singular]) { - str = this.cache[this.locale][singular][quantity === 1 ? 'one' : 'other'] - } - - // we've observed a new string, update the language file. - if (!this.cache[this.locale][singular] && this.updateFiles) { - this.cache[this.locale][singular] = { - one: singular, - other: plural - } - - // include the current directory and locale, - // since these values could change before the - // write is performed. - this._enqueueWrite([this.directory, this.locale, cb]) - } else { - cb() - } - - // if a %d placeholder is provided, add quantity - // to the arguments expanded by util.format. - var values = [str] - if (~str.indexOf('%d')) values.push(quantity) - - return util.format.apply(util, values.concat(args)) -} - -Y18N.prototype.setLocale = function (locale) { - this.locale = locale -} - -Y18N.prototype.getLocale = function () { - return this.locale -} - -Y18N.prototype.updateLocale = function (obj) { - if (!this.cache[this.locale]) this._readLocaleFile() - - for (var key in obj) { - this.cache[this.locale][key] = obj[key] - } -} - -module.exports = function (opts) { - var y18n = new Y18N(opts) - - // bind all functions to y18n, so that - // they can be used in isolation. - for (var key in y18n) { - if (typeof y18n[key] === 'function') { - y18n[key] = y18n[key].bind(y18n) - } - } - - return y18n -} diff --git a/publi/node_modules/y18n/package.json b/publi/node_modules/y18n/package.json deleted file mode 100644 index 641cd52..0000000 --- a/publi/node_modules/y18n/package.json +++ /dev/null @@ -1,106 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "y18n@^3.2.1", - "scope": null, - "escapedName": "y18n", - "name": "y18n", - "rawSpec": "^3.2.1", - "spec": ">=3.2.1 <4.0.0", - "type": "range" - }, - "/mnt/Data/bach/Documents/ola/OLA#4/OLA#4DOC/sys/node_modules/yargs" - ] - ], - "_from": "y18n@>=3.2.1 <4.0.0", - "_id": "y18n@3.2.1", - "_inCache": true, - "_location": "/y18n", - "_nodeVersion": "3.2.0", - "_npmOperationalInternal": { - "host": "packages-13-west.internal.npmjs.com", - "tmp": "tmp/y18n-3.2.1.tgz_1458191070611_0.9606689948122948" - }, - "_npmUser": { - "name": "bcoe", - "email": "ben@npmjs.com" - }, - "_npmVersion": "3.3.0", - "_phantomChildren": {}, - "_requested": { - "raw": "y18n@^3.2.1", - "scope": null, - "escapedName": "y18n", - "name": "y18n", - "rawSpec": "^3.2.1", - "spec": ">=3.2.1 <4.0.0", - "type": "range" - }, - "_requiredBy": [ - "/yargs" - ], - "_resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", - "_shasum": "6d15fba884c08679c0d77e88e7759e811e07fa41", - "_shrinkwrap": null, - "_spec": "y18n@^3.2.1", - "_where": "/mnt/Data/bach/Documents/ola/OLA#4/OLA#4DOC/sys/node_modules/yargs", - "author": { - "name": "Ben Coe", - "email": "ben@npmjs.com" - }, - "bugs": { - "url": "https://github.com/yargs/y18n/issues" - }, - "dependencies": {}, - "description": "the bare-bones internationalization library used by yargs", - "devDependencies": { - "chai": "^3.4.1", - "coveralls": "^2.11.6", - "mocha": "^2.3.4", - "nyc": "^6.1.1", - "rimraf": "^2.5.0", - "standard": "^5.4.1" - }, - "directories": {}, - "dist": { - "shasum": "6d15fba884c08679c0d77e88e7759e811e07fa41", - "tarball": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz" - }, - "files": [ - "index.js" - ], - "gitHead": "34d6ad7bfeac67721ccbcf3bbcc761f33d787c90", - "homepage": "https://github.com/yargs/y18n", - "keywords": [ - "i18n", - "internationalization", - "yargs" - ], - "license": "ISC", - "main": "index.js", - "maintainers": [ - { - "name": "bcoe", - "email": "ben@npmjs.com" - }, - { - "name": "nexdrew", - "email": "andrew@npmjs.com" - } - ], - "name": "y18n", - "optionalDependencies": {}, - "readme": "# y18n\n\n[![Build Status][travis-image]][travis-url]\n[![Coverage Status][coveralls-image]][coveralls-url]\n[![NPM version][npm-image]][npm-url]\n[![js-standard-style][standard-image]][standard-url]\n\nThe bare-bones internationalization library used by yargs.\n\nInspired by [i18n](https://www.npmjs.com/package/i18n).\n\n## Examples\n\n_simple string translation:_\n\n```js\nvar __ = require('y18n').__\n\nconsole.log(__('my awesome string %s', 'foo'))\n```\n\noutput:\n\n`my awesome string foo`\n\n_pluralization support:_\n\n```js\nvar __n = require('y18n').__n\n\nconsole.log(__n('one fish %s', '%d fishes %s', 2, 'foo'))\n```\n\noutput:\n\n`2 fishes foo`\n\n## JSON Language Files\n\nThe JSON language files should be stored in a `./locales` folder.\nFile names correspond to locales, e.g., `en.json`, `pirate.json`.\n\nWhen strings are observed for the first time they will be\nadded to the JSON file corresponding to the current locale.\n\n## Methods\n\n### require('y18n')(config)\n\nCreate an instance of y18n with the config provided, options include:\n\n* `directory`: the locale directory, default `./locales`.\n* `updateFiles`: should newly observed strings be updated in file, default `true`.\n* `locale`: what locale should be used.\n* `fallbackToLanguage`: should fallback to a language-only file (e.g. `en.json`)\n be allowed if a file matching the locale does not exist (e.g. `en_US.json`),\n default `true`.\n\n### y18n.\\_\\_(str, arg, arg, arg)\n\nPrint a localized string, `%s` will be replaced with `arg`s.\n\n### y18n.\\_\\_n(singularString, pluralString, count, arg, arg, arg)\n\nPrint a localized string with appropriate pluralization. If `%d` is provided\nin the string, the `count` will replace this placeholder.\n\n### y18n.setLocale(str)\n\nSet the current locale being used.\n\n### y18n.getLocale()\n\nWhat locale is currently being used?\n\n### y18n.updateLocale(obj)\n\nUpdate the current locale with the key value pairs in `obj`.\n\n## License\n\nISC\n\n[travis-url]: https://travis-ci.org/yargs/y18n\n[travis-image]: https://img.shields.io/travis/yargs/y18n.svg\n[coveralls-url]: https://coveralls.io/github/yargs/y18n\n[coveralls-image]: https://img.shields.io/coveralls/yargs/y18n.svg\n[npm-url]: https://npmjs.org/package/y18n\n[npm-image]: https://img.shields.io/npm/v/y18n.svg\n[standard-image]: https://img.shields.io/badge/code%20style-standard-brightgreen.svg\n[standard-url]: https://github.com/feross/standard\n", - "readmeFilename": "README.md", - "repository": { - "type": "git", - "url": "git+ssh://git@github.com/yargs/y18n.git" - }, - "scripts": { - "coverage": "nyc report --reporter=text-lcov | coveralls", - "pretest": "standard", - "test": "nyc mocha" - }, - "version": "3.2.1" -} diff --git a/publi/node_modules/yallist/LICENSE b/publi/node_modules/yallist/LICENSE deleted file mode 100644 index 19129e3..0000000 --- a/publi/node_modules/yallist/LICENSE +++ /dev/null @@ -1,15 +0,0 @@ -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. diff --git a/publi/node_modules/yallist/README.md b/publi/node_modules/yallist/README.md deleted file mode 100644 index f586101..0000000 --- a/publi/node_modules/yallist/README.md +++ /dev/null @@ -1,204 +0,0 @@ -# yallist - -Yet Another Linked List - -There are many doubly-linked list implementations like it, but this -one is mine. - -For when an array would be too big, and a Map can't be iterated in -reverse order. - - -[![Build Status](https://travis-ci.org/isaacs/yallist.svg?branch=master)](https://travis-ci.org/isaacs/yallist) [![Coverage Status](https://coveralls.io/repos/isaacs/yallist/badge.svg?service=github)](https://coveralls.io/github/isaacs/yallist) - -## basic usage - -```javascript -var yallist = require('yallist') -var myList = yallist.create([1, 2, 3]) -myList.push('foo') -myList.unshift('bar') -// of course pop() and shift() are there, too -console.log(myList.toArray()) // ['bar', 1, 2, 3, 'foo'] -myList.forEach(function (k) { - // walk the list head to tail -}) -myList.forEachReverse(function (k, index, list) { - // walk the list tail to head -}) -var myDoubledList = myList.map(function (k) { - return k + k -}) -// now myDoubledList contains ['barbar', 2, 4, 6, 'foofoo'] -// mapReverse is also a thing -var myDoubledListReverse = myList.mapReverse(function (k) { - return k + k -}) // ['foofoo', 6, 4, 2, 'barbar'] - -var reduced = myList.reduce(function (set, entry) { - set += entry - return set -}, 'start') -console.log(reduced) // 'startfoo123bar' -``` - -## api - -The whole API is considered "public". - -Functions with the same name as an Array method work more or less the -same way. - -There's reverse versions of most things because that's the point. - -### Yallist - -Default export, the class that holds and manages a list. - -Call it with either a forEach-able (like an array) or a set of -arguments, to initialize the list. - -The Array-ish methods all act like you'd expect. No magic length, -though, so if you change that it won't automatically prune or add -empty spots. - -### Yallist.create(..) - -Alias for Yallist function. Some people like factories. - -#### yallist.head - -The first node in the list - -#### yallist.tail - -The last node in the list - -#### yallist.length - -The number of nodes in the list. (Change this at your peril. It is -not magic like Array length.) - -#### yallist.toArray() - -Convert the list to an array. - -#### yallist.forEach(fn, [thisp]) - -Call a function on each item in the list. - -#### yallist.forEachReverse(fn, [thisp]) - -Call a function on each item in the list, in reverse order. - -#### yallist.get(n) - -Get the data at position `n` in the list. If you use this a lot, -probably better off just using an Array. - -#### yallist.getReverse(n) - -Get the data at position `n`, counting from the tail. - -#### yallist.map(fn, thisp) - -Create a new Yallist with the result of calling the function on each -item. - -#### yallist.mapReverse(fn, thisp) - -Same as `map`, but in reverse. - -#### yallist.pop() - -Get the data from the list tail, and remove the tail from the list. - -#### yallist.push(item, ...) - -Insert one or more items to the tail of the list. - -#### yallist.reduce(fn, initialValue) - -Like Array.reduce. - -#### yallist.reduceReverse - -Like Array.reduce, but in reverse. - -#### yallist.reverse - -Reverse the list in place. - -#### yallist.shift() - -Get the data from the list head, and remove the head from the list. - -#### yallist.slice([from], [to]) - -Just like Array.slice, but returns a new Yallist. - -#### yallist.sliceReverse([from], [to]) - -Just like yallist.slice, but the result is returned in reverse. - -#### yallist.toArray() - -Create an array representation of the list. - -#### yallist.toArrayReverse() - -Create a reversed array representation of the list. - -#### yallist.unshift(item, ...) - -Insert one or more items to the head of the list. - -#### yallist.unshiftNode(node) - -Move a Node object to the front of the list. (That is, pull it out of -wherever it lives, and make it the new head.) - -If the node belongs to a different list, then that list will remove it -first. - -#### yallist.pushNode(node) - -Move a Node object to the end of the list. (That is, pull it out of -wherever it lives, and make it the new tail.) - -If the node belongs to a list already, then that list will remove it -first. - -#### yallist.removeNode(node) - -Remove a node from the list, preserving referential integrity of head -and tail and other nodes. - -Will throw an error if you try to have a list remove a node that -doesn't belong to it. - -### Yallist.Node - -The class that holds the data and is actually the list. - -Call with `var n = new Node(value, previousNode, nextNode)` - -Note that if you do direct operations on Nodes themselves, it's very -easy to get into weird states where the list is broken. Be careful :) - -#### node.next - -The next node in the list. - -#### node.prev - -The previous node in the list. - -#### node.value - -The data the node contains. - -#### node.list - -The list to which this node belongs. (Null if it does not belong to -any list.) diff --git a/publi/node_modules/yallist/iterator.js b/publi/node_modules/yallist/iterator.js deleted file mode 100644 index 4a15bf2..0000000 --- a/publi/node_modules/yallist/iterator.js +++ /dev/null @@ -1,7 +0,0 @@ -var Yallist = require('./yallist.js') - -Yallist.prototype[Symbol.iterator] = function* () { - for (let walker = this.head; walker; walker = walker.next) { - yield walker.value - } -} diff --git a/publi/node_modules/yallist/package.json b/publi/node_modules/yallist/package.json deleted file mode 100644 index 356e802..0000000 --- a/publi/node_modules/yallist/package.json +++ /dev/null @@ -1,97 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "yallist@^2.1.2", - "scope": null, - "escapedName": "yallist", - "name": "yallist", - "rawSpec": "^2.1.2", - "spec": ">=2.1.2 <3.0.0", - "type": "range" - }, - "/mnt/Data/bach/Documents/ola/OLA#4/OLA#4DOC/sys/node_modules/cross-spawn/node_modules/lru-cache" - ] - ], - "_from": "yallist@>=2.1.2 <3.0.0", - "_id": "yallist@2.1.2", - "_inCache": true, - "_location": "/yallist", - "_nodeVersion": "8.0.0-pre", - "_npmOperationalInternal": { - "host": "packages-12-west.internal.npmjs.com", - "tmp": "tmp/yallist-2.1.2.tgz_1489443365033_0.47744474792853" - }, - "_npmUser": { - "name": "isaacs", - "email": "i@izs.me" - }, - "_npmVersion": "4.3.0", - "_phantomChildren": {}, - "_requested": { - "raw": "yallist@^2.1.2", - "scope": null, - "escapedName": "yallist", - "name": "yallist", - "rawSpec": "^2.1.2", - "spec": ">=2.1.2 <3.0.0", - "type": "range" - }, - "_requiredBy": [ - "/cross-spawn/lru-cache" - ], - "_resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "_shasum": "1c11f9218f076089a47dd512f93c6699a6a81d52", - "_shrinkwrap": null, - "_spec": "yallist@^2.1.2", - "_where": "/mnt/Data/bach/Documents/ola/OLA#4/OLA#4DOC/sys/node_modules/cross-spawn/node_modules/lru-cache", - "author": { - "name": "Isaac Z. Schlueter", - "email": "i@izs.me", - "url": "http://blog.izs.me/" - }, - "bugs": { - "url": "https://github.com/isaacs/yallist/issues" - }, - "dependencies": {}, - "description": "Yet Another Linked List", - "devDependencies": { - "tap": "^10.3.0" - }, - "directories": { - "test": "test" - }, - "dist": { - "shasum": "1c11f9218f076089a47dd512f93c6699a6a81d52", - "tarball": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz" - }, - "files": [ - "yallist.js", - "iterator.js" - ], - "gitHead": "566cd4cd1e2ce57ffa84e295981cd9aa72319391", - "homepage": "https://github.com/isaacs/yallist#readme", - "license": "ISC", - "main": "yallist.js", - "maintainers": [ - { - "name": "isaacs", - "email": "i@izs.me" - } - ], - "name": "yallist", - "optionalDependencies": {}, - "readme": "# yallist\n\nYet Another Linked List\n\nThere are many doubly-linked list implementations like it, but this\none is mine.\n\nFor when an array would be too big, and a Map can't be iterated in\nreverse order.\n\n\n[![Build Status](https://travis-ci.org/isaacs/yallist.svg?branch=master)](https://travis-ci.org/isaacs/yallist) [![Coverage Status](https://coveralls.io/repos/isaacs/yallist/badge.svg?service=github)](https://coveralls.io/github/isaacs/yallist)\n\n## basic usage\n\n```javascript\nvar yallist = require('yallist')\nvar myList = yallist.create([1, 2, 3])\nmyList.push('foo')\nmyList.unshift('bar')\n// of course pop() and shift() are there, too\nconsole.log(myList.toArray()) // ['bar', 1, 2, 3, 'foo']\nmyList.forEach(function (k) {\n // walk the list head to tail\n})\nmyList.forEachReverse(function (k, index, list) {\n // walk the list tail to head\n})\nvar myDoubledList = myList.map(function (k) {\n return k + k\n})\n// now myDoubledList contains ['barbar', 2, 4, 6, 'foofoo']\n// mapReverse is also a thing\nvar myDoubledListReverse = myList.mapReverse(function (k) {\n return k + k\n}) // ['foofoo', 6, 4, 2, 'barbar']\n\nvar reduced = myList.reduce(function (set, entry) {\n set += entry\n return set\n}, 'start')\nconsole.log(reduced) // 'startfoo123bar'\n```\n\n## api\n\nThe whole API is considered \"public\".\n\nFunctions with the same name as an Array method work more or less the\nsame way.\n\nThere's reverse versions of most things because that's the point.\n\n### Yallist\n\nDefault export, the class that holds and manages a list.\n\nCall it with either a forEach-able (like an array) or a set of\narguments, to initialize the list.\n\nThe Array-ish methods all act like you'd expect. No magic length,\nthough, so if you change that it won't automatically prune or add\nempty spots.\n\n### Yallist.create(..)\n\nAlias for Yallist function. Some people like factories.\n\n#### yallist.head\n\nThe first node in the list\n\n#### yallist.tail\n\nThe last node in the list\n\n#### yallist.length\n\nThe number of nodes in the list. (Change this at your peril. It is\nnot magic like Array length.)\n\n#### yallist.toArray()\n\nConvert the list to an array.\n\n#### yallist.forEach(fn, [thisp])\n\nCall a function on each item in the list.\n\n#### yallist.forEachReverse(fn, [thisp])\n\nCall a function on each item in the list, in reverse order.\n\n#### yallist.get(n)\n\nGet the data at position `n` in the list. If you use this a lot,\nprobably better off just using an Array.\n\n#### yallist.getReverse(n)\n\nGet the data at position `n`, counting from the tail.\n\n#### yallist.map(fn, thisp)\n\nCreate a new Yallist with the result of calling the function on each\nitem.\n\n#### yallist.mapReverse(fn, thisp)\n\nSame as `map`, but in reverse.\n\n#### yallist.pop()\n\nGet the data from the list tail, and remove the tail from the list.\n\n#### yallist.push(item, ...)\n\nInsert one or more items to the tail of the list.\n\n#### yallist.reduce(fn, initialValue)\n\nLike Array.reduce.\n\n#### yallist.reduceReverse\n\nLike Array.reduce, but in reverse.\n\n#### yallist.reverse\n\nReverse the list in place.\n\n#### yallist.shift()\n\nGet the data from the list head, and remove the head from the list.\n\n#### yallist.slice([from], [to])\n\nJust like Array.slice, but returns a new Yallist.\n\n#### yallist.sliceReverse([from], [to])\n\nJust like yallist.slice, but the result is returned in reverse.\n\n#### yallist.toArray()\n\nCreate an array representation of the list.\n\n#### yallist.toArrayReverse()\n\nCreate a reversed array representation of the list.\n\n#### yallist.unshift(item, ...)\n\nInsert one or more items to the head of the list.\n\n#### yallist.unshiftNode(node)\n\nMove a Node object to the front of the list. (That is, pull it out of\nwherever it lives, and make it the new head.)\n\nIf the node belongs to a different list, then that list will remove it\nfirst.\n\n#### yallist.pushNode(node)\n\nMove a Node object to the end of the list. (That is, pull it out of\nwherever it lives, and make it the new tail.)\n\nIf the node belongs to a list already, then that list will remove it\nfirst.\n\n#### yallist.removeNode(node)\n\nRemove a node from the list, preserving referential integrity of head\nand tail and other nodes.\n\nWill throw an error if you try to have a list remove a node that\ndoesn't belong to it.\n\n### Yallist.Node\n\nThe class that holds the data and is actually the list.\n\nCall with `var n = new Node(value, previousNode, nextNode)`\n\nNote that if you do direct operations on Nodes themselves, it's very\neasy to get into weird states where the list is broken. Be careful :)\n\n#### node.next\n\nThe next node in the list.\n\n#### node.prev\n\nThe previous node in the list.\n\n#### node.value\n\nThe data the node contains.\n\n#### node.list\n\nThe list to which this node belongs. (Null if it does not belong to\nany list.)\n", - "readmeFilename": "README.md", - "repository": { - "type": "git", - "url": "git+https://github.com/isaacs/yallist.git" - }, - "scripts": { - "postpublish": "git push origin --all; git push origin --tags", - "postversion": "npm publish", - "preversion": "npm test", - "test": "tap test/*.js --100" - }, - "version": "2.1.2" -} diff --git a/publi/node_modules/yallist/yallist.js b/publi/node_modules/yallist/yallist.js deleted file mode 100644 index 518d233..0000000 --- a/publi/node_modules/yallist/yallist.js +++ /dev/null @@ -1,370 +0,0 @@ -module.exports = Yallist - -Yallist.Node = Node -Yallist.create = Yallist - -function Yallist (list) { - var self = this - if (!(self instanceof Yallist)) { - self = new Yallist() - } - - self.tail = null - self.head = null - self.length = 0 - - if (list && typeof list.forEach === 'function') { - list.forEach(function (item) { - self.push(item) - }) - } else if (arguments.length > 0) { - for (var i = 0, l = arguments.length; i < l; i++) { - self.push(arguments[i]) - } - } - - return self -} - -Yallist.prototype.removeNode = function (node) { - if (node.list !== this) { - throw new Error('removing node which does not belong to this list') - } - - var next = node.next - var prev = node.prev - - if (next) { - next.prev = prev - } - - if (prev) { - prev.next = next - } - - if (node === this.head) { - this.head = next - } - if (node === this.tail) { - this.tail = prev - } - - node.list.length-- - node.next = null - node.prev = null - node.list = null -} - -Yallist.prototype.unshiftNode = function (node) { - if (node === this.head) { - return - } - - if (node.list) { - node.list.removeNode(node) - } - - var head = this.head - node.list = this - node.next = head - if (head) { - head.prev = node - } - - this.head = node - if (!this.tail) { - this.tail = node - } - this.length++ -} - -Yallist.prototype.pushNode = function (node) { - if (node === this.tail) { - return - } - - if (node.list) { - node.list.removeNode(node) - } - - var tail = this.tail - node.list = this - node.prev = tail - if (tail) { - tail.next = node - } - - this.tail = node - if (!this.head) { - this.head = node - } - this.length++ -} - -Yallist.prototype.push = function () { - for (var i = 0, l = arguments.length; i < l; i++) { - push(this, arguments[i]) - } - return this.length -} - -Yallist.prototype.unshift = function () { - for (var i = 0, l = arguments.length; i < l; i++) { - unshift(this, arguments[i]) - } - return this.length -} - -Yallist.prototype.pop = function () { - if (!this.tail) { - return undefined - } - - var res = this.tail.value - this.tail = this.tail.prev - if (this.tail) { - this.tail.next = null - } else { - this.head = null - } - this.length-- - return res -} - -Yallist.prototype.shift = function () { - if (!this.head) { - return undefined - } - - var res = this.head.value - this.head = this.head.next - if (this.head) { - this.head.prev = null - } else { - this.tail = null - } - this.length-- - return res -} - -Yallist.prototype.forEach = function (fn, thisp) { - thisp = thisp || this - for (var walker = this.head, i = 0; walker !== null; i++) { - fn.call(thisp, walker.value, i, this) - walker = walker.next - } -} - -Yallist.prototype.forEachReverse = function (fn, thisp) { - thisp = thisp || this - for (var walker = this.tail, i = this.length - 1; walker !== null; i--) { - fn.call(thisp, walker.value, i, this) - walker = walker.prev - } -} - -Yallist.prototype.get = function (n) { - for (var i = 0, walker = this.head; walker !== null && i < n; i++) { - // abort out of the list early if we hit a cycle - walker = walker.next - } - if (i === n && walker !== null) { - return walker.value - } -} - -Yallist.prototype.getReverse = function (n) { - for (var i = 0, walker = this.tail; walker !== null && i < n; i++) { - // abort out of the list early if we hit a cycle - walker = walker.prev - } - if (i === n && walker !== null) { - return walker.value - } -} - -Yallist.prototype.map = function (fn, thisp) { - thisp = thisp || this - var res = new Yallist() - for (var walker = this.head; walker !== null;) { - res.push(fn.call(thisp, walker.value, this)) - walker = walker.next - } - return res -} - -Yallist.prototype.mapReverse = function (fn, thisp) { - thisp = thisp || this - var res = new Yallist() - for (var walker = this.tail; walker !== null;) { - res.push(fn.call(thisp, walker.value, this)) - walker = walker.prev - } - return res -} - -Yallist.prototype.reduce = function (fn, initial) { - var acc - var walker = this.head - if (arguments.length > 1) { - acc = initial - } else if (this.head) { - walker = this.head.next - acc = this.head.value - } else { - throw new TypeError('Reduce of empty list with no initial value') - } - - for (var i = 0; walker !== null; i++) { - acc = fn(acc, walker.value, i) - walker = walker.next - } - - return acc -} - -Yallist.prototype.reduceReverse = function (fn, initial) { - var acc - var walker = this.tail - if (arguments.length > 1) { - acc = initial - } else if (this.tail) { - walker = this.tail.prev - acc = this.tail.value - } else { - throw new TypeError('Reduce of empty list with no initial value') - } - - for (var i = this.length - 1; walker !== null; i--) { - acc = fn(acc, walker.value, i) - walker = walker.prev - } - - return acc -} - -Yallist.prototype.toArray = function () { - var arr = new Array(this.length) - for (var i = 0, walker = this.head; walker !== null; i++) { - arr[i] = walker.value - walker = walker.next - } - return arr -} - -Yallist.prototype.toArrayReverse = function () { - var arr = new Array(this.length) - for (var i = 0, walker = this.tail; walker !== null; i++) { - arr[i] = walker.value - walker = walker.prev - } - return arr -} - -Yallist.prototype.slice = function (from, to) { - to = to || this.length - if (to < 0) { - to += this.length - } - from = from || 0 - if (from < 0) { - from += this.length - } - var ret = new Yallist() - if (to < from || to < 0) { - return ret - } - if (from < 0) { - from = 0 - } - if (to > this.length) { - to = this.length - } - for (var i = 0, walker = this.head; walker !== null && i < from; i++) { - walker = walker.next - } - for (; walker !== null && i < to; i++, walker = walker.next) { - ret.push(walker.value) - } - return ret -} - -Yallist.prototype.sliceReverse = function (from, to) { - to = to || this.length - if (to < 0) { - to += this.length - } - from = from || 0 - if (from < 0) { - from += this.length - } - var ret = new Yallist() - if (to < from || to < 0) { - return ret - } - if (from < 0) { - from = 0 - } - if (to > this.length) { - to = this.length - } - for (var i = this.length, walker = this.tail; walker !== null && i > to; i--) { - walker = walker.prev - } - for (; walker !== null && i > from; i--, walker = walker.prev) { - ret.push(walker.value) - } - return ret -} - -Yallist.prototype.reverse = function () { - var head = this.head - var tail = this.tail - for (var walker = head; walker !== null; walker = walker.prev) { - var p = walker.prev - walker.prev = walker.next - walker.next = p - } - this.head = tail - this.tail = head - return this -} - -function push (self, item) { - self.tail = new Node(item, self.tail, null, self) - if (!self.head) { - self.head = self.tail - } - self.length++ -} - -function unshift (self, item) { - self.head = new Node(item, null, self.head, self) - if (!self.tail) { - self.tail = self.head - } - self.length++ -} - -function Node (value, prev, next, list) { - if (!(this instanceof Node)) { - return new Node(value, prev, next, list) - } - - this.list = list - this.value = value - - if (prev) { - prev.next = this - this.prev = prev - } else { - this.prev = null - } - - if (next) { - next.prev = this - this.next = next - } else { - this.next = null - } -} diff --git a/publi/node_modules/yargs-parser/CHANGELOG.md b/publi/node_modules/yargs-parser/CHANGELOG.md deleted file mode 100644 index cd060f3..0000000 --- a/publi/node_modules/yargs-parser/CHANGELOG.md +++ /dev/null @@ -1,169 +0,0 @@ -# Change Log - -All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. - - -# [5.0.0](https://github.com/yargs/yargs-parser/compare/v4.2.1...v5.0.0) (2017-02-18) - - -### Bug Fixes - -* environment variables should take precedence over config file ([#81](https://github.com/yargs/yargs-parser/issues/81)) ([76cee1f](https://github.com/yargs/yargs-parser/commit/76cee1f)) - - -### BREAKING CHANGES - -* environment variables will now override config files (args, env, config-file, config-object) - - - - -## [4.2.1](https://github.com/yargs/yargs-parser/compare/v4.2.0...v4.2.1) (2017-01-02) - - -### Bug Fixes - -* flatten/duplicate regression ([#75](https://github.com/yargs/yargs-parser/issues/75)) ([68d68a0](https://github.com/yargs/yargs-parser/commit/68d68a0)) - - - - -# [4.2.0](https://github.com/yargs/yargs-parser/compare/v4.1.0...v4.2.0) (2016-12-01) - - -### Bug Fixes - -* inner objects in configs had their keys appended to top-level key when dot-notation was disabled ([#72](https://github.com/yargs/yargs-parser/issues/72)) ([0b1b5f9](https://github.com/yargs/yargs-parser/commit/0b1b5f9)) - - -### Features - -* allow multiple arrays to be provided, rather than always combining ([#71](https://github.com/yargs/yargs-parser/issues/71)) ([0f0fb2d](https://github.com/yargs/yargs-parser/commit/0f0fb2d)) - - - - -# [4.1.0](https://github.com/yargs/yargs-parser/compare/v4.0.2...v4.1.0) (2016-11-07) - - -### Features - -* apply coercions to default options ([#65](https://github.com/yargs/yargs-parser/issues/65)) ([c79052b](https://github.com/yargs/yargs-parser/commit/c79052b)) -* handle dot notation boolean options ([#63](https://github.com/yargs/yargs-parser/issues/63)) ([02c3545](https://github.com/yargs/yargs-parser/commit/02c3545)) - - - - -## [4.0.2](https://github.com/yargs/yargs-parser/compare/v4.0.1...v4.0.2) (2016-09-30) - - -### Bug Fixes - -* whoops, let's make the assign not change the Object key order ([29d069a](https://github.com/yargs/yargs-parser/commit/29d069a)) - - - - -## [4.0.1](https://github.com/yargs/yargs-parser/compare/v4.0.0...v4.0.1) (2016-09-30) - - -### Bug Fixes - -* lodash.assign was deprecated ([#59](https://github.com/yargs/yargs-parser/issues/59)) ([5e7eb11](https://github.com/yargs/yargs-parser/commit/5e7eb11)) - - - - -# [4.0.0](https://github.com/yargs/yargs-parser/compare/v3.2.0...v4.0.0) (2016-09-26) - - -### Bug Fixes - -* coerce should be applied to the final objects and arrays created ([#57](https://github.com/yargs/yargs-parser/issues/57)) ([4ca69da](https://github.com/yargs/yargs-parser/commit/4ca69da)) - - -### BREAKING CHANGES - -* coerce is no longer applied to individual arguments in an implicit array. - - - - -# [3.2.0](https://github.com/yargs/yargs-parser/compare/v3.1.0...v3.2.0) (2016-08-13) - - -### Features - -* coerce full array instead of each element ([#51](https://github.com/yargs/yargs-parser/issues/51)) ([cc4dc56](https://github.com/yargs/yargs-parser/commit/cc4dc56)) - - - - -# [3.1.0](https://github.com/yargs/yargs-parser/compare/v3.0.0...v3.1.0) (2016-08-09) - - -### Bug Fixes - -* address pkgConf parsing bug outlined in [#37](https://github.com/yargs/yargs-parser/issues/37) ([#45](https://github.com/yargs/yargs-parser/issues/45)) ([be76ee6](https://github.com/yargs/yargs-parser/commit/be76ee6)) -* better parsing of negative values ([#44](https://github.com/yargs/yargs-parser/issues/44)) ([2e43692](https://github.com/yargs/yargs-parser/commit/2e43692)) -* check aliases when guessing defaults for arguments fixes [#41](https://github.com/yargs/yargs-parser/issues/41) ([#43](https://github.com/yargs/yargs-parser/issues/43)) ([f3e4616](https://github.com/yargs/yargs-parser/commit/f3e4616)) - - -### Features - -* added coerce option, for providing specialized argument parsing ([#42](https://github.com/yargs/yargs-parser/issues/42)) ([7b49cd2](https://github.com/yargs/yargs-parser/commit/7b49cd2)) - - - - -# [3.0.0](https://github.com/yargs/yargs-parser/compare/v2.4.1...v3.0.0) (2016-08-07) - - -### Bug Fixes - -* parsing issue with numeric character in group of options ([#19](https://github.com/yargs/yargs-parser/issues/19)) ([f743236](https://github.com/yargs/yargs-parser/commit/f743236)) -* upgraded lodash.assign ([5d7fdf4](https://github.com/yargs/yargs-parser/commit/5d7fdf4)) - -### BREAKING CHANGES - -* subtle change to how values are parsed in a group of single-character arguments. -* _first released in 3.1.0, better handling of negative values should be considered a breaking change._ - - - - -## [2.4.1](https://github.com/yargs/yargs-parser/compare/v2.4.0...v2.4.1) (2016-07-16) - - -### Bug Fixes - -* **count:** do not increment a default value ([#39](https://github.com/yargs/yargs-parser/issues/39)) ([b04a189](https://github.com/yargs/yargs-parser/commit/b04a189)) - - - - -# [2.4.0](https://github.com/yargs/yargs-parser/compare/v2.3.0...v2.4.0) (2016-04-11) - - -### Features - -* **environment:** Support nested options in environment variables ([#26](https://github.com/yargs/yargs-parser/issues/26)) thanks [@elas7](https://github.com/elas7) \o/ ([020778b](https://github.com/yargs/yargs-parser/commit/020778b)) - - - - -# [2.3.0](https://github.com/yargs/yargs-parser/compare/v2.2.0...v2.3.0) (2016-04-09) - - -### Bug Fixes - -* **boolean:** fix for boolean options with non boolean defaults (#20) ([2dbe86b](https://github.com/yargs/yargs-parser/commit/2dbe86b)), closes [(#20](https://github.com/(/issues/20) -* **package:** remove tests from tarball ([0353c0d](https://github.com/yargs/yargs-parser/commit/0353c0d)) -* **parsing:** handle calling short option with an empty string as the next value. ([a867165](https://github.com/yargs/yargs-parser/commit/a867165)) -* boolean flag when next value contains the strings 'true' or 'false'. ([69941a6](https://github.com/yargs/yargs-parser/commit/69941a6)) -* update dependencies; add standard-version bin for next release (#24) ([822d9d5](https://github.com/yargs/yargs-parser/commit/822d9d5)) - -### Features - -* **configuration:** Allow to pass configuration objects to yargs-parser ([0780900](https://github.com/yargs/yargs-parser/commit/0780900)) -* **normalize:** allow normalize to work with arrays ([e0eaa1a](https://github.com/yargs/yargs-parser/commit/e0eaa1a)) diff --git a/publi/node_modules/yargs-parser/LICENSE.txt b/publi/node_modules/yargs-parser/LICENSE.txt deleted file mode 100644 index 836440b..0000000 --- a/publi/node_modules/yargs-parser/LICENSE.txt +++ /dev/null @@ -1,14 +0,0 @@ -Copyright (c) 2016, 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. diff --git a/publi/node_modules/yargs-parser/README.md b/publi/node_modules/yargs-parser/README.md deleted file mode 100644 index 6d5916c..0000000 --- a/publi/node_modules/yargs-parser/README.md +++ /dev/null @@ -1,257 +0,0 @@ -# yargs-parser - -[![Build Status](https://travis-ci.org/yargs/yargs-parser.png)](https://travis-ci.org/yargs/yargs-parser) -[![Coverage Status](https://coveralls.io/repos/yargs/yargs-parser/badge.svg?branch=)](https://coveralls.io/r/yargs/yargs-parser?branch=master) -[![NPM version](https://img.shields.io/npm/v/yargs-parser.svg)](https://www.npmjs.com/package/yargs-parser) -[![Windows Tests](https://img.shields.io/appveyor/ci/bcoe/yargs-parser/master.svg?label=Windows%20Tests)](https://ci.appveyor.com/project/bcoe/yargs-parser) -[![Standard Version](https://img.shields.io/badge/release-standard%20version-brightgreen.svg)](https://github.com/conventional-changelog/standard-version) - - -The mighty option parser used by [yargs](https://github.com/yargs/yargs). - -visit the [yargs website](http://yargs.js.org/) for more examples, and thorough usage instructions. - - - -## Example - -```sh -npm i yargs-parser --save -``` - -```js -var argv = require('yargs-parser')(process.argv.slice(2)) -console.log(argv) -``` - -```sh -node example.js --foo=33 --bar hello -{ _: [], foo: 33, bar: 'hello' } -``` - -_or parse a string!_ - -```js -var argv = require('./')('--foo=99 --bar=33') -console.log(argv) -``` - -```sh -{ _: [], foo: 99, bar: 33 } -``` - -Convert an array of mixed types before passing to `yargs-parser`: - -```js -var parse = require('yargs-parser') -parse(['-f', 11, '--zoom', 55].join(' ')) // <-- array to string -parse(['-f', 11, '--zoom', 55].map(String)) // <-- array of strings -``` - -## API - -### require('yargs-parser')(args, opts={}) - -Parses command line arguments returning a simple mapping of keys and values. - -**expects:** - -* `args`: a string or array of strings representing the options to parse. -* `opts`: provide a set of hints indicating how `args` should be parsed: - * `opts.alias`: an object representing the set of aliases for a key: `{alias: {foo: ['f']}}`. - * `opts.array`: indicate that keys should be parsed as an array: `{array: ['foo', 'bar']}`. - * `opts.boolean`: arguments should be parsed as booleans: `{boolean: ['x', 'y']}`. - * `opts.config`: indicate a key that represents a path to a configuration file (this file will be loaded and parsed). - * `opts.coerce`: provide a custom synchronous function that returns a coerced value from the argument provided - (or throws an error), e.g. `{coerce: {foo: function (arg) {return modifiedArg}}}`. - * `opts.count`: indicate a key that should be used as a counter, e.g., `-vvv` = `{v: 3}`. - * `opts.default`: provide default values for keys: `{default: {x: 33, y: 'hello world!'}}`. - * `opts.envPrefix`: environment variables (`process.env`) with the prefix provided should be parsed. - * `opts.narg`: specify that a key requires `n` arguments: `{narg: {x: 2}}`. - * `opts.normalize`: `path.normalize()` will be applied to values set to this key. - * `opts.string`: keys should be treated as strings (even if they resemble a number `-x 33`). - * `opts.configuration`: provide configuration options to the yargs-parser (see: [configuration](#configuration)). - * `opts.number`: keys should be treated as numbers. - -**returns:** - -* `obj`: an object representing the parsed value of `args` - * `key/value`: key value pairs for each argument and their aliases. - * `_`: an array representing the positional arguments. - -### require('yargs-parser').detailed(args, opts={}) - -Parses a command line string, returning detailed information required by the -yargs engine. - -**expects:** - -* `args`: a string or array of strings representing options to parse. -* `opts`: provide a set of hints indicating how `args`, inputs are identical to `require('yargs-parser')(args, opts={})`. - -**returns:** - -* `argv`: an object representing the parsed value of `args` - * `key/value`: key value pairs for each argument and their aliases. - * `_`: an array representing the positional arguments. -* `error`: populated with an error object if an exception occurred during parsing. -* `aliases`: the inferred list of aliases built by combining lists in `opts.alias`. -* `newAliases`: any new aliases added via camel-case expansion. -* `configuration`: the configuration loaded from the `yargs` stanza in package.json. - - -### Configuration - -The yargs-parser applies several automated transformations on the keys provided -in `args`. These features can be turned on and off using the `configuration` field -of `opts`. - -```js -var parsed = parser(['--no-dice'], { - configuration: { - 'boolean-negation': false - } -}) -``` - -### short option groups - -* default: `true`. -* key: `short-option-groups`. - -Should a group of short-options be treated as boolean flags? - -```sh -node example.js -abc -{ _: [], a: true, b: true, c: true } -``` - -_if disabled:_ - -```sh -node example.js -abc -{ _: [], abc: true } -``` - -### camel-case expansion - -* default: `true`. -* key: `camel-case-expansion`. - -Should hyphenated arguments be expanded into camel-case aliases? - -```sh -node example.js --foo-bar -{ _: [], 'foo-bar': true, fooBar: true } -``` - -_if disabled:_ - -```sh -node example.js --foo-bar -{ _: [], 'foo-bar': true } -``` - -### dot-notation - -* default: `true` -* key: `dot-notation` - -Should keys that contain `.` be treated as objects? - -```sh -node example.js --foo.bar -{ _: [], foo: { bar: true } } -``` - -_if disabled:_ - -```sh -node example.js --foo.bar -{ _: [], "foo.bar": true } -``` - -### parse numbers - -* default: `true` -* key: `parse-numbers` - -Should keys that look like numbers be treated as such? - -```sh -node example.js --foo=99.3 -{ _: [], foo: 99.3 } -``` - -_if disabled:_ - -```sh -node example.js --foo=99.3 -{ _: [], foo: "99.3" } -``` - -### boolean negation - -* default: `true` -* key: `boolean-negation` - -Should variables prefixed with `--no` be treated as negations? - -```sh -node example.js --no-foo -{ _: [], foo: false } -``` - -_if disabled:_ - -```sh -node example.js --no-foo -{ _: [], "no-foo": true } -``` - -### duplicate arguments array - -* default: `true` -* key: `duplicate-arguments-array` - -Should arguments be coerced into an array when duplicated: - -```sh -node example.js -x 1 -x 2 -{ _: [], x: [1, 2] } -``` - -_if disabled:_ - -```sh -node example.js -x 1 -x 2 -{ _: [], x: 2 } -``` - -### flatten duplicate arrays - -* default: `true` -* key: `flatten-duplicate-arrays` - -Should array arguments be coerced into a single array when duplicated: - -```sh -node example.js -x 1 2 -x 3 4 -{ _: [], x: [1, 2, 3, 4] } -``` - -_if disabled:_ - -```sh -node example.js -x 1 2 -x 3 4 -{ _: [], x: [[1, 2], [3, 4]] } -``` - -## Special Thanks - -The yargs project evolves from optimist and minimist. It owes its -existence to a lot of James Halliday's hard work. Thanks [substack](https://github.com/substack) **beep** **boop** \o/ - -## License - -ISC diff --git a/publi/node_modules/yargs-parser/index.js b/publi/node_modules/yargs-parser/index.js deleted file mode 100644 index b71faf5..0000000 --- a/publi/node_modules/yargs-parser/index.js +++ /dev/null @@ -1,759 +0,0 @@ -var camelCase = require('camelcase') -var path = require('path') -var tokenizeArgString = require('./lib/tokenize-arg-string') -var util = require('util') - -function parse (args, opts) { - if (!opts) opts = {} - // allow a string argument to be passed in rather - // than an argv array. - args = tokenizeArgString(args) - // aliases might have transitive relationships, normalize this. - var aliases = combineAliases(opts.alias || {}) - var configuration = assign({ - 'short-option-groups': true, - 'camel-case-expansion': true, - 'dot-notation': true, - 'parse-numbers': true, - 'boolean-negation': true, - 'duplicate-arguments-array': true, - 'flatten-duplicate-arrays': true - }, opts.configuration) - var defaults = opts.default || {} - var configObjects = opts.configObjects || [] - var envPrefix = opts.envPrefix - var newAliases = {} - // allow a i18n handler to be passed in, default to a fake one (util.format). - var __ = opts.__ || function (str) { - return util.format.apply(util, Array.prototype.slice.call(arguments)) - } - var error = null - var flags = { - aliases: {}, - arrays: {}, - bools: {}, - strings: {}, - numbers: {}, - counts: {}, - normalize: {}, - configs: {}, - defaulted: {}, - nargs: {}, - coercions: {} - } - var negative = /^-[0-9]+(\.[0-9]+)?/ - - ;[].concat(opts.array).filter(Boolean).forEach(function (key) { - flags.arrays[key] = true - }) - - ;[].concat(opts.boolean).filter(Boolean).forEach(function (key) { - flags.bools[key] = true - }) - - ;[].concat(opts.string).filter(Boolean).forEach(function (key) { - flags.strings[key] = true - }) - - ;[].concat(opts.number).filter(Boolean).forEach(function (key) { - flags.numbers[key] = true - }) - - ;[].concat(opts.count).filter(Boolean).forEach(function (key) { - flags.counts[key] = true - }) - - ;[].concat(opts.normalize).filter(Boolean).forEach(function (key) { - flags.normalize[key] = true - }) - - Object.keys(opts.narg || {}).forEach(function (k) { - flags.nargs[k] = opts.narg[k] - }) - - Object.keys(opts.coerce || {}).forEach(function (k) { - flags.coercions[k] = opts.coerce[k] - }) - - if (Array.isArray(opts.config) || typeof opts.config === 'string') { - ;[].concat(opts.config).filter(Boolean).forEach(function (key) { - flags.configs[key] = true - }) - } else { - Object.keys(opts.config || {}).forEach(function (k) { - flags.configs[k] = opts.config[k] - }) - } - - // create a lookup table that takes into account all - // combinations of aliases: {f: ['foo'], foo: ['f']} - extendAliases(opts.key, aliases, opts.default, flags.arrays) - - // apply default values to all aliases. - Object.keys(defaults).forEach(function (key) { - (flags.aliases[key] || []).forEach(function (alias) { - defaults[alias] = defaults[key] - }) - }) - - var argv = { _: [] } - - Object.keys(flags.bools).forEach(function (key) { - setArg(key, !(key in defaults) ? false : defaults[key]) - setDefaulted(key) - }) - - var notFlags = [] - if (args.indexOf('--') !== -1) { - notFlags = args.slice(args.indexOf('--') + 1) - args = args.slice(0, args.indexOf('--')) - } - - for (var i = 0; i < args.length; i++) { - var arg = args[i] - var broken - var key - var letters - var m - var next - var value - - // -- seperated by = - if (arg.match(/^--.+=/) || ( - !configuration['short-option-groups'] && arg.match(/^-.+=/) - )) { - // Using [\s\S] instead of . because js doesn't support the - // 'dotall' regex modifier. See: - // http://stackoverflow.com/a/1068308/13216 - m = arg.match(/^--?([^=]+)=([\s\S]*)$/) - - // nargs format = '--f=monkey washing cat' - if (checkAllAliases(m[1], flags.nargs)) { - args.splice(i + 1, 0, m[2]) - i = eatNargs(i, m[1], args) - // arrays format = '--f=a b c' - } else if (checkAllAliases(m[1], flags.arrays) && args.length > i + 1) { - args.splice(i + 1, 0, m[2]) - i = eatArray(i, m[1], args) - } else { - setArg(m[1], m[2]) - } - } else if (arg.match(/^--no-.+/) && configuration['boolean-negation']) { - key = arg.match(/^--no-(.+)/)[1] - setArg(key, false) - - // -- seperated by space. - } else if (arg.match(/^--.+/) || ( - !configuration['short-option-groups'] && arg.match(/^-.+/) - )) { - key = arg.match(/^--?(.+)/)[1] - - // nargs format = '--foo a b c' - if (checkAllAliases(key, flags.nargs)) { - i = eatNargs(i, key, args) - // array format = '--foo a b c' - } else if (checkAllAliases(key, flags.arrays) && args.length > i + 1) { - i = eatArray(i, key, args) - } else { - next = args[i + 1] - - if (next !== undefined && (!next.match(/^-/) || - next.match(negative)) && - !checkAllAliases(key, flags.bools) && - !checkAllAliases(key, flags.counts)) { - setArg(key, next) - i++ - } else if (/^(true|false)$/.test(next)) { - setArg(key, next) - i++ - } else { - setArg(key, defaultForType(guessType(key, flags))) - } - } - - // dot-notation flag seperated by '='. - } else if (arg.match(/^-.\..+=/)) { - m = arg.match(/^-([^=]+)=([\s\S]*)$/) - setArg(m[1], m[2]) - - // dot-notation flag seperated by space. - } else if (arg.match(/^-.\..+/)) { - next = args[i + 1] - key = arg.match(/^-(.\..+)/)[1] - - if (next !== undefined && !next.match(/^-/) && - !checkAllAliases(key, flags.bools) && - !checkAllAliases(key, flags.counts)) { - setArg(key, next) - i++ - } else { - setArg(key, defaultForType(guessType(key, flags))) - } - } else if (arg.match(/^-[^-]+/) && !arg.match(negative)) { - letters = arg.slice(1, -1).split('') - broken = false - - for (var j = 0; j < letters.length; j++) { - next = arg.slice(j + 2) - - if (letters[j + 1] && letters[j + 1] === '=') { - value = arg.slice(j + 3) - key = letters[j] - - // nargs format = '-f=monkey washing cat' - if (checkAllAliases(key, flags.nargs)) { - args.splice(i + 1, 0, value) - i = eatNargs(i, key, args) - // array format = '-f=a b c' - } else if (checkAllAliases(key, flags.arrays) && args.length > i + 1) { - args.splice(i + 1, 0, value) - i = eatArray(i, key, args) - } else { - setArg(key, value) - } - - broken = true - break - } - - if (next === '-') { - setArg(letters[j], next) - continue - } - - // current letter is an alphabetic character and next value is a number - if (/[A-Za-z]/.test(letters[j]) && - /^-?\d+(\.\d*)?(e-?\d+)?$/.test(next)) { - setArg(letters[j], next) - broken = true - break - } - - if (letters[j + 1] && letters[j + 1].match(/\W/)) { - setArg(letters[j], next) - broken = true - break - } else { - setArg(letters[j], defaultForType(guessType(letters[j], flags))) - } - } - - key = arg.slice(-1)[0] - - if (!broken && key !== '-') { - // nargs format = '-f a b c' - if (checkAllAliases(key, flags.nargs)) { - i = eatNargs(i, key, args) - // array format = '-f a b c' - } else if (checkAllAliases(key, flags.arrays) && args.length > i + 1) { - i = eatArray(i, key, args) - } else { - next = args[i + 1] - - if (next !== undefined && (!/^(-|--)[^-]/.test(next) || - next.match(negative)) && - !checkAllAliases(key, flags.bools) && - !checkAllAliases(key, flags.counts)) { - setArg(key, next) - i++ - } else if (/^(true|false)$/.test(next)) { - setArg(key, next) - i++ - } else { - setArg(key, defaultForType(guessType(key, flags))) - } - } - } - } else { - argv._.push( - flags.strings['_'] || !isNumber(arg) ? arg : Number(arg) - ) - } - } - - // order of precedence: - // 1. command line arg - // 2. value from env var - // 3. value from config file - // 4. value from config objects - // 5. configured default value - applyEnvVars(argv, true) // special case: check env vars that point to config file - applyEnvVars(argv, false) - setConfig(argv) - setConfigObjects() - applyDefaultsAndAliases(argv, flags.aliases, defaults) - applyCoercions(argv) - - // for any counts either not in args or without an explicit default, set to 0 - Object.keys(flags.counts).forEach(function (key) { - if (!hasKey(argv, key.split('.'))) setArg(key, 0) - }) - - notFlags.forEach(function (key) { - argv._.push(key) - }) - - // how many arguments should we consume, based - // on the nargs option? - function eatNargs (i, key, args) { - var toEat = checkAllAliases(key, flags.nargs) - - if (args.length - (i + 1) < toEat) error = Error(__('Not enough arguments following: %s', key)) - - for (var ii = i + 1; ii < (toEat + i + 1); ii++) { - setArg(key, args[ii]) - } - - return (i + toEat) - } - - // if an option is an array, eat all non-hyphenated arguments - // following it... YUM! - // e.g., --foo apple banana cat becomes ["apple", "banana", "cat"] - function eatArray (i, key, args) { - var start = i + 1 - var argsToSet = [] - var multipleArrayFlag = i > 0 - for (var ii = i + 1; ii < args.length; ii++) { - if (/^-/.test(args[ii]) && !negative.test(args[ii])) { - if (ii === start) { - setArg(key, defaultForType('array')) - } - multipleArrayFlag = true - break - } - i = ii - argsToSet.push(args[ii]) - } - if (multipleArrayFlag) { - setArg(key, argsToSet.map(function (arg) { - return processValue(key, arg) - })) - } else { - argsToSet.forEach(function (arg) { - setArg(key, arg) - }) - } - - return i - } - - function setArg (key, val) { - unsetDefaulted(key) - - if (/-/.test(key) && !(flags.aliases[key] && flags.aliases[key].length) && configuration['camel-case-expansion']) { - var c = camelCase(key) - flags.aliases[key] = [c] - newAliases[c] = true - } - - var value = processValue(key, val) - - var splitKey = key.split('.') - setKey(argv, splitKey, value) - - // handle populating aliases of the full key - if (flags.aliases[key]) { - flags.aliases[key].forEach(function (x) { - x = x.split('.') - setKey(argv, x, value) - }) - } - - // handle populating aliases of the first element of the dot-notation key - if (splitKey.length > 1 && configuration['dot-notation']) { - ;(flags.aliases[splitKey[0]] || []).forEach(function (x) { - x = x.split('.') - - // expand alias with nested objects in key - var a = [].concat(splitKey) - a.shift() // nuke the old key. - x = x.concat(a) - - setKey(argv, x, value) - }) - } - - // Set normalize getter and setter when key is in 'normalize' but isn't an array - if (checkAllAliases(key, flags.normalize) && !checkAllAliases(key, flags.arrays)) { - var keys = [key].concat(flags.aliases[key] || []) - keys.forEach(function (key) { - argv.__defineSetter__(key, function (v) { - val = path.normalize(v) - }) - - argv.__defineGetter__(key, function () { - return typeof val === 'string' ? path.normalize(val) : val - }) - }) - } - } - - function processValue (key, val) { - // handle parsing boolean arguments --foo=true --bar false. - if (checkAllAliases(key, flags.bools) || checkAllAliases(key, flags.counts)) { - if (typeof val === 'string') val = val === 'true' - } - - var value = val - if (!checkAllAliases(key, flags.strings) && !checkAllAliases(key, flags.coercions)) { - if (isNumber(val)) value = Number(val) - if (!isUndefined(val) && !isNumber(val) && checkAllAliases(key, flags.numbers)) value = NaN - } - - // increment a count given as arg (either no value or value parsed as boolean) - if (checkAllAliases(key, flags.counts) && (isUndefined(value) || typeof value === 'boolean')) { - value = increment - } - - // Set normalized value when key is in 'normalize' and in 'arrays' - if (checkAllAliases(key, flags.normalize) && checkAllAliases(key, flags.arrays)) { - if (Array.isArray(val)) value = val.map(path.normalize) - else value = path.normalize(val) - } - return value - } - - // set args from config.json file, this should be - // applied last so that defaults can be applied. - function setConfig (argv) { - var configLookup = {} - - // expand defaults/aliases, in-case any happen to reference - // the config.json file. - applyDefaultsAndAliases(configLookup, flags.aliases, defaults) - - Object.keys(flags.configs).forEach(function (configKey) { - var configPath = argv[configKey] || configLookup[configKey] - if (configPath) { - try { - var config = null - var resolvedConfigPath = path.resolve(process.cwd(), configPath) - - if (typeof flags.configs[configKey] === 'function') { - try { - config = flags.configs[configKey](resolvedConfigPath) - } catch (e) { - config = e - } - if (config instanceof Error) { - error = config - return - } - } else { - config = require(resolvedConfigPath) - } - - setConfigObject(config) - } catch (ex) { - if (argv[configKey]) error = Error(__('Invalid JSON config file: %s', configPath)) - } - } - }) - } - - // set args from config object. - // it recursively checks nested objects. - function setConfigObject (config, prev) { - Object.keys(config).forEach(function (key) { - var value = config[key] - var fullKey = prev ? prev + '.' + key : key - - // if the value is an inner object and we have dot-notation - // enabled, treat inner objects in config the same as - // heavily nested dot notations (foo.bar.apple). - if (typeof value === 'object' && !Array.isArray(value) && configuration['dot-notation']) { - // if the value is an object but not an array, check nested object - setConfigObject(value, fullKey) - } else { - // setting arguments via CLI takes precedence over - // values within the config file. - if (!hasKey(argv, fullKey.split('.')) || (flags.defaulted[fullKey])) { - setArg(fullKey, value) - } - } - }) - } - - // set all config objects passed in opts - function setConfigObjects () { - if (typeof configObjects === 'undefined') return - configObjects.forEach(function (configObject) { - setConfigObject(configObject) - }) - } - - function applyEnvVars (argv, configOnly) { - if (typeof envPrefix === 'undefined') return - - var prefix = typeof envPrefix === 'string' ? envPrefix : '' - Object.keys(process.env).forEach(function (envVar) { - if (prefix === '' || envVar.lastIndexOf(prefix, 0) === 0) { - // get array of nested keys and convert them to camel case - var keys = envVar.split('__').map(function (key, i) { - if (i === 0) { - key = key.substring(prefix.length) - } - return camelCase(key) - }) - - if (((configOnly && flags.configs[keys.join('.')]) || !configOnly) && (!hasKey(argv, keys) || flags.defaulted[keys.join('.')])) { - setArg(keys.join('.'), process.env[envVar]) - } - } - }) - } - - function applyCoercions (argv) { - var coerce - Object.keys(argv).forEach(function (key) { - coerce = checkAllAliases(key, flags.coercions) - if (typeof coerce === 'function') { - try { - argv[key] = coerce(argv[key]) - } catch (err) { - error = err - } - } - }) - } - - function applyDefaultsAndAliases (obj, aliases, defaults) { - Object.keys(defaults).forEach(function (key) { - if (!hasKey(obj, key.split('.'))) { - setKey(obj, key.split('.'), defaults[key]) - - ;(aliases[key] || []).forEach(function (x) { - if (hasKey(obj, x.split('.'))) return - setKey(obj, x.split('.'), defaults[key]) - }) - } - }) - } - - function hasKey (obj, keys) { - var o = obj - - if (!configuration['dot-notation']) keys = [keys.join('.')] - - keys.slice(0, -1).forEach(function (key) { - o = (o[key] || {}) - }) - - var key = keys[keys.length - 1] - - if (typeof o !== 'object') return false - else return key in o - } - - function setKey (obj, keys, value) { - var o = obj - - if (!configuration['dot-notation']) keys = [keys.join('.')] - - keys.slice(0, -1).forEach(function (key) { - if (o[key] === undefined) o[key] = {} - o = o[key] - }) - - var key = keys[keys.length - 1] - - var isTypeArray = checkAllAliases(key, flags.arrays) - var isValueArray = Array.isArray(value) - var duplicate = configuration['duplicate-arguments-array'] - - if (value === increment) { - o[key] = increment(o[key]) - } else if (Array.isArray(o[key])) { - if (duplicate && isTypeArray && isValueArray) { - o[key] = configuration['flatten-duplicate-arrays'] ? o[key].concat(value) : [o[key]].concat([value]) - } else if (!duplicate && Boolean(isTypeArray) === Boolean(isValueArray)) { - o[key] = value - } else { - o[key] = o[key].concat([value]) - } - } else if (o[key] === undefined && isTypeArray) { - o[key] = isValueArray ? value : [value] - } else if (duplicate && !(o[key] === undefined || checkAllAliases(key, flags.bools) || checkAllAliases(keys.join('.'), flags.bools) || checkAllAliases(key, flags.counts))) { - o[key] = [ o[key], value ] - } else { - o[key] = value - } - } - - // extend the aliases list with inferred aliases. - function extendAliases () { - Array.prototype.slice.call(arguments).forEach(function (obj) { - Object.keys(obj || {}).forEach(function (key) { - // short-circuit if we've already added a key - // to the aliases array, for example it might - // exist in both 'opts.default' and 'opts.key'. - if (flags.aliases[key]) return - - flags.aliases[key] = [].concat(aliases[key] || []) - // For "--option-name", also set argv.optionName - flags.aliases[key].concat(key).forEach(function (x) { - if (/-/.test(x) && configuration['camel-case-expansion']) { - var c = camelCase(x) - flags.aliases[key].push(c) - newAliases[c] = true - } - }) - flags.aliases[key].forEach(function (x) { - flags.aliases[x] = [key].concat(flags.aliases[key].filter(function (y) { - return x !== y - })) - }) - }) - }) - } - - // check if a flag is set for any of a key's aliases. - function checkAllAliases (key, flag) { - var isSet = false - var toCheck = [].concat(flags.aliases[key] || [], key) - - toCheck.forEach(function (key) { - if (flag[key]) isSet = flag[key] - }) - - return isSet - } - - function setDefaulted (key) { - [].concat(flags.aliases[key] || [], key).forEach(function (k) { - flags.defaulted[k] = true - }) - } - - function unsetDefaulted (key) { - [].concat(flags.aliases[key] || [], key).forEach(function (k) { - delete flags.defaulted[k] - }) - } - - // return a default value, given the type of a flag., - // e.g., key of type 'string' will default to '', rather than 'true'. - function defaultForType (type) { - var def = { - boolean: true, - string: '', - number: undefined, - array: [] - } - - return def[type] - } - - // given a flag, enforce a default type. - function guessType (key, flags) { - var type = 'boolean' - - if (checkAllAliases(key, flags.strings)) type = 'string' - else if (checkAllAliases(key, flags.numbers)) type = 'number' - else if (checkAllAliases(key, flags.arrays)) type = 'array' - - return type - } - - function isNumber (x) { - if (!configuration['parse-numbers']) return false - 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 isUndefined (num) { - return num === undefined - } - - return { - argv: argv, - error: error, - aliases: flags.aliases, - newAliases: newAliases, - configuration: configuration - } -} - -// if any aliases reference each other, we should -// merge them together. -function combineAliases (aliases) { - var aliasArrays = [] - var change = true - var combined = {} - - // turn alias lookup hash {key: ['alias1', 'alias2']} into - // a simple array ['key', 'alias1', 'alias2'] - Object.keys(aliases).forEach(function (key) { - aliasArrays.push( - [].concat(aliases[key], key) - ) - }) - - // combine arrays until zero changes are - // made in an iteration. - while (change) { - change = false - for (var i = 0; i < aliasArrays.length; i++) { - for (var ii = i + 1; ii < aliasArrays.length; ii++) { - var intersect = aliasArrays[i].filter(function (v) { - return aliasArrays[ii].indexOf(v) !== -1 - }) - - if (intersect.length) { - aliasArrays[i] = aliasArrays[i].concat(aliasArrays[ii]) - aliasArrays.splice(ii, 1) - change = true - break - } - } - } - } - - // map arrays back to the hash-lookup (de-dupe while - // we're at it). - aliasArrays.forEach(function (aliasArray) { - aliasArray = aliasArray.filter(function (v, i, self) { - return self.indexOf(v) === i - }) - combined[aliasArray.pop()] = aliasArray - }) - - return combined -} - -function assign (defaults, configuration) { - var o = {} - configuration = configuration || {} - - Object.keys(defaults).forEach(function (k) { - o[k] = defaults[k] - }) - Object.keys(configuration).forEach(function (k) { - o[k] = configuration[k] - }) - - return o -} - -// this function should only be called when a count is given as an arg -// it is NOT called to set a default value -// thus we can start the count at 1 instead of 0 -function increment (orig) { - return orig !== undefined ? orig + 1 : 1 -} - -function Parser (args, opts) { - var result = parse(args.slice(), opts) - - return result.argv -} - -// parse arguments and return detailed -// meta information, aliases, etc. -Parser.detailed = function (args, opts) { - return parse(args.slice(), opts) -} - -module.exports = Parser diff --git a/publi/node_modules/yargs-parser/lib/tokenize-arg-string.js b/publi/node_modules/yargs-parser/lib/tokenize-arg-string.js deleted file mode 100644 index 23d39e1..0000000 --- a/publi/node_modules/yargs-parser/lib/tokenize-arg-string.js +++ /dev/null @@ -1,34 +0,0 @@ -// take an un-split argv string and tokenize it. -module.exports = function (argString) { - if (Array.isArray(argString)) return argString - - var i = 0 - var c = null - var opening = null - var args = [] - - for (var ii = 0; ii < argString.length; ii++) { - c = argString.charAt(ii) - - // split on spaces unless we're in quotes. - if (c === ' ' && !opening) { - i++ - continue - } - - // don't split the string if we're in matching - // opening or closing single and double quotes. - if (c === opening) { - opening = null - continue - } else if ((c === "'" || c === '"') && !opening) { - opening = c - continue - } - - if (!args[i]) args[i] = '' - args[i] += c - } - - return args -} diff --git a/publi/node_modules/yargs-parser/node_modules/camelcase/index.js b/publi/node_modules/yargs-parser/node_modules/camelcase/index.js deleted file mode 100644 index 5670f73..0000000 --- a/publi/node_modules/yargs-parser/node_modules/camelcase/index.js +++ /dev/null @@ -1,56 +0,0 @@ -'use strict'; - -function preserveCamelCase(str) { - var isLastCharLower = false; - - for (var i = 0; i < str.length; i++) { - var c = str.charAt(i); - - if (isLastCharLower && (/[a-zA-Z]/).test(c) && c.toUpperCase() === c) { - str = str.substr(0, i) + '-' + str.substr(i); - isLastCharLower = false; - i++; - } else { - isLastCharLower = (c.toLowerCase() === c); - } - } - - return str; -} - -module.exports = function () { - var str = [].map.call(arguments, function (str) { - return str.trim(); - }).filter(function (str) { - return str.length; - }).join('-'); - - if (!str.length) { - return ''; - } - - if (str.length === 1) { - return str.toLowerCase(); - } - - if (!(/[_.\- ]+/).test(str)) { - if (str === str.toUpperCase()) { - return str.toLowerCase(); - } - - if (str[0] !== str[0].toLowerCase()) { - return str[0].toLowerCase() + str.slice(1); - } - - return str; - } - - str = preserveCamelCase(str); - - return str - .replace(/^[_.\- ]+/, '') - .toLowerCase() - .replace(/[_.\- ]+(\w|$)/g, function (m, p1) { - return p1.toUpperCase(); - }); -}; diff --git a/publi/node_modules/yargs-parser/node_modules/camelcase/license b/publi/node_modules/yargs-parser/node_modules/camelcase/license deleted file mode 100644 index 654d0bf..0000000 --- a/publi/node_modules/yargs-parser/node_modules/camelcase/license +++ /dev/null @@ -1,21 +0,0 @@ -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. diff --git a/publi/node_modules/yargs-parser/node_modules/camelcase/package.json b/publi/node_modules/yargs-parser/node_modules/camelcase/package.json deleted file mode 100644 index ccdc08d..0000000 --- a/publi/node_modules/yargs-parser/node_modules/camelcase/package.json +++ /dev/null @@ -1,120 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "camelcase@^3.0.0", - "scope": null, - "escapedName": "camelcase", - "name": "camelcase", - "rawSpec": "^3.0.0", - "spec": ">=3.0.0 <4.0.0", - "type": "range" - }, - "/mnt/Data/bach/Documents/ola/OLA#4/OLA#4DOC/sys/node_modules/yargs" - ], - [ - { - "raw": "camelcase@^3.0.0", - "scope": null, - "escapedName": "camelcase", - "name": "camelcase", - "rawSpec": "^3.0.0", - "spec": ">=3.0.0 <4.0.0", - "type": "range" - }, - "/mnt/Data/bach/Documents/ola/OLA#4/OLA#4DOC/sys/node_modules/yargs-parser" - ] - ], - "_from": "camelcase@^3.0.0", - "_id": "camelcase@3.0.0", - "_inCache": true, - "_location": "/yargs-parser/camelcase", - "_nodeVersion": "4.4.2", - "_npmOperationalInternal": { - "host": "packages-16-east.internal.npmjs.com", - "tmp": "tmp/camelcase-3.0.0.tgz_1462383205197_0.03801905922591686" - }, - "_npmUser": { - "name": "sindresorhus", - "email": "sindresorhus@gmail.com" - }, - "_npmVersion": "3.8.9", - "_phantomChildren": {}, - "_requested": { - "raw": "camelcase@^3.0.0", - "scope": null, - "escapedName": "camelcase", - "name": "camelcase", - "rawSpec": "^3.0.0", - "spec": ">=3.0.0 <4.0.0", - "type": "range" - }, - "_requiredBy": [ - "/yargs-parser" - ], - "_resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", - "_shasum": "32fc4b9fcdaf845fcdf7e73bb97cac2261f0ab0a", - "_shrinkwrap": null, - "_spec": "camelcase@^3.0.0", - "_where": "/mnt/Data/bach/Documents/ola/OLA#4/OLA#4DOC/sys/node_modules/yargs-parser", - "author": { - "name": "Sindre Sorhus", - "email": "sindresorhus@gmail.com", - "url": "http://sindresorhus.com" - }, - "bugs": { - "url": "https://github.com/sindresorhus/camelcase/issues" - }, - "dependencies": {}, - "description": "Convert a dash/dot/underscore/space separated string to camelCase: foo-bar → fooBar", - "devDependencies": { - "ava": "*", - "xo": "*" - }, - "directories": {}, - "dist": { - "shasum": "32fc4b9fcdaf845fcdf7e73bb97cac2261f0ab0a", - "tarball": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz" - }, - "engines": { - "node": ">=0.10.0" - }, - "files": [ - "index.js" - ], - "gitHead": "d4de0e37b625e38a880efc6517194917a5beda01", - "homepage": "https://github.com/sindresorhus/camelcase#readme", - "keywords": [ - "camelcase", - "camel-case", - "camel", - "case", - "dash", - "hyphen", - "dot", - "underscore", - "separator", - "string", - "text", - "convert" - ], - "license": "MIT", - "maintainers": [ - { - "name": "sindresorhus", - "email": "sindresorhus@gmail.com" - } - ], - "name": "camelcase", - "optionalDependencies": {}, - "readme": "# camelcase [![Build Status](https://travis-ci.org/sindresorhus/camelcase.svg?branch=master)](https://travis-ci.org/sindresorhus/camelcase)\n\n> Convert a dash/dot/underscore/space separated string to camelCase: `foo-bar` → `fooBar`\n\n\n## Install\n\n```\n$ npm install --save camelcase\n```\n\n\n## Usage\n\n```js\nconst camelCase = require('camelcase');\n\ncamelCase('foo-bar');\n//=> 'fooBar'\n\ncamelCase('foo_bar');\n//=> 'fooBar'\n\ncamelCase('Foo-Bar');\n//=> 'fooBar'\n\ncamelCase('--foo.bar');\n//=> 'fooBar'\n\ncamelCase('__foo__bar__');\n//=> 'fooBar'\n\ncamelCase('foo bar');\n//=> 'fooBar'\n\nconsole.log(process.argv[3]);\n//=> '--foo-bar'\ncamelCase(process.argv[3]);\n//=> 'fooBar'\n\ncamelCase('foo', 'bar');\n//=> 'fooBar'\n\ncamelCase('__foo__', '--bar');\n//=> 'fooBar'\n```\n\n\n## Related\n\n- [decamelize](https://github.com/sindresorhus/decamelize) - The inverse of this module\n- [uppercamelcase](https://github.com/SamVerschueren/uppercamelcase) - Like this module, but to PascalCase instead of camelCase\n\n\n## License\n\nMIT © [Sindre Sorhus](http://sindresorhus.com)\n", - "readmeFilename": "readme.md", - "repository": { - "type": "git", - "url": "git+https://github.com/sindresorhus/camelcase.git" - }, - "scripts": { - "test": "xo && ava" - }, - "version": "3.0.0" -} diff --git a/publi/node_modules/yargs-parser/node_modules/camelcase/readme.md b/publi/node_modules/yargs-parser/node_modules/camelcase/readme.md deleted file mode 100644 index 080b2a1..0000000 --- a/publi/node_modules/yargs-parser/node_modules/camelcase/readme.md +++ /dev/null @@ -1,57 +0,0 @@ -# camelcase [![Build Status](https://travis-ci.org/sindresorhus/camelcase.svg?branch=master)](https://travis-ci.org/sindresorhus/camelcase) - -> Convert a dash/dot/underscore/space separated string to camelCase: `foo-bar` → `fooBar` - - -## Install - -``` -$ npm install --save camelcase -``` - - -## Usage - -```js -const camelCase = require('camelcase'); - -camelCase('foo-bar'); -//=> 'fooBar' - -camelCase('foo_bar'); -//=> 'fooBar' - -camelCase('Foo-Bar'); -//=> 'fooBar' - -camelCase('--foo.bar'); -//=> 'fooBar' - -camelCase('__foo__bar__'); -//=> 'fooBar' - -camelCase('foo bar'); -//=> 'fooBar' - -console.log(process.argv[3]); -//=> '--foo-bar' -camelCase(process.argv[3]); -//=> 'fooBar' - -camelCase('foo', 'bar'); -//=> 'fooBar' - -camelCase('__foo__', '--bar'); -//=> 'fooBar' -``` - - -## Related - -- [decamelize](https://github.com/sindresorhus/decamelize) - The inverse of this module -- [uppercamelcase](https://github.com/SamVerschueren/uppercamelcase) - Like this module, but to PascalCase instead of camelCase - - -## License - -MIT © [Sindre Sorhus](http://sindresorhus.com) diff --git a/publi/node_modules/yargs-parser/package.json b/publi/node_modules/yargs-parser/package.json deleted file mode 100644 index 430e662..0000000 --- a/publi/node_modules/yargs-parser/package.json +++ /dev/null @@ -1,115 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "yargs-parser@^5.0.0", - "scope": null, - "escapedName": "yargs-parser", - "name": "yargs-parser", - "rawSpec": "^5.0.0", - "spec": ">=5.0.0 <6.0.0", - "type": "range" - }, - "/mnt/Data/bach/Documents/ola/OLA#4/OLA#4DOC/sys/node_modules/yargs" - ] - ], - "_from": "yargs-parser@>=5.0.0 <6.0.0", - "_id": "yargs-parser@5.0.0", - "_inCache": true, - "_location": "/yargs-parser", - "_nodeVersion": "0.10.48", - "_npmOperationalInternal": { - "host": "packages-18-east.internal.npmjs.com", - "tmp": "tmp/yargs-parser-5.0.0.tgz_1487447930908_0.674228576477617" - }, - "_npmUser": { - "name": "bcoe", - "email": "ben@npmjs.com" - }, - "_npmVersion": "2.15.1", - "_phantomChildren": {}, - "_requested": { - "raw": "yargs-parser@^5.0.0", - "scope": null, - "escapedName": "yargs-parser", - "name": "yargs-parser", - "rawSpec": "^5.0.0", - "spec": ">=5.0.0 <6.0.0", - "type": "range" - }, - "_requiredBy": [ - "/yargs" - ], - "_resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-5.0.0.tgz", - "_shasum": "275ecf0d7ffe05c77e64e7c86e4cd94bf0e1228a", - "_shrinkwrap": null, - "_spec": "yargs-parser@^5.0.0", - "_where": "/mnt/Data/bach/Documents/ola/OLA#4/OLA#4DOC/sys/node_modules/yargs", - "author": { - "name": "Ben Coe", - "email": "ben@npmjs.com" - }, - "bugs": { - "url": "https://github.com/yargs/yargs-parser/issues" - }, - "dependencies": { - "camelcase": "^3.0.0" - }, - "description": "the mighty option parser used by yargs", - "devDependencies": { - "chai": "^3.5.0", - "coveralls": "^2.11.12", - "mocha": "^3.0.1", - "nyc": "^10.0.0", - "standard": "^8.0.0", - "standard-version": "^4.0.0" - }, - "directories": {}, - "dist": { - "shasum": "275ecf0d7ffe05c77e64e7c86e4cd94bf0e1228a", - "tarball": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-5.0.0.tgz" - }, - "files": [ - "lib", - "index.js" - ], - "gitHead": "2c95ba9e5ad3b8bb6248bf41f013d9bd3700d56f", - "homepage": "https://github.com/yargs/yargs-parser#readme", - "keywords": [ - "argument", - "parser", - "yargs", - "command", - "cli", - "parsing", - "option", - "args", - "argument" - ], - "license": "ISC", - "main": "index.js", - "maintainers": [ - { - "name": "bcoe", - "email": "ben@npmjs.com" - }, - { - "name": "nexdrew", - "email": "andrew@npmjs.com" - } - ], - "name": "yargs-parser", - "optionalDependencies": {}, - "readme": "# yargs-parser\n\n[![Build Status](https://travis-ci.org/yargs/yargs-parser.png)](https://travis-ci.org/yargs/yargs-parser)\n[![Coverage Status](https://coveralls.io/repos/yargs/yargs-parser/badge.svg?branch=)](https://coveralls.io/r/yargs/yargs-parser?branch=master)\n[![NPM version](https://img.shields.io/npm/v/yargs-parser.svg)](https://www.npmjs.com/package/yargs-parser)\n[![Windows Tests](https://img.shields.io/appveyor/ci/bcoe/yargs-parser/master.svg?label=Windows%20Tests)](https://ci.appveyor.com/project/bcoe/yargs-parser)\n[![Standard Version](https://img.shields.io/badge/release-standard%20version-brightgreen.svg)](https://github.com/conventional-changelog/standard-version)\n\n\nThe mighty option parser used by [yargs](https://github.com/yargs/yargs).\n\nvisit the [yargs website](http://yargs.js.org/) for more examples, and thorough usage instructions.\n\n\n\n## Example\n\n```sh\nnpm i yargs-parser --save\n```\n\n```js\nvar argv = require('yargs-parser')(process.argv.slice(2))\nconsole.log(argv)\n```\n\n```sh\nnode example.js --foo=33 --bar hello\n{ _: [], foo: 33, bar: 'hello' }\n```\n\n_or parse a string!_\n\n```js\nvar argv = require('./')('--foo=99 --bar=33')\nconsole.log(argv)\n```\n\n```sh\n{ _: [], foo: 99, bar: 33 }\n```\n\nConvert an array of mixed types before passing to `yargs-parser`:\n\n```js\nvar parse = require('yargs-parser')\nparse(['-f', 11, '--zoom', 55].join(' ')) // <-- array to string\nparse(['-f', 11, '--zoom', 55].map(String)) // <-- array of strings\n```\n\n## API\n\n### require('yargs-parser')(args, opts={})\n\nParses command line arguments returning a simple mapping of keys and values.\n\n**expects:**\n\n* `args`: a string or array of strings representing the options to parse.\n* `opts`: provide a set of hints indicating how `args` should be parsed:\n * `opts.alias`: an object representing the set of aliases for a key: `{alias: {foo: ['f']}}`.\n * `opts.array`: indicate that keys should be parsed as an array: `{array: ['foo', 'bar']}`.\n * `opts.boolean`: arguments should be parsed as booleans: `{boolean: ['x', 'y']}`.\n * `opts.config`: indicate a key that represents a path to a configuration file (this file will be loaded and parsed).\n * `opts.coerce`: provide a custom synchronous function that returns a coerced value from the argument provided\n (or throws an error), e.g. `{coerce: {foo: function (arg) {return modifiedArg}}}`.\n * `opts.count`: indicate a key that should be used as a counter, e.g., `-vvv` = `{v: 3}`.\n * `opts.default`: provide default values for keys: `{default: {x: 33, y: 'hello world!'}}`.\n * `opts.envPrefix`: environment variables (`process.env`) with the prefix provided should be parsed.\n * `opts.narg`: specify that a key requires `n` arguments: `{narg: {x: 2}}`.\n * `opts.normalize`: `path.normalize()` will be applied to values set to this key.\n * `opts.string`: keys should be treated as strings (even if they resemble a number `-x 33`).\n * `opts.configuration`: provide configuration options to the yargs-parser (see: [configuration](#configuration)).\n * `opts.number`: keys should be treated as numbers.\n\n**returns:**\n\n* `obj`: an object representing the parsed value of `args`\n * `key/value`: key value pairs for each argument and their aliases.\n * `_`: an array representing the positional arguments.\n\n### require('yargs-parser').detailed(args, opts={})\n\nParses a command line string, returning detailed information required by the\nyargs engine.\n\n**expects:**\n\n* `args`: a string or array of strings representing options to parse.\n* `opts`: provide a set of hints indicating how `args`, inputs are identical to `require('yargs-parser')(args, opts={})`.\n\n**returns:**\n\n* `argv`: an object representing the parsed value of `args`\n * `key/value`: key value pairs for each argument and their aliases.\n * `_`: an array representing the positional arguments.\n* `error`: populated with an error object if an exception occurred during parsing.\n* `aliases`: the inferred list of aliases built by combining lists in `opts.alias`.\n* `newAliases`: any new aliases added via camel-case expansion.\n* `configuration`: the configuration loaded from the `yargs` stanza in package.json.\n\n\n### Configuration\n\nThe yargs-parser applies several automated transformations on the keys provided\nin `args`. These features can be turned on and off using the `configuration` field\nof `opts`.\n\n```js\nvar parsed = parser(['--no-dice'], {\n configuration: {\n 'boolean-negation': false\n }\n})\n```\n\n### short option groups\n\n* default: `true`.\n* key: `short-option-groups`.\n\nShould a group of short-options be treated as boolean flags?\n\n```sh\nnode example.js -abc\n{ _: [], a: true, b: true, c: true }\n```\n\n_if disabled:_\n\n```sh\nnode example.js -abc\n{ _: [], abc: true }\n```\n\n### camel-case expansion\n\n* default: `true`.\n* key: `camel-case-expansion`.\n\nShould hyphenated arguments be expanded into camel-case aliases?\n\n```sh\nnode example.js --foo-bar\n{ _: [], 'foo-bar': true, fooBar: true }\n```\n\n_if disabled:_\n\n```sh\nnode example.js --foo-bar\n{ _: [], 'foo-bar': true }\n```\n\n### dot-notation\n\n* default: `true`\n* key: `dot-notation`\n\nShould keys that contain `.` be treated as objects?\n\n```sh\nnode example.js --foo.bar\n{ _: [], foo: { bar: true } }\n```\n\n_if disabled:_\n\n```sh\nnode example.js --foo.bar\n{ _: [], \"foo.bar\": true }\n```\n\n### parse numbers\n\n* default: `true`\n* key: `parse-numbers`\n\nShould keys that look like numbers be treated as such?\n\n```sh\nnode example.js --foo=99.3\n{ _: [], foo: 99.3 }\n```\n\n_if disabled:_\n\n```sh\nnode example.js --foo=99.3\n{ _: [], foo: \"99.3\" }\n```\n\n### boolean negation\n\n* default: `true`\n* key: `boolean-negation`\n\nShould variables prefixed with `--no` be treated as negations?\n\n```sh\nnode example.js --no-foo\n{ _: [], foo: false }\n```\n\n_if disabled:_\n\n```sh\nnode example.js --no-foo\n{ _: [], \"no-foo\": true }\n```\n\n### duplicate arguments array\n\n* default: `true`\n* key: `duplicate-arguments-array`\n\nShould arguments be coerced into an array when duplicated:\n\n```sh\nnode example.js -x 1 -x 2\n{ _: [], x: [1, 2] }\n```\n\n_if disabled:_\n\n```sh\nnode example.js -x 1 -x 2\n{ _: [], x: 2 }\n```\n\n### flatten duplicate arrays\n\n* default: `true`\n* key: `flatten-duplicate-arrays`\n\nShould array arguments be coerced into a single array when duplicated:\n\n```sh\nnode example.js -x 1 2 -x 3 4\n{ _: [], x: [1, 2, 3, 4] }\n```\n\n_if disabled:_\n\n```sh\nnode example.js -x 1 2 -x 3 4\n{ _: [], x: [[1, 2], [3, 4]] }\n```\n\n## Special Thanks\n\nThe yargs project evolves from optimist and minimist. It owes its\nexistence to a lot of James Halliday's hard work. Thanks [substack](https://github.com/substack) **beep** **boop** \\o/\n\n## License\n\nISC\n", - "readmeFilename": "README.md", - "repository": { - "url": "git+ssh://git@github.com/yargs/yargs-parser.git" - }, - "scripts": { - "coverage": "nyc report --reporter=text-lcov | coveralls", - "pretest": "standard", - "release": "standard-version", - "test": "nyc mocha test/*.js" - }, - "version": "5.0.0" -} diff --git a/publi/node_modules/yargs/CHANGELOG.md b/publi/node_modules/yargs/CHANGELOG.md deleted file mode 100644 index eadcd6a..0000000 --- a/publi/node_modules/yargs/CHANGELOG.md +++ /dev/null @@ -1,921 +0,0 @@ -# Change Log - -All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. - - -# [7.1.0](https://github.com/yargs/yargs/compare/v7.0.2...v7.1.0) (2017-04-13) - - -### Bug Fixes - -* fix demandOption no longer treats 'false' as truthy ([#829](https://github.com/yargs/yargs/issues/829)) ([c748dd2](https://github.com/yargs/yargs/commit/c748dd2)) -* get terminalWidth in non interactive mode no longer causes a validation exception ([#837](https://github.com/yargs/yargs/issues/837)) ([360e301](https://github.com/yargs/yargs/commit/360e301)) -* we shouldn't output help if we've printed a prior help-like message ([#847](https://github.com/yargs/yargs/issues/847)) ([17e89bd](https://github.com/yargs/yargs/commit/17e89bd)) - - -### Features - -* add support for numeric commands ([#825](https://github.com/yargs/yargs/issues/825)) ([fde0564](https://github.com/yargs/yargs/commit/fde0564)) - - - - -## [7.0.2](https://github.com/yargs/yargs/compare/v7.0.1...v7.0.2) (2017-03-10) - - -### Bug Fixes - -* populating placeholder arguments broke validation ([b3eb2fe](https://github.com/yargs/yargs/commit/b3eb2fe)) - - - - -## [7.0.1](https://github.com/yargs/yargs/compare/v7.0.0...v7.0.1) (2017-03-03) - - -### Bug Fixes - -* --help with default command should print top-level help ([#810](https://github.com/yargs/yargs/issues/810)) ([9c03fa4](https://github.com/yargs/yargs/commit/9c03fa4)) - - - - -# [7.0.0](https://github.com/yargs/yargs/compare/v6.6.0...v7.0.0) (2017-02-26) - - -### Bug Fixes - -* address min/max validation message regression ([#750](https://github.com/yargs/yargs/issues/750)) ([2e5ce0f](https://github.com/yargs/yargs/commit/2e5ce0f)) -* address positional argument strict() bug introduced in [#766](https://github.com/yargs/yargs/issues/766) ([#784](https://github.com/yargs/yargs/issues/784)) ([a8528e6](https://github.com/yargs/yargs/commit/a8528e6)) -* console.warn() rather than throwing errors when api signatures are incorrect ([#804](https://github.com/yargs/yargs/issues/804)) ([a607061](https://github.com/yargs/yargs/commit/a607061)) -* context should override parsed argv ([#786](https://github.com/yargs/yargs/issues/786)) ([0997288](https://github.com/yargs/yargs/commit/0997288)) -* context variables are now recognized in strict() mode ([#796](https://github.com/yargs/yargs/issues/796)) ([48575cd](https://github.com/yargs/yargs/commit/48575cd)) -* errors were not bubbling appropriately from sub-commands to top-level ([#802](https://github.com/yargs/yargs/issues/802)) ([8a992f5](https://github.com/yargs/yargs/commit/8a992f5)) -* positional arguments of sub-commands threw strict() exception ([#805](https://github.com/yargs/yargs/issues/805)) ([f3f074b](https://github.com/yargs/yargs/commit/f3f074b)) -* pull in yargs-parser with modified env precedence ([#787](https://github.com/yargs/yargs/issues/787)) ([e0fbbe5](https://github.com/yargs/yargs/commit/e0fbbe5)) -* running parse() multiple times on the same yargs instance caused exception if help() enabled ([#790](https://github.com/yargs/yargs/issues/790)) ([07e39b7](https://github.com/yargs/yargs/commit/07e39b7)) -* use path.resolve() to support node 0.10 ([#797](https://github.com/yargs/yargs/issues/797)) ([49a93fc](https://github.com/yargs/yargs/commit/49a93fc)) - - -### Features - -* add conflicts and implies shorthands. ([#753](https://github.com/yargs/yargs/issues/753)) ([bd1472b](https://github.com/yargs/yargs/commit/bd1472b)) -* add traditional Chinese translation ([#780](https://github.com/yargs/yargs/issues/780)) ([6ab6a95](https://github.com/yargs/yargs/commit/6ab6a95)) -* allow provided config object to extend other configs ([#779](https://github.com/yargs/yargs/issues/779)) ([3280dd0](https://github.com/yargs/yargs/commit/3280dd0)) -* function argument validation ([#773](https://github.com/yargs/yargs/issues/773)) ([22ed9bb](https://github.com/yargs/yargs/commit/22ed9bb)) -* if only one column is provided for examples, allow it to take up the entire line ([#749](https://github.com/yargs/yargs/issues/749)) ([7931652](https://github.com/yargs/yargs/commit/7931652)) -* introduce custom yargs error object ([#765](https://github.com/yargs/yargs/issues/765)) ([8308efa](https://github.com/yargs/yargs/commit/8308efa)) -* introduces support for default commands, using the '*' identifier ([#785](https://github.com/yargs/yargs/issues/785)) ([d78a0f5](https://github.com/yargs/yargs/commit/d78a0f5)) -* rethink how options are inherited by commands ([#766](https://github.com/yargs/yargs/issues/766)) ([ab1fa4b](https://github.com/yargs/yargs/commit/ab1fa4b)) - - -### BREAKING CHANGES - -* `extends` key in config file is now used for extending other config files -* environment variables now take precedence over config files. -* context now takes precedence over argv and defaults -* the arguments passed to functions are now validated, there's a good chance this will throw exceptions for a few folks who are using the API in an unexpected way. -* by default options, and many of yargs' parsing helpers will now default to being applied globally; such that they are no-longer reset before being passed into commands. -* yargs will no longer aggressively suppress errors, allowing errors that are not generated internally to bubble. - - - - -# [6.6.0](https://github.com/yargs/yargs/compare/v6.5.0...v6.6.0) (2016-12-29) - - -### Bug Fixes - -* [object Object] was accidentally being populated on options object ([#736](https://github.com/yargs/yargs/issues/736)) ([f755e27](https://github.com/yargs/yargs/commit/f755e27)) -* do not use cwd when resolving package.json for yargs parsing config ([#726](https://github.com/yargs/yargs/issues/726)) ([9bdaab7](https://github.com/yargs/yargs/commit/9bdaab7)) - - -### Features - -* implement conflicts() for defining mutually exclusive arguments; thanks [@madcampos](https://github.com/madcampos)! ([#741](https://github.com/yargs/yargs/issues/741)) ([5883779](https://github.com/yargs/yargs/commit/5883779)) -* split demand() into demandCommand()/demandOption() ([#740](https://github.com/yargs/yargs/issues/740)) ([66573c8](https://github.com/yargs/yargs/commit/66573c8)) -* support for positional argument aliases ([#727](https://github.com/yargs/yargs/issues/727)) ([27e1a57](https://github.com/yargs/yargs/commit/27e1a57)) - - - - -# [6.5.0](https://github.com/yargs/yargs/compare/v6.4.0...v6.5.0) (2016-12-01) - - -### Bug Fixes - -* still freeze/unfreeze if parse() is called in isolation ([#717](https://github.com/yargs/yargs/issues/717)) ([30a9492](https://github.com/yargs/yargs/commit/30a9492)) - - -### Features - -* pull in yargs-parser introducing additional settings ([#688](https://github.com/yargs/yargs/issues/688)), and fixing [#716](https://github.com/yargs/yargs/issues/716) ([#722](https://github.com/yargs/yargs/issues/722)) ([702995a](https://github.com/yargs/yargs/commit/702995a)) - - - - -# [6.4.0](https://github.com/yargs/yargs/compare/v6.3.0...v6.4.0) (2016-11-13) - - -### Bug Fixes - -* **locales:** correct some Russian translations ([#691](https://github.com/yargs/yargs/issues/691)) ([a980671](https://github.com/yargs/yargs/commit/a980671)) - - -### Features - -* **locales:** Added Belarusian translation ([#690](https://github.com/yargs/yargs/issues/690)) ([68dac1f](https://github.com/yargs/yargs/commit/68dac1f)) -* **locales:** Create nl.json ([#687](https://github.com/yargs/yargs/issues/687)) ([46ce1bb](https://github.com/yargs/yargs/commit/46ce1bb)) -* update to yargs-parser that addresses [#598](https://github.com/yargs/yargs/issues/598), [#617](https://github.com/yargs/yargs/issues/617) ([#700](https://github.com/yargs/yargs/issues/700)) ([54cb31d](https://github.com/yargs/yargs/commit/54cb31d)) -* yargs is now passed as the third-argument to fail handler ([#613](https://github.com/yargs/yargs/issues/613)) ([21b74f9](https://github.com/yargs/yargs/commit/21b74f9)) - - -### Performance Improvements - -* normalizing package data is an expensive operation ([#705](https://github.com/yargs/yargs/issues/705)) ([49cf533](https://github.com/yargs/yargs/commit/49cf533)) - - - - -# [6.3.0](https://github.com/yargs/yargs/compare/v6.2.0...v6.3.0) (2016-10-19) - - -### Bug Fixes - -* **command:** subcommands via commandDir() now supported for parse(msg, cb) ([#678](https://github.com/yargs/yargs/issues/678)) ([6b85cc6](https://github.com/yargs/yargs/commit/6b85cc6)) - - -### Features - -* **locales:** Add Thai locale file ([#679](https://github.com/yargs/yargs/issues/679)) ([c05e36b](https://github.com/yargs/yargs/commit/c05e36b)) - - - - -# [6.2.0](https://github.com/yargs/yargs/compare/v6.1.1...v6.2.0) (2016-10-16) - - -### Bug Fixes - -* stop applying parser to context object ([#675](https://github.com/yargs/yargs/issues/675)) ([3fe9b8f](https://github.com/yargs/yargs/commit/3fe9b8f)) - - -### Features - -* add new pt_BR translations ([#674](https://github.com/yargs/yargs/issues/674)) ([5615a82](https://github.com/yargs/yargs/commit/5615a82)) -* Italian translations for 'did you mean' and 'aliases' ([#673](https://github.com/yargs/yargs/issues/673)) ([81984e6](https://github.com/yargs/yargs/commit/81984e6)) - - - - -## [6.1.1](https://github.com/yargs/yargs/compare/v6.1.0...v6.1.1) (2016-10-15) - - -### Bug Fixes - -* freeze was not resetting configObjects to initial state; addressed performance issue raised by [@nexdrew](https://github.com/nexdrew). ([#670](https://github.com/yargs/yargs/issues/670)) ([ae4bcd4](https://github.com/yargs/yargs/commit/ae4bcd4)) - - - - -# [6.1.0](https://github.com/yargs/yargs/compare/v6.0.0...v6.1.0) (2016-10-15) - - -### Bug Fixes - -* **locales:** change some translations ([#667](https://github.com/yargs/yargs/issues/667)) ([aa966c5](https://github.com/yargs/yargs/commit/aa966c5)) -* **locales:** conform hi locale to y18n.__n expectations ([#666](https://github.com/yargs/yargs/issues/666)) ([22adb18](https://github.com/yargs/yargs/commit/22adb18)) - - -### Features - -* initial support for command aliases ([#647](https://github.com/yargs/yargs/issues/647)) ([127a040](https://github.com/yargs/yargs/commit/127a040)) -* **command:** add camelcase commands to argv ([#658](https://github.com/yargs/yargs/issues/658)) ([b1cabae](https://github.com/yargs/yargs/commit/b1cabae)) -* **locales:** add Hindi translations ([9290912](https://github.com/yargs/yargs/commit/9290912)) -* **locales:** add Hungarian translations ([be92327](https://github.com/yargs/yargs/commit/be92327)) -* **locales:** Japanese translations for 'did you mean' and 'aliases' ([#651](https://github.com/yargs/yargs/issues/651)) ([5eb78fc](https://github.com/yargs/yargs/commit/5eb78fc)) -* **locales:** Polish translations for 'did you mean' and 'aliases' ([#650](https://github.com/yargs/yargs/issues/650)) ([c951c0e](https://github.com/yargs/yargs/commit/c951c0e)) -* reworking yargs API to make it easier to run in headless environments, e.g., Slack ([#646](https://github.com/yargs/yargs/issues/646)) ([f284c29](https://github.com/yargs/yargs/commit/f284c29)) -* Turkish translations for 'did you mean' and 'aliases' ([#660](https://github.com/yargs/yargs/issues/660)) ([072fd45](https://github.com/yargs/yargs/commit/072fd45)) - - - - -# [6.0.0](https://github.com/yargs/yargs/compare/v5.0.0...v6.0.0) (2016-09-30) - - -### Bug Fixes - -* changed parsing of the command string to ignore extra spaces ([#600](https://github.com/yargs/yargs/issues/600)) ([e8e5a72](https://github.com/yargs/yargs/commit/e8e5a72)) -* drop lodash.assign ([#641](https://github.com/yargs/yargs/issues/641)) ([ad3146f](https://github.com/yargs/yargs/commit/ad3146f)) -* for args that have skipValidation set to `true`, check if the parsed arg is `true` ([#619](https://github.com/yargs/yargs/issues/619)) ([658a34c](https://github.com/yargs/yargs/commit/658a34c)) -* upgrade standard, and fix appveyor config so that it works with newest standard ([#607](https://github.com/yargs/yargs/issues/607)) ([c301f42](https://github.com/yargs/yargs/commit/c301f42)) - - -### Chores - -* upgrade yargs-parser ([#633](https://github.com/yargs/yargs/issues/633)) ([cc1224e](https://github.com/yargs/yargs/commit/cc1224e)) - - -### Features - -* make opts object optional for .option() ([#624](https://github.com/yargs/yargs/issues/624)) ([4f29de6](https://github.com/yargs/yargs/commit/4f29de6)) - - -### Performance Improvements - -* defer windowWidth() to improve perf for non-help usage ([#610](https://github.com/yargs/yargs/issues/610)) ([cbc3636](https://github.com/yargs/yargs/commit/cbc3636)) - - -### BREAKING CHANGES - -* coerce is now applied as a final step after other parsing is complete - - - - -# [5.0.0](https://github.com/yargs/yargs/compare/v4.8.1...v5.0.0) (2016-08-14) - - -### Bug Fixes - -* **default:** Remove undocumented alias of default() ([#469](https://github.com/yargs/yargs/issues/469)) ([b8591b2](https://github.com/yargs/yargs/commit/b8591b2)) -* remove deprecated zh.json ([#578](https://github.com/yargs/yargs/issues/578)) ([317c62c](https://github.com/yargs/yargs/commit/317c62c)) - - -### Features - -* .help() API can now enable implicit help command ([#574](https://github.com/yargs/yargs/issues/574)) ([7645019](https://github.com/yargs/yargs/commit/7645019)) -* **command:** builder function no longer needs to return the yargs instance ([#549](https://github.com/yargs/yargs/issues/549)) ([eaa2873](https://github.com/yargs/yargs/commit/eaa2873)) -* add coerce api ([#586](https://github.com/yargs/yargs/issues/586)) ([1d53ccb](https://github.com/yargs/yargs/commit/1d53ccb)) -* adds recommendCommands() for command suggestions ([#580](https://github.com/yargs/yargs/issues/580)) ([59474dc](https://github.com/yargs/yargs/commit/59474dc)) -* apply .env() globally ([#553](https://github.com/yargs/yargs/issues/553)) ([be65728](https://github.com/yargs/yargs/commit/be65728)) -* apply default builder to command() and apply fail() handlers globally ([#583](https://github.com/yargs/yargs/issues/583)) ([0aaa68b](https://github.com/yargs/yargs/commit/0aaa68b)) -* update yargs-parser to version 3.1.0 ([#581](https://github.com/yargs/yargs/issues/581)) ([882a127](https://github.com/yargs/yargs/commit/882a127)) - - -### Performance Improvements - -* defer requiring most external libs until needed ([#584](https://github.com/yargs/yargs/issues/584)) ([f9b0ed4](https://github.com/yargs/yargs/commit/f9b0ed4)) - - -### BREAKING CHANGES - -* fail is now applied globally. -* we now default to an empty builder function when command is executed with no builder. -* yargs-parser now better handles negative integer values, at the cost of handling numeric option names, e.g., -1 hello -* default: removed undocumented `defaults` alias for `default`. -* introduces a default `help` command which outputs help, as an alternative to a help flag. -* interpret demand() numbers as relative to executing command ([#582](https://github.com/yargs/yargs/issues/582)) ([927810c](https://github.com/yargs/yargs/commit/927810c)) - - - - -## [4.8.1](https://github.com/yargs/yargs/compare/v4.8.0...v4.8.1) (2016-07-16) - - -### Bug Fixes - -* **commandDir:** make dir relative to caller instead of require.main.filename ([#548](https://github.com/yargs/yargs/issues/548)) ([3c2e479](https://github.com/yargs/yargs/commit/3c2e479)) -* add config lookup for .implies() ([#556](https://github.com/yargs/yargs/issues/556)) ([8d7585c](https://github.com/yargs/yargs/commit/8d7585c)) -* cache pkg lookups by path to avoid returning the wrong one ([#552](https://github.com/yargs/yargs/issues/552)) ([fea7e0b](https://github.com/yargs/yargs/commit/fea7e0b)) -* positional arguments were not being handled appropriately by parse() ([#559](https://github.com/yargs/yargs/issues/559)) ([063a866](https://github.com/yargs/yargs/commit/063a866)) -* pull in [@nexdrew](https://github.com/nexdrew)'s fixes to yargs-parser ([#560](https://github.com/yargs/yargs/issues/560)) ([c77c080](https://github.com/yargs/yargs/commit/c77c080)), closes [#560](https://github.com/yargs/yargs/issues/560) - - - - -# [4.8.0](https://github.com/yargs/yargs/compare/v4.7.1...v4.8.0) (2016-07-09) - - -### Bug Fixes - -* drop unused camelcase dependency fixes [#516](https://github.com/yargs/yargs/issues/516) ([#525](https://github.com/yargs/yargs/issues/525)) ([365fb9a](https://github.com/yargs/yargs/commit/365fb9a)), closes [#516](https://github.com/yargs/yargs/issues/516) [#525](https://github.com/yargs/yargs/issues/525) -* fake a tty in tests, so that we can use the new set-blocking ([#512](https://github.com/yargs/yargs/issues/512)) ([a54c742](https://github.com/yargs/yargs/commit/a54c742)) -* ignore invalid package.json during read-pkg-up ([#546](https://github.com/yargs/yargs/issues/546)) ([e058c87](https://github.com/yargs/yargs/commit/e058c87)) -* keep both zh and zh_CN until yargs[@5](https://github.com/5).x ([0f8faa7](https://github.com/yargs/yargs/commit/0f8faa7)) -* lazy-load package.json and cache. get rid of pkg-conf dependency. ([#544](https://github.com/yargs/yargs/issues/544)) ([2609b2e](https://github.com/yargs/yargs/commit/2609b2e)) -* we now respect the order of _ when applying commands ([#537](https://github.com/yargs/yargs/issues/537)) ([ed86b78](https://github.com/yargs/yargs/commit/ed86b78)) - - -### Features - -* add .commandDir(dir) to API to apply all command modules from a relative directory ([#494](https://github.com/yargs/yargs/issues/494)) ([b299dff](https://github.com/yargs/yargs/commit/b299dff)) -* **command:** derive missing command string from module filename ([#527](https://github.com/yargs/yargs/issues/527)) ([20d4b8a](https://github.com/yargs/yargs/commit/20d4b8a)) -* builder is now optional for a command module ([#545](https://github.com/yargs/yargs/issues/545)) ([8d6ad6e](https://github.com/yargs/yargs/commit/8d6ad6e)) - - - - -## [4.7.1](https://github.com/yargs/yargs/compare/v4.7.0...v4.7.1) (2016-05-15) - - -### Bug Fixes - -* switch to using `const` rather than `var` ([#499](https://github.com/yargs/yargs/pull/499)) -* make stdout flush on newer versions of Node.js ([#501](https://github.com/yargs/yargs/issues/501)) ([9f8c6f4](https://github.com/yargs/yargs/commit/9f8c6f4)) - - - - -# [4.7.0](https://github.com/yargs/yargs/compare/v4.6.0...v4.7.0) (2016-05-02) - - -### Bug Fixes - -* **pkgConf:** fix aliases issues in .pkgConf() ([#478](https://github.com/yargs/yargs/issues/478))([b900502](https://github.com/yargs/yargs/commit/b900502)) - - -### Features - -* **completion:** allow to get completions for any string, not just process.argv ([#470](https://github.com/yargs/yargs/issues/470))([74fcfbc](https://github.com/yargs/yargs/commit/74fcfbc)) -* **configuration:** Allow to directly pass a configuration object to .config() ([#480](https://github.com/yargs/yargs/issues/480))([e0a7e05](https://github.com/yargs/yargs/commit/e0a7e05)) -* **validation:** Add .skipValidation() method ([#471](https://github.com/yargs/yargs/issues/471))([d72badb](https://github.com/yargs/yargs/commit/d72badb)) - - - - -# [4.6.0](https://github.com/yargs/yargs/compare/v4.5.0...v4.6.0) (2016-04-11) - - -### Bug Fixes - -* **my brand!:** I agree with [@osher](https://github.com/osher) lightweight isn't a huge selling point of ours any longer, see [#468](https://github.com/yargs/yargs/issues/468) ([c46d7e1](https://github.com/yargs/yargs/commit/c46d7e1)) - -### Features - -* switch to standard-version for release management ([f70f801](https://github.com/yargs/yargs/commit/f70f801)) -* upgrade to version of yargs-parser that introduces some slick new features, great work [@elas7](https://github.com/elas7). update cliui, replace win-spawn, replace badge. ([#475](https://github.com/yargs/yargs/issues/475)) ([f915dd4](https://github.com/yargs/yargs/commit/f915dd4)) - - - - -# [4.5.0](https://github.com/yargs/yargs/compare/v4.4.0...v4.5.0) (2016-04-05) - - -### Bug Fixes - -* **windows:** handle $0 better on Windows platforms ([eb6e03f](https://github.com/yargs/yargs/commit/eb6e03f)) - -### Features - -* **commands:** implemented variadic positional arguments ([51d926e](https://github.com/yargs/yargs/commit/51d926e)) -* **completion:** completion now better handles aliases, and avoids duplicating keys. ([86416c8](https://github.com/yargs/yargs/commit/86416c8)) -* **config:** If invoking .config() without parameters, set a default option ([0413dd1](https://github.com/yargs/yargs/commit/0413dd1)) -* **conventional-changelog:** switching to using conventional-changelog for generating the changelog ([a2b5a2a](https://github.com/yargs/yargs/commit/a2b5a2a)) - - - -### v4.4.0 (2016/04/03 21:10 +07:00) - -- [#454](https://github.com/yargs/yargs/pull/454) fix demand() when second argument is an array (@elas7) -- [#452](https://github.com/yargs/yargs/pull/452) fix code example for `.help()` docs (@maxrimue) -- [#450](https://github.com/yargs/yargs/pull/450) fix for bash completion trailing space edge-case (@elas7) -- [#448](https://github.com/yargs/yargs/pull/448) allow a method to be passed to `showHelp`, rather than a log-level (@osher) -- [#446](https://github.com/yargs/yargs/pull/446) update yargs-parser, y18n, nyc, cliui, pkg-conf (@bcoe) -- [#436](https://github.com/yargs/yargs/pull/436) the rebase method is only used by tests, do not export it in two places (@elas7) -- [#428](https://github.com/yargs/yargs/pull/428) initial support for subcommands (@nexdrew) - -### v4.3.2 (2016/3/20 15:07 +07:00) - -- [#445](https://github.com/yargs/yargs/pull/445) strict mode was failing if no commands were registered (@nexdrew) -- [#443](https://github.com/yargs/yargs/pull/443) adds Italian translation \o/ (@madrisan) -- [#441](https://github.com/yargs/yargs/pull/441) remove duplicate keys from array options configuration (@elas7) -- [#437](https://github.com/yargs/yargs/pull/437) standardize tests for .command() (@lrlna) - -### v4.3.0 (2016/3/12 14:19 +07:00) - -- [#432](https://github.com/yargs/yargs/pull/432) non-singleton version of yargs (@bcoe) -- [#422, #425, #420] translations for number (@zkat, @rilut, @maxrimue, @watilde) -- [#414](https://github.com/yargs/yargs/pull/414) all command options can be defined in module now (@nexdrew) - -### v4.2.0 (2016/2/22 11:02 +07:00) - -- [#395](https://github.com/yargs/yargs/pull/395) do not reset groups if they contain - global keys (@novemberborn) -- [#393](https://github.com/yargs/yargs/pull/393) use sane default for usage strings (@nexdrew) -- [#392](https://github.com/yargs/yargs/pull/392) resetting wrap() was causing layout issues - with commands (@nexdrew) -- [#391](https://github.com/yargs/yargs/pull/391) commands were being added multiple times (@nexdrew) - -### v4.0.0 (2016/2/14 1:27 +07:00) - -- [#384](https://github.com/bcoe/yargs/pull/384) add new number type to yargs (@lrlna, @maxrimue) -- [#382](https://github.com/bcoe/yargs/pull/382) pass error as extra parameter to fail (@gajus) -- [#378](https://github.com/bcoe/yargs/pull/378) introduces the pkgConf feature, which tells - yargs to load default argument values from a key on a project's package.json (@bcoe) -- [#376](https://github.com/bcoe/yargs/pull/376) **breaking change**, make help() method signature - more consistent with other commands (@maxrimue) -- [#368](https://github.com/bcoe/yargs/pull/368) **breaking change**, overhaul to command handling API: - introducing named positional arguments, commands as modules, introduces the concept of global options (options that don't reset). (@nexdrew, @bcoe). -- [#364](https://github.com/bcoe/yargs/pull/364) add the slick new yargs website to the package.json (@iarna). -- [#357](https://github.com/bcoe/yargs/pull/357) .strict() now requires that a valid command is provided (@lrlna) -- [#356](https://github.com/bcoe/yargs/pull/356) pull the parsing bits of yargs into the separate module yargs-parser. Various parsing options can now be turned on and off using configuration (@bcoe). -- [#330](https://github.com/bcoe/yargs/pull/330) **breaking change**, fix inconsistencies with `.version()` API. (@maxrimue). - -### v3.32.0 (2016/1/14 10:13 +07:00) - -- [#344](https://github.com/bcoe/yargs/pull/344) yargs now has a code of conduct and contributor guidelines (@bcoe) -- [#341](https://github.com/bcoe/yargs/issues/341) Fix edge-case with camel-case arguments (@davibe) -- [#331](https://github.com/bcoe/yargs/pull/331) Handle parsing a raw argument string (@kellyselden) -- [#325](https://github.com/bcoe/yargs/pull/325) Tweaks to make tests pass again on Windows (@isaacs) -- [#321](https://github.com/bcoe/yargs/pull/321) Custom config parsing function (@bcoe) - -### v3.31.0 (2015/12/03 10:15 +07:00) - -- [#239](https://github.com/bcoe/yargs/pull/239) Pass argv to commands (@bcoe) -- [#308](https://github.com/bcoe/yargs/pull/308) Yargs now handles environment variables (@nexdrew) -- [#302](https://github.com/bcoe/yargs/pull/302) Add Indonesian translation (@rilut) -- [#300](https://github.com/bcoe/yargs/pull/300) Add Turkish translation (@feyzo) -- [#298](https://github.com/bcoe/yargs/pull/298) Add Norwegian Bokmål translation (@sindresorhus) -- [#297](https://github.com/bcoe/yargs/pull/297) Fix for layout of cjk characters (@disjukr) -- [#296](https://github.com/bcoe/yargs/pull/296) Add Korean translation (@disjukr) - -### v3.30.0 (2015/11/13 16:29 +07:00) - -- [#293](https://github.com/bcoe/yargs/pull/293) Polish language support (@kamilogorek) -- [#291](https://github.com/bcoe/yargs/pull/291) fix edge-cases with `.alias()` (@bcoe) -- [#289](https://github.com/bcoe/yargs/pull/289) group options in custom groups (@bcoe) - -### v3.29.0 (2015/10/16 21:51 +07:00) - -- [#282](https://github.com/bcoe/yargs/pull/282) completions now accept promises (@LinusU) -- [#281](https://github.com/bcoe/yargs/pull/281) fix parsing issues with dot notation (@bcoe) - -### v3.28.0 (2015/10/16 1:55 +07:00) - -- [#277](https://github.com/bcoe/yargs/pull/277) adds support for ansi escape codes (@bcoe) - -### v3.27.0 (2015/10/08 1:55 +00:00) - -- [#271](https://github.com/bcoe/yargs/pull/273) skips validation for help or version flags with exitProcess(false) (@tepez) -- [#273](https://github.com/bcoe/yargs/pull/273) implements single output for errors with exitProcess(false) (@nexdrew) -- [#269](https://github.com/bcoe/yargs/pull/269) verifies single output for errors with exitProcess(false) (@tepez) -- [#268](https://github.com/bcoe/yargs/pull/268) adds Chinese translation (@qiu8310) -- [#266](https://github.com/bcoe/yargs/pull/266) adds case for -- after -- in parser test (@geophree) - -### v3.26.0 (2015/09/25 2:14 +00:00) - -- [#263](https://github.com/bcoe/yargs/pull/263) document count() and option() object keys (@nexdrew) -- [#259](https://github.com/bcoe/yargs/pull/259) remove util in readme (@38elements) -- [#258](https://github.com/bcoe/yargs/pull/258) node v4 builds, update deps (@nexdrew) -- [#257](https://github.com/bcoe/yargs/pull/257) fix spelling errors (@dkoleary88) - -### v3.25.0 (2015/09/13 7:38 -07:00) - -- [#254](https://github.com/bcoe/yargs/pull/254) adds Japanese translation (@oti) -- [#253](https://github.com/bcoe/yargs/pull/253) fixes for tests on Windows (@bcoe) - -### v3.24.0 (2015/09/04 12:02 +00:00) - -- [#248](https://github.com/bcoe/yargs/pull/248) reinstate os-locale, no spawning (@nexdrew) -- [#249](https://github.com/bcoe/yargs/pull/249) use travis container-based infrastructure (@nexdrew) -- [#247](https://github.com/bcoe/yargs/pull/247) upgrade standard (@nexdrew) - -### v3.23.0 (2015/08/30 23:00 +00:00) - -- [#246](https://github.com/bcoe/yargs/pull/246) detect locale based only on environment variables (@bcoe) -- [#244](https://github.com/bcoe/yargs/pull/244) adds Windows CI testing (@bcoe) -- [#245](https://github.com/bcoe/yargs/pull/245) adds OSX CI testing (@bcoe, @nexdrew) - -### v3.22.0 (2015/08/28 22:26 +00:00) -- [#242](https://github.com/bcoe/yargs/pull/242) adds detectLocale config option (@bcoe) - -### v3.21.1 (2015/08/28 20:58 +00:00) -- [#240](https://github.com/bcoe/yargs/pull/240) hot-fix for Atom on Windows (@bcoe) - -### v3.21.0 (2015/08/21 21:20 +00:00) -- [#238](https://github.com/bcoe/yargs/pull/238) upgrade camelcase, window-size, chai, mocha (@nexdrew) -- [#237](https://github.com/bcoe/yargs/pull/237) adds defaultDescription to option() (@nexdrew) - -### v3.20.0 (2015/08/20 01:29 +00:00) -- [#231](https://github.com/bcoe/yargs/pull/231) Merge pull request #231 from bcoe/detect-locale (@sindresorhus) -- [#235](https://github.com/bcoe/yargs/pull/235) adds german translation to yargs (@maxrimue) - -### v3.19.0 (2015/08/14 05:12 +00:00) -- [#224](https://github.com/bcoe/yargs/pull/224) added Portuguese translation (@codemonkey3045) - -### v3.18.1 (2015/08/12 05:53 +00:00) - -- [#228](https://github.com/bcoe/yargs/pull/228) notes about embedding yargs in Electron (@etiktin) -- [#223](https://github.com/bcoe/yargs/pull/223) make booleans work in config files (@sgentle) - -### v3.18.0 (2015/08/06 20:05 +00:00) -- [#222](https://github.com/bcoe/yargs/pull/222) updates fr locale (@nexdrew) -- [#221](https://github.com/bcoe/yargs/pull/221) adds missing locale strings (@nexdrew) -- [#220](https://github.com/bcoe/yargs/pull/220) adds es locale (@zkat) - -### v3.17.1 (2015/08/02 19:35 +00:00) -- [#218](https://github.com/bcoe/yargs/pull/218) upgrades nyc (@bcoe) - -### v3.17.0 (2015/08/02 18:39 +00:00) -- [#217](https://github.com/bcoe/yargs/pull/217) sort methods in README.md (@nexdrew) -- [#215](https://github.com/bcoe/yargs/pull/215) adds fr locale (@LoicMahieu) - -### v3.16.0 (2015/07/30 04:35 +00:00) -- [#210](https://github.com/bcoe/yargs/pull/210) adds i18n support to yargs (@bcoe) -- [#209](https://github.com/bcoe/yargs/pull/209) adds choices type to yargs (@nexdrew) -- [#207](https://github.com/bcoe/yargs/pull/207) pretty new shields from shields.io (@SimenB) -- [#208](https://github.com/bcoe/yargs/pull/208) improvements to README.md (@nexdrew) -- [#205](https://github.com/bcoe/yargs/pull/205) faster build times on Travis (@ChristianMurphy) - -### v3.15.0 (2015/07/06 06:01 +00:00) -- [#197](https://github.com/bcoe/yargs/pull/197) tweaks to how errors bubble up from parser.js (@bcoe) -- [#193](https://github.com/bcoe/yargs/pull/193) upgraded nyc, reporting now happens by default (@bcoe) - -### v3.14.0 (2015/06/28 02:12 +00:00) - -- [#192](https://github.com/bcoe/yargs/pull/192) standard style nits (@bcoe) -- [#190](https://github.com/bcoe/yargs/pull/190) allow for hidden commands, e.g., - .completion('completion', false) (@tschaub) - -### v3.13.0 (2015/06/24 04:12 +00:00) - -- [#187](https://github.com/bcoe/yargs/pull/187) completion now behaves differently - if it is being run in the context of a command (@tschaub) -- [#186](https://github.com/bcoe/yargs/pull/186) if no matches are found for a completion - default to filename completion (@tschaub) - -### v3.12.0 (2015/06/19 03:23 +00:00) -- [#183](https://github.com/bcoe/yargs/pull/183) don't complete commands if they've already been completed (@tschaub) -- [#181](https://github.com/bcoe/yargs/pull/181) various fixes for completion. (@bcoe, @tschaub) -- [#182](https://github.com/bcoe/yargs/pull/182) you can now set a maximum # of of required arguments (@bcoe) - -### v3.11.0 (2015/06/15 05:15 +00:00) - -- [#173](https://github.com/bcoe/yargs/pull/173) update standard, window-size, chai (@bcoe) -- [#171](https://github.com/bcoe/yargs/pull/171) a description can now be set - when providing a config option. (@5c077yP) - -### v3.10.0 (2015/05/29 04:25 +00:00) - -- [#165](https://github.com/bcoe/yargs/pull/165) expose yargs.terminalWidth() thanks @ensonic (@bcoe) -- [#164](https://github.com/bcoe/yargs/pull/164) better array handling thanks @getify (@bcoe) - -### v3.9.1 (2015/05/20 05:14 +00:00) -- [b6662b6](https://github.com/bcoe/yargs/commit/b6662b6774cfeab4876f41ec5e2f67b7698f4e2f) clarify .config() docs (@linclark) -- [0291360](https://github.com/bcoe/yargs/commit/02913606285ce31ce81d7f12c48d8a3029776ec7) fixed tests, switched to nyc for coverage, fixed security issue, added Lin as collaborator (@bcoe) - -### v3.9.0 (2015/05/10 18:32 +00:00) -- [#157](https://github.com/bcoe/yargs/pull/157) Merge pull request #157 from bcoe/command-yargs. allows handling of command specific arguments. Thanks for the suggestion @ohjames (@bcoe) -- [#158](https://github.com/bcoe/yargs/pull/158) Merge pull request #158 from kemitchell/spdx-license. Update license format (@kemitchell) - -### v3.8.0 (2015/04/24 23:10 +00:00) -- [#154](https://github.com/bcoe/yargs/pull/154) showHelp's method signature was misleading fixes #153 (@bcoe) -- [#151](https://github.com/bcoe/yargs/pull/151) refactor yargs' table layout logic to use new helper library (@bcoe) -- [#150](https://github.com/bcoe/yargs/pull/150) Fix README example in argument requirements (@annonymouse) - -### v3.7.2 (2015/04/13 11:52 -07:00) - -* [679fbbf](https://github.com/bcoe/yargs/commit/679fbbf55904030ccee8a2635e8e5f46551ab2f0) updated yargs to use the [standard](https://github.com/feross/standard) style guide (agokjr) -* [22382ee](https://github.com/bcoe/yargs/commit/22382ee9f5b495bc2586c1758cd1091cec3647f9 various bug fixes for $0 (@nylen) - -### v3.7.1 (2015/04/10 11:06 -07:00) - -* [89e1992](https://github.com/bcoe/yargs/commit/89e1992a004ba73609b5f9ee6890c4060857aba4) detect iojs bin along with node bin. (@bcoe) -* [755509e](https://github.com/bcoe/yargs/commit/755509ea90041e5f7833bba3b8c5deffe56f0aab) improvements to example documentation in README.md (@rstacruz) -* [0d2dfc8](https://github.com/bcoe/yargs/commit/0d2dfc822a43418242908ad97ddd5291a1b35dc6) showHelp() no longer requires that .argv has been called (@bcoe) - -### v3.7.0 (2015/04/04 02:29 -07:00) - -* [56cbe2d](https://github.com/bcoe/yargs/commit/56cbe2ddd33dc176dcbf97ba40559864a9f114e4) make .requiresArg() work with type hints. (@bcoe). -* [2f5d562](https://github.com/bcoe/yargs/commit/2f5d5624f736741deeedf6a664d57bc4d857bdd0) serialize arrays and objects in usage strings. (@bcoe). -* [5126304](https://github.com/bcoe/yargs/commit/5126304dd18351fc28f10530616fdd9361e0af98) be more lenient about alias/primary key ordering in chaining API. (@bcoe) - -### v3.6.0 (2015/03/21 01:00 +00:00) -- [4e24e22](https://github.com/bcoe/yargs/commit/4e24e22e6a195e55ab943ede704a0231ac33b99c) support for .js configuration files. (@pirxpilot) - -### v3.5.4 (2015/03/12 05:56 +00:00) -- [c16cc08](https://github.com/bcoe/yargs/commit/c16cc085501155cf7fd853ccdf8584b05ab92b78) message for non-option arguments is now optional, thanks to (@raine) - -### v3.5.3 (2015/03/09 06:14 +00:00) -- [870b428](https://github.com/bcoe/yargs/commit/870b428cf515d560926ca392555b7ad57dba9e3d) completion script was missing in package.json (@bcoe) - -### v3.5.2 (2015/03/09 06:11 +00:00) -- [58a4b24](https://github.com/bcoe/yargs/commit/58a4b2473ebbb326713d522be53e32d3aabb08d2) parse was being called multiple times, resulting in strange behavior (@bcoe) - -### v3.5.1 (2015/03/09 04:55 +00:00) -- [4e588e0](https://github.com/bcoe/yargs/commit/4e588e055afbeb9336533095f051496e3977f515) accidentally left testing logic in (@bcoe) - -### v3.5.0 (2015/03/09 04:49 +00:00) -- [718bacd](https://github.com/bcoe/yargs/commit/718bacd81b9b44f786af76b2afe491fe06274f19) added support for bash completions see #4 (@bcoe) -- [a192882](https://github.com/bcoe/yargs/commit/a19288270fc431396c42af01125eeb4443664528) downgrade to mocha 2.1.0 until https://github.com/mochajs/mocha/issues/1585 can be sorted out (@bcoe) - -### v3.4.7 (2015/03/09 04:09 +00:00) -- [9845e5c](https://github.com/bcoe/yargs/commit/9845e5c1a9c684ba0be3f0bfb40e7b62ab49d9c8) the Argv singleton was not being updated when manually parsing arguments, fixes #114 (@bcoe) - -### v3.4.6 (2015/03/09 04:01 +00:00) -- [45b4c80](https://github.com/bcoe/yargs/commit/45b4c80b890d02770b0a94f326695a8a566e8fe9) set placeholders for all keys fixes #115 (@bcoe) - -### v3.4.5 (2015/03/01 20:31 +00:00) -- [a758e0b](https://github.com/bcoe/yargs/commit/a758e0b2556184f067cf3d9c4ef886d39817ebd2) fix for count consuming too many arguments (@bcoe) - -### v3.4.4 (2015/02/28 04:52 +00:00) -- [0476af7](https://github.com/bcoe/yargs/commit/0476af757966acf980d998b45108221d4888cfcb) added nargs feature, allowing you to specify the number of arguments after an option (@bcoe) -- [092477d](https://github.com/bcoe/yargs/commit/092477d7ab3efbf0ba11cede57f7d8cfc70b024f) updated README with full example of v3.0 API (@bcoe) - -### v3.3.3 (2015/02/28 04:23 +00:00) -- [0c4b769](https://github.com/bcoe/yargs/commit/0c4b769516cd8d93a7c4e5e675628ae0049aa9a8) remove string dependency, which conflicted with other libraries see #106 (@bcoe) - -### v3.3.2 (2015/02/28 04:11 +00:00) -- [2a98906](https://github.com/bcoe/yargs/commit/2a9890675821c0e7a12f146ce008b0562cb8ec9a) add $0 to epilog (@schnittstabil) - -### v3.3.1 (2015/02/24 03:28 +00:00) -- [ad485ce](https://github.com/bcoe/yargs/commit/ad485ce748ebdfce25b88ef9d6e83d97a2f68987) fix for applying defaults to camel-case args (@bcoe) - -### v3.3.0 (2015/02/24 00:49 +00:00) -- [8bfe36d](https://github.com/bcoe/yargs/commit/8bfe36d7fb0f93a799ea3f4c756a7467c320f8c0) fix and document restart() command, as a tool for building nested CLIs (@bcoe) - -### v3.2.1 (2015/02/22 05:45 +00:00) -- [49a6d18](https://github.com/bcoe/yargs/commit/49a6d1822a4ef9b1ea6f90cc366be60912628885) you can now provide a function that generates a default value (@bcoe) - -### v3.2.0 (2015/02/22 05:24 +00:00) -- [7a55886](https://github.com/bcoe/yargs/commit/7a55886c9343cf71a20744ca5cdd56d2ea7412d5) improvements to yargs two-column text layout (@bcoe) -- [b6ab513](https://github.com/bcoe/yargs/commit/b6ab5136a4c3fa6aa496f6b6360382e403183989) Tweak NPM version badge (@nylen) - -### v3.1.0 (2015/02/19 19:37 +00:00) -- [9bd2379](https://github.com/bcoe/yargs/commit/9bd237921cf1b61fd9f32c0e6d23f572fc225861) version now accepts a function, making it easy to load version #s from a package.json (@bcoe) - -### v3.0.4 (2015/02/14 01:40 +00:00) -- [0b7c19b](https://github.com/bcoe/yargs/commit/0b7c19beaecb747267ca4cc10e5cb2a8550bc4b7) various fixes for dot-notation handling (@bcoe) - -### v3.0.3 (2015/02/14 00:59 +00:00) -- [c3f35e9](https://github.com/bcoe/yargs/commit/c3f35e99bd5a0d278073fcadd95e2d778616cc17) make sure dot-notation is applied to aliases (@bcoe) - -### 3.0.2 (2015/02/13 16:50 +00:00) -- [74c8967](https://github.com/bcoe/yargs/commit/74c8967c340c204a0a7edf8a702b6f46c2705435) document epilog shorthand of epilogue. (@bcoe) -- [670110f](https://github.com/bcoe/yargs/commit/670110fc01bedc4831b6fec6afac54517d5a71bc) any non-truthy value now causes check to fail see #76 (@bcoe) -- [0d8f791](https://github.com/bcoe/yargs/commit/0d8f791a33c11ced4cd431ea8d3d3a337d456b56) finished implementing my wish-list of fetures for yargs 3.0. see #88 (@bcoe) -- [5768447](https://github.com/bcoe/yargs/commit/5768447447c4c8e8304f178846206ce86540f063) fix coverage. (@bcoe) -- [82e793f](https://github.com/bcoe/yargs/commit/82e793f3f61c41259eaacb67f0796aea2cf2aaa0) detect console width and perform word-wrapping. (@bcoe) -- [67476b3](https://github.com/bcoe/yargs/commit/67476b37eea07fee55f23f35b9e0c7d76682b86d) refactor two-column table layout so that we can use it for examples and usage (@bcoe) -- [4724cdf](https://github.com/bcoe/yargs/commit/4724cdfcc8e37ae1ca3dcce9d762f476e9ef4bb4) major refactor of index.js, in prep for 3.x release. (@bcoe) - -### v2.3.0 (2015/02/08 20:41 +00:00) -- [d824620](https://github.com/bcoe/yargs/commit/d824620493df4e63664af1fe320764dd1a9244e6) allow for undefined boolean defaults (@ashi009) - -### v2.2.0 (2015/02/08 20:07 +00:00) -- [d6edd98](https://github.com/bcoe/yargs/commit/d6edd9848826e7389ed1393858c45d03961365fd) in-prep for further refactoring, and a 3.x release I've shuffled some things around and gotten test-coverage to 100%. (@bcoe) - -### v2.1.2 (2015/02/08 06:05 +00:00) -- [d640745](https://github.com/bcoe/yargs/commit/d640745a7b9f8d476e0223879d056d18d9c265c4) switch to path.relative (@bcoe) -- [3bfd41f](https://github.com/bcoe/yargs/commit/3bfd41ff262a041f29d828b88936a79c63cad594) remove mocha.opts. (@bcoe) -- [47a2f35](https://github.com/bcoe/yargs/commit/47a2f357091db70903a402d6765501c1d63f15fe) document using .string('_') for string ids. see #56 (@bcoe) -- [#57](https://github.com/bcoe/yargs/pull/57) Merge pull request #57 from eush77/option-readme (@eush77) - -### v2.1.1 (2015/02/06 08:08 +00:00) -- [01c6c61](https://github.com/bcoe/yargs/commit/01c6c61d67b4ebf88f41f0b32a345ec67f0ac17d) fix for #71, 'newAliases' of undefined (@bcoe) - -### v2.1.0 (2015/02/06 07:59 +00:00) -- [6a1a3fa](https://github.com/bcoe/yargs/commit/6a1a3fa731958e26ccd56885f183dd8985cc828f) try to guess argument types, and apply sensible defaults see #73 (@bcoe) - -### v2.0.1 (2015/02/06 07:54 +00:00) -- [96a06b2](https://github.com/bcoe/yargs/commit/96a06b2650ff1d085a52b7328d8bba614c20cc12) Fix for strange behavior with --sort option, see #51 (@bcoe) - -### v2.0.0 (2015/02/06 07:45 +00:00) -- [0250517](https://github.com/bcoe/yargs/commit/0250517c9643e53f431b824e8ccfa54937414011) - [108fb84](https://github.com/bcoe/yargs/commit/108fb8409a3a63dcaf99d917fe4dfcfaa1de236d) fixed bug with boolean parsing, when bools separated by = see #66 (@bcoe) -- [a465a59](https://github.com/bcoe/yargs/commit/a465a5915f912715738de890982e4f8395958b10) Add `files` field to the package.json (@shinnn) -- [31043de](https://github.com/bcoe/yargs/commit/31043de7a38a17c4c97711f1099f5fb164334db3) fix for yargs.argv having the same keys added multiple times see #63 (@bcoe) -- [2d68c5b](https://github.com/bcoe/yargs/commit/2d68c5b91c976431001c4863ce47c9297850f1ad) Disable process.exit calls using .exitProcess(false) (@cianclarke) -- [45da9ec](https://github.com/bcoe/yargs/commit/45da9ec4c55a7bd394721bc6a1db0dabad7bc52a) Mention .option in README (@eush77) - -### v1.3.2 (2014/10/06 21:56 +00:00) -- [b8d3472](https://github.com/bcoe/yargs/commit/b8d34725482e5821a3cc809c0df71378f282f526) 1.3.2 (@chevex) - -### list (2014/08/30 18:41 +00:00) -- [fbc777f](https://github.com/bcoe/yargs/commit/fbc777f416eeefd37c84e44d27d7dfc7c1925721) Now that yargs is the successor to optimist, I'm changing the README language to be more universal. Pirate speak isn't very accessible to non-native speakers. (@chevex) -- [a54d068](https://github.com/bcoe/yargs/commit/a54d0682ae2efc2394d407ab171cc8a8bbd135ea) version output will not print extra newline (@boneskull) -- [1cef5d6](https://github.com/bcoe/yargs/commit/1cef5d62a9d6d61a3948a49574892e01932cc6ae) Added contributors section to package.json (@chrisn) -- [cc295c0](https://github.com/bcoe/yargs/commit/cc295c0a80a2de267e0155b60d315fc4b6f7c709) Added 'require' and 'required' as synonyms for 'demand' (@chrisn) -- [d0bf951](https://github.com/bcoe/yargs/commit/d0bf951d949066b6280101ed606593d079ee15c8) Updating minimist. (@chevex) -- [c15f8e7](https://github.com/bcoe/yargs/commit/c15f8e7f245b261e542cf205ce4f4313630cbdb4) Fix #31 (bad interaction between camelCase options and strict mode) (@nylen) -- [d991b9b](https://github.com/bcoe/yargs/commit/d991b9be687a68812dee1e3b185ba64b7778b82d) Added .help() and .version() methods (@chrisn) -- [e8c8aa4](https://github.com/bcoe/yargs/commit/e8c8aa46268379357cb11e9fc34b8c403037724b) Added .showHelpOnFail() method (@chrisn) -- [e855af4](https://github.com/bcoe/yargs/commit/e855af4a933ea966b5bbdd3c4c6397a4bac1a053) Allow boolean flag with .demand() (@chrisn) -- [14dbec2](https://github.com/bcoe/yargs/commit/14dbec24fb7380683198e2b20c4deb8423e64bea) Fixes issue #22. Arguments are no longer printed to the console when using .config. (@chevex) -- [bef74fc](https://github.com/bcoe/yargs/commit/bef74fcddc1544598a804f80d0a3728459f196bf) Informing users that Yargs is the official optimist successor. (@chevex) -- [#24](https://github.com/bcoe/yargs/pull/24) Merge pull request #24 from chrisn/strict (@chrisn) -- [889a2b2](https://github.com/bcoe/yargs/commit/889a2b28eb9768801b05163360a470d0fd6c8b79) Added requiresArg option, for options that require values (@chrisn) -- [eb16369](https://github.com/bcoe/yargs/commit/eb163692262be1fe80b992fd8803d5923c5a9b18) Added .strict() method, to report error if unknown arguments are given (@chrisn) -- [0471c3f](https://github.com/bcoe/yargs/commit/0471c3fd999e1ad4e6cded88b8aa02013b66d14f) Changed optimist to yargs in usage-options.js example (@chrisn) -- [5c88f74](https://github.com/bcoe/yargs/commit/5c88f74e3cf031b17c54b4b6606c83e485ff520e) Change optimist to yargs in examples (@chrisn) -- [66f12c8](https://github.com/bcoe/yargs/commit/66f12c82ba3c943e4de8ca862980e835da8ecb3a) Fix a couple of bad interactions between aliases and defaults (@nylen) -- [8fa1d80](https://github.com/bcoe/yargs/commit/8fa1d80f14b03eb1f2898863a61f1d1615bceb50) Document second argument of usage(message, opts) (@Gobie) -- [56e6528](https://github.com/bcoe/yargs/commit/56e6528cf674ff70d63083fb044ff240f608448e) For "--some-option", also set argv.someOption (@nylen) -- [ed5f6d3](https://github.com/bcoe/yargs/commit/ed5f6d33f57ad1086b11c91b51100f7c6c7fa8ee) Finished porting unit tests to Mocha. (@chevex) - -### v1.0.15 (2014/02/05 23:18 +00:00) -- [e2b1fc0](https://github.com/bcoe/yargs/commit/e2b1fc0c4a59cf532ae9b01b275e1ef57eeb64d2) 1.0.15 update to badges (@chevex) - -### v1.0.14 (2014/02/05 23:17 +00:00) -- [f33bbb0](https://github.com/bcoe/yargs/commit/f33bbb0f00fe18960f849cc8e15a7428a4cd59b8) Revert "Fixed issue which caused .demand function not to work correctly." (@chevex) - -### v1.0.13 (2014/02/05 22:13 +00:00) -- [6509e5e](https://github.com/bcoe/yargs/commit/6509e5e7dee6ef1a1f60eea104be0faa1a045075) Fixed issue which caused .demand function not to work correctly. (@chevex) - -### v1.0.12 (2013/12/13 00:09 +00:00) -- [05eb267](https://github.com/bcoe/yargs/commit/05eb26741c9ce446b33ff006e5d33221f53eaceb) 1.0.12 (@chevex) - -### v1.0.11 (2013/12/13 00:07 +00:00) -- [c1bde46](https://github.com/bcoe/yargs/commit/c1bde46e37318a68b87d17a50c130c861d6ce4a9) 1.0.11 (@chevex) - -### v1.0.10 (2013/12/12 23:57 +00:00) -- [dfebf81](https://github.com/bcoe/yargs/commit/dfebf8164c25c650701528ee581ca483a99dc21c) Fixed formatting in README (@chevex) - -### v1.0.9 (2013/12/12 23:47 +00:00) -- [0b4e34a](https://github.com/bcoe/yargs/commit/0b4e34af5e6d84a9dbb3bb6d02cd87588031c182) Update README.md (@chevex) - -### v1.0.8 (2013/12/06 16:36 +00:00) -- [#1](https://github.com/bcoe/yargs/pull/1) fix error caused by check() see #1 (@martinheidegger) - -### v1.0.7 (2013/11/24 18:01 +00:00) -- [a247d88](https://github.com/bcoe/yargs/commit/a247d88d6e46644cbb7303c18b1bb678fc132d72) Modified Pirate Joe image. (@chevex) - -### v1.0.6 (2013/11/23 19:21 +00:00) -- [d7f69e1](https://github.com/bcoe/yargs/commit/d7f69e1d34bc929736a8bdccdc724583e21b7eab) Updated Pirate Joe image. (@chevex) - -### v1.0.5 (2013/11/23 19:09 +00:00) -- [ece809c](https://github.com/bcoe/yargs/commit/ece809cf317cc659175e1d66d87f3ca68c2760be) Updated readme notice again. (@chevex) - -### v1.0.4 (2013/11/23 19:05 +00:00) -- [9e81e81](https://github.com/bcoe/yargs/commit/9e81e81654028f83ba86ffc3ac772a0476084e5e) Updated README with a notice about yargs being a fork of optimist and what that implies. (@chevex) - -### v1.0.3 (2013/11/23 17:43 +00:00) -- [65e7a78](https://github.com/bcoe/yargs/commit/65e7a782c86764944d63d084416aba9ee6019c5f) Changed some small wording in README.md. (@chevex) -- [459e20e](https://github.com/bcoe/yargs/commit/459e20e539b366b85128dd281ccd42221e96c7da) Fix a bug in the options function, when string and boolean options weren't applied to aliases. (@shockone) - -### v1.0.2 (2013/11/23 09:46 +00:00) -- [3d80ebe](https://github.com/bcoe/yargs/commit/3d80ebed866d3799224b6f7d596247186a3898a9) 1.0.2 (@chevex) - -### v1.0.1 (2013/11/23 09:39 +00:00) -- [f80ff36](https://github.com/bcoe/yargs/commit/f80ff3642d580d4b68bf9f5a94277481bd027142) Updated image. (@chevex) - -### v1.0.0 (2013/11/23 09:33 +00:00) -- [54e31d5](https://github.com/bcoe/yargs/commit/54e31d505f820b80af13644e460894b320bf25a3) Rebranded from optimist to yargs in the spirit of the fork :D (@chevex) -- [4ebb6c5](https://github.com/bcoe/yargs/commit/4ebb6c59f44787db7c24c5b8fe2680f01a23f498) Added documentation for demandCount(). (@chevex) -- [4561ce6](https://github.com/bcoe/yargs/commit/4561ce66dcffa95f49e8b4449b25b94cd68acb25) Simplified the error messages returned by .check(). (@chevex) -- [661c678](https://github.com/bcoe/yargs/commit/661c67886f479b16254a830b7e1db3be29e6b7a6) Fixed an issue with demand not accepting a zero value. (@chevex) -- [731dd3c](https://github.com/bcoe/yargs/commit/731dd3c37624790490bd6df4d5f1da8f4348279e) Add .fail(fn) so death isn't the only option. Should fix issue #39. (@chevex) -- [fa15417](https://github.com/bcoe/yargs/commit/fa15417ff9e70dace0d726627a5818654824c1d8) Added a few missing 'return self' (@chevex) -- [e655e4d](https://github.com/bcoe/yargs/commit/e655e4d99d1ae1d3695ef755d51c2de08d669761) Fix showing help in certain JS environments. (@chevex) -- [a746a31](https://github.com/bcoe/yargs/commit/a746a31cd47c87327028e6ea33762d6187ec5c87) Better string representation of default values. (@chevex) -- [6134619](https://github.com/bcoe/yargs/commit/6134619a7e90b911d5443230b644c5d447c1a68c) Implies: conditional demands (@chevex) -- [046b93b](https://github.com/bcoe/yargs/commit/046b93b5d40a27367af4cb29726e4d781d934639) Added support for JSON config files. (@chevex) -- [a677ec0](https://github.com/bcoe/yargs/commit/a677ec0a0ecccd99c75e571d03323f950688da03) Add .example(cmd, desc) feature. (@chevex) -- [1bd4375](https://github.com/bcoe/yargs/commit/1bd4375e11327ba1687d4bb6e5e9f3c30c1be2af) Added 'defaults' as alias to 'default' so as to avoid usage of a reserved keyword. (@chevex) -- [6b753c1](https://github.com/bcoe/yargs/commit/6b753c16ca09e723060e70b773b430323b29c45c) add .normalize(args..) support for normalizing paths (@chevex) -- [33d7d59](https://github.com/bcoe/yargs/commit/33d7d59341d364f03d3a25f0a55cb99004dbbe4b) Customize error messages with demand(key, msg) (@chevex) -- [647d37f](https://github.com/bcoe/yargs/commit/647d37f164c20f4bafbf67dd9db6cd6e2cd3b49f) Merge branch 'rewrite-duplicate-test' of github.com:isbadawi/node-optimist (@chevex) -- [9059d1a](https://github.com/bcoe/yargs/commit/9059d1ad5e8aea686c2a01c89a23efdf929fff2e) Pass aliases object to check functions for greater versatility. (@chevex) -- [623dc26](https://github.com/bcoe/yargs/commit/623dc26c7331abff2465ef8532e3418996d42fe6) Added ability to count boolean options and rolled minimist library back into project. (@chevex) -- [49f0dce](https://github.com/bcoe/yargs/commit/49f0dcef35de4db544c3966350d36eb5838703f6) Fixed small typo. (@chevex) -- [79ec980](https://github.com/bcoe/yargs/commit/79ec9806d9ca6eb0014cfa4b6d1849f4f004baf2) Removed dependency on wordwrap module. (@chevex) -- [ea14630](https://github.com/bcoe/yargs/commit/ea14630feddd69d1de99dd8c0e08948f4c91f00a) Merge branch 'master' of github.com:chbrown/node-optimist (@chevex) -- [2b75da2](https://github.com/bcoe/yargs/commit/2b75da2624061e0f4f3107d20303c06ec9054906) Merge branch 'master' of github.com:seanzhou1023/node-optimist (@chevex) -- [d9bda11](https://github.com/bcoe/yargs/commit/d9bda1116e26f3b40e833ca9ca19263afea53565) Merge branch 'patch-1' of github.com:thefourtheye/node-optimist (@chevex) -- [d6cc606](https://github.com/bcoe/yargs/commit/d6cc6064a4f1bea38a16a4430b8a1334832fbeff) Renamed README. (@chevex) -- [9498d3f](https://github.com/bcoe/yargs/commit/9498d3f59acfb5e102826503e681623c3a64b178) Renamed readme and added .gitignore. (@chevex) -- [bbd1fe3](https://github.com/bcoe/yargs/commit/bbd1fe37fefa366dde0fb3dc44d91fe8b28f57f5) Included examples for ```help``` and ```showHelp``` functions and fixed few formatting issues (@thefourtheye) -- [37fea04](https://github.com/bcoe/yargs/commit/37fea0470a5796a0294c1dcfff68d8041650e622) .alias({}) behaves differently based on mapping direction when generating descriptions (@chbrown) -- [855b20d](https://github.com/bcoe/yargs/commit/855b20d0be567ca121d06b30bea64001b74f3d6d) Documented function signatures are useful for dynamically typed languages. (@chbrown) - -### 0.6.0 (2013/06/25 08:48 +00:00) -- [d37bfe0](https://github.com/bcoe/yargs/commit/d37bfe05ae6d295a0ab481efe4881222412791f4) all tests passing using minimist (@substack) -- [76f1352](https://github.com/bcoe/yargs/commit/76f135270399d01f2bbc621e524a5966e5c422fd) all parse tests now passing (@substack) -- [a7b6754](https://github.com/bcoe/yargs/commit/a7b6754276c38d1565479a5685c3781aeb947816) using minimist, some tests passing (@substack) -- [6655688](https://github.com/bcoe/yargs/commit/66556882aa731cbbbe16cc4d42c85740a2e98099) Give credit where its due (@DeadAlready) -- [602a2a9](https://github.com/bcoe/yargs/commit/602a2a92a459f93704794ad51b115bbb08b535ce) v0.5.3 - Remove wordwrap as dependency (@DeadAlready) - -### 0.5.2 (2013/05/31 03:46 +00:00) -- [4497ca5](https://github.com/bcoe/yargs/commit/4497ca55e332760a37b866ec119ded347ca27a87) fixed the whitespace bug without breaking anything else (@substack) -- [5a3dd1a](https://github.com/bcoe/yargs/commit/5a3dd1a4e0211a38613c6e02f61328e1031953fa) failing test for whitespace arg (@substack) - -### 0.5.1 (2013/05/30 07:17 +00:00) -- [a20228f](https://github.com/bcoe/yargs/commit/a20228f62a454755dd07f628a7c5759113918327) fix parse() to work with functions before it (@substack) -- [b13bd4c](https://github.com/bcoe/yargs/commit/b13bd4cac856a9821d42fa173bdb58f089365a7d) failing test for parse() with modifiers (@substack) - -### 0.5.0 (2013/05/18 21:59 +00:00) -- [c474a64](https://github.com/bcoe/yargs/commit/c474a649231527915c222156e3b40806d365a87c) fixes for dash (@substack) - -### 0.4.0 (2013/04/13 19:03 +00:00) -- [dafe3e1](https://github.com/bcoe/yargs/commit/dafe3e18d7c6e7c2d68e06559df0e5cbea3adb14) failing short test (@substack) - -### 0.3.7 (2013/04/04 04:07 +00:00) -- [6c7a0ec](https://github.com/bcoe/yargs/commit/6c7a0ec94ce4199a505f0518b4d6635d4e47cc81) Fix for windows. On windows there is no _ in environment. (@hdf) - -### 0.3.6 (2013/04/04 04:04 +00:00) -- [e72346a](https://github.com/bcoe/yargs/commit/e72346a727b7267af5aa008b418db89970873f05) Add support for newlines in -a="" arguments (@danielbeardsley) -- [71e1fb5](https://github.com/bcoe/yargs/commit/71e1fb55ea9987110a669ac6ec12338cfff3821c) drop 0.4, add 0.8 to travis (@substack) - -### 0.3.5 (2012/10/10 11:09 +00:00) -- [ee692b3](https://github.com/bcoe/yargs/commit/ee692b37554c70a0bb16389a50a26b66745cbbea) Fix parsing booleans (@vojtajina) -- [5045122](https://github.com/bcoe/yargs/commit/5045122664c3f5b4805addf1be2148d5856f7ce8) set $0 properly in the tests (@substack) - -### 0.3.4 (2012/04/30 06:54 +00:00) -- [f28c0e6](https://github.com/bcoe/yargs/commit/f28c0e62ca94f6e0bb2e6d82fc3d91a55e69b903) bump for string "true" params (@substack) -- [8f44aeb](https://github.com/bcoe/yargs/commit/8f44aeb74121ddd689580e2bf74ef86a605e9bf2) Fix failing test for aliased booleans. (@coderarity) -- [b9f7b61](https://github.com/bcoe/yargs/commit/b9f7b613b1e68e11e6c23fbda9e555a517dcc976) Add failing test for short aliased booleans. (@coderarity) - -### 0.3.3 (2012/04/30 06:45 +00:00) -- [541bac8](https://github.com/bcoe/yargs/commit/541bac8dd787a5f1a5d28f6d8deb1627871705e7) Fixes #37. - -### 0.3.2 (2012/04/12 20:28 +00:00) -- [3a0f014](https://github.com/bcoe/yargs/commit/3a0f014c1451280ac1c9caa1f639d31675586eec) travis badge (@substack) -- [4fb60bf](https://github.com/bcoe/yargs/commit/4fb60bf17845f4ce3293f8ca49c9a1a7c736cfce) Fix boolean aliases. (@coderarity) -- [f14dda5](https://github.com/bcoe/yargs/commit/f14dda546efc4fe06ace04d36919bfbb7634f79b) Adjusted package.json to use tap (@jfhbrook) -- [88e5d32](https://github.com/bcoe/yargs/commit/88e5d32295be6e544c8d355ff84e355af38a1c74) test/usage.js no longer hangs (@jfhbrook) -- [e1e740c](https://github.com/bcoe/yargs/commit/e1e740c27082f3ce84deca2093d9db2ef735d0e5) two tests for combined boolean/alias opts parsing (@jfhbrook) - -### 0.3.1 (2011/12/31 08:44 +00:00) -- [d09b719](https://github.com/bcoe/yargs/commit/d09b71980ef711b6cf3918cd19beec8257e40e82) If "default" is set to false it was not passed on, fixed. (@wolframkriesing) - -### 0.3.0 (2011/12/09 06:03 +00:00) -- [6e74aa7](https://github.com/bcoe/yargs/commit/6e74aa7b46a65773e20c0cb68d2d336d4a0d553d) bump and documented dot notation (@substack) - -### 0.2.7 (2011/10/20 02:25 +00:00) -- [94adee2](https://github.com/bcoe/yargs/commit/94adee20e17b58d0836f80e8b9cdbe9813800916) argv._ can be told 'Hey! argv._! Don't be messing with my args.', and it WILL obey (@colinta) -- [c46fdd5](https://github.com/bcoe/yargs/commit/c46fdd56a05410ae4a1e724a4820c82e77ff5469) optimistic critter image (@substack) -- [5c95c73](https://github.com/bcoe/yargs/commit/5c95c73aedf4c7482bd423e10c545e86d7c8a125) alias options() to option() (@substack) -- [f7692ea](https://github.com/bcoe/yargs/commit/f7692ea8da342850af819367833abb685fde41d8) [fix] Fix for parsing boolean edge case (@indexzero) -- [d1f92d1](https://github.com/bcoe/yargs/commit/d1f92d1425bd7f356055e78621b30cdf9741a3c2) -- [b01bda8](https://github.com/bcoe/yargs/commit/b01bda8d86e455bbf74ce497864cb8ab5b9fb847) [fix test] Update to ensure optimist is aware of default booleans. Associated tests included (@indexzero) -- [aa753e7](https://github.com/bcoe/yargs/commit/aa753e7c54fb3a12f513769a0ff6d54aa0f63943) [dist test] Update devDependencies in package.json. Update test pathing to be more npm and require.paths future-proof (@indexzero) -- [7bfce2f](https://github.com/bcoe/yargs/commit/7bfce2f3b3c98e6539e7549d35fbabced7e9341e) s/sys/util/ (@substack) -- [d420a7a](https://github.com/bcoe/yargs/commit/d420a7a9c890d2cdb11acfaf3ea3f43bc3e39f41) update usage output (@substack) -- [cf86eed](https://github.com/bcoe/yargs/commit/cf86eede2e5fc7495b6ec15e6d137d9ac814f075) some sage readme protips about parsing rules (@substack) -- [5da9f7a](https://github.com/bcoe/yargs/commit/5da9f7a5c0e1758ec7c5801fb3e94d3f6e970513) documented all the methods finally (@substack) -- [8ca6879](https://github.com/bcoe/yargs/commit/8ca6879311224b25933642987300f6a29de5c21b) fenced syntax highlighting (@substack) -- [b72bacf](https://github.com/bcoe/yargs/commit/b72bacf1d02594778c1935405bc8137eb61761dc) right-alignment of wrapped extra params (@substack) -- [2b980bf](https://github.com/bcoe/yargs/commit/2b980bf2656b4ee8fc5134dc5f56a48855c35198) now with .wrap() (@substack) -- [d614f63](https://github.com/bcoe/yargs/commit/d614f639654057d1b7e35e3f5a306e88ec2ad1e4) don't show 'Options:' when there aren't any (@substack) -- [691eda3](https://github.com/bcoe/yargs/commit/691eda354df97b5a86168317abcbcaabdc08a0fb) failing test for multi-aliasing (@substack) -- [0826c9f](https://github.com/bcoe/yargs/commit/0826c9f462109feab2bc7a99346d22e72bf774b7) "Options:" > "options:" (@substack) -- [72f7490](https://github.com/bcoe/yargs/commit/72f749025d01b7f295738ed370a669d885fbada0) [minor] Update formatting for `.showHelp()` (@indexzero) -- [75aecce](https://github.com/bcoe/yargs/commit/75aeccea74329094072f95800e02c275e7d999aa) options works again, too lazy to write a proper test right now (@substack) -- [f742e54](https://github.com/bcoe/yargs/commit/f742e5439817c662dc3bd8734ddd6467e6018cfd) line_count_options example, which breaks (@substack) -- [4ca06b8](https://github.com/bcoe/yargs/commit/4ca06b8b4ea99b5d5714b315a2a8576bee6e5537) line count example (@substack) -- [eeb8423](https://github.com/bcoe/yargs/commit/eeb8423e0a5ecc9dc3eb1e6df9f3f8c1c88f920b) remove self.argv setting in boolean (@substack) -- [6903412](https://github.com/bcoe/yargs/commit/69034126804660af9cc20ea7f4457b50338ee3d7) removed camel case for now (@substack) -- [5a0d88b](https://github.com/bcoe/yargs/commit/5a0d88bf23e9fa79635dd034e2a1aa992acc83cd) remove dead longest checking code (@substack) -- [d782170](https://github.com/bcoe/yargs/commit/d782170babf7284b1aa34f5350df0dd49c373fa8) .help() too (@substack) -- [622ec17](https://github.com/bcoe/yargs/commit/622ec17379bb5374fdbb190404c82bc600975791) rm old help generator (@substack) -- [7c8baac](https://github.com/bcoe/yargs/commit/7c8baac4d66195e9f5158503ea9ebfb61153dab7) nub keys (@substack) -- [8197785](https://github.com/bcoe/yargs/commit/8197785ad4762465084485b041abd722f69bf344) generate help message based on the previous calls, todo: nub (@substack) -- [3ffbdc3](https://github.com/bcoe/yargs/commit/3ffbdc33c8f5e83d4ea2ac60575ce119570c7ede) stub out new showHelp, better checks (@substack) -- [d4e21f5](https://github.com/bcoe/yargs/commit/d4e21f56a4830f7de841900d3c79756fb9886184) let .options() take single options too (@substack) -- [3c4cf29](https://github.com/bcoe/yargs/commit/3c4cf2901a29bac119cca8e983028d8669230ec6) .options() is now heaps simpler (@substack) -- [89f0d04](https://github.com/bcoe/yargs/commit/89f0d043cbccd302f10ab30c2069e05d2bf817c9) defaults work again, all tests pass (@substack) -- [dd87333](https://github.com/bcoe/yargs/commit/dd8733365423006a6e4156372ebb55f98323af58) update test error messages, down to 2 failing tests (@substack) -- [53f7bc6](https://github.com/bcoe/yargs/commit/53f7bc626b9875f2abdfc5dd7a80bde7f14143a3) fix for bools doubling up, passes the parse test again, others fail (@substack) -- [2213e2d](https://github.com/bcoe/yargs/commit/2213e2ddc7263226fba717fb041dc3fde9bc2ee4) refactored for an argv getter, failing several tests (@substack) -- [d1e7379](https://github.com/bcoe/yargs/commit/d1e737970f15c6c006bebdd8917706827ff2f0f2) just rescan for now, alias test passes (@substack) -- [b2f8c99](https://github.com/bcoe/yargs/commit/b2f8c99cc477a8eb0fdf4cf178e1785b63185cfd) failing alias test (@substack) -- [d0c0174](https://github.com/bcoe/yargs/commit/d0c0174daa144bfb6dc7290fdc448c393c475e15) .alias() (@substack) -- [d85f431](https://github.com/bcoe/yargs/commit/d85f431ad7d07b058af3f2a57daa51495576c164) [api] Remove `.describe()` in favor of building upon the existing `.usage()` API (@indexzero) -- [edbd527](https://github.com/bcoe/yargs/commit/edbd5272a8e213e71acd802782135c7f9699913a) [doc api] Add `.describe()`, `.options()`, and `.showHelp()` methods along with example. (@indexzero) -- [be4902f](https://github.com/bcoe/yargs/commit/be4902ff0961ae8feb9093f2c0a4066463ded2cf) updates for coffee since it now does argv the node way (@substack) -- [e24cb23](https://github.com/bcoe/yargs/commit/e24cb23798ee64e53b60815e7fda78b87f42390c) more general coffeescript detection (@substack) -- [78ac753](https://github.com/bcoe/yargs/commit/78ac753e5d0ec32a96d39d893272afe989e42a4d) Don't trigger the CoffeeScript hack when running under node_g. (@papandreou) -- [bcfe973](https://github.com/bcoe/yargs/commit/bcfe9731d7f90d4632281b8a52e8d76eb0195ae6) .string() but failing test (@substack) -- [1987aca](https://github.com/bcoe/yargs/commit/1987aca28c7ba4e8796c07bbc547cb984804c826) test hex strings (@substack) -- [ef36db3](https://github.com/bcoe/yargs/commit/ef36db32259b0b0d62448dc907c760e5554fb7e7) more keywords (@substack) -- [cc53c56](https://github.com/bcoe/yargs/commit/cc53c56329960bed6ab077a79798e991711ba01d) Added camelCase function that converts --multi-word-option to camel case (so it becomes argv.multiWordOption). (@papandreou) -- [60b57da](https://github.com/bcoe/yargs/commit/60b57da36797716e5783a633c6d5c79099016d45) fixed boolean bug by rescanning (@substack) -- [dff6d07](https://github.com/bcoe/yargs/commit/dff6d078d97f8ac503c7d18dcc7b7a8c364c2883) boolean examples (@substack) -- [0e380b9](https://github.com/bcoe/yargs/commit/0e380b92c4ef4e3c8dac1da18b5c31d85b1d02c9) boolean() with passing test (@substack) -- [62644d4](https://github.com/bcoe/yargs/commit/62644d4bffbb8d1bbf0c2baf58a1d14a6359ef07) coffee compatibility with node regex for versions too (@substack) -- [430fafc](https://github.com/bcoe/yargs/commit/430fafcf1683d23774772826581acff84b456827) argv._ fixed by fixing the coffee detection (@substack) -- [343b8af](https://github.com/bcoe/yargs/commit/343b8afefd98af274ebe21b5a16b3a949ec5429f) whichNodeArgs test fails too (@substack) -- [63df2f3](https://github.com/bcoe/yargs/commit/63df2f371f31e63d7f1dec2cbf0022a5f08da9d2) replicated mnot's bug in whichNodeEmpty test (@substack) -- [35473a4](https://github.com/bcoe/yargs/commit/35473a4d93a45e5e7e512af8bb54ebb532997ae1) test for ./bin usage (@substack) -- [13df151](https://github.com/bcoe/yargs/commit/13df151e44228eed10e5441c7cd163e086c458a4) don't coerce booleans to numbers (@substack) -- [85f8007](https://github.com/bcoe/yargs/commit/85f8007e93b8be7124feea64b1f1916d8ba1894a) package bump for automatic number conversion (@substack) -- [8f17014](https://github.com/bcoe/yargs/commit/8f170141cded4ccc0c6d67a849c5bf996aa29643) updated readme and examples with new auto-numberification goodness (@substack) -- [73dc901](https://github.com/bcoe/yargs/commit/73dc9011ac968e39b55e19e916084a839391b506) auto number conversion works yay (@substack) -- [bcec56b](https://github.com/bcoe/yargs/commit/bcec56b3d031e018064cbb691539ccc4f28c14ad) failing test for not-implemented auto numification (@substack) -- [ebd2844](https://github.com/bcoe/yargs/commit/ebd2844d683feeac583df79af0e5124a7a7db04e) odd that eql doesn't check types careflly (@substack) -- [fd854b0](https://github.com/bcoe/yargs/commit/fd854b02e512ce854b76386d395672a7969c1bc4) package author + keywords (@substack) -- [656a1d5](https://github.com/bcoe/yargs/commit/656a1d5a1b7c0e49d72e80cb13f20671d56f76c6) updated readme with .default() stuff (@substack) -- [cd7f8c5](https://github.com/bcoe/yargs/commit/cd7f8c55f0b82b79b690d14c5f806851236998a1) passing tests for new .default() behavior (@substack) -- [932725e](https://github.com/bcoe/yargs/commit/932725e39ce65bc91a0385a5fab659a5fa976ac2) new default() thing for setting default key/values (@substack) -- [4e6c7ab](https://github.com/bcoe/yargs/commit/4e6c7aba6374ac9ebc6259ecf91f13af7bce40e3) test for coffee usage (@substack) -- [d54ffcc](https://github.com/bcoe/yargs/commit/d54ffccf2a5a905f51ed5108f7c647f35d64ae23) new --key value style with passing tests. NOTE: changes existing behavior (@substack) -- [ed2a2d5](https://github.com/bcoe/yargs/commit/ed2a2d5d828100ebeef6385c0fb88d146a5cfe9b) package bump for summatix's coffee script fix (@substack) -- [75a975e](https://github.com/bcoe/yargs/commit/75a975eed8430d28e2a79dc9e6d819ad545f4587) Added support for CoffeeScript (@summatix) -- [56b2b1d](https://github.com/bcoe/yargs/commit/56b2b1de8d11f8a2b91979d8ae2d6db02d8fe64d) test coverage for the falsy check() usage (@substack) -- [a4843a9](https://github.com/bcoe/yargs/commit/a4843a9f0e69ffb4afdf6a671d89eb6f218be35d) check bug fixed plus a handy string (@substack) -- [857bd2d](https://github.com/bcoe/yargs/commit/857bd2db933a5aaa9cfecba0ced2dc9b415f8111) tests for demandCount, back up to 100% coverage (@substack) -- [073b776](https://github.com/bcoe/yargs/commit/073b7768ebd781668ef05c13f9003aceca2f5c35) call demandCount from demand (@substack) -- [4bd4b7a](https://github.com/bcoe/yargs/commit/4bd4b7a085c8b6ce1d885a0f486cc9865cee2db1) add demandCount to check for the number of arguments in the _ list (@marshall) -- [b8689ac](https://github.com/bcoe/yargs/commit/b8689ac68dacf248119d242bba39a41cb0adfa07) Rebase checks. That will be its own module eventually. (@substack) -- [e688370](https://github.com/bcoe/yargs/commit/e688370b576f0aa733c3f46183df69e1b561668e) a $0 like in perl (@substack) -- [2e5e196](https://github.com/bcoe/yargs/commit/2e5e1960fc19afb21fb3293752316eaa8bcd3609) usage test hacking around process and console (@substack) -- [fcc3521](https://github.com/bcoe/yargs/commit/fcc352163fbec6a1dfe8caf47a0df39de24fe016) description pun (@substack) -- [87a1fe2](https://github.com/bcoe/yargs/commit/87a1fe29037ca2ca5fefda85141aaeb13e8ce761) mit/x11 license (@substack) -- [8d089d2](https://github.com/bcoe/yargs/commit/8d089d24cd687c0bde3640a96c09b78f884900dd) bool example is more consistent and also shows off short option grouping (@substack) -- [448d747](https://github.com/bcoe/yargs/commit/448d7473ac68e8e03d8befc9457b0d9e21725be0) start of the readme and examples (@substack) -- [da74dea](https://github.com/bcoe/yargs/commit/da74dea799a9b59dbf022cbb8001bfdb0d52eec9) more tests for long and short captures (@substack) -- [ab6387e](https://github.com/bcoe/yargs/commit/ab6387e6769ca4af82ca94c4c67c7319f0d9fcfa) silly bug in the tests with s/not/no/, all tests pass now (@substack) -- [102496a](https://github.com/bcoe/yargs/commit/102496a319e8e06f6550d828fc2f72992c7d9ecc) hack an instance for process.argv onto Argv so the export can be called to create an instance or used for argv, which is the most common case (@substack) -- [a01caeb](https://github.com/bcoe/yargs/commit/a01caeb532546d19f68f2b2b87f7036cfe1aaedd) divide example (@substack) -- [443da55](https://github.com/bcoe/yargs/commit/443da55736acbaf8ff8b04d1b9ce19ab016ddda2) start of the lib with a package.json (@substack) diff --git a/publi/node_modules/yargs/LICENSE b/publi/node_modules/yargs/LICENSE deleted file mode 100644 index 747ab11..0000000 --- a/publi/node_modules/yargs/LICENSE +++ /dev/null @@ -1,22 +0,0 @@ -Copyright 2010 James Halliday (mail@substack.net) -Modified work Copyright 2014 Contributors (ben@npmjs.com) - -This project is free software released under the MIT/X11 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. diff --git a/publi/node_modules/yargs/README.md b/publi/node_modules/yargs/README.md deleted file mode 100644 index 4887915..0000000 --- a/publi/node_modules/yargs/README.md +++ /dev/null @@ -1,2017 +0,0 @@ - yargs -======== - -Yargs be a node.js library fer hearties tryin' ter parse optstrings. - -With yargs, ye be havin' a map that leads straight to yer treasure! Treasure of course, being a simple option hash. - -[![Build Status][travis-image]][travis-url] -[![Coverage Status][coveralls-image]][coveralls-url] -[![NPM version][npm-image]][npm-url] -[![Windows Tests][windows-image]][windows-url] -[![js-standard-style][standard-image]][standard-url] -[![Conventional Commits][conventional-commits-image]][conventional-commits-url] -[![Gitter][gitter-image]][gitter-url] - -> Yargs is the official successor to optimist. Please feel free to submit issues and pull requests. If you'd like to contribute and don't know where to start, have a look at [the issue list](https://github.com/yargs/yargs/issues) :) - -examples -======== - -With yargs, the options be just a hash! -------------------------------------------------------------------- - -plunder.js: - -````javascript -#!/usr/bin/env node -var argv = require('yargs').argv; - -if (argv.ships > 3 && argv.distance < 53.5) { - console.log('Plunder more riffiwobbles!'); -} else { - console.log('Retreat from the xupptumblers!'); -} -```` - -*** - - $ ./plunder.js --ships=4 --distance=22 - Plunder more riffiwobbles! - - $ ./plunder.js --ships 12 --distance 98.7 - Retreat from the xupptumblers! - -![Joe was one optimistic pirate.](https://i.imgur.com/4WFGVJ9.png) - -But don't walk the plank just yet! There be more! You can do short options: -------------------------------------------------- - -short.js: - -````javascript -#!/usr/bin/env node -var argv = require('yargs').argv; -console.log('(%d,%d)', argv.x, argv.y); -```` - -*** - - $ ./short.js -x 10 -y 21 - (10,21) - -And booleans, both long, short, and even grouped: ----------------------------------- - -bool.js: - -````javascript -#!/usr/bin/env node -var argv = require('yargs').argv; - -if (argv.s) { - process.stdout.write(argv.fr ? 'Le perroquet dit: ' : 'The parrot says: '); -} -console.log( - (argv.fr ? 'couac' : 'squawk') + (argv.p ? '!' : '') -); -```` - -*** - - $ ./bool.js -s - The parrot says: squawk - - $ ./bool.js -sp - The parrot says: squawk! - - $ ./bool.js -sp --fr - Le perroquet dit: couac! - -And non-hyphenated options too! Just use `argv._`! -------------------------------------------------- - -nonopt.js: - -````javascript -#!/usr/bin/env node -var argv = require('yargs').argv; -console.log('(%d,%d)', argv.x, argv.y); -console.log(argv._); -```` - -*** - - $ ./nonopt.js -x 6.82 -y 3.35 rum - (6.82,3.35) - [ 'rum' ] - - $ ./nonopt.js "me hearties" -x 0.54 yo -y 1.12 ho - (0.54,1.12) - [ 'me hearties', 'yo', 'ho' ] - -Yargs even counts your booleans! ----------------------------------------------------------------------- - -count.js: - -````javascript -#!/usr/bin/env node -var argv = require('yargs') - .count('verbose') - .alias('v', 'verbose') - .argv; - -VERBOSE_LEVEL = argv.verbose; - -function WARN() { VERBOSE_LEVEL >= 0 && console.log.apply(console, arguments); } -function INFO() { VERBOSE_LEVEL >= 1 && console.log.apply(console, arguments); } -function DEBUG() { VERBOSE_LEVEL >= 2 && console.log.apply(console, arguments); } - -WARN("Showing only important stuff"); -INFO("Showing semi-important stuff too"); -DEBUG("Extra chatty mode"); -```` - -*** - $ node count.js - Showing only important stuff - - $ node count.js -v - Showing only important stuff - Showing semi-important stuff too - - $ node count.js -vv - Showing only important stuff - Showing semi-important stuff too - Extra chatty mode - - $ node count.js -v --verbose - Showing only important stuff - Showing semi-important stuff too - Extra chatty mode - -Tell users how to use yer options and make demands. -------------------------------------------------- - -area.js: - -````javascript -#!/usr/bin/env node -var argv = require('yargs') - .usage('Usage: $0 -w [num] -h [num]') - .demandOption(['w','h']) - .argv; - -console.log("The area is:", argv.w * argv.h); -```` - -*** - - $ ./area.js -w 55 -h 11 - The area is: 605 - - $ node ./area.js -w 4.91 -w 2.51 - Usage: area.js -w [num] -h [num] - - Options: - -w [required] - -h [required] - - Missing required arguments: h - -After yer demands have been met, demand more! Ask for non-hyphenated arguments! ------------------------------------------ - -demand_count.js: - -````javascript -#!/usr/bin/env node -var argv = require('yargs') - .demandCommand(2) - .argv; -console.dir(argv); -```` - -*** - - $ ./demand_count.js a - - Not enough non-option arguments: got 1, need at least 2 - - $ ./demand_count.js a b - { _: [ 'a', 'b' ], '$0': 'demand_count.js' } - - $ ./demand_count.js a b c - { _: [ 'a', 'b', 'c' ], '$0': 'demand_count.js' } - -EVEN MORE SHIVER ME TIMBERS! ------------------- - -default_singles.js: - -````javascript -#!/usr/bin/env node -var argv = require('yargs') - .default('x', 10) - .default('y', 10) - .argv -; -console.log(argv.x + argv.y); -```` - -*** - - $ ./default_singles.js -x 5 - 15 - -default_hash.js: - -````javascript -#!/usr/bin/env node -var argv = require('yargs') - .default({ x : 10, y : 10 }) - .argv -; -console.log(argv.x + argv.y); -```` - -*** - - $ ./default_hash.js -y 7 - 17 - -And if you really want to get all descriptive about it... ---------------------------------------------------------- - -boolean_single.js: - -````javascript -#!/usr/bin/env node -var argv = require('yargs') - .boolean('v') - .argv -; -console.dir(argv.v); -console.dir(argv._); -```` - -*** - - $ ./boolean_single.js -v "me hearties" yo ho - true - [ 'me hearties', 'yo', 'ho' ] - - -boolean_double.js: - -````javascript -#!/usr/bin/env node -var argv = require('yargs') - .boolean(['x','y','z']) - .argv -; -console.dir([ argv.x, argv.y, argv.z ]); -console.dir(argv._); -```` - -*** - - $ ./boolean_double.js -x -z one two three - [ true, false, true ] - [ 'one', 'two', 'three' ] - -Yargs is here to help you... ---------------------------- - -Ye can describe parameters fer help messages and set aliases. Yargs figures -out how ter format a handy help string automatically. - -line_count.js: - -````javascript -#!/usr/bin/env node -var argv = require('yargs') - .usage('Usage: $0 [options]') - .command('count', 'Count the lines in a file') - .example('$0 count -f foo.js', 'count the lines in the given file') - .alias('f', 'file') - .nargs('f', 1) - .describe('f', 'Load a file') - .demandOption(['f']) - .help('h') - .alias('h', 'help') - .epilog('copyright 2015') - .argv; - -var fs = require('fs'); -var s = fs.createReadStream(argv.file); - -var lines = 0; -s.on('data', function (buf) { - lines += buf.toString().match(/\n/g).length; -}); - -s.on('end', function () { - console.log(lines); -}); -```` - -*** - $ node line_count.js count - Usage: line_count.js [options] - - Commands: - count Count the lines in a file - - Options: - -f, --file Load a file [required] - -h, --help Show help [boolean] - - Examples: - line_count.js count -f foo.js count the lines in the given file - - copyright 2015 - - Missing required arguments: f - - $ node line_count.js count --file line_count.js - 26 - - $ node line_count.js count -f line_count.js - 26 - -methods -======= - -By itself, - -````javascript -require('yargs').argv -```` - -will use the `process.argv` array to construct the `argv` object. - -You can pass in the `process.argv` yourself: - -````javascript -require('yargs')([ '-x', '1', '-y', '2' ]).argv -```` - -or use `.parse()` to do the same thing: - -````javascript -require('yargs').parse([ '-x', '1', '-y', '2' ]) -```` - -The rest of these methods below come in just before the terminating `.argv`. - -.alias(key, alias) ------------------- - -Set key names as equivalent such that updates to a key will propagate to aliases -and vice-versa. - -Optionally `.alias()` can take an object that maps keys to aliases. -Each key of this object should be the canonical version of the option, and each -value should be a string or an array of strings. - -.argv ------ - -Get the arguments as a plain old object. - -Arguments without a corresponding flag show up in the `argv._` array. - -The script name or node command is available at `argv.$0` similarly to how `$0` -works in bash or perl. - -If `yargs` is executed in an environment that embeds node and there's no script name (e.g. -[Electron](http://electron.atom.io/) or [nw.js](http://nwjs.io/)), it will ignore the first parameter since it -expects it to be the script name. In order to override this behavior, use `.parse(process.argv.slice(1))` -instead of `.argv` and the first parameter won't be ignored. - -.array(key) ----------- - -Tell the parser to interpret `key` as an array. If `.array('foo')` is set, -`--foo foo bar` will be parsed as `['foo', 'bar']` rather than as `'foo'`. - -.boolean(key) -------------- - -Interpret `key` as a boolean. If a non-flag option follows `key` in -`process.argv`, that string won't get set as the value of `key`. - -`key` will default to `false`, unless a `default(key, undefined)` is -explicitly set. - -If `key` is an array, interpret all the elements as booleans. - -.check(fn, [global=true]) ----------- - -Check that certain conditions are met in the provided arguments. - -`fn` is called with two arguments, the parsed `argv` hash and an array of options and their aliases. - -If `fn` throws or returns a non-truthy value, show the thrown error, usage information, and -exit. - -`global` indicates whether `check()` should be enabled both -at the top-level and for each sub-command. - -.choices(key, choices) ----------------------- - -Limit valid values for `key` to a predefined set of `choices`, given as an array -or as an individual value. - -```js -var argv = require('yargs') - .alias('i', 'ingredient') - .describe('i', 'choose your sandwich ingredients') - .choices('i', ['peanut-butter', 'jelly', 'banana', 'pickles']) - .help('help') - .argv -``` - -If this method is called multiple times, all enumerated values will be merged -together. Choices are generally strings or numbers, and value matching is -case-sensitive. - -Optionally `.choices()` can take an object that maps multiple keys to their -choices. - -Choices can also be specified as `choices` in the object given to `option()`. - -```js -var argv = require('yargs') - .option('size', { - alias: 's', - describe: 'choose a size', - choices: ['xs', 's', 'm', 'l', 'xl'] - }) - .argv -``` - -.coerce(key, fn) ----------------- - -Provide a synchronous function to coerce or transform the value(s) given on the -command line for `key`. - -The coercion function should accept one argument, representing the parsed value -from the command line, and should return a new value or throw an error. The -returned value will be used as the value for `key` (or one of its aliases) in -`argv`. - -If the function throws, the error will be treated as a validation -failure, delegating to either a custom [`.fail()`](#fail) handler or printing -the error message in the console. - -Coercion will be applied to a value after -all other modifications, such as [`.normalize()`](#normalize). - -_Examples:_ - -```js -var argv = require('yargs') - .coerce('file', function (arg) { - return require('fs').readFileSync(arg, 'utf8') - }) - .argv -``` - -Optionally `.coerce()` can take an object that maps several keys to their -respective coercion function. - -```js -var argv = require('yargs') - .coerce({ - date: Date.parse, - json: JSON.parse - }) - .argv -``` - -You can also map the same function to several keys at one time. Just pass an -array of keys as the first argument to `.coerce()`: - -```js -var path = require('path') -var argv = require('yargs') - .coerce(['src', 'dest'], path.resolve) - .argv -``` - -If you are using dot-notion or arrays, .e.g., `user.email` and `user.password`, -coercion will be applied to the final object that has been parsed: - -```js -// --user.name Batman --user.password 123 -// gives us: {name: 'batman', password: '[SECRET]'} -var argv = require('yargs') - .option('user') - .coerce('user', opt => { - opt.name = opt.name.toLowerCase() - opt.password = '[SECRET]' - return opt - }) - .argv -``` - -.command(cmd, desc, [builder], [handler]) ------------------------------------------ -.command(cmd, desc, [module]) ------------------------------ -.command(module) ----------------- - -Define the commands exposed by your application. - -`cmd` should be a string representing the command or an array of strings -representing the command and its aliases. Read more about command aliases in the -subsection below. - -Use `desc` to provide a description for each command your application accepts (the -values stored in `argv._`). Set `desc` to `false` to create a hidden command. -Hidden commands don't show up in the help output and aren't available for -completion. - -Optionally, you can provide a `builder` object to give hints about the -options that your command accepts: - -```js -yargs - .command('get', 'make a get HTTP request', { - url: { - alias: 'u', - default: 'http://yargs.js.org/' - } - }) - .help() - .argv -``` - -`builder` can also be a function. This function is executed -with a `yargs` instance, and can be used to provide _advanced_ command specific help: - -```js -yargs - .command('get', 'make a get HTTP request', function (yargs) { - return yargs.option('url', { - alias: 'u', - default: 'http://yargs.js.org/' - }) - }) - .help() - .argv -``` - -You can also provide a handler function, which will be executed with the -parsed `argv` object: - -```js -yargs - .command( - 'get', - 'make a get HTTP request', - function (yargs) { - return yargs.option('u', { - alias: 'url', - describe: 'the URL to make an HTTP request to' - }) - }, - function (argv) { - console.log(argv.url) - } - ) - .help() - .argv -``` - -### Default Commands - -To specify a default command use the character `*`. A default command -will be run if the positional arguments provided match no known -commands: - -```js -const argv = require('yargs') - .command('*', 'the default command', () => {}, (argv) => { - console.log('this command will be run by default') - }) -``` - -The command defined above will be executed if the program -is run with `./my-cli.js --x=22`. - -Default commands can also be used as a command alias, like so: - -```js -const argv = require('yargs') - .command(['serve', '*'], 'the serve command', () => {}, (argv) => { - console.log('this command will be run by default') - }) -``` - -The command defined above will be executed if the program -is run with `./my-cli.js --x=22`, or with `./my-cli.js serve --x=22`. - -### Positional Arguments - -Commands can accept _optional_ and _required_ positional arguments. Required -positional arguments take the form ``, and optional arguments -take the form `[bar]`. The parsed positional arguments will be populated in -`argv`: - -```js -yargs.command('get [proxy]', 'make a get HTTP request') - .help() - .argv -``` - -#### Positional Argument Aliases - -Aliases can be provided for positional arguments using the `|` character. -As an example, suppose our application allows either a username _or_ -an email as the first argument: - -```js -yargs.command('get [password]', 'fetch a user by username or email.') - .help() - .argv -``` - -In this way, both `argv.username` and `argv.email` would be populated with the -same value when the command is executed. - -#### Variadic Positional Arguments - -The last positional argument can optionally accept an array of -values, by using the `..` operator: - -```js -yargs.command('download [files..]', 'download several files') - .help() - .argv -``` - -### Command Execution - -When a command is given on the command line, yargs will execute the following: - -1. push the command into the current context -2. reset non-global configuration -3. apply command configuration via the `builder`, if given -4. parse and validate args from the command line, including positional args -5. if validation succeeds, run the `handler` function, if given -6. pop the command from the current context - -### Command Aliases - -You can define aliases for a command by putting the command and all of its -aliases into an array. - -Alternatively, a command module may specify an `aliases` property, which may be -a string or an array of strings. All aliases defined via the `command` property -and the `aliases` property will be concatenated together. - -The first element in the array is considered the canonical command, which may -define positional arguments, and the remaining elements in the array are -considered aliases. Aliases inherit positional args from the canonical command, -and thus any positional args defined in the aliases themselves are ignored. - -If either the canonical command or any of its aliases are given on the command -line, the command will be executed. - -```js -#!/usr/bin/env node -require('yargs') - .command(['start [app]', 'run', 'up'], 'Start up an app', {}, (argv) => { - console.log('starting up the', argv.app || 'default', 'app') - }) - .command({ - command: 'configure [value]', - aliases: ['config', 'cfg'], - desc: 'Set a config variable', - builder: (yargs) => yargs.default('value', 'true'), - handler: (argv) => { - console.log(`setting ${argv.key} to ${argv.value}`) - } - }) - .demandCommand() - .help() - .wrap(72) - .argv -``` - -``` -$ ./svc.js help -Commands: - start [app] Start up an app [aliases: run, up] - configure [value] Set a config variable [aliases: config, cfg] - -Options: - --help Show help [boolean] - -$ ./svc.js cfg concurrency 4 -setting concurrency to 4 - -$ ./svc.js run web -starting up the web app -``` - -### Providing a Command Module - -For complicated commands you can pull the logic into a module. A module -simply needs to export: - -* `exports.command`: string (or array of strings) that executes this command when given on the command line, first string may contain positional args -* `exports.aliases`: array of strings (or a single string) representing aliases of `exports.command`, positional args defined in an alias are ignored -* `exports.describe`: string used as the description for the command in help text, use `false` for a hidden command -* `exports.builder`: object declaring the options the command accepts, or a function accepting and returning a yargs instance -* `exports.handler`: a function which will be passed the parsed argv. - -```js -// my-module.js -exports.command = 'get [proxy]' - -exports.describe = 'make a get HTTP request' - -exports.builder = { - banana: { - default: 'cool' - }, - batman: { - default: 'sad' - } -} - -exports.handler = function (argv) { - // do something with argv. -} -``` - -You then register the module like so: - -```js -yargs.command(require('my-module')) - .help() - .argv -``` - -Or if the module does not export `command` and `describe` (or if you just want to override them): - -```js -yargs.command('get [proxy]', 'make a get HTTP request', require('my-module')) - .help() - .argv -``` - -.commandDir(directory, [opts]) ------------------------------- - -Apply command modules from a directory relative to the module calling this method. - -This allows you to organize multiple commands into their own modules under a -single directory and apply all of them at once instead of calling -`.command(require('./dir/module'))` multiple times. - -By default, it ignores subdirectories. This is so you can use a directory -structure to represent your command hierarchy, where each command applies its -subcommands using this method in its builder function. See the example below. - -Note that yargs assumes all modules in the given directory are command modules -and will error if non-command modules are encountered. In this scenario, you -can either move your module to a different directory or use the `exclude` or -`visit` option to manually filter it out. More on that below. - -`directory` is a relative directory path as a string (required). - -`opts` is an options object (optional). The following options are valid: - -- `recurse`: boolean, default `false` - - Look for command modules in all subdirectories and apply them as a flattened - (non-hierarchical) list. - -- `extensions`: array of strings, default `['js']` - - The types of files to look for when requiring command modules. - -- `visit`: function - - A synchronous function called for each command module encountered. Accepts - `commandObject`, `pathToFile`, and `filename` as arguments. Returns - `commandObject` to include the command; any falsy value to exclude/skip it. - -- `include`: RegExp or function - - Whitelist certain modules. See [`require-directory` whitelisting](https://www.npmjs.com/package/require-directory#whitelisting) for details. - -- `exclude`: RegExp or function - - Blacklist certain modules. See [`require-directory` blacklisting](https://www.npmjs.com/package/require-directory#blacklisting) for details. - -### Example command hierarchy using `.commandDir()` - -Desired CLI: - -```sh -$ myapp --help -$ myapp init -$ myapp remote --help -$ myapp remote add base http://yargs.js.org -$ myapp remote prune base -$ myapp remote prune base fork whatever -``` - -Directory structure: - -``` -myapp/ -├─ cli.js -└─ cmds/ - ├─ init.js - ├─ remote.js - └─ remote_cmds/ - ├─ add.js - └─ prune.js -``` - -cli.js: - -```js -#!/usr/bin/env node -require('yargs') - .commandDir('cmds') - .demandCommand() - .help() - .argv -``` - -cmds/init.js: - -```js -exports.command = 'init [dir]' -exports.desc = 'Create an empty repo' -exports.builder = { - dir: { - default: '.' - } -} -exports.handler = function (argv) { - console.log('init called for dir', argv.dir) -} -``` - -cmds/remote.js: - -```js -exports.command = 'remote ' -exports.desc = 'Manage set of tracked repos' -exports.builder = function (yargs) { - return yargs.commandDir('remote_cmds') -} -exports.handler = function (argv) {} -``` - -cmds/remote_cmds/add.js: - -```js -exports.command = 'add ' -exports.desc = 'Add remote named for repo at url ' -exports.builder = {} -exports.handler = function (argv) { - console.log('adding remote %s at url %s', argv.name, argv.url) -} -``` - -cmds/remote_cmds/prune.js: - -```js -exports.command = 'prune [names..]' -exports.desc = 'Delete tracked branches gone stale for remotes' -exports.builder = {} -exports.handler = function (argv) { - console.log('pruning remotes %s', [].concat(argv.name).concat(argv.names).join(', ')) -} -``` - -.completion([cmd], [description], [fn]) ---------------------------------------- - -Enable bash-completion shortcuts for commands and options. - -`cmd`: When present in `argv._`, will result in the `.bashrc` completion script -being outputted. To enable bash completions, concat the generated script to your -`.bashrc` or `.bash_profile`. - -`description`: Provide a description in your usage instructions for the command -that generates bash completion scripts. - -`fn`: Rather than relying on yargs' default completion functionality, which -shiver me timbers is pretty awesome, you can provide your own completion -method. - -If invoked without parameters, `.completion()` will make `completion` the command to output -the completion script. - -```js -var argv = require('yargs') - .completion('completion', function(current, argv) { - // 'current' is the current command being completed. - // 'argv' is the parsed arguments so far. - // simply return an array of completions. - return [ - 'foo', - 'bar' - ]; - }) - .argv; -``` - -You can also provide asynchronous completions. - -```js -var argv = require('yargs') - .completion('completion', function(current, argv, done) { - setTimeout(function() { - done([ - 'apple', - 'banana' - ]); - }, 500); - }) - .argv; -``` - -But wait, there's more! You can return an asynchronous promise. - -```js -var argv = require('yargs') - .completion('completion', function(current, argv, done) { - return new Promise(function (resolve, reject) { - setTimeout(function () { - resolve(['apple', 'banana']) - }, 10) - }) - }) - .argv; -``` - -.config([key], [description], [parseFn]) -------------------------------------------------------------- -.config(object) ---------------- - -Tells the parser that if the option specified by `key` is passed in, it -should be interpreted as a path to a JSON config file. The file is loaded -and parsed, and its properties are set as arguments. Because the file is -loaded using Node's require(), the filename MUST end in `.json` to be -interpreted correctly. - -If invoked without parameters, `.config()` will make `--config` the option to pass the JSON config file. - -An optional `description` can be provided to customize the config (`key`) option -in the usage string. - -An optional `parseFn` can be used to provide a custom parser. The parsing -function must be synchronous, and should return an object containing -key value pairs or an error. - -```js -var argv = require('yargs') - .config('settings', function (configPath) { - return JSON.parse(fs.readFileSync(configPath, 'utf-8')) - }) - .argv -``` - -You can also pass an explicit configuration `object`, it will be parsed -and its properties will be set as arguments. - -```js -var argv = require('yargs') - .config({foo: 1, bar: 2}) - .argv -console.log(argv) -``` - -``` -$ node test.js -{ _: [], - foo: 1, - bar: 2, - '$0': 'test.js' } -``` - -Note that a configuration object may extend from a JSON file using the `"extends"` property. When doing so, the `"extends"` value should be a path (relative or absolute) to the extended JSON file. - -.conflicts(x, y) ----------------------------------------------- - -Given the key `x` is set, the key `y` must not be set. - -Optionally `.conflicts()` can accept an object specifying multiple conflicting keys. - -.count(key) ------------- - -Interpret `key` as a boolean flag, but set its parsed value to the number of -flag occurrences rather than `true` or `false`. Default value is thus `0`. - -.default(key, value, [description]) ---------------------------------------------------------- -.defaults(key, value, [description]) ------------------------------------- - -**Note:** The `.defaults()` alias is deprecated. It will be -removed in the next major version. - -Set `argv[key]` to `value` if no option was specified in `process.argv`. - -Optionally `.default()` can take an object that maps keys to default values. - -But wait, there's more! The default value can be a `function` which returns -a value. The name of the function will be used in the usage string: - -```js -var argv = require('yargs') - .default('random', function randomValue() { - return Math.random() * 256; - }).argv; -``` - -Optionally, `description` can also be provided and will take precedence over -displaying the value in the usage instructions: - -```js -.default('timeout', 60000, '(one-minute)') -``` - -.demand(count, [max], [msg]) [DEPRECATED] --------------------- - -`demand()` has been deprecated, please instead see [`demandOption()`](#demandOption) and -[`demandCommand()`](#demandCommand). - -.demandOption(key, [msg | boolean]) ------------------------------- -.demandOption(key, msg) ------------------------------- - -If `key` is a string, show the usage information and exit if `key` wasn't -specified in `process.argv`. - -If `key` is an array, demand each element. - -If a `msg` string is given, it will be printed when the argument is missing, instead of the standard error message. - -```javascript -// demand an array of keys to be provided -require('yargs') - .option('run', { - alias: 'r', - describe: 'run your program' - }) - .option('path', { - alias: 'p', - describe: 'provide a path to file' - }) - .option('spec', { - alias: 's', - describe: 'program specifications' - }) - .demandOption(['run', 'path'], 'Please provide both run and path arguments to work with this tool') - .help() - .argv -``` -which will provide the following output: -```bash -Options: - --run, -r run your program [required] - --path, -p provide a path to file [required] - --spec, -s program specifications - --help Show help [boolean] - - Missing required arguments: run, path - Please provide both run and path arguments to work with this tool -``` - -If a `boolean` value is given, it controls whether the option is demanded; -this is useful when using `.options()` to specify command line parameters. - -```javascript -// demand individual options within the option constructor -require('yargs') - .options({ - 'run': { - alias: 'r', - describe: 'run your program', - demandOption: true - }, - 'path': { - alias: 'p', - describe: 'provide a path to file', - demandOption: true - }, - 'spec': { - alias: 's', - describe: 'program specifications' - } - }) - .help() - .argv -``` -which will provide the following output: -```bash -Options: - --run, -r run your program [required] - --path, -p provide a path to file [required] - --spec, -s program specifications - --help Show help [boolean] - -Missing required arguments: run, path -``` - -.demandCommand([min=1], [minMsg]) ------------------------------- -.demandCommand([min=1], [max], [minMsg], [maxMsg]) ------------------------------- - -Demand in context of commands. You can demand a minimum and a maximum number a user can have within your program, as well as provide corresponding error messages if either of the demands is not met. -```javascript -require('yargs') - .command({ - command: 'configure [value]', - aliases: ['config', 'cfg'], - desc: 'Set a config variable', - builder: (yargs) => yargs.default('value', 'true'), - handler: (argv) => { - console.log(`setting ${argv.key} to ${argv.value}`) - } - }) - // provide a minimum demand and a minimum demand message - .demandCommand(1, 'You need at least one command before moving on') - .help() - .argv -``` - -which will provide the following output: - -```bash -Commands: - configure [value] Set a config variable [aliases: config, cfg] - -Options: - --help Show help [boolean] - -You need at least one command before moving on -``` - -_Note: in `minMsg` and `maxMsg`, every occurrence of `$0` will be replaced -with the observed value, and every instance of `$1` will be replaced with the -expected value._ - -.describe(key, desc) --------------------- - -Describe a `key` for the generated usage information. - -Optionally `.describe()` can take an object that maps keys to descriptions. - -.detectLocale(boolean) ------------ - -Should yargs attempt to detect the os' locale? Defaults to `true`. - -.env([prefix]) --------------- - -Tell yargs to parse environment variables matching the given prefix and apply -them to argv as though they were command line arguments. - -Use the "__" separator in the environment variable to indicate nested options. -(e.g. prefix_nested__foo => nested.foo) - -If this method is called with no argument or with an empty string or with `true`, -then all env vars will be applied to argv. - -Program arguments are defined in this order of precedence: - -1. Command line args -2. Env vars -3. Config file/objects -4. Configured defaults - -```js -var argv = require('yargs') - .env('MY_PROGRAM') - .option('f', { - alias: 'fruit-thing', - default: 'apple' - }) - .argv -console.log(argv) -``` - -``` -$ node fruity.js -{ _: [], - f: 'apple', - 'fruit-thing': 'apple', - fruitThing: 'apple', - '$0': 'fruity.js' } -``` - -``` -$ MY_PROGRAM_FRUIT_THING=banana node fruity.js -{ _: [], - fruitThing: 'banana', - f: 'banana', - 'fruit-thing': 'banana', - '$0': 'fruity.js' } -``` - -``` -$ MY_PROGRAM_FRUIT_THING=banana node fruity.js -f cat -{ _: [], - f: 'cat', - 'fruit-thing': 'cat', - fruitThing: 'cat', - '$0': 'fruity.js' } -``` - -Env var parsing is disabled by default, but you can also explicitly disable it -by calling `.env(false)`, e.g. if you need to undo previous configuration. - -.epilog(str) ------------- -.epilogue(str) --------------- - -A message to print at the end of the usage instructions, e.g. - -```js -var argv = require('yargs') - .epilogue('for more information, find our manual at http://example.com'); -``` - -.example(cmd, desc) -------------------- - -Give some example invocations of your program. Inside `cmd`, the string -`$0` will get interpolated to the current script name or node command for the -present script similar to how `$0` works in bash or perl. -Examples will be printed out as part of the help message. - -.exitProcess(enable) ----------------------------------- - -By default, yargs exits the process when the user passes a help flag, uses the -`.version` functionality, or when validation fails. Calling -`.exitProcess(false)` disables this behavior, enabling further actions after -yargs have been validated. - -.fail(fn) ---------- - -Method to execute when a failure occurs, rather than printing the failure message. - -`fn` is called with the failure message that would have been printed, the -`Error` instance originally thrown and yargs state when the failure -occured. - -```js -var argv = require('yargs') - .fail(function (msg, err, yargs) { - if (err) throw err // preserve stack - console.error('You broke it!') - console.error(msg) - console.error('You should be doing', yargs.help()) - process.exit(1) - }) - .argv -``` - -.getCompletion(args, done); ---------------------------- - -Allows to programmatically get completion choices for any line. - -`args`: An array of the words in the command line to complete. - -`done`: The callback to be called with the resulting completions. - -For example: - -```js -require('yargs') - .option('foobar') - .option('foobaz') - .completion() - .getCompletion(['./test.js', '--foo'], function (completions) { - console.log(completions) - }) -``` - -Outputs the same completion choices as `./test.js --foo`TAB: `--foobar` and `--foobaz` - -.global(globals, [global=true]) ------------- - -Indicate that an option (or group of options) should not be reset when a command -is executed, as an example: - -```js -var argv = require('yargs') - .option('a', { - alias: 'all', - default: true, - global: false - }) - .option('n', { - alias: 'none', - default: true, - global: false - }) - .command('foo', 'foo command', function (yargs) { - return yargs.option('b', { - alias: 'bar' - }) - }) - .help('help') - .global('a') - .argv -``` - -If the `foo` command is executed the `all` option will remain, but the `none` -option will have been eliminated. - -Options default to being global. - -.group(key(s), groupName) --------------------- - -Given a key, or an array of keys, places options under an alternative heading -when displaying usage instructions, e.g., - -```js -var yargs = require('yargs')(['--help']) - .help() - .group('batman', 'Heroes:') - .describe('batman', "world's greatest detective") - .wrap(null) - .argv -``` -*** - Heroes: - --batman world's greatest detective - - Options: - --help Show help [boolean] - -.help() ------------------------------------------ -.help([option | boolean]) ------------------------------------------ -.help([option, [description | boolean]]) ------------------------------------------ -.help([option, [description, [boolean]]]) ------------------------------------------ - -Add an option (e.g. `--help`) and implicit command that displays the usage -string and exits the process. - -If present, the `description` parameter customizes the description of -the help option in the usage string. - -If a boolean argument is provided, it will enable or disable the use of an -implicit command. The implicit command is enabled by default, but it can be -disabled by passing `false`. - -Note that any multi-char aliases (e.g. `help`) used for the help option will -also be used for the implicit command. If there are no multi-char aliases (e.g. -`h`), then all single-char aliases will be used for the command. - -If invoked without parameters, `.help()` will use `--help` as the option and -`help` as the implicit command to trigger help output. - -Example: - -```js -var yargs = require("yargs")(['--help']) - .usage("$0 -operand1 number -operand2 number -operation [add|subtract]") - .help() - .argv -``` - -Later on, `argv` can be retrieved with `yargs.argv`. - -.implies(x, y) --------------- - -Given the key `x` is set, it is required that the key `y` is set. - -Optionally `.implies()` can accept an object specifying multiple implications. - -.locale() ---------- - -Return the locale that yargs is currently using. - -By default, yargs will auto-detect the operating system's locale so that -yargs-generated help content will display in the user's language. - -To override this behavior with a static locale, pass the desired locale as a -string to this method (see below). - -.locale(locale) ---------------- - -Override the auto-detected locale from the user's operating system with a static -locale. Note that the OS locale can be modified by setting/exporting the `LC_ALL` -environment variable. - -```js -var argv = require('yargs') - .usage('./$0 - follow ye instructions true') - .option('option', { - alias: 'o', - describe: "'tis a mighty fine option", - demandOption: true - }) - .command('run', "Arrr, ya best be knowin' what yer doin'") - .example('$0 run foo', "shiver me timbers, here's an example for ye") - .help('help') - .wrap(70) - .locale('pirate') - .argv -``` - -*** - -```shell -./test.js - follow ye instructions true - -Choose yer command: - run Arrr, ya best be knowin' what yer doin' - -Options for me hearties! - --option, -o 'tis a mighty fine option [requi-yar-ed] - --help Parlay this here code of conduct [boolean] - -Ex. marks the spot: - test.js run foo shiver me timbers, here's an example for ye - -Ye be havin' to set the followin' argument land lubber: option -``` - -Locales currently supported: - -* **de:** German. -* **en:** American English. -* **es:** Spanish. -* **fr:** French. -* **hi:** Hindi. -* **hu:** Hungarian. -* **id:** Indonesian. -* **it:** Italian. -* **ja:** Japanese. -* **ko:** Korean. -* **nb:** Norwegian Bokmål. -* **pirate:** American Pirate. -* **pl:** Polish. -* **pt:** Portuguese. -* **pt_BR:** Brazilian Portuguese. -* **ru:** Russian. -* **th:** Thai. -* **tr:** Turkish. -* **zh_CN:** Chinese. - -To submit a new translation for yargs: - -1. use `./locales/en.json` as a starting point. -2. submit a pull request with the new locale file. - -*The [Microsoft Terminology Search](http://www.microsoft.com/Language/en-US/Search.aspx) can be useful for finding the correct terminology in your locale.* - -.nargs(key, count) ------------ - -The number of arguments that should be consumed after a key. This can be a -useful hint to prevent parsing ambiguity. For example: - -```js -var argv = require('yargs') - .nargs('token', 1) - .parse(['--token', '-my-token']); -``` - -parses as: - -`{ _: [], token: '-my-token', '$0': 'node test' }` - -Optionally `.nargs()` can take an object of `key`/`narg` pairs. - -.normalize(key) ---------------- - -The key provided represents a path and should have `path.normalize()` applied. - -.number(key) ------------- - -Tell the parser to always interpret `key` as a number. - -If `key` is an array, all elements will be parsed as numbers. - -If the option is given on the command line without a value, `argv` will be -populated with `undefined`. - -If the value given on the command line cannot be parsed as a number, `argv` will -be populated with `NaN`. - -Note that decimals, hexadecimals, and scientific notation are all accepted. - -```js -var argv = require('yargs') - .number('n') - .number(['width', 'height']) - .argv -``` - -.option(key, [opt]) ------------------ -.options(key, [opt]) ------------------- - -This method can be used to make yargs aware of options that _could_ -exist. You can also pass an `opt` object which can hold further -customization, like `.alias()`, `.demandOption()` etc. for that option. - -For example: - -````javascript -var argv = require('yargs') - .option('f', { - alias: 'file', - demandOption: true, - default: '/etc/passwd', - describe: 'x marks the spot', - type: 'string' - }) - .argv -; -```` - -is the same as - -````javascript -var argv = require('yargs') - .alias('f', 'file') - .demandOption('f') - .default('f', '/etc/passwd') - .describe('f', 'x marks the spot') - .string('f') - .argv -; -```` - -Optionally `.options()` can take an object that maps keys to `opt` parameters. - -````javascript -var argv = require('yargs') - .options({ - 'f': { - alias: 'file', - demandOption: true, - default: '/etc/passwd', - describe: 'x marks the spot', - type: 'string' - } - }) - .argv -; -```` - -Valid `opt` keys include: - -- `alias`: string or array of strings, alias(es) for the canonical option key, see [`alias()`](#alias) -- `array`: boolean, interpret option as an array, see [`array()`](#array) -- `boolean`: boolean, interpret option as a boolean flag, see [`boolean()`](#boolean) -- `choices`: value or array of values, limit valid option arguments to a predefined set, see [`choices()`](#choices) -- `coerce`: function, coerce or transform parsed command line values into another value, see [`coerce()`](#coerce) -- `config`: boolean, interpret option as a path to a JSON config file, see [`config()`](#config) -- `configParser`: function, provide a custom config parsing function, see [`config()`](#config) -- `conflicts`: string or object, require certain keys not to be set, see [`conflicts()`](#conflicts) -- `count`: boolean, interpret option as a count of boolean flags, see [`count()`](#count) -- `default`: value, set a default value for the option, see [`default()`](#default) -- `defaultDescription`: string, use this description for the default value in help content, see [`default()`](#default) -- `demandOption`: boolean or string, demand the option be given, with optional error message, see [`demandOption()`](#demandOption) -- `desc`/`describe`/`description`: string, the option description for help content, see [`describe()`](#describe) -- `global`: boolean, indicate that this key should not be [reset](#reset) when a command is invoked, see [`global()`](#global) -- `group`: string, when displaying usage instructions place the option under an alternative group heading, see [`group()`](#group) -- `implies`: string or object, require certain keys to be set, see [`implies()`](#implies) -- `nargs`: number, specify how many arguments should be consumed for the option, see [`nargs()`](#nargs) -- `normalize`: boolean, apply `path.normalize()` to the option, see [`normalize()`](#normalize) -- `number`: boolean, interpret option as a number, [`number()`](#number) -- `requiresArg`: boolean, require the option be specified with a value, see [`requiresArg()`](#requiresArg) -- `skipValidation`: boolean, skips validation if the option is present, see [`skipValidation()`](#skipValidation) -- `string`: boolean, interpret option as a string, see [`string()`](#string) -- `type`: one of the following strings - - `'array'`: synonymous for `array: true`, see [`array()`](#array) - - `'boolean'`: synonymous for `boolean: true`, see [`boolean()`](#boolean) - - `'count'`: synonymous for `count: true`, see [`count()`](#count) - - `'number'`: synonymous for `number: true`, see [`number()`](#number) - - `'string'`: synonymous for `string: true`, see [`string()`](#string) - -.parse(args, [context], [parseCallback]) ------------- - -Parse `args` instead of `process.argv`. Returns the `argv` object. -`args` may either be a pre-processed argv array, or a raw argument string. - -A `context` object can optionally be given as the second argument to `parse()`, providing a -useful mechanism for passing state information to commands: - -```js -const parser = yargs - .command('lunch-train ', 'start lunch train', function () {}, function (argv) { - console.log(argv.restaurant, argv.time) - }) - .parse("lunch-train rudy's", {time: '12:15'}) -``` - -A `parseCallback` can also be provided to `.parse()`. If a callback is given, it will be invoked with three arguments: - -1. `err`: populated if any validation errors raised while parsing. -2. `argv`: the parsed argv object. -3. `output`: any text that would have been output to the terminal, had a - callback not been provided. - -```js -// providing the `fn` argument to `parse()` runs yargs in headless mode, this -// makes it easy to use yargs in contexts other than the CLI, e.g., writing -// a chat-bot. -const parser = yargs - .command('lunch-train