diff --git a/LICENSE.txt b/LICENSE.txt deleted file mode 100644 index 3e72b13..0000000 --- a/LICENSE.txt +++ /dev/null @@ -1,10838 +0,0 @@ -================================================================================ -================================================================================ - - Third-Party Software for gooddata-ruby-doc - --------------------------------------------------------------------------------- - -The following 3rd-party software packages may be used by or distributed with gooddata-ruby-doc. Any information relevant to third-party vendors listed below are collected using common, reasonable means. - -Date generated: 2026-4-29 - -Revision ID: 5cb7edd6d142353498eb9a85da97c6b74fc58704 - -================================================================================ -================================================================================ - - - - -================================================================================ - - Declared License - -================================================================================ - -No declared license found for gooddata-ruby-doc - - - - -================================================================================ - - First Party Licenses - -================================================================================ - -No licenses found - - - - - -================================================================================ - - Dependencies - -================================================================================ - -- anymatch (2.0.0) [ISC] -- arr-diff (4.0.0) [MIT] -- arr-flatten (1.1.0) [MIT] -- arr-union (3.1.0) [MIT] -- array-unique (0.3.2) [MIT] -- assign-symbols (1.0.0) [MIT] -- async-each (1.0.3) [MIT] -- atob (2.1.2) [Multi-license: Apache-2.0 OR MIT, CC-BY-3.0] -- base (0.11.2) [MIT] -- binary-extensions (1.12.0) [MIT] -- braces (2.3.2) [MIT] -- cache-base (1.0.1) [MIT] -- chokidar (2.1.8) [MIT] -- class-utils (0.3.6) [MIT] -- collection-visit (1.0.0) [MIT] -- component-emitter (1.2.1) [MIT] -- copy-descriptor (0.1.1) [MIT] -- core-util-is (1.0.2) [MIT] -- debug (2.6.9) [MIT] -- decode-uri-component (0.2.0) [MIT] -- define-property (0.2.5) [MIT] -- define-property (1.0.0) [MIT] -- define-property (2.0.2) [MIT] -- expand-brackets (2.1.4) [MIT] -- extend-shallow (2.0.1) [MIT] -- extend-shallow (3.0.2) [MIT] -- extglob (2.0.4) [MIT] -- fill-range (4.0.0) [MIT] -- for-in (1.0.2) [MIT] -- fragment-cache (0.2.1) [MIT] -- get-value (2.0.6) [MIT] -- glob-parent (3.1.0) [ISC] -- graceful-fs (4.2.4) [ISC] -- has-value (0.3.1) [MIT] -- has-value (1.0.0) [MIT] -- has-values (0.1.4) [MIT] -- has-values (1.0.0) [MIT] -- history (4.7.2) [MIT] -- hoist-non-react-statics (2.5.5) [BSD-3-Clause] -- inherits (2.0.4) [ISC] -- invariant (2.2.4) [BSD-3-Clause] -- is-accessor-descriptor (0.1.6) [MIT] -- is-accessor-descriptor (1.0.0) [MIT] -- is-binary-path (1.0.1) [MIT] -- is-buffer (1.1.6) [MIT] -- is-data-descriptor (0.1.4) [MIT] -- is-data-descriptor (1.0.0) [MIT] -- is-descriptor (0.1.6) [MIT] -- is-descriptor (1.0.2) [MIT] -- is-extendable (0.1.1) [MIT] -- is-extendable (1.0.1) [MIT] -- is-extglob (2.1.1) [MIT] -- is-glob (3.1.0) [MIT] -- is-glob (4.0.0) [MIT] -- is-number (3.0.0) [MIT] -- is-plain-object (2.0.4) [MIT] -- is-windows (1.0.2) [MIT] -- isarray (0.0.1) [MIT] -- isarray (1.0.0) [MIT] -- isobject (2.1.0) [MIT] -- isobject (3.0.1) [MIT] -- js-tokens (4.0.0) [MIT] -- kind-of (3.2.2) [MIT] -- kind-of (4.0.0) [MIT] -- kind-of (5.1.0) [MIT] -- kind-of (6.0.2) [MIT] -- loose-envify (1.4.0) [MIT] -- map-cache (0.2.2) [MIT] -- map-visit (1.0.0) [MIT] -- micromatch (3.1.10) [MIT] -- mixin-deep (1.3.1) [MIT] -- ms (2.0.0) [MIT] -- nanomatch (1.2.13) [MIT] -- normalize-path (2.1.1) [MIT] -- normalize-path (3.0.0) [MIT] -- object-assign (4.1.1) [MIT] -- object-copy (0.1.0) [MIT] -- object-visit (1.0.1) [MIT] -- object.pick (1.3.0) [MIT] -- pascalcase (0.1.1) [MIT] -- path-dirname (1.0.2) [MIT] -- path-is-absolute (1.0.1) [MIT] -- path-to-regexp (1.7.0) [MIT] -- posix-character-classes (0.1.1) [MIT] -- process-nextick-args (2.0.0) [MIT] -- prop-types (15.7.2) [MIT] -- react-is (16.13.1) [MIT] -- react-router (4.3.1) [MIT] -- react-router-dom (4.3.1) [MIT] -- readable-stream (2.3.7) [MIT] -- readdirp (2.2.1) [MIT] -- regex-not (1.0.2) [MIT] -- remove-trailing-separator (1.1.0) [ISC] -- repeat-element (1.1.3) [MIT] -- repeat-string (1.6.1) [MIT] -- resolve-pathname (2.2.0) [MIT] -- resolve-url (0.2.1) [MIT] -- ret (0.1.15) [MIT] -- safe-buffer (5.1.2) [MIT] -- safe-regex (1.1.0) [MIT] -- sass (1.15.2) [MIT, BSD-3-Clause, Apache-2.0, Zlib, bzip2-1.0.6] -- set-value (0.4.3) [MIT] -- set-value (2.0.0) [MIT] -- snapdragon (0.8.2) [MIT] -- snapdragon-node (2.1.1) [MIT] -- snapdragon-util (3.0.1) [MIT] -- source-map (0.5.7) [BSD-3-Clause] -- source-map-resolve (0.5.2) [MIT] -- source-map-url (0.4.0) [MIT] -- split-string (3.1.0) [MIT] -- static-extend (0.1.2) [MIT] -- string_decoder (1.1.1) [MIT] -- to-object-path (0.3.0) [MIT] -- to-regex (3.0.2) [MIT] -- to-regex-range (2.1.1) [MIT] -- union-value (1.0.0) [MIT] -- unset-value (1.0.0) [MIT] -- upath (1.2.0) [MIT] -- urix (0.1.0) [MIT] -- use (3.1.1) [MIT] -- util-deprecate (1.0.2) [MIT] -- value-equal (0.4.0) [MIT] -- warning (3.0.0) [MIT] -- warning (4.0.2) [MIT] - - --------------------------------------------------------------------------------- -Package Title: anymatch (2.0.0) - -Package Locator: npm+anymatch$2.0.0 - -Package Depth: Transitive --------------------------------------------------------------------------------- - -* Declared Licenses * -ISC - --------------------------------------------------------------------------------- -File matches: -LICENSE -package.json --------------------------------------------------------------------------------- - -The ISC License - -Copyright (c) 2014 Elan Shanker - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR -IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - - - -* Package Info * - -Authors: elan.shanker+npm@gmail.com, blaine.bublitz@gmail.com, paul@paulmillr.com, github@sellside.com, brian.woodward@gmail.com - -Package Download URL: https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz - --------------------------------------------------------------------------------- -Package Title: arr-diff (4.0.0) - -Package Locator: npm+arr-diff$4.0.0 - -Package Depth: Transitive --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2014-2017, Jon Schlinkert - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - -* Package Info * - -Authors: brian.woodward@gmail.com, github@sellside.com, paul@paulmillr.com - -Package Download URL: https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz - --------------------------------------------------------------------------------- -Package Title: arr-flatten (1.1.0) - -Package Locator: npm+arr-flatten$1.1.0 - -Package Depth: Transitive --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - --------------------------------------------------------------------------------- -File matches: -LICENSE --------------------------------------------------------------------------------- - -The MIT License (MIT) - -Copyright (c) 2014-2017, Jon Schlinkert. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - -* Package Info * - -Authors: github@sellside.com - -Package Download URL: https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz - --------------------------------------------------------------------------------- -Package Title: arr-union (3.1.0) - -Package Locator: npm+arr-union$3.1.0 - -Package Depth: Transitive --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - --------------------------------------------------------------------------------- -File matches: -package.json --------------------------------------------------------------------------------- - -The MIT License (MIT) - -Copyright (c) 2014-2016, Jon Schlinkert. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - -* Package Info * - -Authors: github@sellside.com - -Package Download URL: https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz - --------------------------------------------------------------------------------- -Package Title: array-unique (0.3.2) - -Package Locator: npm+array-unique$0.3.2 - -Package Depth: Transitive --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - --------------------------------------------------------------------------------- -File matches: -package.json --------------------------------------------------------------------------------- - -The MIT License (MIT) - -Copyright (c) 2014-2016, Jon Schlinkert - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - -* Package Info * - -Authors: github@sellside.com, brian.woodward@gmail.com - -Package Download URL: https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz - --------------------------------------------------------------------------------- -Package Title: assign-symbols (1.0.0) - -Package Locator: npm+assign-symbols$1.0.0 - -Package Depth: Transitive --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2015, Jon Schlinkert. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - -* Package Info * - -Authors: github@sellside.com, blaine.bublitz@gmail.com - -Package Download URL: https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz - --------------------------------------------------------------------------------- -Package Title: async-each (1.0.3) - -Package Locator: npm+async-each$1.0.3 - -Package Depth: Transitive --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - --------------------------------------------------------------------------------- -File matches: -package.json --------------------------------------------------------------------------------- - -Copyright (c) 2016 Paul Miller [(paulmillr.com)](http://paulmillr.com) -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - -* Package Info * - -Authors: elan.shanker+npm@gmail.com, paul@paulmillr.com - -Package Download URL: https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz - --------------------------------------------------------------------------------- -Package Title: atob (2.1.2) - -Package Locator: npm+atob$2.1.2 - -Package Depth: Transitive --------------------------------------------------------------------------------- - -* Declared Licenses * -Multi-license: Apache-2.0 OR MIT, CC-BY-3.0 - -* Multi-license: Apache-2.0 OR MIT * --------------------------------------------------------------------------------- -File matches: -bower.json -LICENSE -package.json --------------------------------------------------------------------------------- - -LICENSE -======= - -Code copyright 2012-2018 AJ ONeal - -Dual-licensed MIT and Apache-2.0 - -Docs copyright 2012-2018 AJ ONeal - -Docs released under [Creative Commons](https://git.coolaj86.com/coolaj86/atob.js/blob/master/LICENSE.DOCS). - -* CC-BY-3.0 * --------------------------------------------------------------------------------- -File matches: -LICENSE.DOCS --------------------------------------------------------------------------------- - -THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED. -BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE TO BE BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS LICENSE MAY BE CONSIDERED TO BE A CONTRACT, THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND CONDITIONS. - 1. Definitions - a. "Adaptation" means a work based upon the Work, or upon the Work and other pre-existing works, such as a translation, adaptation, derivative work, arrangement of music or other alterations of a literary or artistic work, or phonogram or performance and includes cinematographic adaptations or any other form in which the Work may be recast, transformed, or adapted including in any form recognizably derived from the original, except that a work that constitutes a Collection will not be considered an Adaptation for the purpose of this License. For the avoidance of doubt, where the Work is a musical work, performance or phonogram, the synchronization of the Work in timed-relation with a moving image ("synching") will be considered an Adaptation for the purpose of this License. - b. "Collection" means a collection of literary or artistic works, such as encyclopedias and anthologies, or performances, phonograms or broadcasts, or other works or subject matter other than works listed in Section 1(f) below, which, by reason of the selection and arrangement of their contents, constitute intellectual creations, in which the Work is included in its entirety in unmodified form along with one or more other contributions, each constituting separate and independent works in themselves, which together are assembled into a collective whole. A work that constitutes a Collection will not be considered an Adaptation (as defined above) for the purposes of this License. - c. "Distribute" means to make available to the public the original and copies of the Work or Adaptation, as appropriate, through sale or other transfer of ownership. - d. "Licensor" means the individual, individuals, entity or entities that offer(s) the Work under the terms of this License. - e. "Original Author" means, in the case of a literary or artistic work, the individual, individuals, entity or entities who created the Work or if no individual or entity can be identified, the publisher; and in addition (i) in the case of a performance the actors, singers, musicians, dancers, and other persons who act, sing, deliver, declaim, play in, interpret or otherwise perform literary or artistic works or expressions of folklore; (ii) in the case of a phonogram the producer being the person or legal entity who first fixes the sounds of a performance or other sounds; and, (iii) in the case of broadcasts, the organization that transmits the broadcast. - f. "Work" means the literary and/or artistic work offered under the terms of this License including without limitation any production in the literary, scientific and artistic domain, whatever may be the mode or form of its expression including digital form, such as a book, pamphlet and other writing; a lecture, address, sermon or other work of the same nature; a dramatic or dramatico-musical work; a choreographic work or entertainment in dumb show; a musical composition with or without words; a cinematographic work to which are assimilated works expressed by a process analogous to cinematography; a work of drawing, painting, architecture, sculpture, engraving or lithography; a photographic work to which are assimilated works expressed by a process analogous to photography; a work of applied art; an illustration, map, plan, sketch or three-dimensional work relative to geography, topography, architecture or science; a performance; a broadcast; a phonogram; a compilation of data to the extent it is protected as a copyrightable work; or a work performed by a variety or circus performer to the extent it is not otherwise considered a literary or artistic work. - g. "You" means an individual or entity exercising rights under this License who has not previously violated the terms of this License with respect to the Work, or who has received express permission from the Licensor to exercise rights under this License despite a previous violation. - h. "Publicly Perform" means to perform public recitations of the Work and to communicate to the public those public recitations, by any means or process, including by wire or wireless means or public digital performances; to make available to the public Works in such a way that members of the public may access these Works from a place and at a place individually chosen by them; to perform the Work to the public by any means or process and the communication to the public of the performances of the Work, including by public digital performance; to broadcast and rebroadcast the Work by any means including signs, sounds or images. - i. "Reproduce" means to make copies of the Work by any means including without limitation by sound or visual recordings and the right of fixation and reproducing fixations of the Work, including storage of a protected performance or phonogram in digital form or other electronic medium. - 2. Fair Dealing Rights. Nothing in this License is intended to reduce, limit, or restrict any uses free from copyright or rights arising from limitations or exceptions that are provided for in connection with the copyright protection under copyright law or other applicable laws. - 3. License Grant. Subject to the terms and conditions of this License, Licensor hereby grants You a worldwide, royalty-free, non-exclusive, perpetual (for the duration of the applicable copyright) license to exercise the rights in the Work as stated below: - a. to Reproduce the Work, to incorporate the Work into one or more Collections, and to Reproduce the Work as incorporated in the Collections; - b. to create and Reproduce Adaptations provided that any such Adaptation, including any translation in any medium, takes reasonable steps to clearly label, demarcate or otherwise identify that changes were made to the original Work. For example, a translation could be marked "The original work was translated from English to Spanish," or a modification could indicate "The original work has been modified."; - c. to Distribute and Publicly Perform the Work including as incorporated in Collections; and, - d. to Distribute and Publicly Perform Adaptations. - e. For the avoidance of doubt: - i. Non-waivable Compulsory License Schemes. In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme cannot be waived, the Licensor reserves the exclusive right to collect such royalties for any exercise by You of the rights granted under this License; - ii. Waivable Compulsory License Schemes. In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme can be waived, the Licensor waives the exclusive right to collect such royalties for any exercise by You of the rights granted under this License; and, - iii. Voluntary License Schemes. The Licensor waives the right to collect royalties, whether individually or, in the event that the Licensor is a member of a collecting society that administers voluntary licensing schemes, via that society, from any exercise by You of the rights granted under this License. - The above rights may be exercised in all media and formats whether now known or hereafter devised. The above rights include the right to make such modifications as are technically necessary to exercise the rights in other media and formats. Subject to Section 8(f), all rights not expressly granted by Licensor are hereby reserved. - 4. Restrictions. The license granted in Section 3 above is expressly made subject to and limited by the following restrictions: - a. You may Distribute or Publicly Perform the Work only under the terms of this License. You must include a copy of, or the Uniform Resource Identifier (URI) for, this License with every copy of the Work You Distribute or Publicly Perform. You may not offer or impose any terms on the Work that restrict the terms of this License or the ability of the recipient of the Work to exercise the rights granted to that recipient under the terms of the License. You may not sublicense the Work. You must keep intact all notices that refer to this License and to the disclaimer of warranties with every copy of the Work You Distribute or Publicly Perform. When You Distribute or Publicly Perform the Work, You may not impose any effective technological measures on the Work that restrict the ability of a recipient of the Work from You to exercise the rights granted to that recipient under the terms of the License. This Section 4(a) applies to the Work as incorporated in a Collection, but this does not require the Collection apart from the Work itself to be made subject to the terms of this License. If You create a Collection, upon notice from any Licensor You must, to the extent practicable, remove from the Collection any credit as required by Section 4(b), as requested. If You create an Adaptation, upon notice from any Licensor You must, to the extent practicable, remove from the Adaptation any credit as required by Section 4(b), as requested. - b. If You Distribute, or Publicly Perform the Work or any Adaptations or Collections, You must, unless a request has been made pursuant to Section 4(a), keep intact all copyright notices for the Work and provide, reasonable to the medium or means You are utilizing: (i) the name of the Original Author (or pseudonym, if applicable) if supplied, and/or if the Original Author and/or Licensor designate another party or parties (e.g., a sponsor institute, publishing entity, journal) for attribution ("Attribution Parties") in Licensor's copyright notice, terms of service or by other reasonable means, the name of such party or parties; (ii) the title of the Work if supplied; (iii) to the extent reasonably practicable, the URI, if any, that Licensor specifies to be associated with the Work, unless such URI does not refer to the copyright notice or licensing information for the Work; and (iv), consistent with Section 3(b), in the case of an Adaptation, a credit identifying the use of the Work in the Adaptation (e.g., "French translation of the Work by Original Author," or "Screenplay based on original Work by Original Author"). The credit required by this Section 4 (b) may be implemented in any reasonable manner; provided, however, that in the case of a Adaptation or Collection, at a minimum such credit will appear, if a credit for all contributing authors of the Adaptation or Collection appears, then as part of these credits and in a manner at least as prominent as the credits for the other contributing authors. For the avoidance of doubt, You may only use the credit required by this Section for the purpose of attribution in the manner set out above and, by exercising Your rights under this License, You may not implicitly or explicitly assert or imply any connection with, sponsorship or endorsement by the Original Author, Licensor and/or Attribution Parties, as appropriate, of You or Your use of the Work, without the separate, express prior written permission of the Original Author, Licensor and/or Attribution Parties. - c. Except as otherwise agreed in writing by the Licensor or as may be otherwise permitted by applicable law, if You Reproduce, Distribute or Publicly Perform the Work either by itself or as part of any Adaptations or Collections, You must not distort, mutilate, modify or take other derogatory action in relation to the Work which would be prejudicial to the Original Author's honor or reputation. Licensor agrees that in those jurisdictions (e.g. Japan), in which any exercise of the right granted in Section 3(b) of this License (the right to make Adaptations) would be deemed to be a distortion, mutilation, modification or other derogatory action prejudicial to the Original Author's honor and reputation, the Licensor will waive or not assert, as appropriate, this Section, to the fullest extent permitted by the applicable national law, to enable You to reasonably exercise Your right under Section 3(b) of this License (right to make Adaptations) but not otherwise. - 5. Representations, Warranties and Disclaimer - UNLESS OTHERWISE MUTUALLY AGREED TO BY THE PARTIES IN WRITING, LICENSOR OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY, FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS, WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU. - 6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. - 7. Termination - a. This License and the rights granted hereunder will terminate automatically upon any breach by You of the terms of this License. Individuals or entities who have received Adaptations or Collections from You under this License, however, will not have their licenses terminated provided such individuals or entities remain in full compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will survive any termination of this License. - b. Subject to the above terms and conditions, the license granted here is perpetual (for the duration of the applicable copyright in the Work). Notwithstanding the above, Licensor reserves the right to release the Work under different license terms or to stop distributing the Work at any time; provided, however that any such election will not serve to withdraw this License (or any other license that has been, or is required to be, granted under the terms of this License), and this License will continue in full force and effect unless terminated as stated above. - 8. Miscellaneous - a. Each time You Distribute or Publicly Perform the Work or a Collection, the Licensor offers to the recipient a license to the Work on the same terms and conditions as the license granted to You under this License. - b. Each time You Distribute or Publicly Perform an Adaptation, Licensor offers to the recipient a license to the original Work on the same terms and conditions as the license granted to You under this License. - c. If any provision of this License is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this License, and without further action by the parties to this agreement, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable. - d. No term or provision of this License shall be deemed waived and no breach consented to unless such waiver or consent shall be in writing and signed by the party to be charged with such waiver or consent. This License constitutes the entire agreement between the parties with respect to the Work licensed here. There are no understandings, agreements or representations with respect to the Work not specified here. Licensor shall not be bound by any additional provisions that may appear in any communication from You. - e. This License may not be modified without the mutual written agreement of the Licensor and You. - f. The rights granted under, and the subject matter referenced, in this License were drafted utilizing the terminology of the Berne Convention for the Protection of Literary and Artistic Works (as amended on September 28, 1979), the Rome Convention of 1961, the WIPO Copyright Treaty of 1996, the WIPO Performances and Phonograms Treaty of 1996 and the Universal Copyright Convention (as revised on July 24, 1971). These rights and subject matter take effect in the relevant jurisdiction in which the License terms are sought to be enforced according to the corresponding provisions of the implementation of those treaty provisions in the applicable national law. If the standard suite of rights granted under applicable copyright law includes additional rights not granted under this License, such additional rights are deemed to be included in the License; this License is not intended to restrict the license of any rights under applicable law. -Creative Commons Notice -Creative Commons is not a party to this License, and makes no warranty whatsoever in connection with the Work. Creative Commons will not be liable to You or any party on any legal theory for any damages whatsoever, including without limitation any general, special, incidental or consequential damages arising in connection to this license. Notwithstanding the foregoing two (2) sentences, if Creative Commons has expressly identified itself as the Licensor hereunder, it shall have all rights and obligations of Licensor. -Except for the limited purpose of indicating to the public that the Work is licensed under the CCPL, Creative Commons does not authorize the use by either party of the trademark "Creative Commons" or any related trademark or logo of Creative Commons without the prior written consent of Creative Commons. Any permitted use will be in compliance with Creative Commons' then-current trademark usage guidelines, as may be published on its website or otherwise made available upon request from time to time. For the avoidance of doubt, this trademark restriction does not form part of this License. -Creative Commons may be contacted at http://creativecommons.org/. - - -* Package Info * - -Authors: coolaj86@gmail.com - -Package Download URL: https://registry.npmjs.org/atob/-/atob-2.1.2.tgz - --------------------------------------------------------------------------------- -Package Title: base (0.11.2) - -Package Locator: npm+base$0.11.2 - -Package Depth: Transitive --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - --------------------------------------------------------------------------------- -File matches: -package.json --------------------------------------------------------------------------------- - -The MIT License (MIT) - -Copyright (c) 2015-2017, Jon Schlinkert. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - -* Package Info * - -Authors: brian.woodward@gmail.com, github@sellside.com - -Package Download URL: https://registry.npmjs.org/base/-/base-0.11.2.tgz - --------------------------------------------------------------------------------- -Package Title: binary-extensions (1.12.0) - -Package Locator: npm+binary-extensions$1.12.0 - -Package Depth: Transitive --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - --------------------------------------------------------------------------------- -File matches: -license -package.json --------------------------------------------------------------------------------- - -Copyright (c) Sindre Sorhus (sindresorhus.com) -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - -* Package Info * - -Authors: paul@paulmillr.com, sindresorhus@gmail.com - -Package Download URL: https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.12.0.tgz - --------------------------------------------------------------------------------- -Package Title: braces (2.3.2) - -Package Locator: npm+braces$2.3.2 - -Package Depth: Transitive --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - --------------------------------------------------------------------------------- -File matches: -package.json --------------------------------------------------------------------------------- - -The MIT License (MIT) - -Copyright (c) 2014-2018, Jon Schlinkert. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - -* Package Info * - -Authors: elan.shanker+npm@gmail.com, paul@paulmillr.com, github@sellside.com, brian.woodward@gmail.com - -Package Download URL: https://registry.npmjs.org/braces/-/braces-2.3.2.tgz - --------------------------------------------------------------------------------- -Package Title: cache-base (1.0.1) - -Package Locator: npm+cache-base$1.0.1 - -Package Depth: Transitive --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - --------------------------------------------------------------------------------- -File matches: -package.json --------------------------------------------------------------------------------- - -The MIT License (MIT) - -Copyright (c) 2014-2017, Jon Schlinkert. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - -* Package Info * - -Authors: github@sellside.com, brian.woodward@gmail.com - -Package Download URL: https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz - --------------------------------------------------------------------------------- -Package Title: chokidar (2.1.8) - -Package Locator: npm+chokidar$2.1.8 - -Package Depth: Transitive --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - --------------------------------------------------------------------------------- -File matches: -package.json -README.md --------------------------------------------------------------------------------- - -Copyright (c) 2012-2019 Paul Miller (https://paulmillr.com) & Elan Shanker -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - -* Package Info * - -Authors: paul@paulmillr.com - -Package Download URL: https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz - --------------------------------------------------------------------------------- -Package Title: class-utils (0.3.6) - -Package Locator: npm+class-utils$0.3.6 - -Package Depth: Transitive --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - --------------------------------------------------------------------------------- -File matches: -LICENSE -package.json --------------------------------------------------------------------------------- - -The MIT License (MIT) - -Copyright (c) 2015, 2017-2018, Jon Schlinkert. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - -* Package Info * - -Authors: brian.woodward@gmail.com, github@sellside.com - -Package Download URL: https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz - --------------------------------------------------------------------------------- -Package Title: collection-visit (1.0.0) - -Package Locator: npm+collection-visit$1.0.0 - -Package Depth: Transitive --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2015, 2017, Jon Schlinkert - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - -* Package Info * - -Authors: brian.woodward@gmail.com, github@sellside.com - -Package Download URL: https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz - --------------------------------------------------------------------------------- -Package Title: component-emitter (1.2.1) - -Package Locator: npm+component-emitter$1.2.1 - -Package Depth: Transitive --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - --------------------------------------------------------------------------------- -File matches: -LICENSE -package.json --------------------------------------------------------------------------------- - -(The MIT License) - -Copyright (c) 2014 Component contributors - -Permission is hereby granted, free of charge, to any person -obtaining a copy of this software and associated documentation -files (the "Software"), to deal in the Software without -restriction, including without limitation the rights to use, -copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the -Software is furnished to do so, subject to the following -conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -OTHER DEALINGS IN THE SOFTWARE. - - - -* Package Info * - -Authors: thecoreh@gmail.com, arpad.borsos@googlemail.com, timaschew@gmail.com, hello@blakeembrey.com, antshort@gmail.com, ian@ianstormtaylor.com, vendethiel@hotmail.fr, clint@anotherway.co.za, cristiandouce@gmail.com, gstagas@gmail.com, rauchg@gmail.com, kelonyemitchel@gmail.com, amjad.masad@gmail.com, trevorgerhardt@gmail.com, julian@juliangruber.com, dnfagnan@gmail.com, dominic@segment.com, df.creative@gmail.com, mattmuelle@gmail.com, nathan@tootallnate.net, yields@icloud.com, me@stephenmathieson.com, rdsuarez@gmail.com, sindresorhus@gmail.com, tj@vision-media.ca, hughskennedy@gmail.com, secoif@gmail.com, jonathanrichardong@gmail.com, jonathanrichardong@gmail.com, forbes@lindesay.co.uk, calvin@calv.info, fabian.eichenberger@gmail.com, shtylman@gmail.com - -Package Download URL: https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz - --------------------------------------------------------------------------------- -Package Title: copy-descriptor (0.1.1) - -Package Locator: npm+copy-descriptor$0.1.1 - -Package Depth: Transitive --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - --------------------------------------------------------------------------------- -File matches: -package.json --------------------------------------------------------------------------------- - -The MIT License (MIT) - -Copyright (c) 2015-2016, Jon Schlinkert - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - -* Package Info * - -Authors: github@sellside.com - -Package Download URL: https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz - --------------------------------------------------------------------------------- -Package Title: core-util-is (1.0.2) - -Package Locator: npm+core-util-is$1.0.2 - -Package Depth: Transitive --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - --------------------------------------------------------------------------------- -File matches: -lib/util.js -LICENSE -package.json --------------------------------------------------------------------------------- - -Copyright Node.js contributors. All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to -deal in the Software without restriction, including without limitation the -rights to use, copy, modify, merge, publish, distribute, sublicense, and/or -sell copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS -IN THE SOFTWARE. - - - -* Package Info * - -Authors: i@izs.me - -Package Download URL: https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz - --------------------------------------------------------------------------------- -Package Title: debug (2.6.9) - -Package Locator: npm+debug$2.6.9 - -Package Depth: Transitive --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - --------------------------------------------------------------------------------- -File matches: -LICENSE -package.json -README.md --------------------------------------------------------------------------------- - -(The MIT License) - -Copyright (c) 2014 TJ Holowaychuk - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software -and associated documentation files (the 'Software'), to deal in the Software without restriction, -including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, -and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial -portions of the Software. - -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT -LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - - - -* Package Info * - -Authors: npm@josh.junon.me, nathan@tootallnate.net - -Package Download URL: https://registry.npmjs.org/debug/-/debug-2.6.9.tgz - --------------------------------------------------------------------------------- -Package Title: decode-uri-component (0.2.0) - -Package Locator: npm+decode-uri-component$0.2.0 - -Package Depth: Transitive --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - --------------------------------------------------------------------------------- -File matches: -license -package.json --------------------------------------------------------------------------------- - -Copyright (c) Sam Verschueren (github.com/SamVerschueren) -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - -* Package Info * - -Authors: sam.verschueren@gmail.com - -Package Download URL: https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz - --------------------------------------------------------------------------------- -Package Title: define-property (0.2.5) - -Package Locator: npm+define-property$0.2.5 - -Package Depth: Transitive --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - --------------------------------------------------------------------------------- -File matches: -LICENSE -package.json --------------------------------------------------------------------------------- - -The MIT License (MIT) - -Copyright (c) 2015, Jon Schlinkert. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - -* Package Info * - -Authors: brian.woodward@gmail.com, github@sellside.com - -Package Download URL: https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz - --------------------------------------------------------------------------------- -Package Title: define-property (1.0.0) - -Package Locator: npm+define-property$1.0.0 - -Package Depth: Transitive --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - --------------------------------------------------------------------------------- -File matches: -LICENSE -package.json --------------------------------------------------------------------------------- - -The MIT License (MIT) - -Copyright (c) 2015, 2017, Jon Schlinkert - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - -* Package Info * - -Authors: brian.woodward@gmail.com, github@sellside.com - -Package Download URL: https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz - --------------------------------------------------------------------------------- -Package Title: define-property (2.0.2) - -Package Locator: npm+define-property$2.0.2 - -Package Depth: Transitive --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2015-2018, Jon Schlinkert. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - -* Package Info * - -Authors: brian.woodward@gmail.com, github@sellside.com - -Package Download URL: https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz - --------------------------------------------------------------------------------- -Package Title: expand-brackets (2.1.4) - -Package Locator: npm+expand-brackets$2.1.4 - -Package Depth: Transitive --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - --------------------------------------------------------------------------------- -File matches: -LICENSE -package.json --------------------------------------------------------------------------------- - -The MIT License (MIT) - -Copyright (c) 2015-2016, Jon Schlinkert - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - -* Package Info * - -Authors: daniel@tschinder.de, brian.woodward@gmail.com, elan.shanker+npm@gmail.com, github@sellside.com - -Package Download URL: https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz - --------------------------------------------------------------------------------- -Package Title: extend-shallow (2.0.1) - -Package Locator: npm+extend-shallow$2.0.1 - -Package Depth: Transitive --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - --------------------------------------------------------------------------------- -File matches: -LICENSE -package.json --------------------------------------------------------------------------------- - -The MIT License (MIT) - -Copyright (c) 2014-2015, Jon Schlinkert. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - -* Package Info * - -Authors: blaine.bublitz@gmail.com, github@sellside.com - -Package Download URL: https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz - --------------------------------------------------------------------------------- -Package Title: extend-shallow (3.0.2) - -Package Locator: npm+extend-shallow$3.0.2 - -Package Depth: Transitive --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2014-2015, 2017, Jon Schlinkert. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - -* Package Info * - -Authors: blaine.bublitz@gmail.com, github@sellside.com - -Package Download URL: https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz - --------------------------------------------------------------------------------- -Package Title: extglob (2.0.4) - -Package Locator: npm+extglob$2.0.4 - -Package Depth: Transitive --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - --------------------------------------------------------------------------------- -File matches: -LICENSE -package.json --------------------------------------------------------------------------------- - -The MIT License (MIT) - -Copyright (c) 2015-2017, Jon Schlinkert. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - -* Package Info * - -Authors: daniel@tschinder.de, github@sellside.com - -Package Download URL: https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz - --------------------------------------------------------------------------------- -Package Title: fill-range (4.0.0) - -Package Locator: npm+fill-range$4.0.0 - -Package Depth: Transitive --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - --------------------------------------------------------------------------------- -File matches: -LICENSE -package.json --------------------------------------------------------------------------------- - -The MIT License (MIT) - -Copyright (c) 2014-2017, Jon Schlinkert - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - -* Package Info * - -Authors: elan.shanker+npm@gmail.com, paul@paulmillr.com, github@sellside.com, brian.woodward@gmail.com - -Package Download URL: https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz - --------------------------------------------------------------------------------- -Package Title: for-in (1.0.2) - -Package Locator: npm+for-in$1.0.2 - -Package Depth: Transitive --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - --------------------------------------------------------------------------------- -File matches: -LICENSE -package.json --------------------------------------------------------------------------------- - -The MIT License (MIT) - -Copyright (c) 2014-2017, Jon Schlinkert - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - -* Package Info * - -Authors: github@sellside.com, brian.woodward@gmail.com - -Package Download URL: https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz - --------------------------------------------------------------------------------- -Package Title: fragment-cache (0.2.1) - -Package Locator: npm+fragment-cache$0.2.1 - -Package Depth: Transitive --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - --------------------------------------------------------------------------------- -File matches: -package.json --------------------------------------------------------------------------------- - -The MIT License (MIT) - -Copyright (c) 2016-2017, Jon Schlinkert - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - -* Package Info * - -Authors: github@sellside.com - -Package Download URL: https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz - --------------------------------------------------------------------------------- -Package Title: get-value (2.0.6) - -Package Locator: npm+get-value$2.0.6 - -Package Depth: Transitive --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - --------------------------------------------------------------------------------- -File matches: -LICENSE -package.json --------------------------------------------------------------------------------- - -The MIT License (MIT) - -Copyright (c) 2014-2016, Jon Schlinkert. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - -* Package Info * - -Authors: github@sellside.com, brian.woodward@gmail.com - -Package Download URL: https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz - --------------------------------------------------------------------------------- -Package Title: glob-parent (3.1.0) - -Package Locator: npm+glob-parent$3.1.0 - -Package Depth: Transitive --------------------------------------------------------------------------------- - -* Declared Licenses * -ISC - --------------------------------------------------------------------------------- -File matches: -LICENSE -package.json --------------------------------------------------------------------------------- - -The ISC License -​ -Copyright (c) 2015 Elan Shanker -​ -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. -​ -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR -IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -​ - - - -* Package Info * - -Authors: blaine.bublitz@gmail.com, yo@contra.io, elan.shanker+npm@gmail.com, github@sellside.com, brian.woodward@gmail.com - -Package Download URL: https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz - --------------------------------------------------------------------------------- -Package Title: graceful-fs (4.2.4) - -Package Locator: npm+graceful-fs$4.2.4 - -Package Depth: Transitive --------------------------------------------------------------------------------- - -* Declared Licenses * -ISC - --------------------------------------------------------------------------------- -File matches: -LICENSE -package.json --------------------------------------------------------------------------------- - -The ISC License - -Copyright (c) Isaac Z. Schlueter, Ben Noordhuis, and Contributors - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR -IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - - - -* Package Info * - -Authors: i@izs.me - -Package Download URL: https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz - --------------------------------------------------------------------------------- -Package Title: has-value (0.3.1) - -Package Locator: npm+has-value$0.3.1 - -Package Depth: Transitive --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - --------------------------------------------------------------------------------- -File matches: -LICENSE -package.json --------------------------------------------------------------------------------- - -The MIT License (MIT) - -Copyright (c) 2014-2016, Jon Schlinkert. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - -* Package Info * - -Authors: github@sellside.com - -Package Download URL: https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz - --------------------------------------------------------------------------------- -Package Title: has-value (1.0.0) - -Package Locator: npm+has-value$1.0.0 - -Package Depth: Transitive --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - --------------------------------------------------------------------------------- -File matches: -LICENSE -package.json --------------------------------------------------------------------------------- - -The MIT License (MIT) - -Copyright (c) 2014-2017, Jon Schlinkert - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - -* Package Info * - -Authors: github@sellside.com - -Package Download URL: https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz - --------------------------------------------------------------------------------- -Package Title: has-values (0.1.4) - -Package Locator: npm+has-values$0.1.4 - -Package Depth: Transitive --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - --------------------------------------------------------------------------------- -File matches: -LICENSE -package.json --------------------------------------------------------------------------------- - -The MIT License (MIT) - -Copyright (c) 2014-2016, Jon Schlinkert. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - -* Package Info * - -Authors: github@sellside.com - -Package Download URL: https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz - --------------------------------------------------------------------------------- -Package Title: has-values (1.0.0) - -Package Locator: npm+has-values$1.0.0 - -Package Depth: Transitive --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - --------------------------------------------------------------------------------- -File matches: -LICENSE -package.json --------------------------------------------------------------------------------- - -The MIT License (MIT) - -Copyright (c) 2014-2017, Jon Schlinkert - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - -* Package Info * - -Authors: github@sellside.com - -Package Download URL: https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz - --------------------------------------------------------------------------------- -Package Title: history (4.7.2) - -Package Locator: npm+history$4.7.2 - -Package Depth: Transitive --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - --------------------------------------------------------------------------------- -File matches: -LICENSE.md -package.json --------------------------------------------------------------------------------- - -The MIT License (MIT) - -Copyright (c) 2015-2016 Michael Jackson - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - -* Package Info * - -Authors: npm@mjackson.me - -Package Download URL: https://registry.npmjs.org/history/-/history-4.7.2.tgz - --------------------------------------------------------------------------------- -Package Title: hoist-non-react-statics (2.5.5) - -Package Locator: npm+hoist-non-react-statics$2.5.5 - -Package Depth: Transitive --------------------------------------------------------------------------------- - -* Declared Licenses * -BSD-3-Clause - --------------------------------------------------------------------------------- -File matches: -LICENSE.md -package.json --------------------------------------------------------------------------------- - -Software License Agreement (BSD License) -======================================== - -Copyright (c) 2015, Yahoo! Inc. All rights reserved. ----------------------------------------------------- - -Redistribution and use of this software in source and binary forms, with or -without modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - * Neither the name of Yahoo! Inc. nor the names of YUI's contributors may be - used to endorse or promote products derived from this software without - specific prior written permission of Yahoo! Inc. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - -* Package Info * - -Authors: mcridgway@gmail.com - -Package Download URL: https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-2.5.5.tgz - --------------------------------------------------------------------------------- -Package Title: inherits (2.0.4) - -Package Locator: npm+inherits$2.0.4 - -Package Depth: Transitive --------------------------------------------------------------------------------- - -* Declared Licenses * -ISC - --------------------------------------------------------------------------------- -File matches: -LICENSE -package.json --------------------------------------------------------------------------------- - -The ISC License - -Copyright (c) Isaac Z. Schlueter - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH -REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, -INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM -LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR -OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR -PERFORMANCE OF THIS SOFTWARE. - - - - -* Package Info * - -Authors: i@izs.me - -Package Download URL: https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz - --------------------------------------------------------------------------------- -Package Title: invariant (2.2.4) - -Package Locator: npm+invariant$2.2.4 - -Package Depth: Transitive --------------------------------------------------------------------------------- - -* Declared Licenses * -BSD-3-Clause - - -Copyright (c) 2016, Andres Suarez -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -* Neither the name of invariant nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - -* Package Info * - -Authors: christoph.pojer@gmail.com, zertosh@gmail.com - -Package Download URL: https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz - --------------------------------------------------------------------------------- -Package Title: is-accessor-descriptor (0.1.6) - -Package Locator: npm+is-accessor-descriptor$0.1.6 - -Package Depth: Transitive --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - --------------------------------------------------------------------------------- -File matches: -LICENSE -package.json --------------------------------------------------------------------------------- - -The MIT License (MIT) - -Copyright (c) 2015, Jon Schlinkert. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - -* Package Info * - -Authors: ljharb@gmail.com, github@sellside.com - -Package Download URL: https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz - --------------------------------------------------------------------------------- -Package Title: is-accessor-descriptor (1.0.0) - -Package Locator: npm+is-accessor-descriptor$1.0.0 - -Package Depth: Transitive --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - --------------------------------------------------------------------------------- -File matches: -LICENSE -package.json --------------------------------------------------------------------------------- - -The MIT License (MIT) - -Copyright (c) 2015-2017, Jon Schlinkert. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - -* Package Info * - -Authors: ljharb@gmail.com, github@sellside.com - -Package Download URL: https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz - --------------------------------------------------------------------------------- -Package Title: is-binary-path (1.0.1) - -Package Locator: npm+is-binary-path$1.0.1 - -Package Depth: Transitive --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - --------------------------------------------------------------------------------- -File matches: -license -package.json --------------------------------------------------------------------------------- - -Copyright (c) Sindre Sorhus (sindresorhus.com) -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - -* Package Info * - -Authors: paul@paulmillr.com, sindresorhus@gmail.com - -Package Download URL: https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz - --------------------------------------------------------------------------------- -Package Title: is-buffer (1.1.6) - -Package Locator: npm+is-buffer$1.1.6 - -Package Depth: Transitive --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) Feross Aboukhadijeh - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - -* Package Info * - -Authors: feross@feross.org - -Package Download URL: https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz - --------------------------------------------------------------------------------- -Package Title: is-data-descriptor (0.1.4) - -Package Locator: npm+is-data-descriptor$0.1.4 - -Package Depth: Transitive --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - --------------------------------------------------------------------------------- -File matches: -LICENSE -package.json --------------------------------------------------------------------------------- - -The MIT License (MIT) - -Copyright (c) 2015, Jon Schlinkert. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - -* Package Info * - -Authors: ljharb@gmail.com, github@sellside.com - -Package Download URL: https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz - --------------------------------------------------------------------------------- -Package Title: is-data-descriptor (1.0.0) - -Package Locator: npm+is-data-descriptor$1.0.0 - -Package Depth: Transitive --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - --------------------------------------------------------------------------------- -File matches: -LICENSE -package.json --------------------------------------------------------------------------------- - -The MIT License (MIT) - -Copyright (c) 2015-2017, Jon Schlinkert. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - -* Package Info * - -Authors: ljharb@gmail.com, github@sellside.com - -Package Download URL: https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz - --------------------------------------------------------------------------------- -Package Title: is-descriptor (0.1.6) - -Package Locator: npm+is-descriptor$0.1.6 - -Package Depth: Transitive --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - --------------------------------------------------------------------------------- -File matches: -package.json --------------------------------------------------------------------------------- - -The MIT License (MIT) - -Copyright (c) 2015-2017, Jon Schlinkert. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - -* Package Info * - -Authors: ljharb@gmail.com, github@sellside.com - -Package Download URL: https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz - --------------------------------------------------------------------------------- -Package Title: is-descriptor (1.0.2) - -Package Locator: npm+is-descriptor$1.0.2 - -Package Depth: Transitive --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - --------------------------------------------------------------------------------- -File matches: -LICENSE -package.json --------------------------------------------------------------------------------- - -The MIT License (MIT) - -Copyright (c) 2015-2017, Jon Schlinkert. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - -* Package Info * - -Authors: ljharb@gmail.com, github@sellside.com - -Package Download URL: https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz - --------------------------------------------------------------------------------- -Package Title: is-extendable (0.1.1) - -Package Locator: npm+is-extendable$0.1.1 - -Package Depth: Transitive --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - --------------------------------------------------------------------------------- -File matches: -LICENSE -package.json --------------------------------------------------------------------------------- - -The MIT License (MIT) - -Copyright (c) 2015, Jon Schlinkert. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - -* Package Info * - -Authors: brian.woodward@gmail.com, github@sellside.com - -Package Download URL: https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz - --------------------------------------------------------------------------------- -Package Title: is-extendable (1.0.1) - -Package Locator: npm+is-extendable$1.0.1 - -Package Depth: Transitive --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - --------------------------------------------------------------------------------- -File matches: -LICENSE -package.json --------------------------------------------------------------------------------- - -The MIT License (MIT) - -Copyright (c) 2015-2017, Jon Schlinkert. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - -* Package Info * - -Authors: brian.woodward@gmail.com, github@sellside.com - -Package Download URL: https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz - --------------------------------------------------------------------------------- -Package Title: is-extglob (2.1.1) - -Package Locator: npm+is-extglob$2.1.1 - -Package Depth: Transitive --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - --------------------------------------------------------------------------------- -File matches: -LICENSE -package.json --------------------------------------------------------------------------------- - -The MIT License (MIT) - -Copyright (c) 2014-2016, Jon Schlinkert - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - -* Package Info * - -Authors: github@sellside.com - -Package Download URL: https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz - --------------------------------------------------------------------------------- -Package Title: is-glob (3.1.0) - -Package Locator: npm+is-glob$3.1.0 - -Package Depth: Transitive --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - --------------------------------------------------------------------------------- -File matches: -LICENSE -package.json --------------------------------------------------------------------------------- - -The MIT License (MIT) - -Copyright (c) 2014-2016, Jon Schlinkert. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - -* Package Info * - -Authors: blaine.bublitz@gmail.com, github@sellside.com, brian.woodward@gmail.com - -Package Download URL: https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz - --------------------------------------------------------------------------------- -Package Title: is-glob (4.0.0) - -Package Locator: npm+is-glob$4.0.0 - -Package Depth: Transitive --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - --------------------------------------------------------------------------------- -File matches: -LICENSE -package.json --------------------------------------------------------------------------------- - -The MIT License (MIT) - -Copyright (c) 2014-2017, Jon Schlinkert. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - -* Package Info * - -Authors: blaine.bublitz@gmail.com, github@sellside.com, brian.woodward@gmail.com - -Package Download URL: https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz - --------------------------------------------------------------------------------- -Package Title: is-number (3.0.0) - -Package Locator: npm+is-number$3.0.0 - -Package Depth: Transitive --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - --------------------------------------------------------------------------------- -File matches: -LICENSE -package.json --------------------------------------------------------------------------------- - -The MIT License (MIT) - -Copyright (c) 2014-2016, Jon Schlinkert - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - -* Package Info * - -Authors: brian.woodward@gmail.com, github@sellside.com, me@rouvenwessling.de - -Package Download URL: https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz - --------------------------------------------------------------------------------- -Package Title: is-plain-object (2.0.4) - -Package Locator: npm+is-plain-object$2.0.4 - -Package Depth: Transitive --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - --------------------------------------------------------------------------------- -File matches: -LICENSE -package.json --------------------------------------------------------------------------------- - -The MIT License (MIT) - -Copyright (c) 2014-2017, Jon Schlinkert. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - -* Package Info * - -Authors: contact@svachon.com, trysound@yandex.ru, github@sellside.com - -Package Download URL: https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz - --------------------------------------------------------------------------------- -Package Title: is-windows (1.0.2) - -Package Locator: npm+is-windows$1.0.2 - -Package Depth: Transitive --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - --------------------------------------------------------------------------------- -File matches: -LICENSE -package.json --------------------------------------------------------------------------------- - -The MIT License (MIT) - -Copyright (c) 2015-2018, Jon Schlinkert. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - -* Package Info * - -Authors: brian.woodward@gmail.com, github@sellside.com - -Package Download URL: https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz - --------------------------------------------------------------------------------- -Package Title: isarray (0.0.1) - -Package Locator: npm+isarray$0.0.1 - -Package Depth: Transitive --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - --------------------------------------------------------------------------------- -File matches: -package.json -README.md --------------------------------------------------------------------------------- - -Copyright (c) 2013 Julian Gruber <julian@juliangruber.com> -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - -* Package Info * - -Authors: julian@juliangruber.com - -Package Download URL: https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz - --------------------------------------------------------------------------------- -Package Title: isarray (1.0.0) - -Package Locator: npm+isarray$1.0.0 - -Package Depth: Transitive --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - --------------------------------------------------------------------------------- -File matches: -package.json -README.md --------------------------------------------------------------------------------- - -Copyright (c) 2013 Julian Gruber <julian@juliangruber.com> -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - -* Package Info * - -Authors: julian@juliangruber.com - -Package Download URL: https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz - --------------------------------------------------------------------------------- -Package Title: isobject (2.1.0) - -Package Locator: npm+isobject$2.1.0 - -Package Depth: Transitive --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - --------------------------------------------------------------------------------- -File matches: -LICENSE -package.json --------------------------------------------------------------------------------- - -The MIT License (MIT) - -Copyright (c) 2014-2016, Jon Schlinkert. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - -* Package Info * - -Authors: brian.woodward@gmail.com, github@sellside.com, trysound@yandex.ru - -Package Download URL: https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz - --------------------------------------------------------------------------------- -Package Title: isobject (3.0.1) - -Package Locator: npm+isobject$3.0.1 - -Package Depth: Transitive --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - --------------------------------------------------------------------------------- -File matches: -LICENSE -package.json --------------------------------------------------------------------------------- - -The MIT License (MIT) - -Copyright (c) 2014-2017, Jon Schlinkert. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - -* Package Info * - -Authors: brian.woodward@gmail.com, github@sellside.com, trysound@yandex.ru - -Package Download URL: https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz - --------------------------------------------------------------------------------- -Package Title: js-tokens (4.0.0) - -Package Locator: npm+js-tokens$4.0.0 - -Package Depth: Transitive --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - --------------------------------------------------------------------------------- -File matches: -LICENSE -package.json --------------------------------------------------------------------------------- - -The MIT License (MIT) - -Copyright (c) 2014, 2015, 2016, 2017, 2018 Simon Lydell - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - -* Package Info * - -Authors: simon.lydell@gmail.com - -Package Download URL: https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz - --------------------------------------------------------------------------------- -Package Title: kind-of (3.2.2) - -Package Locator: npm+kind-of$3.2.2 - -Package Depth: Transitive --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - --------------------------------------------------------------------------------- -File matches: -LICENSE -package.json --------------------------------------------------------------------------------- - -The MIT License (MIT) - -Copyright (c) 2014-2017, Jon Schlinkert - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - -* Package Info * - -Authors: brian.woodward@gmail.com, github@sellside.com - -Package Download URL: https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz - --------------------------------------------------------------------------------- -Package Title: kind-of (4.0.0) - -Package Locator: npm+kind-of$4.0.0 - -Package Depth: Transitive --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - --------------------------------------------------------------------------------- -File matches: -LICENSE -package.json --------------------------------------------------------------------------------- - -The MIT License (MIT) - -Copyright (c) 2014-2017, Jon Schlinkert - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - -* Package Info * - -Authors: brian.woodward@gmail.com, github@sellside.com - -Package Download URL: https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz - --------------------------------------------------------------------------------- -Package Title: kind-of (5.1.0) - -Package Locator: npm+kind-of$5.1.0 - -Package Depth: Transitive --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - --------------------------------------------------------------------------------- -File matches: -LICENSE -package.json --------------------------------------------------------------------------------- - -The MIT License (MIT) - -Copyright (c) 2014-2017, Jon Schlinkert. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - -* Package Info * - -Authors: brian.woodward@gmail.com, github@sellside.com - -Package Download URL: https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz - --------------------------------------------------------------------------------- -Package Title: kind-of (6.0.2) - -Package Locator: npm+kind-of$6.0.2 - -Package Depth: Transitive --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - --------------------------------------------------------------------------------- -File matches: -LICENSE -package.json --------------------------------------------------------------------------------- - -The MIT License (MIT) - -Copyright (c) 2014-2017, Jon Schlinkert. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - -* Package Info * - -Authors: brian.woodward@gmail.com, github@sellside.com - -Package Download URL: https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz - --------------------------------------------------------------------------------- -Package Title: loose-envify (1.4.0) - -Package Locator: npm+loose-envify$1.4.0 - -Package Depth: Transitive --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - --------------------------------------------------------------------------------- -File matches: -LICENSE -package.json --------------------------------------------------------------------------------- - -The MIT License (MIT) - -Copyright (c) 2015 Andres Suarez - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - -* Package Info * - -Authors: zertosh@gmail.com - -Package Download URL: https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz - --------------------------------------------------------------------------------- -Package Title: map-cache (0.2.2) - -Package Locator: npm+map-cache$0.2.2 - -Package Depth: Transitive --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2015-2016, Jon Schlinkert. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - -* Package Info * - -Authors: github@sellside.com - -Package Download URL: https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz - --------------------------------------------------------------------------------- -Package Title: map-visit (1.0.0) - -Package Locator: npm+map-visit$1.0.0 - -Package Depth: Transitive --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2015-2017, Jon Schlinkert - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - -* Package Info * - -Authors: brian.woodward@gmail.com, github@sellside.com - -Package Download URL: https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz - --------------------------------------------------------------------------------- -Package Title: micromatch (3.1.10) - -Package Locator: npm+micromatch$3.1.10 - -Package Depth: Transitive --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - --------------------------------------------------------------------------------- -File matches: -LICENSE -package.json --------------------------------------------------------------------------------- - -The MIT License (MIT) - -Copyright (c) 2014-2018, Jon Schlinkert. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - -* Package Info * - -Authors: elan.shanker+npm@gmail.com, paul@paulmillr.com, github@sellside.com, brian.woodward@gmail.com, npm@tschinder.de - -Package Download URL: https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz - --------------------------------------------------------------------------------- -Package Title: mixin-deep (1.3.1) - -Package Locator: npm+mixin-deep$1.3.1 - -Package Depth: Transitive --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - --------------------------------------------------------------------------------- -File matches: -LICENSE -package.json --------------------------------------------------------------------------------- - -The MIT License (MIT) - -Copyright (c) 2014-2015, 2017, Jon Schlinkert. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - -* Package Info * - -Authors: brian.woodward@gmail.com, github@sellside.com - -Package Download URL: https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz - --------------------------------------------------------------------------------- -Package Title: ms (2.0.0) - -Package Locator: npm+ms$2.0.0 - -Package Depth: Transitive --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - --------------------------------------------------------------------------------- -File matches: -license.md -package.json --------------------------------------------------------------------------------- - -Copyright (c) 2016 Zeit, Inc. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - -* Package Info * - -Authors: lsimon@commoner.com, lrobinson2011@gmail.com, hank@vercel.com, belen@vercel.com, samko9522@gmail.com, chris@leishman.org, nazareno@basement.studio, shu@chibicode.com, g.cobben@gmail.com, jared@palmer.net, jan.krems@gmail.com, prateek89born@gmail.com, josefrancisco.verdu@gmail.com, gbmonaco@google.com, houssein.djirdeh@gmail.com, jason@developit.ca, shubhie@gmail.com, npm@keanulee.com, atcastle@gmail.com, janicklasralph036@gmail.com, skllcrn@zeit.co, pvco.coursey@gmail.com, guybedford@gmail.com, ragojosefrancisco@gmail.com, williamli@bbi.io, mail@msweeneydev.com, allenhai03@gmail.com, rabautse@gmail.com, luisito453@gmail.com, mrfix84@gmail.com, jj@jjsweb.site, franco@basement.studio, iyatomi@gmail.com, timer150@gmail.com, ana.trajkovska2015@gmail.com, paulogdemitri@gmail.com, artzbitz@gmail.com, mark.glagola@gmail.com, luc.leray@gmail.com, team@zeit.co, steven@ceriously.com, juancampa@gmail.com, mail@connordav.is, ds303077135@gmail.com, joecohenr@gmail.com, thecodetheory@gmail.com, matheus.frndes@gmail.com, igor@klopov.com, mindrun@icloud.com, naoyuki.kanezawa@gmail.com, nathan@tootallnate.net, rauchg@gmail.com, tim@timneutkens.nl, javier.velasco86@gmail.com, hello@evilrabb.it - -Package Download URL: https://registry.npmjs.org/ms/-/ms-2.0.0.tgz - --------------------------------------------------------------------------------- -Package Title: nanomatch (1.2.13) - -Package Locator: npm+nanomatch$1.2.13 - -Package Depth: Transitive --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - --------------------------------------------------------------------------------- -File matches: -LICENSE --------------------------------------------------------------------------------- - -The MIT License (MIT) - -Copyright (c) 2016-2018, Jon Schlinkert. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - -* Package Info * - -Authors: daniel@tschinder.de, github@sellside.com - -Package Download URL: https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz - --------------------------------------------------------------------------------- -Package Title: normalize-path (2.1.1) - -Package Locator: npm+normalize-path$2.1.1 - -Package Depth: Transitive --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - --------------------------------------------------------------------------------- -File matches: -LICENSE -package.json --------------------------------------------------------------------------------- - -The MIT License (MIT) - -Copyright (c) 2014-2017, Jon Schlinkert - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - -* Package Info * - -Authors: brian.woodward@gmail.com, github@sellside.com, blaine.bublitz@gmail.com - -Package Download URL: https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz - --------------------------------------------------------------------------------- -Package Title: normalize-path (3.0.0) - -Package Locator: npm+normalize-path$3.0.0 - -Package Depth: Transitive --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - --------------------------------------------------------------------------------- -File matches: -LICENSE -package.json --------------------------------------------------------------------------------- - -The MIT License (MIT) - -Copyright (c) 2014-2018, Jon Schlinkert. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - -* Package Info * - -Authors: brian.woodward@gmail.com, github@sellside.com, blaine.bublitz@gmail.com - -Package Download URL: https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz - --------------------------------------------------------------------------------- -Package Title: object-assign (4.1.1) - -Package Locator: npm+object-assign$4.1.1 - -Package Depth: Transitive --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - --------------------------------------------------------------------------------- -File matches: -license -package.json --------------------------------------------------------------------------------- - -Copyright (c) Sindre Sorhus (sindresorhus.com) -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - -* Package Info * - -Authors: dan.abramov@gmail.com, sindresorhus@gmail.com, ben@benalpert.com - -Package Download URL: https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz - --------------------------------------------------------------------------------- -Package Title: object-copy (0.1.0) - -Package Locator: npm+object-copy$0.1.0 - -Package Depth: Transitive --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - --------------------------------------------------------------------------------- -File matches: -package.json --------------------------------------------------------------------------------- - -The MIT License (MIT) - -Copyright (c) 2016, Jon Schlinkert. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - -* Package Info * - -Authors: github@sellside.com - -Package Download URL: https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz - --------------------------------------------------------------------------------- -Package Title: object-visit (1.0.1) - -Package Locator: npm+object-visit$1.0.1 - -Package Depth: Transitive --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - --------------------------------------------------------------------------------- -File matches: -LICENSE -package.json --------------------------------------------------------------------------------- - -The MIT License (MIT) - -Copyright (c) 2015, 2017, Jon Schlinkert - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - -* Package Info * - -Authors: github@sellside.com - -Package Download URL: https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz - --------------------------------------------------------------------------------- -Package Title: object.pick (1.3.0) - -Package Locator: npm+object.pick$1.3.0 - -Package Depth: Transitive --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - --------------------------------------------------------------------------------- -File matches: -LICENSE -package.json --------------------------------------------------------------------------------- - -The MIT License (MIT) - -Copyright (c) 2014-2016, Jon Schlinkert. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - -* Package Info * - -Authors: blaine.bublitz@gmail.com, github@sellside.com - -Package Download URL: https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz - --------------------------------------------------------------------------------- -Package Title: pascalcase (0.1.1) - -Package Locator: npm+pascalcase$0.1.1 - -Package Depth: Transitive --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - --------------------------------------------------------------------------------- -File matches: -LICENSE -package.json --------------------------------------------------------------------------------- - -The MIT License (MIT) - -Copyright (c) 2015, Jon Schlinkert. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - -* Package Info * - -Authors: github@sellside.com - -Package Download URL: https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz - --------------------------------------------------------------------------------- -Package Title: path-dirname (1.0.2) - -Package Locator: npm+path-dirname$1.0.2 - -Package Depth: Transitive --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - --------------------------------------------------------------------------------- -File matches: -license -package.json --------------------------------------------------------------------------------- - -Copyright (c) Elan Shanker and Node.js contributors. All rights reserved. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - -* Package Info * - -Authors: elan.shanker+npm@gmail.com - -Package Download URL: https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz - --------------------------------------------------------------------------------- -Package Title: path-is-absolute (1.0.1) - -Package Locator: npm+path-is-absolute$1.0.1 - -Package Depth: Transitive --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - --------------------------------------------------------------------------------- -File matches: -license -package.json --------------------------------------------------------------------------------- - -Copyright (c) Sindre Sorhus (sindresorhus.com) -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - -* Package Info * - -Authors: sindresorhus@gmail.com - -Package Download URL: https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz - --------------------------------------------------------------------------------- -Package Title: path-to-regexp (1.7.0) - -Package Locator: npm+path-to-regexp$1.7.0 - -Package Depth: Transitive --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - --------------------------------------------------------------------------------- -File matches: -LICENSE -package.json --------------------------------------------------------------------------------- - -The MIT License (MIT) - -Copyright (c) 2014 Blake Embrey (hello@blakeembrey.com) - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - -* Package Info * - -Authors: ulisesgascondev@gmail.com, hello@blakeembrey.com, doug@somethingdoug.com, jonathanrichardong@gmail.com, jonathanrichardong@gmail.com, shtylman@gmail.com - -Package Download URL: https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.7.0.tgz - --------------------------------------------------------------------------------- -Package Title: posix-character-classes (0.1.1) - -Package Locator: npm+posix-character-classes$0.1.1 - -Package Depth: Transitive --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - --------------------------------------------------------------------------------- -File matches: -LICENSE -package.json --------------------------------------------------------------------------------- - -The MIT License (MIT) - -Copyright (c) 2016-2017, Jon Schlinkert - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - -* Package Info * - -Authors: github@sellside.com - -Package Download URL: https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz - --------------------------------------------------------------------------------- -Package Title: process-nextick-args (2.0.0) - -Package Locator: npm+process-nextick-args$2.0.0 - -Package Depth: Transitive --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - --------------------------------------------------------------------------------- -File matches: -license.md -package.json --------------------------------------------------------------------------------- - -Copyright (c) 2015 Calvin Metcalf -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - -* Package Info * - -Authors: calvin.metcalf@gmail.com - -Package Download URL: https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz - --------------------------------------------------------------------------------- -Package Title: prop-types (15.7.2) - -Package Locator: npm+prop-types$15.7.2 - -Package Depth: Transitive --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - --------------------------------------------------------------------------------- -File matches: -checkPropTypes.js -factory.js -factoryWithThrowingShims.js -factoryWithTypeCheckers.js -index.js -lib/ReactPropTypesSecret.js -LICENSE -package.json -prop-types.js --------------------------------------------------------------------------------- - -MIT License - -Copyright (c) 2013-present, Facebook, Inc. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - -* Package Info * - -Authors: dan.abramov@gmail.com, npm@andrewclark.io, briandavidvaughn@gmail.com, ljharb@gmail.com, opensource+npm@fb.com, npm@sophiebits.com - -Package Download URL: https://registry.npmjs.org/prop-types/-/prop-types-15.7.2.tgz - --------------------------------------------------------------------------------- -Package Title: react-is (16.13.1) - -Package Locator: npm+react-is$16.13.1 - -Package Depth: Transitive --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - --------------------------------------------------------------------------------- -File matches: -cjs/react-is.development.js -cjs/react-is.production.min.js -LICENSE -package.json -umd/react-is.development.js -umd/react-is.production.min.js --------------------------------------------------------------------------------- - -MIT License - -Copyright (c) Facebook, Inc. and its affiliates. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - -* Package Info * - -Authors: opensource+npm@fb.com, react-core@meta.com - -Package Download URL: https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz - --------------------------------------------------------------------------------- -Package Title: react-router (4.3.1) - -Package Locator: npm+react-router$4.3.1 - -Package Depth: Transitive --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - --------------------------------------------------------------------------------- -File matches: -umd/react-router.js --------------------------------------------------------------------------------- - -Copyright (c) 2014-present, Facebook, Inc -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - -* Package Info * - -Authors: npm@mjackson.me, timdorr@timdorr.com - -Package Download URL: https://registry.npmjs.org/react-router/-/react-router-4.3.1.tgz - --------------------------------------------------------------------------------- -Package Title: react-router-dom (4.3.1) - -Package Locator: npm+react-router-dom$4.3.1 - -Package Depth: Direct --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - --------------------------------------------------------------------------------- -File matches: -package.json -umd/react-router-dom.js --------------------------------------------------------------------------------- - -MIT License - -Copyright (c) React Training 2016-2018 - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - -* Package Info * - -Authors: npm@mjackson.me, timdorr@timdorr.com - -Package Download URL: https://registry.npmjs.org/react-router-dom/-/react-router-dom-4.3.1.tgz - --------------------------------------------------------------------------------- -Package Title: readable-stream (2.3.7) - -Package Locator: npm+readable-stream$2.3.7 - -Package Depth: Transitive --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - --------------------------------------------------------------------------------- -File matches: -lib/_stream_duplex.js -lib/_stream_passthrough.js -lib/_stream_readable.js -lib/_stream_transform.js -lib/_stream_writable.js -LICENSE -package.json --------------------------------------------------------------------------------- - -Node.js is licensed for use as follows: - -""" -Copyright Node.js contributors. All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to -deal in the Software without restriction, including without limitation the -rights to use, copy, modify, merge, publish, distribute, sublicense, and/or -sell copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS -IN THE SOFTWARE. -""" - -This license applies to parts of Node.js originating from the -https://github.com/joyent/node repository: - -""" -Copyright Joyent, Inc. and other Node contributors. All rights reserved. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to -deal in the Software without restriction, including without limitation the -rights to use, copy, modify, merge, publish, distribute, sublicense, and/or -sell copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS -IN THE SOFTWARE. -""" - - - -* Package Info * - -Authors: calvin.metcalf@gmail.com, hello@matteocollina.com, build@iojs.org - -Package Download URL: https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz - --------------------------------------------------------------------------------- -Package Title: readdirp (2.2.1) - -Package Locator: npm+readdirp$2.2.1 - -Package Depth: Transitive --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - --------------------------------------------------------------------------------- -File matches: -LICENSE -package.json --------------------------------------------------------------------------------- - -This software is released under the MIT license: - -Copyright (c) 2012-2015 Thorsten Lorenz - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - - -* Package Info * - -Authors: paul@paulmillr.com, thlorenz10@gmail.com - -Package Download URL: https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz - --------------------------------------------------------------------------------- -Package Title: regex-not (1.0.2) - -Package Locator: npm+regex-not$1.0.2 - -Package Depth: Transitive --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - --------------------------------------------------------------------------------- -File matches: -LICENSE -package.json --------------------------------------------------------------------------------- - -The MIT License (MIT) - -Copyright (c) 2016, 2018, Jon Schlinkert. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - -* Package Info * - -Authors: github@sellside.com - -Package Download URL: https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz - --------------------------------------------------------------------------------- -Package Title: remove-trailing-separator (1.1.0) - -Package Locator: npm+remove-trailing-separator$1.1.0 - -Package Depth: Transitive --------------------------------------------------------------------------------- - -* Declared Licenses * -ISC - --------------------------------------------------------------------------------- -File matches: -license -package.json --------------------------------------------------------------------------------- - -Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - - -* Package Info * - -Authors: darsain@gmail.com - -Package Download URL: https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz - --------------------------------------------------------------------------------- -Package Title: repeat-element (1.1.3) - -Package Locator: npm+repeat-element$1.1.3 - -Package Depth: Transitive --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - --------------------------------------------------------------------------------- -File matches: -LICENSE -package.json --------------------------------------------------------------------------------- - -The MIT License (MIT) - -Copyright (c) 2015 Jon Schlinkert - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - -* Package Info * - -Authors: github@sellside.com - -Package Download URL: https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz - --------------------------------------------------------------------------------- -Package Title: repeat-string (1.6.1) - -Package Locator: npm+repeat-string$1.6.1 - -Package Depth: Transitive --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - --------------------------------------------------------------------------------- -File matches: -LICENSE -package.json --------------------------------------------------------------------------------- - -The MIT License (MIT) - -Copyright (c) 2014-2016, Jon Schlinkert. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - -* Package Info * - -Authors: github@sellside.com, brian.woodward@gmail.com - -Package Download URL: https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz - --------------------------------------------------------------------------------- -Package Title: resolve-pathname (2.2.0) - -Package Locator: npm+resolve-pathname$2.2.0 - -Package Depth: Transitive --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -MIT License -Copyright (c) - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - -* Package Info * - -Authors: mjijackson@gmail.com - -Package Download URL: https://registry.npmjs.org/resolve-pathname/-/resolve-pathname-2.2.0.tgz - --------------------------------------------------------------------------------- -Package Title: resolve-url (0.2.1) - -Package Locator: npm+resolve-url$0.2.1 - -Package Depth: Transitive --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2013 Simon Lydell - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - -* Package Info * - -Authors: simon.lydell@gmail.com - -Package Download URL: https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz - --------------------------------------------------------------------------------- -Package Title: ret (0.1.15) - -Package Locator: npm+ret$0.1.15 - -Package Depth: Transitive --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - --------------------------------------------------------------------------------- -File matches: -LICENSE -package.json --------------------------------------------------------------------------------- - -Copyright (C) 2011 by Roly Fentanes - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - -* Package Info * - -Authors: fentbox@gmail.com - -Package Download URL: https://registry.npmjs.org/ret/-/ret-0.1.15.tgz - --------------------------------------------------------------------------------- -Package Title: safe-buffer (5.1.2) - -Package Locator: npm+safe-buffer$5.1.2 - -Package Depth: Transitive --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - --------------------------------------------------------------------------------- -File matches: -LICENSE -package.json --------------------------------------------------------------------------------- - -The MIT License (MIT) - -Copyright (c) Feross Aboukhadijeh - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - -* Package Info * - -Authors: feross@feross.org, mathiasbuus@gmail.com - -Package Download URL: https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz - --------------------------------------------------------------------------------- -Package Title: safe-regex (1.1.0) - -Package Locator: npm+safe-regex$1.1.0 - -Package Depth: Transitive --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - --------------------------------------------------------------------------------- -File matches: -LICENSE -package.json --------------------------------------------------------------------------------- - -This software is released under the MIT license: - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - - -* Package Info * - -Authors: davisjam@vt.edu - -Package Download URL: https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz - --------------------------------------------------------------------------------- -Package Title: sass (1.15.2) - -Package Locator: npm+sass$1.15.2 - -Package Depth: Direct --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - --------------------------------------------------------------------------------- -File matches: -package.json -sass.js --------------------------------------------------------------------------------- - -Dart Sass license: - -Copyright (c) 2016, Google Inc. - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - --------------------------------------------------------------------------------- - -Dart SDK license: - -Copyright 2012, the Dart project authors. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of Google Inc. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - --------------------------------------------------------------------------------- - -_fe_analyzer_shared license: - -Copyright 2019, the Dart project authors. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of Google LLC nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - --------------------------------------------------------------------------------- - -analyzer license: - -Copyright 2013, the Dart project authors. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of Google LLC nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - --------------------------------------------------------------------------------- - -archive license: - - Copyright 2013 Brendan Duncan - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - - -Some code has been derived from the following projects: - -zlib/inflate: - JavaScript Zlib Library, https://github.com/imaya/zlib.js - The MIT License - Copyright (c) 2012 imaya - -zlib/deflate: - Java JZLib Library, http://www.jcraft.com/jzlib/ - Copyright (c) 2000-2011 ymnk, JCraft,Inc. All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - 1. Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - - 2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the distribution. - - 3. The names of the authors may not be used to endorse or promote products - derived from this software without specific prior written permission. - - THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL JCRAFT, - INC. OR ANY CONTRIBUTORS TO THIS SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, - INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, - OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF - LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, - EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -bzip2: - This program, "bzip2", the associated library "libbzip2", and all - documentation, are copyright (C) 1996-2010 Julian R Seward. All - rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions - are met: - - 1. Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - 2. The origin of this software must not be misrepresented; you must - not claim that you wrote the original software. If you use this - software in a product, an acknowledgment in the product - documentation would be appreciated but is not required. - - 3. Altered source versions must be plainly marked as such, and must - not be misrepresented as being the original software. - - 4. The name of the author may not be used to endorse or promote - products derived from this software without specific prior written - permission. - - THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS - OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY - DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE - GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, - WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - Julian Seward, jseward@bzip.org - bzip2/libbzip2 version 1.0.6 of 6 September 2010 - - - --------------------------------------------------------------------------------- - -args license: - -Copyright 2013, the Dart project authors. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of Google LLC nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - --------------------------------------------------------------------------------- - -async license: - -Copyright 2015, the Dart project authors. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of Google LLC nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - --------------------------------------------------------------------------------- - -boolean_selector, shelf_packages_handler and test_descriptor license: - -Copyright 2016, the Dart project authors. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of Google Inc. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - --------------------------------------------------------------------------------- - -charcode, glob, http_parser, matcher, path, pool, pub_semver, shelf_web_socket, -source_maps, source_span, stack_trace, string_scanner, watcher and yaml license: - -Copyright 2014, the Dart project authors. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of Google Inc. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - --------------------------------------------------------------------------------- - -checked_yaml and package_config license: - -Copyright 2019, the Dart project authors. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of Google Inc. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - --------------------------------------------------------------------------------- - -cli_pkg license: - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - - --------------------------------------------------------------------------------- - -cli_repl license: - -Copyright (c) 2018, Jennifer Thakar. -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - * Neither the name of the project nor the names of its contributors may be - used to endorse or promote products derived from this software without - specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - --------------------------------------------------------------------------------- - -cli_util, collection, convert, mime, shelf_static, source_map_stack_trace, -stream_channel and typed_data license: - -Copyright 2015, the Dart project authors. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of Google Inc. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - --------------------------------------------------------------------------------- - -coverage and quiver license: - - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - --------------------------------------------------------------------------------- - -crypto and vm_service license: - -Copyright 2015, the Dart project authors. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of Google LLC nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - --------------------------------------------------------------------------------- - -dart_style, http, shelf and test license: - -Copyright 2014, the Dart project authors. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of Google LLC nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - --------------------------------------------------------------------------------- - -file license: - -Copyright 2017, the Dart project authors. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of Google Inc. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - --------------------------------------------------------------------------------- - -frontend_server_client license: - -Copyright 2020, the Dart project authors. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of Google LLC nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - --------------------------------------------------------------------------------- - -grinder and webkit_inspection_protocol license: - -Copyright 2013, Google Inc. -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - --------------------------------------------------------------------------------- - -http_multi_server license: - -Copyright 2014, the Dart project authors. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of Google LLC nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - --------------------------------------------------------------------------------- - -io, json_annotation, pedantic, stream_transform, term_glyph and test_process -license: - -Copyright 2017, the Dart project authors. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of Google Inc. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - --------------------------------------------------------------------------------- - -js license: - -Copyright 2012, the Dart project authors. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of Google Inc. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - --------------------------------------------------------------------------------- - -logging license: - -Copyright 2013, the Dart project authors. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of Google Inc. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - --------------------------------------------------------------------------------- - -meta license: - -Copyright 2016, the Dart project authors. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of Google LLC nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - --------------------------------------------------------------------------------- - -node_interop license: - -Copyright (c) 2017, Anatoly Pulyaevskiy. -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - * Neither the name of the nor the - names of its contributors may be used to endorse or promote products - derived from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY -DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - --------------------------------------------------------------------------------- - -node_preamble license: - -The MIT License (MIT) - -Copyright (c) 2015 Michael Bullington - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - -=== - -Copyright 2012, the Dart project authors. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of Google Inc. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - --------------------------------------------------------------------------------- - -petitparser and xml license: - -The MIT License - -Copyright (c) 2006-2021 Lukas Renggli. -All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - --------------------------------------------------------------------------------- - -pubspec_parse license: - -Copyright 2018, the Dart project authors. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of Google Inc. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - --------------------------------------------------------------------------------- - -test_api and test_core license: - -Copyright 2018, the Dart project authors. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of Google LLC nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - --------------------------------------------------------------------------------- - -tuple license: - -Copyright (c) 2014, the tuple project authors. -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY -DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - --------------------------------------------------------------------------------- - -web_socket_channel license: - -Copyright 2016, the Dart project authors. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of Google LLC nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - -* Other Licenses * -BSD-3-Clause, Apache-2.0, Zlib, bzip2-1.0.6 - -* BSD-3-Clause * - - -Copyright (c) . All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - 1. Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - - 2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - - 3. Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -* Apache-2.0 * - - -Copyright [yyyy] [name of copyright owner] - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - -http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - -See the License for the specific language governing permissions and limitations under the License. - -* Zlib * - - -This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software. -Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions: - 1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required. - 2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. - 3. This notice may not be removed or altered from any source distribution. - -* bzip2-1.0.6 * - - -This program, "bzip2", the associated library "libbzip2", and all documentation, are copyright (C) 1996-2010 Julian R Seward. All rights reserved. -Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. - 2. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required. - 3. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. - 4. The name of the author may not be used to endorse or promote products derived from this software without specific prior written permission. -THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -Julian Seward, jseward@bzip.org bzip2/libbzip2 version 1.0.6 of 6 September 2010 - - -* Package Info * - -Authors: nex342@gmail.com, xzyfer@gmail.com, hcatlin@gmail.com, sass.bot.beep.boop@gmail.com - --------------------------------------------------------------------------------- -Package Title: set-value (0.4.3) - -Package Locator: npm+set-value$0.4.3 - -Package Depth: Transitive --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - --------------------------------------------------------------------------------- -File matches: -LICENSE -package.json --------------------------------------------------------------------------------- - -The MIT License (MIT) - -Copyright (c) 2014-2017, Jon Schlinkert - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - -* Package Info * - -Authors: github@sellside.com, brian.woodward@gmail.com - -Package Download URL: https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz - --------------------------------------------------------------------------------- -Package Title: set-value (2.0.0) - -Package Locator: npm+set-value$2.0.0 - -Package Depth: Transitive --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - --------------------------------------------------------------------------------- -File matches: -LICENSE -package.json --------------------------------------------------------------------------------- - -The MIT License (MIT) - -Copyright (c) 2014-2017, Jon Schlinkert - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - -* Package Info * - -Authors: github@sellside.com, brian.woodward@gmail.com - -Package Download URL: https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz - --------------------------------------------------------------------------------- -Package Title: snapdragon (0.8.2) - -Package Locator: npm+snapdragon$0.8.2 - -Package Depth: Transitive --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - --------------------------------------------------------------------------------- -File matches: -LICENSE -package.json --------------------------------------------------------------------------------- - -The MIT License (MIT) - -Copyright (c) 2015-2016, Jon Schlinkert. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - -* Package Info * - -Authors: github@sellside.com, brian.woodward@gmail.com, daniel@tschinder.de - -Package Download URL: https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz - --------------------------------------------------------------------------------- -Package Title: snapdragon-node (2.1.1) - -Package Locator: npm+snapdragon-node$2.1.1 - -Package Depth: Transitive --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - - -The MIT License (MIT) - -Copyright (c) 2017, Jon Schlinkert - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - -* Package Info * - -Authors: daniel@tschinder.de, github@sellside.com - -Package Download URL: https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz - --------------------------------------------------------------------------------- -Package Title: snapdragon-util (3.0.1) - -Package Locator: npm+snapdragon-util$3.0.1 - -Package Depth: Transitive --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - --------------------------------------------------------------------------------- -File matches: -LICENSE -package.json --------------------------------------------------------------------------------- - -The MIT License (MIT) - -Copyright (c) 2017, Jon Schlinkert - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - -* Package Info * - -Authors: github@sellside.com - -Package Download URL: https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz - --------------------------------------------------------------------------------- -Package Title: source-map (0.5.7) - -Package Locator: npm+source-map$0.5.7 - -Package Depth: Transitive --------------------------------------------------------------------------------- - -* Declared Licenses * -BSD-3-Clause - --------------------------------------------------------------------------------- -File matches: -dist/source-map.debug.js -dist/source-map.js -lib/array-set.js -lib/base64-vlq.js -lib/base64.js -lib/binary-search.js -lib/mapping-list.js -lib/quick-sort.js -lib/source-map-consumer.js -lib/source-map-generator.js -lib/source-node.js -lib/util.js -LICENSE -package.json -source-map.js --------------------------------------------------------------------------------- - - -Copyright (c) 2009-2011, Mozilla Foundation and contributors -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -* Neither the names of the Mozilla Foundation nor the names of project - contributors may be used to endorse or promote products derived from this - software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - -* Package Info * - -Authors: ejpbruel@gmail.com, dherman@mozilla.com, nfitzgerald@mozilla.com, fitzgen@gmail.com, tom@tromey.com - -Package Download URL: https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz - --------------------------------------------------------------------------------- -Package Title: source-map-resolve (0.5.2) - -Package Locator: npm+source-map-resolve$0.5.2 - -Package Depth: Transitive --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - --------------------------------------------------------------------------------- -File matches: -bower.json -LICENSE -package.json --------------------------------------------------------------------------------- - -The MIT License (MIT) - -Copyright (c) 2014, 2015, 2016, 2017 Simon Lydell - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - -* Package Info * - -Authors: simon.lydell@gmail.com - -Package Download URL: https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz - --------------------------------------------------------------------------------- -Package Title: source-map-url (0.4.0) - -Package Locator: npm+source-map-url$0.4.0 - -Package Depth: Transitive --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - --------------------------------------------------------------------------------- -File matches: -bower.json -LICENSE -package.json --------------------------------------------------------------------------------- - -The MIT License (MIT) - -Copyright (c) 2014 Simon Lydell - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - -* Package Info * - -Authors: simon.lydell@gmail.com - -Package Download URL: https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz - --------------------------------------------------------------------------------- -Package Title: split-string (3.1.0) - -Package Locator: npm+split-string$3.1.0 - -Package Depth: Transitive --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - --------------------------------------------------------------------------------- -File matches: -LICENSE -package.json --------------------------------------------------------------------------------- - -The MIT License (MIT) - -Copyright (c) 2015-2017, Jon Schlinkert. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - -* Package Info * - -Authors: brian.woodward@gmail.com, github@sellside.com - -Package Download URL: https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz - --------------------------------------------------------------------------------- -Package Title: static-extend (0.1.2) - -Package Locator: npm+static-extend$0.1.2 - -Package Depth: Transitive --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - --------------------------------------------------------------------------------- -File matches: -LICENSE -package.json --------------------------------------------------------------------------------- - -The MIT License (MIT) - -Copyright (c) 2016, Jon Schlinkert. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - -* Package Info * - -Authors: github@sellside.com - -Package Download URL: https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz - --------------------------------------------------------------------------------- -Package Title: string_decoder (1.1.1) - -Package Locator: npm+string_decoder$1.1.1 - -Package Depth: Transitive --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - --------------------------------------------------------------------------------- -File matches: -lib/string_decoder.js -LICENSE -package.json --------------------------------------------------------------------------------- - -Node.js is licensed for use as follows: - -""" -Copyright Node.js contributors. All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to -deal in the Software without restriction, including without limitation the -rights to use, copy, modify, merge, publish, distribute, sublicense, and/or -sell copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS -IN THE SOFTWARE. -""" - -This license applies to parts of Node.js originating from the -https://github.com/joyent/node repository: - -""" -Copyright Joyent, Inc. and other Node contributors. All rights reserved. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to -deal in the Software without restriction, including without limitation the -rights to use, copy, modify, merge, publish, distribute, sublicense, and/or -sell copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS -IN THE SOFTWARE. -""" - - - - -* Package Info * - -Authors: calvin.metcalf@gmail.com, hello@matteocollina.com, build@iojs.org, rod@vagg.org, substack@gmail.com - -Package Download URL: https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz - --------------------------------------------------------------------------------- -Package Title: to-object-path (0.3.0) - -Package Locator: npm+to-object-path$0.3.0 - -Package Depth: Transitive --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - --------------------------------------------------------------------------------- -File matches: -LICENSE -package.json --------------------------------------------------------------------------------- - -The MIT License (MIT) - -Copyright (c) 2015-2016, Jon Schlinkert. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - -* Package Info * - -Authors: github@sellside.com - -Package Download URL: https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz - --------------------------------------------------------------------------------- -Package Title: to-regex (3.0.2) - -Package Locator: npm+to-regex$3.0.2 - -Package Depth: Transitive --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - --------------------------------------------------------------------------------- -File matches: -LICENSE -package.json --------------------------------------------------------------------------------- - -The MIT License (MIT) - -Copyright (c) 2016-2018, Jon Schlinkert. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - -* Package Info * - -Authors: github@sellside.com - -Package Download URL: https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz - --------------------------------------------------------------------------------- -Package Title: to-regex-range (2.1.1) - -Package Locator: npm+to-regex-range$2.1.1 - -Package Depth: Transitive --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - --------------------------------------------------------------------------------- -File matches: -LICENSE -package.json --------------------------------------------------------------------------------- - -The MIT License (MIT) - -Copyright (c) 2015-2017, Jon Schlinkert - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - -* Package Info * - -Authors: brian.woodward@gmail.com, github@sellside.com - -Package Download URL: https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz - --------------------------------------------------------------------------------- -Package Title: union-value (1.0.0) - -Package Locator: npm+union-value$1.0.0 - -Package Depth: Transitive --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - --------------------------------------------------------------------------------- -File matches: -LICENSE -package.json --------------------------------------------------------------------------------- - -The MIT License (MIT) - -Copyright (c) 2015-2017, Jon Schlinkert - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - -* Package Info * - -Authors: brian.woodward@gmail.com, github@sellside.com - -Package Download URL: https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz - --------------------------------------------------------------------------------- -Package Title: unset-value (1.0.0) - -Package Locator: npm+unset-value$1.0.0 - -Package Depth: Transitive --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - --------------------------------------------------------------------------------- -File matches: -LICENSE -package.json --------------------------------------------------------------------------------- - -The MIT License (MIT) - -Copyright (c) 2015, 2017, Jon Schlinkert - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - -* Package Info * - -Authors: github@sellside.com, npm@tschinder.de - -Package Download URL: https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz - --------------------------------------------------------------------------------- -Package Title: upath (1.2.0) - -Package Locator: npm+upath$1.2.0 - -Package Depth: Transitive --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - --------------------------------------------------------------------------------- -File matches: -LICENSE -package.json -readme.md --------------------------------------------------------------------------------- - -Copyright(c) 2014-2019 Angelos Pikoulas (agelos.pikoulas@gmail.com) - -Permission is hereby granted, free of charge, to any person -obtaining a copy of this software and associated documentation -files (the "Software"), to deal in the Software without -restriction, including without limitation the rights to use, -copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the -Software is furnished to do so, subject to the following -conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -OTHER DEALINGS IN THE SOFTWARE. - - - -* Package Info * - -Authors: agelos.pikoulas@gmail.com - -Package Download URL: https://registry.npmjs.org/upath/-/upath-1.2.0.tgz - --------------------------------------------------------------------------------- -Package Title: urix (0.1.0) - -Package Locator: npm+urix$0.1.0 - -Package Depth: Transitive --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - --------------------------------------------------------------------------------- -File matches: -LICENSE -package.json --------------------------------------------------------------------------------- - -The MIT License (MIT) - -Copyright (c) 2013 Simon Lydell - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - -* Package Info * - -Authors: simon.lydell@gmail.com - -Package Download URL: https://registry.npmjs.org/urix/-/urix-0.1.0.tgz - --------------------------------------------------------------------------------- -Package Title: use (3.1.1) - -Package Locator: npm+use$3.1.1 - -Package Depth: Transitive --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - --------------------------------------------------------------------------------- -File matches: -LICENSE -package.json --------------------------------------------------------------------------------- - -The MIT License (MIT) - -Copyright (c) 2015-present, Jon Schlinkert. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - -* Package Info * - -Authors: github@sellside.com, kgriffs@me.com - -Package Download URL: https://registry.npmjs.org/use/-/use-3.1.1.tgz - --------------------------------------------------------------------------------- -Package Title: util-deprecate (1.0.2) - -Package Locator: npm+util-deprecate$1.0.2 - -Package Depth: Transitive --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - --------------------------------------------------------------------------------- -File matches: -LICENSE -package.json -README.md --------------------------------------------------------------------------------- - -(The MIT License) - -Copyright (c) 2014 Nathan Rajlich - -Permission is hereby granted, free of charge, to any person -obtaining a copy of this software and associated documentation -files (the "Software"), to deal in the Software without -restriction, including without limitation the rights to use, -copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the -Software is furnished to do so, subject to the following -conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -OTHER DEALINGS IN THE SOFTWARE. - - - -* Package Info * - -Authors: nathan@tootallnate.net - -Package Download URL: https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz - --------------------------------------------------------------------------------- -Package Title: value-equal (0.4.0) - -Package Locator: npm+value-equal$0.4.0 - -Package Depth: Transitive --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - --------------------------------------------------------------------------------- -File matches: -package.json --------------------------------------------------------------------------------- - -MIT License -Copyright (c) - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - -* Package Info * - -Authors: mjijackson@gmail.com - -Package Download URL: https://registry.npmjs.org/value-equal/-/value-equal-0.4.0.tgz - --------------------------------------------------------------------------------- -Package Title: warning (3.0.0) - -Package Locator: npm+warning$3.0.0 - -Package Depth: Transitive --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - --------------------------------------------------------------------------------- -File matches: -CHANGELOG.md -LICENSE.md -package.json -warning.js --------------------------------------------------------------------------------- - -MIT License -Copyright (c) - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - -* Package Info * - -Authors: jn.martinez110@gmail.com - -Package Download URL: https://registry.npmjs.org/warning/-/warning-3.0.0.tgz - --------------------------------------------------------------------------------- -Package Title: warning (4.0.2) - -Package Locator: npm+warning$4.0.2 - -Package Depth: Transitive --------------------------------------------------------------------------------- - -* Declared Licenses * -MIT - --------------------------------------------------------------------------------- -File matches: -CHANGELOG.md -LICENSE.md -package.json -warning.js --------------------------------------------------------------------------------- - -MIT License -Copyright (c) - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - -* Package Info * - -Authors: jn.martinez110@gmail.com - -Package Download URL: https://registry.npmjs.org/warning/-/warning-4.0.2.tgz - - -================================================================================ - - Licenses - -================================================================================ - -* BSD-3-Clause * - - -Copyright (c) 2009-2011, Mozilla Foundation and contributors -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -* Neither the names of the Mozilla Foundation nor the names of project - contributors may be used to endorse or promote products derived from this - software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -* MIT * - -(The MIT License) - -Copyright (c) 2014 Nathan Rajlich - -Permission is hereby granted, free of charge, to any person -obtaining a copy of this software and associated documentation -files (the "Software"), to deal in the Software without -restriction, including without limitation the rights to use, -copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the -Software is furnished to do so, subject to the following -conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -OTHER DEALINGS IN THE SOFTWARE. - - -* MIT * - -(The MIT License) - -Copyright (c) 2014 TJ Holowaychuk - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software -and associated documentation files (the 'Software'), to deal in the Software without restriction, -including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, -and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial -portions of the Software. - -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT -LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - - -* MIT * - -(The MIT License) - -Copyright (c) 2014 Component contributors - -Permission is hereby granted, free of charge, to any person -obtaining a copy of this software and associated documentation -files (the "Software"), to deal in the Software without -restriction, including without limitation the rights to use, -copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the -Software is furnished to do so, subject to the following -conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -OTHER DEALINGS IN THE SOFTWARE. - - -* Apache-2.0 * - -Apache License -Version 2.0, January 2004 -http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. - - "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. - 2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. - 3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. - 4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: - (a) You must give any other recipients of the Work or Derivative Works a copy of this License; and - (b) You must cause any modified files to carry prominent notices stating that You changed the files; and - (c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and - (d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. - You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. - 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. - 6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. - 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. - 8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. - 9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. END OF TERMS AND CONDITIONS -APPENDIX: How to apply the Apache License to your work. -To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives. -Copyright [yyyy] [name of copyright owner] -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at -http://www.apache.org/licenses/LICENSE-2.0 -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. - -* BSD-3-Clause * - -Copyright (c) -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - 1. Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - - 2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - - 3. Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -* CC-BY-3.0 * - -Creative Commons Attribution 3.0 Unported CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE LEGAL SERVICES. DISTRIBUTION OF THIS LICENSE DOES NOT CREATE AN ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES REGARDING THE INFORMATION PROVIDED, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM ITS USE. -License -THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED. -BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE TO BE BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS LICENSE MAY BE CONSIDERED TO BE A CONTRACT, THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND CONDITIONS. - 1. Definitions - a. "Adaptation" means a work based upon the Work, or upon the Work and other pre-existing works, such as a translation, adaptation, derivative work, arrangement of music or other alterations of a literary or artistic work, or phonogram or performance and includes cinematographic adaptations or any other form in which the Work may be recast, transformed, or adapted including in any form recognizably derived from the original, except that a work that constitutes a Collection will not be considered an Adaptation for the purpose of this License. For the avoidance of doubt, where the Work is a musical work, performance or phonogram, the synchronization of the Work in timed-relation with a moving image ("synching") will be considered an Adaptation for the purpose of this License. - b. "Collection" means a collection of literary or artistic works, such as encyclopedias and anthologies, or performances, phonograms or broadcasts, or other works or subject matter other than works listed in Section 1(f) below, which, by reason of the selection and arrangement of their contents, constitute intellectual creations, in which the Work is included in its entirety in unmodified form along with one or more other contributions, each constituting separate and independent works in themselves, which together are assembled into a collective whole. A work that constitutes a Collection will not be considered an Adaptation (as defined above) for the purposes of this License. - c. "Distribute" means to make available to the public the original and copies of the Work or Adaptation, as appropriate, through sale or other transfer of ownership. - d. "Licensor" means the individual, individuals, entity or entities that offer(s) the Work under the terms of this License. - e. "Original Author" means, in the case of a literary or artistic work, the individual, individuals, entity or entities who created the Work or if no individual or entity can be identified, the publisher; and in addition (i) in the case of a performance the actors, singers, musicians, dancers, and other persons who act, sing, deliver, declaim, play in, interpret or otherwise perform literary or artistic works or expressions of folklore; (ii) in the case of a phonogram the producer being the person or legal entity who first fixes the sounds of a performance or other sounds; and, (iii) in the case of broadcasts, the organization that transmits the broadcast. - f. "Work" means the literary and/or artistic work offered under the terms of this License including without limitation any production in the literary, scientific and artistic domain, whatever may be the mode or form of its expression including digital form, such as a book, pamphlet and other writing; a lecture, address, sermon or other work of the same nature; a dramatic or dramatico-musical work; a choreographic work or entertainment in dumb show; a musical composition with or without words; a cinematographic work to which are assimilated works expressed by a process analogous to cinematography; a work of drawing, painting, architecture, sculpture, engraving or lithography; a photographic work to which are assimilated works expressed by a process analogous to photography; a work of applied art; an illustration, map, plan, sketch or three-dimensional work relative to geography, topography, architecture or science; a performance; a broadcast; a phonogram; a compilation of data to the extent it is protected as a copyrightable work; or a work performed by a variety or circus performer to the extent it is not otherwise considered a literary or artistic work. - g. "You" means an individual or entity exercising rights under this License who has not previously violated the terms of this License with respect to the Work, or who has received express permission from the Licensor to exercise rights under this License despite a previous violation. - h. "Publicly Perform" means to perform public recitations of the Work and to communicate to the public those public recitations, by any means or process, including by wire or wireless means or public digital performances; to make available to the public Works in such a way that members of the public may access these Works from a place and at a place individually chosen by them; to perform the Work to the public by any means or process and the communication to the public of the performances of the Work, including by public digital performance; to broadcast and rebroadcast the Work by any means including signs, sounds or images. - i. "Reproduce" means to make copies of the Work by any means including without limitation by sound or visual recordings and the right of fixation and reproducing fixations of the Work, including storage of a protected performance or phonogram in digital form or other electronic medium. - 2. Fair Dealing Rights. Nothing in this License is intended to reduce, limit, or restrict any uses free from copyright or rights arising from limitations or exceptions that are provided for in connection with the copyright protection under copyright law or other applicable laws. - 3. License Grant. Subject to the terms and conditions of this License, Licensor hereby grants You a worldwide, royalty-free, non-exclusive, perpetual (for the duration of the applicable copyright) license to exercise the rights in the Work as stated below: - a. to Reproduce the Work, to incorporate the Work into one or more Collections, and to Reproduce the Work as incorporated in the Collections; - b. to create and Reproduce Adaptations provided that any such Adaptation, including any translation in any medium, takes reasonable steps to clearly label, demarcate or otherwise identify that changes were made to the original Work. For example, a translation could be marked "The original work was translated from English to Spanish," or a modification could indicate "The original work has been modified."; - c. to Distribute and Publicly Perform the Work including as incorporated in Collections; and, - d. to Distribute and Publicly Perform Adaptations. - e. For the avoidance of doubt: - i. Non-waivable Compulsory License Schemes. In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme cannot be waived, the Licensor reserves the exclusive right to collect such royalties for any exercise by You of the rights granted under this License; - ii. Waivable Compulsory License Schemes. In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme can be waived, the Licensor waives the exclusive right to collect such royalties for any exercise by You of the rights granted under this License; and, - iii. Voluntary License Schemes. The Licensor waives the right to collect royalties, whether individually or, in the event that the Licensor is a member of a collecting society that administers voluntary licensing schemes, via that society, from any exercise by You of the rights granted under this License. - The above rights may be exercised in all media and formats whether now known or hereafter devised. The above rights include the right to make such modifications as are technically necessary to exercise the rights in other media and formats. Subject to Section 8(f), all rights not expressly granted by Licensor are hereby reserved. - 4. Restrictions. The license granted in Section 3 above is expressly made subject to and limited by the following restrictions: - a. You may Distribute or Publicly Perform the Work only under the terms of this License. You must include a copy of, or the Uniform Resource Identifier (URI) for, this License with every copy of the Work You Distribute or Publicly Perform. You may not offer or impose any terms on the Work that restrict the terms of this License or the ability of the recipient of the Work to exercise the rights granted to that recipient under the terms of the License. You may not sublicense the Work. You must keep intact all notices that refer to this License and to the disclaimer of warranties with every copy of the Work You Distribute or Publicly Perform. When You Distribute or Publicly Perform the Work, You may not impose any effective technological measures on the Work that restrict the ability of a recipient of the Work from You to exercise the rights granted to that recipient under the terms of the License. This Section 4(a) applies to the Work as incorporated in a Collection, but this does not require the Collection apart from the Work itself to be made subject to the terms of this License. If You create a Collection, upon notice from any Licensor You must, to the extent practicable, remove from the Collection any credit as required by Section 4(b), as requested. If You create an Adaptation, upon notice from any Licensor You must, to the extent practicable, remove from the Adaptation any credit as required by Section 4(b), as requested. - b. If You Distribute, or Publicly Perform the Work or any Adaptations or Collections, You must, unless a request has been made pursuant to Section 4(a), keep intact all copyright notices for the Work and provide, reasonable to the medium or means You are utilizing: (i) the name of the Original Author (or pseudonym, if applicable) if supplied, and/or if the Original Author and/or Licensor designate another party or parties (e.g., a sponsor institute, publishing entity, journal) for attribution ("Attribution Parties") in Licensor's copyright notice, terms of service or by other reasonable means, the name of such party or parties; (ii) the title of the Work if supplied; (iii) to the extent reasonably practicable, the URI, if any, that Licensor specifies to be associated with the Work, unless such URI does not refer to the copyright notice or licensing information for the Work; and (iv), consistent with Section 3(b), in the case of an Adaptation, a credit identifying the use of the Work in the Adaptation (e.g., "French translation of the Work by Original Author," or "Screenplay based on original Work by Original Author"). The credit required by this Section 4 (b) may be implemented in any reasonable manner; provided, however, that in the case of a Adaptation or Collection, at a minimum such credit will appear, if a credit for all contributing authors of the Adaptation or Collection appears, then as part of these credits and in a manner at least as prominent as the credits for the other contributing authors. For the avoidance of doubt, You may only use the credit required by this Section for the purpose of attribution in the manner set out above and, by exercising Your rights under this License, You may not implicitly or explicitly assert or imply any connection with, sponsorship or endorsement by the Original Author, Licensor and/or Attribution Parties, as appropriate, of You or Your use of the Work, without the separate, express prior written permission of the Original Author, Licensor and/or Attribution Parties. - c. Except as otherwise agreed in writing by the Licensor or as may be otherwise permitted by applicable law, if You Reproduce, Distribute or Publicly Perform the Work either by itself or as part of any Adaptations or Collections, You must not distort, mutilate, modify or take other derogatory action in relation to the Work which would be prejudicial to the Original Author's honor or reputation. Licensor agrees that in those jurisdictions (e.g. Japan), in which any exercise of the right granted in Section 3(b) of this License (the right to make Adaptations) would be deemed to be a distortion, mutilation, modification or other derogatory action prejudicial to the Original Author's honor and reputation, the Licensor will waive or not assert, as appropriate, this Section, to the fullest extent permitted by the applicable national law, to enable You to reasonably exercise Your right under Section 3(b) of this License (right to make Adaptations) but not otherwise. - 5. Representations, Warranties and Disclaimer - UNLESS OTHERWISE MUTUALLY AGREED TO BY THE PARTIES IN WRITING, LICENSOR OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY, FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS, WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU. - 6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. - 7. Termination - a. This License and the rights granted hereunder will terminate automatically upon any breach by You of the terms of this License. Individuals or entities who have received Adaptations or Collections from You under this License, however, will not have their licenses terminated provided such individuals or entities remain in full compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will survive any termination of this License. - b. Subject to the above terms and conditions, the license granted here is perpetual (for the duration of the applicable copyright in the Work). Notwithstanding the above, Licensor reserves the right to release the Work under different license terms or to stop distributing the Work at any time; provided, however that any such election will not serve to withdraw this License (or any other license that has been, or is required to be, granted under the terms of this License), and this License will continue in full force and effect unless terminated as stated above. - 8. Miscellaneous - a. Each time You Distribute or Publicly Perform the Work or a Collection, the Licensor offers to the recipient a license to the Work on the same terms and conditions as the license granted to You under this License. - b. Each time You Distribute or Publicly Perform an Adaptation, Licensor offers to the recipient a license to the original Work on the same terms and conditions as the license granted to You under this License. - c. If any provision of this License is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this License, and without further action by the parties to this agreement, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable. - d. No term or provision of this License shall be deemed waived and no breach consented to unless such waiver or consent shall be in writing and signed by the party to be charged with such waiver or consent. This License constitutes the entire agreement between the parties with respect to the Work licensed here. There are no understandings, agreements or representations with respect to the Work not specified here. Licensor shall not be bound by any additional provisions that may appear in any communication from You. - e. This License may not be modified without the mutual written agreement of the Licensor and You. - f. The rights granted under, and the subject matter referenced, in this License were drafted utilizing the terminology of the Berne Convention for the Protection of Literary and Artistic Works (as amended on September 28, 1979), the Rome Convention of 1961, the WIPO Copyright Treaty of 1996, the WIPO Performances and Phonograms Treaty of 1996 and the Universal Copyright Convention (as revised on July 24, 1971). These rights and subject matter take effect in the relevant jurisdiction in which the License terms are sought to be enforced according to the corresponding provisions of the implementation of those treaty provisions in the applicable national law. If the standard suite of rights granted under applicable copyright law includes additional rights not granted under this License, such additional rights are deemed to be included in the License; this License is not intended to restrict the license of any rights under applicable law. -Creative Commons Notice -Creative Commons is not a party to this License, and makes no warranty whatsoever in connection with the Work. Creative Commons will not be liable to You or any party on any legal theory for any damages whatsoever, including without limitation any general, special, incidental or consequential damages arising in connection to this license. Notwithstanding the foregoing two (2) sentences, if Creative Commons has expressly identified itself as the Licensor hereunder, it shall have all rights and obligations of Licensor. -Except for the limited purpose of indicating to the public that the Work is licensed under the CCPL, Creative Commons does not authorize the use by either party of the trademark "Creative Commons" or any related trademark or logo of Creative Commons without the prior written consent of Creative Commons. Any permitted use will be in compliance with Creative Commons' then-current trademark usage guidelines, as may be published on its website or otherwise made available upon request from time to time. For the avoidance of doubt, this trademark restriction does not form part of this License. -Creative Commons may be contacted at http://creativecommons.org/. - -* MIT * - -Copyright (C) 2011 by Roly Fentanes - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - -* BSD-3-Clause * - -Copyright (c) 2016, Andres Suarez -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -* Neither the name of invariant nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -* MIT * - -Copyright Node.js contributors. All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to -deal in the Software without restriction, including without limitation the -rights to use, copy, modify, merge, publish, distribute, sublicense, and/or -sell copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS -IN THE SOFTWARE. - - -* MIT * - -Copyright(c) 2014-2019 Angelos Pikoulas (agelos.pikoulas@gmail.com) - -Permission is hereby granted, free of charge, to any person -obtaining a copy of this software and associated documentation -files (the "Software"), to deal in the Software without -restriction, including without limitation the rights to use, -copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the -Software is furnished to do so, subject to the following -conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -OTHER DEALINGS IN THE SOFTWARE. - - -* MIT * - -Dart Sass license: - -Copyright (c) 2016, Google Inc. - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - --------------------------------------------------------------------------------- - -Dart SDK license: - -Copyright 2012, the Dart project authors. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of Google Inc. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - --------------------------------------------------------------------------------- - -_fe_analyzer_shared license: - -Copyright 2019, the Dart project authors. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of Google LLC nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - --------------------------------------------------------------------------------- - -analyzer license: - -Copyright 2013, the Dart project authors. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of Google LLC nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - --------------------------------------------------------------------------------- - -archive license: - - Copyright 2013 Brendan Duncan - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - - -Some code has been derived from the following projects: - -zlib/inflate: - JavaScript Zlib Library, https://github.com/imaya/zlib.js - The MIT License - Copyright (c) 2012 imaya - -zlib/deflate: - Java JZLib Library, http://www.jcraft.com/jzlib/ - Copyright (c) 2000-2011 ymnk, JCraft,Inc. All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - 1. Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - - 2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the distribution. - - 3. The names of the authors may not be used to endorse or promote products - derived from this software without specific prior written permission. - - THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL JCRAFT, - INC. OR ANY CONTRIBUTORS TO THIS SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, - INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, - OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF - LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, - EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -bzip2: - This program, "bzip2", the associated library "libbzip2", and all - documentation, are copyright (C) 1996-2010 Julian R Seward. All - rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions - are met: - - 1. Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - 2. The origin of this software must not be misrepresented; you must - not claim that you wrote the original software. If you use this - software in a product, an acknowledgment in the product - documentation would be appreciated but is not required. - - 3. Altered source versions must be plainly marked as such, and must - not be misrepresented as being the original software. - - 4. The name of the author may not be used to endorse or promote - products derived from this software without specific prior written - permission. - - THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS - OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY - DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE - GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, - WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - Julian Seward, jseward@bzip.org - bzip2/libbzip2 version 1.0.6 of 6 September 2010 - - - --------------------------------------------------------------------------------- - -args license: - -Copyright 2013, the Dart project authors. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of Google LLC nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - --------------------------------------------------------------------------------- - -async license: - -Copyright 2015, the Dart project authors. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of Google LLC nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - --------------------------------------------------------------------------------- - -boolean_selector, shelf_packages_handler and test_descriptor license: - -Copyright 2016, the Dart project authors. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of Google Inc. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - --------------------------------------------------------------------------------- - -charcode, glob, http_parser, matcher, path, pool, pub_semver, shelf_web_socket, -source_maps, source_span, stack_trace, string_scanner, watcher and yaml license: - -Copyright 2014, the Dart project authors. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of Google Inc. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - --------------------------------------------------------------------------------- - -checked_yaml and package_config license: - -Copyright 2019, the Dart project authors. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of Google Inc. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - --------------------------------------------------------------------------------- - -cli_pkg license: - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - - --------------------------------------------------------------------------------- - -cli_repl license: - -Copyright (c) 2018, Jennifer Thakar. -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - * Neither the name of the project nor the names of its contributors may be - used to endorse or promote products derived from this software without - specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - --------------------------------------------------------------------------------- - -cli_util, collection, convert, mime, shelf_static, source_map_stack_trace, -stream_channel and typed_data license: - -Copyright 2015, the Dart project authors. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of Google Inc. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - --------------------------------------------------------------------------------- - -coverage and quiver license: - - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - --------------------------------------------------------------------------------- - -crypto and vm_service license: - -Copyright 2015, the Dart project authors. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of Google LLC nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - --------------------------------------------------------------------------------- - -dart_style, http, shelf and test license: - -Copyright 2014, the Dart project authors. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of Google LLC nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - --------------------------------------------------------------------------------- - -file license: - -Copyright 2017, the Dart project authors. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of Google Inc. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - --------------------------------------------------------------------------------- - -frontend_server_client license: - -Copyright 2020, the Dart project authors. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of Google LLC nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - --------------------------------------------------------------------------------- - -grinder and webkit_inspection_protocol license: - -Copyright 2013, Google Inc. -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - --------------------------------------------------------------------------------- - -http_multi_server license: - -Copyright 2014, the Dart project authors. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of Google LLC nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - --------------------------------------------------------------------------------- - -io, json_annotation, pedantic, stream_transform, term_glyph and test_process -license: - -Copyright 2017, the Dart project authors. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of Google Inc. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - --------------------------------------------------------------------------------- - -js license: - -Copyright 2012, the Dart project authors. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of Google Inc. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - --------------------------------------------------------------------------------- - -logging license: - -Copyright 2013, the Dart project authors. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of Google Inc. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - --------------------------------------------------------------------------------- - -meta license: - -Copyright 2016, the Dart project authors. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of Google LLC nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - --------------------------------------------------------------------------------- - -node_interop license: - -Copyright (c) 2017, Anatoly Pulyaevskiy. -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - * Neither the name of the nor the - names of its contributors may be used to endorse or promote products - derived from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY -DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - --------------------------------------------------------------------------------- - -node_preamble license: - -The MIT License (MIT) - -Copyright (c) 2015 Michael Bullington - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - -=== - -Copyright 2012, the Dart project authors. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of Google Inc. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - --------------------------------------------------------------------------------- - -petitparser and xml license: - -The MIT License - -Copyright (c) 2006-2021 Lukas Renggli. -All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - --------------------------------------------------------------------------------- - -pubspec_parse license: - -Copyright 2018, the Dart project authors. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of Google Inc. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - --------------------------------------------------------------------------------- - -test_api and test_core license: - -Copyright 2018, the Dart project authors. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of Google LLC nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - --------------------------------------------------------------------------------- - -tuple license: - -Copyright (c) 2014, the tuple project authors. -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY -DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - --------------------------------------------------------------------------------- - -web_socket_channel license: - -Copyright 2016, the Dart project authors. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of Google LLC nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -* Apache-2.0 * - -LICENSE -======= - -Code copyright 2012-2018 AJ ONeal - -Dual-licensed MIT and Apache-2.0 - -Docs copyright 2012-2018 AJ ONeal - -Docs released under [Creative Commons](https://git.coolaj86.com/coolaj86/atob.js/blob/master/LICENSE.DOCS). - -* MIT * - -MIT License -Copyright (c) - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - -* MIT * - -MIT License - -Copyright (c) 2013-present, Facebook, Inc. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - -* MIT * - -MIT License - -Copyright (c) Facebook, Inc. and its affiliates. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - -* MIT * - -MIT License - -Copyright (c) React Training 2016-2018 - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - -* MIT * - -MIT License -Copyright (c) - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - -* MIT * - -Node.js is licensed for use as follows: - -""" -Copyright Node.js contributors. All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to -deal in the Software without restriction, including without limitation the -rights to use, copy, modify, merge, publish, distribute, sublicense, and/or -sell copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS -IN THE SOFTWARE. -""" - -This license applies to parts of Node.js originating from the -https://github.com/joyent/node repository: - -""" -Copyright Joyent, Inc. and other Node contributors. All rights reserved. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to -deal in the Software without restriction, including without limitation the -rights to use, copy, modify, merge, publish, distribute, sublicense, and/or -sell copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS -IN THE SOFTWARE. -""" - - -* MIT * - -Node.js is licensed for use as follows: - -""" -Copyright Node.js contributors. All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to -deal in the Software without restriction, including without limitation the -rights to use, copy, modify, merge, publish, distribute, sublicense, and/or -sell copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS -IN THE SOFTWARE. -""" - -This license applies to parts of Node.js originating from the -https://github.com/joyent/node repository: - -""" -Copyright Joyent, Inc. and other Node contributors. All rights reserved. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to -deal in the Software without restriction, including without limitation the -rights to use, copy, modify, merge, publish, distribute, sublicense, and/or -sell copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS -IN THE SOFTWARE. -""" - - - -* ISC * - -Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - -* BSD-3-Clause * - -Software License Agreement (BSD License) -======================================== - -Copyright (c) 2015, Yahoo! Inc. All rights reserved. ----------------------------------------------------- - -Redistribution and use of this software in source and binary forms, with or -without modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - * Neither the name of Yahoo! Inc. nor the names of YUI's contributors may be - used to endorse or promote products derived from this software without - specific prior written permission of Yahoo! Inc. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -* ISC * - -The ISC License - -Copyright (c) 2014 Elan Shanker - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR -IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - - -* ISC * - -The ISC License - -Copyright (c) Isaac Z. Schlueter - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH -REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, -INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM -LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR -OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR -PERFORMANCE OF THIS SOFTWARE. - - - -* ISC * - -The ISC License - -Copyright (c) Isaac Z. Schlueter, Ben Noordhuis, and Contributors - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR -IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - - -* ISC * - -The ISC License -​ -Copyright (c) 2015 Elan Shanker -​ -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. -​ -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR -IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -​ - - -* MIT * - -The MIT License (MIT) - -Copyright (c) 2013 Simon Lydell - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - -* MIT * - -The MIT License (MIT) - -Copyright (c) 2014 Blake Embrey (hello@blakeembrey.com) - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - -* MIT * - -The MIT License (MIT) - -Copyright (c) 2014 Simon Lydell - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - -* MIT * - -The MIT License (MIT) - -Copyright (c) 2014, 2015, 2016, 2017 Simon Lydell - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - -* MIT * - -The MIT License (MIT) - -Copyright (c) 2014, 2015, 2016, 2017, 2018 Simon Lydell - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - -* MIT * - -The MIT License (MIT) - -Copyright (c) 2014-2015, 2017, Jon Schlinkert. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - -* MIT * - -The MIT License (MIT) - -Copyright (c) 2014-2015, Jon Schlinkert. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - -* MIT * - -The MIT License (MIT) - -Copyright (c) 2014-2016, Jon Schlinkert - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - -* MIT * - -The MIT License (MIT) - -Copyright (c) 2014-2016, Jon Schlinkert. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - -* MIT * - -The MIT License (MIT) - -Copyright (c) 2014-2017, Jon Schlinkert - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - -* MIT * - -The MIT License (MIT) - -Copyright (c) 2014-2017, Jon Schlinkert. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - -* MIT * - -The MIT License (MIT) - -Copyright (c) 2014-2017, Jon Schlinkert. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - -* MIT * - -The MIT License (MIT) - -Copyright (c) 2014-2018, Jon Schlinkert. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - -* MIT * - -The MIT License (MIT) - -Copyright (c) 2015 Andres Suarez - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - -* MIT * - -The MIT License (MIT) - -Copyright (c) 2015 Jon Schlinkert - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - -* MIT * - -The MIT License (MIT) - -Copyright (c) 2015, 2017, Jon Schlinkert - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - -* MIT * - -The MIT License (MIT) - -Copyright (c) 2015, 2017-2018, Jon Schlinkert. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - -* MIT * - -The MIT License (MIT) - -Copyright (c) 2015, Jon Schlinkert. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - -* MIT * - -The MIT License (MIT) - -Copyright (c) 2015-2016 Michael Jackson - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - -* MIT * - -The MIT License (MIT) - -Copyright (c) 2015-2016, Jon Schlinkert - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - -* MIT * - -The MIT License (MIT) - -Copyright (c) 2015-2016, Jon Schlinkert. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - -* MIT * - -The MIT License (MIT) - -Copyright (c) 2015-2017, Jon Schlinkert - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - -* MIT * - -The MIT License (MIT) - -Copyright (c) 2015-2017, Jon Schlinkert. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - -* MIT * - -The MIT License (MIT) - -Copyright (c) 2015-2017, Jon Schlinkert. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - -* MIT * - -The MIT License (MIT) - -Copyright (c) 2015-2018, Jon Schlinkert. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - -* MIT * - -The MIT License (MIT) - -Copyright (c) 2015-present, Jon Schlinkert. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - -* MIT * - -The MIT License (MIT) - -Copyright (c) 2016, 2018, Jon Schlinkert. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - -* MIT * - -The MIT License (MIT) - -Copyright (c) 2016, Jon Schlinkert. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - -* MIT * - -The MIT License (MIT) - -Copyright (c) 2016-2017, Jon Schlinkert - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - -* MIT * - -The MIT License (MIT) - -Copyright (c) 2016-2018, Jon Schlinkert. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - -* MIT * - -The MIT License (MIT) - -Copyright (c) 2017, Jon Schlinkert - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - -* MIT * - -The MIT License (MIT) - -Copyright (c) Feross Aboukhadijeh - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - -* MIT * - -This software is released under the MIT license: - -Copyright (c) 2012-2015 Thorsten Lorenz - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - -* MIT * - -This software is released under the MIT license: - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - -* Zlib * - -zlib License Copyright (c) -This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software. -Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions: - 1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required. - 2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. - 3. This notice may not be removed or altered from any source distribution. - -* bzip2-1.0.6 * - -This program, "bzip2", the associated library "libbzip2", and all documentation, are copyright (C) 1996-2010 Julian R Seward. All rights reserved. -Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. - 2. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required. - 3. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. - 4. The name of the author may not be used to endorse or promote products derived from this software without specific prior written permission. -THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -Julian Seward, jseward@bzip.org bzip2/libbzip2 version 1.0.6 of 6 September 2010 - - -================================================================================ - - Copyrights - -================================================================================ - -Apache License 2.0 - -Copyright (c) 2015 AJ ONeal -Apache License -Version 2.0, January 2004 -http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. - - "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. - 2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. - 3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. - 4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: - (a) You must give any other recipients of the Work or Derivative Works a copy of this License; and - (b) You must cause any modified files to carry prominent notices stating that You changed the files; and - (c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and - (d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. - You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. - 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. - 6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. - 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. - 8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. - 9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. END OF TERMS AND CONDITIONS -APPENDIX: How to apply the Apache License to your work. -To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives. -Copyright [yyyy] [name of copyright owner] -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at -http://www.apache.org/licenses/LICENSE-2.0 -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. - --------------------------------------------------------------------------------- -BSD 3-Clause "New" or "Revised" License - -Copyright (c) 2009-2011 Mozilla Foundation and contributors - -Copyright (c) 2011 Mozilla Foundation and contributors - -Copyright (c) 2011 The Closure Compiler Authors. All rights reserved. - -Copyright (c) 2014 Mozilla Foundation and contributors - -Copyright (c) 2013-2015, Facebook, Inc - -Copyright (c) information - -Copyright (c) 2015 Yahoo! Inc. All rights reserved. -Copyright (c) -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - 1. Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - - 2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - - 3. Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - --------------------------------------------------------------------------------- -Creative Commons Attribution 3.0 - -Copyright (c) AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS - -Copyright (c) or rights arising from - -Copyright (c) protection under copyright law or other applicable laws. - -Copyright (c) Convention (as revised on July 24, 1971). -Creative Commons Attribution 3.0 Unported CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE LEGAL SERVICES. DISTRIBUTION OF THIS LICENSE DOES NOT CREATE AN ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES REGARDING THE INFORMATION PROVIDED, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM ITS USE. -License -THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED. -BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE TO BE BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS LICENSE MAY BE CONSIDERED TO BE A CONTRACT, THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND CONDITIONS. - 1. Definitions - a. "Adaptation" means a work based upon the Work, or upon the Work and other pre-existing works, such as a translation, adaptation, derivative work, arrangement of music or other alterations of a literary or artistic work, or phonogram or performance and includes cinematographic adaptations or any other form in which the Work may be recast, transformed, or adapted including in any form recognizably derived from the original, except that a work that constitutes a Collection will not be considered an Adaptation for the purpose of this License. For the avoidance of doubt, where the Work is a musical work, performance or phonogram, the synchronization of the Work in timed-relation with a moving image ("synching") will be considered an Adaptation for the purpose of this License. - b. "Collection" means a collection of literary or artistic works, such as encyclopedias and anthologies, or performances, phonograms or broadcasts, or other works or subject matter other than works listed in Section 1(f) below, which, by reason of the selection and arrangement of their contents, constitute intellectual creations, in which the Work is included in its entirety in unmodified form along with one or more other contributions, each constituting separate and independent works in themselves, which together are assembled into a collective whole. A work that constitutes a Collection will not be considered an Adaptation (as defined above) for the purposes of this License. - c. "Distribute" means to make available to the public the original and copies of the Work or Adaptation, as appropriate, through sale or other transfer of ownership. - d. "Licensor" means the individual, individuals, entity or entities that offer(s) the Work under the terms of this License. - e. "Original Author" means, in the case of a literary or artistic work, the individual, individuals, entity or entities who created the Work or if no individual or entity can be identified, the publisher; and in addition (i) in the case of a performance the actors, singers, musicians, dancers, and other persons who act, sing, deliver, declaim, play in, interpret or otherwise perform literary or artistic works or expressions of folklore; (ii) in the case of a phonogram the producer being the person or legal entity who first fixes the sounds of a performance or other sounds; and, (iii) in the case of broadcasts, the organization that transmits the broadcast. - f. "Work" means the literary and/or artistic work offered under the terms of this License including without limitation any production in the literary, scientific and artistic domain, whatever may be the mode or form of its expression including digital form, such as a book, pamphlet and other writing; a lecture, address, sermon or other work of the same nature; a dramatic or dramatico-musical work; a choreographic work or entertainment in dumb show; a musical composition with or without words; a cinematographic work to which are assimilated works expressed by a process analogous to cinematography; a work of drawing, painting, architecture, sculpture, engraving or lithography; a photographic work to which are assimilated works expressed by a process analogous to photography; a work of applied art; an illustration, map, plan, sketch or three-dimensional work relative to geography, topography, architecture or science; a performance; a broadcast; a phonogram; a compilation of data to the extent it is protected as a copyrightable work; or a work performed by a variety or circus performer to the extent it is not otherwise considered a literary or artistic work. - g. "You" means an individual or entity exercising rights under this License who has not previously violated the terms of this License with respect to the Work, or who has received express permission from the Licensor to exercise rights under this License despite a previous violation. - h. "Publicly Perform" means to perform public recitations of the Work and to communicate to the public those public recitations, by any means or process, including by wire or wireless means or public digital performances; to make available to the public Works in such a way that members of the public may access these Works from a place and at a place individually chosen by them; to perform the Work to the public by any means or process and the communication to the public of the performances of the Work, including by public digital performance; to broadcast and rebroadcast the Work by any means including signs, sounds or images. - i. "Reproduce" means to make copies of the Work by any means including without limitation by sound or visual recordings and the right of fixation and reproducing fixations of the Work, including storage of a protected performance or phonogram in digital form or other electronic medium. - 2. Fair Dealing Rights. Nothing in this License is intended to reduce, limit, or restrict any uses free from copyright or rights arising from limitations or exceptions that are provided for in connection with the copyright protection under copyright law or other applicable laws. - 3. License Grant. Subject to the terms and conditions of this License, Licensor hereby grants You a worldwide, royalty-free, non-exclusive, perpetual (for the duration of the applicable copyright) license to exercise the rights in the Work as stated below: - a. to Reproduce the Work, to incorporate the Work into one or more Collections, and to Reproduce the Work as incorporated in the Collections; - b. to create and Reproduce Adaptations provided that any such Adaptation, including any translation in any medium, takes reasonable steps to clearly label, demarcate or otherwise identify that changes were made to the original Work. For example, a translation could be marked "The original work was translated from English to Spanish," or a modification could indicate "The original work has been modified."; - c. to Distribute and Publicly Perform the Work including as incorporated in Collections; and, - d. to Distribute and Publicly Perform Adaptations. - e. For the avoidance of doubt: - i. Non-waivable Compulsory License Schemes. In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme cannot be waived, the Licensor reserves the exclusive right to collect such royalties for any exercise by You of the rights granted under this License; - ii. Waivable Compulsory License Schemes. In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme can be waived, the Licensor waives the exclusive right to collect such royalties for any exercise by You of the rights granted under this License; and, - iii. Voluntary License Schemes. The Licensor waives the right to collect royalties, whether individually or, in the event that the Licensor is a member of a collecting society that administers voluntary licensing schemes, via that society, from any exercise by You of the rights granted under this License. - The above rights may be exercised in all media and formats whether now known or hereafter devised. The above rights include the right to make such modifications as are technically necessary to exercise the rights in other media and formats. Subject to Section 8(f), all rights not expressly granted by Licensor are hereby reserved. - 4. Restrictions. The license granted in Section 3 above is expressly made subject to and limited by the following restrictions: - a. You may Distribute or Publicly Perform the Work only under the terms of this License. You must include a copy of, or the Uniform Resource Identifier (URI) for, this License with every copy of the Work You Distribute or Publicly Perform. You may not offer or impose any terms on the Work that restrict the terms of this License or the ability of the recipient of the Work to exercise the rights granted to that recipient under the terms of the License. You may not sublicense the Work. You must keep intact all notices that refer to this License and to the disclaimer of warranties with every copy of the Work You Distribute or Publicly Perform. When You Distribute or Publicly Perform the Work, You may not impose any effective technological measures on the Work that restrict the ability of a recipient of the Work from You to exercise the rights granted to that recipient under the terms of the License. This Section 4(a) applies to the Work as incorporated in a Collection, but this does not require the Collection apart from the Work itself to be made subject to the terms of this License. If You create a Collection, upon notice from any Licensor You must, to the extent practicable, remove from the Collection any credit as required by Section 4(b), as requested. If You create an Adaptation, upon notice from any Licensor You must, to the extent practicable, remove from the Adaptation any credit as required by Section 4(b), as requested. - b. If You Distribute, or Publicly Perform the Work or any Adaptations or Collections, You must, unless a request has been made pursuant to Section 4(a), keep intact all copyright notices for the Work and provide, reasonable to the medium or means You are utilizing: (i) the name of the Original Author (or pseudonym, if applicable) if supplied, and/or if the Original Author and/or Licensor designate another party or parties (e.g., a sponsor institute, publishing entity, journal) for attribution ("Attribution Parties") in Licensor's copyright notice, terms of service or by other reasonable means, the name of such party or parties; (ii) the title of the Work if supplied; (iii) to the extent reasonably practicable, the URI, if any, that Licensor specifies to be associated with the Work, unless such URI does not refer to the copyright notice or licensing information for the Work; and (iv), consistent with Section 3(b), in the case of an Adaptation, a credit identifying the use of the Work in the Adaptation (e.g., "French translation of the Work by Original Author," or "Screenplay based on original Work by Original Author"). The credit required by this Section 4 (b) may be implemented in any reasonable manner; provided, however, that in the case of a Adaptation or Collection, at a minimum such credit will appear, if a credit for all contributing authors of the Adaptation or Collection appears, then as part of these credits and in a manner at least as prominent as the credits for the other contributing authors. For the avoidance of doubt, You may only use the credit required by this Section for the purpose of attribution in the manner set out above and, by exercising Your rights under this License, You may not implicitly or explicitly assert or imply any connection with, sponsorship or endorsement by the Original Author, Licensor and/or Attribution Parties, as appropriate, of You or Your use of the Work, without the separate, express prior written permission of the Original Author, Licensor and/or Attribution Parties. - c. Except as otherwise agreed in writing by the Licensor or as may be otherwise permitted by applicable law, if You Reproduce, Distribute or Publicly Perform the Work either by itself or as part of any Adaptations or Collections, You must not distort, mutilate, modify or take other derogatory action in relation to the Work which would be prejudicial to the Original Author's honor or reputation. Licensor agrees that in those jurisdictions (e.g. Japan), in which any exercise of the right granted in Section 3(b) of this License (the right to make Adaptations) would be deemed to be a distortion, mutilation, modification or other derogatory action prejudicial to the Original Author's honor and reputation, the Licensor will waive or not assert, as appropriate, this Section, to the fullest extent permitted by the applicable national law, to enable You to reasonably exercise Your right under Section 3(b) of this License (right to make Adaptations) but not otherwise. - 5. Representations, Warranties and Disclaimer - UNLESS OTHERWISE MUTUALLY AGREED TO BY THE PARTIES IN WRITING, LICENSOR OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY, FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS, WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU. - 6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. - 7. Termination - a. This License and the rights granted hereunder will terminate automatically upon any breach by You of the terms of this License. Individuals or entities who have received Adaptations or Collections from You under this License, however, will not have their licenses terminated provided such individuals or entities remain in full compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will survive any termination of this License. - b. Subject to the above terms and conditions, the license granted here is perpetual (for the duration of the applicable copyright in the Work). Notwithstanding the above, Licensor reserves the right to release the Work under different license terms or to stop distributing the Work at any time; provided, however that any such election will not serve to withdraw this License (or any other license that has been, or is required to be, granted under the terms of this License), and this License will continue in full force and effect unless terminated as stated above. - 8. Miscellaneous - a. Each time You Distribute or Publicly Perform the Work or a Collection, the Licensor offers to the recipient a license to the Work on the same terms and conditions as the license granted to You under this License. - b. Each time You Distribute or Publicly Perform an Adaptation, Licensor offers to the recipient a license to the original Work on the same terms and conditions as the license granted to You under this License. - c. If any provision of this License is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this License, and without further action by the parties to this agreement, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable. - d. No term or provision of this License shall be deemed waived and no breach consented to unless such waiver or consent shall be in writing and signed by the party to be charged with such waiver or consent. This License constitutes the entire agreement between the parties with respect to the Work licensed here. There are no understandings, agreements or representations with respect to the Work not specified here. Licensor shall not be bound by any additional provisions that may appear in any communication from You. - e. This License may not be modified without the mutual written agreement of the Licensor and You. - f. The rights granted under, and the subject matter referenced, in this License were drafted utilizing the terminology of the Berne Convention for the Protection of Literary and Artistic Works (as amended on September 28, 1979), the Rome Convention of 1961, the WIPO Copyright Treaty of 1996, the WIPO Performances and Phonograms Treaty of 1996 and the Universal Copyright Convention (as revised on July 24, 1971). These rights and subject matter take effect in the relevant jurisdiction in which the License terms are sought to be enforced according to the corresponding provisions of the implementation of those treaty provisions in the applicable national law. If the standard suite of rights granted under applicable copyright law includes additional rights not granted under this License, such additional rights are deemed to be included in the License; this License is not intended to restrict the license of any rights under applicable law. -Creative Commons Notice -Creative Commons is not a party to this License, and makes no warranty whatsoever in connection with the Work. Creative Commons will not be liable to You or any party on any legal theory for any damages whatsoever, including without limitation any general, special, incidental or consequential damages arising in connection to this license. Notwithstanding the foregoing two (2) sentences, if Creative Commons has expressly identified itself as the Licensor hereunder, it shall have all rights and obligations of Licensor. -Except for the limited purpose of indicating to the public that the Work is licensed under the CCPL, Creative Commons does not authorize the use by either party of the trademark "Creative Commons" or any related trademark or logo of Creative Commons without the prior written consent of Creative Commons. Any permitted use will be in compliance with Creative Commons' then-current trademark usage guidelines, as may be published on its website or otherwise made available upon request from time to time. For the avoidance of doubt, this trademark restriction does not form part of this License. -Creative Commons may be contacted at http://creativecommons.org/. - --------------------------------------------------------------------------------- -ISC License - -Copyright (c) 2014 Elan Shanker - -Copyright (c) Isaac Z. Schlueter - -Copyright (c) Isaac Z. Schlueter, Ben Noordhuis, and Contributors - -Copyright (c) 2015 Elan Shanker -ISC License -Copyright (c) 2004-2010 by Internet Systems Consortium, Inc. ("ISC") -Copyright (c) 1995-2003 by Internet Software Consortium -Permission to use, copy, modify, and /or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies. -THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - --------------------------------------------------------------------------------- -MIT License - -Copyright (c) 2014 Nathan Rajlich - -Copyright (c) 2014 TJ Holowaychuk - -Copyright (c) 2014-2016 TJ Holowaychuk <tj@vision-media.ca> - -Copyright (c) 2014 Component contributors - -Copyright (c) 2011 by Roly Fentanes - -Copyright (c) Node.js contributors. All rights reserved. - -Copyright (c) Node.js contributors. All rights reserved. - -Copyright (c) Joyent, Inc. and other Node contributors. - -Copyright (c) 2014-2019 Angelos Pikoulas (agelos.pikoulas@gmail.com) - -Copyright (c) 2016, Google Inc - -Copyright (c) 2016 Google Inc - -Copyright (c) 2016 Paul Miller [(paulmillr.com)](http://paulmillr.com) - -Copyright (c) Sindre Sorhus (sindresorhus.com) - -Copyright (c) 2012-2019 Paul Miller (https://paulmillr.com) & Elan Shanker - -Copyright (c) Sam Verschueren (github.com/SamVerschueren) - -Copyright (c) 2013 Julian Gruber <julian@juliangruber.com> - -Copyright (c) 2016 Zeit, Inc. - -Copyright (c) Elan Shanker and Node.js contributors. All rights reserved. - -Copyright (c) 2015 Calvin Metcalf - -Copyright (c) 2014-present, Facebook, Inc - -Copyright (c) 2013 present, Facebook, Inc. - -Copyright (c) Facebook, Inc. and its affiliates. - -Copyright (c) Facebook, Inc. and its affiliates. - -Copyright (c) React Training 2016 - -Copyright (c) Joyent, Inc. and other Node contributors. All rights reserved. - -Copyright (c) 2013 Simon Lydell - -Copyright (c) 2014 Blake Embrey (hello@blakeembrey.com) - -Copyright (c) 2014 Simon Lydell - -Copyright (c) 2014, 2015, 2016, 2017 Simon Lydell - -Copyright (c) 2014, 2015, 2016, 2017, 2018 Simon Lydell - -Copyright (c) 2014-2015, 2017 Jon Schlinkert. - -Copyright (c) 2014-2015 Jon Schlinkert. - -Copyright (c) 2014-2016 Jon Schlinkert - -Copyright (c) 2014-2016 Jon Schlinkert. - -Copyright (c) 2014-2017 Jon Schlinkert - -Copyright (c) 2014-2017 Jon Schlinkert. - -Copyright (c) 2014-2018 Jon Schlinkert. - -Copyright (c) 2015 Andres Suarez - -Copyright (c) 2015 present, Jon Schlinkert. - -Copyright (c) 2015, 2017 Jon Schlinkert - -Copyright (c) 2015, 2017-2018 Jon Schlinkert. - -Copyright (c) 2015 Jon Schlinkert. - -Copyright (c) 2015-2016 Michael Jackson - -Copyright (c) 2015-2016 Jon Schlinkert - -Copyright (c) 2015-2016 Jon Schlinkert. - -Copyright (c) 2015-2017 Jon Schlinkert - -Copyright (c) 2015-2017 Jon Schlinkert. - -Copyright (c) 2015-2018 Jon Schlinkert. - -Copyright (c) 2016, 2018 Jon Schlinkert. - -Copyright (c) 2016 Jon Schlinkert. - -Copyright (c) 2016-2017 Jon Schlinkert - -Copyright (c) 2016-2017, Jon Schlinkert - -Copyright (c) 2016-2018 Jon Schlinkert. - -Copyright (c) 2017 Jon Schlinkert - -Copyright (c) Feross Aboukhadijeh - -Copyright (c) 2012-2015 Thorsten Lorenz -MIT License -Copyright (c) - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - --------------------------------------------------------------------------------- -No Associated License - -Copyright (c) 2014-2015 Jon Schlinkert. - -Copyright (c) 2016 Jon Schlinkert](https://github.com/jonschlinkert). - -Copyright (c) 2014-2017 Jon Schlinkert. - -Copyright (c) 2017 Jon Schlinkert](https://github.com/jonschlinkert). - -Copyright (c) 2016 Jon Schlinkert](https://github.com/jonschlinkert) - -Copyright (c) 2015 Jon Schlinkert. - -Copyright (c) 2015 Jon Schlinkert - -Copyright (c) 2012-2018 AJ ONeal - -Copyright (c) 2018 Jon Schlinkert](https://github.com/jonschlinkert). - -Copyright (c) 2015, 2017 Jon Schlinkert. - -Copyright (c) 2015-2018 Jon Schlinkert. - -Copyright (c) 2014-2015, 2017 Jon Schlinkert. - -Copyright (c) 2016-2017 Jon Schlinkert. - -Copyright (c) 2014-2016 Jon Schlinkert. - -Copyright (c) 2015 Yahoo! Inc. - -Copyright (c) information. - -Copyright (c) 2015 Jon Schlinkert](https://github.com/jonschlinkert) - -Copyright (c) 2015-2017 Jon Schlinkert. - -Copyright (c) Feross Aboukhadijeh](http://feross.org). - -Copyright (c) 2014, 2015, 2016, 2017, 2018 Simon Lydell - -Copyright (c) 2014-2018 Jon Schlinkert. - -Copyright (c) 2014-2015 Jon Schlinkert, contributors. - -Copyright (c) 2015 present, Jon Schlinkert. - -Copyright (c) 2016 Jon Schlinkert](http://github.com/jonschlinkert). - -Copyright (c) 2014 Simon Lydell - -Copyright (c) Feross Aboukhadijeh](http://feross.org) - -Copyright (c) 2012 TJ Holowaychuk - -Copyright (c) 2014, 2017 Simon Lydell - -Copyright (c) 2017 Simon Lydell - -Copyright (c) 2014, 2015, 2016, 2017 Simon Lydell - -Copyright (c) 2016 Jon Schlinkert. - -Copyright (c) 2019 Angelos Pikoulas - --------------------------------------------------------------------------------- -zlib License -zlib License Copyright (c) -This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software. -Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions: - 1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required. - 2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. - 3. This notice may not be removed or altered from any source distribution. - --------------------------------------------------------------------------------- -bzip2 and libbzip2 License v1.0.6 -This program, "bzip2", the associated library "libbzip2", and all documentation, are copyright (C) 1996-2010 Julian R Seward. All rights reserved. -Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. - 2. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required. - 3. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. - 4. The name of the author may not be used to endorse or promote products derived from this software without specific prior written permission. -THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -Julian Seward, jseward@bzip.org bzip2/libbzip2 version 1.0.6 of 6 September 2010 - --------------------------------------------------------------------------------- - --------------------------------------------------------------------------------- --------------------------------------------------------------------------------- - -Report Generated by FOSSA on 2026-4-29 diff --git a/website/static/css/.gitignore b/css/.gitignore similarity index 100% rename from website/static/css/.gitignore rename to css/.gitignore diff --git a/css/main.css b/css/main.css new file mode 100644 index 0000000..500a2c8 --- /dev/null +++ b/css/main.css @@ -0,0 +1 @@ +a,abbr,acronym,address,applet,article,aside,audio,b,big,blockquote,body,canvas,caption,center,cite,code,dd,del,details,dfn,div,dl,dt,em,embed,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,output,p,pre,q,ruby,s,samp,section,small,span,strike,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,tt,u,ul,var,video{border:0;font:inherit;font-size:100%;margin:0;padding:0;vertical-align:baseline}body{color:#24292e;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;font-size:16px;line-height:1.5;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;word-wrap:break-word}*{box-sizing:border-box}b,strong{font-weight:600}em,i{font-style:italic}[type=checkbox]{box-sizing:border-box;padding:0}a,a:hover{text-decoration:none}a:hover{color:#14b2e2}a:active,a:hover{outline-width:0}a:not([href]){color:inherit;text-decoration:none}p{margin-bottom:1em;margin-top:0}h1,h2,h3,h4,h5,h6{color:inherit;font-weight:600;line-height:1.25;margin-bottom:16px;margin-top:1.5em}h1{font-size:32px}h2{font-size:24px}h3{font-size:20px}h4{font-size:16px}h5{font-size:14px}h6{font-size:13.6px}ol,ul{margin-bottom:1em;margin-top:0;padding-left:2em}ol ol,ul ol{list-style-type:lower-roman}ol ol,ol ul,ul ol,ul ul{margin-bottom:0;margin-top:0}ol ol ol,ol ul ol,ul ol ol,ul ul ol{list-style-type:lower-alpha}li{word-wrap:break-all}li>p{margin-top:1em}li+li{margin-top:.25em}img{border-style:none;box-sizing:content-box;max-width:100%}img[align=right]{padding-left:1.25em}img[align=left]{padding-right:1.25em}table{border-collapse:collapse;border-spacing:0;margin-bottom:16px;margin-top:0;width:100%}table tr{background-color:transparent;border-top:1px solid #dfe2e5}table tr:nth-child(2n){background-color:#f6f8fa}table td,table th{border:1px solid #dfe2e5;padding:6px 13px}table th{background-color:inherit;font-weight:600}table td,table th{color:inherit}blockquote{color:#6a737d;font-size:16px;margin:0 0 16px;padding:0 1em}blockquote>:first-child{margin-top:0}blockquote>:last-child{margin-bottom:0}code{background-color:rgba(27,31,35,.05);border-radius:3px;color:inherit;font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:85%;margin:0;padding:3.2px 6.4px}pre{margin-bottom:16px}pre code{background-color:transparent;border:0;display:inline;font-size:85%;line-height:inherit;margin:0;max-width:auto;overflow:visible;padding:0;white-space:pre;word-break:normal;word-wrap:normal}kbd{background-color:#fafbfc;border:1px solid #d1d5da;border-bottom-color:#c6cbd1;border-radius:3px;box-shadow:inset 0 -1px 0 #c6cbd1;color:#444d56;display:inline-block;font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:68.75%;line-height:10px;padding:3px 5px;vertical-align:middle}hr{border:1px solid #dfe2e5;box-sizing:content-box;margin:1.5em 0;overflow:hidden;padding:0}hr:after,hr:before{content:"";display:table}hr:after{clear:both}body{background-color:#fff;min-height:100vh;text-rendering:optimizeLegibility}@media only screen and (min-width:736px){body{display:flex;flex-direction:column}}article:after,article:before{content:"";display:table}article:after{clear:both}article>:first-child{margin-top:0}article>:last-child{margin-bottom:0}article iframe,article p img{display:block;margin-left:auto;margin-right:auto;max-width:100%}.anchor{display:block;position:relative;top:-80px}.hash-link{line-height:1;margin-left:-20px;opacity:0;padding-right:4px;transition:opacity .3s}.hash-link:hover{opacity:1!important;transition:none}.hash-link .hash-link-icon{vertical-align:middle}.button{border:1px solid #14b2e2;border-radius:3px;color:#14b2e2;display:inline-block;font-size:14px;font-weight:400;line-height:1.2em;padding:10px;text-decoration:none!important;text-transform:uppercase;transition:background .3s,color .3s}.button:hover{background:#14b2e2;color:#fff}h1:hover .hash-link,h2:hover .hash-link,h3:hover .hash-link,h4:hover .hash-link{opacity:.5;transition:none}blockquote{background-color:rgba(255,229,100,.3);border-left:8px solid #ffe564;padding:15px 30px 15px 15px}.wrapper{margin:0 auto;max-width:1100px;padding:0 20px}.wrapper blockquote>p:first-child{padding-top:0}.center{display:block}.center,.homeContainer{text-align:center}.homeContainer .homeWrapper{padding:2em 10px}.homeContainer .homeWrapper .wrapper{margin:0 auto;max-width:900px;padding:0 20px}.homeContainer .homeWrapper .projectLogo img{height:100px;margin-bottom:0}.homeContainer .homeWrapper #project_title{font-size:300%;letter-spacing:-.08em;line-height:1em;margin-bottom:80px}.homeContainer .homeWrapper #project_tagline{font-size:200%;letter-spacing:-.04em;line-height:1em}.projectLogo{display:none;pointer-events:none}.projectLogo img{height:100px;margin-bottom:0}.projectIntro{margin:40px 0}.projectTitle{color:#14b2e2;font-size:250%;line-height:1em}.projectTitle>small{display:block;font-weight:400;font-size:50%;line-height:1em;margin:.7em 0 1.3em}@media only screen and (min-width:480px){.projectTitle{font-size:300%;margin:.3em 0}.projectLogo img{height:200px;margin-bottom:10px}.homeContainer .homeWrapper{padding-left:10px;padding-right:10px}}@media only screen and (min-width:736px){.homeContainer .homeWrapper{position:relative}.homeContainer .homeWrapper #inner{max-width:600px;padding-right:40px}}@media only screen and (min-width:1200px){.homeContainer .homeWrapper #inner{max-width:750px}.homeContainer .homeWrapper .projectLogo{align-items:center;bottom:0;display:flex;justify-content:flex-end;left:0;padding:2em 100px 4em;position:absolute;right:0;top:0}.homeContainer .homeWrapper .projectLogo img{height:100%;max-height:250px}}@media only screen and (min-width:1500px){.homeContainer .homeWrapper #inner{max-width:1100px;padding-bottom:40px;padding-top:40px}.wrapper{max-width:1400px}}.mainContainer{flex:1 1 0%;max-width:100%;padding:40px 0}.mainContainer .wrapper{text-align:left}.mainContainer .wrapper .allShareBlock{padding:10px 0}.mainContainer .wrapper .allShareBlock .pluginBlock{margin:12px 0;padding:0}.mainContainer .wrapper .post{position:relative}.mainContainer .wrapper .post.basicPost{margin-top:30px}.mainContainer .wrapper .post .postHeader{margin-bottom:16px}.mainContainer .wrapper .post .postHeaderTitle{margin-top:0;padding:0}.docsContainer .wrapper .post .postHeader:before,.docsContainer .wrapper .post .postHeaderTitle:before{content:"";display:block;height:90px;margin-top:-90px;visibility:hidden;pointer-events:none}.mainContainer .wrapper .post .postSocialPlugins{padding-top:1em}.mainContainer .wrapper .post .docPagination{background:#14b2e2;bottom:0;left:0;position:absolute;right:0}.mainContainer .wrapper .post .docPagination .pager{display:inline-block;width:50%}.mainContainer .wrapper .post .docPagination .pagingNext{float:right;text-align:right}.mainContainer .wrapper .post .docPagination a{border:none;color:#fff;display:block;padding:4px 12px}.mainContainer .wrapper .post .docPagination a:hover{background-color:#f9f9f9;color:#393939}.mainContainer .wrapper .post .docPagination a .pagerLabel{display:inline}.mainContainer .wrapper .post .docPagination a .pagerTitle{display:none}@media only screen and (min-width:480px){.mainContainer .wrapper .post .docPagination a .pagerLabel{display:none}.mainContainer .wrapper .post .docPagination a .pagerTitle{display:inline}}@media only screen and (min-width:1024px){.mainContainer .wrapper .post{display:block}.mainContainer .wrapper .posts .post{width:100%}}@media only screen and (max-width:1023px){.docsContainer .wrapper .post .postHeader:before,.docsContainer .wrapper .post .postHeaderTitle:before{content:"";display:block;height:200px;margin-top:-200px;visibility:hidden;pointer-events:none}}.fixedHeaderContainer{background:#14b2e2;color:#fff;min-height:50px;padding:8px 0;position:fixed;width:100%;z-index:9999;transform:translateZ(0)}@media only screen and (min-width:1024px){.fixedHeaderContainer{flex-shrink:0}}.fixedHeaderContainer a{align-items:center;border:0;color:#fff;display:flex;flex-flow:row nowrap;height:34px;z-index:10000}.fixedHeaderContainer header{display:flex;flex-flow:row nowrap;position:relative;text-align:left}.fixedHeaderContainer header img{height:100%;margin-right:10px}.fixedHeaderContainer header .headerTitle{font-size:1.25em;margin:0}.fixedHeaderContainer header .headerTitleWithLogo{display:block;font-size:1.25em;line-height:18px;margin:0;position:relative;z-index:9999}.fixedHeaderContainer header h3{color:#fff;font-size:16px;margin:0 0 0 10px;text-decoration:underline}@media (max-width:480px){.headerTitle{font-size:17px}.headerTitleWithLogo{display:none!important}}.promoSection{display:flex;flex-flow:column wrap;font-size:125%;line-height:1.6em;position:relative;z-index:99}.promoSection .promoRow{padding:10px 0}.promoSection .promoRow .pluginWrapper{display:block}.promoSection .promoRow .pluginWrapper.ghStarWrapper,.promoSection .promoRow .pluginWrapper.ghWatchWrapper{height:28px}.promoSection .promoRow .pluginRowBlock{display:flex;flex-wrap:wrap;justify-content:center;margin:0 -2px}.promoSection .promoRow .pluginRowBlock .pluginWrapper{padding:0 2px}.promoSection .promoRow .pluginRowBlock iframe{margin-left:2px;margin-top:5px}input[type=search]{-moz-appearance:none;-webkit-appearance:none}.navSearchWrapper{align-items:center;align-self:center;display:flex;justify-content:center;padding-left:10px;position:absolute;right:10px;top:10px}.navSearchWrapper:before{border:3px solid #e5e5e5;border-radius:50%;content:" ";display:block;height:6px;left:15px;position:absolute;top:50%;transform:translateY(-58%);width:6px;z-index:1}.navSearchWrapper:after{background:#e5e5e5;content:" ";height:7px;left:24px;position:absolute;top:55%;transform:rotate(-45deg);width:3px;z-index:1}.navSearchWrapper .aa-dropdown-menu{background:#f9f9f9;border:3px solid rgba(57,57,57,.25);color:#393939;font-size:14px;left:auto!important;line-height:1.2em;right:0!important}.navSearchWrapper .aa-dropdown-menu .algolia-docsearch-suggestion--category-header{background:#14b2e2;color:#fff;font-size:14px;font-weight:400}.navSearchWrapper .aa-dropdown-menu .algolia-docsearch-suggestion--category-header .algolia-docsearch-suggestion--highlight{background-color:#14b2e2;color:#fff}.navSearchWrapper .aa-dropdown-menu .algolia-docsearch-suggestion--subcategory-column .algolia-docsearch-suggestion--highlight,.navSearchWrapper .aa-dropdown-menu .algolia-docsearch-suggestion--title .algolia-docsearch-suggestion--highlight{color:#14b2e2}.navSearchWrapper .aa-dropdown-menu .algolia-docsearch-suggestion--subcategory-column,.navSearchWrapper .aa-dropdown-menu .algolia-docsearch-suggestion__secondary{border-color:rgba(57,57,57,.3)}input#search_input_react{background-color:rgba(0,0,0,.2);border:none;border-radius:20px;color:#fff;font-size:14px;font-weight:300;line-height:20px;outline:none;padding-left:25px;position:relative;transition:width .5s ease;width:170px}.navSearchWrapper:before{left:24px}.navSearchWrapper:after{left:35px}input#search_input_react:active,input#search_input_react:focus{color:#fff;width:220px}.navigationSlider .slidingNav .navSearchWrapper .algolia-docsearch-footer a{height:auto}@media only screen and (max-width:735px){.navSearchWrapper{width:40%}}input::-moz-placeholder{color:#e5e5e5}input:-ms-input-placeholder{color:#e5e5e5}input::placeholder{color:#e5e5e5}.hljs{padding:1.25rem 1.5rem}.gridBlock{padding:0}.gridBlock>*{box-sizing:border-box}.gridBlock .fourByGridBlock img,.gridBlock .threeByGridBlock img,.gridBlock .twoByGridBlock img{max-width:100%}.gridBlock .gridClear{clear:both}@media only screen and (max-width:735px){.gridBlock .fourByGridBlock{flex:1 0 26%}}@media only screen and (min-width:736px){.gridBlock{display:flex;flex-direction:row;flex-wrap:wrap}.gridBlock>*{margin:0 12px}.gridBlock>:first-child{margin-left:0}.gridBlock>:last-child{margin-right:0}.gridBlock .twoByGridBlock{flex:1 0 40%}.gridBlock .threeByGridBlock{flex:1 0 26%}.gridBlock .fourByGridBlock{flex:1 0 20%}h2+.gridBlock{padding-top:20px}}@media only screen and (min-width:1400px){.gridBlock{display:flex;flex-direction:row;flex-wrap:wrap}}.alignCenter{text-align:center}.alignRight{text-align:right}.imageAlignSide{display:flex;flex-flow:row wrap}.blockImage{max-width:730px}.imageAlignSide .blockImage{flex:0 1 500px;max-width:500px}@media only screen and (max-width:735px){.imageAlignSide .blockImage{display:none}}.imageAlignSide .blockContent{flex:1 1}.imageAlignBottom .blockImage{margin:0 auto 20px;max-width:730px}.imageAlignBottom.alignCenter .blockImage{margin-left:auto;margin-right:auto}.imageAlignTop .blockImage{margin-bottom:20px;max-width:80px}.imageAlignTop.alignCenter .blockImage{margin-left:auto;margin-right:auto}.imageAlignRight .blockImage{margin-left:40px}.imageAlignLeft .blockImage{margin-right:40px}.container .gridBlock .blockContent p{padding:0}.container .wrapper .alignCenter h2{text-align:center}.container .wrapper .imageAlignSide h2{text-align:left}.container .wrapper .imageAlignSide p{margin:0 0 40px;max-width:560px}.highlightBackground{background:rgba(153,66,79,.7);color:#fff}.highlightBackground a{font-weight:800}.container.highlightBackground .wrapper h1,.container.highlightBackground .wrapper h2,.container.highlightBackground .wrapper h3,.container.highlightBackground .wrapper h4,.container.highlightBackground .wrapper h5,.highlightBackground a{border-color:#fff;color:#fff}.lightBackground{background:#f7f7f7}.darkBackground{background:grey;color:#fff}.darkBackground a,.darkBackground code{color:#d6b3b8}.container.darkBackground .wrapper h1,.container.darkBackground .wrapper h2,.container.darkBackground .wrapper h3,.container.darkBackground .wrapper h4,.container.darkBackground .wrapper h5{border-color:#fff;color:#fff}.container.paddingAll{padding:40px}.container.paddingBottom{padding-bottom:80px}.container.paddingLeft{padding-left:40px}.container.paddingRight{padding-right:40px}.container.paddingTop{padding-top:80px}@media only screen and (max-width:735px){.container.paddingBottom{padding-bottom:40px}.container.paddingTop{padding-top:20px}}@media only screen and (max-width:1023px){.responsiveList .blockContent{position:relative}.responsiveList .blockContent>div{padding-left:20px}.responsiveList .blockContent:before{content:"\2022";position:absolute}}.navigationSlider .navSlideout{cursor:pointer;padding-top:4px;position:absolute;right:10px;top:0;transition:top .3s;z-index:101}.navigationSlider .slidingNav{bottom:auto;box-sizing:border-box;left:0;position:fixed;right:0;top:0}.navigationSlider .slidingNav.slidingNavActive{height:auto;padding-top:42px;width:300px}.navigationSlider .slidingNav ul{background:#205c3b;box-sizing:border-box;color:#fff;display:flex;flex-wrap:nowrap;list-style:none;margin-top:50px;padding:0;width:100%}.navigationSlider .slidingNav.slidingNavActive ul{display:block}.navigationSlider .slidingNav ul li{flex:1 1 auto;margin:0;text-align:center;white-space:nowrap}.navigationSlider .slidingNav ul li a{align-items:center;box-sizing:border-box;color:#14b2e2;color:inherit;display:flex;font-size:.9em;height:auto;height:50px;justify-content:center;margin:0;padding:10px;transition:background-color .3s}.navigationSlider .slidingNav ul li.siteNavGroupActive>a,.navigationSlider .slidingNav ul li.siteNavItemActive>a,.navigationSlider .slidingNav ul li>a:focus,.navigationSlider .slidingNav ul li>a:hover{background-color:#14b2e2}.languages-icon{width:20px}#languages-dropdown{pointer-events:none;position:absolute;width:100%}#languages-dropdown.visible{display:flex}#languages-dropdown.hide{display:none}#languages-dropdown-items{background-color:#14b2e2;display:flex;flex-direction:column;min-width:120px;pointer-events:all}#languages li{display:block}.navPusher{left:0;min-height:100%;padding-top:100px;position:relative;z-index:99}.singleRowMobileNav.navPusher{padding-top:50px}.navPusher:after{background:rgba(0,0,0,.4);content:"";height:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .5s,width .1s .5s,height .1s .5s;width:0}@media screen and (min-width:1024px){.navPusher{display:flex;flex-direction:column;min-height:calc(100vh - 50px);padding-top:50px}.navPusher,.navPusher>:first-child{flex-grow:1}}.sliderActive .navPusher:after{height:100%;opacity:1;transition:opacity .5s;width:100%;z-index:100}@media only screen and (max-width:1024px){.reactNavSearchWrapper input#search_input_react{background-color:rgba(242,196,178,.25);border:none;border-radius:20px;box-sizing:border-box;color:#393939;font-size:14px;line-height:20px;outline:none;padding-left:38px;position:relative;transition:background-color .2s cubic-bezier(.68,-.55,.265,1.55),width .2s cubic-bezier(.68,-.55,.265,1.55),color .2s ease;width:100%;height:30px}.reactNavSearchWrapper input#search_input_react:active,.reactNavSearchWrapper input#search_input_react:focus{background-color:#14b2e2;color:#fff}.reactNavSearchWrapper .algolia-docsearch-suggestion--subcategory-inline{display:none}.reactNavSearchWrapper>span{width:100%}.reactNavSearchWrapper .aa-dropdown-menu{font-size:12px;line-height:2em;padding:0;border-width:1px;min-width:500px}.reactNavSearchWrapper .algolia-docsearch-suggestion__secondary{border-top:none}.aa-suggestions{min-height:140px;max-height:60vh;-webkit-overflow-scrolling:touch;overflow-y:scroll}#languages-dropdown{left:0;top:50px}#languages-dropdown-items{background-color:#14b2e2;display:flex;flex-direction:row}}@media only screen and (min-width:1024px){.navSearchWrapper{padding-left:10px;position:relative;right:auto;top:auto}.reactNavSearchWrapper input#search_input_react{height:100%;padding-top:8px;padding-bottom:8px;padding-left:38px}.navSearchWrapper .algolia-autocomplete{display:block}.navigationSlider{height:34px;margin-left:auto;position:relative}.navigationSlider .navSlideout{display:none}.navigationSlider nav.slidingNav{background:none;height:auto;position:relative;right:auto;top:auto;width:auto}.navigationSlider .slidingNav ul{background:none;display:flex;flex-flow:row nowrap;margin:0;padding:0;width:auto}.navigationSlider .slidingNav ul li a{border:0;color:hsla(0,0%,100%,.8);display:flex;font-size:16px;font-size:1em;font-weight:300;height:32px;line-height:1.2em;margin:0;padding:6px 10px}.navigationSlider .slidingNav ul li.siteNavGroupActive a,.navigationSlider .slidingNav ul li.siteNavItemActive a,.navigationSlider .slidingNav ul li a:hover{color:#fff}}@media only screen and (max-width:735px){.navigationSlider .slidingNav ul{overflow-x:auto}.navigationSlider .slidingNav ul::-webkit-scrollbar{display:none}.reactNavSearchWrapper .aa-dropdown-menu{min-width:400px}}@media only screen and (max-width:475px){.reactNavSearchWrapper .aa-dropdown-menu{min-width:300px}}.docMainWrapper .wrapper{padding-left:0;padding-right:0;padding-top:10px}@media only screen and (min-width:1024px){.docMainWrapper{width:100%}.docMainWrapper>*{margin:0 24px}.docMainWrapper>:first-child{margin-left:0}.docMainWrapper>:last-child{margin-right:0}.docMainWrapper .mainContainer{min-width:0}}.edit-page-link{float:right;font-size:10px;font-weight:400;margin-top:3px;text-decoration:none}@media only screen and (max-width:1023px){.edit-page-link{display:none}}.docLastUpdate{font-size:13px;font-style:italic;margin:20px 0;text-align:right}.docs-prevnext{margin:20px 0}.docs-prevnext:after{clear:both;content:" ";display:table}.docs-next{float:right}.docs-prev{float:left}@media only screen and (max-width:735px){.docs-next{clear:both;float:left}.docs-next,.docs-prev{margin:10px 0}.arrow-next{float:right;margin-left:10px}.arrow-prev{float:left;margin-right:10px}.function-name-prevnext{width:200px;display:inline-block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}.hide{display:none}.collapsible{cursor:pointer}.collapsible .arrow{float:right;margin-right:8px;margin-top:-4px;transform:rotate(90deg);transition:transform .2s linear}.collapsible .arrow.rotate{transform:rotate(180deg)}@media only screen and (max-width:1023px){.docsNavContainer{background:#fff;left:0;position:fixed;width:100%;z-index:100}}@media only screen and (min-width:1024px){.docsNavContainer{flex:0 0 240px;height:calc(100vh - 50px);position:-webkit-sticky;position:sticky;overflow-y:auto;top:50px}}.docsSliderActive.docsNavContainer{box-sizing:border-box;height:100%;-webkit-overflow-scrolling:touch;overflow-y:auto;-ms-scroll-chaining:none;overscroll-behavior:contain;padding-bottom:50px}.docsNavContainer .toc .navBreadcrumb{background-color:#f1f1f1;box-sizing:border-box;display:flex;flex-flow:row nowrap;font-size:12px;height:48px;overflow:hidden;padding:8px 20px}.docsNavContainer .toc .navWrapper{padding:0}@media only screen and (min-width:1024px){.docsNavContainer .toc .navBreadcrumb{display:none}.navBreadcrumb h2{padding:0 10px}.separateOnPageNav .docsNavContainer{flex:0 0 240px}}.navBreadcrumb a,.navBreadcrumb span{border:0;color:#393939}@media only screen and (max-width:735px){.anchor{top:-144px}}@media only screen and (min-width:1024px){.toc{padding:40px 0}}.toc section{padding:0;position:relative}.toc section .navGroups{display:none;padding:48px 20px 60px}.toc .toggleNav{color:#393939;position:relative}.toc .toggleNav .navToggle{cursor:pointer;height:32px;margin-right:10px;position:relative;text-align:left;width:18px}.hamburger-menu{position:absolute;top:6px;width:100%}.line1,.line2,.line3{width:100%;height:3px;background-color:#393939;margin:3px 0;transition:.4s;border-radius:10px}.docsSliderActive .hamburger-menu{top:12px}.docsSliderActive .line1{position:absolute;top:50%;transform:rotate(-45deg)}.docsSliderActive .line2{display:none}.docsSliderActive .line3{position:absolute;top:50%;transform:rotate(45deg)}.toggleNav h2 i{padding:0 4px}.toc .toggleNav .navGroup{margin-bottom:16px}.toc .toggleNav .subNavGroup{margin-bottom:0}.toc .toggleNav .navGroup .navGroupCategoryTitle{color:#393939;font-size:18px;font-weight:500;line-height:1.2em;margin-bottom:8px;margin-top:0}.toc .toggleNav .navGroup .navGroupSubcategoryTitle{color:#393939;font-size:14px;font-weight:500;line-height:1.5;margin-bottom:0;margin-top:0;padding:4px 0}.toc .toggleNav .navGroup .navListItem{margin:0}.toc .toggleNav .navGroup h3 i:not(:empty){box-sizing:border-box;color:rgba(57,57,57,.5);display:inline-block;height:16px;margin-right:10px;text-align:center;transition:color .2s;width:16px}.toc .toggleNav ul{padding:0 8px}.docsSliderActive .toc .toggleNav ul{padding-left:0}.toc .toggleNav ul li{list-style-type:none;padding:0}.toc .toggleNav ul li a{border:none;color:#717171;display:block;font-size:14px;padding:4px 0;transition:color .3s}.toc .toggleNav ul li.navListItemActive a,.toc .toggleNav ul li a:focus,.toc .toggleNav ul li a:hover{color:#14b2e2}.docsSliderActive .toc .navBreadcrumb,.tocActive .navBreadcrumb{border-bottom:1px solid #ccc;margin-bottom:20px;position:fixed;width:100%}.toc .toggleNav .navBreadcrumb h2{border:0;flex-grow:1;font-size:16px;font-weight:600;line-height:32px;margin:0;padding:0}.docsSliderActive .toc section .navGroups{display:block;padding-top:60px}.tocToggler{cursor:pointer;height:32px;line-height:32px;margin-right:-10px;padding:0 10px}.icon-toc{box-sizing:border-box;display:inline-block;line-height:normal;position:relative;top:-1px;vertical-align:middle}.icon-toc,.icon-toc:after,.icon-toc:before{background-color:currentColor;border:1px solid;border-radius:50%;box-sizing:border-box;height:4px;width:4px}.icon-toc:after,.icon-toc:before{content:"";position:absolute}.icon-toc:before{left:-1px;top:-7px}.icon-toc:after{left:-1px;top:5px}.tocActive .icon-toc{border-radius:0;height:16px;transform:rotate(45deg);width:3px}.tocActive .icon-toc:before{border-radius:0;height:3px;left:50%;top:50%;transform:translate(-50%,-50%);width:16px}.tocActive .icon-toc:after{content:""}@media only screen and (min-width:1024px){.docMainWrapper{display:flex;flex-flow:row nowrap}.docMainWrapper .wrapper{padding-top:0;padding-left:0;padding-right:0}}.onPageNav{display:none;margin-bottom:40px}.onPageNav::-webkit-scrollbar{width:7px}.onPageNav::-webkit-scrollbar-track{background:#f1f1f1;border-radius:10px}.onPageNav::-webkit-scrollbar-thumb{background:#888;border-radius:10px}.onPageNav::-webkit-scrollbar-thumb:hover{background:#555}.onPageNav a{color:#717171}.onPageNav .toc-headings>li>a.active,.onPageNav .toc-headings>li>a.hover{font-weight:600;color:#14b2e2}.onPageNav ul{list-style:none}.onPageNav ul li{font-size:12px;line-height:16px;padding-bottom:8px}.onPageNav ul ul{padding:8px 0 0 20px}.onPageNav ul ul li{padding-bottom:5px}@media only screen and (min-width:1024px){.toc section .navGroups{display:block;padding:8px 0 0}.navBreadcrumb h2{padding:0 10px}}@supports ((position: -webkit-sticky) or (position: sticky)){@media only screen and (max-width:1023px){.tocActive .onPageNav{background:#fff;bottom:0;display:block;left:0;overflow-y:auto;-ms-scroll-chaining:none;overscroll-behavior:contain;padding:0 20px;position:fixed;right:0;top:148px;z-index:10;margin-bottom:0}.tocActive .singleRowMobileNav .onPageNav{top:98px}.tocActive .navBreadcrumb h2,.tocActive .navToggle{visibility:hidden}.tocActive .onPageNav>.toc-headings{padding:12px 0}}@media only screen and (min-width:1024px){.separateOnPageNav .headerWrapper.wrapper,.separateOnPageNav .wrapper{max-width:1400px}.separateOnPageNav .toc{width:auto}.separateOnPageNav.sideNavVisible .navPusher .mainContainer{flex:1 auto;max-width:100%;min-width:0}.onPageNav{align-self:flex-start;display:block;flex:0 0 240px;max-height:calc(100vh - 90px);overflow-y:auto;position:-webkit-sticky;position:sticky;top:90px}.onPageNav>.toc-headings{border-left:1px solid #e0e0e0;padding:10px 0 2px 15px}.tocToggler{display:none}}}.blog .wrapper{max-width:1100px}.blogContainer .posts .post{border-bottom:1px solid #e0e0e0;border-radius:3px;margin-bottom:20px;padding-bottom:20px}.blogContainer .postHeader{margin-bottom:10px}.blogContainer .postHeaderTitle{margin-top:0}.blogContainer .postHeader p.post-meta{margin-bottom:10px;padding:0}.blogContainer .postHeader .authorBlock{display:flex}.blogContainer .postHeader .post-authorName{color:rgba(57,57,57,.7);display:flex;flex-direction:column;font-size:14px;font-weight:400;justify-content:center;margin-right:10px;margin-top:0;margin-bottom:0;padding:0}.blogContainer .postHeader .authorPhoto{border-radius:50%;height:30px;overflow:hidden;width:30px}.blogContainer .postHeader .authorPhoto.authorPhotoBig{height:50px;width:50px}.blog-recent{margin:20px 0}.blog-recent>a{float:left}@media only screen and (max-width:735px){.blog-recent{height:40px}}.blogSocialSection{display:block;padding:36px 0}.blogSocialSection .blogSocialSectionItem{padding-bottom:5px}.fb-like{display:block;margin-bottom:20px;width:100%}.more-users{margin:0 auto;max-width:560px;text-align:center}.productShowcaseSection{padding:0 20px;text-align:center}.productShowcaseSection.paddingTop{padding-top:20px}.productShowcaseSection.paddingBottom{padding-bottom:80px}.productShowcaseSection h2{color:#14b2e2;font-size:30px;line-height:1em;margin-top:20px;padding:10px 0;text-align:center}.productShowcaseSection p{margin:0 auto;max-width:560px;padding:.8em 0}.productShowcaseSection .logos{align-items:center;display:flex;flex-flow:row wrap;justify-content:center;padding:20px}.productShowcaseSection .logos img{max-height:110px;padding:20px;width:110px}@media only screen and (max-width:735px){.productShowcaseSection .logos img{max-height:64px;padding:20px;width:64px}}.showcaseSection{margin:0 auto;max-width:900px}.showcaseSection,.showcaseSection .prose h1{text-align:center}.showcaseSection .prose{margin:0 auto;max-width:560px;text-align:center}.showcaseSection .logos{align-items:center;display:flex;flex-flow:row wrap;justify-content:center}.showcaseSection .logos img{max-height:128px;padding:20px;width:128px}@media only screen and (max-width:735px){.showcaseSection .logos img{max-height:64px;padding:20px;width:64px}}.nav-footer{background:#20232a;border:none;color:#202020;font-size:15px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;line-height:24px;padding-bottom:2em;padding-top:2em;position:relative}@media only screen and (min-width:1024px){.nav-footer{flex-shrink:0}}.nav-footer .sitemap{display:flex;justify-content:space-between;margin:0 auto 3em;max-width:1080px}.nav-footer .sitemap div{flex:1}.nav-footer .sitemap .nav-home{display:table;height:72px;margin:-12px 20px 0 0;opacity:.4;padding:10px;transition:opacity .15s ease-in-out;width:72px}.nav-footer .sitemap .nav-home:focus,.nav-footer .sitemap .nav-home:hover{opacity:1}@media only screen and (max-width:735px){.nav-footer .sitemap{display:flex;flex-direction:column;margin:0 2em 3em;width:calc(100% - 4em)}.nav-footer .sitemap>div{margin-bottom:18px}}.nav-footer .sitemap a{color:hsla(0,0%,100%,.6);display:block;margin:2px 0;padding:3px 0}.nav-footer .sitemap a:focus,.nav-footer .sitemap a:hover,.nav-footer .sitemap h5>a:focus,.nav-footer .sitemap h5>a:hover{color:#fff;text-decoration:none}.nav-footer .sitemap h5,.nav-footer .sitemap h6{margin:0 0 10px}.nav-footer .sitemap h5,.nav-footer .sitemap h5>a,.nav-footer .sitemap h6,.nav-footer .sitemap h6>a{color:#fff}.nav-footer .sitemap h5>a,.nav-footer .sitemap h6>a{margin:0 -10px}.nav-footer .fbOpenSource{display:block;margin:1em auto;opacity:.4;transition:opacity .15s ease-in-out;width:170px}.nav-footer .fbOpenSource:hover{opacity:1}.nav-footer .copyright{color:hsla(0,0%,100%,.4);text-align:center}.nav-footer .social{padding:5px 0}.tabs{border-top:1px solid #cfcfcf}.nav-tabs{display:flex;border-bottom:4px solid #e0e0e0;width:100%;padding:0;overflow-x:auto;white-space:nowrap;max-height:100%}.nav-tabs::-webkit-scrollbar{display:none}.tabs .tab-pane:focus{outline:none}.tabs .nav-tabs>div{font-size:14px;line-height:1.14286;padding:12px 16px;text-decoration:none;display:block;cursor:pointer}.tabs .nav-tabs>div.active{border-bottom:4px solid #14b2e2}.tab-pane{display:none}.tab-pane.active{display:block}.tab-pane>pre{white-space:pre-wrap}.tab-pane>pre>code{margin-top:0;border-radius:0;box-shadow:none}@font-face{src:url(../fonts/Avenir-LT-W02-55-Roman.eot?#iefix);src:url(../fonts/Avenir-LT-W02-55-Roman.eot?#iefix) format("eot"),url(../fonts/Avenir-LT-W02-55-Roman.woff) format("woff"),url(../fonts/Avenir-LT-W02-55-Roman.ttf) format("truetype"),url(../fonts/Avenir-LT-W02-55-Roman.svg#Avenir-LT-W02-55-Roman) format("svg");font-family:Avenir;font-style:normal;font-weight:400}@font-face{src:url(../fonts/Avenir-LT-W02-85-Heavy.eot?#iefix);src:url(../fonts/Avenir-LT-W02-85-Heavy.eot?#iefix) format("eot"),url(../fonts/Avenir-LT-W02-85-Heavy.woff) format("woff"),url(../fonts/Avenir-LT-W02-85-Heavy.ttf) format("truetype"),url(../fonts/Avenir-LT-W02-85-Heavy.svg#Avenir-LT-W02-85-Heavy) format("svg");font-family:Avenir;font-style:normal;font-weight:700}@media screen and (-webkit-min-device-pixel-ratio:0){@font-face{font-family:Avenir;src:url(../fonts/Avenir-LT-W02-55-Roman.svg#Avenir-LT-W02-55-Roman) format("svg");font-style:normal;font-weight:400}@font-face{font-family:Avenir;src:url(../fonts/Avenir-LT-W02-85-Heavy.svg#Avenir-LT-W02-85-Heavy) format("svg");font-style:normal;font-weight:700}}body,h1,h2,h3,h4{font-family:avenir,Helvetica Neue,arial,sans-serif}.mainContainer,body{color:#464e56;font-size:16px}.mainContainer .wrapper .post .postHeader h1,.mainContainer .wrapper .post h2,.mainContainer .wrapper .post h3,.productShowcaseSection h2,h1,h2,h3,h4{padding:0;color:#000}.mainContainer .wrapper .post .postHeader h1,h1{margin:1rem 0 3rem;font-size:3.125rem;font-weight:700}.mainContainer .wrapper .post .postHeader h1 small,h1 small{margin:0;font-size:2rem;font-weight:400;line-height:2.75rem}.mainContainer .wrapper .post h2,.productShowcaseSection h2,h2{margin:2rem 0;font-size:2.5rem;line-height:3.4375rem}.mainContainer .wrapper .post h3,h3{margin:1.9rem 0;font-size:1.5rem;font-weight:700}.blockElement p,.mainContainer .wrapper p{margin:.7rem 0;padding:0}strong{font-weight:700}*,:after,:before{box-sizing:border-box}.responsiveImage{background-repeat:no-repeat;background-size:cover}@media only screen and (max-width:735px){.noMobile{display:none}}.separateOnPageNav.doc .wrapper,.separateOnPageNav .headerWrapper.wrapper,.wrapper{width:100%;max-width:1440px}blockquote{overflow:hidden;padding:0 8px 0 10px;border:none;border-radius:3px;color:#f18600;background:rgba(250,218,35,.15)}blockquote a{color:#f18600;text-decoration:underline}blockquote p{margin:4px 0}.mainContainer .wrapper blockquote a{text-decoration:underline}table{display:block;max-width:100%;overflow:auto;border:none;background-color:transparent}table tr td,table tr th{min-width:100px;padding:.3rem;border:none;font-family:avenir,Helvetica Neue,arial,sans-serif;font-size:.9rem;font-weight:lighter;line-height:1.3rem}table tr td code,table tr th code{color:#00c18d}table tr th{text-transform:none}table thead{border:none}table thead tr:nth-of-type(odd){background-color:transparent}table thead tr th{color:#94a1ad;font-size:.8rem}table tbody tr:nth-of-type(odd){background-color:rgba(221,228,235,.4)}.versionsContainer .post{padding-right:20px;padding-left:20px}.versionsContainer .post h2{margin-top:1rem}.versionsContainer .post table{min-width:500px}.versionsContainer .post table tbody th{width:150px}@media only screen and (min-width:736px){.versionsContainer .post table{min-width:500px}}@media only screen and (max-width:735px){.versionsContainer .post table{width:100%}}@media only screen and (min-width:1025px){.versionsContainer{margin-right:260px;margin-left:326px}}@media only screen and (min-width:736px){.blogContainer .lonePost:first-child,.blogContainer .post:first-child,.blogContainer .posts:first-child,.blogContainer .wrapper .lonePost:first-child,.blogContainer .wrapper .post:first-child,.blogContainer .wrapper .posts:first-child,.mainContainer .lonePost:first-child,.mainContainer .post:first-child,.mainContainer .posts:first-child,.mainContainer .wrapper .lonePost:first-child,.mainContainer .wrapper .post:first-child,.mainContainer .wrapper .posts:first-child{padding-top:0}}.fixedHeaderContainer{height:64px;padding:0}.fixedHeaderContainer .logo,.fixedHeaderContainer header img{width:143px;height:35px}.fixedHeaderContainer header{height:100%;align-items:center}.fixedHeaderContainer header>a{flex:0 0 auto}.fixedHeaderContainer header>a:active h3,.fixedHeaderContainer header>a:focus h3,.fixedHeaderContainer header>a:hover h3{text-decoration:underline}.fixedHeaderContainer header a .logo{display:block;opacity:.9;margin-top:-4px}.fixedHeaderContainer header a:hover .logo{opacity:1}.fixedHeaderContainer header h2{display:none}.fixedHeaderContainer header h3{position:absolute;right:7rem;margin:0;color:#464e56;font-family:avenir,Helvetica Neue,arial,sans-serif;font-weight:lighter;font-size:1rem;text-decoration:none}@media only screen and (max-width:1024px){.fixedHeaderContainer header h3{right:0}}@media only screen and (min-width:1025px){.fixedHeaderContainer{box-shadow:0 1px 3px 0 rgba(0,0,0,.2);background:#fdfdfd}}.navigationSlider{position:relative;flex:1 1 auto}.navigationSlider .slidingNav{padding:0 2rem}@media only screen and (max-width:1024px){.navigationSlider .slidingNav ul{justify-content:space-evenly;margin-top:64px}}@media only screen and (min-width:1025px){.navigationSlider .slidingNav ul{margin-right:218px}}.navigationSlider .slidingNav ul li{flex:0 1 auto;padding:0}@media only screen and (min-width:1025px){.navigationSlider .slidingNav ul li{flex:0 0 auto}}.navigationSlider .slidingNav ul li a{padding:0 1rem;border-bottom:2px solid transparent;color:rgba(0,0,0,.7);font-size:15px;text-decoration:none;transition:all .2s}.navigationSlider .slidingNav ul li a:empty{display:none}@media only screen and (max-width:1024px){.navigationSlider .slidingNav ul li a{height:1.5rem;margin:0;padding:0 .5rem;line-height:1.5rem}}@media only screen and (min-width:1025px){.navigationSlider .slidingNav ul li a{height:4rem;line-height:4rem}.navigationSlider .slidingNav ul li a[href*="https://github.com/"]{position:absolute;top:17px;right:0;height:1.75rem;margin:0;border:1px solid rgba(0,0,0,.5);border-radius:100px;color:#000;font-size:.75rem;line-height:1.75rem}.navigationSlider .slidingNav ul li a[href*="https://github.com/"]:active,.navigationSlider .slidingNav ul li a[href*="https://github.com/"]:focus,.navigationSlider .slidingNav ul li a[href*="https://github.com/"]:hover{border-color:#000}}@media only screen and (min-width:1025px){.navigationSlider .slidingNav ul li a{margin:0 1rem}}.navigationSlider .slidingNav ul li.siteNavGroupActive a,.navigationSlider .slidingNav ul li.siteNavItemActive a,.navigationSlider .slidingNav ul li a:focus,.navigationSlider .slidingNav ul li a:hover{color:rgba(0,0,0,.9);background-color:transparent;transition:all .1s ease-in}.navigationSlider .slidingNav ul li a:focus,.navigationSlider .slidingNav ul li a:hover{border-bottom-color:#464e56}.navigationSlider .slidingNav ul li.siteNavGroupActive a,.navigationSlider .slidingNav ul li.siteNavItemActive a{border-bottom-color:#14b2e2}.navigationSlider .slidingNav .navSearchWrapper{position:absolute;top:50%;right:200px;width:218px;margin-top:-14px}@media only screen and (max-width:1024px){.navigationSlider .slidingNav .navSearchWrapper{top:32px;right:100px}}@media only screen and (max-width:1024px){.navigationSlider .slidingNav{box-shadow:0 1px 3px 0 rgba(0,0,0,.2);background:#fdfdfd}.sideNavVisible .navigationSlider .slidingNav{box-shadow:none}}.navigationSlider nav.slidingNav{box-sizing:border-box;position:fixed;top:0;right:0;bottom:auto;left:0;background:#fdfdfd}@media only screen and (min-width:1025px){.navigationSlider nav.slidingNav{background:none;height:auto;position:relative;right:auto;top:auto;width:auto}}@media only screen and (min-width:1025px){.navigationSlider{overflow:visible}.navigationSlider,.navigationSlider .nav-site,.navigationSlider nav.slidingNav{height:100%}}.navPusher{display:flex;flex-direction:column;padding-top:88px}@media only screen and (min-width:1025px){.navPusher{padding-top:64px}}footer.nav-footer{flex:0 0 auto;padding:1rem 0;box-shadow:none;color:#fff;background-color:#404040}.mainContainer .wrapper .post h1,.mainContainer .wrapper .post h2,.mainContainer .wrapper .post h3,h1{color:#000}nav.toc .toggleNav .navGroup.navGroupActive{background:#e6e6e6}nav.toc .toggleNav .navGroup.navGroupActive h3{background:linear-gradient(180deg,#1e2025 0,#0a0d14)}.mainContainer,body{background:#fafafa}.docMainWrapper.wrapper{flex:1 0 auto;margin:0 auto}@media only screen and (min-width:736px){.docMainWrapper.wrapper{padding-top:40px;padding-left:0}}@media only screen and (min-width:1025px){.doc.separateOnPageNav.sideNavVisible .navPusher .mainContainer{padding-left:20px}}@media only screen and (min-width:736px){.doc.separateOnPageNav .docsNavContainer{flex:0 0 290px;margin-top:0;margin-right:1rem}}@media only screen and (max-width:735px){.doc.separateOnPageNav .docsNavContainer,.docsSliderActive nav.toc .navBreadcrumb,.navigationSlider .slidingNav ul{z-index:1;background:#fdfdfd}}nav.toc{width:auto}nav.toc:last-child{padding-bottom:0}nav.toc .toggleNav{background:transparent}@media only screen and (min-width:736px){nav.toc .toggleNav{padding:1.25rem}}nav.toc .toggleNav .navGroup.navGroupActive{margin-bottom:1.25rem;box-shadow:0 1px 2px 0 rgba(0,0,0,.2);background:#fff}nav.toc .toggleNav .navGroup.navGroupActive h3{padding:1.25rem 1.25rem 0;color:#000;font-size:18px;font-weight:700;background:transparent}nav.toc .toggleNav .navGroup.navGroupActive ul li{font-size:16px;line-height:22px}nav.toc .toggleNav .navGroup.navGroupActive ul li a{position:relative;margin:.5rem 1.25rem .2rem;padding:0 0 .3rem;text-decoration:none}nav.toc .toggleNav .navGroup.navGroupActive ul li a:before{content:"";position:absolute;left:0;bottom:0;height:0;width:0;border-bottom:2px solid transparent;transition:width .2s}nav.toc .toggleNav .navGroup.navGroupActive ul li a,nav.toc .toggleNav .navGroup.navGroupActive ul li a.navItemActive{color:#464e56}nav.toc .toggleNav .navGroup.navGroupActive ul li a.navItemActive:before,nav.toc .toggleNav .navGroup.navGroupActive ul li a:hover:before{width:100%;border-bottom-color:#14b2e2}nav.toc .toggleNav .navToggle{width:20px;height:20px}.docsSliderActive nav.toc .toggleNav .navToggle:after,.docsSliderActive nav.toc .toggleNav .navToggle:before,.docsSliderActive nav.toc .toggleNav .navToggle i,nav.toc .toggleNav .navToggle:after,nav.toc .toggleNav .navToggle:before,nav.toc .toggleNav .navToggle i{position:absolute;width:100%;height:0;top:10px;right:0;left:0;opacity:1;border:none;border-bottom:2px solid #404040;transform:rotate(0);transition:all .4s}nav.toc .toggleNav .navToggle:before{margin-top:-6px}nav.toc .toggleNav .navToggle:after{margin-top:6px}nav.toc .toggleNav .navToggle i:after,nav.toc .toggleNav .navToggle i:before{display:none}.docsSliderActive nav.toc .toggleNav .navToggle:after,.docsSliderActive nav.toc .toggleNav .navToggle:before{margin-top:0}.docsSliderActive nav.toc .toggleNav .navToggle:before{transform:rotate(45deg)}.docsSliderActive nav.toc .toggleNav .navToggle:after{transform:rotate(-45deg)}.docsSliderActive nav.toc .toggleNav .navToggle i{opacity:0}@media only screen and (max-width:735px){nav.toc section .navGroups{padding-top:64px}}.docsNavContainer nav.toc .navBreadcrumb{height:50px;align-items:center;box-shadow:0 1px 3px 0 rgba(0,0,0,.2);font-size:.95rem;background-color:#fdfdfd}.navBreadcrumb h2 i{display:none}@media only screen and (min-width:1025px){.onPageNav{display:block;position:-webkit-sticky;position:sticky;top:104px;flex:0 0 290px;overflow-y:auto;max-height:calc(100vh - 104px);padding-top:1.25rem}.onPageNav>ul{padding:10px 0 2px 15px;border-left:1px solid rgba(0,0,0,.2)}.onPageNav a{color:#464e56}.onPageNav ul li{padding-bottom:12px;font-size:12px;line-height:14px}.onPageNav ul ul{padding:8px 0 0 20px}.onPageNav ul ul li{padding-bottom:8px}}@media only screen and (min-width:1025px){.doc.separateOnPageNav.sideNavVisible .navPusher .mainContainer{flex:1 auto;max-width:100%;min-width:0;padding:0 40px 50px}.doc.separateOnPageNav .docsNavContainer{flex:0 0 290px;margin:0}.doc.separateOnPageNav nav.toc:last-child{width:auto}}.toggleNavOpen{overflow:hidden}.navSearchWrapper:after,.navSearchWrapper:before{display:none}@media only screen and (max-width:1024px){.reactNavSearchWrapper{top:15px}.reactNavSearchWrapper,.reactNavSearchWrapper input#search_input_react{max-width:calc(100vw - 280px)}}@media only screen and (max-width:360px){.reactNavSearchWrapper{display:none}}.reactNavSearchWrapper input#search_input_react{height:28px;font-size:.8rem;line-height:28px}.reactNavSearchWrapper input#search_input_react,.reactNavSearchWrapper input#search_input_react:active,.reactNavSearchWrapper input#search_input_react:focus{width:234px;padding:0 1rem;color:#464e56;background:hsla(0,0%,86.7%,.5)}.reactNavSearchWrapper input#search_input_react::-moz-placeholder{color:#94a1ad}.reactNavSearchWrapper input#search_input_react:-ms-input-placeholder{color:#94a1ad}.reactNavSearchWrapper input#search_input_react::placeholder{color:#94a1ad}.reactNavSearchWrapper .aa-dropdown-menu{padding:20px;border:1px solid #dde4eb;border-radius:3px;box-shadow:0 1px 20px 0 rgba(20,57,93,.2);background-color:#fff}.reactNavSearchWrapper .aa-dropdown-menu:after,.reactNavSearchWrapper .aa-dropdown-menu:before{content:"";position:absolute;right:100px;border:10px solid transparent}.reactNavSearchWrapper .aa-dropdown-menu:before{top:-20px;border-bottom-color:#dde4eb}.reactNavSearchWrapper .aa-dropdown-menu:after{top:-19px;border-bottom-color:#fff}.reactNavSearchWrapper .aa-dropdown-menu .algolia-docsearch-footer,.reactNavSearchWrapper .aa-dropdown-menu .algolia-docsearch-suggestion,.reactNavSearchWrapper .aa-dropdown-menu .algolia-docsearch-suggestion--category-header,.reactNavSearchWrapper .aa-dropdown-menu .algolia-docsearch-suggestion--content,.reactNavSearchWrapper .aa-dropdown-menu .algolia-docsearch-suggestion--subcategory-column{border:none;background-color:transparent}.reactNavSearchWrapper .aa-dropdown-menu .algolia-docsearch-suggestion--category-header{padding:15px 0;border-top:1px solid #dde4eb;color:#000;font-family:inherit;font-size:18px;font-weight:700}.reactNavSearchWrapper .aa-dropdown-menu .aa-suggestion:first-child .algolia-docsearch-suggestion--category-header,.reactNavSearchWrapper .aa-dropdown-menu .algolia-docsearch-suggestion__main .algolia-docsearch-suggestion--content,.reactNavSearchWrapper .aa-dropdown-menu .algolia-docsearch-suggestion__secondary{border-top:none}.reactNavSearchWrapper .aa-dropdown-menu .aa-suggestion:first-child .algolia-docsearch-suggestion--category-header{padding-top:0}.reactNavSearchWrapper .aa-dropdown-menu .algolia-docsearch-suggestion--title{font-size:16px;font-weight:400;line-height:22px}.reactNavSearchWrapper .aa-dropdown-menu .algolia-docsearch-suggestion--content{padding:5px 10px;border-top:1px solid #dde4eb;color:#464e56;line-height:20px}.reactNavSearchWrapper .aa-dropdown-menu .algolia-docsearch-suggestion--text{padding:0;font-size:14px}.reactNavSearchWrapper .aa-dropdown-menu .algolia-docsearch-suggestion--subcategory-column{padding:5px 0;font-size:16px;text-align:left;line-height:22px}.reactNavSearchWrapper .aa-dropdown-menu .algolia-docsearch-footer{padding:15px 0 0;border-top:1px solid #dde4eb}.reactNavSearchWrapper .aa-dropdown-menu .algolia-docsearch-footer--logo{height:15px;margin:0;border:none;line-height:inherit}@media only screen and (max-width:1024px){.reactNavSearchWrapper .aa-dropdown-menu{width:90%;right:5%!important;left:5%!important;position:fixed!important;top:auto!important;max-height:90vh}}.reactNavSearchWrapper .aa-cursor .algolia-docsearch-suggestion--title{color:#000}.reactNavSearchWrapper .aa-cursor .algolia-docsearch-suggestion--content{color:#464e56;background-color:#e8edf3}.reactNavSearchWrapper .algolia-docsearch-suggestion--highlight{color:#14b2e2}.reactNavSearchWrapper .aa-suggestion-title-separator{position:relative;top:2px;display:inline-block;width:4px;height:7px;margin:0 5px;font-size:0;background-image:url('data:image/svg+xml;utf8,');background-repeat:no-repeat;background-position:50%}code{font-size:80%}.hljs,code{box-shadow:none;background-color:rgba(136,170,185,.1)}.hljs,.hljs-subst{color:#464e56}.hljs-comment{color:#94a1ad}.hljs-deletion,.hljs-number,.hljs-quote,.hljs-selector-class,.hljs-selector-id,.hljs-string,.hljs-template-tag,.hljs-type{color:#e54d42}.hljs-section,.hljs-title{color:#aa2117}.hljs-link,.hljs-regexp,.hljs-selector-attr,.hljs-selector-pseudo,.hljs-symbol,.hljs-template-variable,.hljs-variable{color:#e9665d}.hljs-attr,.hljs-literal,.hljs-meta{color:#00c18d}.hljs-addition,.hljs-built_in,.hljs-bullet,.hljs-code{color:#008460}.hljs-meta{color:#0f86aa}.hljs-meta-string,.hljs-name{color:#14b2e2}.button{border:none;text-transform:none}.button:active,.button:focus,.button:hover{color:#464e56;text-decoration:underline!important;background:transparent}.button-link{text-decoration:underline}a{color:#14b2e2;transition:all .2s}a:active,a:focus,a:hover{color:#464e56;text-decoration:underline}.button-more-charts{position:relative;top:2px;display:inline-block;padding:6px 15px;border:1px solid #b0beca;border-radius:100px;color:#6c7581;font-size:14px;line-height:22px}.button-more-charts:before{content:"+";position:relative;display:inline-block;margin-top:-1px;margin-right:7px;color:#97a1ae;font-size:20px;font-weight:700;vertical-align:top}.button-more-charts:active,.button-more-charts:focus,.button-more-charts:hover{border-color:#94a1ad;text-decoration:none}footer .copyright{color:hsla(0,0%,100%,.8)}footer .copyright a{color:inherit;text-decoration:underline}footer .copyright a:active,footer .copyright a:focus,footer .copyright a:hover{color:#fff}.homeSplashFade{position:relative;overflow:hidden;padding-bottom:0;box-shadow:inset 0 0 13px 0 rgba(0,0,0,.07);color:#fff;background-image:linear-gradient(-180deg,rgba(20,178,226,0),rgba(0,193,141,.79));background-position:50%}.homeSplashFade:after{content:"";position:absolute;right:0;bottom:0;left:0;height:24px;opacity:.05;background-image:linear-gradient(-180deg,transparent,rgba(0,0,0,.52) 77%,#000)}.homeSplashFade .homeSplashFadeBg{position:absolute;top:-15%;right:0;bottom:-15%;left:0;background-image:url(../img/homepage/splash-banner.jpg);background-size:cover;background-repeat:no-repeat;background-position:top;transform:translate3d(0,-10.5%,0);transition:transform 1ms}.projectTitle{margin-top:4.68rem;color:inherit;font-weight:700}.projectDescription{margin:1.25rem;font-size:2rem;line-height:2.75rem}.homeContainer .button,.homeContainer .button-link{display:inline-block;margin:1rem auto}.homeContainer .button{padding:.7rem 4.1rem;border:2px solid #fff;border-radius:3px;color:#fff;font-size:1rem;text-align:center;background-color:rgba(0,0,0,.15);transition:background-color .2s}.homeContainer .button:active,.homeContainer .button:focus,.homeContainer .button:hover{text-decoration:none!important;background-color:rgba(0,0,0,.35)}.homeContainer .button-link{color:hsla(0,0%,100%,.8);font-size:1rem}.homeContainer .button-link:active,.homeContainer .button-link:focus,.homeContainer .button-link:hover{color:hsla(0,0%,100%,.9)}.homeContainer .homeWrapper{position:relative;padding-bottom:369px}@media only screen and (max-width:735px){.homeContainer .homeWrapper{padding-bottom:40%}}.promoSection{position:static}.promoSection:after,.promoSection:before{content:"";position:absolute;right:0;bottom:0;left:0;background-position:bottom;background-repeat:no-repeat}.promoSection:before{height:318px;background-image:url(../img/homepage/splash-bottom-image.png);background-size:contain}.promoSection:after{height:369px;background-image:url(../img/homepage/splash-bottom.svg)}.promoSection .promoRow .pluginRowBlock{display:block}.getStartedSection{padding:5rem 1.25rem 1rem;box-shadow:inset 0 1px 2px 0 rgba(0,0,0,.3);background-image:linear-gradient(-130deg,#14b2e2,#00c18d)}.getStartedSection h2{color:#fff}.backgroundBlock-white{background-color:#fff}.backgroundBlock-gray{background-color:#fafafa;background-image:linear-gradient(-180deg,rgba(148,161,173,0) calc(100% - 100px),rgba(89,98,107,.11))}.social-buttons{display:inline-block;padding:2rem 0;margin:5.375rem auto .5rem;border-top:1px solid hsla(0,0%,100%,.3);color:#fff}.social-buttons a,.social-buttons h4{height:1.875rem;display:inline-block;color:inherit;line-height:1.875rem;vertical-align:middle}@media only screen and (max-width:735px){.social-buttons a,.social-buttons h4{display:block;text-align:center}}.social-buttons h4{font-size:1.1rem;font-weight:700}.social-button{margin:0 0 0 2.5rem}.social-button:before{content:"";display:inline-block;width:1.875rem;height:1.875rem;margin:-.1rem .6rem 0 0;vertical-align:middle;background-repeat:no-repeat;background-position:50%;background-size:contain;opacity:.9;transition:all .2s}.social-button:active:before,.social-button:focus:before,.social-button:hover:before{opacity:1}.social-button.github:before{background-image:url(../img/homepage/github-logo.png)}.social-button.stackoverflow:before{background-image:url(../img/homepage/stackoverflow-logo.png)}.social-button.twitter:before{background-image:url(../img/homepage/twitter-logo.png)}@media only screen and (max-width:735px){.social-button{margin:1rem 0}}.visualizationsSection{color:#fff;background-image:linear-gradient(-135deg,#0bcce8,#10a1ce)}.visualizationsList{display:flex;justify-content:space-between;flex-wrap:wrap;padding:4rem 6rem;list-style-type:none}.visualization{display:inline-block;width:16.6666666667%;text-align:center}@media only screen and (max-width:735px){.visualization{width:33.3333333333%}}.visualizationImage{display:inline-block;margin-bottom:2.5rem}.visualizationTitle{display:block;font-size:1.1rem}.productShowcaseSection{padding:4.375rem;background-color:#f0f0f0}@media only screen and (max-width:735px){.productShowcaseSection{padding-right:1.25rem;padding-left:1.25rem}}.productShowcase{position:relative}@media only screen and (min-width:736px){.productShowcase{display:flex;justify-content:center;align-items:center;height:320px}}.productShowcaseInner{display:inline-block}@media only screen and (min-width:736px){.productShowcaseInner{margin-left:-430px;padding-right:30px;border-right:1px solid rgba(0,0,0,.33)}}.productShowcaseBlock{text-align:left}.productShowcaseBlock:first-child .productShowcaseTitle h4:before{content:"1."}.productShowcaseBlock:nth-child(2) .productShowcaseTitle h4:before{content:"2."}.productShowcaseBlock:nth-child(3) .productShowcaseTitle h4:before{content:"3."}.productShowcaseBlock:nth-child(4) .productShowcaseTitle h4:before{content:"4."}.productShowcaseBlock:nth-child(5) .productShowcaseTitle h4:before{content:"5."}.productShowcaseBlock:nth-child(6) .productShowcaseTitle h4:before{content:"6."}.productShowcaseBlock:nth-child(7) .productShowcaseTitle h4:before{content:"7."}.productShowcaseBlock:nth-child(8) .productShowcaseTitle h4:before{content:"8."}.productShowcaseBlock:nth-child(9) .productShowcaseTitle h4:before{content:"9."}.productShowcaseBlock:nth-child(10) .productShowcaseTitle h4:before{content:"10."}@media only screen and (max-width:735px){.productShowcaseBlock{margin-top:1rem}.productShowcaseBlock label{-webkit-tap-highlight-color:rgba(0,0,0,0)}}.productShowcaseSwitch{display:none}@media only screen and (min-width:736px){.productShowcaseSwitch:active~.productShowcaseTitle h4,.productShowcaseSwitch:checked~.productShowcaseTitle h4,.productShowcaseSwitch:hover~.productShowcaseTitle h4{border-color:#14b2e2}.productShowcaseSwitch:checked~.productShowcaseTitle:after{content:"";position:absolute;top:12px;right:-40px;width:18px;height:18px;border-top:1px solid rgba(0,0,0,.33);border-right:1px solid rgba(0,0,0,.33);background-color:#f0f0f0;transform:rotate(45deg)}.productShowcaseSwitch:checked~.productShowcaseExample{display:flex}}.productShowcaseTitle{position:relative;text-align:left;cursor:pointer;transition:all .2s}.productShowcaseTitle h4{display:inline-block;height:1.6rem;margin:.4rem 0;border-bottom:2px solid rgba(20,178,226,0);color:#464e56;font-size:1.1rem;font-weight:700;line-height:1.6rem;white-space:nowrap}.productShowcaseTitle h4:before{margin-right:4px}.productShowcaseExample{padding:0;border:none;border-radius:0;box-shadow:0 1px 3px 0 rgba(0,0,0,.2);background-color:#fff}.productShowcaseExample .exampleCode{width:100%;border:none;box-shadow:none;background-color:transparent}.productShowcaseExample ol{padding:1.56rem 1.3rem 1.56rem 2.5rem;list-style-type:decimal;color:#464e56;font-size:.9rem}.productShowcaseExample ol .exampleCode,.productShowcaseExample ol img{padding:.5rem}.productShowcaseExample .codeNote{margin-left:0;padding:.5rem 1.3rem;color:#94a1ad;font-size:.9rem}@media only screen and (min-width:736px){.productShowcaseExample{position:absolute;top:50%;right:20px;left:50%;display:none;flex-direction:column;justify-content:center;max-width:630px;transform:translateY(-50%)}}.productShowcaseLink{display:inline-block;margin:3rem 0}.featuresBlock{display:flex;align-items:center;color:#464e56}@media only screen and (max-width:735px){.featuresBlock{flex-wrap:wrap}}@media only screen and (min-width:736px){.featuresBlockText-right .featuresText{order:1}}.featuresBlockText-center{flex-wrap:wrap}.featuresBlockText-center,.featuresBlockText-center .featuresText{text-align:center}.featuresBlockText-center .featuresExample,.featuresBlockText-center .featuresText{flex:1 1 100%}.featuresBlockText-center .featuresExample{padding-top:0}.featuresExample,.featuresText{padding:4rem 2rem;flex:1 1 50%}@media only screen and (max-width:735px){.featuresExample,.featuresText{padding:2rem;flex-basis:100%}}.featuresText{text-align:left}.featuresLink,.featuresText .buttonWrapper{display:inline-block}.featuresLink{margin:2rem 0}.featuresExample{text-align:left}.exampleCode,.exampleImageImage{box-shadow:0 1px 3px 0 rgba(0,0,0,.2);background-color:#fff}.exampleCode{padding:1.56rem 1.3rem;border:none;border-radius:0;white-space:pre-wrap}.exampleCode .highlighting{margin:0;padding:0;background-color:transparent;border:none}.exampleImage{position:relative;overflow:hidden;margin:0 -1rem -1rem;padding:1.75rem 1rem 1rem}.exampleCode+.exampleImage:before{content:"";position:absolute;left:50%;width:2.19rem;height:2.19rem;margin-top:-3.5rem;margin-left:-1.57rem;box-shadow:0 1px 3px 0 rgba(0,0,0,.2);background-color:#fff;transform:rotate(45deg)}.exampleImageImage{width:100%}.featuresBlockGallery{display:flex;justify-content:center;flex-wrap:wrap;padding:0;list-style-type:none;text-align:center}.featuresBlockGalleryItem{flex:1 1 25.5rem;max-width:25.5rem;min-width:15rem;margin:0 .625rem}.featuresBlockGalleryTitle{margin:.4rem 0;color:rgba(0,0,0,.8);font-size:1.5rem;font-weight:700}.featuresBlockGalleryImage{width:100%;padding-top:54.545%;box-shadow:0 1px 10px 0 rgba(0,0,0,.1);background-repeat:no-repeat;background-size:cover}.charting-lib-logo{display:inline-block;margin:.5rem 1.5rem .5rem 0;vertical-align:middle}.d3-logo{width:46px;height:43px}.highcharts-logo{width:190px;height:37px}.chartjs-logo{width:143px;height:63px} \ No newline at end of file diff --git a/css/prism.css b/css/prism.css new file mode 100644 index 0000000..2a84ffb --- /dev/null +++ b/css/prism.css @@ -0,0 +1,115 @@ +/** + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + * + * Modified prism.js default theme for JavaScript, CSS and HTML + * Based on dabblet (http://dabblet.com) + * @author Lea Verou + */ + +code[class*='language-'], +pre[class*='language-'] { + font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + word-wrap: normal; + line-height: 1.5; + + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; +} + +/* Code blocks */ +pre[class*='language-'] { + padding: 1em; + margin: 0.5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*='language-'] { + padding: 0.1em; + border-radius: 0.3em; + white-space: normal; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: slategray; +} + +.token.punctuation { + color: #999; +} + +.namespace { + opacity: 0.7; +} + +.token.property, +.token.tag, +.token.boolean, +.token.constant, +.token.symbol, +.token.deleted { + color: #905; +} + +.token.selector, +.token.number, +.token.attr-name, +.token.string, +.token.char, +.token.builtin, +.token.inserted { + color: #690; +} + +.token.operator, +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #9a6e3a; +} + +.token.atrule, +.token.attr-value, +.token.keyword { + color: #07a; +} + +.token.function, +.token.class-name { + color: #dd4a68; +} + +.token.regex, +.token.important, +.token.variable { + color: #e90; +} + +.token.important, +.token.bold { + font-weight: bold; +} +.token.italic { + font-style: italic; +} + +.token.entity { + cursor: help; +} diff --git a/docs/advanced_blueprint_examples.html b/docs/advanced_blueprint_examples.html new file mode 100644 index 0000000..0347981 --- /dev/null +++ b/docs/advanced_blueprint_examples.html @@ -0,0 +1,771 @@ +Advanced Blueprint Examples · Ruby SDK \ No newline at end of file diff --git a/docs/advanced_blueprint_examples.md b/docs/advanced_blueprint_examples.md deleted file mode 100644 index a0ad507..0000000 --- a/docs/advanced_blueprint_examples.md +++ /dev/null @@ -1,848 +0,0 @@ ---- -id: advanced_blueprint_examples -author: GoodData -sidebar_label: Advanced Blueprint Examples -title: Advanced Blueprint Examples ---- - -Using Blueprint to Update Model ------- - -Blueprints are easy to create programmatically and even to merge them -together. In this example we will create a simple blueprint with one -dataset and then add an additional field into blueprint and update the -model. - - -```ruby -# encoding: utf-8 - -require 'gooddata' - -BLUEPRINT_FILE = 'blueprint_file.json' - - -GoodData.with_connection do |c| - GoodData.with_project('project_id') do |project| - blueprint = GoodData::Model::ProjectBlueprint.from_json(BLUEPRINT_FILE) - update = GoodData::Model::ProjectBlueprint.build('update') do |p| - p.add_dataset('repos') do |d| - d.add_attribute('region') - end - end - new_blueprint = blueprint.merge(update) - unless new_blueprint.valid? - pp new_blueprint.validate - fail "New blueprint is not valid" - end - project.update_from_blueprint(new_blueprint) - # now you can look at the model and verify there is new attribute present - project.attributes.find {|a| a.title == 'Region'} - new_blueprint.store_to_file(BLUEPRINT_FILE) - - end -end -``` - -In the example above we have created a new model and updated it right -away. This is not a typical situation however and there are couple of -things that you need to be aware of. - -It is more common that you would like to gradually update the model in -an existing project as the new requirements arrive. For that to be -possible you have to take the "old" blueprint from some place where it -is persisted. We will show a basic way how to save a blueprint to a -file. - -```ruby -# encoding: utf-8 - -require 'gooddata' - -BLUEPRINT_FILE = 'blueprint_file.json' - - -GoodData.with_connection do |c| - GoodData.with_project('project_id') do |project| - blueprint = GoodData::Model::ProjectBlueprint.from_json(BLUEPRINT_FILE) - update = GoodData::Model::ProjectBlueprint.build('update') do |p| - p.add_dataset('repos') do |d| - d.add_attribute('region') - end - end - new_blueprint = blueprint.merge(update) - unless new_blueprint.valid? - pp new_blueprint.validate - fail "New blueprint is not valid" - end - project.update_from_blueprint(new_blueprint) - # now you can look at the model and verify there is new attribute present - project.attributes.find {|a| a.title == 'Region'} - new_blueprint.store_to_file(BLUEPRINT_FILE) - - end -end -``` - -Specifying Fields Data Type ------- - -You can specify a different data type for attribute or fact in -a blueprint. - -Each column in blueprint is eventually translated into a physical column -in a database. While the defaults are typically what you want sometimes -it might be useful to override them. You can specify the data type with -gd\_data\_type clause. - - -```ruby -# encoding: utf-8 - -require 'gooddata' - -GoodData.with_connection do |client| - blueprint = GoodData::Model::ProjectBlueprint.build('Acme project') do |p| - p.add_date_dimension('committed_on') - - p.add_dataset('dataset.commits') do |d| - d.add_anchor('attr.commits.id') - d.add_fact('fact.commtis.lines_changed', gd_data_type: 'integer') - d.add_attribute('attr.commits.name') - d.add_label('label.commits.name', reference: 'attr.commits.name') - d.add_date('committed_on', :format => 'dd/MM/yyyy') - end - - project = client.create_project_from_blueprint(blueprint, auth_token: 'token') - - # This is going to fail since we are trying to upload 1.2 into INT numeric type - data = [['fact.commtis.lines_changed', 'label.commits.name', 'committed_on'], - [1.2, 'tomas', '01/01/2001']] - project.upload(data, blueprint, 'dataset.commits') - - # This is going to pass since we are trying to upload 1 into INT numeric type - data = [['fact.commtis.lines_changed', 'label.commits.name', 'committed_on'], - [1, 'tomas', '01/01/2001']] - project.upload(data, blueprint, 'dataset.commits') - end -end -``` - -These data types are currently supported on the platform - -- DECIMAL(m, d) -- INTEGER -- LONG -- VARCHAR(n) - -The case where this is very useful are - -- if you use values from smaller domain (for example integers) you can - leverage appropriate data type to save space and speed things up - -- if you are using facts with atypical precision (the default is - DECIMAL(12,2)) you can leverage decimal type with larger precision - -Working with Folders ------- - -You can use folders for organizing your project’s model. - -By default all the attributes and facts are automatically assigned a -folder based on it’s dataset name. This name is either generated from -the dataset’s name or title (if defined). You can override this default -and specify your own folder for any field. - -```ruby -# encoding: utf-8 - -require 'gooddata' - -GoodData.with_connection do |client| - blueprint = GoodData::Model::ProjectBlueprint.build("my_blueprint") do |p| - p.add_dataset('dataset.reps', title: 'Awesome Sales Reps') do |d| - d.add_anchor('attr.reps.id') - d.add_label('label.reps.id', reference: 'attr.reps.id') - d.add_attribute('attr.reps.name') - d.add_label('label.reps.name', reference: 'attr.reps.name') - end - - p.add_dataset('dataset.regions') do |d| - d.add_anchor('attr.regions.id') - d.add_label('label.regions.id', reference: 'attr.regions.id') - d.add_attribute('attr.regions.name') - d.add_label('label.regions.name', reference: 'attr.regions.name') - end - - p.add_dataset('dataset.opportunities') do |d| - d.add_anchor('attr.opportunities.id') - d.add_fact('fact.amount', folder: 'My Special Folder') - d.add_reference('dataset.reps') - d.add_reference('dataset.regions') - end - end - - project = client.create_project_from_blueprint(blueprint, auth_token: 'token_id') - - # Currently there is not support in SDK to directly explore folders but we can reach to API directly - # You can also go to the project in your browser and look for folders there - client.get("#{project.md['query']}/dimensions")['query']['entries'].map {|i| i['title']} # => ["Dataset.Opportunities", "Awesome Sales Reps", "Dataset.Regions"] - - client.get("#{project.md['query']}/folders")['query']['entries'].map {|i| i['title']} # => ["My Special Folder"] -end -``` - -Folders are not removed. If you would publish a model that doesn’t -contain an existing folder, the folder isn’t automatically removed (it -is empty). - - -Creating Project in One Page of Code ------- - -You can create the whole project via code. You need to have a provisioning token for project creation. - - -What we will do is to create a simple project with 4 datasets. Load -couple of line of data create a simple report and invite 2 other people -to it. All this will fit on one page of code. Let’s get to it. - -```ruby -# encoding: utf-8 - -require 'gooddata' - -GoodData.with_connection('user', 'password') do |client| - blueprint = GoodData::Model::ProjectBlueprint.build('Acme project') do |p| - p.add_date_dimension('committed_on') - p.add_dataset('devs') do |d| - d.add_anchor('attr.dev') - d.add_label('label.dev_id', :reference => 'attr.dev') - d.add_label('label.dev_email', :reference => 'attr.dev') - end - p.add_dataset('commits') do |d| - d.add_anchor('attr.commits_id') - d.add_fact('fact.lines_changed') - d.add_date('committed_on') - d.add_reference('devs') - end - end - project = GoodData::Project.create_from_blueprint(blueprint, auth_token: '') - puts "Created project #{project.pid}" - - # Load data - commits_data = [ - ['fact.lines_changed', 'committed_on', 'devs'], - [1, '01/01/2014', 1], - [3, '01/02/2014', 2], - [5, '05/02/2014', 3]] - project.upload(commits_data, blueprint, 'commits') - - devs_data = [ - ['label.dev_id', 'label.dev_email'], - [1, 'tomas@gooddata.com'], - [2, 'petr@gooddata.com'], - [3, 'jirka@gooddata.com']] - project.upload(devs_data, blueprint, 'devs') - - # create a metric - metric = project.facts('fact.lines_changed').create_metric - metric.save - report = project.create_report(title: 'Awesome_report', top: [metric], left: ['label.dev_email']) - report.save - ['john@example.com'].each do |email| - p.invite(email, 'admin', "Guys checkout this report #{report.browser_uri}") - end -end -``` - -Using Attribute Types when Creating Project ------- - -You can specify certain label’s data type see [this -document](http://developer.gooddata.com/article/setting-up-data-for-geo-charts) -for more details. - -You need to have a provisioning token for project creation. - -We’ll create a simple project’s blueprint that contains a label with the -'GDC.link' (hyperlink) datatype in the code snippet below. - -**Common types** - -- GDC.link -- GDC.text -- GDC.time - -**Types for Geo** - -- GDC.geo.pin *(Geo pushpin)* - -- GDC.geo.ausstates.name *(Australia States (Name))* - -- GDC.geo.ausstates.code *(Australia States (ISO code))* - -- GDC.geo.usstates.name *(US States (Name))* - -- GDC.geo.usstates.geo\_id *(US States (US Census ID))* - -- GDC.geo.usstates.code *(US States (2-letter code))* - -- GDC.geo.uscounties.geo\_id *(US Counties (US Census ID))* - -- GDC.geo.worldcountries.name *(World countries (Name))* - -- GDC.geo.worldcountries.iso2 *(World countries (ISO a2))* - -- GDC.geo.worldcountries.iso3 *(World countries (ISO a3))* - -- GDC.geo.czdistricts.name *(Czech Districts (Name))* - -- GDC.geo.czdistricts.name\_no\_diacritics *(Czech Districts)* - -- GDC.geo.czdistricts.nuts4 *(Czech Districts (NUTS 4))* - -- GDC.geo.czdistricts.knok *(Czech Districts (KNOK))* - -```ruby - -# encoding: utf-8 - -require 'gooddata' - -GoodData.with_connection do |client| - blueprint = GoodData::Model::ProjectBlueprint.build('Beers Project') do |p| - p.add_date_dimension('created_at') - - # Add Breweries Dataset - p.add_dataset('dataset.breweries', title: 'Breweries') do |d| - d.add_anchor('attr.breweries.brewery_id', title: 'Brewery ID') - d.add_label('label.breweries.brewery_id.brewery_id', title: 'Brewery ID', :reference => 'attr.breweries.brewery_id') - d.add_label('label.breweries.brewery_id.name', title: 'Brewery Name', :reference => 'attr.breweries.brewery_id') - d.add_label('label.breweries.brewery_id.link', title: 'Brewery URL', :reference => 'attr.breweries.brewery_id', :gd_type => 'GDC.link') # <--- Notice this! - d.add_date('created_at', :dataset => 'created_at') - end - end - - project = GoodData::Project.create_from_blueprint(blueprint, auth_token: 'YOUR_TOKEN_HERE') - puts "Created project #{project.pid}" - - GoodData::with_project(project) do |p| - # Load Brewery Data - data = [ - %w(label.breweries.brewery_id.brewery_id label.breweries.brewery_id.name label.breweries.brewery_id.link created_at), - [1, '21st Amendment Brewery', 'http://21st-amendment.com/', '06/23/2015'], - [2, 'Almanac Beer Company', 'http://www.almanacbeer.com/', '06/23/2015'], - [3, 'Anchor Brewing Company', 'http://www.anchorbrewing.com/', '06/23/2015'], - [4, 'Ballast Point Brewing Company', 'http://www.ballastpoint.com/', '06/23/2015'], - [5, 'San Francisco Brewing Company', 'http://www.ballastpoint.com/', '06/23/2015'], - [6, 'Speakeasy Ales and Lagers', 'http://www.goodbeer.com/', '06/23/2015'] - ] - GoodData::Model.upload_data(data, blueprint, 'dataset.breweries') - end -end -``` - - -Moving Fields in Blueprint ------- - -If you created a model, you can now move a field to different dataset. - -We will use variation of our hr demo model. If you look at that model -you can see that we have an attribute **region** defined on departments -dataset. This is how you (hypothetically) originally created the project -and everything was fine but you realized that you would like to assign -the region to people dataset not departments dataset. - -Before we start changing things spin up the project go inside the -project and create a report which show **SUM(Amount)** sliced by -**Region**. - -Now let’s move the attribute between datasets. - -```ruby -client = GoodData.connect -project = client.projects('PROJECT_ID') - -blueprint = project.blueprint -blueprint.move!('attr.department.region', 'dataset.department', 'dataset.employee') -project.update_from_blueprint(blueprint) -``` - -Since we moved the attribute we have to load new data for it in the context of new dataset. The old dataset (departments) is fine since we just removed a column. - - -```ruby -employee_data_with_dep = [ - ['label.employee.id','label.employee.fname','label.employee.lname','dataset.department', 'label.department.region'], - ['e1','Sheri','Nowmer','d1', 'North America'], - ['e2','Derrick','Whelply','d2', 'Europe'] -] -project.upload(employee_data_with_dep, blueprint, 'dataset.employee') -``` - -Now go ahead and check the original report. Yes, it is still working -fine. It gives different numbers since we changed the meaning of it but -we did not break anything. - -HR Demo project ------- - -You can play with blueprints on this toy project. Use our HR example which models a small company and people inside -it. We tried to use majority of the features that the blueprint builder -supports so you can take it as a starting point when you are creating -yours. - - -```ruby -# encoding: utf-8 - -require 'gooddata' - -# Connect to platform (using credentials in ~/.gooddata) -GoodData.with_connection do |client| - - # Create LDM blueprint - blueprint = GoodData::Model::ProjectBlueprint.build('HR Demo Project') do |p| - p.add_date_dimension('dataset.payment', title: 'Payment') - - p.add_dataset('dataset.department', title: 'Department', folder: 'Department & Employee') do |d| - d.add_anchor('attr.department.id', title: 'Department ID') - d.add_label('label.department.id', reference:'attr.department.id', title: 'Department ID') - d.add_label('label.department.name', reference: 'attr.department.id', title: 'Department Name') - d.add_attribute('attr.department.region', title: 'Department Region') - d.add_label('label.department.region', reference: 'attr.department.region', title: 'Department Region') - end - - p.add_dataset('dataset.employee', title: 'Employee', folder: 'Department & Employee') do |d| - d.add_anchor('attr.employee.id', title: 'Employee ID') - d.add_label('label.employee.id', title: 'Employee ID', reference:'attr.employee.id') - d.add_label('label.employee.fname', title: 'Employee Firstname', reference:'attr.employee.id') - d.add_label('label.employee.lname', title: 'Employee Lastname', reference:'attr.employee.id') - d.add_reference('dataset.department') - end - - p.add_dataset('dataset.salary', title: 'Salary') do |d| - d.add_anchor('attr.salary.id', title: 'Salary ID', folder: 'Salary') - d.add_label('label.salary.id', reference:'attr.salary.id', title: 'Salary ID', folder: 'Salary') - d.add_fact('fact.salary.amount', title: 'Amount', folder: 'Salary') - d.add_date('dataset.payment', format: 'yyyy-MM-dd') - d.add_reference('dataset.employee') - end - end - - # Create new project (datamart) - project = GoodData::Project.create_from_blueprint(blueprint, auth_token: token) - puts "Created project #{project.pid}" - - # Load data - department_data = [ - ['label.department.id','label.department.name', 'label.department.region'], - ['d1','HQ General Management', 'North America'], - ['d2','HQ Information Systems', 'Europe'] - ] - project.upload(department_data, blueprint, 'dataset.department') - - employee_data = [ - ['label.employee.id','label.employee.fname','label.employee.lname','dataset.department', 'label.department.region'], - ['e1','Sheri','Nowmer','d1', 'North America'], - ['e2','Derrick','Whelply','d2', 'Europe'] - ] - project.upload(employee_data, blueprint, 'dataset.employee') - - employee_data_with_dep = [ - ['label.employee.id','label.employee.fname','label.employee.lname','dataset.department', 'label.department.region'], - ['e1','Sheri','Nowmer','d1', 'North America'], - ['e2','Derrick','Whelply','d2', 'Europe'] - ] - project.upload(employee_data_with_dep, blueprint, 'dataset.employee') - - - - salary_data = [ - ['label.salary.id','dataset.employee','fact.salary.amount','dataset.payment'], - ['s1','e1','10230','2006-01-01'], ['s2','e2','4810','2006-01-01'], ['s617','e1','10230','2006-02-01'], - ['s618','e2','4810','2006-02-01'], ['s1233','e1','10230','2006-03-01'], ['s1234','e2','4810','2006-03-01'], - ['s1849','e1','10230','2006-04-01'], ['s1850','e2','4810','2006-04-01'], ['s2465','e1','10230','2006-05-01'], - ['s2466','e2','4810','2006-05-01'], ['s3081','e1','10230','2006-06-01'], ['s3082','e2','4810','2006-06-01'], - ['s3697','e1','10230','2006-07-01'], ['s3698','e2','4810','2006-07-01'], ['s4313','e1','10230','2006-08-01'], - ['s4314','e2','4810','2006-08-01'], ['s4929','e1','10230','2006-09-01'], ['s4930','e2','4810','2006-09-01'], - ['s5545','e1','10230','2006-10-01'], ['s5546','e2','4810','2006-10-01'], ['s6161','e1','10230','2006-11-01'], - ['s6162','e2','4810','2006-11-01'], ['s6777','e1','10230','2006-12-01'], ['s6778','e2','4810','2006-12-01'], - ['s7393','e1','10440','2007-01-01'], ['s7394','e2','5020','2007-01-01'], ['s8548','e1','10440','2007-02-01'], - ['s8549','e2','5020','2007-02-01'], ['s9703','e1','10440','2007-03-01'], ['s9704','e2','5020','2007-03-01'], - ['s10858','e1','10440','2007-04-01'], ['s10859','e2','5020','2007-04-01'], ['s12013','e1','10440','2007-05-01'], - ['s12014','e2','5020','2007-05-01'], ['s13168','e1','10440','2007-06-01'], ['s13169','e2','5020','2007-06-01'], - ['s14323','e1','10440','2007-07-01'], ['s14324','e2','5020','2007-07-01'], ['s15478','e1','10440','2007-08-01'], - ['s15479','e2','5020','2007-08-01'], ['s16633','e1','10440','2007-09-01'], ['s16634','e2','5020','2007-09-01'], - ['s17788','e1','10440','2007-10-01'], ['s17789','e2','5020','2007-10-01'], ['s18943','e1','10440','2007-11-01'], - ['s18944','e2','5020','2007-11-01'], ['s20098','e1','10440','2007-12-01'], ['s20099','e2','5020','2007-12-01'] - ] - project.upload(salary_data, blueprint, 'dataset.salary') -end -``` - - -Refactoring datasets ------- - -How to work on your project. Note, this is work in progress. - -Use SDK refactoring features. - -Let’s have a look at two hypothetical but very common scenarios that you -probably encountered in during career. - -One Dataset problem ------- - -Lets' say you have model like this - -```ruby -blueprint = GoodData::Model::ProjectBlueprint.build('Not so great project') do |p| - p.add_dataset('dataset.reps', title: 'Sale Reps') do |d| - d.add_anchor('attr.reps.id', title: 'Sales Rep') - d.add_label('label.reps.id', reference: 'attr.reps.id', title: 'Sales Rep Name') - end - - p.add_dataset('dataset.regions', title: 'Sale Reps') do |d| - d.add_anchor('attr.regions.id', title: 'Sales Region') - d.add_label('label.regions.id', reference: 'attr.regions.id', title: 'Sales Rep Name') - end - - p.add_dataset('dataset.sales', title: 'Department') do |d| - d.add_anchor('attr.sales.id', title: 'Sale Id') - d.add_label('label.sales.id', reference: 'attr.sales.id', title: 'Sales tracking number') - d.add_fact('fact.sales.amount', title: 'Amount') - d.add_attribute('attr.sales.stage', title: 'Stage') - d.add_label('label.sales.stage', title: 'Stage Name', reference:'attr.sales.stage') - d.add_reference('dataset.regions') - d.add_reference('dataset.reps') - end -end -``` - -There is one problem. We should definitely extract the attribute from -'dataset.sales' dataset somewhere else. Also the anchor for this dataset -has a label. Unless we do not have specific reason for it we should -extract it somewhere else. - -We can try to ask SDK to help us - -```ruby -refactored_blueprint = blueprint.refactor_split_df('dataset.sales') - -# Let's have a look around -refactored_blueprint.datasets.map(&:title) - -refactored_blueprint.datasets.map {|d| [d.title, d.id]} -=> [["Sale Reps", "dataset.reps"], - ["Sale Reps", "dataset.regions"], - ["Department", "dataset.sales"], - ["Dataset.Sales Dim", "dataset.sales_dim"]] - -# So there is a new dataset -# If we print it out in repl -refactored_blueprint.datasets('dataset.sales_dim') -# prints -# -# { -# :type=>:dataset, -# :id=>"dataset.sales_dim", -# :columns=> -# [{:type=>:anchor, :id=>"vymysli_id"}, -# {:type=>:label, :id=>"label.vymysli_id", :reference=>"vymysli_id"}, -# {:type=>:attribute, :id=>"attr.sales.stage", :title=>"Stage"}, -# {:type=>:label, -# :id=>"label.sales.stage", -# :title=>"Stage Name", -# :reference=>"attr.sales.stage"}]} -``` - -You can see that there is stage attribute right there. And it prepared -an anchor for us. The naming definitely needs touch ups (User should be -able to specify the ids somehow) but the structure is there. Now let’s -have a look what happened to sales dataset - -```ruby -refactored_blueprint.datasets('dataset.sales') -# prints -# -# {:id=>"dataset.sales", -# :type=>:dataset, -# :columns=> -# [{:type=>:anchor, :id=>"attr.sales.id", :title=>"Sale Id"}, -# {:type=>:label, -# :id=>"label.sales.id", -# :reference=>"attr.sales.id", -# :title=>"Sales tracking number"}, -# {:type=>:fact, :id=>"fact.sales.amount", :title=>"Amount"}, -# {:type=>:reference, :dataset=>"dataset.regions"}, -# {:type=>:reference, :dataset=>"dataset.reps"}, -# {:type=>:reference, :dataset=>"dataset.sales_dim"}] -``` - -You can see that the attribute has gone alongside the labels. Only facts -remain. A new reference was added so the reports should still be -working. This might seem just a minor issue but once you start creating -more complex models with multiple stars you find this technique a -necessity so why not automate it? - -Multiple facts in one dataset ------- - -Another problem we will look at is splitting fact tables because of -facts. Consider this model: - -```ruby -blueprint = GoodData::Model::ProjectBlueprint.build('Not so great project') do |p| - - p.add_dataset('dataset.orders_dim', title: 'Orders Dimension') do |d| - d.add_anchor('attr.orders_dim.id', title: 'Order') - d.add_label('label.dataset.orders_dim.id', reference: 'attr.orders_dim.id', title: 'Order Id') - end - - p.add_dataset('dataset.orders_fact', title: 'Orders Fact Table') do |d| - d.add_anchor('attr.orders_fact.id', title: 'Sales Rep') - d.add_fact('fact.dataset.orders_fact.amount_ordered', title: 'Amount Ordered') - d.add_fact('fact.dataset.orders_fact.amount_shipped', title: 'Amount Shipped') - d.add_reference('dataset.orders_dim') - end -end -``` - -What you want to do is have a look at how many shipments were ordered -and shipped on particular day. But if you keep the facts in one dataset -you will have all kinds of trouble with nil values. Much better is to -split the fact tables in two. Again we can try doing that with SDK - -Note: it seems it currently does not work with date references. We need -to update this so I omitted it in the example so it works. - -```ruby -# you define which dataset you would like to split. Secnd parameter is list of facts you would like to move and the last one is the id of the new dataset -refactored_blueprint = blueprint.refactor_split_facts('dataset.orders_fact', ['fact.dataset.orders_fact.amount_shipped'], 'dataset.orders_shipped_fact') - -# Again Let's explore -refactored_blueprint.datasets.count # => 3 - -refactored_blueprint.datasets.map {|d| [d.title, d.id]} -# => [["Orders Dimension", "dataset.orders_dim"], -# ["Orders Fact Table", "dataset.orders_fact"], -# ["Dataset.Orders Shipped Fact", "dataset.orders_shipped_fact"]] - -# There is a new dataset "dataset.orders_shipped_fact" -refactored_blueprint.datasets('dataset.orders_shipped_fact') -# prints -# -# { -# :id=>"dataset.orders_shipped_fact", -# :type=>:dataset, -# :columns=> [ -# {:type=>:anchor, :id=>"dataset.orders_shipped_fact.id"}, -# {:type=>:fact, -# :id=>"fact.dataset.orders_fact.amount_shipped", -# :title=>"Amount Shipped"}, -# {:type=>:reference, :dataset=>"dataset.orders_dim"}]} -``` - -These are 2 basic ways how to refactor a blueprint in an assisted and -automated fashion. - - -Reconnect date dimension ------- - -Occasionally you need to reconnect date dimensions. You did all the work -on reports and last thing you are missing is to change all references in -the model from one date dimension to another. - -With the SDK you can use swap\_date\_dimension! method on blueprint. I will -give you two examples one will be with a sample blueprint created on the -fly the second will show you how to do the same on an existing project. - -```ruby -# encoding: utf-8 - -require 'gooddata' - -GoodData.with_connection do |client| - blueprint = GoodData::Model::ProjectBlueprint.build('Acme project') do |p| - p.add_date_dimension('committed_on') - p.add_date_dimension('signed_on') - - p.add_dataset('dataset.commits') do |d| - d.add_anchor('attr.commits.id') - d.add_fact('fact.commits.lines_changed') - d.add_attribute('attr.commits.name') - d.add_label('label.commits.name', reference: 'attr.commits.name') - d.add_date('committed_on', :format => 'dd/MM/yyyy') - end - end - - # Let's check that there are some references really pointing to committed_on dimension - # and none to signed_on dimension - - blueprint.datasets.flat_map(&:references).map(&:reference).include?('committed_on') - # => true - blueprint.datasets.flat_map(&:references).map(&:reference).include?('signed_on') - # => false - - # let's swap all the references - blueprint.swap_date_dimension!('committed_on', 'signed_on') - - # Now if we check we see that there is no reference to committed_on dimension - blueprint.datasets.flat_map(&:references).map(&:reference).include?('committed_on') - # => false - blueprint.datasets.flat_map(&:references).map(&:reference).include?('signed_on') - # => true -end -``` - -The change in operating on an existing project is the same. The only -difference is how you acquire the blueprint. - -```ruby -# encoding: utf-8 - -require 'gooddata' - -GoodData.with_connection do |client| - GoodData.with_project('project_id') do |project| - blueprint = project.blueprint - - blueprint.swap_date_dimension!('committed_on', 'signed_on') - - # Update the project with the new blueprint - project.update_from_blueprint(blueprint) - end -end -``` - -Taking portion of a project model ------- - -You have a project and you would like to create a new on with the same -model but only portion of it. - -Blueprints can be easily manipulated because underneath they are just -hashes of data. In the worst case you can always manipulate the hash and -create the blueprint out of that. In some cases there are helper methods -to make the code a little bit cleaner. In this example we will show an -example where we will have a blueprint with two datasets and we will -remove one of them so the new project will have just portion of the -model. - -```ruby -# encoding: utf-8 - -require 'gooddata' - -GoodData.with_connection do |client| - - # This is a blueprint - # We could grab it from live project via project.blueprint but we will just - # create it inline so we do not have to spin up additional project - - blueprint = GoodData::Model::ProjectBlueprint.build('Acme project') do |p| - p.add_date_dimension('committed_on') - - p.add_dataset('dataset.commits') do |d| - d.add_anchor('attr.commits.id') - d.add_fact('fact.commits.lines_changed') - d.add_attribute('attr.commits.name') - d.add_label('label.commits.name', reference: 'attr.commits.name') - d.add_date('committed_on', :dataset => 'committed_on') - end - - p.add_dataset('dataset.commits2') do |d| - d.add_anchor('attr.commits.id2') - d.add_fact('fact.commits.lines_changed2') - d.add_attribute('attr.commits.name2') - d.add_label('label.commits.name2', reference: 'attr.commits.name2') - d.add_date('committed_on', :dataset => 'committed_on') - end - end - - # Now we need to manipulate it so it contains only portion of the model we want. - # In this case we want just dataset 'dataset.commits'. - # Take note that the project can be succesfully created only from a valid blueprint - # You can always check if the blueprint is valid by calling blueprint.valid? - # - - # Let's remove the dataset - # We are going to user method remove_dataset! which means the blueprint will be changed in place - # You can also use remove_dataset in which case a new blueprint will be created and the old one will - # not be touched - blueprint.remove_dataset!('dataset.commits2') - - # Let's create a project based on the - project = client.create_project_from_blueprint(blueprint, auth_token: 'token') - - # You can verify that the created project has only two datasets - project.datasets.map(&:identifier) - # => ["dataset.commits", "committed_on.dataset.dt"] - -end -``` - -Playing with Computed Attributes ------- - -You can create a computed attribute. - -Create an update blueprint that contains the computed attribute, merge -it with the current blueprint and then update the project. - -```ruby -# encoding: utf-8 - -require 'gooddata' - -GoodData.with_connection do |client| - blueprint = GoodData::Model::ProjectBlueprint.build('Acme project') do |project_builder| - project_builder.add_date_dimension('created_on') - - project_builder.add_dataset('dataset.users', title: 'Users Dataset') do |schema_builder| - schema_builder.add_anchor('attr.users.id', title: 'Users ID', folder: 'Users ID folder') - schema_builder.add_label('label.users.id_label1', reference: 'attr.users.id') - schema_builder.add_label('label.users.id_label2', reference: 'attr.users.id', default_label: true) - schema_builder.add_attribute('attr.users.another_attr', title: 'Another attr') - schema_builder.add_label('label.users.another_attr_label', reference: 'attr.users.another_attr') - schema_builder.add_date('created_on') - schema_builder.add_fact('fact.users.some_number') - end - end - - project = client.create_project_from_blueprint(blueprint, auth_token: 'token') - - metric = project.facts('fact.users.some_number').create_metric(title: 'Test') - metric.save - - attribute = project.attributes('attr.users.another_attr') - - update = GoodData::Model::ProjectBlueprint.build("update") do |project_builder| - project_builder.add_computed_attribute( - 'attr.comp.my_computed_attr', - title: 'My computed attribute', - metric: metric, - attribute: attribute, - buckets: [{ label: 'Low', highest_value: 1000 }, { label: 'Medium', highest_value: 2000 }, { label: 'High' }] - ) - end - - # update the model in the project - project.update_from_blueprint(blueprint.merge(update)) - - # now you can verify there is new computed attribute present - ca = project.attributes.find { |a| a.title == 'My computed attribute' } - ca.computed_attribute? -end -``` - -In the example above we have created a computed attribute. Precondition: -have an existing metric. - - - diff --git a/docs/advanced_blueprint_examples/index.html b/docs/advanced_blueprint_examples/index.html new file mode 100644 index 0000000..0347981 --- /dev/null +++ b/docs/advanced_blueprint_examples/index.html @@ -0,0 +1,771 @@ +Advanced Blueprint Examples · Ruby SDK \ No newline at end of file diff --git a/docs/command_line.html b/docs/command_line.html new file mode 100644 index 0000000..aa8ea98 --- /dev/null +++ b/docs/command_line.html @@ -0,0 +1,96 @@ +Command line functionality · Ruby SDK \ No newline at end of file diff --git a/docs/command_line.md b/docs/command_line.md deleted file mode 100644 index 78ca0f8..0000000 --- a/docs/command_line.md +++ /dev/null @@ -1,90 +0,0 @@ ---- -id: command_line -author: GoodData -sidebar_label: Command line functionality -title: Command line functionality ---- - - -Goal -------- - -You would like to easily authenticate to the GoodData API and make a couple of requests - -Preamble -------- - -The bash tool `jq` is leveraged to parse JSON data in this example. The documentation is available online, at https://stedolan.github.io/jq/ - -How-to authenticate --------- - -There are two principal ways to authenticate - either pass the credentials and server settings with each call as command line parameters: - -`gooddata -U username -P password -s https://custom-domain.gooddata.com api get /gdc/md` - -Notice how the named parameters are between `gooddata` and the command `api get` - -A complete list of the available command line parameters is available by running `gooddata --help` - -The other, preferred way to authenticate is to run the authentication wizard, which will store your credentials and server settings at `~/.gooddata` - -`gooddata auth store` - -After that, making requests is as simple as - -`gooddata api get /gdc/md` - -Generic API requests -------- - -The CL tool currently knows how to make GET, POST and DELETE requests. - -GET and DELETE are both straightforward: - -`gooddata api get /gdc/md` -`gooddata api delete /gdc/projects/project_id` - -POST usually requires a payload, which you should save as a JSON into a file and feed it as a parameter to the CL tool: - -`echo '{"name": "gd_ruby_cmd_test", "type" : "etl","component": {"name": "gdc-etl-sql-executor", "version":"1"}}' > process.json` -`gooddata api post /gdc/dataload_path/ process.json` - -In case the payload is empty, no parameter needs to be passed - -`gooddata api post /gdc/projects/project_id/execute` - -Creating a project -------- - -To create a project, you will need an Authorization (Project) Token. You can either enter it when using the authentication wizard, or pass it as a command line parameter `-t MYPROJECTTOKEN` - -Creating a project is as simple as - -`gooddata project create` - -You can easily use the new project right away and chain multiple calls to the API using the command line tool and `bash` and `jq`. This line will create a new project and then fetch its featureFlags. - -`gooddata api get $(gooddata project create | jq -r '.project.links.projectFeatureFlags') | jq` - - -Creating a process -------- - -To create a process, you'll need a GoodData Project (Workspace) ID. - -There are three ways to deploy a process. The first way is to deploy a script that has been uploaded to your GoodData WebDAV directory by passing the script path. This works for Ruby scripts as well as CloudConnect graphs. - -`gooddata -p project_id process create from_path ./path/to/script | jq` - -The second way is to use a deploy string, which refers to an object in the GoodData Appstore (see https://help.gooddata.com/display/doc/Managing+Projects+via+Appstore+Bricks for more details). For example, this is how you would deploy the latest users brick. - -`gooddata -p project_id process create from_path '${PUBLIC_APPSTORE}:tag/3.5.0:/apps/users_brick'` - -The third (and most optimal) way is to deploy GoodData Components. The Components are a part of the platform and are managed by GoodData teams, ensuring better cohesion and code quality than custom ETL or LCM scripts. - -For example, this is how you would deploy an ETL SQL executor. You'll have to construct the JSON payload yourself, store it in a file and pass it to the Ruby SDK CL tool, as the components often require additional parameters (see their specific documentation for more info). - -`echo '{"name": "gd_ruby_cmd_test", "type" : "etl","component": {"name": "gdc-etl-sql-executor", "version":"1"}}' > process.json` -`gooddata -p project_id process create as_component process.json` - diff --git a/docs/command_line/index.html b/docs/command_line/index.html new file mode 100644 index 0000000..aa8ea98 --- /dev/null +++ b/docs/command_line/index.html @@ -0,0 +1,96 @@ +Command line functionality · Ruby SDK \ No newline at end of file diff --git a/docs/connecting_to_gooddata.html b/docs/connecting_to_gooddata.html new file mode 100644 index 0000000..90b45e5 --- /dev/null +++ b/docs/connecting_to_gooddata.html @@ -0,0 +1,167 @@ +Connecting to Gooddata Platform · Ruby SDK \ No newline at end of file diff --git a/docs/connecting_to_gooddata.md b/docs/connecting_to_gooddata.md deleted file mode 100644 index 4daf320..0000000 --- a/docs/connecting_to_gooddata.md +++ /dev/null @@ -1,156 +0,0 @@ ---- -id: connecting_to_gooddata -author: GoodData -sidebar_label: Connecting to Gooddata Platform -title: Connecting to Gooddata Platform ---- - -Using Login and Passoword -------- - -You know how to jack in and how to write a simple program. Now it is -time to combine these two to write a program that connects and does -something with a gooddata project. - - -```ruby -# encoding: utf-8 - -require 'gooddata' - -GoodData.with_connection('user', 'password') do |client| - # just so you believe us we are printing names of all the project under this account - client.projects.each do |project| - puts project.title - end -end -``` - -Maybe you are wondering if there are other ways how to log in. First of -all it is not nice to have secret credentials in plain text like this. -SDK has one feature to help you. If `GoodData.with_connection` or -`GoodData.connect` is called without any params it tries to find the -param file that contains these credentials. Currently it looks for -~/.gooddata and expects it to have following content - - { - "username": "john@example.com", - "password": "pass", - "auth_token": "token" - } - -You do not have to create it yourself. Run `gooddata auth store` and a -wizard is going to help you. - -Also it is possible to pass parameters as hash. The form that we have -shown is just a convenience form. - -```ruby -GoodData.with_connection(username: 'user', password: 'password') -``` - -Using Single Sign On (SSO) -------- - -Using the SSO capability you don’t need to maintain just another -password for accessing GoodData application. You can use your existing -infrastructure for user management and connect with GoodData APIs to -allow your users login to GoodData seamlessly. - -For more info check this article - - - - -```ruby -# encoding: utf-8 - -require 'gooddata' -require 'pp' - -client = GoodData.connect_sso('tomas.korcak@gooddata.com', 'gooddata.tomas.korcak') - -pp client.user.json -``` - -Never share the your private key with other people. It is the same thing -as you name and password. You can do almost everything with it. - -Connecting to a Specific Server -------- - -Sometimes the server you would like to connect is not the -secure.goodata.com machine. This might occur for 2 reasons. Either you -are trying something on a test machine (if you are working for gooddata) -or you are working with a project that is on a white labeled instance. - -You can either pass the server name as a parameter to connect or -alternatively with the with\_connection functions. - - -```ruby -# encoding: utf-8 -require 'gooddata' - -GoodData.with_connection(login: 'user', - password: 'password', - server: 'https://some-other-server.com') do |client| - # just so you believe us we are printing names of all the project under this account - client.projects.each do |project| - puts project.title - end -end -``` - -Using Super Secure Token (SST) -------- - -A Super Secure Token is a token that allows to access you our APIs in a -unrestricted manner without necessarily knowing the username and -password. Take note that currently you do not have access to the whole -API. Things like interacting with DSS and Staging Storage still need a -username and password. This issue is currently being resolved. First you -need to have SST token. There are several ways how to obtain it. Here is -one using SDK - - -```ruby -# encoding: utf-8 - -require 'gooddata' - -client = GoodData.connect(login: 'user', password: 'password') -client.connection.sst_token - -# Once you have the token, you can try to login and do something. - -GoodData.with_connection(sst_token: 'sst_token') do |client| - client.projects.each do |p| - puts p.title - end -end -``` - -Never share the token with other people. It is the same thing as your -login and password. You can do almost everything with it. - - -Disabling SSL Verification -------- - -You would like to disable SSL verification when using SDK against a -server that does not have proper certificates - -You can switch of SSL validating like this. This is especially useful -when you are using SDK against testing or development servers. - -```ruby -# encoding: utf-8 - -require 'gooddata' - -# Traditionally with login and pass -client = GoodData.connect(login: 'user', password: 'password', verify_ssl: false) - -# You can also use it with SST token -client = GoodData.connect(sst_token: 'sst_token', verify_ssl: false) -``` diff --git a/docs/connecting_to_gooddata/index.html b/docs/connecting_to_gooddata/index.html new file mode 100644 index 0000000..90b45e5 --- /dev/null +++ b/docs/connecting_to_gooddata/index.html @@ -0,0 +1,167 @@ +Connecting to Gooddata Platform · Ruby SDK \ No newline at end of file diff --git a/docs/contribution.md b/docs/contribution.md deleted file mode 100644 index 2abcb55..0000000 --- a/docs/contribution.md +++ /dev/null @@ -1,19 +0,0 @@ ---- -id: getting_started -author: GoodData -sidebar_label: Getting started -title: Getting started ---- - -How to contribute to GoodData Ruby SDK --------- - -* Fork the project. -* Make your feature addition or bug fix. -* Add tests for it. This is important so I don't break it in a - future version unintentionally. -* Commit, do not mess with rakefile, version, or history. - (if you want to have your own version, that is fine but bump version in a commit by itself we can ignore when we pull) -* run `rake test` and make sure all tests pass -* run `rake cop` and make sure you did not introduce any new coding rules issues -* Send us a pull request. Bonus points for topic branches. diff --git a/docs/create_a_program.html b/docs/create_a_program.html new file mode 100644 index 0000000..80d3dd6 --- /dev/null +++ b/docs/create_a_program.html @@ -0,0 +1,94 @@ +Scripting · Ruby SDK \ No newline at end of file diff --git a/docs/create_a_program.md b/docs/create_a_program.md deleted file mode 100644 index 637d977..0000000 --- a/docs/create_a_program.md +++ /dev/null @@ -1,55 +0,0 @@ ---- -id: create_a_program -author: GoodData -sidebar_label: Scripting -title: Scripting ---- - -Let’s assume that your fantastic code that you have is fairly simple. -You would like to print the title of the project. So the session looks -something like this - - project_live_session: puts project.title - "My project Test (2)" - => nil - -Not too fancy but it is enough to help us illustrate couple of points. -First you need to save your code to a file. Go ahead take your favorite -text editor and create a new file and put your code into it so it looks -like this - -```ruby -puts client.projects -``` - -Go ahead and save it and call it 'my\_first\_sdk\_program.rb'. Do not -execute because it would not work now. Let’s add couple more things. - -Jack in does couple of things for you so you can be productive quickly -but we have to handle them ourselves in a program. - -- Loads Automation SDK libraries - -- It logs you in and provides you the client as a `client` variable - -- It jacks into a project and provides you the project as a `project` - variable. If you were wondering why the `project.title` worked in - the interactive session in the first place since we never defined - `project` this is why. - -We can easily do the same things with these 3 lines of code -respectively. So add them to the file so the end result looks like this. - -```ruby -require 'gooddata' - -client = GoodData.connect('username', 'pass') -project = client.projects('project_id') -puts project.title -``` - -Done. Save it. - -Now you can run it by using this command - - ruby my_first_sdk_program.rb diff --git a/docs/create_a_program/index.html b/docs/create_a_program/index.html new file mode 100644 index 0000000..80d3dd6 --- /dev/null +++ b/docs/create_a_program/index.html @@ -0,0 +1,94 @@ +Scripting · Ruby SDK \ No newline at end of file diff --git a/docs/creating_project_from_blueprint.html b/docs/creating_project_from_blueprint.html new file mode 100644 index 0000000..930a5ac --- /dev/null +++ b/docs/creating_project_from_blueprint.html @@ -0,0 +1,301 @@ +Creating Project from Blueprint · Ruby SDK \ No newline at end of file diff --git a/docs/creating_project_from_blueprint.md b/docs/creating_project_from_blueprint.md deleted file mode 100644 index 01dc98f..0000000 --- a/docs/creating_project_from_blueprint.md +++ /dev/null @@ -1,331 +0,0 @@ ---- -id: creating_project_from_blueprint -author: GoodData -sidebar_label: Creating Project from Blueprint -title: Creating Project from Blueprint ---- - -What is a Blueprint ------- - -Before we delve into examples involving blueprints let’s talk a moment -what a blueprint is and what is a difference between blueprint and model -when we talk about them at Gooddata. - -They mean the same thing but they are representing it in a different way -and they live at different places. Both of them define a model of -analytic application. - -The main difference is the fact that when we talk about model we mean a -specific instance of a project which has specific instance of model with -all its attributes and facts that live at GoodData platform. Each field -has a URI and object\_id and you can query it using the platform API. -You can also ask questions like "What object in the model has object\_id -1532?" or "Can you give me a link to dataset 'users' in the model?". - -When we talk about blueprint on the other hand we mean the abstract -prescription that tells us how to create the model. A blueprint does not -contain many of the details most prominently object\_ids and URIs and -strictly speaking each time you use a blueprint to create a model those -things might be different. When a model is created from blueprint as a -side effect, all the URIs and ids are created. - -So what are the benefits of the blueprint you might ask? Blueprint was -specifically designed so you can have a description of the model that -can live outside of GoodData platform. It has textual representation -which you can commit into git and work with it in a programmatic way. -Second it is intended that the many projects are created from one -blueprint. - - -Using Blueprint to Create a Project ----------- - -You can create a new project with a data model programmatically. - -```ruby -blueprint = GoodData::Model::ProjectBlueprint.build("My project from blueprint") do |p| - p.add_date_dimension('created_on') - - p.add_dataset('dataset.users') do |d| - d.add_anchor('attr.users.id') - d.add_date('created_on') - d.add_fact('fact.users.amount', title: 'Amount Sold') - end -end - -project.facts('fact.users.amount').title # => 'Amount Sold' -``` - -This created a project with very simple model with just two datasets. -One is date dimension. The other is a typical fact table. For another -more complex example check out the "Working with HR Demo project" recipe -which uses many of the features we will explain here. - -Let’s have a look at couple of other variations and more complex -examples. - -Defining Identifiers ----------- - -Majority of the objects defined in a blueprint will end up as object in -metadata server in the project. Each of these objects has its URI, -object id (this number is part of the URI) and identifier which is a -textual id. URI and object id are created automatically during creation -of a model and you cannot influence them in any way but you have to -define the identifiers. This is also the first parameter in majority of -the add\_…​ commands. Namely - - add_anchor - add_label - add_dataset - add_fact - add_attribute - -When you see this in the blueprint - -```ruby -p.add_dataset('dataset.users') -``` - -It means that later you would be able to do - -```ruby -project.datasets('dataset.users') # this will search all the datasets and returns you the one with identifier 'dataset.users'. -``` - -Similarly - -```ruby -d.add_fact('fact.users.some_number') -``` - -will result into you be able to do - -```ruby -project.facts('fact.users.some_number') # this will search all the facts and returns you the one with identifier 'fact.users.some_number'. -``` - -Identifier can be anything. The only condition is that it has to be unique in the context of a project. No 2 objects may have the same identifier. That being said it is useful to have some kind of convention how you assign the identifiers. - -Exception to this rule are references and date_references which we will discuss separately. - -Defining Attributes ----------- - -```ruby -blueprint = GoodData::Model::ProjectBlueprint.build("My project from blueprint") do |p| - p.add_dataset('dataset.users') do |d| - d.add_anchor('attr.users.id') - d.add_attribute('attr.users.name') - end -end - -blueprint.valid? # => false -blueprint.validate # => [{:type=>:attribute_without_label, :attribute=>"attr.users.name"}] -``` - -You can do it like this: - -```ruby -blueprint = GoodData::Model::ProjectBlueprint.build("My project from blueprint") do |p| - p.add_dataset('dataset.users') do |d| - d.add_anchor('attr.users.id') - d.add_attribute('attr.users.name') - d.add_label('label.users.name.full_name', reference: 'attr.users.name') - d.add_label('label.users.name.abbreviated_name', reference: 'attr.users.name') - end -end - -blueprint.valid? # => true -blueprint.validate # => [] -``` - -Defining anchors/connection_points ----------- - -Since you might argue that anchor (you might also hear term connection -point which means the same thing) is a special case of the attribute -lets' talk about it a little. Yes it is true but there are additional -things that make it that special one. There can be only one anchor in -each dataset: - -```ruby -blueprint = GoodData::Model::ProjectBlueprint.build("My project from blueprint") do |p| - p.add_dataset('dataset.users') do |d| - d.add_anchor('attr.users.id') - d.add_anchor('attr.users.id2') - end -end - -blueprint.valid? # => false -blueprint.validate # => [{:type=>:more_than_on_anchor, :dataset=>"dataset.users"}] -``` - -An anchor allows you to reference from other datasets. To do this you -must first define a label. Anchors can have multiple labels the same as -an attribute. We strongly recommend not to define an anchor with labels -on fact tables (they are usually not referenced). The only exception to -this rule is if you need to upsert data. - -```ruby -blueprint = GoodData::Model::ProjectBlueprint.build("My project from blueprint") do |p| - p.add_dataset('dataset.users') do |d| - d.add_anchor('attr.users.id') - d.add_label('label.users.id', reference: 'attr.users.id') - d.add_attribute('attr.users.name') - d.add_label('label.users.name.full_name', reference: 'attr.users.name') - end - - p.add_dataset('dataset.sales') do |d| - d.add_anchor('attr.sales.id') - d.add_fact('fact.sales.amount') - d.add_reference('dataset.users') - end -end - -blueprint.valid? # => true -``` - -A good question is "why you have to define the anchor if it has no -labels?". The reason is that you still need the underlying attribute if -you want to construct the count metric for fact table to answer question -"How many lines there is in the 'dataset.sales' dataset?". You can do -this as follows with the SDK (with previous model). - -```ruby -project.attributes("attr.sales.id").create_metric.execute -``` - -Defining date dimensions ----------- - -Dimensions in all tools and even in MAQL date are represented as a -single unit (as in blueprint builder add\_date\_dimension). This is -great for readability but can be misleading. The fact is that date -dimension has several datasets that typically contain ~18 attributes. It -is probably not surprising that the parameter to 'add\_date\_dimension' -is not an identifier but a name that is used in titles and identifiers -of all attributes. It is also a name that you can use in add\_date -function. For example: - -```ruby -blueprint = GoodData::Model::ProjectBlueprint.build("My project from blueprint") do |p| - p.add_date_dimension('created_on') - - p.add_dataset('dataset.users') do |d| - d.add_anchor('attr.users.id') - d.add_fact('fact.users.some_number') - d.add_date('created_on') - end -end -``` - -You can easily create a fiscal date dimension with a specific urn. For -example: - -```ruby -p.add_date_dimension('created_on', urn: 'urn:pe:date') -``` - -Defining references ----------- - -Typically in your model you need to reference other datasets. This is -expressed in the blueprint builder with add\_reference function. It -takes only one parameter which is the identifier of referenced dataset. -References do not have identifier since they are not represented as -objects on the platform. - -```ruby -blueprint = GoodData::Model::ProjectBlueprint.build("My project from blueprint") do |p| - p.add_dataset('dataset.users') do |d| - d.add_anchor('attr.users.id') - d.add_attribute('attr.users.name') - d.add_label('attr.users.name.full_name', reference: 'attr.users.name') - end - - p.add_dataset('dataset.sales') do |d| - d.add_anchor('attr.sales.id') - d.add_fact('fact.sales.amount') - d.add_reference('dataset.users') - end -end - -blueprint.valid? # => true -``` - -Defining date references ----------- - -This is very similar to references but there is additional hint that you -are referencing date dimension. - -```ruby -blueprint = GoodData::Model::ProjectBlueprint.build("My project from blueprint") do |p| - p.add_date_dimension('created_on') - - p.add_dataset('dataset.users') do |d| - d.add_anchor('attr.users.id') - d.add_date('created_on') - d.add_fact('fact.users.some_number') - end -end -``` - -Defining Titles ----------- - -If you would build and open in the browser any of the models we built up -to this point you probably noticed that the titles look off. Since we -did not define anything SDK tries to do the right thing and tries to use -the identifiers (with some tweaking for readability) as titles. While -this might work it is usually not what you want. You can easily fix that -by defining the titles explicitly. - -```ruby -blueprint = GoodData::Model::ProjectBlueprint.build("My project from blueprint") do |p| - p.add_date_dimension('created_on') - - p.add_dataset('dataset.users') do |d| - d.add_anchor('attr.users.id') - d.add_date('created_on') - d.add_fact('fact.users.amount', title: 'Amount Sold') - end -end - -project.facts('fact.users.amount').title # => 'Amount Sold' -``` - -Specifying data types ----------- - -Occasionally the default data types of the fields will not be what you -want. You can redefine them for both labels and facts as expected with -parameter :gd\_data\_type. There is more information about this in a -following recipe. - -Getting Blueprint from Existing Project -------- - -Sometimes, you need to reverse engineer a blueprint from an existing project. - -```ruby -# encoding: utf-8 - -require 'gooddata' - -GoodData.with_connection do |client| - GoodData.with_project('project_id') do |project| - blueprint = project.blueprint - - # now you can start working with it - blueprint.datasets.count # => 3 - blueprint.datasets(:all, include_date_dimensions: true).count # => 4 - blueprint.attributes.map(&:title) - - # You can also store it into file as json - blueprint.store_to_file('model.json') - end -end -``` diff --git a/docs/creating_project_from_blueprint/index.html b/docs/creating_project_from_blueprint/index.html new file mode 100644 index 0000000..930a5ac --- /dev/null +++ b/docs/creating_project_from_blueprint/index.html @@ -0,0 +1,301 @@ +Creating Project from Blueprint · Ruby SDK \ No newline at end of file diff --git a/docs/data_products.html b/docs/data_products.html new file mode 100644 index 0000000..198cf1a --- /dev/null +++ b/docs/data_products.html @@ -0,0 +1,31 @@ +Working with data products · Ruby SDK \ No newline at end of file diff --git a/docs/data_products.md b/docs/data_products.md deleted file mode 100644 index 4d3e966..0000000 --- a/docs/data_products.md +++ /dev/null @@ -1,47 +0,0 @@ ---- -id: data_products -author: GoodData -sidebar_label: Working with data products -title: Working with data products ---- - -Goal -------- - -You would like to encapsule multiple segments into a data product for -better granularity. - -How-to --------- - -This solution is based on the terminology and examples presented in -chapter regarding [Segments](#01_wip_segments.asciidoc). - -This code will do several things: - -- sets up a segment in the legacy way, referencing no dataproduct - -- sets up another segment as a part of a dataproduct - -- shows that the segments are only included in the specific - dataproduct that was used to create them - - -```ruby -# Create a data product -custom_data_product = domain.create_data_product(id: 'data-product') -# Create new lifecycle segment without referencing a data product -first_segment = domain.create_segment(segment_id: 'segment-1', master_project: project) -# the API defaults the data product to 'default', which should be present in all domains -# that means the above call is equal to -default_data_product = domain.data_products('default') -default_data_product.create_segment(segment_id: 'segment-1', master_project: project) -# Create another segment as a part of the data product -second_segment = custom_data_product.create_segment(segment_id: 'segment-2', master_project: project) -# the first_segment is then only present in the default_data_product -default_data_product.segments.find { |s| s.segment_id == first_segment.segment_id } -# => # -# and not present in the custom_data_product we created -custom_data_product.segments.find { |s| s.segment_id == first_segment.segment_id } -# => nil -``` diff --git a/docs/data_products/index.html b/docs/data_products/index.html new file mode 100644 index 0000000..198cf1a --- /dev/null +++ b/docs/data_products/index.html @@ -0,0 +1,31 @@ +Working with data products · Ruby SDK \ No newline at end of file diff --git a/docs/delete_all_data.html b/docs/delete_all_data.html new file mode 100644 index 0000000..fc067b3 --- /dev/null +++ b/docs/delete_all_data.html @@ -0,0 +1,14 @@ +Delete data in project · Ruby SDK \ No newline at end of file diff --git a/docs/delete_all_data.md b/docs/delete_all_data.md deleted file mode 100644 index 9dbe558..0000000 --- a/docs/delete_all_data.md +++ /dev/null @@ -1,27 +0,0 @@ ---- -id: delete_all_data -author: GoodData -sidebar_label: Delete data in project -title: Delete data in project ---- - -Goal -------- - -You need to delete all the data in all datasets in a particular project. - -Example --------- - - -```ruby -# encoding: utf-8 - -require 'gooddata' - -GoodData.with_connection do |c| - GoodData.with_project('project_pid') do |project| - project.delete_all_data(force: true) - end -end -``` diff --git a/docs/delete_all_data/index.html b/docs/delete_all_data/index.html new file mode 100644 index 0000000..fc067b3 --- /dev/null +++ b/docs/delete_all_data/index.html @@ -0,0 +1,14 @@ +Delete data in project · Ruby SDK \ No newline at end of file diff --git a/docs/getting_started.html b/docs/getting_started.html new file mode 100644 index 0000000..9f6b3f6 --- /dev/null +++ b/docs/getting_started.html @@ -0,0 +1,91 @@ +Getting started · Ruby SDK \ No newline at end of file diff --git a/docs/getting_started.md b/docs/getting_started.md deleted file mode 100644 index 1c79ea5..0000000 --- a/docs/getting_started.md +++ /dev/null @@ -1,51 +0,0 @@ ---- -id: getting_started -author: GoodData -sidebar_label: Getting started -title: Getting started ---- - -Supported Versions -------- - -The SDK is tested against the following Ruby versions: - -- 2.2 -- 2.3 -- 2.4 -- 2.5 -- 2.6 -- jruby-1.7.19 -- jruby-9.1.5 -- jruby-9.1.7 -- jruby-9.1.14 - -Installing GoodData Ruby SDK --------- - -If you are using bundler, add - - gem "gooddata" - -into Gemfile - -and run - - bundle install - -If you are using gems just - - gem install gooddata - -Additional Resources --------- - -Understanding GoodData API might be essential for your further work with the SDK: - - * https://help.gooddata.com/display/API/API+Reference - -This documentation lists and describes the individual resources you can used to manipulate objects on the GoodData Platform. - - * https://secure.gooddata.com/gdc - -Grey Pages - allows you to interact with core and publicly available services covered by our REST APIs. diff --git a/docs/getting_started/index.html b/docs/getting_started/index.html new file mode 100644 index 0000000..9f6b3f6 --- /dev/null +++ b/docs/getting_started/index.html @@ -0,0 +1,91 @@ +Getting started · Ruby SDK \ No newline at end of file diff --git a/docs/handling_credentials.html b/docs/handling_credentials.html new file mode 100644 index 0000000..7871473 --- /dev/null +++ b/docs/handling_credentials.html @@ -0,0 +1,103 @@ +Handling Credentials Securely · Ruby SDK \ No newline at end of file diff --git a/docs/handling_credentials.md b/docs/handling_credentials.md deleted file mode 100644 index e204e2c..0000000 --- a/docs/handling_credentials.md +++ /dev/null @@ -1,73 +0,0 @@ ---- -id: handling_credentials -author: GoodData -sidebar_label: Handling Credentials Securely -title: Handling Credentials Securely ---- - -When you decide to share your scripts, you should extract your credentials to -a separate file that is not shared. - -There is fairly easy solution that you can use. If you recall correctly -there is a way how you can log in into platform. - -```ruby -GoodData.connect(login: 'user', password: 'password') -``` - -This takes several types of parameters one of which is a hash of values. -You can leverage that and read the hash from a file. There a many -variants we are going to show 2 most popular ones, YAML and JSON. - -### JSON - -Create a file that looks like this. - -```json -{ - "login" : "john@gooddata.com", - "password" : "my_secret" -} -``` - -Then use it this way: - -```ruby -params = JSON.parse(File.read('/path/to/file')) -client = GoodData.connect(params) -puts client.projects.count -``` - -### YAML - -Create a file that looks like this. - -```yaml -login: john@gooddata.com -password: my_secret -``` - -Then use it this way: - -```ruby -require 'yaml' - -params = YAML.load(File.read('/path/to/file')) -client = GoodData.connect(params) -puts client.projects.count -``` - -You see that you can easily share these scripts with other people since -you have externalized all sensitive information. If the user puts the -configuration file in an expected place everything will work. There are -other formats and ways you can leverage this but the idea is always the -same. - -This is actually something we do behind the scenes if you do not specify -any params into connect or with\_connection. We look at ~/.gooddata for -a JSON file and use what we find there. This is extremely useful when -you are showing things interactively so you do not have to disclose your -credentials. You can either go and create the file by hand or you can -use a convenience method we have created for you. Just call gooddata -auth store and you will be asked couple of questions and the file will -be created for you. diff --git a/docs/handling_credentials/index.html b/docs/handling_credentials/index.html new file mode 100644 index 0000000..7871473 --- /dev/null +++ b/docs/handling_credentials/index.html @@ -0,0 +1,103 @@ +Handling Credentials Securely · Ruby SDK \ No newline at end of file diff --git a/docs/header.asciidoc b/docs/header.asciidoc deleted file mode 100755 index d24f8e3..0000000 --- a/docs/header.asciidoc +++ /dev/null @@ -1,10 +0,0 @@ -*NOTE:* All 'metric' related methods have their 'measure' counterpart alias. Here are few examples. - -- Project#add_metric <==> Project#add_measure -- Project#create_metric <==> Project#create_measure -- Project#compute_metric <==> Project#compute_measure -- Project#metrics <==> Project#measures -- Project#metric_by_title <==> Project#measure_by_title -- Project#metrics_by_title <==> Project#measures_by_title - -See the gooddata gem's Ruby reference documentation for the complete list of aliases. \ No newline at end of file diff --git a/docs/jack_in.html b/docs/jack_in.html new file mode 100644 index 0000000..3cac837 --- /dev/null +++ b/docs/jack_in.html @@ -0,0 +1,119 @@ +Interactive Ruby Console · Ruby SDK \ No newline at end of file diff --git a/docs/jack_in.md b/docs/jack_in.md deleted file mode 100644 index 113192e..0000000 --- a/docs/jack_in.md +++ /dev/null @@ -1,88 +0,0 @@ ---- -id: jack_in -author: GoodData -sidebar_label: Interactive Ruby Console -title: Interactive Ruby Console ---- - -You can work with the GoodData Ruby SDK from your Ruby console, without -writing a script. There are two methods how to do that: - -IRB -------- - -IRB is an interactive console that is provided with your Ruby -installation. You may use gooddata SDK inside your IRB. Below are some -of the basic steps. - -First, launch IRB. In your terminal, execute the following: - - irb - -You should receive a message similar to the following, which indicates -that you are inside the interactive Ruby environment: - - 2.1-head :001 > - -Let’s start playing with gooddata. Enter the following: - - > GoodData - -You should receive the following: - - NameError: uninitialized constant GoodData - -This error message indicates that irb does not know about the gooddata -SDK. So, let’s tell irb to require the SDK: - - > require 'gooddata' - => true - -OK. Now, repeat the previous command: - - > GoodData - => GoodData - -The response indicates that irb knows about SDK. Let’s try to log in to -the GoodData platform with your credentials through the SDK. \* For -clarity, the > sign is omitted in the irb session from now on. - - client = GoodData.connect("john@example.com", "password") - -You should be logged in. Now, you can perform tasks that do not require -you to be inside of a specific project. For example, use the following -to list all of your projects: - - client.projects - -To work with a project, you must define the project for the SDK. For -example, suppose you wish to list the reports in a project. You must -tell the SDK the project to review: - - project = client.projects('PROJECT_ID') - -To list the reports in this project: - - project.reports - -OK. To exit irb, enter: - - exit - -jack_in -------- - -To make things a bit easier than irb, Gooddata SDK includes a gooddata -command line interface that was installed along with the gem. One of the commands -is jack\_in which brings you into a live project where you can poke and explore. - - gooddata -U john@example.com -P password -p PROJECT_ID project jack_in - -In a single command, the above launches the command line interface, logs -you into the platform, and identifies the project to which to connect. -At this point, you may begin entering commands: - - reports = project.reports - -**NOTE**: Use the ~/.gooddata file to save your username and password -locally, so you do not have to type it every single time. diff --git a/docs/jack_in/index.html b/docs/jack_in/index.html new file mode 100644 index 0000000..3cac837 --- /dev/null +++ b/docs/jack_in/index.html @@ -0,0 +1,119 @@ +Interactive Ruby Console · Ruby SDK \ No newline at end of file diff --git a/docs/loading_data.html b/docs/loading_data.html new file mode 100644 index 0000000..52088f5 --- /dev/null +++ b/docs/loading_data.html @@ -0,0 +1,262 @@ +Loading Data to Project · Ruby SDK \ No newline at end of file diff --git a/docs/loading_data.md b/docs/loading_data.md deleted file mode 100644 index 2168473..0000000 --- a/docs/loading_data.md +++ /dev/null @@ -1,229 +0,0 @@ ---- -id: loading_data -author: GoodData -sidebar_label: Loading Data to Project -title: Loading Data to Project ---- - -Loading a Data Set to Project -------- - -To load data into a project, you have to have 3 things. Blueprint, project and data. - -```ruby -# encoding: utf-8 - -require 'gooddata' - -GoodData.with_connection do |client| - blueprint = GoodData::Model::ProjectBlueprint.build('Acme project') do |p| - p.add_date_dimension('committed_on') - - p.add_dataset('dataset.commits') do |d| - d.add_anchor('attr.commits.id') - d.add_fact('fact.commits.lines_changed') - d.add_attribute('attr.commits.name') - d.add_label('label.commits.name', reference: 'attr.commits.name') - d.add_date('committed_on', :format => 'dd/MM/yyyy') - end - end - - project = client.create_project_from_blueprint(blueprint, auth_token: 'TOKEN') - - # By default names of the columns are the identifiers of the labels, facts, or names of references - data = [ - ['fact.commits.lines_changed', 'label.commits.name', 'committed_on'], - [1, 'tomas', '01/01/2001'], - [1, 'petr', '01/12/2001'], - [1, 'jirka', '24/12/2014']] - - project.upload(data, blueprint, 'dataset.commits') - - # If the column names in your data do not match the GoodData references, you can easily supply the desired mapping in the :column_mapping parameter - data = [ - ['lines', 'committer', 'date'], - [1, 'tomas', '01/01/2001'], - [1, 'petr', '01/12/2001'], - [1, 'jirka', '24/12/2014']] - column_mapping = { - "fact.commits.lines_changed": 'lines', - "label.commits.name": 'committer', - "committed_on": 'date' - } - project.upload(data, blueprint, 'dataset.commits', column_mapping: column_mapping) - - # Now the data are loaded in. You can easily compute some number - project.facts.first.create_metric(type: :sum).execute # => 3 - - # By default data are loaded in full mode. This means that data override all previous data in the dataset - data = [ - ['fact.commits.lines_changed', 'label.commits.name', 'committed_on'], - [10, 'tomas', '01/01/2001'], - [10, 'petr', '01/12/2001'], - [10, 'jirka', '24/12/2014']] - project.upload(data, blueprint, 'dataset.commits') - project.facts.first.create_metric(type: :sum).execute # => 30 - - # You can also load more data through INCREMENTAL mode - project.upload(data, blueprint, 'dataset.commits', :mode => 'INCREMENTAL') - project.facts.first.create_metric(type: :sum).execute # => 60 - - # If you want to you can also specify what the names of the columns in the CSV is going to be - - blueprint = GoodData::Model::ProjectBlueprint.build('Acme project') do |p| - p.add_date_dimension('committed_on') - - p.add_dataset('dataset.commits') do |d| - d.add_anchor('attr.commits.id') - d.add_fact('fact.commits.lines_changed', column_name: 'fact') - d.add_attribute('attr.commits.name') - d.add_label('label.commits.name', reference: 'attr.commits.name', column_name: 'label' ) - d.add_date('committed_on', :format => 'dd/MM/yyyy', column_name: 'ref') - end - end - - data = [ - ['fact', 'label', 'ref'], - [10, 'tomas', '01/01/2001'], - [10, 'petr', '01/12/2001'], - [10, 'jirka', '24/12/2014']] - project.upload(data, blueprint, 'dataset.commits') -end -``` - -Loading Multiple Data Sets to Project -------- - -You can load multiple data sets into project at once. - -The GoodData platform supports loading multiple datasets from a set of -CSV files in a single task. In addition to loading a single CSV at a -time, you can now upload your CSV files, provide a JSON manifest file, -and then execute the data load through a single API call. This method is -particularly useful if your project contains many datasets, or if you -are loading multiple datasets with larger data volumes. The multiple -datasets processing is significantly faster in these situations. - -For more info see [GoodData -Article](http://developer.gooddata.com/article/multiload-of-csv-data). - -```ruby -# encoding: utf-8 - -require 'gooddata' -require 'csv' - -USERNAME = 'YOUR_USERNAME' -PASSWORD = 'YOUR_PASSWORD' -TOKEN = 'YOUR_TOKEN' - -GoodData.with_connection(USERNAME, PASSWORD) do |client| - # Create LDM blueprint - blueprint = GoodData::Model::ProjectBlueprint.from_json('data/hr_manifest.json') - - # Create new project (datamart) - project = GoodData::Project.create_from_blueprint(blueprint, auth_token: TOKEN) - puts "Created project #{project.pid}" - - data = [ - { - data: 'data/hr_departments.csv', - dataset: 'dataset.department', - }, - { - data: 'data/hr_employees.csv', - dataset: 'dataset.employee' - }, - { - data: 'data/hr_salaries.csv', - dataset: 'dataset.salary', - options: {:mode => 'INCREMENTAL'} - } - ] - res = project.upload_multiple(data, blueprint) - - puts JSON.pretty_generate(res) - - puts 'Done!' -end -``` - -Loading Data with Specific Date Format -------- - -You can specify a date loading format in your blueprint. If you do not -specify any format then the default *MM/dd/yyyy* format is used - -```ruby -# encoding: utf-8 - -require 'gooddata' - -GoodData.with_connection do |client| - blueprint = GoodData::Model::ProjectBlueprint.build('Acme project') do |p| - p.add_date_dimension('committed_on') - - p.add_dataset('dataset.commits') do |d| - d.add_anchor('attr.commits.id') - d.add_fact('fact.commits.lines_changed') - d.add_attribute('attr.commits.name') - d.add_label('label.commits.name', reference: 'attr.commits.name') - d.add_date('committed_on', :dataset => 'committed_on') - end - end - - project = client.create_project_from_blueprint(blueprint, auth_token: 'token') - - # By default the dates are expected in format MM/dd/yyyy - data = [ - ['fact.commits.lines_changed', 'label.commits.name', 'committed_on'], - [1, 'tomas', '01/01/2001'], - [1, 'petr', '12/01/2001'], - [1, 'jirka', '12/24/2014']] - project.upload(data, blueprint, 'dataset.commits') - puts project.compute_report(top: [project.facts.first.create_metric], left: ['committed_on.date']) - # prints - # - # [01/01/2001 | 3.0] - # [12/01/2001 | 3.0] - # [12/24/2014 | 3.0] - - # if you try to load a differen format it will fail - data = [['fact.commits.lines_changed', 'label.commits.name', 'committed_on'], - [1, 'tomas', '2001-01-01']] - project.upload(data, blueprint, 'dataset.commits') - - # You can specify a different date format - blueprint = GoodData::Model::ProjectBlueprint.build('Acme project') do |p| - p.add_date_dimension('committed_on') - - p.add_dataset('dataset.commits') do |d| - d.add_anchor('attr.commits.id') - d.add_fact('fact.commits.lines_changed') - d.add_attribute('attr.commits.name') - d.add_label('label.commits.name', reference: 'attr.commits.name') - d.add_date('committed_on', :dataset => 'committed_on', format: 'yyyy-dd-MM') - end - end - - data = [ - ['fact.commits.lines_changed', 'label.commits.name', 'committed_on'], - [3, 'tomas', '2001-01-01'], - [3, 'petr', '2001-01-12'], - [3, 'jirka', '2014-24-12']] - project.upload(data, blueprint, 'dataset.commits') - puts project.compute_report(top: [project.facts.first.create_metric], left: ['committed_on.date']) - # prints - # - # [01/01/2001 | 3.0] - # [12/01/2001 | 3.0] - # [12/24/2014 | 3.0] -end -``` - -Note couple of things We did not have to update the project to be able -to load dates in a different format. Date format information is used -only during the data upload and the model is unaffected. This is -something to think about when you are inferring the blueprint from the -model using `project.blueprint`. This information is not persisted in -the project. diff --git a/docs/loading_data/index.html b/docs/loading_data/index.html new file mode 100644 index 0000000..52088f5 --- /dev/null +++ b/docs/loading_data/index.html @@ -0,0 +1,262 @@ +Loading Data to Project · Ruby SDK \ No newline at end of file diff --git a/docs/logging.html b/docs/logging.html new file mode 100644 index 0000000..92ea089 --- /dev/null +++ b/docs/logging.html @@ -0,0 +1,110 @@ +Logging · Ruby SDK \ No newline at end of file diff --git a/docs/logging.md b/docs/logging.md deleted file mode 100644 index 3f13c24..0000000 --- a/docs/logging.md +++ /dev/null @@ -1,80 +0,0 @@ ---- -id: logging -author: GoodData -sidebar_label: Logging and Testing -title: Logging ---- - -Logging ------- - -If your script doesn’t work or throws a weird error, you want to see -detailed logging information to understand what is going on. - -GoodData Ruby SDK uses the standard Ruby logger that you can use in -standard way - -```ruby -# encoding: utf-8 - -require 'gooddata' - -logger = Logger.new(STDOUT) -logger.level = Logger::DEBUG -GoodData.logger = logger -``` - -You can also use following abbreviated syntax for logging to standard -output using DEBUG level - -```ruby -# encoding: utf-8 - -require 'gooddata' - -GoodData.logging_http_on -``` - -or using INFO level - -```ruby -# encoding: utf-8 - -require 'gooddata' - -GoodData.logging_on -``` - -another option is to specify the debug level explicitly - -```ruby -# encoding: utf-8 - -require 'gooddata' - -GoodData.logging_on(Logger::DEBUG) -``` - -There are quite a few options to choose from. Feel free to use whatever -you like the best. - -Testing ------- - -There is another way how to debug your progress. This is a test that checks -whether reports return exptected results. This is a -basis for delving later into test driven BI projects. - -```ruby -# encoding: utf-8 - -require 'gooddata' - -GoodData.with_connection('user', 'password') do |client| - GoodData.with_project('project_pid') do |project| - report = project.reports(32) - result = report.execute - fail "Report has unexpected result" unless result == [[1, 2, 3]] - end -end -``` \ No newline at end of file diff --git a/docs/logging/index.html b/docs/logging/index.html new file mode 100644 index 0000000..92ea089 --- /dev/null +++ b/docs/logging/index.html @@ -0,0 +1,110 @@ +Logging · Ruby SDK \ No newline at end of file diff --git a/docs/looking_up_metadata_objects.html b/docs/looking_up_metadata_objects.html new file mode 100644 index 0000000..6fd01d6 --- /dev/null +++ b/docs/looking_up_metadata_objects.html @@ -0,0 +1,25 @@ +Looking up metadata objects · Ruby SDK \ No newline at end of file diff --git a/docs/looking_up_metadata_objects.md b/docs/looking_up_metadata_objects.md deleted file mode 100644 index 952dee5..0000000 --- a/docs/looking_up_metadata_objects.md +++ /dev/null @@ -1,39 +0,0 @@ ---- -id: looking_up_metadata_objects -author: GoodData -sidebar_label: Looking up metadata objects -title: Looking up metadata objects ---- - -Goal -------- - -You would like to retrieve metadata objects (e.g. metrics, facts, -labels) by numeric ID, string identifier or URI. - -Example - --------- - -Use `GoodData::MdObject#[]` to look up your metadata objects. This -method is aliased `#get_by_id`. - - -'src/06\_working\_with\_projects/looking\_up\_metadata\_objects.rb' -```ruby -options = { project: project, client: client } -id = metric.obj_id -# => "2258" -GoodData::MdObject[id, options].class -# => GoodData::Metric - -identifier = metric.identifier -# => "metric.total.claim.amount" -GoodData::MdObject[identifier, options].class -# => GoodData::Metric - -uri = metric.uri -# => "/gdc/md/zlf5mgyd1txaztohukv8xwv1jjm28zvg/obj/2258" -GoodData::MdObject[uri, options].class -# => GoodData::Metric -``` diff --git a/docs/looking_up_metadata_objects/index.html b/docs/looking_up_metadata_objects/index.html new file mode 100644 index 0000000..6fd01d6 --- /dev/null +++ b/docs/looking_up_metadata_objects/index.html @@ -0,0 +1,25 @@ +Looking up metadata objects · Ruby SDK \ No newline at end of file diff --git a/docs/migrating_metadata_objects.html b/docs/migrating_metadata_objects.html new file mode 100644 index 0000000..f46f5ee --- /dev/null +++ b/docs/migrating_metadata_objects.html @@ -0,0 +1,95 @@ +Migrating objects between projects · Ruby SDK \ No newline at end of file diff --git a/docs/migrating_metadata_objects.md b/docs/migrating_metadata_objects.md deleted file mode 100644 index aa792f5..0000000 --- a/docs/migrating_metadata_objects.md +++ /dev/null @@ -1,114 +0,0 @@ ---- -id: migrating_metadata_objects -author: GoodData -sidebar_label: Migrating objects between projects -title: Migrating objects between projects ---- - -Goal -------- - -You have metadata objects (reports/metrics/dashboards) you would like to -transfer between projects - -Example --------- - - -```ruby -# encoding: UTF-8 - -require 'gooddata' - -GoodData.with_connection do |c| - target_project = c.projects('target_project_id') - - - GoodData.with_project('master_project_id') do |master_project| -```ruby -# encoding: UTF-8 - -require 'gooddata' - -GoodData.with_connection do |c| - target_project = c.projects('target_project_id') - - # Lets log into project you would like to transfer from - - # find objects you would like to transfer -```ruby -# encoding: UTF-8 - -require 'gooddata' - -GoodData.with_connection do |c| - target_project = c.projects('target_project_id') - - # Lets log into project you would like to transfer from - GoodData.with_project('master_project_id') do |master_project| - # find objects you would like to transfer - # here we transfer all reports containing word "sales" in the title - reports = master_project.reports.select { |r| r.title =~ /sales/ } - begin - token = master_project.objects_export(reports) - rescue ObjectsExportError - puts "Export failed" - end - begin - target_project.objects_import(token) - rescue ObjectsImportError - puts "Import failed" - end - end -end -``` - reports = master_project.reports.select { |r| r.title =~ /sales/ } - begin - token = master_project.objects_export(reports) - rescue ObjectsExportError - puts "Export failed" - end - begin - target_project.objects_import(token) - rescue ObjectsImportError - puts "Import failed" - end - end -end -``` - # here we transfer all reports containing word "sales" in the title - reports = master_project.reports.select { |r| r.title =~ /sales/ } - begin - token = master_project.objects_export(reports) - rescue ObjectsExportError - puts "Export failed" - end - begin - target_project.objects_import(token) - rescue ObjectsImportError - puts "Import failed" - end - end -end -``` - -Discussion ----------- - -Occasionally you need to transfer objects to multiple projects. To make -it easier SDK provides a convenient method for this. - -<%= render\_ruby -'src/06\_working\_with\_projects/metadata\_transfer\_to\_multiple.rb' -%> - -Objects import happen in two stages. First you export objects with an -API call. This creates a package on our platform and provides you with a -token. You can then use the token to initiate the import. In most cases -you do not care about these details and 2 methods above are all what you -need. In some cases though you want the low level control. Here is a -quick example how to use those lower level methods. - -<%= render\_ruby -'src/06\_working\_with\_projects/metadata\_transfer\_low\_level.rb' -%> diff --git a/docs/migrating_metadata_objects/index.html b/docs/migrating_metadata_objects/index.html new file mode 100644 index 0000000..f46f5ee --- /dev/null +++ b/docs/migrating_metadata_objects/index.html @@ -0,0 +1,95 @@ +Migrating objects between projects · Ruby SDK \ No newline at end of file diff --git a/docs/refactoring_datasets.html b/docs/refactoring_datasets.html new file mode 100644 index 0000000..3b8d5c5 --- /dev/null +++ b/docs/refactoring_datasets.html @@ -0,0 +1,138 @@ +Refactoring datasets · Ruby SDK \ No newline at end of file diff --git a/docs/refactoring_datasets.md b/docs/refactoring_datasets.md deleted file mode 100644 index 9b788a5..0000000 --- a/docs/refactoring_datasets.md +++ /dev/null @@ -1,169 +0,0 @@ ---- -id: refactoring_datasets -author: GoodData -sidebar_label: Refactoring datasets -title: Refactoring datasets ---- - -How to work on your project. Note, this is work in progress. - -Use SDK refactoring features. - -Let’s have a look at two hypothetical but very common scenarios that you -probably encountered in during career. - -One Dataset problem ------- - -Lets' say you have model like this - -```ruby -blueprint = GoodData::Model::ProjectBlueprint.build('Not so great project') do |p| - p.add_dataset('dataset.reps', title: 'Sale Reps') do |d| - d.add_anchor('attr.reps.id', title: 'Sales Rep') - d.add_label('label.reps.id', reference: 'attr.reps.id', title: 'Sales Rep Name') - end - - p.add_dataset('dataset.regions', title: 'Sale Reps') do |d| - d.add_anchor('attr.regions.id', title: 'Sales Region') - d.add_label('label.regions.id', reference: 'attr.regions.id', title: 'Sales Rep Name') - end - - p.add_dataset('dataset.sales', title: 'Department') do |d| - d.add_anchor('attr.sales.id', title: 'Sale Id') - d.add_label('label.sales.id', reference: 'attr.sales.id', title: 'Sales tracking number') - d.add_fact('fact.sales.amount', title: 'Amount') - d.add_attribute('attr.sales.stage', title: 'Stage') - d.add_label('label.sales.stage', title: 'Stage Name', reference:'attr.sales.stage') - d.add_reference('dataset.regions') - d.add_reference('dataset.reps') - end -end -``` - -There is one problem. We should definitely extract the attribute from -'dataset.sales' dataset somewhere else. Also the anchor for this dataset -has a label. Unless we do not have specific reason for it we should -extract it somewhere else. - -We can try to ask SDK to help us - -```ruby -refactored_blueprint = blueprint.refactor_split_df('dataset.sales') - -# Let's have a look around -refactored_blueprint.datasets.map(&:title) - -refactored_blueprint.datasets.map {|d| [d.title, d.id]} -=> [["Sale Reps", "dataset.reps"], - ["Sale Reps", "dataset.regions"], - ["Department", "dataset.sales"], - ["Dataset.Sales Dim", "dataset.sales_dim"]] - -# So there is a new dataset -# If we print it out in repl -refactored_blueprint.datasets('dataset.sales_dim') -# prints -# -# { -# :type=>:dataset, -# :id=>"dataset.sales_dim", -# :columns=> -# [{:type=>:anchor, :id=>"vymysli_id"}, -# {:type=>:label, :id=>"label.vymysli_id", :reference=>"vymysli_id"}, -# {:type=>:attribute, :id=>"attr.sales.stage", :title=>"Stage"}, -# {:type=>:label, -# :id=>"label.sales.stage", -# :title=>"Stage Name", -# :reference=>"attr.sales.stage"}]} -``` - -You can see that there is stage attribute right there. And it prepared -an anchor for us. The naming definitely needs touch ups (User should be -able to specify the ids somehow) but the structure is there. Now let’s -have a look what happened to sales dataset - -```ruby -refactored_blueprint.datasets('dataset.sales') -# prints -# -# {:id=>"dataset.sales", -# :type=>:dataset, -# :columns=> -# [{:type=>:anchor, :id=>"attr.sales.id", :title=>"Sale Id"}, -# {:type=>:label, -# :id=>"label.sales.id", -# :reference=>"attr.sales.id", -# :title=>"Sales tracking number"}, -# {:type=>:fact, :id=>"fact.sales.amount", :title=>"Amount"}, -# {:type=>:reference, :dataset=>"dataset.regions"}, -# {:type=>:reference, :dataset=>"dataset.reps"}, -# {:type=>:reference, :dataset=>"dataset.sales_dim"}] -``` - -You can see that the attribute has gone alongside the labels. Only facts -remain. A new reference was added so the reports should still be -working. This might seem just a minor issue but once you start creating -more complex models with multiple stars you find this technique a -necessity so why not automate it? - -Multiple facts in one dataset ------- - -Another problem we will look at is splitting fact tables because of -facts. Consider this model: - -```ruby -blueprint = GoodData::Model::ProjectBlueprint.build('Not so great project') do |p| - - p.add_dataset('dataset.orders_dim', title: 'Orders Dimension') do |d| - d.add_anchor('attr.orders_dim.id', title: 'Order') - d.add_label('label.dataset.orders_dim.id', reference: 'attr.orders_dim.id', title: 'Order Id') - end - - p.add_dataset('dataset.orders_fact', title: 'Orders Fact Table') do |d| - d.add_anchor('attr.orders_fact.id', title: 'Sales Rep') - d.add_fact('fact.dataset.orders_fact.amount_ordered', title: 'Amount Ordered') - d.add_fact('fact.dataset.orders_fact.amount_shipped', title: 'Amount Shipped') - d.add_reference('dataset.orders_dim') - end -end -``` - -What you want to do is have a look at how many shipments were ordered -and shipped on particular day. But if you keep the facts in one dataset -you will have all kinds of trouble with nil values. Much better is to -split the fact tables in two. Again we can try doing that with SDK - -Note: it seems it currently does not work with date references. We need -to update this so I omitted it in the example so it works. - -```ruby -# you define which dataset you would like to split. Secnd parameter is list of facts you would like to move and the last one is the id of the new dataset -refactored_blueprint = blueprint.refactor_split_facts('dataset.orders_fact', ['fact.dataset.orders_fact.amount_shipped'], 'dataset.orders_shipped_fact') - -# Again Let's explore -refactored_blueprint.datasets.count # => 3 - -refactored_blueprint.datasets.map {|d| [d.title, d.id]} -# => [["Orders Dimension", "dataset.orders_dim"], -# ["Orders Fact Table", "dataset.orders_fact"], -# ["Dataset.Orders Shipped Fact", "dataset.orders_shipped_fact"]] - -# There is a new dataset "dataset.orders_shipped_fact" -refactored_blueprint.datasets('dataset.orders_shipped_fact') -# prints -# -# { -# :id=>"dataset.orders_shipped_fact", -# :type=>:dataset, -# :columns=> [ -# {:type=>:anchor, :id=>"dataset.orders_shipped_fact.id"}, -# {:type=>:fact, -# :id=>"fact.dataset.orders_fact.amount_shipped", -# :title=>"Amount Shipped"}, -# {:type=>:reference, :dataset=>"dataset.orders_dim"}]} -``` - -These are 2 basic ways how to refactor a blueprint in an assisted and -automated fashion. diff --git a/docs/refactoring_datasets/index.html b/docs/refactoring_datasets/index.html new file mode 100644 index 0000000..3b8d5c5 --- /dev/null +++ b/docs/refactoring_datasets/index.html @@ -0,0 +1,138 @@ +Refactoring datasets · Ruby SDK \ No newline at end of file diff --git a/docs/speeding_things_up.html b/docs/speeding_things_up.html new file mode 100644 index 0000000..1167adf --- /dev/null +++ b/docs/speeding_things_up.html @@ -0,0 +1,33 @@ +Parallel Processing · Ruby SDK \ No newline at end of file diff --git a/docs/speeding_things_up.md b/docs/speeding_things_up.md deleted file mode 100644 index 1749cd2..0000000 --- a/docs/speeding_things_up.md +++ /dev/null @@ -1,47 +0,0 @@ ---- -id: speeding_things_up -author: GoodData -sidebar_label: Parallel Processing -title: Parallel Processing ---- - -Goal -------- - -You created the script. It works but it is slow. Let’s have at one trick -how to possibly make it faster. - -How-to --------- - -Often if you look at the API the structure is orthogonal to your use -case. For example you might need to invite user to many projects but the -API has only an endpoint to invite a user to a single project. If you do -something like - - projects.map do |project| - project.invite_user('john@example.com') - end - -it will work but it will create as many requests as there are projects. -The requests will be processed sequentially and this takes time. You can -estimate this easily. Let’s say we have 1000 projects and invitation -request takes 500ms (half a second). This means it will take 500 seconds -therefore almost 10 minutes. - -The nice thing is that the requests for inviting user to each project -are totally independent. You don’t need a project invitation to finish -before you invite the user to another project. So you can invoke -multiple invitations at the same time. The following code invokes -multiple invitations in parallel - - projects.pmap do |project| - project.invite_user('john@example.com') - end - -We’ve just changed single letter. We are using pmap which stands for -parallel map. It behaves exactly the same as map with one difference. -The block for each item of the array runs in a separate thread. You do -not need to think about it, it just happens faster. We have currently 20 -threads reserved so it will run 20 times faster. In this case under 0.5 -minutes. diff --git a/docs/speeding_things_up/index.html b/docs/speeding_things_up/index.html new file mode 100644 index 0000000..1167adf --- /dev/null +++ b/docs/speeding_things_up/index.html @@ -0,0 +1,33 @@ +Parallel Processing · Ruby SDK \ No newline at end of file diff --git a/docs/using_gooddata_platform.html b/docs/using_gooddata_platform.html new file mode 100644 index 0000000..caa5baa --- /dev/null +++ b/docs/using_gooddata_platform.html @@ -0,0 +1,124 @@ +Using GoodData Platform · Ruby SDK \ No newline at end of file diff --git a/docs/using_gooddata_platform.md b/docs/using_gooddata_platform.md deleted file mode 100644 index 439e6e9..0000000 --- a/docs/using_gooddata_platform.md +++ /dev/null @@ -1,96 +0,0 @@ ---- -id: using_gooddata_platform -author: GoodData -sidebar_label: Using GoodData Platform -title: Using GoodData Platform ---- - -Using a Project -------- - -You can use couple of ways to do this. Our favorite is this: - -```ruby -# encoding: utf-8 - -require 'gooddata' - -GoodData.with_connection('user', 'password') do |client| - GoodData.with_project('project_pid') do |project| - puts project.title - end -end -``` - -This has a benefit that you have access to project only inside the -block. Once the block is left you are 'disconnected to the project. If -you are using several projects in one script this is a way to go to be -sure you are not reaching somewhere you do not want to. - -There are other more conventional ways to do the same thing: - -```ruby -# encoding: utf-8 - -require 'gooddata' - -GoodData.with_connection('user', 'password') do |client| - project = GoodData.use('project_pid') - puts project.title -end -``` - -Using API directly -------- - -SDK provides you slew of well known methods that make this possible -while shielding you from intricacies of keeping connection alive etc. - -```ruby -# encoding: utf-8 - -require 'gooddata' - -GoodData.with_connection('user', 'password') do |client| - client.get("/gdc/md/") - project_id = 'YOUR_PROJECT_ID' - client.delete("/gdc/projects/#{project_id}") -end -``` - -Using Asynchronous Tasks with Timeouts -------- - -There are numerous tasks on GoodData API which potentially take more -than just couple of seconds to execute. These include report executions, -data loads, exports, clones and others. - -The way these tasks are implemented in SDK that they block. The -execution continues only when the task finishes (either success or -error) or the server time limit is reached and the task is killed. - -Sometimes it is useful to be able to specify the time limit on the -client side. This might be useful for cases where you need to make sure -that something is either finished under a certain time threshold or you -have to make some other action (notifying a customer). The limit you -would like to use is different then the server side limit of GoodData -APIs. - -You can implement it like this - - -```ruby -# encoding: utf-8 - -require 'gooddata' - -client = GoodData.connect -project = client.projects('project_id') -report = project.reports(1234) -begin - puts report.execute(time_limit: 10) -rescue GoodData::ExecutionLimitExceeded => e - puts "Unfortunately #{report.title} execution did not finish in 10 seconds" - raise e -end -``` diff --git a/docs/using_gooddata_platform/index.html b/docs/using_gooddata_platform/index.html new file mode 100644 index 0000000..caa5baa --- /dev/null +++ b/docs/using_gooddata_platform/index.html @@ -0,0 +1,124 @@ +Using GoodData Platform · Ruby SDK \ No newline at end of file diff --git a/docs/working_with_automation.html b/docs/working_with_automation.html new file mode 100644 index 0000000..89c6b84 --- /dev/null +++ b/docs/working_with_automation.html @@ -0,0 +1,188 @@ +Automation and Performance · Ruby SDK \ No newline at end of file diff --git a/docs/working_with_automation.md b/docs/working_with_automation.md deleted file mode 100644 index b5692c9..0000000 --- a/docs/working_with_automation.md +++ /dev/null @@ -1,172 +0,0 @@ ---- -id: working_with_automation -author: GoodData -sidebar_label: Automation and Performance -title: Automation and Performance ---- - -Performing Operations on Multiple Projects ------- - -Let's iterate over projects and perform an operation on each of them. - -We will illustrate this on a simple example and compile a list of all -reports from user’s projects that have been changed since last week by -somebody from GoodData. If there is more than one revision in a report -we’ll assume that the report is changing frequently and tag it with -'to\_be\_checked' tag for QA to validate the report. - -This is a lot to do. Let’s try to break the tasks down to smaller -pieces. - -### Work with many projects - -```ruby -# encoding: utf-8 - -require 'gooddata' - -GoodData.with_connection do |client| - - projects = [ - client.projects('project_pid_a'), - client.projects('project_pid_b') - ] - - results = projects.map do |project| - reports_to_validate = project.reports - .select { |report| report.updated > 2.weeks.ago } - .select { |report| report.definitions.count > 1 } - - GoodData::Report.find_by_tag('to_be_checked', :project => project).each do |report| - report.remove_tag('to_be_checked') - report.save - end - - reports_to_validate.each do |report| - report.add_tag('to_be_checked') - report.save - end - - {project: project, reports_to_validate: reports_to_validate.count} - end - - results.each do |result| - puts "#{result[:project].pid}: there are #{result[:reports_to_validate]} reports to check" - end -``` - -### Select specific reports - -```ruby -reports_to_tag = project.reports - .select { |report| report.updated > 2.weeks.ago } - .select { |report| report.definitions.count > 1 } -``` - -### Remove tag - -We’ll first remove the 'to\_be\_checked' tag from all reports - -```ruby -GoodData::Report.find_by_tag('to_be_checked', :project => project).each do |report| - report.remove_tag('to_be_checked') - report.save -end -``` - -### Add tag - -Then we’ll add the 'to\_be\_checked' tag to all qualifying reports - -```ruby -reports_to_tag.each do |report| - report.add_tag('to_be_checked') - report.save -end -``` - -### Full example - all pieces together - -```ruby -# encoding: utf-8 - -require 'gooddata' - -GoodData.with_connection do |client| - - projects = [ - client.projects('project_pid_a'), - client.projects('project_pid_b') - ] - - results = projects.map do |project| - reports_to_validate = project.reports - .select { |report| report.updated > 2.weeks.ago } - .select { |report| report.definitions.count > 1 } - - GoodData::Report.find_by_tag('to_be_checked', :project => project).each do |report| - report.remove_tag('to_be_checked') - report.save - end - - reports_to_validate.each do |report| - report.add_tag('to_be_checked') - report.save - end - - {project: project, reports_to_validate: reports_to_validate.count} - end - - results.each do |result| - puts "#{result[:project].pid}: there are #{result[:reports_to_validate]} reports to check" - end - -end -``` - -Please note that the reports in projects are processed sequentially (one -after another). - - -Parallel Processing ------- - -You created the script, it works but it is slow. Let’s have at one trick -how to possibly make it faster. - -Often if you look at the API the structure is orthogonal to your use -case. For example you might need to invite user to many projects but the -API has only an endpoint to invite a user to a single project. If you do -something like - -```ruby -projects.map do |project| - project.invite_user('john@example.com') -end -``` - -It will work but it will create as many requests as there are projects. -The requests will be processed sequentially and this takes time. You can -estimate this easily. Let’s say we have 1000 projects and invitation -request takes 500ms (half a second). This means it will take 500 seconds -therefore almost 10 minutes. - -The nice thing is that the requests for inviting user to each project -are totally independent. You don’t need a project invitation to finish -before you invite the user to another project. So you can invoke -multiple invitations at the same time. The following code invokes -multiple invitations in parallel - -```ruby -projects.pmap do |project| - project.invite_user('john@example.com') -end -``` - -We’ve just changed a single letter. We are using pmap which stands for -parallel map. It behaves exactly the same as map with one difference. -The block for each item of the array runs in a separate thread. You do -not need to think about it, it just happens faster. We have currently 20 -threads reserved so it will run 20 times faster. In this case under 0.5 -minutes. diff --git a/docs/working_with_automation/index.html b/docs/working_with_automation/index.html new file mode 100644 index 0000000..89c6b84 --- /dev/null +++ b/docs/working_with_automation/index.html @@ -0,0 +1,188 @@ +Automation and Performance · Ruby SDK \ No newline at end of file diff --git a/docs/working_with_dashboards.html b/docs/working_with_dashboards.html new file mode 100644 index 0000000..966d538 --- /dev/null +++ b/docs/working_with_dashboards.html @@ -0,0 +1,165 @@ +Using Dashboards · Ruby SDK \ No newline at end of file diff --git a/docs/working_with_dashboards.md b/docs/working_with_dashboards.md deleted file mode 100644 index 6d5bf6d..0000000 --- a/docs/working_with_dashboards.md +++ /dev/null @@ -1,134 +0,0 @@ ---- -id: working_with_dashboards -author: GoodData -sidebar_label: Using Dashboards -title: Using Dashboards ---- - -You need to have an existing project with dashboard(s). - -Listing Dashboards ------- - -You can list dashboards programmatically. - -```ruby -# encoding: UTF-8 - -require 'gooddata' - -GoodData.with_connection do |c| - GoodData.with_project('project_id') do |project| - # List all dashboards and their names - pp project.dashboards.map(&:title) - end -end -``` - -Listing Dashboard Tabs ------- - -You can list dashboards and their tabs programmatically. - - -```ruby -# encoding: UTF-8 - -require 'gooddata' - -GoodData.with_connection do |c| - GoodData.with_project('project_id') do |project| - # You can list tabs of a specific dashoard and print their titles - pp project.dashboards(123).tabs.map(&:title) - - # Sometimes it is very useful to get a sense on what tabs are where - # We will print dashboard title, tab title tuples - pp project.dashboards.flat_map { |d| d.tabs.map { |t| [d.title, t.title] } } - # .... - # ["Sales Reports", "Damage"], - # ["Sales Reports", "Storage"], - # ["Sales Reports", "Assignment"] - # .... - - # Another thing that might be useful is to compute how many tabs - # each of the dashboard has - pp project.dashboards.map { |d| [d.title, d.tabs.count] } - - # [["Support Reports", 4], - # ["Sales Reports", 10], - # ["Insurance Dashboard", 1], - # ["Inventory", 10], - # ["Email Scheduling ", 1]] - end -end -``` - -Working with Dashboard Tabs ------- - -You would like to work with dashboard tab a little. List how many -reports are on the tab, if they are filtered etc. - -```ruby -# encoding: UTF-8 - -require 'gooddata' - -GoodData.with_connection do |c| - GoodData.with_project('project_id') do |project| - - t = project.dashboards('dashboard_id').tabs.find { |t| t.identifier == 'tab_identifier' } - - # How many items are there on the tab? - t.items.count - - # The items count also several utility item types. Usually what you are interested in is - # Reports and filters - # How many reports are there on the tab? - t.items.select { |i| i.is_a? GoodData::ReportItem }.count - # => 6 - - # Are there any filters on this tab? - t.items.any? { |i| i.is_a? GoodData::FilterItem } - # => false - - # It might be useful to see how many report are on each tab of each dashboard - project.dashboards.pmapcat { |d| d.tabs.map { |t| [d.title, t.title, t.items.select { |i| i.is_a? GoodData::ReportItem }.count] }} - - # In a similar vein. Which tabs do have any filters on tabs? - project.dashboards - .pmapcat { |d| d.tabs.map { |t| [d.title, t.title, t.items.select { |i| i.is_a? GoodData::FilterItem }.count] }} - .select { |_, _, i| i > 0 } - - # On each item there are properties that you can access. - # On each type you can access the position and size - item = tab.items.find { |i| i.is_a? GoodData::ReportItem } - item.position_y - # => 130 - item.size_y - # => 50 - - # With this you can for example find the bottom most element on each page. From this you can - # find out if there are not any tabs that are too "long". Depends on the usage of the dashboard - # but if it is an operational dashboard if users need to scroll down it might decrease the - # usefulness of the particular dashboard. - # - # Let's say we would like to find tabs that are longer than 500 pixels - tuple_with_lowest_item = project.dashboards.pmapcat { |d| d.tabs.map do - # pick an item whose y position + vertical size is the largest (ie it is lowest on the page) - |t| [d.title, t.title, t.items.max { |a, b| (a.position_y + a.size_y) <=> (b.position_y + b.size_y) }]} # - end - tuple_with_lowest_item - .map {|d, t, m| [d, t, m.position_y + m.size_y]} # Convert it to actual size - .select { |_, _, d| d > 800 } # Filter those that are larger than a particular threshold - - # With GoodData::ReportItem you can access the underlying report and do whatever is doable with a report - # For example executing it. Remeber though that the report on the dashboard is executed with additional - # context like filters etc so the results are not going to be the same. - puts tab.items.find { |i| i.is_a? GoodData::ReportItem }.execute - end -end -``` - - - diff --git a/docs/working_with_dashboards/index.html b/docs/working_with_dashboards/index.html new file mode 100644 index 0000000..966d538 --- /dev/null +++ b/docs/working_with_dashboards/index.html @@ -0,0 +1,165 @@ +Using Dashboards · Ruby SDK \ No newline at end of file diff --git a/docs/working_with_data_sources.html b/docs/working_with_data_sources.html new file mode 100644 index 0000000..a80d07c --- /dev/null +++ b/docs/working_with_data_sources.html @@ -0,0 +1,236 @@ +Working with Data Sources · Ruby SDK \ No newline at end of file diff --git a/docs/working_with_data_sources.md b/docs/working_with_data_sources.md deleted file mode 100644 index 28a0bf4..0000000 --- a/docs/working_with_data_sources.md +++ /dev/null @@ -1,213 +0,0 @@ ---- -id: working_with_data_sources -author: GoodData -sidebar_label: Working with Data Sources -title: Working with Data Sources ---- - -Creating a Data Source -------- - -Create a Snowflake Data Source programmatically: - -```ruby -# encoding: utf-8 - -require 'gooddata' - -snowflake_ds_model = { - 'dataSource' => { - 'name' => 'My Data Source', - 'alias' => 'ds_alias', - 'prefix' => 'ds_prefix_', - 'connectionInfo' => { - 'snowflake' => { - 'url' => 'jdbc:snowflake://test', - 'authentication' => { - 'basic' => { - 'userName' => 'testing_user', - 'password' => '***' - } - }, - 'database' => 'db_test', - 'schema' => 'schema_test', - 'warehouse' => 'wh_test' - } - } - } - } -client = GoodData.connect -snowflake_ds = client.create(GoodData::DataSource, snowflake_ds_model) -snowflake_ds.save - -# After the Data Source is created, you can start working with it -# Using the Snowflake Data Source as source input in a process -project_test = client.projects('project_pid_testing') -process_test = project_test.deploy_process({ - name: 'Testing Process', - type: 'LCM', - component: { - name: 'gdc-cm-bricks', - version: '1' - }, - dataSources:[{id: "#{snowflake_ds.id}"}] - }) -# Using the schema, database and password of a Snowflake Data Source as values of a schedule's parameters -schedule_test = process_test.create_schedule( - '0 15 10 3 *', - 'Testing Schedule', - params: { - username: 'test_us', - database: '${ds_alias.database}', - schema: '${ds_alias.schema}' - }, - hidden_params: { - db_pass: '${ds_alias.password}' - } - ) -``` - -Create an Amazon Redshift Data Source: - -```ruby -# encoding: utf-8 - -require 'gooddata' - -# Creating an Amazon Redshift Data Source with basic authentication -redshift_ds_model = { - 'dataSource' => { - 'name' => 'My Data Source', - 'alias' => 'ds_alias', - 'prefix' => 'ds_prefix_', - 'connectionInfo' => { - 'redshift' => { - 'url' => 'jdbc:redshift://test', - 'authentication' => { - 'basic' => { - 'userName' => 'testing_user', - 'password' => '***' - } - }, - 'database' => 'db_test', - 'schema' => 'schema_test' - } - } - } - } -client = GoodData.connect -redshift_ds = client.create(GoodData::DataSource, redshift_ds_model) -redshift_ds.save - -# Creating an Amazon Redshift Data Source with access key and secret key authentication -redshift_iam_auth_model = { - 'dataSource' => { - 'name' => 'RedshiftDS_IAM', - 'alias' => GoodData::Rest::Connection.generate_string, - 'prefix' => 'prefix_', - 'connectionInfo' => { - 'redshift' => { - 'url' => 'jdbc:redshift://test', - 'authentication' => { - 'iam' => { - 'dbUser' => 'user_iam_test', - 'accessKeyId' => 'OWIUEWQIO723628', - 'secretAccessKey' => 'abc123' - } - }, - 'database' => 'database_test', - 'schema' => 'schema_test' - } - } - } - } -client = GoodData.connect -redshift_iam_auth_ds = client.create(GoodData::DataSource, redshift_iam_auth_model) -redshift_iam_auth_ds.save -``` - -Create a Google BigQuery Data Source: - -```ruby -# encoding: utf-8 - -require 'gooddata' - -bigquery_ds_model = { - 'dataSource' => { - 'name' => 'My Data Source', - 'alias' => 'ds_alias', - 'prefix' => 'ds_prefix_', - 'connectionInfo' => { - 'bigQuery' => { - 'authentication' => { - 'serviceAccount' => { - 'clientEmail' => 'test@abc.com', - 'privateKey' => '***' - } - }, - 'project' => 'project_test', - 'schema' => 'schema_test' - } - } - } - } -client = GoodData.connect -bigquery_ds = client.create(GoodData::DataSource, bigquery_ds_model) -bigquery_ds.save -``` - -We also support Data Sources for Amazon S3, Agile Data Warehouse Service (ADS) and arbitrary (generic) locations. - -Renaming a Data Source -------- - -```ruby -require 'gooddata' - -GoodData.connect -ds = GoodData::DataSource.from_id('datasource_id') -ds.name = "New data source name" -ds.save -``` - -Getting a Data Source by its ID or alias -------- - -```ruby -# encoding: utf-8 - -require 'gooddata' - -GoodData.connect -ds_from_id = GoodData::DataSource.from_id('datasource_id') -ds_from_alias = GoodData::DataSource.from_alias('datasource_alias') -``` - -Getting all Data Sources -------- - -```ruby -# encoding: utf-8 - -require 'gooddata' - -GoodData.connect -ds_list = GoodData::DataSource.all -``` - -Deleting a Data Source -------- - -```ruby -# encoding: utf-8 - -require 'gooddata' - -GoodData.connect -ds_from_id = GoodData::DataSource.from_id('datasource_id') -ds_from_alias = GoodData::DataSource.from_alias('datasource_alias') - -ds_from_id.delete -ds_from_alias.delete -``` diff --git a/docs/working_with_data_sources/index.html b/docs/working_with_data_sources/index.html new file mode 100644 index 0000000..a80d07c --- /dev/null +++ b/docs/working_with_data_sources/index.html @@ -0,0 +1,236 @@ +Working with Data Sources · Ruby SDK \ No newline at end of file diff --git a/docs/working_with_deployments.html b/docs/working_with_deployments.html new file mode 100644 index 0000000..d6f24b0 --- /dev/null +++ b/docs/working_with_deployments.html @@ -0,0 +1,561 @@ +Deployment How-tos · Ruby SDK \ No newline at end of file diff --git a/docs/working_with_deployments.md b/docs/working_with_deployments.md deleted file mode 100644 index 690ec6d..0000000 --- a/docs/working_with_deployments.md +++ /dev/null @@ -1,627 +0,0 @@ ---- -id: working_with_deployments -author: GoodData -sidebar_label: Deployment How-tos -title: Deployment How-tos ---- - -Deploying Process ------- - -You can deploy a CloudConnect or Ruby SDK process to the GoodData platform. - -SDK allows you to deploy a process. Just point it to a directory or a -zipped archive that you want to deploy. Below is an example of -CloudConnect process deployment. When deploying CloudConnect processes -you typically want to take the whole folder structure of a CloudConnect -project and deploy it. So you will want to pass either path to the root -folder of the structure or you can zip it first and pass just a path to -the zip archive. The below example points to the root folder of a -CloudConnect project. - - -```ruby -# encoding: utf-8 - -require 'gooddata' - -GoodData.with_connection do |client| - GoodData.with_project('project_id') do |project| - project.deploy_process('./path/to_cloud_connect_directory', - name: 'Test ETL Process') - end -end -``` - -Redeploying Existing Process ------- - -SDK provides means for redeploying a process (with a new updated -content). All you have to do is to get a handle on the process. Here we -are using a process id to identify the process that we want to redeploy. -You can use any other way to identify the process to redeploy. Take note -that the same deployment rules as in `project.deploy_process` apply. - - -```ruby -# encoding: utf-8 - -require 'gooddata' - -GoodData.with_connection do |client| - GoodData.with_project('project_id') do |project| - process = project.processes('process_id') - process.deploy('./path/to_cloud_connect_directory') - end -end -``` - -Scheduling Process ------- - -You have a process deployed and you would like to add a schedule to it -so the process is executed regularly - -You can easily add a time based schedule to any process. Scheduled -process execution has couple advantages over the ad-hoc process -executions. Scheduled executions are logged and logs are kept around for -some time (~10 days). Also schedule keeps list of parameters so you -create it once and you do not need to care about them anymore. - - -```ruby -# encoding: utf-8 - -require 'gooddata' - -GoodData.with_connection do |client| - GoodData.with_project('project_id') do |project| - process = project.deploy_process('./path/to_cloud_connect_directory', name: 'Test ETL Process') - process.create_schedule('0 15 * * *', 'graph/my_graph.grf', - params: { - param_1: 'a', - param_2: 'b' - }, - hidden_params: { - hidden_param_1: 'a', - hidden_param_2: 'b' - } - ) - end -end -``` - -### Working with JSON - -In many examples in the Appstore, the parameters are specified in JSON. -JSON is language agnostic that is very similar to Ruby format of -representing data but it is not exactly the same. Since here we are -working in Ruby we present a short example how to convert JSON to Ruby -automatically. - -Let’s assume we have some JSON parameters that look like this - -```json -{ - "param_1" : { - "deeper_key" : "value_1" - }, - "param_2" : "value_2" -} -``` - -We first need to store this in a string and then use one of the ruby -libraries to convert this to the equivalent on Ruby language. Typically -there are problems with the quotes since in many language a string -literal is defined with " and thus the JSON need to be escaped. Another -problem might be caused with the fact that JSON is typically on multiple -lines (as in our example). We use one of the lesser known features of -ruby called HEREDOC to help us. It is basically a way to define a string -that is potentially on multiple lines without worrying about escaping. - -```ruby -data = < {"param_1"=>{"deeper_key"=>"value_1"}, "param_2"=>"value_2"} -``` - -Then we can use it as in the example above - - -Disabling Schedules in All Projects ------- - -You can disable all schedules on all processes on all the -projects you have access to and have sufficient privileges to do so. - - -```ruby -# encoding: utf-8 - -require 'gooddata' - -client = GoodData.connect -GoodData.with_connection do |client| - schedules = client.projects.pselect(&:am_i_admin?).pmapcat(&:schedules) - schedules.pmap do |schedule| - schedule.disable - schedule.save - end -end -``` - - -Executing Schedule ------- - -If you have a process with a schedule, you would perhaps like to execute it out of -schedule. - -Since schedule already have information about executable and parameters -stored it is very easy. You just need to find the schedule and execute -it. - -```ruby -# encoding: utf-8 - -require 'gooddata' - -GoodData.with_connection do |client| - project = GoodData.use('project_id') - project.processes.first.schedules.first.execute -end -``` - -Executing Process ------- - -You can execute a process without a schedule. - -SDK allows you to execute a process. This is not something that you -should do regularly since you have to specify the parameters during -execution and logs are not kept for individual executions but it might -be occasionally useful. - - -```ruby -# encoding: utf-8 - -require 'gooddata' - -GoodData.with_connection do |client| - GoodData.with_project('project_id') do |project| - project = GoodData.use('project_id') - process = project.processes.find { |p| p.name == 'Test ETL Process' } - process.execute('graph/my_graph.grf', params: { param1: 'a', param2: 'b' }) - end -end -``` - -There are also couple of other useful tricks. You might execute -arbitrary process that is already deployed. You just need to get the -process by its id. - -```ruby -# encoding: utf-8 - -require 'gooddata' - -GoodData.with_connection do |client| - GoodData.with_project('project_id') do |project| - process = project.processes('6a75759f-2a76-49c8-af18-ad3bc58fc65e') - process.execute('graph/my_graph.grf', params: { param1: 'a', param2: 'b' }) - end -end -``` - -Or you can get a process by it’s name too. - -# encoding: utf-8 - -```ruby -require 'gooddata' - -GoodData.with_connection do |client| - GoodData.with_project('project_id') do |project| - project = GoodData.use('project_id') - process = project.processes.find { |p| p.name == 'Test ETL Process' } - process.execute('graph/my_graph.grf', params: { param1: 'a', param2: 'b' }) - end -end -``` - -If you do not know what the executable is you can look it up by using -`process.executables`. We recommend using the same for all processes -like `main.grf` (for CloudConnect) or `main.rb`. - - -Run-After Scheduling ------- - -You can schedule a process to run upon successful completion of -another process (schedule). This is also known as run-after triggered -schedule. - -If you use an existing schedule object instead of a cron expression in -the create\_schedule method, the scheduled process will be scheduled to -execute upon successful completion of the passed schedule. - -```ruby -# encoding: utf-8 - -require 'gooddata' - -GoodData.with_connection do |client| - GoodData.with_project('project_id') do |project| - process = project.deploy_process('./path/to_parent_cloud_connect_directory', name: 'Parent Process') - parent_schedule = process.create_schedule('0 15 * * *', 'graph/parent_graph.grf', params: { param1: 'a', param2: 'b' }) - # The after_process will run after the parent_schedule successfully finishes - process = project.deploy_process('./path/to_after_cloud_connect_directory', name: 'After Process') - # Note passing the parent_schedule instead of a cron expression - process.create_schedule(parent_schedule, 'graph/after_graph.grf', params: { param1: 'a', param2: 'b' }) - end -end -``` - -Changing an existing schedule ------- - -You can retrieve a schedule in the same way as any other object, use -it’s methods to change it and save it. - -```ruby -# encoding: utf-8 - -require 'gooddata' - -schedule_id = 'fill_in' - -GoodData.with_connection do |client| - project = client.projects('project_id') - schedule = project.schedules(schedule_id) - # you can change pretty much anything - - # executable - schedule.executable = 'graph/new_graph.grf' - - # params - schedule.params - # { - # "PROCESS_ID"=>"c42c1b82-7d6f-433a-b008-9cdb1d454e01", - # "EXECUTABLE"=>"new_main.rb", - # :a=>:b - # } - schedule.set_param(:a, :c) - schedule.params - # { - # "PROCESS_ID"=>"c42c1b82-7d6f-433a-b008-9cdb1d454e01", - # "EXECUTABLE"=>"new_main.rb", - # :a=>:c - # } - schedule.update_params({ - :a => 42, - :b => [1,2,3] - }) - schedule.params - # { - # "PROCESS_ID"=>"c42c1b82-7d6f-433a-b008-9cdb1d454e01", - # "EXECUTABLE"=>"new_main.rb", - # :a => 42, - # :b=>[1, 2, 3] - # } - - # reschedule - schedule.reschedule # => 0 - schedule.reschedule = 15 - - # name - schedule.name # => "Some Name" - schedule.name = "Better Name" - - # enable/disable - schedule.state # => "ENABLED" - schedule.disable - schedule.state # => "DISABLED" - schedule.enable - schedule.state # => "ENABLED" - - # cron expression - schedule.cron # => "1 1 1 * *" - schedule.cron = "1 1 1 1 *" - - # "run after" schedule - after_schedule = project.schedules('some_id') - schedule.after = after_schedule - - # Do not foreget to save it - schedule.save -end -``` - -Investigating Executions ------- - -If you have a large amount of projects and would like to investigate their -execution, the administration UI is not necessarily helpful as its -overview UI can hide some failures, there is too much too go through by -hand etc. - -Let’s have a look at couple of scenarios. First let’s investigate -executions inside one project regardless of which schedule it was -triggered by. Let’s assume first that we are just looking for any -executions that failed for that particular project. We will print the -date when it happened sorted in ascending order. - -```ruby -# encoding: utf-8 - -require 'gooddata' - -GoodData.with_connection do |client| - GoodData.with_project('project_id') do |project| - results = project.schedules - .pmapcat { |s| s.executions.to_a } # take all their executions (execute in parallel since this goes to API) - .select(&:error?) # select only those that failed - pp results.map(&:started).sort.uniq - end -end -``` - -Now imagine that you are looking for executions executed by a particular -schedule. - -```ruby -# encoding: utf-8 - -require 'gooddata' - -GoodData.with_connection do |client| - GoodData.with_project('project_id') do |project| - results = project.schedules - .select { |s| s.name == 'user_filters_schedule' } # filter on those that have particular name - .pmapcat { |s| s.executions.to_a } # take all their executions (execute in parallel since this goes to API) - .select(&:error?) # select only those that failed - pp results.map(&:started).sort.uniq - end -end -``` - -Lets' make it even more specific and let’s look for a specific term in -the error message. Let’s say that "unsynchronized" is the word we are -looking for. - -```ruby -# encoding: utf-8 - -require 'gooddata' - -GoodData.with_connection do |client| - GoodData.with_project('project_id') do |project| - results = project.schedules - .select { |s| s.name == 'user_filters_schedule' } # filter on those that have particular name - .pmapcat { |s| s.executions.to_a } # take all their executions (execute in parallel since this goes to API) - .select(&:error?) # select only those that failed - .select { |e| e.json['execution']['error']['message'] =~ /unsynchronized/ } # select those that contain particular message in error message - pp results.map(&:started).sort.uniq - end -end -``` - -Sometimes the error does not manifest itself in the error message -directly and you need to look into logs. Take note that in both last -cases we are getting the log and the error message as a string so you -have full power of ruby to process it. Here we are using regular -expressions which by itself gives you significant power but you can go -even deeper if you need. - -```ruby -# encoding: utf-8 - -require 'gooddata' - -GoodData.with_connection do |client| - GoodData.with_project('project_id') do |project| - results = project.schedules - .select { |s| s.name == 'user_filters_schedule' } # filter on those that have particular name - .pmapcat { |s| s.executions.to_a } # take all their executions (execute in parallel since this goes to API) - .select(&:error?) # select only those that failed - .select { |e| e.log =~ /unsynchronized/ } # select those that contain particular message in log - pp results.map(&:started).sort.uniq - end -end -``` - -Last example we will show is just a small extension. Imagine you would -like to perform the same analysis on all projects in your account. This -is usually the case since these type of analysis executions become -exponentially more useful with growing number of executions or projects -you need to investigate. - -```ruby -# encoding: utf-8 - -require 'gooddata' - -GoodData.with_connection do |client| - results = client.projects # take all projects - .pmapcat(&:schedules) # take all their schedules (execute in parallel since this goes to API) - .select { |s| s.name == 'user_filters_schedule' } # filter on those that have particular name - .pmapcat { |s| s.executions.to_a } # take all their executions (execute in parallel since this goes to API) - .select(&:error?) # select only those that failed - .select { |e| e.log =~ /unsynchronized/ } # select those that contain particular message in log - pp results.map(&:started).sort.uniq -end -``` - -Visualizing executions ------- - -You successfully modularized your ETL into several orchestrated modules. -The problem is that it is hard to visualize the order of execution from -the Data Administration console. - -There are plethora of very useful libraries that you can use in -conjunction with GoodData SDK. One of those is Graphviz that is a C -library but it has bindings to almost every language including Ruby. -Graphviz is a visualization library and one of the features allows -visualization of Direct Acyclic Graphs which is exactly what an -execution of several schedules basically is. - -As a prerequisite you must install both -[Graphviz](http://www.graphviz.org/) and [Graphviz ruby -bindings](https://github.com/glejeune/Ruby-Graphviz). This is user -dependent as installation is different for every platform. If you -encounter any errors try googling them or shoot us a message on GitHub -or support. - -```ruby -# encoding: utf-8 - -require 'gooddata' -require 'graphviz' - -PROJECT_ID = 'PROJECT_ID' # fill_in - -GoodData.with_connection do |client| - GoodData.with_project(PROJECT_ID) do |project| - schedules = project.schedules - - nodes = project.processes.pmapcat { |p| p.schedules.map { |s| [s, "#{p.name}-#{s.name}"] } } - edges = schedules.reject(&:time_based?).pmap {|s| ["#{s.after.process.name}-#{s.after.name}", "#{s.process.name}-#{s.name}"]} - - - g = GraphViz.new(:G, :type => :digraph , :rankdir => 'TB') - nodes.each { |s, n| - node = g.add_nodes(n) - node[:shape] = 'box' - node[:label] = n + "\n#{s.cron}" - } - - edges.each { |a, b| g.add_edges(a, b) } - g.output(:png => "run_dag.png") - - # Now you can open it for example on mac by running this on terminal - # open -a Preview run_dag.png - end -end -``` - -Registering a notification email ------- - -Register a notification rule on a process. You can configure -notification rules to send an email whenever the defined conditions are -met. - -The basic events are: GoodData::Subscription::PROCESS\_SUCCESS\_EVENT, -GoodData::Subscription::PROCESS\_FAILED\_EVENT, -GoodData::Subscription::PROCESS\_SCHEDULED\_EVENT, -GoodData::Subscription::PROCESS\_STARTED\_EVENT. If you need to define -your own special event, visit [creating custom notification -events](https://developer.gooddata.com/article/creating-custom-notification-events) - -You can also add special variables to provide more information in the -email. These can be used in the subject or email body. - -```ruby -# encoding: utf-8 - -require 'gooddata' - -GoodData.with_connection do |client| - GoodData.with_project('project_id') do |project| - process = project.deploy_process('./path/to_cloud_connect_directory', name: 'Test ETL Process') - - process.create_notification_rule( - email: 'email you need to get the info', - subject: 'Get info from project ${params.PROJECT}', - body: 'This is a log for process ${params.PROCESS_NAME} [${params.PROCESS_ID}]: ${params.LOG}', - events: GoodData::Subscription::PROCESS_FAILED_EVENT - ) - end -end -``` - -You can also list all notification rules of a process and re-configure -or delete the existing notification rule - -```ruby -# encoding: utf-8 - -require 'gooddata' - -GoodData.with_connection do |client| - GoodData.with_project('project_id') do |project| - project.processes.each do |process| - process.notification_rules.each do |rule| - rule.subject = 'Changed subject' - rule.save - rule.delete - end - end - end -end -``` - -When registering a notification rule, GoodData will automatically create -a channel for each email target if it’s not exist. You can manually -create a channel - -```ruby -# encoding: utf-8 - -require 'gooddata' - -GoodData.with_connection do |client| - client.user.create_channel -end -``` - -You can list all channels, re-configure or delete the existing channel - -```ruby -# encoding: utf-8 - -require 'gooddata' - -GoodData.with_connection do |client| - client.user.channels.each do |channel| - channel.to = 'another email' - channel.save - channel.delete - end -end -``` - -Automated Data Distribution (ADD) ------- - -You might want to upload data from the Data Warehouse to a workspace. - -You must have the output stage associated with the workspace you need to upload data to. An ADD process is created after associating the workspace with the output stage. - -```ruby -# encoding: utf-8 - -require 'gooddata' - -GoodData.with_connection do |client| - GoodData.with_project('project_id') do |project| - ads = client.create_datawarehouse(title: 'Test ADS', auth_token: 'ADS_CREATION_TOKEN') - output_stage = project.create_output_stage(ads) - puts output_stage.sql_diff - add_process = project.add.process - end -end -``` \ No newline at end of file diff --git a/docs/working_with_deployments/index.html b/docs/working_with_deployments/index.html new file mode 100644 index 0000000..d6f24b0 --- /dev/null +++ b/docs/working_with_deployments/index.html @@ -0,0 +1,561 @@ +Deployment How-tos · Ruby SDK \ No newline at end of file diff --git a/docs/working_with_lifecycle.html b/docs/working_with_lifecycle.html new file mode 100644 index 0000000..f290b40 --- /dev/null +++ b/docs/working_with_lifecycle.html @@ -0,0 +1,303 @@ +Working with Lifecycle · Ruby SDK \ No newline at end of file diff --git a/docs/working_with_lifecycle.md b/docs/working_with_lifecycle.md deleted file mode 100644 index 74631b7..0000000 --- a/docs/working_with_lifecycle.md +++ /dev/null @@ -1,279 +0,0 @@ ---- -id: working_with_lifecycle -author: GoodData -sidebar_label: Working with Lifecycle -title: Working with Lifecycle ---- - -Life-cycle Segments ------- - -You can setup and execute a life-cycle management -configuration to distribute new versions of dashboards, reports, and -metrics from a master template to multiple target projects. - -You can use life-cycle management API to create a life-cycle segment, -associate it with its master template project, and populate the segment -with target projects that are going to receive the new versions of -objects from the master template. First let’s align on the terminology. - -Organization - Organization is an object that contains all users and -projects that you or your company have provisioned to the GoodData -platform. Organization can also contain white-labeling configuration -(your custom colors, logos, URLs etc.). Lifecycle management segments -and projects are always set up within an organization. - -Lifecycle segment represents a group of projects that contain the same -analytical objects. New versions of these objects can be distributed -from so called master template project to the segment’s projects. The -segment’s projects can also contain ad-hoc objects (e.g. reports or -metrics) that are not touched (not updated nor deleted) by the lifecycle -processes. Lifecycle segments are usually used to represent a different -tiers (e.g. bronze/silver/gold) tiers of an analytical solution. - -Master template is a project that contains the latest and greatest -versions of objects that are distributed to the segment’s projects. We -recommend to keep the master’s project immutable once it gets associated -with a segment. So a new master template project should be cloned from -the previous master and associated with the segment for each new version -of your solution. Lifecycle segment can be associated with just one -master at any given time. - -Client - is user-assigned ID of a segment’s project. The client ID is -associated with a GoodData generated project ID during segment -provisioning operation. The client ID is stable identification of -certain tenant’s project. It can be associated with different project -IDs during it’s lifecycle. - -Having defined some terminology we present code that will do several -things. - -- sets up a segment with master project (along with some data and - dashboard) - -- creates a client within a segment. The client is not yet associated - with a project at this time. - -- releases new master project - -- provisions new project for the client (this will ensure client’s - project has the same model, dashboard but no data ) - -- changes the dashboard in master - -- makes another release - -- synchronizes the clients with updated version - -- adds a client - -- provisions new project for the second client too - - -```ruby -require 'gooddata' - -TOKEN = 'token' -PASSWORD = 'pass' - -# Connect to GoodData a specific organization's (aka domain's) URL -client = GoodData.connect('mustang@gooddata.com', PASSWORD, server: 'https://mustangs.intgdc.com', verify_ssl: false ) -# Organization (aka domain) -domain = client.domain('mustangs') - -seq_number = 8 - -# Prepare master project -# ====================== - -# Create LDM blueprint -blueprint = GoodData::Model::ProjectBlueprint.build('HR Demo Project') do |p| - p.add_date_dimension('dataset.payment', title: 'Payment') - - p.add_dataset('dataset.department', title: 'Department', folder: 'Department & Employee') do |d| - d.add_anchor('attr.department.id', title: 'Department ID') - d.add_label('label.department.id', reference:'attr.department.id', title: 'Department ID') - d.add_label('label.department.name', reference: 'attr.department.id', title: 'Department Name') - d.add_attribute('attr.department.region', title: 'Department Region') - d.add_label('label.department.region', reference: 'attr.department.region', title: 'Department Region') - end - - p.add_dataset('dataset.employee', title: 'Employee', folder: 'Department & Employee') do |d| - d.add_anchor('attr.employee.id', title: 'Employee ID') - d.add_label('label.employee.id', title: 'Employee ID', reference:'attr.employee.id') - d.add_label('label.employee.fname', title: 'Employee Firstname', reference:'attr.employee.id') - d.add_label('label.employee.lname', title: 'Employee Lastname', reference:'attr.employee.id') - d.add_reference('dataset.department') - end - - p.add_dataset('dataset.salary', title: 'Salary') do |d| - d.add_anchor('attr.salary.id', title: 'Salary ID', folder: 'Salary') - d.add_label('label.salary.id', reference:'attr.salary.id', title: 'Salary ID', folder: 'Salary') - d.add_fact('fact.salary.amount', title: 'Amount', folder: 'Salary') - d.add_date('dataset.payment', format: 'yyyy-MM-dd') - d.add_reference('dataset.employee') - end -end - -# Create the master template project -project = client.create_project_from_blueprint(blueprint, auth_token: TOKEN) -puts "Created master template project #{project.pid}" - -# Load data -department_data = [ - ['label.department.id','label.department.name', 'label.department.region'], - ['d1','HQ General Management', 'North America'], - ['d2','HQ Information Systems', 'Europe'] -] -project.upload(department_data, blueprint, 'dataset.department') - -employee_data_with_dep = [ - ['label.employee.id','label.employee.fname','label.employee.lname','dataset.department', 'label.department.region'], - ['e1','Sheri','Nowmer','d1', 'North America'], - ['e2','Derrick','Whelply','d2', 'Europe'] -] -project.upload(employee_data_with_dep, blueprint, 'dataset.employee') - -salary_data = [ - ['label.salary.id','dataset.employee','fact.salary.amount','dataset.payment'], - ['s1','e1','10230','2006-01-01'], ['s2','e2','4810','2006-01-01'], ['s617','e1','10230','2006-02-01'], - ['s618','e2','4810','2006-02-01'], ['s1233','e1','10230','2006-03-01'], ['s1234','e2','4810','2006-03-01'], - ['s1849','e1','10230','2006-04-01'], ['s1850','e2','4810','2006-04-01'], ['s2465','e1','10230','2006-05-01'], - ['s2466','e2','4810','2006-05-01'], ['s3081','e1','10230','2006-06-01'], ['s3082','e2','4810','2006-06-01'], - ['s3697','e1','10230','2006-07-01'], ['s3698','e2','4810','2006-07-01'], ['s4313','e1','10230','2006-08-01'], - ['s4314','e2','4810','2006-08-01'], ['s4929','e1','10230','2006-09-01'], ['s4930','e2','4810','2006-09-01'], - ['s5545','e1','10230','2006-10-01'], ['s5546','e2','4810','2006-10-01'], ['s6161','e1','10230','2006-11-01'], - ['s6162','e2','4810','2006-11-01'], ['s6777','e1','10230','2006-12-01'], ['s6778','e2','4810','2006-12-01'], - ['s7393','e1','10440','2007-01-01'], ['s7394','e2','5020','2007-01-01'], ['s8548','e1','10440','2007-02-01'], - ['s8549','e2','5020','2007-02-01'], ['s9703','e1','10440','2007-03-01'], ['s9704','e2','5020','2007-03-01'], - ['s10858','e1','10440','2007-04-01'], ['s10859','e2','5020','2007-04-01'], ['s12013','e1','10440','2007-05-01'], - ['s12014','e2','5020','2007-05-01'], ['s13168','e1','10440','2007-06-01'], ['s13169','e2','5020','2007-06-01'], - ['s14323','e1','10440','2007-07-01'], ['s14324','e2','5020','2007-07-01'], ['s15478','e1','10440','2007-08-01'], - ['s15479','e2','5020','2007-08-01'], ['s16633','e1','10440','2007-09-01'], ['s16634','e2','5020','2007-09-01'], - ['s17788','e1','10440','2007-10-01'], ['s17789','e2','5020','2007-10-01'], ['s18943','e1','10440','2007-11-01'], - ['s18944','e2','5020','2007-11-01'], ['s20098','e1','10440','2007-12-01'], ['s20099','e2','5020','2007-12-01'] -] -project.upload(salary_data, blueprint, 'dataset.salary') - -# Create a report within the master template project -metric = project.facts('fact.salary.amount').create_metric -metric.save -report = project.create_report(title: 'My report', left: ['label.department.name'], top: [metric]) - -# Create a dashboard within the master template project -dashboard = project.create_dashboard(:title => 'Test Dashboard') -tab = dashboard.create_tab(:title => 'Tab Title #1') -tab.title = 'Test #42' -item = tab.add_report_item(:report => report, :position_x => 10, :position_y => 20) -item.position_x = 400 -item.position_y = 300 -dashboard.lock -dashboard.save - -# Create new lifecycle segment -# ============================ - -segment = domain.create_segment(segment_id: "segment_#{seq_number}", master_project: project) - -# Release the segment -# =================== -segment.synchronize_clients - - -# Create new client -# ================= -segment_client = segment.create_client(id: "client_#{seq_number}") - - -# Provision new project for the client -# ==================================== -domain.provision_client_projects - -# The new project contains all the objects from the master template -segment.clients.first.project.pid -# => aerkc6562oiauaof9mxtowcc4fl5vwb4 -segment.clients.first.project.metrics.count -# => 1 -segment.clients.first.project.dashboards.first.title -# => 'Test Dashboard' - -# The client project should not have any data from master -segment.master_project.metrics.first.execute -# => 0.366E6 -segment.clients.first.project.metrics.first.execute -# => nil - -# Update master and propagate changes -# =================================== - -# Now let's change something in our master. -# Let's change a title in master and transfer to the clients -dashboard.title = 'Better Test Dashboard' -dashboard.save - -# Release the segment and synchronize clients -segment.synchronize_clients - -# Check the results in the client's project -segment.clients.first.project.dashboards.first.title -# => "Better Test Dashboard" - -# Add additional clients -# ====================== -# -# This is it. Just for illustration let's create another client. This basically just means repeating the flow. -# We already have our master prepared so let's just create a new client. -another_segment_client = segment.create_client(id: "client_#{seq_number + 1}") - -# currently there should be only one project for the first client -segment.clients.map { |c| [c.id, c.project_uri]} -# => [["client_8", "/gdc/projects/aerkc6562oiauaof9mxtowcc4fl5vwb4"], ["client_9", nil]] - -# Let's provision project. This will provision it with project from last call of 'domain.synchronize_clients' -domain.provision_client_projects - -# Let's check we have a project -segment.clients.map { |c| [c.id, c.project_uri]} -# => [["client_8", "/gdc/projects/aerkc6562oiauaof9mxtowcc4fl5vwb4"], ["client_9", "/gdc/projects/yxpp45hf39bigezp3ug8pm6kc9h6tihv"]] - -# Let's also verify that we have a latest version. The new project should contain the updated version of the dashboard beacuse we've already released it via 'synchonize_clients' -segment.clients("client_#{seq_number + 1}").project.dashboards.first.title -# => "Better Test Dashboard" -``` - -Organizing Segments into Data Products ------- - -You can encapsule multiple segments into a data product for -better granularity. - -This solution is based on the terminology and examples presented in -chapter regarding [Segments](#01_wip_segments.asciidoc). - -This code will do several things: - -- sets up a segment in the legacy way, referencing no dataproduct - -- sets up another segment as a part of a dataproduct - -- shows that the segments are only included in the specific - dataproduct that was used to create them - -```ruby -# Create a data product -custom_data_product = domain.create_data_product(id: 'data-product') -# Create new lifecycle segment without referencing a data product -first_segment = domain.create_segment(segment_id: 'segment-1', master_project: project) -# the API defaults the data product to 'default', which should be present in all domains -# that means the above call is equal to -default_data_product = domain.data_products('default') -default_data_product.create_segment(segment_id: 'segment-1', master_project: project) -# Create another segment as a part of the data product -second_segment = custom_data_product.create_segment(segment_id: 'segment-2', master_project: project) -# the first_segment is then only present in the default_data_product -default_data_product.segments.find { |s| s.segment_id == first_segment.segment_id } -# => # -# and not present in the custom_data_product we created -custom_data_product.segments.find { |s| s.segment_id == first_segment.segment_id } -# => nil -``` diff --git a/docs/working_with_lifecycle/index.html b/docs/working_with_lifecycle/index.html new file mode 100644 index 0000000..f290b40 --- /dev/null +++ b/docs/working_with_lifecycle/index.html @@ -0,0 +1,303 @@ +Working with Lifecycle · Ruby SDK \ No newline at end of file diff --git a/docs/working_with_models.html b/docs/working_with_models.html new file mode 100644 index 0000000..4800ce7 --- /dev/null +++ b/docs/working_with_models.html @@ -0,0 +1,270 @@ +Model Setup · Ruby SDK \ No newline at end of file diff --git a/docs/working_with_models.md b/docs/working_with_models.md deleted file mode 100644 index e8df901..0000000 --- a/docs/working_with_models.md +++ /dev/null @@ -1,262 +0,0 @@ ---- -id: working_with_models -author: GoodData -sidebar_label: Model Setup -title: Model Setup ---- - -Changing Object’s Identifier ------- - -You can change the identifier on any object (e.g. dashboards, reports, -metrics, attributes, facts etc.). Many tools rely on specific LDM object -identifier’s naming convention. So changing the identifier may be very -handy for for enforcing the naming convention. For example when you move -an attribute from one dataset to another, you may want to change its -identifier. - -```ruby -# encoding: utf-8 - -require 'gooddata' - -GoodData.with_connection do |c| - GoodData.with_project('project_pid') do |project| - - # We find the attribute we want to change - # Lets list all attributes in the project - # and print its title and identifier - puts project.attributes.map {|a| [a.identifier, a.title]} - - # Let's pick one - # Here I just pick the first one - attribute = project.attributes.first - - # but you can also pick one by identifier. For example - # attribute = project.attributes('attr.salesmem.country') - # We have a look at the current value. - # Let's say it is 'attr.users.region' - puts attribute.identifier - - # We change the value - attribute.identifier = 'attr.salesmen.region' - attribute.save - - # If we refresh the value from server - # we get a new value 'attr.salesmen.region' - attribute.reload! - puts attribute.identifier - - end -end -``` - -Computing Dataset’s Number of Records ------- - -This is not so easy to do on UI. You basically have to find the -dataset’s connection point and then create a simple report with COUNT -metric. The SDK makes this a very simple task. - -```ruby -# encoding: utf-8 - -require 'gooddata' - -GoodData.with_connection do |c| - GoodData.with_project('project_pid') do |project| - blueprint = project.blueprint - blueprint.datasets.each do |dataset| - count = dataset.count(project) - puts "Number of record in a dataset #{dataset.title} is #{count}" - end - end -end -``` - -Enumerating Date Dimensions ------- - -You can find out how many date dimensions you have in a project. - -```ruby -# encoding: utf-8 - -require 'gooddata' - -GoodData.with_connection do |c| - GoodData.with_project('project_pid') do |project| - blueprint = project.blueprint - dds = blueprint.date_dimensions - puts "You have #{dds.count} date dimensions in your project" - end -end -``` - - -Removing Data ------- - -Sometimes you need to delete all data from a dataset. - -The SDK calls the MAQL SYNCHRONIZE command on the dataset - - SYNCHRONIZE {dataset.users}; - -for each dataset you would like to clear. You can achieve the same like -this: - -```ruby -# encoding: utf-8 - -require 'gooddata' - -GoodData.with_connection do |c| - GoodData.with_project('project_pid') do |project| - - # You can select the dataset in several ways - dataset = project.datasets.find {|d| d.title == 'Users'} - dataset = project.datasets('dataset.users') - dataset = project.datasets(345) - # dataset.synchronize works as well - dataset.delete_data - - end -end -``` - -Exploring Unknown Project ------- - -You just got invited to this project and just can’t reach the project’s -author. Can’t find any project’s documentation. The following code -snippet may be helpful in such situation - -You want to start with a quick introspection. How many datasets, how -much data is there how many processes etc. Doing this manually is fairly -time consuming. You have to find the primary attributes of each dataset -create a count metric and a lot of other stuff. This can be automated -and it is so useful we actually created a command that does just this. - -```ruby -GoodData.with_connection do |c| - GoodData.with_project('project_pid') do |project| - project.info - end -end -``` - -This might be the hypothetical output. For each dataset you have there -the size. Below is a breakdown of how many different types of objects -there are inside the dataset: - - GOODSALES - =============== - - Datasets - 28 - - stage_history - ============= - Size - 29103.0 rows - 1 attributes, 4 facts, 8 references - - opp_snapshot - ============ - Size - 2130074.0 rows - 1 attributes, 9 facts, 21 references - - . - . - . - . - - Opp_changes - =========== - Size - 472.0 rows - 2 attributes, 6 facts, 10 references - - Opportunity Benchmark - ===================== - Size - 487117.0 rows - 3 attributes, 2 facts, 2 references - -Substitute Date Dimension for Another One ------- - -You can substitute an existing date dimension in your project for -another date dimension. This is particularly handy when you are -consolidating date dimensions (perhaps you want to have only one date -dimension in your project) or replacing your standard date dimension -with a fiscal date dimension. - -The code snippet below substitutes all occurences of a date dimension -objects (attributes and labels) for another date dimension’s objects -(that must obviously exist in the project). The substitution is -performed in following objects: - -- Metrics - -- Report Definitions - -- Reports - -- Report Specific Metrics - -- Dashboards - -- Dashboard Saved Views - -- Mandatory User Filters aka Data Permissions - - -```ruby -# encoding: utf-8 - -require 'gooddata' - -GoodData.with_connection do |c| - GoodData.with_project('project_pid') do |project| - - opts = { - # You can specify name of new and old date dimension... - # :old => 'Close', - # :new => 'Completed', - - # Or explicitly specify mapping using identifiers... - :mapping => { - 'closedate.date' => 'abortdate.date', - 'closedate.day.in.euweek' => 'abortdate.day.in.week', - 'closedate.month' => 'abortdate.month', - 'closedate.month.in.year' => 'abortdate.month.in.year', - 'closedate.euweek.in.year' => 'abortdate.week.in.year', - 'closedate.euweek' => 'abortdate.week', - 'closedate.quarter' => 'abortdate.quarter', - 'closedate.day.in.month' => 'abortdate.day.in.month', - 'closedate.week.in.quarter' => 'abortdate.week.in.quarter', - 'closedate.quarter.in.year' => 'abortdate.quarter.in.year', - 'closedate.week' => 'abortdate.week', - 'closedate.day.in.year' => 'abortdate.day.in.year', - 'closedate.day.in.week' => 'abortdate.day.in.week', - 'closedate.week.in.year' => 'abortdate.week.in.year', - 'closedate.euweek.in.quarter' => 'abortdate.week.in.quarter', - 'closedate.day.in.quarter' => 'abortdate.day.in.quarter', - 'closedate.year' => 'closedate.year', - 'closedate.month.in.quarter' => 'abortdate.month.in.quarter' - }, - - :dry_run = false # Optional. Default 'false' - } - - project.replace_date_dimension(opts) - end -end -``` - -You need to specify complete mapping between the current and new date -dimensions attributes. This is straightforward in case when both date -dimensions have the same structure (see the commented out *:old* / -*:new* syntax). Full mapping is necessary when the date dimensions have -different structures. For example the *abortdate* date dimension in the -code above doesn’t have any *EU week* attributes. The existing -*closedate*'s *EU week* attributes are mapped to standard week -attributes of the *abortdate* dimension. diff --git a/docs/working_with_models/index.html b/docs/working_with_models/index.html new file mode 100644 index 0000000..4800ce7 --- /dev/null +++ b/docs/working_with_models/index.html @@ -0,0 +1,270 @@ +Model Setup · Ruby SDK \ No newline at end of file diff --git a/docs/working_with_permissions.html b/docs/working_with_permissions.html new file mode 100644 index 0000000..9132c52 --- /dev/null +++ b/docs/working_with_permissions.html @@ -0,0 +1,253 @@ +Setting Permissions · Ruby SDK \ No newline at end of file diff --git a/docs/working_with_permissions.md b/docs/working_with_permissions.md deleted file mode 100644 index 2304926..0000000 --- a/docs/working_with_permissions.md +++ /dev/null @@ -1,247 +0,0 @@ ---- -id: working_with_permissions -author: GoodData -sidebar_label: Setting Permissions -title: Setting Permissions ---- - -Setting Up Simple Data Permission -------- - -You can set a data permission (user filter or MUF filter) for -one or two users. - -SDK offers couple of convenience features for doing this. Let’s first -recap what we need to set up a data permission filter. We’ll be setting -a simple filter along these lines - - WHERE city IN (San Francisco, Prague, Amsterdam) - -- We need to know the label to filter. In our case this is the *city* - label - -- We need to know the label’s values. In our case these are (San - Francisco, Prague, Amsterdam) - -- We also need to know the user assigned with the filter. We’ll use - your account in the example (you may use any valid user). - -Although we present this as an executable script this is something that -is often done interactively. So do not fear to jack in to a project and -follow along. - -```ruby -# encoding: utf-8 - -require 'gooddata' - -GoodData.with_connection do |c| - GoodData.with_project('project_id') do |project| - # First let's grab an attribute - attribute = project.attributes('attr.region.city') - # to set up a value we need a specific label - # if the attribute has only one label, you can easily grab it by calling #primary_label - label = attribute.primary_label - # if a label has multiple labels, you can select the correct one like this - # label = attribute.label_by_name('City Name') - # Let's construct filters we are going to set up - # We will do it for two hypothetical users - filters = [ - ['john.doe@example.com', label.uri, 'San Francisco', 'Amsterdam'], - ['jane.doe@example.com', label.uri, 'San Francisco', 'Prague'] - ] - # Obvious question might be how do you know that the values are correct - # you can find out like this label.value?('Amsterdam') - # Let's now update the project - project.add_data_permissions(filters) - end -end -``` - -List Data Permissions -------- - -There is no UI that would provide a good overview and API is a little -crude but with help of SDK you can get around that. - - -```ruby -# encoding: utf-8 - -require 'gooddata' - -GoodData.with_connection do |c| - GoodData.with_project('project_id') do |project| - project.data_permissions.pmap {|f| [f.related.login, f.pretty_expression]} - end -end -``` - -Setting Data Permissions from CSV (column format) -------- - -You can also set data permissions for multiple users. Let's have a -CSV with two columns that associate user with a single data permission’s -value. We’ll use the same city example from the examples above. - -The SDK offers couple of convenience features for doing this. Let’s first -recap what we need to set up a filter. - -In this case we will be setting a simple data permission for the city -label in form of following filter - - WHERE city IN ('San Francisco', 'Prague', 'Amsterdam') - -- We need to know the label to filter. In our case this is the *city* - label - -- We need to know the label’s values. In our case these are (San - Francisco, Prague, Amsterdam) - -- We also need to know the user assigned with the filter. We’ll use - your account in the example (you may use any valid user). - -Let’s say we want to set up these specific values - - ['john.doe@example.com', 'San Francisco', 'Amsterdam'] - ['jane.doe@example.com', 'San Francisco', 'Prague'] - -We’ll capture these data permissions in the following CSV (data.csv) - - login,city - john.doe@example.com,San Francisco - john.doe@example.com,Amsterdam - jane.doe@example.com,San Francisco - jane.doe@example.com,Prague - -```ruby -# encoding: utf-8 - -require 'gooddata' - -GoodData.with_connection do |c| - GoodData.with_project('project_id') do |project| - # First let's grab an attribute - attribute = project.attributes('attr.region.city') - # to set up a value we need a specific label - # if the attribute has only one label, you can easily grab it by calling #primary_label - label = attribute.primary_label - # if a label has multiple labels, you can select the correct one like this - # label = attribute.label_by_name('City name') - filters = GoodData::UserFilterBuilder::get_filters('data.csv', { - :type => :filter, - :labels => [{:label => label, :column => 'city'}] - }) - project.add_data_permissions(filters) - end -end -``` - -Several things has to be true for this code to work correctly - -- All the users are members of the target project - -- All the label’s (city) values are present in the data loaded in the - project - -Setting Data Permissions from CSV (row format) -------- - -You can also set data permissions for multiple users. Let's have a -CSV with two columns that associate user with a single data permission’s -value. We’ll use the same city example from the examples above. - -The SDK offers couple of convenience features for doing this. Let’s first -recap what we need to set up a filter. - -In this case we will be setting a simple data permission for the city -label in form of following filter - - WHERE city IN ('San Francisco', 'Prague', 'Amsterdam') - -- We need to know the label to filter. In our case this is the *city* - label - -- We need to know the label’s values. In our case these are (San - Francisco, Prague, Amsterdam) - -- We also need to know the user assigned with the filter. We’ll use - your account in the example (you may use any valid user). - -Let’s say we want to set up these specific values - - ['john.doe@example.com', 'San Francisco', 'Amsterdam'] - ['jane.doe@example.com', 'San Francisco', 'Prague'] - -We’ll capture these data permissions in the following CSV (data.csv) - - john.doe@example.com,San Francisco,Amsterdam - jane.doe@example.com,San Francisco,Prague,Berlin - -Please note that the CSV format is different from the previous example. -There are no headers because the file can have a different number of -columns on each line. - -```ruby -# encoding: utf-8 - -require 'gooddata' - -GoodData.with_connection do |c| - GoodData.with_project('project_id') do |project| - # First let's grab an attribute - attribute = project.attributes('attr.region.city') - # to set up a value we need a specific label - # if the attribute has only one label, you can easily grab it by calling #primary_label - label = attribute.primary_label - # if a label has multiple labels, you can select the correct one like this - # label = attribute.label_by_name('City name') - filters = GoodData::UserFilterBuilder::get_filters('data.csv', { - :type => :filter, - :labels => [{:label => label}] - }) - project.add_data_permissions(filters) - end -end - ``` - -Several things has to be true for this code to work correctly - -- All the users are members of the target project - -- All the label’s (city) values are present in the data loaded in the - project - - -List Variable Values -------- - -If you have variables in your project, you can see the values in a readable fashion. - -The SDK tries to hide the differences from Data Permissions so this recipe -is analogy to [List Data Permissions](working_with_permissions.md#list-data-permissions) recipe. - -```ruby -# encoding: utf-8 - -require 'gooddata' - -# fill this in -VARIABLE_IDENTIFIER = 'variable_identifier' -PROJECT_ID = 'project_id' - -GoodData.with_connection do |c| - GoodData.with_project(PROJECT_ID) do |project| - var = project.variables(VARIABLE_IDENTIFIER) - var.values.pmap do |var| - owner = var.related.class == GoodData::Project ? "[PROJECT DEFAULT]" : var.related.login rescue nil - [owner, var.pretty_expression] - end - end -end -``` - -Unlike the Data Permissions, the Variables have a concept of default value for -the project. If a specific values is not provided for a user the project -default is used. You can noticed these users to have "TRUE" as a value. -The project value is marked as \[PROJECT DEFAULT\] in the output. diff --git a/docs/working_with_permissions/index.html b/docs/working_with_permissions/index.html new file mode 100644 index 0000000..9132c52 --- /dev/null +++ b/docs/working_with_permissions/index.html @@ -0,0 +1,253 @@ +Setting Permissions · Ruby SDK \ No newline at end of file diff --git a/docs/working_with_projects.html b/docs/working_with_projects.html new file mode 100644 index 0000000..915a8d0 --- /dev/null +++ b/docs/working_with_projects.html @@ -0,0 +1,360 @@ +Working with Projects · Ruby SDK \ No newline at end of file diff --git a/docs/working_with_projects.md b/docs/working_with_projects.md deleted file mode 100644 index fbc1fe9..0000000 --- a/docs/working_with_projects.md +++ /dev/null @@ -1,393 +0,0 @@ ---- -id: working_with_projects -author: GoodData -sidebar_label: Working with Projects -title: Working with Projects ---- - -Creating Empty Project -------- - -If you need to create a project programmatically: - - -```ruby -# encoding: utf-8 - -require 'gooddata' - -client = GoodData.connect -project = client.create_project(title: 'My project title', auth_token: 'PROJECT_CREATION_TOKEN') - -# after some time the project is created and you can start working with it -puts project.uri -puts project.title # => 'My project title' -``` - -Renaming Project -------- - -If you need to rename the project: - -```ruby -require 'gooddata' - -client = GoodData.connect -project = client.projects('project_id') -project.title = "New and much better title" -project.save -``` - -Cloning Project -------- - -You can create an exact copy of en existing project: - -```ruby -# encoding: utf-8 - -require 'gooddata' - -client = GoodData.connect -project = client.projects('project_pid') -cloned_project = project.clone(title: 'New title', - auth_token: 'token', - users: false, - data: true, - exclude_schedules: true, - cross_data_center_export: true) -``` - -There are four options that you can specify. You can pick if you want to -clone just metadata (e.g. attributes, facts, metrics reports, dashboards -etc.) or also data (this is default). Also you can choose if you want to -transfer all old project’s users to the new project. No users are -transferred by default. In the example above we explicitly specified the -*users* and *data* optional parameters so you can see how it works. -Setting the exclude\_schedules to true causes scheduled emails to be -omitted from the transfer. The cross\_data\_center\_export specifies -whether the export can be used in any data center. - - -Cloning Project across Organizations -------- - -Usually you would be happy using `project.clone` but sometimes you need -more granularity in controlling who is doing what. In this recipe we are -going to explain what is happening when you clone a project and how you -can leverage the lower level API. - -When the project clone is done SDK actually orchestrates couple of calls -together - -1. Exports a project, obtaining an export package token. The token is a - pointer to a package that is stored at GoodData premises. - -2. Creates an empty project - -3. Imports the package (from step 1) into a freshly created project - from step 2 - -All these 3 calls are asynchronous by default. SDK makes sure that -things happen in the correct order and exposes it as synchronous -operation. - -Sometimes more granular things are need for example when you need to -clone a project to different organization. This means that clone would -not work since you cannot have one user in 2 organizations. We decided -to expose the methods to allow you doing the three steps above so anyone -can mix and match. - - -```ruby -# encoding: utf-8 - -require 'gooddata' - -user_from_login = 'john@example.com' -user_to_login = 'jane@example.com' - -client_from = GoodData.connect(user_from_login, 'password', server: 'https://customer_1_domain.gooddata.com') -client_to = GoodData.connect(user_to_login, 'password', server: 'https://customer_2_domain.gooddata.com') - -from_project = client_from.projects('project_pid_1') -to_project = client_to.create_project(:title => "project_title", :auth_token => "TOKEN") - -export_token = from_project.export_clone(authorized_users: [user_to_login], - data: true, - exclude_schedules: true, - cross_data_center_export: true) -to_project.import_clone(export_token) -``` - -The options for `Project#export_clone` are the same as for -`Project#clone` with a couple additions. You can specify which users -will be able to import the package using the `authorized_users` option. -If you want to use the export in another data-center, set -`cross_data_center_export` to true. - -You can also leverage this more granular interface when you need to -clone one project to multiple target projects. - -Creating Empty Project using specific environment -------- - -You can create a project programmatically using specific environment. The TESTING -projects are not backed up and may be discarded during a platform maintenance. - -- PRODUCTION *(DEFAULT)* - -- DEVELOPMENT - -- TESTING - -Note that the environment names are case sensitive. - -```ruby -# encoding: utf-8 - -require 'gooddata' - -client = GoodData.connect -project = client.create_project(title: 'My project title', auth_token: 'PROJECT_CREATION_TOKEN', :environment => 'TESTING') - -# after some time the project is created and you can start working with it -puts project.uri -puts project.environment # => 'TESTING' -``` - -Creating Project from Template -------- - -You have a template created for you and you would like to spin a project -from this template. - -```ruby -# encoding: utf-8 - -require 'gooddata' - -client = GoodData.connect -project = client.create_project(title: 'New project', - template: '/projectTemplates/SuperSoda/1/', - auth_token: 'token') -``` - -Note that people behind SDK do not endorse usage of templates so -consider it being here for legacy purposes. - -Migrating objects between projects -------- - -If you have metadata objects (reports/metrics/dashboards) you can transfer them between projects: - -```ruby -# encoding: UTF-8 - -require 'gooddata' - -GoodData.with_connection do |c| - target_project = c.projects('target_project_id') - - # Lets log into project you would like to transfer from - GoodData.with_project('master_project_id') do |master_project| - # find objects you would like to transfer - # here we transfer all reports containing word "sales" in the title - reports = master_project.reports.select { |r| r.title =~ /sales/ } - begin - master_project.transfer_objects(reports, project: target_project) - rescue ObjectsMigrationError - puts 'Object transfer failed' - end - end -end -``` - -Occasionally you need to transfer objects to multiple projects. To make it easier SDK provides a convenient method for this. - -```ruby -# encoding: UTF-8 - -require 'gooddata' - -GoodData.with_connection do |c| - target_project_1 = c.projects('target_project_id_1') - target_project_2 = c.projects('target_project_id_2') - - # Lets log into project you would like to transfer from - GoodData.with_project('master_project_id') do |master_project| - # find objects you would like to transfer - # here we transfer all reports containing word "sales" in the title - reports = master_project.reports.select { |r| r.title =~ /sales/ } - result = master_project.transfer_objects(reports, project: [target_project_1, target_project_2]) - - # If you provided an array of projects the method will not throw an exception on failed - # imports. It returns an array of results an you have to investigate to know what is up. - # The shape of results is in shape - # { - # project: target_project, - # result: true - # } - puts "#{result.select {|r| r[:result] }.count} projects succeeded" - puts "#{result.reject {|r| r[:result] }.count} projects failed" - end -end -``` - -Objects import happen in two stages. First you export objects with an API call. This creates a package on our platform and provides you with a token. You can then use the token to initiate the import. In most cases you do not care about these details and 2 methods above are all what you need. In some cases though you want the low level control. Here is a quick example how to use those lower level methods. - - -```ruby -# encoding: UTF-8 - -require 'gooddata' - -GoodData.with_connection do |c| - target_project = c.projects('target_project_id') - - # Lets log into project you would like to transfer from - GoodData.with_project('master_project_id') do |master_project| - # find objects you would like to transfer - # here we transfer all reports containing word "sales" in the title - reports = master_project.reports.select { |r| r.title =~ /sales/ } - begin - token = master_project.objects_export(reports) - rescue ObjectsExportError - puts "Export failed" - end - begin - target_project.objects_import(token) - rescue ObjectsImportError - puts "Import failed" - end - end -end -``` - -Deleting a Project -------- - -You can delete a project programmatically: - -```ruby -# encoding: utf-8 - -require 'gooddata' - -GoodData.with_connection do |c| - GoodData.with_project('project_pid') do |project| - project.delete - end -end -``` - -Listing Roles -------- - -You can list the roles you have available in your project: - -```ruby -# encoding: utf-8 - -require 'gooddata' - -GoodData.with_connection do |c| - GoodData.with_project('project_pid') do |project| - # Usually what is useful is to see the titles - pp project.roles.map(&:title) - # But occassionally you need identifiers and urls as well - pp project.roles.map(&:identifier) - pp project.roles.map(&:uri) - end -end -``` - -Setting and Updating Project Metadata Storage -------- - -You can use project metadata storage to store some additional information. - -Each project has a small API that allows to set some values in a simple -key value manner. This is usually used for storing some information that -do not fit into the data. - - -```ruby -require 'gooddata' - -client = GoodData.connect -project = client.projects('project_id') - -# You can set some metadata -p.set_metadata('key', 'value') - -# You can access the project metadata in two ways -# -# First is to get specific key directly -p.metadata('key') -# => 'value -# In case you try to access a nonexisting key you will get 404 - -# Second is to access all metadata. This will return them as a Hash which you can access as usual -m = p.metadata -# => {"key"=>"value"} -m['key'] -# => "value" -``` - -Create custom color palette -------- - -You can create a set of color palette to decorate your reports. - -Create custom color palette with your color definitions. You can reset -your project to use the default color palette if needed. - - -```ruby -# encoding: utf-8 - -require 'gooddata' - -GoodData.with_connection do |client| - GoodData.with_project('project_id') do |project| - colors = [ - { r: 25, g: 36, b: 48 }, - { r: 33, g: 36, b: 64 }, - { r: 42, g: 61, b: 81 } - ] - - project.create_custom_color_palette(colors) - - # get the current color palette - current_color_palette = project.current_color_palette.colors - - project.reset_color_palette - end -end -``` - -Looking up Metadata Objects -------- - -If you need to retrieve metadata objects (e.g. metrics, facts, -labels) by numeric ID, string identifier or URI, use `GoodData::MdObject#[]` to -look up your metadata objects. This method is aliased `#get_by_id`. - -```ruby -options = { project: project, client: client } -id = metric.obj_id -# => "2258" -GoodData::MdObject[id, options].class -# => GoodData::Metric - -identifier = metric.identifier -# => "metric.total.claim.amount" -GoodData::MdObject[identifier, options].class -# => GoodData::Metric - -uri = metric.uri -# => "/gdc/md/zlf5mgyd1txaztohukv8xwv1jjm28zvg/obj/2258" -GoodData::MdObject[uri, options].class -# => GoodData::Metric -``` diff --git a/docs/working_with_projects/index.html b/docs/working_with_projects/index.html new file mode 100644 index 0000000..915a8d0 --- /dev/null +++ b/docs/working_with_projects/index.html @@ -0,0 +1,360 @@ +Working with Projects · Ruby SDK \ No newline at end of file diff --git a/docs/working_with_reports.html b/docs/working_with_reports.html new file mode 100644 index 0000000..f06d14e --- /dev/null +++ b/docs/working_with_reports.html @@ -0,0 +1,438 @@ +Working with Reports · Ruby SDK \ No newline at end of file diff --git a/docs/working_with_reports.md b/docs/working_with_reports.md deleted file mode 100644 index 349912f..0000000 --- a/docs/working_with_reports.md +++ /dev/null @@ -1,472 +0,0 @@ ---- -id: working_with_reports -author: GoodData -sidebar_label: Working with Reports -title: Working with Reports ---- - -Computing Report ------- - -You can execute an existing report programmatically. - -```ruby -# encoding: utf-8 - -require 'gooddata' - -GoodData.with_connection do |c| - GoodData.with_project('project_id') do |project| - puts project.reports(1234).execute - end -end -``` - -Comparing Reports across Projects ------- - -You created a new version of a project. You made some changes to the -reports and you would like to verify that the report is still computing -the same numbers. - -```ruby -# encoding: utf-8 - -require 'gooddata' - -GoodData.with_connection do |c| - original_project = c.projects('project_id_1') - new_project = c.projects('project_id_2') - - # We assume that reports have unique name inside a project - orig_reports = GoodData::Report.find_by_tag('to_check', client: c, project: original_project).sort_by(&:title) - new_reports = GoodData::Report.find_by_tag('to_check', client: c, project: new_project).sort_by(&:title) - - results = orig_reports.zip(new_reports).pmap do |reports| - # compute both reports and add the report at the end for being able to print a report later - reports.map(&:execute) + [reports.last] - end - - results.map do |res| - orig_result, new_result, new_report = res - puts "#{new_report.title}, #{orig_result == new_result}" - end -end -``` - -If there is more reports this can obviously take a lot of time so it -would be nice if you could do computation or reports in parallel and not -sequentially. Imagine we have a list of reports that should be checked -tagged by tag `to_check`. Let’s rewrite previous code snippet to be -parallel friendly. - -```ruby -# encoding: utf-8 - -require 'gooddata' - -GoodData.with_connection do |c| - original_project = c.projects('project_id_1') - new_project = c.projects('project_id_2') - - # We assume that reports have unique name inside a project - orig_reports = GoodData::Report.find_by_tag('to_check', client: c, project: original_project).sort_by(&:title) - new_reports = GoodData::Report.find_by_tag('to_check', client: c, project: new_project).sort_by(&:title) - - results = orig_reports.zip(new_reports).pmap do |reports| - # compute both reports and add the report at the end for being able to print a report later - reports.map(&:execute) + [reports.last] - end - - results.map do |res| - orig_result, new_result, new_report = res - puts "#{new_report.title}, #{orig_result == new_result}" - end -end -``` - -Updating report definition ------- - -You can update report definition in your report in an easy way. -You can also modify multiple reports in one or more projects. - -Use the Report\#update\_definition with block argument in following way. - - -```ruby -require 'gooddata' -require 'pp' - -PID = 'rq3enqarynvkt7q11u0stev65qdwpow8' -REPORT = '/gdc/md/rq3enqarynvkt7q11u0stev65qdwpow8/obj/1323' - -GoodData.with_connection do |c| - GoodData.with_project(PID) do |project| - report = project.reports(REPORT) - - new_def = report.update_definition do |rdef| - rdef.title = "Test TITLE: #{DateTime.now.strftime}" - end - - pp new_def - end -end -``` - -Specify :new\_definition ⇒ false if you do want to update the latest -report definition instead of creating new one. New definition flag is -true by default. - -```ruby -require 'gooddata' -require 'pp' - -PID = 'rq3enqarynvkt7q11u0stev65qdwpow8' -REPORT = '/gdc/md/rq3enqarynvkt7q11u0stev65qdwpow8/obj/1323' - -GoodData.with_connection do |c| - GoodData.with_project(PID) do |project| - report = project.reports(REPORT) - - new_def = report.update_definition(:new_definition => false) do |rdef| - rdef.title = "Test TITLE: #{DateTime.now.strftime}" - end - - pp new_def - end -end -``` - -Creating Report that Counts Records in All Datasets ------- - -Occasionally you need to know how many rows there are in each dataset. - -This is surprisingly difficult to do in GoodData UI but it is simple -with the SDK. Here we are going to create the necessary metrics on the fly -through inspection of a blueprint. Then we will create a report that -will contain those metrics and compute it. - -```ruby -# encoding: utf-8 - -require 'gooddata' - -GoodData.with_connection do |c| - GoodData.with_project('project_id') do |project| - blueprint = project.blueprint - - # let's grab anchor on each dataset. Anchor is a special attribute on each dataset - # this attribute defines the grain of the dataset if we "count" it we will get the number of lines - # in the dataset - anchors = blueprint.datasets.map(&:anchor) - - # As is explained in Blueprint section. Objects in blueprint are project agnostic. - # Let's find corresponding attribute object in specific project - attributes = anchors.pmap { |anchor| anchor.in_project(project) } - - # Lets create a report on the fly that is going to have the metrics in the rows - # Take note that this is a real report on the platform that could be saved and alter reused - puts project.compute_report(left: attributes.map(&:create_metric)) - - # This might result into something like this - # - # [ | Values ] - # [count of Records of timeline | 0.7306E4 ] - # [count of Activity | 0.61496E6 ] - # [count of Opportunity | 0.85171E6 ] - # [count of Product | 0.5E1 ] - end -end -``` - -Resetting Report Color Map ------- - -You can remove a color mapping out of a report. - - -```ruby -# encoding: utf-8 - -GoodData.with_connection do |client| - GoodData.with_project('project_id') do |project| - ids = [report_id_1, report_id_2, report_id_3] - ids.each do |id| - r = project.reports(id) - d = r.latest_report_definition - d.reset_color_mapping! - d.save - end - end -end -``` - -Computing Ad Hoc Report ------- - -You can also make some ad hoc computation. - -We are using the recipe [Working with HR Demo project](advanced_blueprint_examples.md#hr-demo-project) here so -spin it up if you want to follow the code. - - -```ruby -# encoding: utf-8 - -require 'gooddata' - -GoodData.with_connection do |c| - GoodData.with_project('project_id') do |project| - - # first let's create a metric and give it a reasonable identifier so we can read the examples - m = project.facts('fact.salary.amount').create_metric - m.identifier = "metrics.my_metric" - m.save - - # metric can be referenced directly - project.compute_report(left: ['metrics.my_metric'], - top: ['label.department.region']) - - # or you can pass by reference if you already hold it - m1 = project.metrics('metrics.my_metric') - project.compute_report(left: [m1], - top: ['label.department.region']) - - # report can take attributes and in that case it will use the default label - project.compute_report(left: [m1], - top: ['attr.department.region', 'dataset.payment.quarter.in.year']) - - # for readability you might shuffle those labels to different section of report - project.compute_report(left: [m1, 'dataset.payment.quarter.in.year'], - top: ['attr.department.region']) - - - # there can be more than 1 metric in the group and the metric even does not have to be saved (if it is not it will be saved for you and removed after the computation) - m2 = project.attributes('attr.salary.id').create_metric - result = project.compute_report(left: [m1, m2], - top: ['attr.department.region']) - # you can print out the results into console - puts result - end -end -``` - -Working with report results ------- - -You have computed a report now you would like to get dirty with the data: - - -```ruby -# encoding: utf-8 - -require 'gooddata' - -GoodData.with_connection do |c| - GoodData.with_project('project_id') do |project| - - # first let's create a metric and give it a reasonable identifier so we can read the examples - m1 = project.facts('fact.salary.amount').create_metric - result = project.compute_report(left: [m1, 'dataset.payment.quarter.in.year'], - top: ['attr.department.region']) - - # You can print the result - puts result - # [ | | Europe | North America] - # [Q1 | sum of Amount | 29490 | 62010 ] - # [Q2 | sum of Amount | 29490 | 62010 ] - # [Q3 | sum of Amount | 29490 | 62010 ] - # [Q4 | sum of Amount | 29490 | 62010 ] - - # You can get size of report - result.size # => [5, 4] - - # this gives you the overall size but you probably want to also know the - # size of the data portion - result.data_size # => [4, 2] - - # you can learn if it is empty which comes handy for reports without data - result.empty? # => false - - # You can access data as you would with matrix - result[0][3] # => "North America" - result[2] # ["Q2", "sum of Amount", "29490", "62010"] - - # You can ask questions about contents - result.include_row? ["Q4", "sum of Amount", "29490", "62010"] # => true - result.include_column? ["Europe", "29490", "29490", "29490", "29490"] # => false - - # this is fine but there is a lot fo clutter caused byt the headers. The library provides you with methods to get only slice of the result and creates a new result - # Let's say I would like to get just data - puts result.slice(1, 2) - # [29490 | 62010] - # [29490 | 62010] - # [29490 | 62010] - # [29490 | 62010] - - # This is a worker method that is used to implement several helpers - # Previous example is equivalent with this - puts result.data - - puts result.without_top_headers - # [Q1 | sum of Amount | 29490 | 62010] - # [Q2 | sum of Amount | 29490 | 62010] - # [Q3 | sum of Amount | 29490 | 62010] - # [Q4 | sum of Amount | 29490 | 62010] - - puts result.without_left_headers - # [Europe | North America] - # [29490 | 62010 ] - # [29490 | 62010 ] - # [29490 | 62010 ] - # [29490 | 62010 ] - - # All of those are again results so everything above works as expected - result.data.include_row? ["29490", "62010"] # => true - - # There are several other methods that might make your life easier. Consider the following - result.diff result.without_top_headers - # { - # :added => [], - # :removed => [[nil, nil, "Europe", "North America"]], - # :same => [["Q1", "sum of Amount", "29490", "62010"], - # ["Q2", "sum of Amount", "29490", "62010"], - # ["Q3", "sum of Amount", "29490", "62010"], - # ["Q4", "sum of Amount", "29490", "62010"]] - # } - - end -end -``` - -Exporting report results ------- - -You can export the report from GoodData into one of the -typical formats for further processing or presentation. - -```ruby -# encoding: utf-8 - -require 'gooddata' - -GoodData.with_connection do |c| - GoodData.with_project('project_id') do |project| - result = project.reports('report_identifier').export(:csv) - puts result - end -end -``` - -There are more formats supported and either of -`:csv, :xls, :xlsx or :pdf` should work as an argument. - -The export returns the actual data so if you would like to have them -stored into a file the responsibility is on you. - -```ruby -# encoding: utf-8 - -require 'gooddata' - -GoodData.with_connection do |c| - GoodData.with_project('project_id') do |project| - report = project.reports('report_identifier') - File.open('export.csv', 'wb') { |f| f.write(report.export(:csv)) } - end -end -``` - -Exporting raw reports results ------- - -You can export a report to the file in the raw form. -This is useful for situations when the report is too big and the UI is unable to compute it. -```ruby -# encoding: utf-8 - -require 'gooddata' - -GoodData.with_connection do |c| - GoodData.with_project('project_id') do |project| - project.reports('report_identifier').export_raw('raw_export.csv') - end -end -``` - - -Removing old versions from report ------- - -Occasionally you would like to clean up your project. The simplest way -to do it is to get rid of the old version of reports. - -```ruby -# encoding: utf-8 - -require 'gooddata' - -GoodData.with_connection do |c| - GoodData.with_project('project_id') do |project| - project.reports.peach do |report| - r.report.purge_report_of_unused_definitions! - end - end -end -``` - -Computing/creating reports with filters ------- - -While SDK does not provide full support for all types of filters. There -are couple of useful wrappers that make it easier. If you need something -special you can always go to the raw APIs. Currently there are two types -of filters supported directly. - -The general shape of the solution looks like this. For project computation -on the fly (no report is saved): - -```ruby -project.compute_report(:left => project.metrics.first, :filters => []) -``` - -or like this: - -```ruby -project.create_report(title: 'best report ever with filter', - left: project.metrics.first, - filters: []) -``` - -You can also create a persisted report. Variable filter is very simple, you -just provide the variable into the filter: - -```ruby -var = project.variables('my_variable_identifier') -puts project.compute_report(left: project.metrics.first, - filters: [var]) -``` - -Attribute name filter is probably the most commonly used filter type and it filters -certain attribute on certain values. Imagine "WHERE City IN \[San -Francisco, Prague\]". You can set it up easily like this. - -```ruby -label = project.labels('label.regions.city.name') -puts project.compute_report(left: project.metrics.first, - filters: [[label, 'San Francisco', 'Prague']]) - -# You can also use a variation of NOT equal - -label = project.labels('label.regions.city.name') -puts project.compute_report(left: project.metrics.first, - filters: [[label, :not, 'San Francisco', 'Prague']]) - -``` - -Testing Reports ------- - -We used testing reports as en example in the basic chapter [Logging and Testing](logging.md#testing). \ No newline at end of file diff --git a/docs/working_with_reports/index.html b/docs/working_with_reports/index.html new file mode 100644 index 0000000..f06d14e --- /dev/null +++ b/docs/working_with_reports/index.html @@ -0,0 +1,438 @@ +Working with Reports · Ruby SDK \ No newline at end of file diff --git a/docs/working_with_users.html b/docs/working_with_users.html new file mode 100644 index 0000000..a87003a --- /dev/null +++ b/docs/working_with_users.html @@ -0,0 +1,438 @@ +Working with Users · Ruby SDK \ No newline at end of file diff --git a/docs/working_with_users.md b/docs/working_with_users.md deleted file mode 100644 index 95bad9c..0000000 --- a/docs/working_with_users.md +++ /dev/null @@ -1,497 +0,0 @@ ---- -id: working_with_users -author: GoodData -sidebar_label: Working with Users -title: Working with Users ---- - -You have to have a user who is an admin of an organization. If you don’t -have the organization admin account, please contact your primary -GoodData contact person or GoodData support (e-mail -). - -Listing Project’s Users -------- - -You can list users in a given project: - -```ruby -# encoding: utf-8 - -require 'gooddata' - -GoodData.with_connection('user', 'password') do |client| - GoodData.with_project('project_pid') do |project| - pp project.users - # You might want to see just name and login - pp project.users.map {|u| [u.login, u.name]} - end -end -``` - -Checking User Membership in Project -------- - -You can check whether a user is part of a project. - -```ruby -# encoding: utf-8 - -require 'gooddata' - -GoodData.with_connection('user', 'password') do |client| - GoodData.with_project('project_pid') do |project| - project.member?('jane.doe@example.com') - end -end -``` - -You can ask on membership not just by login but also check an object. -This might be useful especially if you check a user from several -projects. - -Enabling and Disabling Users -------- - -You can enable or disable a particular user in a GoodData project. - -```ruby -# encoding: utf-8 - -require 'gooddata' - -# Connect to platform using credentials -GoodData.with_connection do |c| - GoodData.with_project('project_pid') do |project| - keepers = ['john@example.com', c.user.login] - # We collect all users and remove those from the keepers array - users_to_disable = project.users.reject { |u| keepers.include?(u.login) } - # disable all users - users_to_disable.pmap { |u| u.disable } - end -end -``` - -Disable all users in GoodData project - -```ruby -# We collect all users minus current user -# so we do not disable ourselves from the project -users_to_disable = project.users.reject { |u| u.login == c.user.login } -# disable all users -users_to_disable.pmap {|u| u.disable} -``` - -If you want to keep more than one user you can do something like this - -```ruby -# We collect all users and remove those from the keepers array -users_to_disable = project.users.reject { |u| keepers.include?(u.login) } -# disable all users -users_to_disable.pmap { |u| u.disable } -``` - -As you can see from the above examples possibilities are endless and you -can easily enable or disable users just by correctly prepare the array -of users to work with by using regular methods on arrays. - - -Invite Users from CSV -------- - -If you have a CSV file containing users, their roles and passwords, you can create them in a bulk. - -```ruby -# encoding: UTF-8 - -require 'gooddata' - -# Project ID -PROJECT_ID = 'we1vvh4il93r0927r809i3agif50d7iz' - -GoodData.with_connection do |c| - GoodData.with_project(PROJECT_ID) do |project| - path = File.join(File.dirname(__FILE__), '..', 'data', 'users.csv') - puts "Loading #{path}" - CSV.foreach(path, :headers => true, :return_headers => false) do |user| - email = user[0] - role = user[1] - project.invite(email, role) - end - end -end -``` - -Inviting Users to Project -------- - -You can invite a user into project. - -```ruby -# encoding: utf-8 - -require 'gooddata' - -client = GoodData.connect -project = client.projects('project_pid') - -project.invite('joe@example.com', 'admin', 'Hey Joe, look at this.') -``` - -Invitation can be sent by any administrator. Invited user receives -invitation e-mail with invitation confirmation. If you want to add user -into a project without the e-mail and confirmation, please consult the -recipe Adding users to Project. - -Listing Organization’s Users -------- - -You can list all users in an organization. - -```ruby -# encoding: utf-8 - -require 'gooddata' - -# Connect to platform using credentials -client = GoodData.connect - -domain = client.domain('domain_name') -users = domain.users -pp users -``` - -Adding User to Organization -------- - -You can add a user to organization programmatically. - -```ruby -# encoding: utf-8 - -require 'gooddata' - -client = GoodData.connect - -# Get your domain .. -domain = client.domain('domain_name') - -# Generate random password -pass = (0...10).map { ('a'..'z').to_a[rand(26)] }.join - -new_user = domain.add_user( - :login => 'new.user@gooddata.com', - :password => pass, - :first_name => 'First', - :last_name => 'Last', - :email => 'test@gooddata.com', - :sso_provider => 'some_sso' -) - -pp new_user -``` - -Adding Multiple Users to Organization from CSV -------- - -If you have a CSV file containing information about users, you can add them to organization all at once. - -We assume that you have a file with details ready. The file can look for -example like this: - - login,first_name,last_name,password - john@example.com,John,Doe,12345678 - -The headers we used are defaults. If you have different ones you will -have to do some mangling. Minimal information that you have to provide -for the user creation to be successful is login. - -First let’s have a look how to implement an addition with having the -file as in the example above. This has the advantage that you do not -have to mangle with the headers. - -```ruby -# encoding: utf-8 - -require 'gooddata' -require 'active_support/all' - -client = GoodData.connect - -domain = client.domain('domain-name') -users = [] -CSV.foreach('data.csv', :headers => true, :return_headers => false) do |row| - users << row.to_hash.symbolize_keys -end - -domain.create_users(users) -``` - -Sometimes though what you have is that the file that comes from the system has different headers than would be ideal. One possible thing you can do is to transform it in a separate ETL process or you can change the code slightly to compensate. In the next code snippet we will show you how to do just that. - -Imagine you have a file like this - - UserLogin,FirstName,LastName,UserPassword - john@example.com,John,Doe,12345678 - -Notice that it is exactly the same information as before. The only -difference is that you have different headers. - -This is the code add those users to a domain. - -```ruby -# encoding: utf-8 - -require 'gooddata' - -client = GoodData.connect - -headers = ["UserLogin", "FirstName", "LastName", "UserPassword"] -new_headers = [:login, :first_name, :last_name, :password] - -domain = client.domain('domain-name') -users = [] -CSV.foreach('data.csv', :headers => true, :return_headers => false) do |row| - new_data = new_headers.zip(row.to_hash.values_at(*headers)) - users << Hash[new_data] -end - -domain.create_users(users) -``` - -Notice that the bulk of the code is the same. The only differences are -that we defined `headers` which contain the values of the headers in the -CSV file provided. Variable `new_headers` provide the corresponding -values for those headers that the SDK expects. Take not that the -position is important and the headers for corresponding columns has to -be in the same order in both variables. - -The most important line in the code is this - -```ruby -new_headers.zip(row.to_hash.values_at(*headers)) -``` - -What it does is it exchanges the keys from `headers` to those defined in -`new_headers`. This code does not return a Hash but array of key value -pairs. This can be turned into a hash with this - -```ruby -Hash[*new_data] -``` - -The rest of the code is the same as in previous example. - -Adding User from Organization to Project -------- - -You can take users in organization (domain) and add them into a project. - -```ruby -require 'gooddata' - -GoodData.with_connection do |client| - # Get your domain .. - domain = client.domain('domain_name') - GoodData.with_project('project_id') do |project| - # Let's get all users except of ourselves - users_to_add = domain.users.reject { |u| u.login == client.user.login } - # Let's add all as viewer - users_to_add.each { |u| project.add_user(u, 'Viewer', domain: domain) } - end -end -``` - -Adding Users from Organization to Multiple Projects -------- - -You already have all the user profiles created in your organization (domain). If you -have many projects, youcan add those users to them at once. - -We assume that you have a file with details which users should be added -to a project. The file has to contain three pieces of information. Who -you would like to add to a project, role that the user should take on in -that project and which project he should be added to. The headers we -used are defaults. If you have different ones you will have to do some -mangling. Example of how to do that can be found in recipe -adding\_users\_to\_domain. - -Sometimes the case might be that you would like to add users to a slew -of projects in one go. Let’s illustrate this on one example. Let’s -imagine that you have a file like this - - pid,login,role - asl50ejow6bzp97i9pxlbcm3vkuvzQ72,john@example.com,admin - - -```ruby -# encoding: utf-8 - -require 'gooddata' -require 'active_support/all' - -GoodData.with_connection('user', 'password') do |client| - domain = client.domain('domain-name') - users = [] - CSV.foreach('data.csv', :headers => true, :return_headers => false) do |row| - users << row.to_hash.symbolize_keys.slice(:pid, :login, :role) - end - users.group_by {|u| u[:pid]}.map do |project_id, users| - GoodData.with_project(project_id) do |project| - project.import_users(users, domain: domain, whitelists: ["svarovsky@gooddata.com"]) - end - end -end -``` - -This reads the users, groups them according to a project and then adds -them to the project. It reads all the users into memory. This should be -OK for typical situations of thousands users. Note that we are not -getting a project dynamically for each group of users. All the notes for -whitelist apply as well. - -Adding User to Both Organization and Project from CSV -------- - -You can add users from CSV file to a project and domain in one -go. Best practice with automated projects is to add users to domain -(organization) and then to add users from that domain to specific -project(s). This allows you to bypass the invitation process and you can -manipulate users without their consent which is usually what you want in -those cases. Sometimes it could be useful to do this in one go. This is -especially true if you have only one project and one organization. - -We assume that you have a file with details handy. The file can look for -example like this - - login,first_name,last_name,password,role - john@example.com,John,Smith,12345678,admin - john.doe@example.com,John,Doe,87616393,admin - -The headers we used are defaults. If you have different ones you will -have to do some mangling (see the recipe Adding user to organization -from CSV file above). Minimal information that you have to provide for -the user creation to be successful is login. - -The SDK has a method import\_users that takes care of all the details and -does exactly what is described above. Adds users to domain and then -project. - -- Process of adding users is not additive but declarative. What you - provide on the input is what SDK will strive to have in the project - at the end. This has some constraints on data preparation but it is - much more resilient approach. - -- Connected to previous point sometimes you have users that you do not - want to be touched by this process. ETL developers, admins etc that - usually do not come from data. You can provide list of whitelist - expressions as either string or regular expressions. What this means - is the user that would be added or removed based on the data will be - ignored by the process. In our example we want to omit user under - which you are logged in. - -- Be careful that you do not lock yourself (ETL administrator) out of - the project. Be sure to add the user to the whitelist if they are - not intrinsically in the data. - -- Note that above data will not work. Currently there is a constraint - that each user has to have unique login across all users in - GoodData. It is likely that there already is a `john@example.com` - somewhere so change the test data accordingly. - - -```ruby -# encoding: utf-8 - -require 'gooddata' -require 'active_support/all' - -GoodData.with_connection('user', 'password') do |client| - GoodData.with_project('project_pid') do |project| - users = [] - CSV.foreach('data.csv', :headers => true, :return_headers => false) do |row| - users << row.to_hash.symbolize_keys - end - domain = client.domain('domain-name') - domain.create_users(users) - project.import_users(users, domain: domain) - end -end - -``` - -Updating a User in Organization -------- - -Some of the users in your organization might have incorrect or -outdated information and need update. - -Here we are updating an sso provider but you can update almost any -property of a user. - -```ruby -# encoding: utf-8 - -require 'gooddata' - -client = GoodData.connect -domain = client.domain 'organization_name' -u = domain.find_user_by_login('john@gooddata.com') -u.sso_provider = 'a_provider' -domain.update_user(u) -``` - -Creating Groups -------- - -There is a concept of group in GoodData. Member of a group can be either -another group or directly a user. Here we are going to create a group -and assign it some users. - -```ruby -# encoding: utf-8 - -require 'gooddata' - -GoodData.with_connection do |client| - client.with_project('project') do |p| - group_1 = p.add_user_group(name: 'east') - group_1.add_members(p.member('john.doe@gooddata.com')) - pp group_1.members.map(&:uri) - # ['/gdc/account/profile/4e1e8cacc4989228e0ae531b30853248'] - - group_1.member?('/gdc/account/profile/4e1e8cacc4989228e0ae531b30853248') - # => true - end -end -``` - -Deleting Users from All projects -------- - -This script should remove user from all projects. There are couple of -things you need to keep in mind though. - -- This deletes user only from projects where you have access to - -- If you are not admin in particular project the user will not be - deleted from that particular project - - -```ruby -# encoding: utf-8 - -require 'gooddata' - -login = 'john.doe@gooddata.com' - -# Connect to platform using credentials -GoodData.with_connection do |client| - # first select only projects where you are admin - # which means you can read users and disable them - projects = client.projects.pselect(&:am_i_admin?) - projects.peach do |project| - project.member(login).disable - end -end -``` diff --git a/docs/working_with_users/index.html b/docs/working_with_users/index.html new file mode 100644 index 0000000..a87003a --- /dev/null +++ b/docs/working_with_users/index.html @@ -0,0 +1,438 @@ +Working with Users · Ruby SDK \ No newline at end of file diff --git a/docs/working_with_your_data.html b/docs/working_with_your_data.html new file mode 100644 index 0000000..bc3e9d9 --- /dev/null +++ b/docs/working_with_your_data.html @@ -0,0 +1,294 @@ +Working with Your Data · Ruby SDK \ No newline at end of file diff --git a/docs/working_with_your_data.md b/docs/working_with_your_data.md deleted file mode 100644 index 81b1e30..0000000 --- a/docs/working_with_your_data.md +++ /dev/null @@ -1,299 +0,0 @@ ---- -id: working_with_your_data -author: GoodData -sidebar_label: Working with Your Data -title: Working with Your Data ---- - -Before we start, you have to have an existing project with model and data loaded. - -Creating Metrics from Attributes ------- - -If you have several attributes in a project, you can create some -basic metric out of them. - -```ruby -# encoding: UTF-8 - -require 'gooddata' - -# Connect to GoodData platform -GoodData.with_connection do |c| - GoodData.with_project('project_id') do |project| - attribute = project.attributes('attr.devs.dev_id') - metric = attribute.create_metric(:title => "Count of [#{attribute.identifier}]") - metric.save - metric.execute - end -end -``` - -Creating Metrics from Facts ------- - -If you have several facts in a project, you can create some basic -metric out of them. - -```ruby -# encoding: UTF-8 - -require 'gooddata' - -# Connect to GoodData platform -GoodData.with_connection do |c| - GoodData.with_project('project_id') do |project| - fact = project.facts('fact.commits.lines_changed') - metric = fact.create_metric(:title => "Sum of [#{fact.identifier}]") - res = metric.execute - puts res - - # if you like the metric you can save it of course for later usage - metric.save - - # Default aggregation is SUM but you can also specify a different one - metric = fact.create_metric(:title => "Min of [#{fact.identifier}]", type: :min) - end -end -``` - -Write Information about project’s metrics and attributes to CSV ------- - -You can store information about all project metrics and attributes in a CSV file. - - -### Metrics - -```ruby -# encoding: UTF-8 - -require 'gooddata' - -# Connect to GoodData platform -GoodData.with_connection do |c| - GoodData.with_project('project_id') do |project| - CSV.open(project.pid + "_metrics.csv", 'wb') do |csv| - data = project.metrics.pmap do |metric| - [metric.title, metric.pretty_expression] - end - data.each do |m| - csv << m - end - puts 'The CSV is ready!' - end - end -end -``` - -It is a simple script that iterates over metrics (remember report -specific metrics are not included in the list) and collects some fields. -In our case it is title and pretty printed metric’s MAQL expression. If -you would like to get more information, just add them to the list. In -the end this list is formatted as a valid CSV so any reasonable CSV -parser should be able to load it. - -### Attributes - -You also might like to export attributes. The script itself is very -similar. - -```ruby -# encoding: UTF-8 - -require 'gooddata' - -# Connect to GoodData platform -GoodData.with_connection do |c| - GoodData.with_project('project_id') do |project| - CSV.open(project.pid + "_attributes.csv", 'wb') do |csv| - data = project.attributes.pmap do |attribute| - [attribute.title, attribute.identifier] - end - data.each do |m| - csv << m - end - puts 'The CSV is ready!' - end - end -end -``` - -### Folders - -Many times people want to also include the information about the folder -the metric/attribute is in. While SDK does not provide direct support -for it here is a little workaround to make it possible. - -Attributes: - -```ruby -# encoding: UTF-8 - -require 'gooddata' - -# Connect to GoodData platform -GoodData.with_connection do |c| - GoodData.with_project('project_id') do |project| - - folder_cache = c.get(project.md['query'] + '/dimensions')['query']['entries'].reduce({}) do |a, e| - a[e['link']] = project.objects(e['link']) - a - end - - CSV.open(project.pid + "_attributes.csv", 'wb') do |csv| - data = project.attributes.pmap do |attribute| - [attribute.title, attribute.identifier, attribute.content['dimension'] && folder_cache[attribute.content['dimension']].title] - end - data.each do |m| - csv << m - end - puts 'The CSV is ready!' - end - end -end -``` - -Metrics: - -```ruby -# encoding: UTF-8 - -require 'gooddata' - -# Connect to GoodData platform -GoodData.with_connection do |c| - GoodData.with_project('project_id') do |project| - - folder_cache = c.get(project.md['query'] + '/folders?type=metric')['query']['entries'].reduce({}) do |a, e| - a[e['link']] = project.objects(e['link']) - a - end - - CSV.open(project.pid + "_metrics.csv", 'wb') do |csv| - data = project.metrics.map do |metric| - folder = metric.content.key?('folders') && metric.content['folders'].is_a?(Enumerable) && metric.content['folders'].first - [metric.title, metric.identifier, folder_cache[folder] && folder_cache[folder].title] - end - data.each do |m| - csv << m - end - puts 'The CSV is ready!' - end - end -end -``` - - -Changing Metric’s Number Formatting ------- - -You can update formatting of all metrics in your project programmatically. The project below is currently formatted for dollar values but you would like to change all formats to Euro: - -```ruby -# encoding: utf-8 - -require 'gooddata' - -GoodData.with_connection do |c| - GoodData.with_project('project_id') do |project| - project.metrics.pmap do |metric| - metric.content['format'] = metric.content['format'].gsub('$', '€') - metric.save - end - end -end -``` - -Creating Metrics ------- - -You can create advanced MAQL metric. - -```ruby -# encoding: UTF-8 - -require 'gooddata' - -# Connect to GoodData platform -GoodData.with_connection do |c| - GoodData.with_project('project_id') do |project| - metric = project.add_measure 'SELECT PERCENTILE(#"Amount",0.9)', - title: 'Salary Amount [90th Pct]' - metric.save - metric.execute - - metric = project.add_measure 'SELECT PERCENTILE(![fact.salary.amount],0.9)', - title: 'Salary Amount [90th Pct] V2' - metric.save - metric.execute - - metric = project.add_measure 'SELECT PERCENTILE([/gdc/md/ptbedvc1841r4obgptywd2mzhbwjsfyr/obj/223],0.9)', - title: 'Salary Amount [90th Pct] V3' - metric.save - metric.execute - - end -end -``` - -Please note that the MAQL statement uses three ways how to reference the -underlying objects (e.g. facts or metrics that are part of the MAQL -statement) - -- *\#"Amount"* for referencing the fact (or metric) via its name - (title) - -- *!\[fact.salary.amount\]* for referencing the fact (or metric) via - its identifier - -- *\[/gdc/md/ptbedvc1841r4obgptywd2mzhbwjsfyr/obj/223\]* for - referencing the fact (or metric) via its uri - - -Creating Metric with filter ------- - -In this case we will actually create the raw MAQL metric along with the -filter values. The main problem is that you have to find out the URLs of -all the objects and values. This is generally tricky but SDK can -simplify this a bit. - -We will try to create a metric that looks like this in "human readable" -MAQL. - - SELECT COUNT(City) WHERE Continent IN ('Europe', 'Africa') - -This is actually not a MAQL that would be possible to post to the API. -You must translate all the objects into their valid URLs. The MAQL then -might look like this (obviously the URLs will look different in your -particular case) - - SELECT COUNT([/gdc/md/e8pid3efwftbc3pc13nnnau4xymb0198/obj/23]) WHERE [/gdc/md/e8pid3efwftbc3pc13nnnau4xymb0198/obj/72] IN ([/gdc/md/e8pid3efwftbc3pc13nnnau4xymb0198/obj/72/elements?id=0], [/gdc/md/e8pid3efwftbc3pc13nnnau4xymb0198/obj/72/elements?id=1]) - -Let’s have a look how we might write a code that does this. - -```ruby -# encoding: UTF-8 - -require 'gooddata' - -# Connect to GoodData platform -GoodData.with_connection do |c| - GoodData.with_project('project_id') do |project| - - # Let's find the city attribute - here we assume identifer atttribute.cities.city - city_attribute = project.attributes('atttribute.cities.city') - - # Let's find the continent label - here we assume identifer label.cities.continent.name - continent_label = project.labels('label.cities.continent.name') - filter_values = ['Europe', 'Africa'].map { |val| "[#{continent_label.find_value_uri(val)}]" }.join(', ') - - m = project.create_metric("SELECT COUNT([#{city_attribute.uri}]) WHERE #{continent_label.uri} IN #{filter_values}", extended_notation: false) - puts m.execute - end -end -``` - - - diff --git a/docs/working_with_your_data/index.html b/docs/working_with_your_data/index.html new file mode 100644 index 0000000..bc3e9d9 --- /dev/null +++ b/docs/working_with_your_data/index.html @@ -0,0 +1,294 @@ +Working with Your Data · Ruby SDK \ No newline at end of file diff --git a/en/help.html b/en/help.html new file mode 100644 index 0000000..be84feb --- /dev/null +++ b/en/help.html @@ -0,0 +1,7 @@ +Ruby SDK · A convenient Ruby wrapper around the GoodData RESTful API \ No newline at end of file diff --git a/en/help/index.html b/en/help/index.html new file mode 100644 index 0000000..be84feb --- /dev/null +++ b/en/help/index.html @@ -0,0 +1,7 @@ +Ruby SDK · A convenient Ruby wrapper around the GoodData RESTful API \ No newline at end of file diff --git a/en/users.html b/en/users.html new file mode 100644 index 0000000..7601399 --- /dev/null +++ b/en/users.html @@ -0,0 +1 @@ +Ruby SDK · A convenient Ruby wrapper around the GoodData RESTful API \ No newline at end of file diff --git a/en/users/index.html b/en/users/index.html new file mode 100644 index 0000000..7601399 --- /dev/null +++ b/en/users/index.html @@ -0,0 +1 @@ +Ruby SDK · A convenient Ruby wrapper around the GoodData RESTful API \ No newline at end of file diff --git a/website/static/fonts/Avenir-LT-W02-55-Roman.eot b/fonts/Avenir-LT-W02-55-Roman.eot similarity index 100% rename from website/static/fonts/Avenir-LT-W02-55-Roman.eot rename to fonts/Avenir-LT-W02-55-Roman.eot diff --git a/fonts/Avenir-LT-W02-55-Roman.svg b/fonts/Avenir-LT-W02-55-Roman.svg new file mode 100644 index 0000000..20f7ae5 --- /dev/null +++ b/fonts/Avenir-LT-W02-55-Roman.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/website/static/fonts/Avenir-LT-W02-55-Roman.ttf b/fonts/Avenir-LT-W02-55-Roman.ttf similarity index 100% rename from website/static/fonts/Avenir-LT-W02-55-Roman.ttf rename to fonts/Avenir-LT-W02-55-Roman.ttf diff --git a/website/static/fonts/Avenir-LT-W02-55-Roman.woff b/fonts/Avenir-LT-W02-55-Roman.woff similarity index 100% rename from website/static/fonts/Avenir-LT-W02-55-Roman.woff rename to fonts/Avenir-LT-W02-55-Roman.woff diff --git a/website/static/fonts/Avenir-LT-W02-85-Heavy.eot b/fonts/Avenir-LT-W02-85-Heavy.eot similarity index 100% rename from website/static/fonts/Avenir-LT-W02-85-Heavy.eot rename to fonts/Avenir-LT-W02-85-Heavy.eot diff --git a/fonts/Avenir-LT-W02-85-Heavy.svg b/fonts/Avenir-LT-W02-85-Heavy.svg new file mode 100644 index 0000000..b5542dc --- /dev/null +++ b/fonts/Avenir-LT-W02-85-Heavy.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/website/static/fonts/Avenir-LT-W02-85-Heavy.ttf b/fonts/Avenir-LT-W02-85-Heavy.ttf similarity index 100% rename from website/static/fonts/Avenir-LT-W02-85-Heavy.ttf rename to fonts/Avenir-LT-W02-85-Heavy.ttf diff --git a/website/static/fonts/Avenir-LT-W02-85-Heavy.woff b/fonts/Avenir-LT-W02-85-Heavy.woff similarity index 100% rename from website/static/fonts/Avenir-LT-W02-85-Heavy.woff rename to fonts/Avenir-LT-W02-85-Heavy.woff diff --git a/website/static/fonts/GoodIcons.eot b/fonts/GoodIcons.eot similarity index 100% rename from website/static/fonts/GoodIcons.eot rename to fonts/GoodIcons.eot diff --git a/fonts/GoodIcons.svg b/fonts/GoodIcons.svg new file mode 100644 index 0000000..5bdc456 --- /dev/null +++ b/fonts/GoodIcons.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/website/static/fonts/GoodIcons.ttf b/fonts/GoodIcons.ttf similarity index 100% rename from website/static/fonts/GoodIcons.ttf rename to fonts/GoodIcons.ttf diff --git a/website/static/fonts/GoodIcons.woff b/fonts/GoodIcons.woff similarity index 100% rename from website/static/fonts/GoodIcons.woff rename to fonts/GoodIcons.woff diff --git a/website/static/fonts/Indigo-v2.eot b/fonts/Indigo-v2.eot similarity index 100% rename from website/static/fonts/Indigo-v2.eot rename to fonts/Indigo-v2.eot diff --git a/fonts/Indigo-v2.svg b/fonts/Indigo-v2.svg new file mode 100644 index 0000000..8d37fb3 --- /dev/null +++ b/fonts/Indigo-v2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/website/static/fonts/Indigo-v2.ttf b/fonts/Indigo-v2.ttf similarity index 100% rename from website/static/fonts/Indigo-v2.ttf rename to fonts/Indigo-v2.ttf diff --git a/website/static/fonts/Indigo-v2.woff b/fonts/Indigo-v2.woff similarity index 100% rename from website/static/fonts/Indigo-v2.woff rename to fonts/Indigo-v2.woff diff --git a/help.html b/help.html new file mode 100644 index 0000000..567dfb8 --- /dev/null +++ b/help.html @@ -0,0 +1,7 @@ +Ruby SDK · A convenient Ruby wrapper around the GoodData RESTful API \ No newline at end of file diff --git a/help/index.html b/help/index.html new file mode 100644 index 0000000..567dfb8 --- /dev/null +++ b/help/index.html @@ -0,0 +1,7 @@ +Ruby SDK · A convenient Ruby wrapper around the GoodData RESTful API \ No newline at end of file diff --git a/website/static/img/favicon.ico b/img/favicon.ico similarity index 100% rename from website/static/img/favicon.ico rename to img/favicon.ico diff --git a/website/static/img/favicon/favicon.ico b/img/favicon/favicon.ico similarity index 100% rename from website/static/img/favicon/favicon.ico rename to img/favicon/favicon.ico diff --git a/img/gooddata-ruby.svg b/img/gooddata-ruby.svg new file mode 100644 index 0000000..6f92c2c --- /dev/null +++ b/img/gooddata-ruby.svg @@ -0,0 +1 @@ +RubySDK \ No newline at end of file diff --git a/img/gooddata.svg b/img/gooddata.svg new file mode 100644 index 0000000..89e9313 --- /dev/null +++ b/img/gooddata.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/img/homepage/chartjs_logo.png b/img/homepage/chartjs_logo.png new file mode 100644 index 0000000..9e6d46d Binary files /dev/null and b/img/homepage/chartjs_logo.png differ diff --git a/website/static/img/homepage/d3_logo.png b/img/homepage/d3_logo.png old mode 100755 new mode 100644 similarity index 100% rename from website/static/img/homepage/d3_logo.png rename to img/homepage/d3_logo.png diff --git a/website/static/img/homepage/discover.png b/img/homepage/discover.png old mode 100755 new mode 100644 similarity index 100% rename from website/static/img/homepage/discover.png rename to img/homepage/discover.png diff --git a/website/static/img/homepage/embed.png b/img/homepage/embed.png old mode 100755 new mode 100644 similarity index 100% rename from website/static/img/homepage/embed.png rename to img/homepage/embed.png diff --git a/website/static/img/homepage/example_1.png b/img/homepage/example_1.png old mode 100755 new mode 100644 similarity index 100% rename from website/static/img/homepage/example_1.png rename to img/homepage/example_1.png diff --git a/website/static/img/homepage/example_2.png b/img/homepage/example_2.png old mode 100755 new mode 100644 similarity index 100% rename from website/static/img/homepage/example_2.png rename to img/homepage/example_2.png diff --git a/website/static/img/homepage/github-logo.png b/img/homepage/github-logo.png old mode 100755 new mode 100644 similarity index 100% rename from website/static/img/homepage/github-logo.png rename to img/homepage/github-logo.png diff --git a/website/static/img/homepage/highcharts_logo.png b/img/homepage/highcharts_logo.png old mode 100755 new mode 100644 similarity index 100% rename from website/static/img/homepage/highcharts_logo.png rename to img/homepage/highcharts_logo.png diff --git a/img/homepage/installation_2.png b/img/homepage/installation_2.png new file mode 100644 index 0000000..fad4993 Binary files /dev/null and b/img/homepage/installation_2.png differ diff --git a/website/static/img/homepage/publish.png b/img/homepage/publish.png old mode 100755 new mode 100644 similarity index 100% rename from website/static/img/homepage/publish.png rename to img/homepage/publish.png diff --git a/img/homepage/splash-banner.jpg b/img/homepage/splash-banner.jpg new file mode 100644 index 0000000..59e5131 Binary files /dev/null and b/img/homepage/splash-banner.jpg differ diff --git a/website/static/img/homepage/splash-bottom-image.png b/img/homepage/splash-bottom-image.png old mode 100755 new mode 100644 similarity index 100% rename from website/static/img/homepage/splash-bottom-image.png rename to img/homepage/splash-bottom-image.png diff --git a/img/homepage/splash-bottom.svg b/img/homepage/splash-bottom.svg new file mode 100644 index 0000000..31761e9 --- /dev/null +++ b/img/homepage/splash-bottom.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/website/static/img/homepage/stackoverflow-logo.png b/img/homepage/stackoverflow-logo.png old mode 100755 new mode 100644 similarity index 100% rename from website/static/img/homepage/stackoverflow-logo.png rename to img/homepage/stackoverflow-logo.png diff --git a/img/homepage/twitter-logo.png b/img/homepage/twitter-logo.png new file mode 100644 index 0000000..ebdba03 Binary files /dev/null and b/img/homepage/twitter-logo.png differ diff --git a/img/language.svg b/img/language.svg new file mode 100644 index 0000000..6619593 --- /dev/null +++ b/img/language.svg @@ -0,0 +1,3 @@ + + + diff --git a/img/metaimage.jpg b/img/metaimage.jpg new file mode 100644 index 0000000..8259ce7 Binary files /dev/null and b/img/metaimage.jpg differ diff --git a/website/static/index.html b/index.html similarity index 100% rename from website/static/index.html rename to index.html diff --git a/js/codetabs.js b/js/codetabs.js new file mode 100644 index 0000000..4fcdc46 --- /dev/null +++ b/js/codetabs.js @@ -0,0 +1,31 @@ +/** + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ +// Turn off ESLint for this file because it's sent down to users as-is. + +/* eslint-disable */ +window.addEventListener('load', function () { + // add event listener for all tab + document.querySelectorAll('.nav-link').forEach(function (el) { + el.addEventListener('click', function (e) { + var groupId = e.target.getAttribute('data-group'); + document + .querySelectorAll('.nav-link[data-group='.concat(groupId, ']')) + .forEach(function (el) { + el.classList.remove('active'); + }); + document + .querySelectorAll('.tab-pane[data-group='.concat(groupId, ']')) + .forEach(function (el) { + el.classList.remove('active'); + }); + e.target.classList.add('active'); + document + .querySelector('#'.concat(e.target.getAttribute('data-tab'))) + .classList.add('active'); + }); + }); +}); diff --git a/website/static/js/gaEvents.js b/js/gaEvents.js similarity index 100% rename from website/static/js/gaEvents.js rename to js/gaEvents.js diff --git a/website/static/js/parallax.js b/js/parallax.js similarity index 100% rename from website/static/js/parallax.js rename to js/parallax.js diff --git a/js/scrollSpy.js b/js/scrollSpy.js new file mode 100644 index 0000000..1f278b2 --- /dev/null +++ b/js/scrollSpy.js @@ -0,0 +1,83 @@ +/** + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +/* eslint-disable */ +(function scrollSpy() { + var OFFSET = 10; + var timer; + var headingsCache; + + var findHeadings = function findHeadings() { + return headingsCache || document.querySelectorAll('.toc-headings > li > a'); + }; + + var onScroll = function onScroll() { + if (timer) { + // throttle + return; + } + + timer = setTimeout(function () { + timer = null; + var activeNavFound = false; + var headings = findHeadings(); // toc nav anchors + + /** + * On every call, try to find header right after <-- next header + * the one whose content is on the current screen <-- highlight this + */ + + for (var i = 0; i < headings.length; i++) { + // headings[i] is current element + // if an element is already active, then current element is not active + // if no element is already active, then current element is active + var currNavActive = !activeNavFound; + /** + * Enter the following check up only when an active nav header is not yet found + * Then, check the bounding rectangle of the next header + * The headers that are scrolled passed will have negative bounding rect top + * So the first one with positive bounding rect top will be the nearest next header + */ + + if (currNavActive && i < headings.length - 1) { + var heading = headings[i + 1]; + var next = decodeURIComponent(heading.href.split('#')[1]); + var nextHeader = document.getElementById(next); + + if (nextHeader) { + var top = nextHeader.getBoundingClientRect().top; + currNavActive = top > OFFSET; + } else { + console.error('Can not find header element', { + id: next, + heading: heading, + }); + } + } + /** + * Stop searching once a first such header is found, + * this makes sure the highlighted header is the most current one + */ + + if (currNavActive) { + activeNavFound = true; + headings[i].classList.add('active'); + } else { + headings[i].classList.remove('active'); + } + } + }, 100); + }; + + document.addEventListener('scroll', onScroll); + document.addEventListener('resize', onScroll); + document.addEventListener('DOMContentLoaded', function () { + // Cache the headings once the page has fully loaded. + headingsCache = findHeadings(); + onScroll(); + }); +})(); diff --git a/website/static/js/toggleNav.js b/js/toggleNav.js similarity index 100% rename from website/static/js/toggleNav.js rename to js/toggleNav.js diff --git a/website/static/scss/_variables.scss b/scss/_variables.scss similarity index 100% rename from website/static/scss/_variables.scss rename to scss/_variables.scss diff --git a/website/static/scss/avenir.scss b/scss/avenir.scss similarity index 100% rename from website/static/scss/avenir.scss rename to scss/avenir.scss diff --git a/website/static/scss/button.scss b/scss/button.scss similarity index 100% rename from website/static/scss/button.scss rename to scss/button.scss diff --git a/website/static/scss/custom.scss b/scss/custom.scss similarity index 100% rename from website/static/scss/custom.scss rename to scss/custom.scss diff --git a/website/static/scss/features-block.scss b/scss/features-block.scss similarity index 100% rename from website/static/scss/features-block.scss rename to scss/features-block.scss diff --git a/website/static/scss/footer.scss b/scss/footer.scss similarity index 100% rename from website/static/scss/footer.scss rename to scss/footer.scss diff --git a/website/static/scss/global.scss b/scss/global.scss similarity index 100% rename from website/static/scss/global.scss rename to scss/global.scss diff --git a/website/static/scss/header.scss b/scss/header.scss similarity index 100% rename from website/static/scss/header.scss rename to scss/header.scss diff --git a/website/static/scss/highlighting.scss b/scss/highlighting.scss similarity index 100% rename from website/static/scss/highlighting.scss rename to scss/highlighting.scss diff --git a/website/static/scss/homepage.scss b/scss/homepage.scss similarity index 100% rename from website/static/scss/homepage.scss rename to scss/homepage.scss diff --git a/website/static/scss/main.scss b/scss/main.scss similarity index 100% rename from website/static/scss/main.scss rename to scss/main.scss diff --git a/website/static/scss/navigation.scss b/scss/navigation.scss similarity index 100% rename from website/static/scss/navigation.scss rename to scss/navigation.scss diff --git a/website/static/scss/product-showcase.scss b/scss/product-showcase.scss similarity index 100% rename from website/static/scss/product-showcase.scss rename to scss/product-showcase.scss diff --git a/website/static/scss/search.scss b/scss/search.scss similarity index 100% rename from website/static/scss/search.scss rename to scss/search.scss diff --git a/website/static/scss/typo.scss b/scss/typo.scss similarity index 100% rename from website/static/scss/typo.scss rename to scss/typo.scss diff --git a/website/static/scss/visualizations-section.scss b/scss/visualizations-section.scss similarity index 100% rename from website/static/scss/visualizations-section.scss rename to scss/visualizations-section.scss diff --git a/sitemap.xml b/sitemap.xml new file mode 100644 index 0000000..88ac75b --- /dev/null +++ b/sitemap.xml @@ -0,0 +1 @@ +https://gooddata.github.io/helpweekly0.5https://gooddata.github.io/usersweekly0.5https://gooddata.github.io/gooddata-ruby-doc/docs/advanced_blueprint_exampleshourly1.0https://gooddata.github.io/gooddata-ruby-doc/docs/command_linehourly1.0https://gooddata.github.io/gooddata-ruby-doc/docs/connecting_to_gooddatahourly1.0https://gooddata.github.io/gooddata-ruby-doc/docs/getting_startedhourly1.0https://gooddata.github.io/gooddata-ruby-doc/docs/create_a_programhourly1.0https://gooddata.github.io/gooddata-ruby-doc/docs/creating_project_from_blueprinthourly1.0https://gooddata.github.io/gooddata-ruby-doc/docs/data_productshourly1.0https://gooddata.github.io/gooddata-ruby-doc/docs/delete_all_datahourly1.0https://gooddata.github.io/gooddata-ruby-doc/docs/handling_credentialshourly1.0https://gooddata.github.io/gooddata-ruby-doc/docs/jack_inhourly1.0https://gooddata.github.io/gooddata-ruby-doc/docs/loading_datahourly1.0https://gooddata.github.io/gooddata-ruby-doc/docs/logginghourly1.0https://gooddata.github.io/gooddata-ruby-doc/docs/looking_up_metadata_objectshourly1.0https://gooddata.github.io/gooddata-ruby-doc/docs/migrating_metadata_objectshourly1.0https://gooddata.github.io/gooddata-ruby-doc/docs/refactoring_datasetshourly1.0https://gooddata.github.io/gooddata-ruby-doc/docs/speeding_things_uphourly1.0https://gooddata.github.io/gooddata-ruby-doc/docs/using_gooddata_platformhourly1.0https://gooddata.github.io/gooddata-ruby-doc/docs/working_with_automationhourly1.0https://gooddata.github.io/gooddata-ruby-doc/docs/working_with_dashboardshourly1.0https://gooddata.github.io/gooddata-ruby-doc/docs/working_with_data_sourceshourly1.0https://gooddata.github.io/gooddata-ruby-doc/docs/working_with_deploymentshourly1.0https://gooddata.github.io/gooddata-ruby-doc/docs/working_with_lifecyclehourly1.0https://gooddata.github.io/gooddata-ruby-doc/docs/working_with_modelshourly1.0https://gooddata.github.io/gooddata-ruby-doc/docs/working_with_permissionshourly1.0https://gooddata.github.io/gooddata-ruby-doc/docs/working_with_projectshourly1.0https://gooddata.github.io/gooddata-ruby-doc/docs/working_with_reportshourly1.0https://gooddata.github.io/gooddata-ruby-doc/docs/working_with_usershourly1.0https://gooddata.github.io/gooddata-ruby-doc/docs/working_with_your_datahourly1.0 \ No newline at end of file diff --git a/sonar-project.properties b/sonar-project.properties deleted file mode 100644 index 845bde1..0000000 --- a/sonar-project.properties +++ /dev/null @@ -1,2 +0,0 @@ -sonar.projectKey=gooddata-ruby-doc -sonar.organization=gooddata-github diff --git a/users.html b/users.html new file mode 100644 index 0000000..7d42ea2 --- /dev/null +++ b/users.html @@ -0,0 +1 @@ +Ruby SDK · A convenient Ruby wrapper around the GoodData RESTful API \ No newline at end of file diff --git a/users/index.html b/users/index.html new file mode 100644 index 0000000..7d42ea2 --- /dev/null +++ b/users/index.html @@ -0,0 +1 @@ +Ruby SDK · A convenient Ruby wrapper around the GoodData RESTful API \ No newline at end of file diff --git a/website/.gitignore b/website/.gitignore deleted file mode 100644 index 820c907..0000000 --- a/website/.gitignore +++ /dev/null @@ -1,83 +0,0 @@ - -# Created by https://www.gitignore.io/api/node -# Edit at https://www.gitignore.io/?templates=node - -### Node ### -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* - -# Runtime data -pids -*.pid -*.seed -*.pid.lock - -# Directory for instrumented libs generated by jscoverage/JSCover -lib-cov - -# Coverage directory used by tools like istanbul -coverage - -# nyc test coverage -.nyc_output - -# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) -.grunt - -# Bower dependency directory (https://bower.io/) -bower_components - -# node-waf configuration -.lock-wscript - -# Compiled binary addons (https://nodejs.org/api/addons.html) -build/Release - -# Dependency directories -node_modules/ -jspm_packages/ - -# TypeScript v1 declaration files -typings/ - -# Optional npm cache directory -.npm - -# Optional eslint cache -.eslintcache - -# Optional REPL history -.node_repl_history - -# Output of 'npm pack' -*.tgz - -# Yarn Integrity file -.yarn-integrity - -# dotenv environment variables file -.env - -# parcel-bundler cache (https://parceljs.org/) -.cache - -# next.js build output -.next - -# nuxt.js build output -.nuxt - -# vuepress build output -.vuepress/dist - -# Serverless directories -.serverless - -# FuseBox cache -.fusebox/ - -# End of https://www.gitignore.io/api/node diff --git a/website/README.md b/website/README.md deleted file mode 100644 index ba45634..0000000 --- a/website/README.md +++ /dev/null @@ -1,108 +0,0 @@ -# GoodData Ruby SDK Documentation - -## About this repository - -This repository contains source code for the Documentation of the Ruby SDK for GoodData. - -The code itself is in the `master` branch, while there is a unrelated `gd-pages` branch that contains the build website for github pages. - -## Running the documentation locally - -1. Make sure all the dependencies for the website are installed: - -```sh -# Install dependencies -$ yarn -``` -2. Run your dev server: - -```sh -# Start the site -$ yarn start -``` - -3. Open the dev server: - -[http://localhost:3000/gooddata-ruby-doc/](http://localhost:3000/gooddata-ruby-doc/) - -## Directory Structure - -The file structure of the documentation looks like this - -``` -docs/ - doc-1.md - doc-2.md - doc-3.md -website/ - core/ - node_modules/ - pages/ - static/ - css/ - img/ - package.json - sidebar.json - siteConfig.js -``` - -## Deployment - -To deploy the website to the github pages, please use following commands: - -```sh -GIT_USER= \ - CURRENT_BRANCH=master \ - USE_SSH=true \ - yarn run publish-gh-pages # or `npm run publish-gh-pages` -``` - -## Editing Content - -### Editing an existing docs page - -Edit docs by navigating to `docs/` and editing the corresponding document: - -`docs/doc-to-be-edited.md` - -```markdown ---- -id: page-needs-edit -title: This Doc Needs To Be Edited ---- - -Edit me... -``` - -## Adding Content - -### Adding a new docs page to an existing sidebar - -1. Create the doc as a new markdown file in `/docs`, example `docs/newly-created-doc.md`: - -```md ---- -id: newly-created-doc -title: This Doc Needs To Be Edited ---- - -My new content here.. -``` - -1. Refer to that doc's ID in an existing sidebar in `website/sidebar.json`: - -```javascript -// Add newly-created-doc to the Getting Started category of docs -{ - "docs": { - "Getting Started": [ - "quick-start", - "newly-created-doc" // new doc here - ], - ... - }, - ... -} -``` - -For more information about adding new docs, click [here](https://docusaurus.io/docs/en/navigation) diff --git a/website/blog-examples-from-docusaurus/2016-03-11-blog-post.md b/website/blog-examples-from-docusaurus/2016-03-11-blog-post.md deleted file mode 100755 index cf2ba29..0000000 --- a/website/blog-examples-from-docusaurus/2016-03-11-blog-post.md +++ /dev/null @@ -1,18 +0,0 @@ ---- -title: Blog Title -author: Blog Author -authorURL: http://twitter.com/ -authorFBID: 100002976521003 ---- - -Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus elementum massa eget nulla aliquet sagittis. Proin odio tortor, vulputate ut odio in, ultrices ultricies augue. Cras ornare ultrices lorem malesuada iaculis. Etiam sit amet libero tempor, pulvinar mauris sed, sollicitudin sapien. - - - -Mauris vestibulum ullamcorper nibh, ut semper purus pulvinar ut. Donec volutpat orci sit amet mauris malesuada, non pulvinar augue aliquam. Vestibulum ultricies at urna ut suscipit. Morbi iaculis, erat at imperdiet semper, ipsum nulla sodales erat, eget tincidunt justo dui quis justo. Pellentesque dictum bibendum diam at aliquet. Sed pulvinar, dolor quis finibus ornare, eros odio facilisis erat, eu rhoncus nunc dui sed ex. Nunc gravida dui massa, sed ornare arcu tincidunt sit amet. Maecenas efficitur sapien neque, a laoreet libero feugiat ut. - -Nulla facilisi. Maecenas sodales nec purus eget posuere. Sed sapien quam, pretium a risus in, porttitor dapibus erat. Sed sit amet fringilla ipsum, eget iaculis augue. Integer sollicitudin tortor quis ultricies aliquam. Suspendisse fringilla nunc in tellus cursus, at placerat tellus scelerisque. Sed tempus elit a sollicitudin rhoncus. Nulla facilisi. Morbi nec dolor dolor. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Cras et aliquet lectus. Pellentesque sit amet eros nisi. Quisque ac sapien in sapien congue accumsan. Nullam in posuere ante. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Proin lacinia leo a nibh fringilla pharetra. - -Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Proin venenatis lectus dui, vel ultrices ante bibendum hendrerit. Aenean egestas feugiat dui id hendrerit. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Curabitur in tellus laoreet, eleifend nunc id, viverra leo. Proin vulputate non dolor vel vulputate. Curabitur pretium lobortis felis, sit amet finibus lorem suscipit ut. Sed non mollis risus. Duis sagittis, mi in euismod tincidunt, nunc mauris vestibulum urna, at euismod est elit quis erat. Phasellus accumsan vitae neque eu placerat. In elementum arcu nec tellus imperdiet, eget maximus nulla sodales. Curabitur eu sapien eget nisl sodales fermentum. - -Phasellus pulvinar ex id commodo imperdiet. Praesent odio nibh, sollicitudin sit amet faucibus id, placerat at metus. Donec vitae eros vitae tortor hendrerit finibus. Interdum et malesuada fames ac ante ipsum primis in faucibus. Quisque vitae purus dolor. Duis suscipit ac nulla et finibus. Phasellus ac sem sed dui dictum gravida. Phasellus eleifend vestibulum facilisis. Integer pharetra nec enim vitae mattis. Duis auctor, lectus quis condimentum bibendum, nunc dolor aliquam massa, id bibendum orci velit quis magna. Ut volutpat nulla nunc, sed interdum magna condimentum non. Sed urna metus, scelerisque vitae consectetur a, feugiat quis magna. Donec dignissim ornare nisl, eget tempor risus malesuada quis. diff --git a/website/blog-examples-from-docusaurus/2017-04-10-blog-post-two.md b/website/blog-examples-from-docusaurus/2017-04-10-blog-post-two.md deleted file mode 100644 index 3ab4637..0000000 --- a/website/blog-examples-from-docusaurus/2017-04-10-blog-post-two.md +++ /dev/null @@ -1,18 +0,0 @@ ---- -title: New Blog Post -author: Blog Author -authorURL: http://twitter.com/ -authorFBID: 100002976521003 ---- - -Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus elementum massa eget nulla aliquet sagittis. Proin odio tortor, vulputate ut odio in, ultrices ultricies augue. Cras ornare ultrices lorem malesuada iaculis. Etiam sit amet libero tempor, pulvinar mauris sed, sollicitudin sapien. - - - -Mauris vestibulum ullamcorper nibh, ut semper purus pulvinar ut. Donec volutpat orci sit amet mauris malesuada, non pulvinar augue aliquam. Vestibulum ultricies at urna ut suscipit. Morbi iaculis, erat at imperdiet semper, ipsum nulla sodales erat, eget tincidunt justo dui quis justo. Pellentesque dictum bibendum diam at aliquet. Sed pulvinar, dolor quis finibus ornare, eros odio facilisis erat, eu rhoncus nunc dui sed ex. Nunc gravida dui massa, sed ornare arcu tincidunt sit amet. Maecenas efficitur sapien neque, a laoreet libero feugiat ut. - -Nulla facilisi. Maecenas sodales nec purus eget posuere. Sed sapien quam, pretium a risus in, porttitor dapibus erat. Sed sit amet fringilla ipsum, eget iaculis augue. Integer sollicitudin tortor quis ultricies aliquam. Suspendisse fringilla nunc in tellus cursus, at placerat tellus scelerisque. Sed tempus elit a sollicitudin rhoncus. Nulla facilisi. Morbi nec dolor dolor. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Cras et aliquet lectus. Pellentesque sit amet eros nisi. Quisque ac sapien in sapien congue accumsan. Nullam in posuere ante. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Proin lacinia leo a nibh fringilla pharetra. - -Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Proin venenatis lectus dui, vel ultrices ante bibendum hendrerit. Aenean egestas feugiat dui id hendrerit. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Curabitur in tellus laoreet, eleifend nunc id, viverra leo. Proin vulputate non dolor vel vulputate. Curabitur pretium lobortis felis, sit amet finibus lorem suscipit ut. Sed non mollis risus. Duis sagittis, mi in euismod tincidunt, nunc mauris vestibulum urna, at euismod est elit quis erat. Phasellus accumsan vitae neque eu placerat. In elementum arcu nec tellus imperdiet, eget maximus nulla sodales. Curabitur eu sapien eget nisl sodales fermentum. - -Phasellus pulvinar ex id commodo imperdiet. Praesent odio nibh, sollicitudin sit amet faucibus id, placerat at metus. Donec vitae eros vitae tortor hendrerit finibus. Interdum et malesuada fames ac ante ipsum primis in faucibus. Quisque vitae purus dolor. Duis suscipit ac nulla et finibus. Phasellus ac sem sed dui dictum gravida. Phasellus eleifend vestibulum facilisis. Integer pharetra nec enim vitae mattis. Duis auctor, lectus quis condimentum bibendum, nunc dolor aliquam massa, id bibendum orci velit quis magna. Ut volutpat nulla nunc, sed interdum magna condimentum non. Sed urna metus, scelerisque vitae consectetur a, feugiat quis magna. Donec dignissim ornare nisl, eget tempor risus malesuada quis. diff --git a/website/blog-examples-from-docusaurus/2017-09-25-testing-rss.md b/website/blog-examples-from-docusaurus/2017-09-25-testing-rss.md deleted file mode 100644 index b7ff812..0000000 --- a/website/blog-examples-from-docusaurus/2017-09-25-testing-rss.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: Adding RSS Support - RSS Truncation Test -author: Eric Nakagawa -authorURL: http://twitter.com/ericnakagawa -authorFBID: 661277173 ---- -1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890 - -This should be truncated. - -This line should never render in XML. diff --git a/website/blog-examples-from-docusaurus/2017-09-26-adding-rss.md b/website/blog-examples-from-docusaurus/2017-09-26-adding-rss.md deleted file mode 100644 index eeb4f04..0000000 --- a/website/blog-examples-from-docusaurus/2017-09-26-adding-rss.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: Adding RSS Support -author: Eric Nakagawa -authorURL: http://twitter.com/ericnakagawa -authorFBID: 661277173 ---- - -This is a test post. - -A whole bunch of other information. diff --git a/website/blog-examples-from-docusaurus/2017-10-24-new-version-1.0.0.md b/website/blog-examples-from-docusaurus/2017-10-24-new-version-1.0.0.md deleted file mode 100644 index 60761c0..0000000 --- a/website/blog-examples-from-docusaurus/2017-10-24-new-version-1.0.0.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: New Version 1.0.0 -author: Eric Nakagawa -authorURL: http://twitter.com/ericnakagawa -authorFBID: 661277173 ---- - -This blog post will test file name parsing issues when periods are present. diff --git a/website/core/Footer.js b/website/core/Footer.js deleted file mode 100644 index d68c9e8..0000000 --- a/website/core/Footer.js +++ /dev/null @@ -1,20 +0,0 @@ -/** - * Copyright (c) 2017-present, Facebook, Inc. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ - -const React = require('react'); - -class Footer extends React.Component { - render() { - return ( -
-
Copyright © 2007–2018 GoodData Corporation. All Rights Reserved. Code licensed under an BSD License.
-
- ); - } -} - -module.exports = Footer; diff --git a/website/i18n/en.json b/website/i18n/en.json deleted file mode 100644 index e1d9f8c..0000000 --- a/website/i18n/en.json +++ /dev/null @@ -1,71 +0,0 @@ -{ - "_comment": "This file is auto-generated by write-translations.js", - "localized-strings": { - "next": "Next", - "previous": "Previous", - "tagline": "A convenient Ruby wrapper around the GoodData RESTful API", - "advanced_blueprint_examples": "Advanced Blueprint Examples", - "Advanced Blueprint Examples": "Advanced Blueprint Examples", - "connecting_to_gooddata": "Connecting to Gooddata Platform", - "Connecting to Gooddata Platform": "Connecting to Gooddata Platform", - "getting_started": "Getting started", - "Getting started": "Getting started", - "create_a_program": "Scripting", - "Scripting": "Scripting", - "creating_project_from_blueprint": "Creating Project from Blueprint", - "Creating Project from Blueprint": "Creating Project from Blueprint", - "data_products": "Working with data products", - "Working with data products": "Working with data products", - "delete_all_data": "Delete data in project", - "Delete data in project": "Delete data in project", - "handling_credentials": "Handling Credentials Securely", - "Handling Credentials Securely": "Handling Credentials Securely", - "jack_in": "Interactive Ruby Console", - "Interactive Ruby Console": "Interactive Ruby Console", - "loading_data": "Loading Data to Project", - "Loading Data to Project": "Loading Data to Project", - "logging": "Logging", - "Logging and Testing": "Logging and Testing", - "looking_up_metadata_objects": "Looking up metadata objects", - "Looking up metadata objects": "Looking up metadata objects", - "migrating_metadata_objects": "Migrating objects between projects", - "Migrating objects between projects": "Migrating objects between projects", - "refactoring_datasets": "Refactoring datasets", - "Refactoring datasets": "Refactoring datasets", - "speeding_things_up": "Parallel Processing", - "Parallel Processing": "Parallel Processing", - "using_gooddata_platform": "Using GoodData Platform", - "Using GoodData Platform": "Using GoodData Platform", - "working_with_automation": "Automation and Performance", - "Automation and Performance": "Automation and Performance", - "working_with_dashboards": "Using Dashboards", - "Using Dashboards": "Using Dashboards", - "working_with_deployments": "Deployment How-tos", - "Deployment How-tos": "Deployment How-tos", - "working_with_lifecycle": "Working with Lifecycle", - "Working with Lifecycle": "Working with Lifecycle", - "working_with_models": "Model Setup", - "Model Setup": "Model Setup", - "working_with_permissions": "Setting Permissions", - "Setting Permissions": "Setting Permissions", - "working_with_projects": "Working with Projects", - "Working with Projects": "Working with Projects", - "working_with_reports": "Working with Reports", - "Working with Reports": "Working with Reports", - "working_with_users": "Working with Users", - "Working with Users": "Working with Users", - "working_with_data_sources": "Working with Data Sources", - "Working with data sources": "Working with Data Sources", - "working_with_your_data": "Working with Your Data", - "Working with Your Data": "Working with Your Data", - "Docs": "Docs", - "Basics": "Basics", - "Advanced Guides": "Advanced Guides", - "Blueprints": "Blueprints" - }, - "pages-strings": { - "Help Translate|recruit community translators for your project": "Help Translate", - "Edit this Doc|recruitment message asking to edit the doc source": "Edit", - "Translate this Doc|recruitment message asking to translate the docs": "Translate" - } -} diff --git a/website/package.json b/website/package.json deleted file mode 100644 index a1b05e3..0000000 --- a/website/package.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "scripts": { - "examples": "docusaurus-examples", - "start": "yarn compile-scss; docusaurus-start", - "build": "docusaurus-build", - "publish-gh-pages": "docusaurus-publish", - "write-translations": "docusaurus-write-translations", - "version": "docusaurus-version", - "rename-version": "docusaurus-rename-version", - "compile-scss": "sass static/scss/custom.scss static/css/custom.css" - }, - "devDependencies": { - "docusaurus": "1.14.6" - }, - "dependencies": { - "react-router-dom": "^4.3.1", - "sass": "^1.14.3" - } -} diff --git a/website/pages/en/help.js b/website/pages/en/help.js deleted file mode 100755 index 512e335..0000000 --- a/website/pages/en/help.js +++ /dev/null @@ -1,58 +0,0 @@ -/** - * Copyright (c) 2017-present, Facebook, Inc. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ - -const React = require('react'); - -const CompLibrary = require('../../core/CompLibrary.js'); - -const Container = CompLibrary.Container; -const GridBlock = CompLibrary.GridBlock; - -const siteConfig = require(`${process.cwd()}/siteConfig.js`); - -function docUrl(doc, language) { - return `${siteConfig.baseUrl}docs/${language ? `${language}/` : ''}${doc}`; -} - -class Help extends React.Component { - render() { - const language = this.props.language || ''; - const supportLinks = [ - { - content: `Learn more using the [documentation on this site.](${docUrl( - 'doc1.html', - language, - )})`, - title: 'Browse Docs', - }, - { - content: 'Ask questions about the documentation and project', - title: 'Join the community', - }, - { - content: "Find out what's new with this project", - title: 'Stay up to date', - }, - ]; - - return ( -
- -
-
-

Need help?

-
-

This project is maintained by a dedicated group of people.

- -
-
-
- ); - } -} - -module.exports = Help; diff --git a/website/pages/en/users.js b/website/pages/en/users.js deleted file mode 100644 index b03fb81..0000000 --- a/website/pages/en/users.js +++ /dev/null @@ -1,49 +0,0 @@ -/** - * Copyright (c) 2017-present, Facebook, Inc. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ - -const React = require('react'); - -const CompLibrary = require('../../core/CompLibrary.js'); - -const Container = CompLibrary.Container; - -const siteConfig = require(`${process.cwd()}/siteConfig.js`); - -class Users extends React.Component { - render() { - if ((siteConfig.users || []).length === 0) { - return null; - } - - const editUrl = `${siteConfig.repoUrl}/edit/master/website/siteConfig.js`; - const showcase = siteConfig.users.map(user => ( - - {user.caption} - - )); - - return ( -
- -
-
-

Who is Using This?

-

This project is used by many folks

-
-
{showcase}
-

Are you using this project?

- - Add your company - -
-
-
- ); - } -} - -module.exports = Users; diff --git a/website/sidebars.json b/website/sidebars.json deleted file mode 100644 index c44c8a4..0000000 --- a/website/sidebars.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "docs": { - "Basics": [ - "getting_started", - "jack_in", - "create_a_program", - "connecting_to_gooddata", - "handling_credentials", - "using_gooddata_platform", - "command_line", - "logging" - ], - "Advanced Guides": [ - "working_with_projects", - "working_with_users", - "working_with_data_sources", - "working_with_permissions", - "working_with_models", - "working_with_your_data", - "working_with_reports", - "working_with_dashboards", - "working_with_deployments", - "working_with_automation", - "working_with_lifecycle" - ], - "Blueprints": [ - "creating_project_from_blueprint", - "loading_data", - "advanced_blueprint_examples" - ] - } -} diff --git a/website/siteConfig.js b/website/siteConfig.js deleted file mode 100644 index 29455a6..0000000 --- a/website/siteConfig.js +++ /dev/null @@ -1,84 +0,0 @@ -/** - * Copyright (c) 2017-present, Facebook, Inc. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ - -// See https://docusaurus.io/docs/site-config for all the possible -// site configuration options. - -// List of projects/orgs using your project for the users page. -const users = [ - { - caption: 'User1', - // You will need to prepend the image path with your baseUrl - // if it is not '/', like: '/test-site/img/docusaurus.svg'. - image: '/img/docusaurus.svg', - infoLink: 'https://www.facebook.com', - pinned: true, - }, -]; - -const siteConfig = { - organizationName: 'gooddata', - title: 'Ruby SDK' /* title for your website */, - tagline: 'A convenient Ruby wrapper around the GoodData RESTful API', - url: 'https://gooddata.github.io' /* your website url */, - baseUrl: '/gooddata-ruby-doc/' /* base url for your project */, - projectName: 'gooddata-ruby-doc', - headerLinks: [ - {doc: "getting_started", label: "Docs"} - ], - onPageNav: 'separate', - users, - /* path to images for header/footer */ - headerIcon: 'img/gooddata-ruby.svg', - footerIcon: 'img/gooddata-ruby.svg', - favicon: 'img/favicon.ico', - /* colors for website */ - colors: { - primaryColor: '#14B2E2', - secondaryColor: '#205C3B', - }, - - /* Custom fonts for website */ - /* - fonts: { - myFont: [ - "Times New Roman", - "Serif" - ], - myOtherFont: [ - "-apple-system", - "system-ui" - ] - }, - */ - - // This copyright info is used in /core/Footer.js and blog RSS/Atom feeds. - copyright: `Copyright © ${new Date().getFullYear()} GoodData`, - - highlight: { - // Highlight.js theme to use for syntax highlighting in code blocks. - theme: 'default', - }, - - // Add custom scripts here that would be placed in