Notice: |

  Apache Brooklyn
  Copyright 2014-2020 The Apache Software Foundation

  This product includes software developed at
  The Apache Software Foundation (http://www.apache.org/).


Bundled dependencies:

  # This software distribution includes the following bundled third-party components.
  # Referenced licenses can be found in the accompanying LICENSE file.

  angular-animate@1.7.2: 
    Project:      angular-animate (NodeJS module)
    Version:      1.7.2
    Available at: 
      - http://angularjs.org
      - https://github.com/angular/angular.js
    Developed by: Angular Core Team (angular-core+npm@google.com)
    License name: MIT License
    Notice:       Copyright (c) 2016 Angular
  
  angular-cookies@1.7.2: 
    Project:      angular-cookies (NodeJS module)
    Version:      1.7.2
    Available at: 
      - http://angularjs.org
      - https://github.com/angular/angular.js
    Developed by: Angular Core Team (angular-core+npm@google.com)
    License name: MIT License
    Notice:       Copyright (c) 2016 Angular
  
  angular-java-stack-viewer@1.0.1: 
    Project:      angular-java-stack-viewer (NodeJS module)
    Version:      1.0.1
    Available at: https://github.com/tbouron/angular-java-stack-viewer
    Developed by: Thomas Bouron
    License name: Apache License, version 2.0
  
  angular-multiple-transclusion@1.0.0: 
    Project:      angular-multiple-transclusion (NodeJS module)
    Version:      1.0.0
    Available at: https://github.com/mcasimir/angular-multiple-transclusion
    Developed by: mcasimir (https://github.com/mcasimir)
    License name: MIT License
  
  angular-resource@1.7.2: 
    Project:      angular-resource (NodeJS module)
    Version:      1.7.2
    Available at: 
      - http://angularjs.org
      - https://github.com/angular/angular.js
    Developed by: Angular Core Team (angular-core+npm@google.com)
    License name: MIT License
    Notice:       Copyright (c) 2016 Angular
  
  angular-ui-bootstrap@2.5.6: 
    Project:      angular-ui-bootstrap (NodeJS module)
    Version:      2.5.6
    Available at: 
      - http://angular-ui.github.io/bootstrap/
      - https://github.com/angular-ui/bootstrap
    Developed by: https://github.com/angular-ui/bootstrap/graphs/contributors
    License name: MIT License
    Notice:       Copyright (c) 2012-2017 the AngularUI Team, https://github.com/organizations/angular-ui/teams/291112
  
  angular-ui-router@0.3.2: 
    Project:      angular-ui-router (NodeJS module)
    Version:      0.3.2
    Available at: 
      - http://angular-ui.github.com/
      - https://github.com/angular-ui/ui-router
    License name: MIT License
    Notice:       Copyright (c) 2013-2015 The AngularUI Team, Karsten Sperling
  
  angular@1.7.2: 
    Project:      angular (NodeJS module)
    Version:      1.7.2
    Available at: 
      - http://angularjs.org
      - https://github.com/angular/angular.js
    Developed by: Angular Core Team (angular-core+npm@google.com)
    License name: MIT License
    Notice:       Copyright (c) 2016 Angular
  
  argparse@1.0.10: 
    Project:      argparse (NodeJS module)
    Version:      1.0.10
    Available at: https://github.com/nodeca/argparse
    License name: MIT License
    Notice:       Copyright (C) 2012 by Vitaly Puzrin
  
  bootstrap@3.3.7: 
    Project:      bootstrap (NodeJS module)
    Version:      3.3.7
    Available at: 
      - http://getbootstrap.com
      - https://github.com/twbs/bootstrap
    Developed by: Twitter, Inc.
    License name: MIT License
    Notice:       Copyright (c) 2011-2016 Twitter, Inc.
  
  clipboard@1.5.16: 
    Project:      clipboard (NodeJS module)
    Version:      1.5.16
    Available at: https://github.com/zenorocha/clipboard.js
    License name: MIT License
  
  codemirror@5.39.2: 
    Project:      codemirror (NodeJS module)
    Version:      5.39.2
    Available at: 
      - http://codemirror.net
      - https://github.com/codemirror/CodeMirror
    License name: MIT License
    Notice:       Copyright (C) 2017 by Marijn Haverbeke <marijnh@gmail.com> and others
  
  delegate@3.2.0: 
    Project:      delegate (NodeJS module)
    Version:      3.2.0
    Available at: https://github.com/zenorocha/delegate
    License name: MIT License
  
  encoding@0.1.12: 
    Project:      encoding (NodeJS module)
    Version:      0.1.12
    Available at: https://github.com/andris9/encoding
    Developed by: Andris Reinman
    License name: MIT License
    Notice:       Copyright (c) 2012-2014 Andris Reinman
  
  es6-promise@4.2.4: 
    Project:      es6-promise (NodeJS module)
    Version:      4.2.4
    Available at: https://github.com/stefanpenner/es6-promise
    Developed by: Yehuda Katz, Tom Dale, Stefan Penner and contributors (Conversion to ES6 API by Jake Archibald)
    License name: MIT License
    Notice:       Copyright (c) 2014 Yehuda Katz, Tom Dale, Stefan Penner and contributors
  
  esprima@4.0.1: 
    Project:      esprima (NodeJS module)
    Version:      4.0.1
    Available at: 
      - http://esprima.org
      - https://github.com/jquery/esprima
    Developed by: Ariya Hidayat (ariya.hidayat@gmail.com)
    License name: BSD 2-Clause (Simplified or FreeBSD) License
    Notice:       Copyright JS Foundation and other contributors, https://js.foundation/
  
  font-awesome@4.7.0: 
    Project:      font-awesome (NodeJS module)
    Version:      4.7.0
    Available at: 
      - http://fontawesome.io/
      - https://github.com/FortAwesome/Font-Awesome
    Developed by: Dave Gandy (http://twitter.com/davegandy)
    License name: Font Awesome License
  
  good-listener@1.2.2: 
    Project:      good-listener (NodeJS module)
    Version:      1.2.2
    Available at: https://github.com/zenorocha/good-listener
    License name: MIT License
  
  iconv-lite@0.4.23: 
    Project:      iconv-lite (NodeJS module)
    Version:      0.4.23
    Available at: https://github.com/ashtuchkin/iconv-lite
    Developed by: Alexander Shtuchkin (ashtuchkin@gmail.com)
    License name: MIT License
    Notice:       Copyright (c) 2011 Alexander Shtuchkin
  
  identicon.js@1.3.0: 
    Project:      identicon.js (NodeJS module)
    Version:      1.3.0
    Available at: https://github.com/stewartlord/identicon.js
    Developed by: stewardlord
    License name: BSD 2-Clause (Simplified or FreeBSD) License
    Notice:       Copyright (c) 2013, Stewart Lord. All rights reserved.
  
  is-stream@1.1.0: 
    Project:      is-stream (NodeJS module)
    Version:      1.1.0
    Available at: https://github.com/sindresorhus/is-stream
    Developed by: Sindre Sorhus (sindresorhus.com)
    License name: MIT License
    Notice:       Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)
  
  isomorphic-fetch@2.2.1: 
    Project:      isomorphic-fetch (NodeJS module)
    Version:      2.2.1
    Available at: 
      - https://github.com/matthew-andrews/isomorphic-fetch
      - https://github.com/matthew-andrews/isomorphic-fetch/issues
    Developed by: Matt Andrews (matt@mattandre.ws)
    License name: MIT License
    Notice:       Copyright (c) 2015 Matt Andrews
  
  java-stack-parser@1.0.0: 
    Project:      java-stack-parser (NodeJS module)
    Version:      1.0.0
    Available at: https://github.com/tbouron/java-stack-parser
    Developed by: Thomas Bouron
    License name: Apache License, version 2.0
  
  js-yaml@3.12.0: 
    Project:      js-yaml (NodeJS module)
    Version:      3.12.0
    Available at: https://github.com/nodeca/js-yaml
    Developed by: Vladimir Zapparov (dervus.grim@gmail.com)
    License name: MIT License
    Notice:       Copyright (C) 2011-2015 by Vitaly Puzrin
  
  jsonschema@1.2.4: 
    Project:      jsonschema (NodeJS module)
    Version:      1.2.4
    Available at: https://github.com/tdegrunt/jsonschema
    Developed by: Tom de Grunt (tom@degrunt.nl)
    License name: MIT License
    Notice:       Copyright (C) 2012-2015 Tom de Grunt <tom@degrunt.nl>
  
  jssha@2.3.1: 
    Project:      jssha (NodeJS module)
    Version:      2.3.1
    Available at: https://github.com/Caligatio/jsSHA
    Developed by: Brian Turek (brian.turek@gmail.com)
    License name: BSD 3-Clause (New BSD) License
    Notice:       Copyright (c) 2008-2017, Brian Turek. All rights reserved.*
  
  lodash@4.17.10: 
    Project:      lodash (NodeJS module)
    Version:      4.17.10
    Available at: 
      - https://github.com/lodash/lodash
      - https://lodash.com/
    Developed by: John-David Dalton (http://allyoucanleet.com/)
    License name: MIT License
    Notice:       Copyright JS Foundation and other contributors <https://js.foundation/>
  
  ngclipboard@1.1.2: 
    Project:      ngclipboard (NodeJS module)
    Version:      1.1.2
    Available at: https://github.com/sachinchoolur/ngclipboard
    Developed by: Sachin (https://github.com/sachinchoolur)
    License name: MIT License
    Notice:       Copyright (c) 2015 Sachin N
  
  node-fetch@1.7.3: 
    Project:      node-fetch (NodeJS module)
    Version:      1.7.3
    Available at: https://github.com/bitinn/node-fetch
    Developed by: David Frank
    License name: MIT License
    Notice:       Copyright (c) 2016 David Frank
  
  normalizr@2.3.1: 
    Project:      normalizr (NodeJS module)
    Version:      2.3.1
    Available at: https://github.com/paularmstrong/normalizr
    Developed by: Dan Abramov
    License name: MIT License
    Notice:       Copyright (c) 2014 Dan Abramov
  
  rxjs@5.5.11: 
    Project:      rxjs (NodeJS module)
    Version:      5.5.11
    Available at: https://github.com/ReactiveX/RxJS
    Developed by: Ben Lesh (ben@benlesh.com)
    License name: Apache License, version 2.0
  
  safer-buffer@2.1.2: 
    Project:      safer-buffer (NodeJS module)
    Version:      2.1.2
    Available at: https://github.com/ChALkeR/safer-buffer
    Developed by: Nikita Skovoroda (https://github.com/ChALkeR)
    License name: MIT License
    Notice:       Copyright (c) 2018 Nikita Skovoroda <chalkerx@gmail.com>
  
  select@1.1.2: 
    Project:      select (NodeJS module)
    Version:      1.1.2
    Available at: https://github.com/zenorocha/select
    License name: MIT License
  
  sprintf-js@1.0.3: 
    Project:      sprintf-js (NodeJS module)
    Version:      1.0.3
    Available at: https://github.com/alexei/sprintf.js
    Developed by: Alexandru Marasteanu (http://alexei.ro/)
    License name: BSD 3-Clause (New BSD) License
    Notice:       Copyright (c) 2007-2014, Alexandru Marasteanu <hello [at) alexei (dot] ro>. All rights reserved.
  
  symbol-observable@1.0.1: 
    Project:      symbol-observable (NodeJS module)
    Version:      1.0.1
    Available at: https://github.com/blesh/symbol-observable
    Developed by: Ben Lesh (ben@benlesh.com)
    License name: MIT License
    Notice:       Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com). Copyright (c) Ben Lesh <ben@benlesh.com>
  
  tiny-emitter@1.2.0: 
    Project:      tiny-emitter (NodeJS module)
    Version:      1.2.0
    Available at: https://github.com/scottcorgan/tiny-emitter
    Developed by: Scott Corgan
    License name: MIT License
    Notice:       Copyright (c) 2016 Scott Corgan
  
  whatwg-fetch@2.0.4: 
    Project:      whatwg-fetch (NodeJS module)
    Version:      2.0.4
    Available at: https://github.com/github/fetch
    License name: MIT License
    Notice:       Copyright (c) 2014-2016 GitHub, Inc.
  
