...
 
Commits (17)
stages:
- build
- test
- deploy
variables:
# AWS_KEY: See https://console.aws.amazon.com/iam/home?#/users/sidecar-ci?section=security_credentials
# AWS_SECRET: See https://console.aws.amazon.com/iam/home?#/users/sidecar-ci?section=security_credentials
cache:
paths:
- node_modules/
- dist/
build:
stage: build
image: node:8
script:
- npm install
- npm run build
artifacts:
expire_in: 1 week
paths:
- node_modules/
- dist/
test:
stage: test
image: node:8
script:
- npm test
variables:
SELENIUM_REMOTE_URL: http://selenium-server:4444/wd/hub
services:
- name: selenium/standalone-chrome:3.14.0
alias: selenium-server
deploy_prod_microsite_manual:
stage: deploy
image: node:8
only:
- master
# Production is only manual
when: manual
script:
# This handles building, uploading, deploying
- npm run deploy-microsite
environment:
name: microsite-prod
url: https://sidecar.gitter.im/
deploy_prod_script_manual:
stage: deploy
image: node:8
only:
- tags
# Production is only manual
when: manual
script:
# This handles building, uploading, deploying
- npm run deploy-sidecar
environment:
name: script-prod
url: https://sidecar.gitter.im/dist/sidecar.v1.js
......@@ -34,9 +34,9 @@ You can define toggle/open/close buttons in your page using the `.js-gitter-togg
## Examples
- [Basic](https://github.com/gitterHQ/sidecar/tree/master/examples/basic)
- [Toggle chat, show/hide](https://github.com/gitterHQ/sidecar/tree/master/examples/toggle-chat-class-buttons)
- [Create and Destroy chat](https://github.com/gitterHQ/sidecar/tree/master/examples/create-destroy-chat)
- [Basic](https://gitlab.com/gitlab-org/gitter/sidecar/tree/master/examples/basic)
- [Toggle chat, show/hide](https://gitlab.com/gitlab-org/gitter/sidecar/tree/master/examples/toggle-chat-class-buttons)
- [Create and Destroy chat](https://gitlab.com/gitlab-org/gitter/sidecar/tree/master/examples/create-destroy-chat)
# Options
......
# v1.4.2 - 2019-1-2
- [Microsite](https://sidecar.gitter.im/): Update example links from GitHub to GitLab
- Thanks to [@avelino](https://gitlab.com/avelino) for the contribution, https://gitlab.com/gitlab-org/gitter/sidecar/merge_requests/74
# v1.4.0 - 2018-9-4
- Use `rel="noopener"` on external links to isolate Gitter from referrers JavaScript
- Thanks to [@wmhilton](https://gitlab.com/wmhilton) for the contribution, https://gitlab.com/gitlab-org/gitter/sidecar/merge_requests/72
- Migrate project over to GitLab
# v1.3.3 - 2018-2-12
- Only shim `Array.from` when it isn't available natively
# v1.3.2 - 2016-11-9
- Disable Selenium tests because we don't have a BrowserStack subscription anymore
- Update Node.js engine to `4.8.6` in CircleCI config
# v1.3.1 - 2016-11-9
- Update Node.js engine to `4.8.6` in package.json
# v1.3.0 - 2016-11-9
- Slight readme fixes
- Ignore SauceLabs log file
# v1.2.4 - 2016-6-6
- Remove `libraryTarget: 'umd'` from webpack config
# v1.2.3 - 2016-2-9
- Fix action bar items on IE11. IE11 doesn't support adding multiple class names at once `element.classList.add('foo', 'bar')` so we separated out the calls
- Fixed shim usage from breaking change in [`array.from`](https://github.com/mathiasbynens/Array.from) that now uses es-shim API
# v1.2.2 - 2016-2-8
- Update dependencies
......
......@@ -79,6 +79,4 @@ You'll need AWS credentials exported as `AWS_KEY` and `AWS_SECRET`. This command
# Testing
You'll need a BrowserStack username and key, exported as `BS_USER` and `BS_KEY` respectively.
`npm test`
#!/bin/bash
if [[ "$1" == "stop" ]]
then
echo "Stopping browserstack tunnel..."
killall BrowserStackLocal
exit
fi
if [[ ! -e browserstack ]]
then
echo "Downloading browserstack tunnel..."
mkdir -p browserstack
curl https://www.browserstack.com/browserstack-local/BrowserStackLocal-linux-x64.zip > browserstack/BrowserStackLocal-linux-x64.zip
cd browserstack && unzip BrowserStackLocal-linux-x64.zip && chmod a+x BrowserStackLocal
cd ..
fi
echo "Browserstack tunnel ready..."
dependencies:
cache_directories:
- browserstack
test:
override:
- npm run build
#- ci/browserstack_tunnel.sh
#- browserstack/BrowserStackLocal -f $BS_KEY $PWD/test/fixtures:
# background: true
#- npm test
#- ci/browserstack_tunnel.sh stop
deployment:
master:
branch: master
owner: gitterHQ
commands:
- npm run deploy-microsite
release:
tag: /v[0-9]+(\.[0-9]+)*/
owner: gitterHQ
commands:
- npm run deploy-sidecar
machine:
node:
version: 4.8.6
html,body{padding:0;margin:0}html{width:100%;height:100%;box-sizing:border-box}body{width:100%;height:100%;min-width:100%;min-height:100%}*,*:before,*:after{box-sizing:inherit}input,button,textarea,kbd{color:inherit;font-family:inherit;font-size:inherit;line-height:inherit}h1,h2,h3,h4{font-size:inherit}a{margin:0;padding:0;background:transparent;color:inherit;text-decoration:none;cursor:pointer;-webkit-transition:all .3s ease;transition:all .3s ease}a:visited{color:inherit;text-decoration:none}a:hover,a:focus{color:inherit;text-decoration:none}a:active{text-decoration:none}img{display:block;max-width:100%;height:auto;border:0}.gitter-logo-holder{position:relative;display:inline-block;vertical-align:middle;width:1.0625em}.gitter-logo-holder:after{content:'';display:block;width:100%;padding-bottom:141.176%}.logo-left-arm,.logo-body-left,.logo-body-right,.logo-right-arm{position:absolute;width:11.7647%;width:2px;background-color:currentColor}.logo-left-arm{height:62.5%}.logo-body-right,.logo-body-left{top:16.6667%;top:4px;height:83.3334%}.logo-body-left{left:29.41176%;left:5px}.logo-body-right{left:58.8235%;left:10px}.logo-right-arm{top:16.6667%;top:4px;left:88.23529%;left:15px;height:45.833%}:root{font-size:1em}body{height:100%;font-family:Source Sans Pro,pt sans,calibri,sans-serif;font-size:1rem;line-height:1.4;font-weight:400}.microsite-app-entry-point{height:100%}.panel-wrapper{overflow:auto;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start;-webkit-box-align:stretch;-webkit-align-items:stretch;-ms-flex-align:stretch;align-items:stretch;height:100%}@media(max-width:768px){.panel-wrapper{-webkit-box-orient:vertical;-webkit-box-direction:reverse;-webkit-flex-direction:column-reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse;height:auto}}.primary-panel,.documentation-panel{overflow:auto;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;height:100%;padding-top:5%;padding-left:10%;padding-bottom:10%;padding-right:10%}@media(max-width:1400px){.primary-panel,.documentation-panel{padding-top:2.5%;padding-left:5%;padding-bottom:5%;padding-right:5%}}@media(max-width:768px){.primary-panel,.documentation-panel{-webkit-box-flex:0;-webkit-flex:none;-ms-flex:none;flex:none;height:auto}}.primary-panel{padding-bottom:2%;background-image:url(../images/primary-background.jpg);background-size:cover;color:#d5d2e5}.primary-panel>h1,.primary-panel>h2,.primary-panel>h3,.primary-panel>h4,.primary-panel>h5,.primary-panel>h6{color:#f4f2ed}.primary-panel-gitter-logo-title{margin-bottom:1em;color:#f4f2ed;font-size:1.36rem;text-align:center}.primary-panel-gitter-logo-title>.gitter-logo-holder+.gitter-logo-name{margin-left:.75em}.primary-panel-gitter-logo-diagram{width:17px;-webkit-transform:translateY(-200px);transform:translateY(-200px);-webkit-animation-name:logo-dropdown;animation-name:logo-dropdown;-webkit-animation-duration:.5s;animation-duration:.5s;-webkit-animation-timing-function:ease;animation-timing-function:ease;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards}@-webkit-keyframes logo-dropdown{98%{-webkit-transform:translateY(2px);transform:translateY(2px)}100%{-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes logo-dropdown{98%{-webkit-transform:translateY(2px);transform:translateY(2px)}100%{-webkit-transform:translateY(0);transform:translateY(0)}}.primary-panel-gitter-logo-text{display:inline-block;vertical-align:middle;height:12px;margin-left:20px;fill:currentColor}.primary-panel-secondary-header{margin-top:1em;margin-bottom:1em;font-size:1.5em;font-weight:400}.sidecar-diagram{width:100%;max-height:30vh;margin-left:auto;margin-bottom:6vh;margin-right:auto}.gitter-open-chat-button{font-size:.8rem;letter-spacing:.128rem;text-transform:uppercase}.see-action-wrapper{position:fixed;right:20px;bottom:60px;width:150px}@media(max-width:768px){.see-action-wrapper{display:none}}.see-action-diagram{width:100%}.documentation-panel{position:relative;padding-bottom:0;color:#878687}.documentation-panel-primary-header,.documentation-panel-secondary-header{width:100%;margin-top:0;margin-bottom:1.5em;color:#312d2c;text-align:center}.documentation-panel-primary-header{font-size:2em}.documentation-panel-secondary-header{font-size:1.5em}.header-with-down-arrow{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.header-with-down-arrow:after{content:'';display:block;width:50px;height:18.3188px;margin-top:1em;margin-bottom:1em;background-image:url(../images/more-content-down-arrow.svg);background-repeat:no-repeat;background-size:cover}.documentation-panel-getting-started{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;min-height:calc(100% - 90px)}.documentation-panel-getting-started-body{-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}.primary-input{width:100%;padding:9px;border:1px solid #deddde;box-shadow:inset 0 4px 8px -4px rgba(0,0,0,.15);border-radius:4px;text-align:center}.copy-snippet-block{margin-bottom:1em;border:1px solid #f4f4f4;border-radius:10px}.copy-snippet-block-body{padding-top:15px;padding-left:20px;padding-bottom:15px;padding-right:20px;overflow:auto;margin-top:0;margin-bottom:0;background-color:#f4f4f4;border-top-left-radius:10px;border-top-right-radius:10px}.copy-snippet-block-under-section{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;padding-top:8px;padding-left:12px;padding-bottom:8px;padding-right:12px}.copy-snippet-block-annotation{color:#c4c4c2}.copy-snippet-block-copy-button{position:relative;display:block;padding-top:4px;padding-left:16px;padding-bottom:4px;padding-right:16px;background-color:#f4f2ed;border:1px solid #d6d5d3;border-radius:3px;color:#312d2c;font-size:.9em;letter-spacing:.05em;text-transform:uppercase}.copy-snippet-block-copy-button.is-click-positive:after{opacity:1}.copy-snippet-block-copy-button:after{content:'Copied!';opacity:0;position:absolute;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%);-webkit-transition:opacity .2s ease;transition:opacity .2s ease}.copy-snippet-block-copy-button-main-text{-webkit-transition:opacity .1s ease;transition:opacity .1s ease}.is-click-positive>.copy-snippet-block-copy-button-main-text{opacity:0}.use-markdown{font-size:.9em}.use-markdown a{color:#40de92}.use-markdown ul,.use-markdown ol{padding-left:2em}.use-markdown ul ul,.use-markdown ul ol,.use-markdown ol ul,.use-markdown ol ol{margin-top:0;margin-bottom:0}.use-markdown h1{font-size:2em}.use-markdown h2{font-size:1.5em}.use-markdown h3{font-size:1.17em}.use-markdown h4{font-size:1.12em}.use-markdown h5{font-size:.83em}.use-markdown h6{font-size:.75em}.use-markdown h1,.use-markdown h2,.use-markdown h3{margin-top:.25em;margin-bottom:.25em}.use-markdown h4,.use-markdown h5,.use-markdown h6{margin-top:.15em;margin-bottom:.15em}.use-markdown p,.use-markdown ul,.use-markdown ol,.use-markdown pre{margin-top:1em;margin-bottom:1em;font-size:1rem}.use-markdown pre{overflow:auto;padding-top:15px;padding-left:20px;padding-bottom:15px;padding-right:20px;background-color:#f4f4f4;border-radius:10px}.use-markdown pre>code{padding:0;background:none;border-radius:0}.use-markdown code{padding:3px;background-color:#f4f4f4;border-radius:2px}
\ No newline at end of file
html,body{padding:0;margin:0}html{width:100%;height:100%;box-sizing:border-box}body{width:100%;height:100%;min-width:100%;min-height:100%}*,*:before,*:after{box-sizing:inherit}input,button,textarea,kbd{color:inherit;font-family:inherit;font-size:inherit;line-height:inherit}h1,h2,h3,h4{font-size:inherit}a{margin:0;padding:0;background:transparent;color:inherit;text-decoration:none;cursor:pointer;transition:all .3s ease}a:visited{color:inherit;text-decoration:none}a:hover,a:focus{color:inherit;text-decoration:none}a:active{text-decoration:none}img{display:block;max-width:100%;height:auto;border:0}.gitter-logo-holder{position:relative;display:inline-block;vertical-align:middle;width:1.0625em}.gitter-logo-holder:after{content:'';display:block;width:100%;padding-bottom:141.176%}.logo-left-arm,.logo-body-left,.logo-body-right,.logo-right-arm{position:absolute;width:11.7647%;width:2px;background-color:currentColor}.logo-left-arm{height:62.5%}.logo-body-right,.logo-body-left{top:16.6667%;top:4px;height:83.3334%}.logo-body-left{left:29.41176%;left:5px}.logo-body-right{left:58.8235%;left:10px}.logo-right-arm{top:16.6667%;top:4px;left:88.23529%;left:15px;height:45.833%}:root{font-size:1em}body{height:100%;font-family:Source Sans Pro,pt sans,calibri,sans-serif;font-size:1rem;line-height:1.4;font-weight:400}.microsite-app-entry-point{height:100%}.panel-wrapper{overflow:auto;display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;-ms-flex-pack:start;justify-content:flex-start;-ms-flex-align:stretch;align-items:stretch;height:100%}@media(max-width:768px){.panel-wrapper{-ms-flex-direction:column-reverse;flex-direction:column-reverse;height:auto}}.primary-panel,.documentation-panel{overflow:auto;-ms-flex:1;flex:1;height:100%;padding-top:5%;padding-left:10%;padding-bottom:10%;padding-right:10%}@media(max-width:1400px){.primary-panel,.documentation-panel{padding-top:2.5%;padding-left:5%;padding-bottom:5%;padding-right:5%}}@media(max-width:768px){.primary-panel,.documentation-panel{-ms-flex:none;flex:none;height:auto}}.primary-panel{padding-bottom:2%;background-image:url(../images/primary-background.jpg);background-size:cover;color:#d5d2e5}.primary-panel>h1,.primary-panel>h2,.primary-panel>h3,.primary-panel>h4,.primary-panel>h5,.primary-panel>h6{color:#f4f2ed}.primary-panel-gitter-logo-title{margin-bottom:1em;color:#f4f2ed;font-size:1.36rem;text-align:center}.primary-panel-gitter-logo-title>.gitter-logo-holder+.gitter-logo-name{margin-left:.75em}.primary-panel-gitter-logo-diagram{width:17px;transform:translateY(-200px);animation-name:logo-dropdown;animation-duration:.5s;animation-timing-function:ease;animation-fill-mode:forwards}@keyframes logo-dropdown{98%{transform:translateY(2px)}100%{transform:translateY(0)}}.primary-panel-gitter-logo-text{display:inline-block;vertical-align:middle;height:12px;margin-left:20px;fill:currentColor}.primary-panel-secondary-header{margin-top:1em;margin-bottom:1em;font-size:1.5em;font-weight:400}.sidecar-diagram{width:100%;max-height:30vh;margin-left:auto;margin-bottom:6vh;margin-right:auto}.gitter-open-chat-button{font-size:.8rem;letter-spacing:.128rem;text-transform:uppercase}.see-action-wrapper{position:fixed;right:20px;bottom:60px;width:150px}@media(max-width:768px){.see-action-wrapper{display:none}}.see-action-diagram{width:100%}.documentation-panel{position:relative;padding-bottom:0;color:#878687}.documentation-panel-primary-header,.documentation-panel-secondary-header{width:100%;margin-top:0;margin-bottom:1.5em;color:#312d2c;text-align:center}.documentation-panel-primary-header{font-size:2em}.documentation-panel-secondary-header{font-size:1.5em}.header-with-down-arrow{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-align:center;align-items:center}.header-with-down-arrow:after{content:'';display:block;width:50px;height:18.3188px;margin-top:1em;margin-bottom:1em;background-image:url(../images/more-content-down-arrow.svg);background-repeat:no-repeat;background-size:cover}.documentation-panel-getting-started{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;min-height:calc(100% - 90px)}.documentation-panel-getting-started-body{-ms-flex:1;flex:1;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center}.primary-input{width:100%;padding:9px;border:1px solid #deddde;box-shadow:inset 0 4px 8px -4px rgba(0,0,0,.15);border-radius:4px;text-align:center}.copy-snippet-block{margin-bottom:1em;border:1px solid #f4f4f4;border-radius:10px}.copy-snippet-block-body{padding-top:15px;padding-left:20px;padding-bottom:15px;padding-right:20px;overflow:auto;margin-top:0;margin-bottom:0;background-color:#f4f4f4;border-top-left-radius:10px;border-top-right-radius:10px}.copy-snippet-block-under-section{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-align:center;align-items:center;padding-top:8px;padding-left:12px;padding-bottom:8px;padding-right:12px}.copy-snippet-block-annotation{color:#c4c4c2}.copy-snippet-block-copy-button{position:relative;display:block;padding-top:4px;padding-left:16px;padding-bottom:4px;padding-right:16px;background-color:#f4f2ed;border:1px solid #d6d5d3;border-radius:3px;color:#312d2c;font-size:.9em;letter-spacing:.05em;text-transform:uppercase}.copy-snippet-block-copy-button.is-click-positive:after{opacity:1}.copy-snippet-block-copy-button:after{content:'Copied!';opacity:0;position:absolute;left:50%;transform:translateX(-50%);transition:opacity .2s ease}.copy-snippet-block-copy-button-main-text{transition:opacity .1s ease}.is-click-positive>.copy-snippet-block-copy-button-main-text{opacity:0}.use-markdown{font-size:.9em}.use-markdown a{color:#40de92}.use-markdown ul,.use-markdown ol{padding-left:2em}.use-markdown ul ul,.use-markdown ul ol,.use-markdown ol ul,.use-markdown ol ol{margin-top:0;margin-bottom:0}.use-markdown h1{font-size:2em}.use-markdown h2{font-size:1.5em}.use-markdown h3{font-size:1.17em}.use-markdown h4{font-size:1.12em}.use-markdown h5{font-size:.83em}.use-markdown h6{font-size:.75em}.use-markdown h1,.use-markdown h2,.use-markdown h3{margin-top:.25em;margin-bottom:.25em}.use-markdown h4,.use-markdown h5,.use-markdown h6{margin-top:.15em;margin-bottom:.15em}.use-markdown p,.use-markdown ul,.use-markdown ol,.use-markdown pre{margin-top:1em;margin-bottom:1em;font-size:1rem}.use-markdown pre{overflow:auto;padding-top:15px;padding-left:20px;padding-bottom:15px;padding-right:20px;background-color:#f4f4f4;border-radius:10px}.use-markdown pre>code{padding:0;background:none;border-radius:0}.use-markdown code{padding:3px;background-color:#f4f4f4;border-radius:2px}
\ No newline at end of file
......@@ -14,12 +14,12 @@
<link href="css/all.css" rel="stylesheet">
</head>
<body>
<div class="microsite-app-entry-point"><div class="panel-wrapper" data-reactid=".15k3k1gfv9c" data-react-checksum="1587891575"><section class="documentation-panel" data-reactid=".15k3k1gfv9c.0"><div class="documentation-panel-getting-started" data-reactid=".15k3k1gfv9c.0.0"><h1 class="documentation-panel-primary-header" data-reactid=".15k3k1gfv9c.0.0.0">Sidecar</h1><div class="documentation-panel-getting-started-body" data-reactid=".15k3k1gfv9c.0.0.1"><p data-reactid=".15k3k1gfv9c.0.0.1.0">Please type the name of the public, existing room that you want to load into your sidecar. E.g. gitterHQ/sidecar</p><input class="primary-input" type="text" placeholder="Enter Room Name" value="" data-reactid=".15k3k1gfv9c.0.0.1.1"/><p data-reactid=".15k3k1gfv9c.0.0.1.2">Just copy and paste it into your site.</p><div class="copy-snippet-block {this.props.className}" data-reactid=".15k3k1gfv9c.0.0.1.3"><pre class="copy-snippet-block-body" data-reactid=".15k3k1gfv9c.0.0.1.3.0"><code data-reactid=".15k3k1gfv9c.0.0.1.3.0.0">&lt;script&gt;
<div class="microsite-app-entry-point"><div class="panel-wrapper" data-reactid=".1wxz3h4ecuw" data-react-checksum="-792303769"><section class="documentation-panel" data-reactid=".1wxz3h4ecuw.0"><div class="documentation-panel-getting-started" data-reactid=".1wxz3h4ecuw.0.0"><h1 class="documentation-panel-primary-header" data-reactid=".1wxz3h4ecuw.0.0.0">Sidecar</h1><div class="documentation-panel-getting-started-body" data-reactid=".1wxz3h4ecuw.0.0.1"><p data-reactid=".1wxz3h4ecuw.0.0.1.0">Please type the name of the public, existing room that you want to load into your sidecar. E.g. gitterHQ/sidecar</p><input class="primary-input" type="text" placeholder="Enter Room Name" value="" data-reactid=".1wxz3h4ecuw.0.0.1.1"/><p data-reactid=".1wxz3h4ecuw.0.0.1.2">Just copy and paste it into your site.</p><div class="copy-snippet-block {this.props.className}" data-reactid=".1wxz3h4ecuw.0.0.1.3"><pre class="copy-snippet-block-body" data-reactid=".1wxz3h4ecuw.0.0.1.3.0"><code data-reactid=".1wxz3h4ecuw.0.0.1.3.0.0">&lt;script&gt;
((window.gitter = {}).chat = {}).options = {
room: &#x27;&#x27;
};
&lt;/script&gt;
&lt;script src=&quot;https://sidecar.gitter.im/dist/sidecar.v1.js&quot; async defer&gt;&lt;/script&gt;</code></pre><div class="copy-snippet-block-under-section" data-reactid=".15k3k1gfv9c.0.0.1.3.1"><summary class="copy-snippet-block-annotation" data-reactid=".15k3k1gfv9c.0.0.1.3.1.0">A little snippet in your website</summary><button class="copy-snippet-block-copy-button" data-reactid=".15k3k1gfv9c.0.0.1.3.1.1"><span class="copy-snippet-block-copy-button-main-text" data-reactid=".15k3k1gfv9c.0.0.1.3.1.1.0">Copy to Clipboard</span></button></div></div></div></div><div class="documentation-panel-docs" data-reactid=".15k3k1gfv9c.0.1"><h2 class="documentation-panel-secondary-header header-with-down-arrow" data-reactid=".15k3k1gfv9c.0.1.0">Documentation</h2><section class="documentation-panel-docs-body use-markdown" data-reactid=".15k3k1gfv9c.0.1.1"><h2 id="overview">Overview</h2>
&lt;script src=&quot;https://sidecar.gitter.im/dist/sidecar.v1.js&quot; async defer&gt;&lt;/script&gt;</code></pre><div class="copy-snippet-block-under-section" data-reactid=".1wxz3h4ecuw.0.0.1.3.1"><summary class="copy-snippet-block-annotation" data-reactid=".1wxz3h4ecuw.0.0.1.3.1.0">A little snippet in your website</summary><button class="copy-snippet-block-copy-button" data-reactid=".1wxz3h4ecuw.0.0.1.3.1.1"><span class="copy-snippet-block-copy-button-main-text" data-reactid=".1wxz3h4ecuw.0.0.1.3.1.1.0">Copy to Clipboard</span></button></div></div></div></div><div class="documentation-panel-docs" data-reactid=".1wxz3h4ecuw.0.1"><h2 class="documentation-panel-secondary-header header-with-down-arrow" data-reactid=".1wxz3h4ecuw.0.1.0">Documentation</h2><section class="documentation-panel-docs-body use-markdown" data-reactid=".1wxz3h4ecuw.0.1.1"><h2 id="overview">Overview</h2>
<p>Primarily sidecar has an activation element that will show sidecar and a target element where sidecar gets loaded. These elements are specified by default but can be customised (see below).</p>
<h2 id="ui-customisation">UI Customisation</h2>
<p>If you need a custom button or want to insert the chat in your own element, use the following setup:</p>
......@@ -28,11 +28,11 @@
<li>Target element: The wrapper element that the chat is embedded into</li>
</ul>
<pre><code class="lang-html">&lt;script&gt;
((window.gitter = {}).chat = {}).options = {
room: &#39;gitterHQ/sidecar&#39;,
activationElement: &#39;.my-special-button&#39;,
targetElement: &#39;.my-special-target-element&#39;
};
((window.gitter = {}).chat = {}).options = {
room: &#39;gitterHQ/sidecar&#39;,
activationElement: &#39;.my-special-button&#39;,
targetElement: &#39;.my-special-target-element&#39;
};
&lt;/script&gt;
</code></pre>
<h3 id="toggle-buttons">Toggle Buttons</h3>
......@@ -43,22 +43,22 @@
</code></pre>
<h2 id="examples">Examples</h2>
<ul>
<li><a href="https://github.com/gitterHQ/sidecar/tree/master/examples/basic">Basic</a></li>
<li><a href="https://github.com/gitterHQ/sidecar/tree/master/examples/toggle-chat-class-buttons">Toggle chat, show/hide</a></li>
<li><a href="https://github.com/gitterHQ/sidecar/tree/master/examples/create-destroy-chat">Create and Destroy chat</a></li>
<li><a href="https://gitlab.com/gitlab-org/gitter/sidecar/tree/master/examples/basic">Basic</a></li>
<li><a href="https://gitlab.com/gitlab-org/gitter/sidecar/tree/master/examples/toggle-chat-class-buttons">Toggle chat, show/hide</a></li>
<li><a href="https://gitlab.com/gitlab-org/gitter/sidecar/tree/master/examples/create-destroy-chat">Create and Destroy chat</a></li>
</ul>
<h1 id="options">Options</h1>
<p>Set options with the global window option:</p>
<pre><code class="lang-html">&lt;script&gt;
((window.gitter = {}).chat = {}).options = {
room: &#39;gitterHQ/sidecar&#39;
};
((window.gitter = {}).chat = {}).options = {
room: &#39;gitterHQ/sidecar&#39;
};
&lt;/script&gt;
</code></pre>
<p>You can also override these options individually on the target element:</p>
<pre><code class="lang-html">&lt;div
class=&quot;gitter-chat-embed&quot;
data-room=&quot;gitterHQ/sidecar&quot;
class=&quot;gitter-chat-embed&quot;
data-room=&quot;gitterHQ/sidecar&quot;
&gt;&lt;/div&gt;
</code></pre>
<ul>
......@@ -107,7 +107,7 @@
</li>
</ul>
<h1 id="api">API</h1>
<h2 id="-gitter-chat-"><code>gitter.Chat</code></h2>
<h2 id="gitter-chat"><code>gitter.Chat</code></h2>
<pre><code class="lang-js">var chat = new window.gitter.Chat(/* options */);`
</code></pre>
<ul>
......@@ -140,14 +140,14 @@
</ul>
<p><em>example:</em></p>
<pre><code class="lang-js">document.querySelector(&#39;.gitter-chat-embed&#39;).addEventListener(&#39;gitter-chat-toggle&#39;, function(e) {
console.log(e.detail.state ? &#39;Chat Opened&#39; : &#39;Chat Closed&#39;);
console.log(e.detail.state ? &#39;Chat Opened&#39; : &#39;Chat Closed&#39;);
});
</code></pre>
</section></div></section><section class="primary-panel" data-reactid=".15k3k1gfv9c.1"><div class="primary-panel-gitter-logo-title" data-reactid=".15k3k1gfv9c.1.0"><div class="gitter-logo-holder primary-panel-gitter-logo-diagram" data-reactid=".15k3k1gfv9c.1.0.0"><div class="logo-left-arm" data-reactid=".15k3k1gfv9c.1.0.0.0"></div><div class="logo-body-left" data-reactid=".15k3k1gfv9c.1.0.0.1"></div><div class="logo-body-right" data-reactid=".15k3k1gfv9c.1.0.0.2"></div><div class="logo-right-arm" data-reactid=".15k3k1gfv9c.1.0.0.3"></div></div><img class="primary-panel-gitter-logo-text" src="images/gitter-logo-text.svg" data-reactid=".15k3k1gfv9c.1.0.1"/></div><img class="sidecar-diagram" src="images/sidecar-diagram.svg" data-reactid=".15k3k1gfv9c.1.1"/><h2 class="primary-panel-secondary-header" data-reactid=".15k3k1gfv9c.1.2">Add some Gitter to your site</h2><p data-reactid=".15k3k1gfv9c.1.3">Sidecar is a (mostly) code-free way of embedding Gitter into your website with a simple JavaScript snippet.</p><p data-reactid=".15k3k1gfv9c.1.4">It works out of the box with no customization, or you can control its behaviour with some basic configuration.</p><div class="see-action-wrapper" data-reactid=".15k3k1gfv9c.1.5"><img class="see-action-diagram" src="images/see-it-in-action.svg" data-reactid=".15k3k1gfv9c.1.5.0"/></div></section></div></div>
</section></div></section><section class="primary-panel" data-reactid=".1wxz3h4ecuw.1"><div class="primary-panel-gitter-logo-title" data-reactid=".1wxz3h4ecuw.1.0"><div class="gitter-logo-holder primary-panel-gitter-logo-diagram" data-reactid=".1wxz3h4ecuw.1.0.0"><div class="logo-left-arm" data-reactid=".1wxz3h4ecuw.1.0.0.0"></div><div class="logo-body-left" data-reactid=".1wxz3h4ecuw.1.0.0.1"></div><div class="logo-body-right" data-reactid=".1wxz3h4ecuw.1.0.0.2"></div><div class="logo-right-arm" data-reactid=".1wxz3h4ecuw.1.0.0.3"></div></div><img class="primary-panel-gitter-logo-text" src="images/gitter-logo-text.svg" data-reactid=".1wxz3h4ecuw.1.0.1"/></div><img class="sidecar-diagram" src="images/sidecar-diagram.svg" data-reactid=".1wxz3h4ecuw.1.1"/><h2 class="primary-panel-secondary-header" data-reactid=".1wxz3h4ecuw.1.2">Add some Gitter to your site</h2><p data-reactid=".1wxz3h4ecuw.1.3">Sidecar is a (mostly) code-free way of embedding Gitter into your website with a simple JavaScript snippet.</p><p data-reactid=".1wxz3h4ecuw.1.4">It works out of the box with no customization, or you can control its behaviour with some basic configuration.</p><div class="see-action-wrapper" data-reactid=".1wxz3h4ecuw.1.5"><img class="see-action-diagram" src="images/see-it-in-action.svg" data-reactid=".1wxz3h4ecuw.1.5.0"/></div></section></div></div>
<script>
window.__INITIAL_STATE__ = {"roomName":"","sidecarVersion":1,"documentation":"<h2 id=\"overview\">Overview</h2>\n<p>Primarily sidecar has an activation element that will show sidecar and a target element where sidecar gets loaded. These elements are specified by default but can be customised (see below).</p>\n<h2 id=\"ui-customisation\">UI Customisation</h2>\n<p>If you need a custom button or want to insert the chat in your own element, use the following setup:</p>\n<ul>\n<li>Activation element: The &quot;Open Chat&quot; button</li>\n<li>Target element: The wrapper element that the chat is embedded into</li>\n</ul>\n<pre><code class=\"lang-html\">&lt;script&gt;\n ((window.gitter = {}).chat = {}).options = {\n room: &#39;gitterHQ/sidecar&#39;,\n activationElement: &#39;.my-special-button&#39;,\n targetElement: &#39;.my-special-target-element&#39;\n };\n&lt;/script&gt;\n</code></pre>\n<h3 id=\"toggle-buttons\">Toggle Buttons</h3>\n<p>You can define toggle/open/close buttons in your page using the <code>.js-gitter-toggle-chat-button</code> class and an optional <code>data-gitter-toggle-chat-state</code> attribute. If you do not provide a <code>data-gitter-toggle-chat-state</code>, it will default to <code>&#39;toggle&#39;</code>. See the <code>examples/toggle-chat-class-buttons</code> example.</p>\n<pre><code class=\"lang-html\">&lt;button class=&quot;js-gitter-toggle-chat-button&quot;&gt;Toggle Chat&lt;/button&gt;\n&lt;button class=&quot;js-gitter-toggle-chat-button&quot; data-gitter-toggle-chat-state=&quot;true&quot;&gt;Open Chat&lt;/button&gt;\n&lt;button class=&quot;js-gitter-toggle-chat-button&quot; data-gitter-toggle-chat-state=&quot;false&quot;&gt;Close Chat&lt;/button&gt;\n</code></pre>\n<h2 id=\"examples\">Examples</h2>\n<ul>\n<li><a href=\"https://github.com/gitterHQ/sidecar/tree/master/examples/basic\">Basic</a></li>\n<li><a href=\"https://github.com/gitterHQ/sidecar/tree/master/examples/toggle-chat-class-buttons\">Toggle chat, show/hide</a></li>\n<li><a href=\"https://github.com/gitterHQ/sidecar/tree/master/examples/create-destroy-chat\">Create and Destroy chat</a></li>\n</ul>\n<h1 id=\"options\">Options</h1>\n<p>Set options with the global window option:</p>\n<pre><code class=\"lang-html\">&lt;script&gt;\n ((window.gitter = {}).chat = {}).options = {\n room: &#39;gitterHQ/sidecar&#39;\n };\n&lt;/script&gt;\n</code></pre>\n<p>You can also override these options individually on the target element:</p>\n<pre><code class=\"lang-html\">&lt;div\n class=&quot;gitter-chat-embed&quot;\n data-room=&quot;gitterHQ/sidecar&quot;\n&gt;&lt;/div&gt;\n</code></pre>\n<ul>\n<li><code>options.room</code>: string - This is the Gitter room that sidecar will load (<code>gitterHQ/sidecar</code>)<ul>\n<li>Acceptable values: string</li>\n<li>Default: <code>undefined</code></li>\n</ul>\n</li>\n<li><code>options.targetElement</code>: Where you want to embed the chat.<ul>\n<li>Acceptable values: Dom node, array of dom nodes, or a string selector</li>\n<li>Default: Elements that match <code>&#39;.gitter-chat-embed&#39;</code></li>\n</ul>\n</li>\n<li><code>options.activationElement</code>: When <code>options.showChatByDefault</code> is <code>false</code>, this is the element you have to click/interact with to get the chat to actually embed, &quot;Open Chat&quot; button.<ul>\n<li>Acceptable values: Dom node, array of dom nodes, a string selector, or boolean</li>\n<li>Default: <code>undefined</code></li>\n<li>Note: This will automatically get generated if you don&#39;t specify it (<code>undefined</code>, or <code>true</code>)<ul>\n<li>Note: Passing in <code>false</code> or <code>null</code> will disable the activation element</li>\n</ul>\n</li>\n</ul>\n</li>\n<li><code>options.showChatByDefault</code>: Whether to embed the chat on page load(true) or wait until the <code>options.activation</code> is resolved/clicked/interacted with(false).<ul>\n<li>Acceptable values: boolean</li>\n<li>Default: <code>false</code></li>\n<li>Note: <strong>Use with caution,</strong> useful for use cases where you have a page dedicated to chat.</li>\n</ul>\n</li>\n<li><code>options.useStyles</code>: This will embed CSS into your document to style the activation and target element. If you want to customise these, set this option to <code>false</code> and specify your own CSS.<ul>\n<li>Acceptable values: boolean</li>\n<li>Default: <code>true</code></li>\n</ul>\n</li>\n<li><code>preload</code>: Whether the Gitter chat iframe should be loaded in when the chat embed instance is created(this is the page load for default embed)<ul>\n<li>Acceptable values: boolean</li>\n<li>Default: <code>false</code></li>\n</ul>\n</li>\n</ul>\n<h3 id=\"window-options-\">Window Options:</h3>\n<p>You can set any of the chat options above in this object as well</p>\n<ul>\n<li><code>window.gitter.chat.options.disableDefaultChat</code>: Stop the default chat from loading on the page when including the Sidecar script. <em>So you can handle the Gitter chat creation yourself.</em><ul>\n<li>The default chat is stored on <code>window.gitter.chat.defaultChat</code>.</li>\n</ul>\n</li>\n</ul>\n<h1 id=\"api\">API</h1>\n<h2 id=\"-gitter-chat-\"><code>gitter.Chat</code></h2>\n<pre><code class=\"lang-js\">var chat = new window.gitter.Chat(/* options */);`\n</code></pre>\n<ul>\n<li><code>options</code> (getter): Get a readable copy of the options used for this chat instance</li>\n<li><code>toggleChat(isChatOpen)</code>: Function/method - Takes a boolean which toggles the visibility of the chat panel<ul>\n<li>This can be used an explicit show/hide method by passing in a explict show(true) or hide(false) boolean.</li>\n</ul>\n</li>\n<li><code>destroy()</code>: Function/method - Clean-up and remove any elements created by the embed</li>\n</ul>\n<h2 id=\"events\">Events</h2>\n<p>Emitted on Document:</p>\n<ul>\n<li><code>gitter-sidecar-ready</code>: Emitted when the sidecar script has loaded and is available via <code>window.gitter</code></li>\n<li><code>gitter-sidecar-instance-started</code>: Emitted after any Sidecar chat instance has initialized<ul>\n<li>Data: <code>chat</code>: The sidecar chat instance that was initialized</li>\n</ul>\n</li>\n</ul>\n<p>Emitted on Target Element:</p>\n<ul>\n<li><code>gitter-chat-toggle</code>: Emitted whenever the chat is opened or closed<ul>\n<li>Data: <code>state</code>: Whether it was opened(true) or closed(false)</li>\n</ul>\n</li>\n<li><code>gitter-chat-started</code>: Emitted after the Sidecar chat instance has initialized<ul>\n<li>Data: <code>chat</code>: The sidecar chat instance that was initialized</li>\n</ul>\n</li>\n</ul>\n<p><em>example:</em></p>\n<pre><code class=\"lang-js\">document.querySelector(&#39;.gitter-chat-embed&#39;).addEventListener(&#39;gitter-chat-toggle&#39;, function(e) {\n console.log(e.detail.state ? &#39;Chat Opened&#39; : &#39;Chat Closed&#39;);\n});\n</code></pre>\n"};
window.__INITIAL_STATE__ = {"roomName":"","sidecarVersion":1,"documentation":"<h2 id=\"overview\">Overview</h2>\n<p>Primarily sidecar has an activation element that will show sidecar and a target element where sidecar gets loaded. These elements are specified by default but can be customised (see below).</p>\n<h2 id=\"ui-customisation\">UI Customisation</h2>\n<p>If you need a custom button or want to insert the chat in your own element, use the following setup:</p>\n<ul>\n<li>Activation element: The &quot;Open Chat&quot; button</li>\n<li>Target element: The wrapper element that the chat is embedded into</li>\n</ul>\n<pre><code class=\"lang-html\">&lt;script&gt;\n ((window.gitter = {}).chat = {}).options = {\n room: &#39;gitterHQ/sidecar&#39;,\n activationElement: &#39;.my-special-button&#39;,\n targetElement: &#39;.my-special-target-element&#39;\n };\n&lt;/script&gt;\n</code></pre>\n<h3 id=\"toggle-buttons\">Toggle Buttons</h3>\n<p>You can define toggle/open/close buttons in your page using the <code>.js-gitter-toggle-chat-button</code> class and an optional <code>data-gitter-toggle-chat-state</code> attribute. If you do not provide a <code>data-gitter-toggle-chat-state</code>, it will default to <code>&#39;toggle&#39;</code>. See the <code>examples/toggle-chat-class-buttons</code> example.</p>\n<pre><code class=\"lang-html\">&lt;button class=&quot;js-gitter-toggle-chat-button&quot;&gt;Toggle Chat&lt;/button&gt;\n&lt;button class=&quot;js-gitter-toggle-chat-button&quot; data-gitter-toggle-chat-state=&quot;true&quot;&gt;Open Chat&lt;/button&gt;\n&lt;button class=&quot;js-gitter-toggle-chat-button&quot; data-gitter-toggle-chat-state=&quot;false&quot;&gt;Close Chat&lt;/button&gt;\n</code></pre>\n<h2 id=\"examples\">Examples</h2>\n<ul>\n<li><a href=\"https://gitlab.com/gitlab-org/gitter/sidecar/tree/master/examples/basic\">Basic</a></li>\n<li><a href=\"https://gitlab.com/gitlab-org/gitter/sidecar/tree/master/examples/toggle-chat-class-buttons\">Toggle chat, show/hide</a></li>\n<li><a href=\"https://gitlab.com/gitlab-org/gitter/sidecar/tree/master/examples/create-destroy-chat\">Create and Destroy chat</a></li>\n</ul>\n<h1 id=\"options\">Options</h1>\n<p>Set options with the global window option:</p>\n<pre><code class=\"lang-html\">&lt;script&gt;\n ((window.gitter = {}).chat = {}).options = {\n room: &#39;gitterHQ/sidecar&#39;\n };\n&lt;/script&gt;\n</code></pre>\n<p>You can also override these options individually on the target element:</p>\n<pre><code class=\"lang-html\">&lt;div\n class=&quot;gitter-chat-embed&quot;\n data-room=&quot;gitterHQ/sidecar&quot;\n&gt;&lt;/div&gt;\n</code></pre>\n<ul>\n<li><code>options.room</code>: string - This is the Gitter room that sidecar will load (<code>gitterHQ/sidecar</code>)<ul>\n<li>Acceptable values: string</li>\n<li>Default: <code>undefined</code></li>\n</ul>\n</li>\n<li><code>options.targetElement</code>: Where you want to embed the chat.<ul>\n<li>Acceptable values: Dom node, array of dom nodes, or a string selector</li>\n<li>Default: Elements that match <code>&#39;.gitter-chat-embed&#39;</code></li>\n</ul>\n</li>\n<li><code>options.activationElement</code>: When <code>options.showChatByDefault</code> is <code>false</code>, this is the element you have to click/interact with to get the chat to actually embed, &quot;Open Chat&quot; button.<ul>\n<li>Acceptable values: Dom node, array of dom nodes, a string selector, or boolean</li>\n<li>Default: <code>undefined</code></li>\n<li>Note: This will automatically get generated if you don&#39;t specify it (<code>undefined</code>, or <code>true</code>)<ul>\n<li>Note: Passing in <code>false</code> or <code>null</code> will disable the activation element</li>\n</ul>\n</li>\n</ul>\n</li>\n<li><code>options.showChatByDefault</code>: Whether to embed the chat on page load(true) or wait until the <code>options.activation</code> is resolved/clicked/interacted with(false).<ul>\n<li>Acceptable values: boolean</li>\n<li>Default: <code>false</code></li>\n<li>Note: <strong>Use with caution,</strong> useful for use cases where you have a page dedicated to chat.</li>\n</ul>\n</li>\n<li><code>options.useStyles</code>: This will embed CSS into your document to style the activation and target element. If you want to customise these, set this option to <code>false</code> and specify your own CSS.<ul>\n<li>Acceptable values: boolean</li>\n<li>Default: <code>true</code></li>\n</ul>\n</li>\n<li><code>preload</code>: Whether the Gitter chat iframe should be loaded in when the chat embed instance is created(this is the page load for default embed)<ul>\n<li>Acceptable values: boolean</li>\n<li>Default: <code>false</code></li>\n</ul>\n</li>\n</ul>\n<h3 id=\"window-options-\">Window Options:</h3>\n<p>You can set any of the chat options above in this object as well</p>\n<ul>\n<li><code>window.gitter.chat.options.disableDefaultChat</code>: Stop the default chat from loading on the page when including the Sidecar script. <em>So you can handle the Gitter chat creation yourself.</em><ul>\n<li>The default chat is stored on <code>window.gitter.chat.defaultChat</code>.</li>\n</ul>\n</li>\n</ul>\n<h1 id=\"api\">API</h1>\n<h2 id=\"gitter-chat\"><code>gitter.Chat</code></h2>\n<pre><code class=\"lang-js\">var chat = new window.gitter.Chat(/* options */);`\n</code></pre>\n<ul>\n<li><code>options</code> (getter): Get a readable copy of the options used for this chat instance</li>\n<li><code>toggleChat(isChatOpen)</code>: Function/method - Takes a boolean which toggles the visibility of the chat panel<ul>\n<li>This can be used an explicit show/hide method by passing in a explict show(true) or hide(false) boolean.</li>\n</ul>\n</li>\n<li><code>destroy()</code>: Function/method - Clean-up and remove any elements created by the embed</li>\n</ul>\n<h2 id=\"events\">Events</h2>\n<p>Emitted on Document:</p>\n<ul>\n<li><code>gitter-sidecar-ready</code>: Emitted when the sidecar script has loaded and is available via <code>window.gitter</code></li>\n<li><code>gitter-sidecar-instance-started</code>: Emitted after any Sidecar chat instance has initialized<ul>\n<li>Data: <code>chat</code>: The sidecar chat instance that was initialized</li>\n</ul>\n</li>\n</ul>\n<p>Emitted on Target Element:</p>\n<ul>\n<li><code>gitter-chat-toggle</code>: Emitted whenever the chat is opened or closed<ul>\n<li>Data: <code>state</code>: Whether it was opened(true) or closed(false)</li>\n</ul>\n</li>\n<li><code>gitter-chat-started</code>: Emitted after the Sidecar chat instance has initialized<ul>\n<li>Data: <code>chat</code>: The sidecar chat instance that was initialized</li>\n</ul>\n</li>\n</ul>\n<p><em>example:</em></p>\n<pre><code class=\"lang-js\">document.querySelector(&#39;.gitter-chat-embed&#39;).addEventListener(&#39;gitter-chat-toggle&#39;, function(e) {\n console.log(e.detail.state ? &#39;Chat Opened&#39; : &#39;Chat Closed&#39;);\n});\n</code></pre>\n"};
</script>
<script src="js/build.js"></script>
......
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
{
"name": "gitter-sidecar",
"version": "1.3.2",
"version": "1.4.2",
"description": "An embeddable Gitter client.",
"main": "./dist/sidecar-module.js",
"repository": "https://github.com/gitterHQ/sidecar",
......@@ -9,8 +9,8 @@
},
"scripts": {
"prepublish": "npm run build-module && npm run build",
"test": "gulp move-sidecar-dist-to-fixtures && npm run test-unformatted | tap-spec",
"test-unformatted": "babel-tape-runner test/button_present_test.js",
"test": "gulp move-sidecar-dist-to-fixtures && npm run test-base | tap-spec",
"test-base": "babel-tape-runner test/button_present_test.js",
"devbuild": "webpack --watch --progress",
"build": "webpack -p",
"build-module": "webpack -p --config ./webpack.sidecar-module.config.js",
......@@ -29,7 +29,7 @@
"babel-loader": "^6.2.2",
"babel-preset-es2015": "^6.3.13",
"babel-preset-react": "^6.3.13",
"babel-tape-runner": "^2.0.0",
"babel-tape-runner": "^2.0.1",
"bluebird": "^3.2.2",
"classnames": "^2.2.3",
"css-loader": "^0.23.1",
......@@ -44,7 +44,6 @@
"gulp-util": "^3.0.6",
"json-loader": "^0.5.4",
"mocha": "^2.4.5",
"npm": "^3.7.2",
"postcss": "^5.0.14",
"postcss-browser-reporter": "^0.4.0",
"postcss-calc": "^5.2.0",
......@@ -63,7 +62,7 @@
"run-sequence": "^1.1.5",
"s3": "^4.4.0",
"safe-tape-runner": "^0.1.3",
"selenium-webdriver": "^2.48.2",
"selenium-webdriver": "^4.0.0-alpha.1",
"serve-static": "^1.10.2",
"style-loader": "^0.13.0",
"tap-spec": "^4.1.1",
......
......@@ -142,6 +142,7 @@ let addActionBar = function(chat) {
popOutActionElement.setAttribute('aria-label', 'Open Chat in Gitter.im');
popOutActionElement.setAttribute('href', `${opts.host}${opts.room}`);
popOutActionElement.setAttribute('target', `_blank`);
popOutActionElement.setAttribute('rel', `noopener`);
actionBar.appendChild(popOutActionElement);
......
// See: https://www.browserstack.com/automate/node
// API: http://selenium.googlecode.com/git/docs/api/javascript/index.html
// Capabilities
// - https://www.browserstack.com/automate/capabilities
// - Capability platform/os configurator: https://docs.saucelabs.com/reference/platforms-configurator/#/
//
// How can I use selenium-webdriver package with SauceLabs?: http://stackoverflow.com/q/21170734/796832
// # Setup
//
// ### Set environment variables with your browserstack credentials
// See: http://stackoverflow.com/a/13333312/796832
//
// Windows:
// ```
// set BS_USER=xxx
// set BS_KEY=xxx
// ```
import Promise from 'bluebird';
import assert from 'assert';
import path from 'path';
import objectAssign from 'object-assign';
//var webdriver = require('browserstack-webdriver');
import webdriver from 'selenium-webdriver';
import chrome from 'selenium-webdriver/chrome';
import test from 'tape';
//var test = require('browserstack-webdriver/testing');
import testingEnvironments from './utility/testing-environments.js';
const options = new chrome.Options();
options.addArguments('headless');
options.addArguments('disable-gpu');
options.addArguments('disable-extensions');
options.addArguments('no-sandbox');
const capabilities = webdriver.Capabilities.chrome();
const driver = new webdriver.Builder()
.forBrowser('chrome')
.setChromeOptions(options)
.withCapabilities(capabilities)
.build();
let createWebDriver = function({
server = 'http://hub.browserstack.com/wd/hub',
capabilities = {}
}) {
let driver = new webdriver.Builder()
.usingServer(server)
.withCapabilities(capabilities)
.build();
return driver;
};
test('Open Chat Button should be present', function (t) {
t.plan(1);
const getPage = driver.get(`file://${path.join(__dirname, './fixtures/example.html')}`);
const buttonTextExpected = 'open chat';
testingEnvironments.forEach(function(testingEnvironment) {
const testName = `Open Chat Button should be present. in ${testingEnvironment.browserName} on ${testingEnvironment.platform}`;
test(testName, function (t) {
t.plan(1);
let driver = createWebDriver({
capabilities: testingEnvironment
});
const buttonLocator = webdriver.By.css('.gitter-open-chat-button');
let getPage = driver.get(`http://${testingEnvironment['browserstack.user']}.browserstack.com/example.html`);
let buttonLocator = webdriver.By.css('.gitter-open-chat-button');
const openChatButtonExists = getPage.then(function() {
return driver.wait(
webdriver.until.elementLocated(buttonLocator),
20000
);
});
let openChatButtonExists = getPage.then(function() {
return driver.wait(function() {
return driver.isElementPresent(buttonLocator);
}, 10000);
openChatButtonExists
.then(function() {
return driver.findElement(buttonLocator);
})
.then(function(item) {
return Promise.resolve(item.getText());
})
.then(function(text) {
const actualText = text.toLowerCase();
const buttonTextExpected = 'open chat';
assert(actualText, buttonTextExpected, `Expected text to look like ${buttonTextExpected} but actually was ${actualText}`);
})
.then(function() {
t.pass('Successfully ran through selenium tasks');
})
.finally(() => {
driver.quit();
});
openChatButtonExists
.then(function() {
return driver.findElement(buttonLocator);
})
.then(function(item) {
return Promise.resolve(item.getText());
})
.then(function(text) {
let actual = text.toLowerCase();
if(actual !== buttonTextExpected) {
throw new Error(`Failed, expected text to look like ${buttonTextExpected} but actually was ${actual}`);
}
})
.then(function() {
//console.log('driver.quit called');
driver.quit();
t.pass('Successfully ran through selenium tasks');
});
});
});
/*!
* Gitter Sidecar v1.2.3
* Gitter Sidecar v1.3.3
* https://sidecar.gitter.im/
*/
!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.sidecar=e():t.sidecar=e()}(this,function(){return function(t){function e(n){if(r[n])return r[n].exports;var o=r[n]={exports:{},id:n,loaded:!1};return t[n].call(o.exports,o,o.exports,e),o.loaded=!0,o.exports}var r={};return e.m=t,e.c=r,e.p="",e(0)}([function(t,e,r){"use strict";function n(t){return t&&t.__esModule?t:{"default":t}}Object.defineProperty(e,"__esModule",{value:!0});var o=r(3),i=n(o),a=r(6),u=n(a),c=r(15),s=n(c),l=function(t,e){return t[e]||function(){return t[e]={},t[e]}()},f=l(window,"gitter"),y={Chat:s["default"]};(0,i["default"])(f,y);var b=new u["default"]("gitter-sidecar-ready",{detail:y});if(document.dispatchEvent(b),!((f.chat||{}).options||{}).disableDefaultChat){var p=l(f,"chat");p.defaultChat=new s["default"](p.options||{})}e["default"]=y},function(t,e,r){"use strict";var n=r(32),o=r(27),i="function"==typeof Symbol&&"symbol"==typeof Symbol(),a=Object.prototype.toString,u=function(t){return"function"==typeof t&&"[object Function]"===a.call(t)},c=function(){var t={};try{Object.defineProperty(t,"x",{enumerable:!1,value:t});for(var e in t)return!1;return t.x===t}catch(r){return!1}},s=Object.defineProperty&&c(),l=function(t,e,r,n){(!(e in t)||u(n)&&n())&&(s?Object.defineProperty(t,e,{configurable:!0,enumerable:!1,value:r,writable:!0}):t[e]=r)},f=function(t,e){var r=arguments.length>2?arguments[2]:{},a=n(e);i&&(a=a.concat(Object.getOwnPropertySymbols(e))),o(a,function(n){l(t,n,e[n],r[n])})};f.supportsDescriptors=!!s,t.exports=f},function(t,e){"use strict";var r=Function.prototype.toString,n=/\s*class /,o=function(t){try{var e=r.call(t),o=e.replace(/\/\/.*\n/g,""),i=o.replace(/\/\*[.\s\S]*\*\//g,""),a=i.replace(/\n/gm," ").replace(/ {2}/g," ");return n.test(a)}catch(u){return!1}},i=function(t){try{return o(t)?!1:(r.call(t),!0)}catch(e){return!1}},a=Object.prototype.toString,u="[object Function]",c="[object GeneratorFunction]",s="function"==typeof Symbol&&"symbol"==typeof Symbol.toStringTag;t.exports=function(t){if(!t)return!1;if("function"!=typeof t&&"object"!=typeof t)return!1;if(s)return i(t);if(o(t))return!1;var e=a.call(t);return e===u||e===c}},function(t,e){"use strict";function r(t){if(null===t||void 0===t)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(t)}var n=Object.prototype.hasOwnProperty,o=Object.prototype.propertyIsEnumerable;t.exports=Object.assign||function(t,e){for(var i,a,u=r(t),c=1;c<arguments.length;c++){i=Object(arguments[c]);for(var s in i)n.call(i,s)&&(u[s]=i[s]);if(Object.getOwnPropertySymbols){a=Object.getOwnPropertySymbols(i);for(var l=0;l<a.length;l++)o.call(i,a[l])&&(u[a[l]]=i[a[l]])}}return u}},function(t,e,r){"use strict";var n=r(7),o=r(1).supportsDescriptors;/*! https://mths.be/array-from v0.2.0 by @mathias */
t.exports=function(t){var e=o?Object.defineProperty:function(t,e,r){t[e]=r.value},r=this;if(null===t||"undefined"==typeof t)throw new TypeError("`Array.from` requires an array-like object, not `null` or `undefined`");var i,a,u=n.ToObject(t);if(arguments.length>1){if(i=arguments[1],!n.IsCallable(i))throw new TypeError("When provided, the second argument to `Array.from` must be a function");arguments.length>2&&(a=arguments[2])}for(var c,s,l=n.ToLength(u.length),f=n.IsCallable(r)?n.ToObject(new r(l)):new Array(l),y=0;l>y;)c=u[y],s=i?"undefined"==typeof a?i(c,y):n.Call(i,a,[c,y]):c,e(f,y,{value:s,configurable:!0,enumerable:!0,writable:!0}),y+=1;return f.length=l,f}},function(t,e,r){"use strict";var n=r(7),o=r(4),i=function(t){try{return t(),!0}catch(e){return!1}};t.exports=function(){var t=n.IsCallable(Array.from)&&i(function(){Array.from({length:-(1/0)})})&&!i(function(){Array.from([],void 0)});return t?Array.from:o}},function(t,e){"use strict";function r(t,e){var r=e.bubbles,n=void 0===r?!1:r,o=e.cancelable,i=void 0===o?!1:o,a=e.detail,u=void 0===a?void 0:a,c=void 0;try{c=new window.CustomEvent(t,{bubbles:n,cancelable:i,detail:u})}catch(s){c=document.createEvent("CustomEvent"),c.initCustomEvent(t,n,i,u)}return c}Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=r,r.prototype=window.Event.prototype},function(t,e,r){"use strict";var n=Object.prototype.toString,o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator,i=o?Symbol.prototype.toString:n,a=Number.isNaN||function(t){return t!==t},u=r(8),c=Number.MAX_SAFE_INTEGER||Math.pow(2,53)-1,s=r(22),l=r(10),f=r(9),y=r(23),b=r(25),p=parseInt,d=r(28),M=d.call(Function.call,String.prototype.slice),g=d.call(Function.call,RegExp.prototype.test,/^0b[01]+$/i),h=d.call(Function.call,RegExp.prototype.test,/^0o[0-7]+$/i),m=["…","",""].join(""),N=new RegExp("["+m+"]","g"),j=d.call(Function.call,RegExp.prototype.test,N),w=/^[\-\+]0x[0-9a-f]+$/i,x=d.call(Function.call,RegExp.prototype.test,w),L=[" \n\x0B\f\r   ᠎    ","          \u2028","\u2029\ufeff"].join(""),T=new RegExp("(^["+L+"]+)|(["+L+"]+$)","g"),v=d.call(Function.call,String.prototype.replace),E=function(t){return v(t,T,"")},D=r(21),S=r(30),z=s(s({},D),{Call:function(t,e){var r=arguments.length>2?arguments[2]:[];if(!this.IsCallable(t))throw new TypeError(t+" is not a function");return t.apply(e,r)},ToPrimitive:b,ToNumber:function(t){var e=y(t)?t:b(t,"number");if("symbol"==typeof e)throw new TypeError("Cannot convert a Symbol value to a number");if("string"==typeof e){if(g(e))return this.ToNumber(p(M(e,2),2));if(h(e))return this.ToNumber(p(M(e,2),8));if(j(e)||x(e))return NaN;var r=E(e);if(r!==e)return this.ToNumber(r)}return Number(e)},ToInt16:function(t){var e=this.ToUint16(t);return e>=32768?e-65536:e},ToInt8:function(t){var e=this.ToUint8(t);return e>=128?e-256:e},ToUint8:function(t){var e=this.ToNumber(t);if(a(e)||0===e||!u(e))return 0;var r=l(e)*Math.floor(Math.abs(e));return f(r,256)},ToUint8Clamp:function(t){var e=this.ToNumber(t);if(a(e)||0>=e)return 0;if(e>=255)return 255;var r=Math.floor(t);return e>r+.5?r+1:r+.5>e?r:r%2!==0?r+1:r},ToString:function(t){if("symbol"==typeof t)throw new TypeError("Cannot convert a Symbol value to a string");return String(t)},ToObject:function(t){return this.RequireObjectCoercible(t),Object(t)},ToPropertyKey:function(t){var e=this.ToPrimitive(t,String);return"symbol"==typeof e?i.call(e):this.ToString(e)},ToLength:function(t){var e=this.ToInteger(t);return 0>=e?0:e>c?c:e},CanonicalNumericIndexString:function(t){if("[object String]"!==n.call(t))throw new TypeError("must be a string");if("-0"===t)return-0;var e=this.ToNumber(t);return this.SameValue(this.ToString(e),t)?e:void 0},RequireObjectCoercible:D.CheckObjectCoercible,IsArray:Array.isArray||function(t){return"[object Array]"===n.call(t)},IsConstructor:function(t){return this.IsCallable(t)},IsExtensible:function(t){return Object.preventExtensions?y(t)?!1:Object.isExtensible(t):!0},IsInteger:function(t){if("number"!=typeof t||a(t)||!u(t))return!1;var e=Math.abs(t);return Math.floor(e)===e},IsPropertyKey:function(t){return"string"==typeof t||"symbol"==typeof t},IsRegExp:function(t){if(!t||"object"!=typeof t)return!1;if(o){var e=RegExp[Symbol.match];if("undefined"!=typeof e)return D.ToBoolean(e)}return S(t)},SameValueZero:function(t,e){return t===e||a(t)&&a(e)}});delete z.CheckObjectCoercible,t.exports=z},function(t,e){var r=Number.isNaN||function(t){return t!==t};t.exports=Number.isFinite||function(t){return"number"==typeof t&&!r(t)&&t!==1/0&&t!==-(1/0)}},function(t,e){t.exports=function(t,e){var r=t%e;return Math.floor(r>=0?r:r+e)}},function(t,e){t.exports=function(t){return t>=0?1:-1}},function(t,e){t.exports=function(t){return null===t||"function"!=typeof t&&"object"!=typeof t}},function(t,e,r){"use strict";var n=r(1),o=r(4),i=r(5),a=r(13),u=function(t){return o.call(Array,arguments)};n(u,{implementation:o,getPolyfill:i,shim:a}),t.exports=u},function(t,e,r){"use strict";var n=r(1),o=r(5);t.exports=function(){var t=o();return n(Array,{from:t},{from:function(){return Array.from!==t}}),t}},function(t,e){"use strict";function r(t){if("function"==typeof Symbol)return Symbol(t);var e=Math.random().toString(36).substr(2,8);return t+e}Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=r},function(t,e,r){"use strict";function n(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e["default"]=t,e}function o(t){return t&&t.__esModule?t:{"default":t}}function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}var a=function(){function t(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,r,n){return r&&t(e.prototype,r),n&&t(e,n),e}}();Object.defineProperty(e,"__esModule",{value:!0});var u=r(12),c=r(3),s=o(c),l=(r(26),r(14)),f=o(l),y=r(6),b=o(y),p=r(17),d=o(p),M=r(19),g=o(M),h=r(16),m=n(h),N=r(18),j=o(N);(0,u.shim)();var w=function(t){if(t){var e=t.trim().toLowerCase();if("true"===e||"1"===e)return!0;if("false"===e||"0"===e)return!1}return t},x=function(t,e){if(!e)return t;var r={};return Object.keys(t).forEach(function(t){var n="data-"+t;if(e.hasAttribute(n)){var o=e.getAttribute(n);r[t]=o}}),(0,s["default"])({},t,r)},L=32,T=13,v=function(t,e){t=(0,m["default"])(t);var r=function(t){if("click"===t.type||"keydown"===t.type&&(t.keyCode===L||t.keyCode===T)){for(var r=arguments.length,n=Array(r>1?r-1:0),o=1;r>o;o++)n[o-1]=arguments[o];e.call.apply(e,[this,t].concat(n))}};return m.on(t,"click keydown",r),function(){m.off(t,"click keydown",r)}},E=function(){var t=new d["default"],e=t.createElement("style");return e.innerHTML=g["default"],m.prependElementTo(e,(0,m["default"])("head")[0]),t},D=function(t){var e=new d["default"],r=t.targetElement;return r.forEach(function(r){var n=x(t,r);if(n.room){var o=e.createElement("iframe");o.setAttribute("frameborder","0"),o.src=""+t.host+n.room+"/~embed",r.appendChild(o)}else console.error("Gitter Sidecar: No room specified for targetElement",r)}),e},S=function(t){var e=t.options,r=new d["default"];return e.targetElement.forEach(function(n){var o=r.createElement("div");o.classList.add("gitter-chat-embed-action-bar"),n.insertBefore(o,n.firstChild);var i=r.createElement("a");i.classList.add("gitter-chat-embed-action-bar-item"),i.classList.add("gitter-chat-embed-action-bar-item-pop-out"),i.setAttribute("aria-label","Open Chat in Gitter.im"),i.setAttribute("href",""+e.host+e.room),i.setAttribute("target","_blank"),o.appendChild(i);var a=r.createElement("button");a.classList.add("gitter-chat-embed-action-bar-item"),a.classList.add("gitter-chat-embed-action-bar-item-collapse-chat"),a.setAttribute("aria-label","Collapse Gitter Chat"),v(a,function(e){t.toggleChat(!1),e.preventDefault()}),o.appendChild(a)}),r},z=document.body||document.documentElement,O={room:void 0,targetElement:void 0,activationElement:void 0,showChatByDefault:!1,preload:!1,useStyles:!0,layout:"fixed",host:"https://gitter.im/"},A=(0,f["default"])("DEFAULTS"),I=(0,f["default"])("OPTIONS"),C=(0,f["default"])("ELEMENTSTORE"),k=(0,f["default"])("EVENTHANDLESTORE"),U=(0,f["default"])("INIT"),_=(0,f["default"])("ISEMBEDDED"),Y=(0,f["default"])("EMBEDCHATONCE"),Q=(0,f["default"])("TOGGLETARGETELEMENTS"),P=function(){function t(){var e=arguments.length<=0||void 0===arguments[0]?{}:arguments[0];i(this,t),this[C]=new d["default"],this[k]=[],this[A]=(0,s["default"])({},O),this[I]=(0,s["default"])({},this[A],e),this[U]()}return a(t,[{key:U,value:function(){var t=this,e=this[I];e.useStyles&&this[C].add(E()),e.targetElement=(0,m["default"])(e.targetElement||function(){var e=t[C].createElement("aside");return e.classList.add("gitter-chat-embed"),e.classList.add("is-collapsed"),z.appendChild(e),e}()),e.targetElement.forEach(function(e){var r=t[C].createElement("div");r.classList.add("gitter-chat-embed-loading-wrapper"),r.innerHTML='\n <div class="gitter-chat-embed-loading-indicator gitter-icon"></div>\n ',e.insertBefore(r,e.firstChild)}),S(this),e.preload&&this.toggleChat(!1),e.showChatByDefault?this.toggleChat(!0):(void 0===e.activationElement||e.activationElement===!0?e.activationElement=(0,m["default"])(function(){var r=t[C].createElement("a");return r.href=""+e.host+e.room,r.innerHTML="Open Chat",r.classList.add("gitter-open-chat-button"),z.appendChild(r),r}()):e.activationElement&&(e.activationElement=(0,m["default"])(e.activationElement)),e.activationElement&&(v(e.activationElement,function(e){t.toggleChat(!0),e.preventDefault()}),e.targetElement.forEach(function(t){m.on(t,"gitter-chat-toggle",function(t){var r=t.detail.state;e.activationElement.forEach(function(t){m.toggleClass(t,"is-collapsed",r)})})})));var r=v((0,m["default"])(".js-gitter-toggle-chat-button"),function(e){var r=w(e.target.getAttribute("data-gitter-toggle-chat-state"));t.toggleChat(null!==r?r:"toggle"),e.preventDefault()});this[k].push(r),e.targetElement.forEach(function(e){var r=new b["default"]("gitter-chat-started",{detail:{chat:t}});e.dispatchEvent(r)});var n=new b["default"]("gitter-sidecar-instance-started",{detail:{chat:this}});document.dispatchEvent(n)}},{key:Y,value:function(){if(!this[_]){var t=this[I],e=D(t);this[C].add(e)}this[_]=!0}},{key:Q,value:function(t){var e=this[I];e.targetElement||console.warn("Gitter Sidecar: No chat embed elements to toggle visibility on");var r=e.targetElement;r.forEach(function(e){"toggle"===t?m.toggleClass(e,"is-collapsed"):m.toggleClass(e,"is-collapsed",!t);var r=new b["default"]("gitter-chat-toggle",{detail:{state:t}});e.dispatchEvent(r)})}},{key:"toggleChat",value:function(t){var e=this,r=this[I];t&&!this[_]?!function(){var n=r.targetElement;n.forEach(function(t){t.classList.add("is-loading")}),setTimeout(function(){e[Y](),e[Q](t),n.forEach(function(t){t.classList.remove("is-loading")})},300)}():(this[Y](),this[Q](t))}},{key:"destroy",value:function(){this[k].forEach(function(t){t()}),this[C].destroy()}},{key:"options",get:function(){return(0,j["default"])(this[I])}}]),t}();e["default"]=P},function(t,e){"use strict";function r(t){if(Array.isArray(t)){for(var e=0,r=Array(t.length);e<t.length;e++)r[e]=t[e];return r}return Array.from(t)}function n(t,e){return c(t).forEach(function(){e&&e.apply(void 0,arguments)}),this}function o(t,e,r){return e.split(/\s/).forEach(function(e){n(t,function(t){t.addEventListener(e,r)})}),this}function i(t,e,r){return e.split(/\s/).forEach(function(e){n(t,function(t){t.removeEventListener(e,r)})}),this}function a(t,e){var r=(e.children||[])[0];r?e.insertBefore(t,r):e.appendChild(t)}function u(t,e,r){return void 0!==r?r?t.classList.add(e):t.classList.remove(e):t.classList.toggle(e),r}Object.defineProperty(e,"__esModule",{value:!0}),e.forEach=n,e.on=o,e.off=i,e.prependElementTo=a,e.toggleClass=u;var c=function(){for(var t=arguments.length,e=Array(t),r=0;t>r;r++)e[r]=arguments[r];return e.reduce(function(t,e){return!e||void 0===e.length||Array.isArray(e)||window&&(!window||e instanceof window.constructor)||(e=Array.prototype.slice.call(e)),t.concat(e)},[])},s=function(){for(var t=arguments.length,e=Array(t),n=0;t>n;n++)e[n]=arguments[n];var o=e;if("string"==typeof e[0]){var i;o=(i=document.querySelectorAll).call.apply(i,[document].concat(e))}return c.apply(void 0,r(o))},l=function(){return s.apply(void 0,arguments)};e["default"]=l},function(t,e,r){"use strict";function n(t){return t&&t.__esModule?t:{"default":t}}function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}var i=function(){function t(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,r,n){return r&&t(e.prototype,r),n&&t(e,n),e}}();Object.defineProperty(e,"__esModule",{value:!0});var a=r(3),u=(n(a),function(t){t&&t.parentElement.removeChild(t)}),c=function(){function t(){o(this,t),this.elements=[]}return i(t,[{key:"createElement",value:function(){for(var t=arguments.length,e=Array(t),r=0;t>r;r++)e[r]=arguments[r];var n=document.createElement.apply(document,e);return this.add(n),n}},{key:"add",value:function(){for(var e=arguments.length,r=Array(e),n=0;e>n;n++)r[n]=arguments[n];var o=[].concat(r).reduce(function(e,r){return r?r instanceof t?e.concat(r.elements):e.concat(r):e},[]);this.elements=this.elements.concat(o)}},{key:"destroy",value:function(){this.elements.forEach(function(t){return u(t)}),this.elements=[]}}]),t}();e["default"]=c},function(t,e){"use strict";function r(t){var e={};return Object.keys(t).forEach(function(r){Object.defineProperty(e,r,{value:t[r],writable:!1,configurable:!1})}),e}Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=r},function(t,e,r){e=t.exports=r(20)(),e.push([t.id,".gitter-hidden{box-sizing:border-box;display:none}.gitter-icon{box-sizing:border-box;width:22px;height:22px;fill:currentColor}.gitter-chat-embed{box-sizing:border-box;z-index:100;position:fixed;top:0;left:60%;bottom:0;right:0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;background-color:#fff;border-left:1px solid #333;box-shadow:-12px 0 18px 0 rgba(50,50,50,.3);-webkit-transition:-webkit-transform .3s cubic-bezier(.16,.22,.22,1.7);transition:-webkit-transform .3s cubic-bezier(.16,.22,.22,1.7);transition:transform .3s cubic-bezier(.16,.22,.22,1.7);transition:transform .3s cubic-bezier(.16,.22,.22,1.7),-webkit-transform .3s cubic-bezier(.16,.22,.22,1.7)}@context border-box{.gitter-chat-embed{box-sizing:border-box;background-color:#fff}}.gitter-chat-embed.is-collapsed:not(.is-loading){box-sizing:border-box;-webkit-transform:translateX(110%);transform:translateX(110%)}.gitter-chat-embed:after{box-sizing:border-box;content:'';z-index:-1;position:absolute;top:0;left:100%;bottom:0;right:-100%;background-color:#fff}@context border-box{.gitter-chat-embed:after{box-sizing:border-box;background-color:#fff}}@media(max-width:1150px){.gitter-chat-embed{box-sizing:border-box;left:45%}}@media(max-width:944px){.gitter-chat-embed{box-sizing:border-box;left:30%}}@media(max-width:600px){.gitter-chat-embed{box-sizing:border-box;left:15%}}@media(max-width:500px){.gitter-chat-embed{box-sizing:border-box;left:0;border-left:none}}.gitter-chat-embed>iframe{box-sizing:border-box;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;width:100%;height:100%;border:0}.gitter-chat-embed-loading-wrapper{box-sizing:border-box;position:absolute;top:0;left:0;bottom:0;right:0;display:none;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;-ms-grid-row-align:center;align-items:center}.is-loading .gitter-chat-embed-loading-wrapper{box-sizing:border-box;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.gitter-chat-embed-loading-indicator{box-sizing:border-box;opacity:.75;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNzkyIDE3OTIiIGZpbGw9IiMzYTMxMzMiPjxwYXRoIGQ9Ik01MjYgMTM5NHEwIDUzLTM3LjUgOTAuNXQtOTAuNSAzNy41cS01MiAwLTkwLTM4dC0zOC05MHEwLTUzIDM3LjUtOTAuNXQ5MC41LTM3LjUgOTAuNSAzNy41IDM3LjUgOTAuNXptNDk4IDIwNnEwIDUzLTM3LjUgOTAuNXQtOTAuNSAzNy41LTkwLjUtMzcuNS0zNy41LTkwLjUgMzcuNS05MC41IDkwLjUtMzcuNSA5MC41IDM3LjUgMzcuNSA5MC41em0tNzA0LTcwNHEwIDUzLTM3LjUgOTAuNXQtOTAuNSAzNy41LTkwLjUtMzcuNS0zNy41LTkwLjUgMzcuNS05MC41IDkwLjUtMzcuNSA5MC41IDM3LjUgMzcuNSA5MC41em0xMjAyIDQ5OHEwIDUyLTM4IDkwdC05MCAzOHEtNTMgMC05MC41LTM3LjV0LTM3LjUtOTAuNSAzNy41LTkwLjUgOTAuNS0zNy41IDkwLjUgMzcuNSAzNy41IDkwLjV6bS05NjQtOTk2cTAgNjYtNDcgMTEzdC0xMTMgNDctMTEzLTQ3LTQ3LTExMyA0Ny0xMTMgMTEzLTQ3IDExMyA0NyA0NyAxMTN6bTExNzAgNDk4cTAgNTMtMzcuNSA5MC41dC05MC41IDM3LjUtOTAuNS0zNy41LTM3LjUtOTAuNSAzNy41LTkwLjUgOTAuNS0zNy41IDkwLjUgMzcuNSAzNy41IDkwLjV6bS02NDAtNzA0cTAgODAtNTYgMTM2dC0xMzYgNTYtMTM2LTU2LTU2LTEzNiA1Ni0xMzYgMTM2LTU2IDEzNiA1NiA1NiAxMzZ6bTUzMCAyMDZxMCA5My02NiAxNTguNXQtMTU4IDY1LjVxLTkzIDAtMTU4LjUtNjUuNXQtNjUuNS0xNTguNXEwLTkyIDY1LjUtMTU4dDE1OC41LTY2cTkyIDAgMTU4IDY2dDY2IDE1OHoiLz48L3N2Zz4=);-webkit-animation:spin 2s infinite linear;animation:spin 2s infinite linear}@-webkit-keyframes spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}0%,to{box-sizing:border-box}to{-webkit-transform:rotate(359.9deg);transform:rotate(359.9deg)}}@keyframes spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}0%,to{box-sizing:border-box}to{-webkit-transform:rotate(359.9deg);transform:rotate(359.9deg)}}.gitter-chat-embed-action-bar{position:absolute;top:0;left:0;right:0;-webkit-box-pack:end;-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end;padding-bottom:.7em;background:-webkit-linear-gradient(top,#fff,#fff 50%,hsla(0,0%,100%,0));background:linear-gradient(180deg,#fff 0,#fff 50%,hsla(0,0%,100%,0))}.gitter-chat-embed-action-bar,.gitter-chat-embed-action-bar-item{box-sizing:border-box;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.gitter-chat-embed-action-bar-item{-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;width:40px;height:40px;padding-left:0;padding-right:0;opacity:.65;background:none;background-position:center center;background-repeat:no-repeat;background-size:22px 22px;border:0;outline:none;cursor:pointer;cursor:hand;-webkit-transition:all .2s ease;transition:all .2s ease}.gitter-chat-embed-action-bar-item:focus,.gitter-chat-embed-action-bar-item:hover{box-sizing:border-box;opacity:1}.gitter-chat-embed-action-bar-item:active{box-sizing:border-box;-webkit-filter:hue-rotate(80deg) saturate(150);filter:hue-rotate(80deg) saturate(150)}.gitter-chat-embed-action-bar-item-pop-out{box-sizing:border-box;margin-right:-4px;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMDAgMTcxLjQyOSIgZmlsbD0iIzNhMzEzMyI+PHBhdGggZD0iTTE1Ny4xNDMsMTAzLjU3MXYzNS43MTRjMCw4Ljg1NC0zLjE0NCwxNi40MjYtOS40MzEsMjIuNzEzcy0xMy44NTgsOS40MzEtMjIuNzEyLDkuNDMxSDMyLjE0MyBjLTguODU0LDAtMTYuNDI1LTMuMTQ0LTIyLjcxMi05LjQzMVMwLDE0OC4xNCwwLDEzOS4yODVWNDYuNDI5YzAtOC44NTQsMy4xNDQtMTYuNDI1LDkuNDMxLTIyLjcxMiBjNi4yODctNi4yODcsMTMuODU4LTkuNDMxLDIyLjcxMi05LjQzMWg3OC41NzJjMS4wNDEsMCwxLjg5NiwwLjMzNSwyLjU2NiwxLjAwNGMwLjY3LDAuNjcsMS4wMDQsMS41MjUsMS4wMDQsMi41NjdWMjUgYzAsMS4wNDItMC4zMzQsMS44OTctMS4wMDQsMi41NjdjLTAuNjcsMC42Ny0xLjUyNSwxLjAwNC0yLjU2NiwxLjAwNEgzMi4xNDNjLTQuOTExLDAtOS4xMTUsMS43NDktMTIuNjEyLDUuMjQ2IHMtNS4yNDYsNy43MDEtNS4yNDYsMTIuNjEydjkyLjg1NmMwLDQuOTExLDEuNzQ5LDkuMTE1LDUuMjQ2LDEyLjYxMnM3LjcwMSw1LjI0NSwxMi42MTIsNS4yNDVIMTI1YzQuOTEsMCw5LjExNS0xLjc0OCwxMi42MTEtNS4yNDUgYzMuNDk3LTMuNDk3LDUuMjQ2LTcuNzAxLDUuMjQ2LTEyLjYxMnYtMzUuNzE0YzAtMS4wNDIsMC4zMzQtMS44OTcsMS4wMDQtMi41NjdjMC42Ny0wLjY2OSwxLjUyNS0xLjAwNCwyLjU2Ny0xLjAwNGg3LjE0MyBjMS4wNDIsMCwxLjg5NywwLjMzNSwyLjU2NywxLjAwNEMxNTYuODA5LDEwMS42NzQsMTU3LjE0MywxMDIuNTI5LDE1Ny4xNDMsMTAzLjU3MXogTTIwMCw3LjE0M3Y1Ny4xNDMgYzAsMS45MzUtMC43MDcsMy42MDktMi4xMjEsNS4wMjJjLTEuNDEzLDEuNDE0LTMuMDg4LDIuMTIxLTUuMDIxLDIuMTIxYy0xLjkzNSwwLTMuNjA5LTAuNzA3LTUuMDIyLTIuMTIxbC0xOS42NDQtMTkuNjQzIGwtNzIuNzY3LDcyLjc2OWMtMC43NDQsMC43NDQtMS42LDEuMTE1LTIuNTY3LDEuMTE1cy0xLjgyMy0wLjM3MS0yLjU2Ny0xLjExNUw3Ny41NjcsMTA5LjcxYy0wLjc0NC0wLjc0NC0xLjExNi0xLjYtMS4xMTYtMi41NjcgYzAtMC45NjcsMC4zNzItMS44MjIsMS4xMTYtMi41NjZsNzIuNzY4LTcyLjc2OGwtMTkuNjQ0LTE5LjY0M2MtMS40MTMtMS40MTQtMi4xMi0zLjA4OC0yLjEyLTUuMDIyYzAtMS45MzUsMC43MDctMy42MDksMi4xMi01LjAyMiBDMTMyLjEwNSwwLjcwNywxMzMuNzc5LDAsMTM1LjcxNSwwaDU3LjE0M2MxLjkzNCwwLDMuNjA4LDAuNzA3LDUuMDIxLDIuMTIxQzE5OS4yOTMsMy41MzQsMjAwLDUuMjA4LDIwMCw3LjE0M3oiLz48L3N2Zz4=)}.gitter-chat-embed-action-bar-item-collapse-chat{box-sizing:border-box;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNzEuNDI5IDE3MS40MjkiIGZpbGw9IiMzYTMxMzMiPjxwYXRoIGQ9Ik0xMjIuNDMzLDEwNi4xMzhsLTE2LjI5NSwxNi4yOTVjLTAuNzQ0LDAuNzQ0LTEuNiwxLjExNi0yLjU2NiwxLjExNmMtMC45NjgsMC0xLjgyMy0wLjM3Mi0yLjU2Ny0xLjExNmwtMTUuMjktMTUuMjkgbC0xNS4yOSwxNS4yOWMtMC43NDQsMC43NDQtMS42LDEuMTE2LTIuNTY3LDEuMTE2cy0xLjgyMy0wLjM3Mi0yLjU2Ny0xLjExNmwtMTYuMjk0LTE2LjI5NWMtMC43NDQtMC43NDQtMS4xMTYtMS42LTEuMTE2LTIuNTY2IGMwLTAuOTY4LDAuMzcyLTEuODIzLDEuMTE2LTIuNTY3bDE1LjI5LTE1LjI5bC0xNS4yOS0xNS4yOWMtMC43NDQtMC43NDQtMS4xMTYtMS42LTEuMTE2LTIuNTY3czAuMzcyLTEuODIzLDEuMTE2LTIuNTY3IEw2NS4yOSw0OC45OTZjMC43NDQtMC43NDQsMS42LTEuMTE2LDIuNTY3LTEuMTE2czEuODIzLDAuMzcyLDIuNTY3LDEuMTE2bDE1LjI5LDE1LjI5bDE1LjI5LTE1LjI5IGMwLjc0NC0wLjc0NCwxLjYtMS4xMTYsMi41NjctMS4xMTZjMC45NjcsMCwxLjgyMiwwLjM3MiwyLjU2NiwxLjExNmwxNi4yOTUsMTYuMjk0YzAuNzQ0LDAuNzQ0LDEuMTE2LDEuNiwxLjExNiwyLjU2NyBzLTAuMzcyLDEuODIzLTEuMTE2LDIuNTY3bC0xNS4yOSwxNS4yOWwxNS4yOSwxNS4yOWMwLjc0NCwwLjc0NCwxLjExNiwxLjYsMS4xMTYsMi41NjcgQzEyMy41NDksMTA0LjUzOSwxMjMuMTc3LDEwNS4zOTQsMTIyLjQzMywxMDYuMTM4eiBNMTQ2LjQyOSw4NS43MTRjMC0xMS4wMTItMi43MTctMjEuMTY4LTguMTQ4LTMwLjQ2OSBzLTEyLjc5Ny0xNi42NjctMjIuMDk4LTIyLjA5OFM5Ni43MjYsMjUsODUuNzE0LDI1cy0yMS4xNjgsMi43MTYtMzAuNDY5LDguMTQ3UzM4LjU3OSw0NS45NDUsMzMuMTQ3LDU1LjI0NlMyNSw3NC43MDMsMjUsODUuNzE0IHMyLjcxNiwyMS4xNjgsOC4xNDcsMzAuNDY5czEyLjc5NywxNi42NjYsMjIuMDk4LDIyLjA5OHMxOS40NTcsOC4xNDgsMzAuNDY5LDguMTQ4czIxLjE2OC0yLjcxNywzMC40NjktOC4xNDggczE2LjY2Ni0xMi43OTcsMjIuMDk4LTIyLjA5OFMxNDYuNDI5LDk2LjcyNiwxNDYuNDI5LDg1LjcxNHogTTE3MS40MjksODUuNzE0YzAsMTUuNTUxLTMuODMyLDI5Ljg5My0xMS40OTYsNDMuMDI0IGMtNy42NjQsMTMuMTMzLTE4LjA2MiwyMy41My0zMS4xOTQsMzEuMTk0Yy0xMy4xMzIsNy42NjQtMjcuNDc0LDExLjQ5Ni00My4wMjQsMTEuNDk2cy0yOS44OTItMy44MzItNDMuMDI0LTExLjQ5NiBjLTEzLjEzMy03LjY2NC0yMy41MzEtMTguMDYyLTMxLjE5NC0zMS4xOTRDMy44MzIsMTE1LjYwNywwLDEwMS4yNjUsMCw4NS43MTRTMy44MzIsNTUuODIyLDExLjQ5Niw0Mi42OSBjNy42NjQtMTMuMTMzLDE4LjA2Mi0yMy41MzEsMzEuMTk0LTMxLjE5NEM1NS44MjIsMy44MzIsNzAuMTY0LDAsODUuNzE0LDBzMjkuODkzLDMuODMyLDQzLjAyNCwxMS40OTYgYzEzLjEzMyw3LjY2NCwyMy41MywxOC4wNjIsMzEuMTk0LDMxLjE5NEMxNjcuNTk3LDU1LjgyMiwxNzEuNDI5LDcwLjE2NCwxNzEuNDI5LDg1LjcxNHoiLz48L3N2Zz4=)}.gitter-open-chat-button{z-index:100;position:fixed;bottom:0;right:10px;padding:1em 3em;background-color:#36bc98;border:0;border-top-left-radius:.5em;border-top-right-radius:.5em;font-family:sans-serif;font-size:12px;letter-spacing:1px;text-transform:uppercase;text-align:center;text-decoration:none;cursor:pointer;cursor:hand;-webkit-transition:all .3s ease;transition:all .3s ease}.gitter-open-chat-button,.gitter-open-chat-button:visited{box-sizing:border-box;color:#fff}.gitter-open-chat-button:focus,.gitter-open-chat-button:hover{box-sizing:border-box;background-color:#3ea07f;color:#fff}.gitter-open-chat-button:focus{box-sizing:border-box;box-shadow:0 0 8px rgba(62,160,127,.6);outline:none}.gitter-open-chat-button:active{box-sizing:border-box;color:#eee}.gitter-open-chat-button.is-collapsed{box-sizing:border-box;-webkit-transform:translateY(120%);transform:translateY(120%)}",""])},function(t,e){t.exports=function(){var t=[];return t.toString=function(){for(var t=[],e=0;e<this.length;e++){var r=this[e];r[2]?t.push("@media "+r[2]+"{"+r[1]+"}"):t.push(r[1])}return t.join("")},t.i=function(e,r){"string"==typeof e&&(e=[[null,e,""]]);for(var n={},o=0;o<this.length;o++){var i=this[o][0];"number"==typeof i&&(n[i]=!0)}for(o=0;o<e.length;o++){var a=e[o];"number"==typeof a[0]&&n[a[0]]||(r&&!a[2]?a[2]=r:r&&(a[2]="("+a[2]+") and ("+r+")"),t.push(a))}},t}},function(t,e,r){"use strict";var n=Number.isNaN||function(t){return t!==t},o=r(8),i=r(10),a=r(9),u=r(2),c=r(24),s={ToPrimitive:c,ToBoolean:function(t){return Boolean(t)},ToNumber:function(t){return Number(t)},ToInteger:function(t){var e=this.ToNumber(t);return n(e)?0:0!==e&&o(e)?i(e)*Math.floor(Math.abs(e)):e},ToInt32:function(t){return this.ToNumber(t)>>0},ToUint32:function(t){return this.ToNumber(t)>>>0},ToUint16:function(t){var e=this.ToNumber(t);if(n(e)||0===e||!o(e))return 0;var r=i(e)*Math.floor(Math.abs(e));return a(r,65536)},ToString:function(t){return String(t)},ToObject:function(t){return this.CheckObjectCoercible(t),Object(t)},CheckObjectCoercible:function(t,e){if(null==t)throw new TypeError(e||"Cannot call method on "+t);return t},IsCallable:u,SameValue:function(t,e){return t===e?0===t?1/t===1/e:!0:n(t)&&n(e)}};t.exports=s},function(t,e){var r=Object.prototype.hasOwnProperty;t.exports=Object.assign||function(t,e){for(var n in e)r.call(e,n)&&(t[n]=e[n]);return t}},function(t,e){t.exports=function(t){return null===t||"function"!=typeof t&&"object"!=typeof t}},function(t,e,r){"use strict";var n=Object.prototype.toString,o=r(11),i=r(2),a={"[[DefaultValue]]":function(t,e){var r=e||("[object Date]"===n.call(t)?String:Number);if(r===String||r===Number){var a,u,c=r===String?["toString","valueOf"]:["valueOf","toString"];for(u=0;u<c.length;++u)if(i(t[c[u]])&&(a=t[c[u]](),o(a)))return a;throw new TypeError("No default value")}throw new TypeError("invalid [[DefaultValue]] hint supplied")}};t.exports=function(t,e){return o(t)?t:a["[[DefaultValue]]"](t,e)}},function(t,e,r){"use strict";var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator,o=r(11),i=r(2),a=r(29),u=r(31),c=function(t,e){if("undefined"==typeof t||null===t)throw new TypeError("Cannot call method on "+t);if("string"!=typeof e||"number"!==e&&"string"!==e)throw new TypeError('hint must be "string" or "number"');var r,n,a,u="string"===e?["toString","valueOf"]:["valueOf","toString"];for(a=0;a<u.length;++a)if(r=t[u[a]],i(r)&&(n=r.call(t),o(n)))return n;throw new TypeError("No default value")},s=function(t,e){var r=t[e];if(null!==r&&"undefined"!=typeof r){if(!i(r))throw new TypeError(r+" returned for property "+e+" of object "+t+" is not a function");return r}};t.exports=function(t,e){if(o(t))return t;var r="default";arguments.length>1&&(e===String?r="string":e===Number&&(r="number"));var i;if(n&&(Symbol.toPrimitive?i=s(t,Symbol.toPrimitive):u(t)&&(i=Symbol.prototype.valueOf)),"undefined"!=typeof i){var l=i.call(t,r);if(o(l))return l;throw new TypeError("unable to convert exotic object to primitive")}return"default"===r&&(a(t)||u(t))&&(r="string"),c(t,"default"===r?"number":r)}},function(t,e,r){var n;(function(t,o,i){/*!
var sidecar=function(t){function e(n){if(r[n])return r[n].exports;var o=r[n]={exports:{},id:n,loaded:!1};return t[n].call(o.exports,o,o.exports,e),o.loaded=!0,o.exports}var r={};return e.m=t,e.c=r,e.p="",e(0)}([function(t,e,r){"use strict";function n(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var o=r(5),i=n(o),a=r(8),u=n(a),c=r(19),s=n(c),f=function(t,e){return t[e]||function(){return t[e]={},t[e]}()},l=f(window,"gitter"),y={Chat:s.default};(0,i.default)(l,y);var p=new u.default("gitter-sidecar-ready",{detail:y});if(document.dispatchEvent(p),!((l.chat||{}).options||{}).disableDefaultChat){var d=f(l,"chat");d.defaultChat=new s.default(d.options||{})}e.default=y},function(t,e,r){"use strict";var n=r(36),o="function"==typeof Symbol&&"symbol"==typeof Symbol("foo"),i=Object.prototype.toString,a=Array.prototype.concat,u=Object.defineProperty,c=function(t){return"function"==typeof t&&"[object Function]"===i.call(t)},s=function(){var t={};try{u(t,"x",{enumerable:!1,value:t});for(var e in t)return!1;return t.x===t}catch(t){return!1}},f=u&&s(),l=function(t,e,r,n){(!(e in t)||c(n)&&n())&&(f?u(t,e,{configurable:!0,enumerable:!1,value:r,writable:!0}):t[e]=r)},y=function(t,e){var r=arguments.length>2?arguments[2]:{},i=n(e);o&&(i=a.call(i,Object.getOwnPropertySymbols(e)));for(var u=0;u<i.length;u+=1)l(t,i[u],e[i[u]],r[i[u]])};y.supportsDescriptors=!!f,t.exports=y},function(t,e,r){"use strict";var n=r(32);t.exports=Function.prototype.bind||n},function(t,e,r){"use strict";var n=r(2);t.exports=n.call(Function.call,Object.prototype.hasOwnProperty)},function(t,e){"use strict";var r=Function.prototype.toString,n=/^\s*class\b/,o=function(t){try{var e=r.call(t);return n.test(e)}catch(t){return!1}},i=function(t){try{return!o(t)&&(r.call(t),!0)}catch(t){return!1}},a=Object.prototype.toString,u="[object Function]",c="[object GeneratorFunction]",s="function"==typeof Symbol&&"symbol"==typeof Symbol.toStringTag;t.exports=function(t){if(!t)return!1;if("function"!=typeof t&&"object"!=typeof t)return!1;if("function"==typeof t&&!t.prototype)return!0;if(s)return i(t);if(o(t))return!1;var e=a.call(t);return e===u||e===c}},function(t,e){/*
object-assign
(c) Sindre Sorhus
@license MIT
*/
"use strict";function r(t){if(null===t||void 0===t)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(t)}function n(){try{if(!Object.assign)return!1;var t=new String("abc");if(t[5]="de","5"===Object.getOwnPropertyNames(t)[0])return!1;for(var e={},r=0;r<10;r++)e["_"+String.fromCharCode(r)]=r;var n=Object.getOwnPropertyNames(e).map(function(t){return e[t]});if("0123456789"!==n.join(""))return!1;var o={};return"abcdefghijklmnopqrst".split("").forEach(function(t){o[t]=t}),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},o)).join("")}catch(t){return!1}}var o=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,a=Object.prototype.propertyIsEnumerable;t.exports=n()?Object.assign:function(t,e){for(var n,u,c=r(t),s=1;s<arguments.length;s++){n=Object(arguments[s]);for(var f in n)i.call(n,f)&&(c[f]=n[f]);if(o){u=o(n);for(var l=0;l<u.length;l++)a.call(n,u[l])&&(c[u[l]]=n[u[l]])}}return c}},function(t,e,r){"use strict";var n=r(10),o=r(1).supportsDescriptors;/*! https://mths.be/array-from v0.2.0 by @mathias */
t.exports=function(t){var e=o?Object.defineProperty:function(t,e,r){t[e]=r.value},r=this;if(null===t||"undefined"==typeof t)throw new TypeError("`Array.from` requires an array-like object, not `null` or `undefined`");var i,a,u=n.ToObject(t);if("undefined"!=typeof arguments[1]){if(i=arguments[1],!n.IsCallable(i))throw new TypeError("When provided, the second argument to `Array.from` must be a function");arguments.length>2&&(a=arguments[2])}for(var c,s,f=n.ToLength(u.length),l=n.IsCallable(r)?n.ToObject(new r(f)):new Array(f),y=0;y<f;)c=u[y],s=i?"undefined"==typeof a?i(c,y):n.Call(i,a,[c,y]):c,e(l,y,{configurable:!0,enumerable:!0,value:s,writable:!0}),y+=1;return l.length=f,l}},function(t,e,r){"use strict";var n=r(10),o=r(6),i=function(t){try{return t(),!0}catch(t){return!1}};t.exports=function(){var t=n.IsCallable(Array.from)&&i(function(){Array.from({length:-(1/0)})})&&!i(function(){Array.from([],void 0)});return t?Array.from:o}},function(t,e){"use strict";function r(t,e){var r=e.bubbles,n=void 0!==r&&r,o=e.cancelable,i=void 0!==o&&o,a=e.detail,u=void 0===a?void 0:a,c=void 0;try{c=new window.CustomEvent(t,{bubbles:n,cancelable:i,detail:u})}catch(e){c=document.createEvent("CustomEvent"),c.initCustomEvent(t,n,i,u)}return c}Object.defineProperty(e,"__esModule",{value:!0}),e.default=r,r.prototype=window.Event.prototype},function(t,e){"use strict";var r,n,o,i,a=Object.getOwnPropertyDescriptor?function(){return Object.getOwnPropertyDescriptor(arguments,"callee").get}():function(){throw new TypeError},u="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator,c=Object.getPrototypeOf||function(t){return t.__proto__},s=n?c(n):r,f=o?o.constructor:r,l=i?c(i):r,y=i?i():r,p="undefined"==typeof Uint8Array?r:c(Uint8Array),d={"$ %Array%":Array,"$ %ArrayBuffer%":"undefined"==typeof ArrayBuffer?r:ArrayBuffer,"$ %ArrayBufferPrototype%":"undefined"==typeof ArrayBuffer?r:ArrayBuffer.prototype,"$ %ArrayIteratorPrototype%":u?c([][Symbol.iterator]()):r,"$ %ArrayPrototype%":Array.prototype,"$ %ArrayProto_entries%":Array.prototype.entries,"$ %ArrayProto_forEach%":Array.prototype.forEach,"$ %ArrayProto_keys%":Array.prototype.keys,"$ %ArrayProto_values%":Array.prototype.values,"$ %AsyncFromSyncIteratorPrototype%":r,"$ %AsyncFunction%":f,"$ %AsyncFunctionPrototype%":f?f.prototype:r,"$ %AsyncGenerator%":i?c(y):r,"$ %AsyncGeneratorFunction%":l,"$ %AsyncGeneratorPrototype%":l?l.prototype:r,"$ %AsyncIteratorPrototype%":y&&u&&Symbol.asyncIterator?y[Symbol.asyncIterator]():r,"$ %Atomics%":"undefined"==typeof Atomics?r:Atomics,"$ %Boolean%":Boolean,"$ %BooleanPrototype%":Boolean.prototype,"$ %DataView%":"undefined"==typeof DataView?r:DataView,"$ %DataViewPrototype%":"undefined"==typeof DataView?r:DataView.prototype,"$ %Date%":Date,"$ %DatePrototype%":Date.prototype,"$ %decodeURI%":decodeURI,"$ %decodeURIComponent%":decodeURIComponent,"$ %encodeURI%":encodeURI,"$ %encodeURIComponent%":encodeURIComponent,"$ %Error%":Error,"$ %ErrorPrototype%":Error.prototype,"$ %eval%":eval,"$ %EvalError%":EvalError,"$ %EvalErrorPrototype%":EvalError.prototype,"$ %Float32Array%":"undefined"==typeof Float32Array?r:Float32Array,"$ %Float32ArrayPrototype%":"undefined"==typeof Float32Array?r:Float32Array.prototype,"$ %Float64Array%":"undefined"==typeof Float64Array?r:Float64Array,"$ %Float64ArrayPrototype%":"undefined"==typeof Float64Array?r:Float64Array.prototype,"$ %Function%":Function,"$ %FunctionPrototype%":Function.prototype,"$ %Generator%":n?c(n()):r,"$ %GeneratorFunction%":s,"$ %GeneratorPrototype%":s?s.prototype:r,"$ %Int8Array%":"undefined"==typeof Int8Array?r:Int8Array,"$ %Int8ArrayPrototype%":"undefined"==typeof Int8Array?r:Int8Array.prototype,"$ %Int16Array%":"undefined"==typeof Int16Array?r:Int16Array,"$ %Int16ArrayPrototype%":"undefined"==typeof Int16Array?r:Int8Array.prototype,"$ %Int32Array%":"undefined"==typeof Int32Array?r:Int32Array,"$ %Int32ArrayPrototype%":"undefined"==typeof Int32Array?r:Int32Array.prototype,"$ %isFinite%":isFinite,"$ %isNaN%":isNaN,"$ %IteratorPrototype%":u?c(c([][Symbol.iterator]())):r,"$ %JSON%":JSON,"$ %JSONParse%":JSON.parse,"$ %Map%":"undefined"==typeof Map?r:Map,"$ %MapIteratorPrototype%":"undefined"!=typeof Map&&u?c((new Map)[Symbol.iterator]()):r,"$ %MapPrototype%":"undefined"==typeof Map?r:Map.prototype,"$ %Math%":Math,"$ %Number%":Number,"$ %NumberPrototype%":Number.prototype,"$ %Object%":Object,"$ %ObjectPrototype%":Object.prototype,"$ %ObjProto_toString%":Object.prototype.toString,"$ %ObjProto_valueOf%":Object.prototype.valueOf,"$ %parseFloat%":parseFloat,"$ %parseInt%":parseInt,"$ %Promise%":"undefined"==typeof Promise?r:Promise,"$ %PromisePrototype%":"undefined"==typeof Promise?r:Promise.prototype,"$ %PromiseProto_then%":"undefined"==typeof Promise?r:Promise.prototype.then,"$ %Promise_all%":"undefined"==typeof Promise?r:Promise.all,"$ %Promise_reject%":"undefined"==typeof Promise?r:Promise.reject,"$ %Promise_resolve%":"undefined"==typeof Promise?r:Promise.resolve,"$ %Proxy%":"undefined"==typeof Proxy?r:Proxy,"$ %RangeError%":RangeError,"$ %RangeErrorPrototype%":RangeError.prototype,"$ %ReferenceError%":ReferenceError,"$ %ReferenceErrorPrototype%":ReferenceError.prototype,"$ %Reflect%":"undefined"==typeof Reflect?r:Reflect,"$ %RegExp%":RegExp,"$ %RegExpPrototype%":RegExp.prototype,"$ %Set%":"undefined"==typeof Set?r:Set,"$ %SetIteratorPrototype%":"undefined"!=typeof Set&&u?c((new Set)[Symbol.iterator]()):r,"$ %SetPrototype%":"undefined"==typeof Set?r:Set.prototype,"$ %SharedArrayBuffer%":"undefined"==typeof SharedArrayBuffer?r:SharedArrayBuffer,"$ %SharedArrayBufferPrototype%":"undefined"==typeof SharedArrayBuffer?r:SharedArrayBuffer.prototype,"$ %String%":String,"$ %StringIteratorPrototype%":u?c(""[Symbol.iterator]()):r,"$ %StringPrototype%":String.prototype,"$ %Symbol%":u?Symbol:r,"$ %SymbolPrototype%":u?Symbol.prototype:r,"$ %SyntaxError%":SyntaxError,"$ %SyntaxErrorPrototype%":SyntaxError.prototype,"$ %ThrowTypeError%":a,"$ %TypedArray%":p,"$ %TypedArrayPrototype%":p?p.prototype:r,"$ %TypeError%":TypeError,"$ %TypeErrorPrototype%":TypeError.prototype,"$ %Uint8Array%":"undefined"==typeof Uint8Array?r:Uint8Array,"$ %Uint8ArrayPrototype%":"undefined"==typeof Uint8Array?r:Uint8Array.prototype,"$ %Uint8ClampedArray%":"undefined"==typeof Uint8ClampedArray?r:Uint8ClampedArray,"$ %Uint8ClampedArrayPrototype%":"undefined"==typeof Uint8ClampedArray?r:Uint8ClampedArray.prototype,"$ %Uint16Array%":"undefined"==typeof Uint16Array?r:Uint16Array,"$ %Uint16ArrayPrototype%":"undefined"==typeof Uint16Array?r:Uint16Array.prototype,"$ %Uint32Array%":"undefined"==typeof Uint32Array?r:Uint32Array,"$ %Uint32ArrayPrototype%":"undefined"==typeof Uint32Array?r:Uint32Array.prototype,"$ %URIError%":URIError,"$ %URIErrorPrototype%":URIError.prototype,"$ %WeakMap%":"undefined"==typeof WeakMap?r:WeakMap,"$ %WeakMapPrototype%":"undefined"==typeof WeakMap?r:WeakMap.prototype,"$ %WeakSet%":"undefined"==typeof WeakSet?r:WeakSet,"$ %WeakSetPrototype%":"undefined"==typeof WeakSet?r:WeakSet.prototype};t.exports=function(t,e){if(arguments.length>1&&"boolean"!=typeof e)throw new TypeError('"allowMissing" argument must be a boolean');var r="$ "+t;if(!(r in d))throw new SyntaxError("intrinsic "+t+" does not exist!");if("undefined"==typeof d[r]&&!e)throw new TypeError("intrinsic "+t+" exists, but is not available. Please file an issue!");return d[r]}},function(t,e,r){"use strict";t.exports=r(25)},function(t,e){var r=Number.isNaN||function(t){return t!==t};t.exports=Number.isFinite||function(t){return"number"==typeof t&&!r(t)&&t!==1/0&&t!==-(1/0)}},function(t,e){t.exports=Number.isNaN||function(t){return t!==t}},function(t,e){t.exports=function(t,e){var r=t%e;return Math.floor(r>=0?r:r+e)}},function(t,e){t.exports=function(t){return t>=0?1:-1}},function(t,e){t.exports=function(t){return null===t||"function"!=typeof t&&"object"!=typeof t}},function(t,e,r){"use strict";var n=r(1),o=r(6),i=r(7),a=r(17),u=function(t){return o.apply(this||Array,arguments)};n(u,{getPolyfill:i,implementation:o,shim:a}),t.exports=u},function(t,e,r){"use strict";var n=r(1),o=r(7);t.exports=function(){var t=o();return n(Array,{from:t},{from:function(){return Array.from!==t}}),t}},function(t,e){"use strict";function r(t){if("function"==typeof Symbol)return Symbol(t);var e=Math.random().toString(36).substr(2,8);return t+e}Object.defineProperty(e,"__esModule",{value:!0}),e.default=r},function(t,e,r){"use strict";function n(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e.default=t,e}function o(t){return t&&t.__esModule?t:{default:t}}function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var a=function(){function t(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,r,n){return r&&t(e.prototype,r),n&&t(e,n),e}}(),u=r(16),c=r(5),s=o(c),f=(r(31),r(18)),l=o(f),y=r(8),p=o(y),d=r(21),b=o(d),h=r(23),M=o(h),g=r(20),m=n(g),w=r(22),j=o(w);Array.from||(0,u.shim)();var v=function(t){if(t){var e=t.trim().toLowerCase();if("true"===e||"1"===e)return!0;if("false"===e||"0"===e)return!1}return t},T=function(t,e){if(!e)return t;var r={};return Object.keys(t).forEach(function(t){var n="data-"+t;if(e.hasAttribute(n)){var o=e.getAttribute(n);r[t]=o}}),(0,s.default)({},t,r)},N=32,x=13,L=function(t,e){t=(0,m.default)(t);var r=function(t){if("click"===t.type||"keydown"===t.type&&(t.keyCode===N||t.keyCode===x)){for(var r=arguments.length,n=Array(r>1?r-1:0),o=1;o<r;o++)n[o-1]=arguments[o];e.call.apply(e,[this,t].concat(n))}};return m.on(t,"click keydown",r),function(){m.off(t,"click keydown",r)}},E=function(){var t=new b.default,e=t.createElement("style");return e.innerHTML=M.default,m.prependElementTo(e,(0,m.default)("head")[0]),t},A=function(t){var e=new b.default,r=t.targetElement;return r.forEach(function(r){var n=T(t,r);if(n.room){var o=e.createElement("iframe");o.setAttribute("frameborder","0"),o.src=""+t.host+n.room+"/~embed",r.appendChild(o)}else console.error("Gitter Sidecar: No room specified for targetElement",r)}),e},D=function(t){var e=t.options,r=new b.default;return e.targetElement.forEach(function(n){var o=r.createElement("div");o.classList.add("gitter-chat-embed-action-bar"),n.insertBefore(o,n.firstChild);var i=r.createElement("a");i.classList.add("gitter-chat-embed-action-bar-item"),i.classList.add("gitter-chat-embed-action-bar-item-pop-out"),i.setAttribute("aria-label","Open Chat in Gitter.im"),i.setAttribute("href",""+e.host+e.room),i.setAttribute("target","_blank"),i.setAttribute("rel","noopener"),o.appendChild(i);var a=r.createElement("button");a.classList.add("gitter-chat-embed-action-bar-item"),a.classList.add("gitter-chat-embed-action-bar-item-collapse-chat"),a.setAttribute("aria-label","Collapse Gitter Chat"),L(a,function(e){t.toggleChat(!1),e.preventDefault()}),o.appendChild(a)}),r},S=document.body||document.documentElement,I={room:void 0,targetElement:void 0,activationElement:void 0,showChatByDefault:!1,preload:!1,useStyles:!0,layout:"fixed",host:"https://gitter.im/"},O=(0,l.default)("DEFAULTS"),z=(0,l.default)("OPTIONS"),C=(0,l.default)("ELEMENTSTORE"),P=(0,l.default)("EVENTHANDLESTORE"),U=(0,l.default)("INIT"),$=(0,l.default)("ISEMBEDDED"),k=(0,l.default)("EMBEDCHATONCE"),_=(0,l.default)("TOGGLETARGETELEMENTS"),Y=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};i(this,t),this[C]=new b.default,this[P]=[],this[O]=(0,s.default)({},I),this[z]=(0,s.default)({},this[O],e),this[U]()}return a(t,[{key:U,value:function(){var t=this,e=this[z];e.useStyles&&this[C].add(E()),e.targetElement=(0,m.default)(e.targetElement||function(){var e=t[C].createElement("aside");return e.classList.add("gitter-chat-embed"),e.classList.add("is-collapsed"),S.appendChild(e),e}()),e.targetElement.forEach(function(e){var r=t[C].createElement("div");r.classList.add("gitter-chat-embed-loading-wrapper"),r.innerHTML='\n <div class="gitter-chat-embed-loading-indicator gitter-icon"></div>\n ',e.insertBefore(r,e.firstChild)}),D(this),e.preload&&this.toggleChat(!1),e.showChatByDefault?this.toggleChat(!0):(void 0===e.activationElement||e.activationElement===!0?e.activationElement=(0,m.default)(function(){var r=t[C].createElement("a");return r.href=""+e.host+e.room,r.innerHTML="Open Chat",r.classList.add("gitter-open-chat-button"),S.appendChild(r),r}()):e.activationElement&&(e.activationElement=(0,m.default)(e.activationElement)),e.activationElement&&(L(e.activationElement,function(e){t.toggleChat(!0),e.preventDefault()}),e.targetElement.forEach(function(t){m.on(t,"gitter-chat-toggle",function(t){var r=t.detail.state;e.activationElement.forEach(function(t){m.toggleClass(t,"is-collapsed",r)})})})));var r=L((0,m.default)(".js-gitter-toggle-chat-button"),function(e){var r=v(e.target.getAttribute("data-gitter-toggle-chat-state"));t.toggleChat(null!==r?r:"toggle"),e.preventDefault()});this[P].push(r),e.targetElement.forEach(function(e){var r=new p.default("gitter-chat-started",{detail:{chat:t}});e.dispatchEvent(r)});var n=new p.default("gitter-sidecar-instance-started",{detail:{chat:this}});document.dispatchEvent(n)}},{key:k,value:function(){if(!this[$]){var t=this[z],e=A(t);this[C].add(e)}this[$]=!0}},{key:_,value:function(t){var e=this[z];e.targetElement||console.warn("Gitter Sidecar: No chat embed elements to toggle visibility on");var r=e.targetElement;r.forEach(function(e){"toggle"===t?m.toggleClass(e,"is-collapsed"):m.toggleClass(e,"is-collapsed",!t);var r=new p.default("gitter-chat-toggle",{detail:{state:t}});e.dispatchEvent(r)})}},{key:"toggleChat",value:function(t){var e=this,r=this[z];if(t&&!this[$]){var n=r.targetElement;n.forEach(function(t){t.classList.add("is-loading")}),setTimeout(function(){e[k](),e[_](t),n.forEach(function(t){t.classList.remove("is-loading")})},300)}else this[k](),this[_](t)}},{key:"destroy",value:function(){this[P].forEach(function(t){t()}),this[C].destroy()}},{key:"options",get:function(){return(0,j.default)(this[z])}}]),t}();e.default=Y},function(t,e){"use strict";function r(t){if(Array.isArray(t)){for(var e=0,r=Array(t.length);e<t.length;e++)r[e]=t[e];return r}return Array.from(t)}function n(t,e){return c(t).forEach(function(){e&&e.apply(void 0,arguments)}),this}function o(t,e,r){return e.split(/\s/).forEach(function(e){n(t,function(t){t.addEventListener(e,r)})}),this}function i(t,e,r){return e.split(/\s/).forEach(function(e){n(t,function(t){t.removeEventListener(e,r)})}),this}function a(t,e){var r=(e.children||[])[0];r?e.insertBefore(t,r):e.appendChild(t)}function u(t,e,r){return void 0!==r?r?t.classList.add(e):t.classList.remove(e):t.classList.toggle(e),r}Object.defineProperty(e,"__esModule",{value:!0}),e.forEach=n,e.on=o,e.off=i,e.prependElementTo=a,e.toggleClass=u;var c=function(){for(var t=arguments.length,e=Array(t),r=0;r<t;r++)e[r]=arguments[r];return e.reduce(function(t,e){return!e||void 0===e.length||Array.isArray(e)||window&&(!window||e instanceof window.constructor)||(e=Array.prototype.slice.call(e)),t.concat(e)},[])},s=function(){for(var t=arguments.length,e=Array(t),n=0;n<t;n++)e[n]=arguments[n];var o=e;if("string"==typeof e[0]){var i;o=(i=document.querySelectorAll).call.apply(i,[document].concat(e))}return c.apply(void 0,r(o))},f=function(){return s.apply(void 0,arguments)};e.default=f},function(t,e,r){"use strict";function n(t){return t&&t.__esModule?t:{default:t}}function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var i=function(){function t(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,r,n){return r&&t(e.prototype,r),n&&t(e,n),e}}(),a=r(5),u=(n(a),function(t){t&&t.parentElement.removeChild(t)}),c=function(){function t(){o(this,t),this.elements=[]}return i(t,[{key:"createElement",value:function(){for(var t=arguments.length,e=Array(t),r=0;r<t;r++)e[r]=arguments[r];var n=document.createElement.apply(document,e);return this.add(n),n}},{key:"add",value:function(){for(var e=arguments.length,r=Array(e),n=0;n<e;n++)r[n]=arguments[n];var o=[].concat(r).reduce(function(e,r){return r?r instanceof t?e.concat(r.elements):e.concat(r):e},[]);this.elements=this.elements.concat(o)}},{key:"destroy",value:function(){this.elements.forEach(function(t){return u(t)}),this.elements=[]}}]),t}();e.default=c},function(t,e){"use strict";function r(t){var e={};return Object.keys(t).forEach(function(r){Object.defineProperty(e,r,{value:t[r],writable:!1,configurable:!1})}),e}Object.defineProperty(e,"__esModule",{value:!0}),e.default=r},function(t,e,r){e=t.exports=r(24)(),e.push([t.id,'.gitter-hidden{box-sizing:border-box;display:none}.gitter-icon{box-sizing:border-box;width:22px;height:22px;fill:currentColor}.gitter-chat-embed{box-sizing:border-box;z-index:100;position:fixed;top:0;left:60%;bottom:0;right:0;display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;background-color:#fff;border-left:1px solid #333;box-shadow:-12px 0 18px 0 rgba(50,50,50,.3);transition:transform .3s cubic-bezier(.16,.22,.22,1.7)}@context border-box{.gitter-chat-embed{box-sizing:border-box;background-color:#fff}}.gitter-chat-embed.is-collapsed:not(.is-loading){box-sizing:border-box;transform:translateX(110%)}.gitter-chat-embed:after{box-sizing:border-box;content:"";z-index:-1;position:absolute;top:0;left:100%;bottom:0;right:-100%;background-color:#fff}@context border-box{.gitter-chat-embed:after{box-sizing:border-box;background-color:#fff}}@media(max-width:1150px){.gitter-chat-embed{box-sizing:border-box;left:45%}}@media(max-width:944px){.gitter-chat-embed{box-sizing:border-box;left:30%}}@media(max-width:600px){.gitter-chat-embed{box-sizing:border-box;left:15%}}@media(max-width:500px){.gitter-chat-embed{box-sizing:border-box;left:0;border-left:none}}.gitter-chat-embed>iframe{box-sizing:border-box;-ms-flex:1;flex:1;width:100%;height:100%;border:0}.gitter-chat-embed-loading-wrapper{box-sizing:border-box;position:absolute;top:0;left:0;bottom:0;right:0;display:none;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center}.is-loading .gitter-chat-embed-loading-wrapper{box-sizing:border-box;display:-ms-flexbox;display:flex}.gitter-chat-embed-loading-indicator{box-sizing:border-box;opacity:.75;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNzkyIDE3OTIiIGZpbGw9IiMzYTMxMzMiPjxwYXRoIGQ9Ik01MjYgMTM5NHEwIDUzLTM3LjUgOTAuNXQtOTAuNSAzNy41cS01MiAwLTkwLTM4dC0zOC05MHEwLTUzIDM3LjUtOTAuNXQ5MC41LTM3LjUgOTAuNSAzNy41IDM3LjUgOTAuNXptNDk4IDIwNnEwIDUzLTM3LjUgOTAuNXQtOTAuNSAzNy41LTkwLjUtMzcuNS0zNy41LTkwLjUgMzcuNS05MC41IDkwLjUtMzcuNSA5MC41IDM3LjUgMzcuNSA5MC41em0tNzA0LTcwNHEwIDUzLTM3LjUgOTAuNXQtOTAuNSAzNy41LTkwLjUtMzcuNS0zNy41LTkwLjUgMzcuNS05MC41IDkwLjUtMzcuNSA5MC41IDM3LjUgMzcuNSA5MC41em0xMjAyIDQ5OHEwIDUyLTM4IDkwdC05MCAzOHEtNTMgMC05MC41LTM3LjV0LTM3LjUtOTAuNSAzNy41LTkwLjUgOTAuNS0zNy41IDkwLjUgMzcuNSAzNy41IDkwLjV6bS05NjQtOTk2cTAgNjYtNDcgMTEzdC0xMTMgNDctMTEzLTQ3LTQ3LTExMyA0Ny0xMTMgMTEzLTQ3IDExMyA0NyA0NyAxMTN6bTExNzAgNDk4cTAgNTMtMzcuNSA5MC41dC05MC41IDM3LjUtOTAuNS0zNy41LTM3LjUtOTAuNSAzNy41LTkwLjUgOTAuNS0zNy41IDkwLjUgMzcuNSAzNy41IDkwLjV6bS02NDAtNzA0cTAgODAtNTYgMTM2dC0xMzYgNTYtMTM2LTU2LTU2LTEzNiA1Ni0xMzYgMTM2LTU2IDEzNiA1NiA1NiAxMzZ6bTUzMCAyMDZxMCA5My02NiAxNTguNXQtMTU4IDY1LjVxLTkzIDAtMTU4LjUtNjUuNXQtNjUuNS0xNTguNXEwLTkyIDY1LjUtMTU4dDE1OC41LTY2cTkyIDAgMTU4IDY2dDY2IDE1OHoiLz48L3N2Zz4=);animation:spin 2s infinite linear}@keyframes spin{0%{box-sizing:border-box;transform:rotate(0deg)}to{box-sizing:border-box;transform:rotate(359.9deg)}}.gitter-chat-embed-action-bar{box-sizing:border-box;position:absolute;top:0;left:0;right:0;display:-ms-flexbox;display:flex;-ms-flex-pack:end;justify-content:flex-end;padding-bottom:.7em;background:linear-gradient(180deg,#fff 0,#fff 50%,hsla(0,0%,100%,0))}.gitter-chat-embed-action-bar-item{box-sizing:border-box;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center;width:40px;height:40px;padding-left:0;padding-right:0;opacity:.65;background:none;background-position:50%;background-repeat:no-repeat;background-size:22px 22px;border:0;outline:none;cursor:pointer;cursor:hand;transition:all .2s ease}.gitter-chat-embed-action-bar-item:focus,.gitter-chat-embed-action-bar-item:hover{box-sizing:border-box;opacity:1}.gitter-chat-embed-action-bar-item:active{box-sizing:border-box;filter:hue-rotate(80deg) saturate(150)}.gitter-chat-embed-action-bar-item-pop-out{box-sizing:border-box;margin-right:-4px;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMDAgMTcxLjQyOSIgZmlsbD0iIzNhMzEzMyI+PHBhdGggZD0iTTE1Ny4xNDMsMTAzLjU3MXYzNS43MTRjMCw4Ljg1NC0zLjE0NCwxNi40MjYtOS40MzEsMjIuNzEzcy0xMy44NTgsOS40MzEtMjIuNzEyLDkuNDMxSDMyLjE0MyBjLTguODU0LDAtMTYuNDI1LTMuMTQ0LTIyLjcxMi05LjQzMVMwLDE0OC4xNCwwLDEzOS4yODVWNDYuNDI5YzAtOC44NTQsMy4xNDQtMTYuNDI1LDkuNDMxLTIyLjcxMiBjNi4yODctNi4yODcsMTMuODU4LTkuNDMxLDIyLjcxMi05LjQzMWg3OC41NzJjMS4wNDEsMCwxLjg5NiwwLjMzNSwyLjU2NiwxLjAwNGMwLjY3LDAuNjcsMS4wMDQsMS41MjUsMS4wMDQsMi41NjdWMjUgYzAsMS4wNDItMC4zMzQsMS44OTctMS4wMDQsMi41NjdjLTAuNjcsMC42Ny0xLjUyNSwxLjAwNC0yLjU2NiwxLjAwNEgzMi4xNDNjLTQuOTExLDAtOS4xMTUsMS43NDktMTIuNjEyLDUuMjQ2IHMtNS4yNDYsNy43MDEtNS4yNDYsMTIuNjEydjkyLjg1NmMwLDQuOTExLDEuNzQ5LDkuMTE1LDUuMjQ2LDEyLjYxMnM3LjcwMSw1LjI0NSwxMi42MTIsNS4yNDVIMTI1YzQuOTEsMCw5LjExNS0xLjc0OCwxMi42MTEtNS4yNDUgYzMuNDk3LTMuNDk3LDUuMjQ2LTcuNzAxLDUuMjQ2LTEyLjYxMnYtMzUuNzE0YzAtMS4wNDIsMC4zMzQtMS44OTcsMS4wMDQtMi41NjdjMC42Ny0wLjY2OSwxLjUyNS0xLjAwNCwyLjU2Ny0xLjAwNGg3LjE0MyBjMS4wNDIsMCwxLjg5NywwLjMzNSwyLjU2NywxLjAwNEMxNTYuODA5LDEwMS42NzQsMTU3LjE0MywxMDIuNTI5LDE1Ny4xNDMsMTAzLjU3MXogTTIwMCw3LjE0M3Y1Ny4xNDMgYzAsMS45MzUtMC43MDcsMy42MDktMi4xMjEsNS4wMjJjLTEuNDEzLDEuNDE0LTMuMDg4LDIuMTIxLTUuMDIxLDIuMTIxYy0xLjkzNSwwLTMuNjA5LTAuNzA3LTUuMDIyLTIuMTIxbC0xOS42NDQtMTkuNjQzIGwtNzIuNzY3LDcyLjc2OWMtMC43NDQsMC43NDQtMS42LDEuMTE1LTIuNTY3LDEuMTE1cy0xLjgyMy0wLjM3MS0yLjU2Ny0xLjExNUw3Ny41NjcsMTA5LjcxYy0wLjc0NC0wLjc0NC0xLjExNi0xLjYtMS4xMTYtMi41NjcgYzAtMC45NjcsMC4zNzItMS44MjIsMS4xMTYtMi41NjZsNzIuNzY4LTcyLjc2OGwtMTkuNjQ0LTE5LjY0M2MtMS40MTMtMS40MTQtMi4xMi0zLjA4OC0yLjEyLTUuMDIyYzAtMS45MzUsMC43MDctMy42MDksMi4xMi01LjAyMiBDMTMyLjEwNSwwLjcwNywxMzMuNzc5LDAsMTM1LjcxNSwwaDU3LjE0M2MxLjkzNCwwLDMuNjA4LDAuNzA3LDUuMDIxLDIuMTIxQzE5OS4yOTMsMy41MzQsMjAwLDUuMjA4LDIwMCw3LjE0M3oiLz48L3N2Zz4=)}.gitter-chat-embed-action-bar-item-collapse-chat{box-sizing:border-box;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNzEuNDI5IDE3MS40MjkiIGZpbGw9IiMzYTMxMzMiPjxwYXRoIGQ9Ik0xMjIuNDMzLDEwNi4xMzhsLTE2LjI5NSwxNi4yOTVjLTAuNzQ0LDAuNzQ0LTEuNiwxLjExNi0yLjU2NiwxLjExNmMtMC45NjgsMC0xLjgyMy0wLjM3Mi0yLjU2Ny0xLjExNmwtMTUuMjktMTUuMjkgbC0xNS4yOSwxNS4yOWMtMC43NDQsMC43NDQtMS42LDEuMTE2LTIuNTY3LDEuMTE2cy0xLjgyMy0wLjM3Mi0yLjU2Ny0xLjExNmwtMTYuMjk0LTE2LjI5NWMtMC43NDQtMC43NDQtMS4xMTYtMS42LTEuMTE2LTIuNTY2IGMwLTAuOTY4LDAuMzcyLTEuODIzLDEuMTE2LTIuNTY3bDE1LjI5LTE1LjI5bC0xNS4yOS0xNS4yOWMtMC43NDQtMC43NDQtMS4xMTYtMS42LTEuMTE2LTIuNTY3czAuMzcyLTEuODIzLDEuMTE2LTIuNTY3IEw2NS4yOSw0OC45OTZjMC43NDQtMC43NDQsMS42LTEuMTE2LDIuNTY3LTEuMTE2czEuODIzLDAuMzcyLDIuNTY3LDEuMTE2bDE1LjI5LDE1LjI5bDE1LjI5LTE1LjI5IGMwLjc0NC0wLjc0NCwxLjYtMS4xMTYsMi41NjctMS4xMTZjMC45NjcsMCwxLjgyMiwwLjM3MiwyLjU2NiwxLjExNmwxNi4yOTUsMTYuMjk0YzAuNzQ0LDAuNzQ0LDEuMTE2LDEuNiwxLjExNiwyLjU2NyBzLTAuMzcyLDEuODIzLTEuMTE2LDIuNTY3bC0xNS4yOSwxNS4yOWwxNS4yOSwxNS4yOWMwLjc0NCwwLjc0NCwxLjExNiwxLjYsMS4xMTYsMi41NjcgQzEyMy41NDksMTA0LjUzOSwxMjMuMTc3LDEwNS4zOTQsMTIyLjQzMywxMDYuMTM4eiBNMTQ2LjQyOSw4NS43MTRjMC0xMS4wMTItMi43MTctMjEuMTY4LTguMTQ4LTMwLjQ2OSBzLTEyLjc5Ny0xNi42NjctMjIuMDk4LTIyLjA5OFM5Ni43MjYsMjUsODUuNzE0LDI1cy0yMS4xNjgsMi43MTYtMzAuNDY5LDguMTQ3UzM4LjU3OSw0NS45NDUsMzMuMTQ3LDU1LjI0NlMyNSw3NC43MDMsMjUsODUuNzE0IHMyLjcxNiwyMS4xNjgsOC4xNDcsMzAuNDY5czEyLjc5NywxNi42NjYsMjIuMDk4LDIyLjA5OHMxOS40NTcsOC4xNDgsMzAuNDY5LDguMTQ4czIxLjE2OC0yLjcxNywzMC40NjktOC4xNDggczE2LjY2Ni0xMi43OTcsMjIuMDk4LTIyLjA5OFMxNDYuNDI5LDk2LjcyNiwxNDYuNDI5LDg1LjcxNHogTTE3MS40MjksODUuNzE0YzAsMTUuNTUxLTMuODMyLDI5Ljg5My0xMS40OTYsNDMuMDI0IGMtNy42NjQsMTMuMTMzLTE4LjA2MiwyMy41My0zMS4xOTQsMzEuMTk0Yy0xMy4xMzIsNy42NjQtMjcuNDc0LDExLjQ5Ni00My4wMjQsMTEuNDk2cy0yOS44OTItMy44MzItNDMuMDI0LTExLjQ5NiBjLTEzLjEzMy03LjY2NC0yMy41MzEtMTguMDYyLTMxLjE5NC0zMS4xOTRDMy44MzIsMTE1LjYwNywwLDEwMS4yNjUsMCw4NS43MTRTMy44MzIsNTUuODIyLDExLjQ5Niw0Mi42OSBjNy42NjQtMTMuMTMzLDE4LjA2Mi0yMy41MzEsMzEuMTk0LTMxLjE5NEM1NS44MjIsMy44MzIsNzAuMTY0LDAsODUuNzE0LDBzMjkuODkzLDMuODMyLDQzLjAyNCwxMS40OTYgYzEzLjEzMyw3LjY2NCwyMy41MywxOC4wNjIsMzEuMTk0LDMxLjE5NEMxNjcuNTk3LDU1LjgyMiwxNzEuNDI5LDcwLjE2NCwxNzEuNDI5LDg1LjcxNHoiLz48L3N2Zz4=)}.gitter-open-chat-button{z-index:100;position:fixed;bottom:0;right:10px;padding:1em 3em;background-color:#36bc98;border:0;border-top-left-radius:.5em;border-top-right-radius:.5em;font-family:sans-serif;font-size:12px;letter-spacing:1px;text-transform:uppercase;text-align:center;text-decoration:none;cursor:pointer;cursor:hand;transition:all .3s ease}.gitter-open-chat-button,.gitter-open-chat-button:visited{box-sizing:border-box;color:#fff}.gitter-open-chat-button:focus,.gitter-open-chat-button:hover{box-sizing:border-box;background-color:#3ea07f;color:#fff}.gitter-open-chat-button:focus{box-sizing:border-box;box-shadow:0 0 8px rgba(62,160,127,.6);outline:none}.gitter-open-chat-button:active{box-sizing:border-box;color:#eee}.gitter-open-chat-button.is-collapsed{box-sizing:border-box;transform:translateY(120%)}',""])},function(t,e){t.exports=function(){var t=[];return t.toString=function(){for(var t=[],e=0;e<this.length;e++){var r=this[e];r[2]?t.push("@media "+r[2]+"{"+r[1]+"}"):t.push(r[1])}return t.join("")},t.i=function(e,r){"string"==typeof e&&(e=[[null,e,""]]);for(var n={},o=0;o<this.length;o++){var i=this[o][0];"number"==typeof i&&(n[i]=!0)}for(o=0;o<e.length;o++){var a=e[o];"number"==typeof a[0]&&n[a[0]]||(r&&!a[2]?a[2]=r:r&&(a[2]="("+a[2]+") and ("+r+")"),t.push(a))}},t}},function(t,e,r){"use strict";var n=r(3),o=r(30),i=r(9),a=i("%TypeError%"),u=i("%SyntaxError%"),c=i("%Array%"),s=i("%String%"),f=i("%Object%"),l=i("%Number%"),y=i("%Symbol%",!0),p=i("%RegExp%"),d=!!y,b=r(12),h=r(11),M=l.MAX_SAFE_INTEGER||Math.pow(2,53)-1,g=r(27),m=r(14),w=r(13),j=r(28),v=parseInt,T=r(2),N=T.call(Function.call,c.prototype.slice),x=T.call(Function.call,s.prototype.slice),L=T.call(Function.call,p.prototype.test,/^0b[01]+$/i),E=T.call(Function.call,p.prototype.test,/^0o[0-7]+$/i),A=T.call(Function.call,p.prototype.exec),D=["…","",""].join(""),S=new p("["+D+"]","g"),I=T.call(Function.call,p.prototype.test,S),O=/^[-+]0x[0-9a-f]+$/i,z=T.call(Function.call,p.prototype.test,O),C=T.call(Function.call,s.prototype.charCodeAt),P=T.call(Function.call,Object.prototype.toString),U=Math.floor,$=Math.abs,k=Object.create,_=f.getOwnPropertyDescriptor,Y=f.isExtensible,Q=["\t\n\v\f\r   ᠎    ","          \u2028","\u2029\ufeff"].join(""),F=new RegExp("(^["+Q+"]+)|(["+Q+"]+$)","g"),G=T.call(Function.call,s.prototype.replace),R=function(t){return G(t,F,"")},B=r(26),W=r(34),V=g(g({},B),{Call:function(t,e){var r=arguments.length>2?arguments[2]:[];if(!this.IsCallable(t))throw new a(t+" is not a function");return t.apply(e,r)},ToPrimitive:o,ToNumber:function(t){var e=j(t)?t:o(t,l);if("symbol"==typeof e)throw new a("Cannot convert a Symbol value to a number");if("string"==typeof e){if(L(e))return this.ToNumber(v(x(e,2),2));if(E(e))return this.ToNumber(v(x(e,2),8));if(I(e)||z(e))return NaN;var r=R(e);if(r!==e)return this.ToNumber(r)}return l(e)},ToInt16:function(t){var e=this.ToUint16(t);return e>=32768?e-65536:e},ToInt8:function(t){var e=this.ToUint8(t);return e>=128?e-256:e},ToUint8:function(t){var e=this.ToNumber(t);if(b(e)||0===e||!h(e))return 0;var r=m(e)*U($(e));return w(r,256)},ToUint8Clamp:function(t){var e=this.ToNumber(t);if(b(e)||e<=0)return 0;if(e>=255)return 255;var r=U(t);return r+.5<e?r+1:e<r+.5?r:r%2!==0?r+1:r},ToString:function(t){if("symbol"==typeof t)throw new a("Cannot convert a Symbol value to a string");return s(t)},ToObject:function(t){return this.RequireObjectCoercible(t),f(t)},ToPropertyKey:function(t){var e=this.ToPrimitive(t,s);return"symbol"==typeof e?e:this.ToString(e)},ToLength:function(t){var e=this.ToInteger(t);return e<=0?0:e>M?M:e},CanonicalNumericIndexString:function(t){if("[object String]"!==P(t))throw new a("must be a string");if("-0"===t)return-0;var e=this.ToNumber(t);return this.SameValue(this.ToString(e),t)?e:void 0},RequireObjectCoercible:B.CheckObjectCoercible,IsArray:c.isArray||function(t){return"[object Array]"===P(t)},IsConstructor:function(t){return"function"==typeof t&&!!t.prototype},IsExtensible:Object.preventExtensions?function(t){return!j(t)&&Y(t)}:function(t){return!0},IsInteger:function(t){if("number"!=typeof t||b(t)||!h(t))return!1;var e=$(t);return U(e)===e},IsPropertyKey:function(t){return"string"==typeof t||"symbol"==typeof t},IsRegExp:function(t){if(!t||"object"!=typeof t)return!1;if(d){var e=t[y.match];if("undefined"!=typeof e)return B.ToBoolean(e)}return W(t)},SameValueZero:function(t,e){return t===e||b(t)&&b(e)},GetV:function(t,e){if(!this.IsPropertyKey(e))throw new a("Assertion failed: IsPropertyKey(P) is not true");var r=this.ToObject(t);return r[e]},GetMethod:function(t,e){if(!this.IsPropertyKey(e))throw new a("Assertion failed: IsPropertyKey(P) is not true");var r=this.GetV(t,e);if(null!=r){if(!this.IsCallable(r))throw new a(e+"is not a function");return r}},Get:function(t,e){if("Object"!==this.Type(t))throw new a("Assertion failed: Type(O) is not Object");if(!this.IsPropertyKey(e))throw new a("Assertion failed: IsPropertyKey(P) is not true");return t[e]},Type:function(t){return"symbol"==typeof t?"Symbol":B.Type(t)},SpeciesConstructor:function(t,e){if("Object"!==this.Type(t))throw new a("Assertion failed: Type(O) is not Object");var r=t.constructor;if("undefined"==typeof r)return e;if("Object"!==this.Type(r))throw new a("O.constructor is not an Object");var n=d&&y.species?r[y.species]:void 0;if(null==n)return e;if(this.IsConstructor(n))return n;throw new a("no constructor found")},CompletePropertyDescriptor:function(t){if(!this.IsPropertyDescriptor(t))throw new a("Desc must be a Property Descriptor");return this.IsGenericDescriptor(t)||this.IsDataDescriptor(t)?(n(t,"[[Value]]")||(t["[[Value]]"]=void 0),n(t,"[[Writable]]")||(t["[[Writable]]"]=!1)):(n(t,"[[Get]]")||(t["[[Get]]"]=void 0),n(t,"[[Set]]")||(t["[[Set]]"]=void 0)),n(t,"[[Enumerable]]")||(t["[[Enumerable]]"]=!1),n(t,"[[Configurable]]")||(t["[[Configurable]]"]=!1),t},Set:function(t,e,r,n){if("Object"!==this.Type(t))throw new a("O must be an Object");if(!this.IsPropertyKey(e))throw new a("P must be a Property Key");if("Boolean"!==this.Type(n))throw new a("Throw must be a Boolean");if(n)return t[e]=r,!0;try{t[e]=r}catch(t){return!1}},HasOwnProperty:function(t,e){if("Object"!==this.Type(t))throw new a("O must be an Object");if(!this.IsPropertyKey(e))throw new a("P must be a Property Key");return n(t,e)},HasProperty:function(t,e){if("Object"!==this.Type(t))throw new a("O must be an Object");if(!this.IsPropertyKey(e))throw new a("P must be a Property Key");return e in t},IsConcatSpreadable:function(t){if("Object"!==this.Type(t))return!1;if(d&&"symbol"==typeof y.isConcatSpreadable){var e=this.Get(t,Symbol.isConcatSpreadable);if("undefined"!=typeof e)return this.ToBoolean(e)}return this.IsArray(t)},Invoke:function(t,e){if(!this.IsPropertyKey(e))throw new a("P must be a Property Key");var r=N(arguments,2),n=this.GetV(t,e);return this.Call(n,t,r)},GetIterator:function(t,e){if(!d)throw new SyntaxError("ES.GetIterator depends on native iterator support.");var r=e;arguments.length<2&&(r=this.GetMethod(t,y.iterator));var n=this.Call(r,t);if("Object"!==this.Type(n))throw new a("iterator must return an object");return n},IteratorNext:function(t,e){
var r=this.Invoke(t,"next",arguments.length<2?[]:[e]);if("Object"!==this.Type(r))throw new a("iterator next must return an object");return r},IteratorComplete:function(t){if("Object"!==this.Type(t))throw new a("Assertion failed: Type(iterResult) is not Object");return this.ToBoolean(this.Get(t,"done"))},IteratorValue:function(t){if("Object"!==this.Type(t))throw new a("Assertion failed: Type(iterResult) is not Object");return this.Get(t,"value")},IteratorStep:function(t){var e=this.IteratorNext(t),r=this.IteratorComplete(e);return r!==!0&&e},IteratorClose:function(t,e){if("Object"!==this.Type(t))throw new a("Assertion failed: Type(iterator) is not Object");if(!this.IsCallable(e))throw new a("Assertion failed: completion is not a thunk for a Completion Record");var r=e,n=this.GetMethod(t,"return");if("undefined"==typeof n)return r();var o;try{var i=this.Call(n,t,[])}catch(t){throw o=r(),r=null,t}if(o=r(),r=null,"Object"!==this.Type(i))throw new a("iterator .return must return an object");return o},CreateIterResultObject:function(t,e){if("Boolean"!==this.Type(e))throw new a("Assertion failed: Type(done) is not Boolean");return{value:t,done:e}},RegExpExec:function(t,e){if("Object"!==this.Type(t))throw new a("R must be an Object");if("String"!==this.Type(e))throw new a("S must be a String");var r=this.Get(t,"exec");if(this.IsCallable(r)){var n=this.Call(r,t,[e]);if(null===n||"Object"===this.Type(n))return n;throw new a('"exec" method must return `null` or an Object')}return A(t,e)},ArraySpeciesCreate:function(t,e){if(!this.IsInteger(e)||e<0)throw new a("Assertion failed: length must be an integer >= 0");var r,n=0===e?0:e,o=this.IsArray(t);if(o&&(r=this.Get(t,"constructor"),"Object"===this.Type(r)&&d&&y.species&&(r=this.Get(r,y.species),null===r&&(r=void 0))),"undefined"==typeof r)return c(n);if(!this.IsConstructor(r))throw new a("C must be a constructor");return new r(n)},CreateDataProperty:function(t,e,r){if("Object"!==this.Type(t))throw new a("Assertion failed: Type(O) is not Object");if(!this.IsPropertyKey(e))throw new a("Assertion failed: IsPropertyKey(P) is not true");var n=_(t,e),o=n||"function"!=typeof Y||Y(t),i=n&&(!n.writable||!n.configurable);if(i||!o)return!1;var u={configurable:!0,enumerable:!0,value:r,writable:!0};return Object.defineProperty(t,e,u),!0},CreateDataPropertyOrThrow:function(t,e,r){if("Object"!==this.Type(t))throw new a("Assertion failed: Type(O) is not Object");if(!this.IsPropertyKey(e))throw new a("Assertion failed: IsPropertyKey(P) is not true");var n=this.CreateDataProperty(t,e,r);if(!n)throw new a("unable to create data property");return n},ObjectCreate:function(t,e){if(null!==t&&"Object"!==this.Type(t))throw new a("Assertion failed: proto must be null or an object");var r=arguments.length<2?[]:e;if(r.length>0)throw new u("es-abstract does not yet support internal slots");if(null===t&&!k)throw new u("native Object.create support is required to create null objects");return k(t)},AdvanceStringIndex:function(t,e,r){if("String"!==this.Type(t))throw new a("S must be a String");if(!this.IsInteger(e)||e<0||e>M)throw new a("Assertion failed: length must be an integer >= 0 and <= 2**53");if("Boolean"!==this.Type(r))throw new a("Assertion failed: unicode must be a Boolean");if(!r)return e+1;var n=t.length;if(e+1>=n)return e+1;var o=C(t,e);if(o<55296||o>56319)return e+1;var i=C(t,e+1);return i<56320||i>57343?e+1:e+2}});delete V.CheckObjectCoercible,t.exports=V},function(t,e