From d8abc03573165616c28ed17e632b9ce111a1ba39 Mon Sep 17 00:00:00 2001 From: test test Date: Mon, 28 Jun 2021 13:25:20 +0200 Subject: [PATCH] Update vue-advanced-chat to format urls --- teleforma/src/package.json | 2 +- teleforma/src/yarn.lock | 8 ++++---- teleforma/static/teleforma/dist/app.css | 2 +- teleforma/static/teleforma/dist/app.css.map | 2 +- teleforma/static/teleforma/dist/app.js | 2 +- teleforma/static/teleforma/dist/app.js.map | 2 +- 6 files changed, 9 insertions(+), 9 deletions(-) diff --git a/teleforma/src/package.json b/teleforma/src/package.json index 6e36a252..e7af9d7e 100644 --- a/teleforma/src/package.json +++ b/teleforma/src/package.json @@ -14,7 +14,7 @@ "extract-css": "^2.0.0", "path": "^0.12.7", "vue": "^2.6.11", - "vue-advanced-chat": "^0.8.5", + "vue-advanced-chat": "^0.8.6", "vue-class-component": "^7.2.3", "vue-property-decorator": "^9.1.2", "webpack-manifest-plugin": "^3.1.1" diff --git a/teleforma/src/yarn.lock b/teleforma/src/yarn.lock index 5ebaf8c1..5bed7605 100644 --- a/teleforma/src/yarn.lock +++ b/teleforma/src/yarn.lock @@ -8997,10 +8997,10 @@ vm-browserify@^1.0.1: resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-1.1.2.tgz#78641c488b8e6ca91a75f511e7a3b32a86e5dda0" integrity sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ== -vue-advanced-chat@^0.8.5: - version "0.8.5" - resolved "https://registry.yarnpkg.com/vue-advanced-chat/-/vue-advanced-chat-0.8.5.tgz#6542c3d937ff3ea77542462cf5296c13e8899ba9" - integrity sha512-Ica6Y6fmze10QUUggN6Tl2nuohLrzioaL12/p2fs0m/frSJFh+ClgXpLsMls1ef9DSLXhGo/hzHFR8a5fMoM+g== +vue-advanced-chat@^0.8.6: + version "0.8.6" + resolved "https://registry.yarnpkg.com/vue-advanced-chat/-/vue-advanced-chat-0.8.6.tgz#a3ad3116a78c6f337c3c27d4555c11aebe6ed6de" + integrity sha512-gsLOyEqJvn3qErHk2baTOi+5uByCZXMgijJx2g8K0wFwFMnmg3nIHrKq5YO6tUJPXBRU+qLUy/IktfEcVENo9A== dependencies: linkifyjs "^2.1.9" v-click-outside "^3.1.2" diff --git a/teleforma/static/teleforma/dist/app.css b/teleforma/static/teleforma/dist/app.css index 795d59d5..cd174742 100644 --- a/teleforma/static/teleforma/dist/app.css +++ b/teleforma/static/teleforma/dist/app.css @@ -1,2 +1,2 @@ -.vac-loader-wrapper.vac-container-center{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:9}.vac-loader-wrapper.vac-container-top{padding:21px}.vac-loader-wrapper.vac-container-top #vac-circle{height:20px;width:20px}.vac-loader-wrapper #vac-circle{margin:auto;height:28px;width:28px;border:3px solid rgba(0,0,0,.25);border-top:3px var(--chat-color-spinner) solid;border-right:3px var(--chat-color-spinner) solid;border-bottom:3px var(--chat-color-spinner) solid;border-radius:50%;-webkit-animation:vac-spin 1s linear infinite;animation:vac-spin 1s linear infinite}@media only screen and (max-width:768px){.vac-loader-wrapper #vac-circle{height:24px;width:24px}.vac-loader-wrapper.vac-container-top{padding:18px}.vac-loader-wrapper.vac-container-top #vac-circle{height:16px;width:16px}}@-webkit-keyframes vac-spin{0%{transform:rotate(0deg)}to{transform:rotate(359deg)}}@keyframes vac-spin{0%{transform:rotate(0deg)}to{transform:rotate(359deg)}}#vac-icon-search{fill:var(--chat-icon-color-search)}#vac-icon-add{fill:var(--chat-icon-color-add)}#vac-icon-toggle{fill:var(--chat-icon-color-toggle)}#vac-icon-menu{fill:var(--chat-icon-color-menu)}#vac-icon-close{fill:var(--chat-icon-color-close)}#vac-icon-close-image{fill:var(--chat-icon-color-close-image)}#vac-icon-file{fill:var(--chat-icon-color-file)}#vac-icon-paperclip{fill:var(--chat-icon-color-paperclip)}#vac-icon-close-outline{fill:var(--chat-icon-color-close-outline)}#vac-icon-send{fill:var(--chat-icon-color-send)}#vac-icon-send-disabled{fill:var(--chat-icon-color-send-disabled)}#vac-icon-emoji{fill:var(--chat-icon-color-emoji)}#vac-icon-emoji-reaction{fill:var(--chat-icon-color-emoji-reaction)}#vac-icon-document{fill:var(--chat-icon-color-document)}#vac-icon-pencil{fill:var(--chat-icon-color-pencil)}#vac-icon-checkmark,#vac-icon-double-checkmark{fill:var(--chat-icon-color-checkmark)}#vac-icon-checkmark-seen,#vac-icon-double-checkmark-seen{fill:var(--chat-icon-color-checkmark-seen)}#vac-icon-eye{fill:var(--chat-icon-color-eye)}#vac-icon-dropdown-message{fill:var(--chat-icon-color-dropdown-message)}#vac-icon-dropdown-room{fill:var(--chat-icon-color-dropdown-room)}#vac-icon-dropdown-scroll{fill:var(--chat-icon-color-dropdown-scroll)}#vac-icon-audio-play{fill:var(--chat-icon-color-audio-play)}#vac-icon-audio-pause{fill:var(--chat-icon-color-audio-pause)}.vac-box-search{position:sticky;display:flex;align-items:center;height:64px;padding:0 15px}.vac-box-search .vac-icon-search{display:flex;position:absolute;left:30px}.vac-box-search .vac-icon-search svg{width:18px;height:18px}.vac-box-search .vac-input{height:38px;width:100%;background:var(--chat-bg-color-input);color:var(--chat-color);border-radius:4px;font-size:15px;outline:0;caret-color:var(--chat-color-caret);padding:10px 10px 10px 40px;border:1px solid var(--chat-sidemenu-border-color-search);border-radius:20px}.vac-box-search .vac-input::-moz-placeholder{color:var(--chat-color-placeholder)}.vac-box-search .vac-input:-ms-input-placeholder{color:var(--chat-color-placeholder)}.vac-box-search .vac-input::placeholder{color:var(--chat-color-placeholder)}.vac-box-search .vac-add-icon{margin-left:auto;padding-left:10px}@media only screen and (max-width:768px){.vac-box-search{height:58px}}.vac-format-message-wrapper .vac-icon-deleted{height:14px;width:14px;vertical-align:middle;margin:-3px 1px 0 0;fill:var(--chat-room-color-message)}.vac-format-message-wrapper .vac-image-link-container{background-color:var(--chat-message-bg-color-media);padding:8px;margin:2px auto;border-radius:4px}.vac-format-message-wrapper .vac-image-link{position:relative;background-color:var(--chat-message-bg-color-image)!important;background-size:contain;background-position:50%!important;background-repeat:no-repeat!important;height:150px;width:150px;max-width:100%;border-radius:4px;margin:0 auto}.vac-format-message-wrapper .vac-image-link-message{max-width:166px;font-size:12px}.vac-room-container{display:flex;flex:1;align-items:center;width:100%}.vac-room-container .vac-name-container{flex:1}.vac-room-container .vac-title-container{display:flex;align-items:center;line-height:25px}.vac-room-container .vac-state-circle{width:9px;height:9px;border-radius:50%;background-color:var(--chat-room-color-offline);margin-right:6px;transition:.3s}.vac-room-container .vac-state-online{background-color:var(--chat-room-color-online)}.vac-room-container .vac-room-name{flex:1;color:var(--chat-room-color-username);font-weight:500}.vac-room-container .vac-text-date{margin-left:5px;font-size:11px;color:var(--chat-room-color-timestamp)}.vac-room-container .vac-text-last{display:flex;align-items:center;font-size:12px;line-height:19px;color:var(--chat-room-color-message)}.vac-room-container .vac-message-new{color:var(--chat-room-color-username);font-weight:500}.vac-room-container .vac-icon-check{display:flex;vertical-align:middle;height:14px;width:14px;margin-top:-2px;margin-right:2px}.vac-room-container .vac-icon-microphone{height:15px;width:15px;vertical-align:middle;margin:-3px 1px 0 -2px;fill:var(--chat-room-color-message)}.vac-room-container .vac-room-options-container{display:flex;margin-left:auto}.vac-room-container .vac-room-badge{background-color:var(--chat-room-bg-color-badge);color:var(--chat-room-color-badge);margin-left:5px}.vac-room-container .vac-list-room-options{height:19px;width:19px;align-items:center;margin-left:5px}.vac-rooms-container{display:flex;flex-flow:column;flex:0 0 25%;min-width:260px;max-width:500px;position:relative;background:var(--chat-sidemenu-bg-color);height:100%;border-top-left-radius:var(--chat-container-border-radius);border-bottom-left-radius:var(--chat-container-border-radius)}.vac-rooms-container.vac-rooms-container-full{flex:0 0 100%;max-width:100%}.vac-rooms-container .vac-rooms-empty{font-size:14px;color:#9ca6af;font-style:italic;text-align:center;margin:40px 0;line-height:20px;white-space:pre-line}.vac-rooms-container .vac-room-list{flex:1;position:relative;max-width:100%;cursor:pointer;padding:0 10px 5px;overflow-y:auto}.vac-rooms-container .vac-room-item{border-radius:8px;align-items:center;display:flex;flex:1 1 100%;margin-bottom:5px;padding:0 14px;position:relative;min-height:71px}.vac-rooms-container .vac-room-item:hover{background:var(--chat-sidemenu-bg-color-hover)}.vac-rooms-container .vac-room-item:hover,.vac-rooms-container .vac-room-item:not(:hover){transition:background-color .3s cubic-bezier(.25,.8,.5,1)}.vac-rooms-container .vac-room-selected{color:var(--chat-sidemenu-color-active)!important}.vac-rooms-container .vac-room-selected,.vac-rooms-container .vac-room-selected:hover{background:var(--chat-sidemenu-bg-color-active)!important}@media only screen and (max-width:768px){.vac-rooms-container .vac-room-list{padding:0 7px 5px}.vac-rooms-container .vac-room-item{min-height:60px;padding:0 8px}}.vac-wrapper{position:relative;display:flex}.vac-wrapper .vac-emoji-picker{position:absolute;z-index:9999;bottom:32px;right:10px;width:240px;overflow:scroll;padding:16px;box-sizing:border-box;border-radius:.5rem;background:var(--chat-emoji-bg-color);box-shadow:0 1px 2px -2px rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1),0 1px 2px 1px rgba(0,0,0,.1)}.vac-wrapper .vac-picker-reaction{position:fixed;top:auto;right:auto}.vac-wrapper .vac-emoji-picker__search{display:flex}.vac-wrapper .vac-emoji-picker__search>input{flex:1;border-radius:10rem;border:var(--chat-border-style);padding:5px 10px;outline:none;background:var(--chat-bg-color-input);color:var(--chat-color)}.vac-wrapper .vac-emoji-picker h5{margin:15px 0 8px;color:#b1b1b1;text-transform:uppercase;font-size:.8rem;cursor:default}.vac-wrapper .vac-emoji-picker .vac-emojis{display:flex;flex-wrap:wrap;justify-content:space-between}.vac-wrapper .vac-emoji-picker .vac-emojis:after{content:"";flex:auto}.vac-wrapper .vac-emoji-picker .vac-emojis span{padding:.2rem;cursor:pointer;border-radius:5px}.vac-wrapper .vac-emoji-picker .vac-emojis span:hover{background:var(--chat-sidemenu-bg-color-hover);cursor:pointer}.vac-wrapper .vac-emoji-reaction svg{height:19px;width:19px}.vac-room-header{position:absolute;display:flex;align-items:center;height:64px;width:100%;z-index:10;margin-right:1px;background:var(--chat-header-bg-color);border-top-right-radius:var(--chat-container-border-radius)}.vac-room-header .vac-room-wrapper{display:flex;align-items:center;min-width:0;height:100%;width:100%;padding:0 16px}.vac-room-header .vac-toggle-button{margin-right:15px}.vac-room-header .vac-toggle-button svg{height:26px;width:26px}.vac-room-header .vac-rotate-icon{transform:rotate(180deg)!important}.vac-room-header .vac-info-wrapper{display:flex;align-items:center;min-width:0;width:100%;height:100%}.vac-room-header .vac-room-name{font-size:17px;font-weight:500;line-height:22px;color:var(--chat-header-color-name)}.vac-room-header .vac-room-info{font-size:13px;line-height:18px;color:var(--chat-header-color-info)}.vac-room-header .vac-room-options{margin-left:auto}@media only screen and (max-width:768px){.vac-room-header{height:50px}.vac-room-header .vac-room-wrapper{padding:0 10px}.vac-room-header .vac-room-name{font-size:16px;line-height:22px}.vac-room-header .vac-room-info{font-size:12px;line-height:16px}.vac-room-header .vac-avatar{height:37px;width:37px;min-height:37px;min-width:37px}}.vac-reply-container{position:absolute;display:flex;padding:10px 10px 0 10px;background:var(--chat-footer-bg-color);align-items:center;width:calc(100% - 20px)}.vac-reply-container .vac-reply-box{width:100%;overflow:hidden;background:var(--chat-footer-bg-color-reply);border-radius:4px;padding:8px 10px;display:flex}.vac-reply-container .vac-reply-info{overflow:hidden}.vac-reply-container .vac-reply-username{color:var(--chat-message-color-reply-username);font-size:12px;line-height:15px;margin-bottom:2px}.vac-reply-container .vac-reply-content{font-size:12px;color:var(--chat-message-color-reply-content);white-space:pre-line}.vac-reply-container .vac-icon-reply{margin-left:10px}.vac-reply-container .vac-icon-reply svg{height:20px;width:20px}.vac-reply-container .vac-image-reply{max-height:100px;margin-right:10px;border-radius:4px}@media only screen and (max-width:768px){.vac-reply-container{padding:5px 8px;width:calc(100% - 16px)}}.vac-tags-container{position:absolute;display:flex;flex-direction:column;align-items:center;width:100%}.vac-tags-container .vac-tags-box{display:flex;width:100%;height:54px;overflow:hidden;cursor:pointer;background:var(--chat-footer-bg-color)}.vac-tags-container .vac-tags-box:hover{background:var(--chat-footer-bg-color-tag-active)}.vac-tags-container .vac-tags-box:hover,.vac-tags-container .vac-tags-box:not(:hover){transition:background-color .3s cubic-bezier(.25,.8,.5,1)}.vac-tags-container .vac-tags-info{display:flex;overflow:hidden;padding:0 20px;align-items:center}.vac-tags-container .vac-tags-avatar{height:34px;width:34px;min-height:34px;min-width:34px}.vac-tags-container .vac-tags-username{font-size:14px}@media only screen and (max-width:768px){.vac-tags-container .vac-tags-box{height:50px}.vac-tags-container .vac-tags-info{padding:0 12px}}.vac-emojis-container{position:absolute;width:calc(100% - 16px);padding:10px 8px;background:var(--chat-footer-bg-color);display:flex;align-items:center;overflow:auto}.vac-emojis-container .vac-emoji-element{padding:0 8px;font-size:30px;border-radius:4px;cursor:pointer}.vac-emojis-container .vac-emoji-element:hover{background:var(--chat-footer-bg-color-tag-active)}.vac-emojis-container .vac-emoji-element:hover,.vac-emojis-container .vac-emoji-element:not(:hover){transition:background-color .3s cubic-bezier(.25,.8,.5,1)}@media only screen and (max-width:768px){.vac-emojis-container{width:calc(100% - 10px);padding:7px 5px}.vac-emojis-container .vac-emoji-element{padding:0 7px;font-size:26px}}.vac-player-bar{display:flex;align-items:center;max-width:calc(100% - 18px);margin-right:7px;margin-left:20px}.vac-player-bar .vac-player-progress{width:190px}.vac-player-bar .vac-player-progress .vac-line-container{position:relative;height:4px;border-radius:5px;background-color:var(--chat-message-bg-color-audio-line)}.vac-player-bar .vac-player-progress .vac-line-container .vac-line-progress{position:absolute;height:inherit;background-color:var(--chat-message-bg-color-audio-progress);border-radius:inherit}.vac-player-bar .vac-player-progress .vac-line-container .vac-line-dot{position:absolute;top:-5px;margin-left:-7px;height:14px;width:14px;border-radius:50%;background-color:var(--chat-message-bg-color-audio-progress-selector);transition:transform .25s}.vac-player-bar .vac-player-progress .vac-line-container .vac-line-dot__active{transform:scale(1.2)}@media only screen and (max-width:768px){.vac-player-bar{margin-right:5px}.vac-player-bar .vac-player-progress .vac-line-container{height:3px}.vac-player-bar .vac-player-progress .vac-line-container .vac-line-dot{height:12px;width:12px;top:-5px;margin-left:-5px}}.vac-audio-player{display:flex;margin:8px 0 5px}.vac-audio-player .vac-svg-button{max-width:18px;margin-left:7px}@media only screen and (max-width:768px){.vac-audio-player{margin:4px 0 0}.vac-audio-player .vac-svg-button{max-width:16px;margin-left:5px}}.vac-reply-message{background:var(--chat-message-bg-color-reply);border-radius:4px;margin:-1px -5px 8px;padding:8px 10px}.vac-reply-message .vac-reply-username{color:var(--chat-message-color-reply-username);font-size:12px;line-height:15px;margin-bottom:2px}.vac-reply-message .vac-image-reply-container{width:70px}.vac-reply-message .vac-image-reply-container .vac-message-image-reply{height:70px;width:70px;margin:4px auto 3px}.vac-reply-message .vac-video-reply-container{width:200px;max-width:100%}.vac-reply-message .vac-video-reply-container video{border-radius:4px}.vac-reply-message .vac-reply-content{font-size:12px;color:var(--chat-message-color-reply-content)}.vac-image-container{width:250px;max-width:100%}.vac-image-container .vac-image-loading{filter:blur(3px)}.vac-image-container .vac-image-buttons{position:absolute;width:100%;height:100%;border-radius:4px;background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.02) 60%,rgba(0,0,0,.05) 65%,rgba(0,0,0,.1) 70%,rgba(0,0,0,.2) 75%,rgba(0,0,0,.3) 80%,rgba(0,0,0,.5) 85%,rgba(0,0,0,.6) 90%,rgba(0,0,0,.7) 95%,rgba(0,0,0,.8))}.vac-image-container .vac-image-buttons svg{height:26px;width:26px}.vac-image-container .vac-image-buttons .vac-button-download,.vac-image-container .vac-image-buttons .vac-button-view{position:absolute;bottom:6px;left:7px}.vac-image-container .vac-image-buttons :first-child{left:40px}.vac-image-container .vac-image-buttons .vac-button-view{max-width:18px;bottom:8px}.vac-message-actions-wrapper .vac-options-container{position:absolute;top:2px;right:10px;height:40px;width:70px;overflow:hidden;border-top-right-radius:8px}.vac-message-actions-wrapper .vac-options-image .vac-blur-container{border-bottom-left-radius:15px}.vac-message-actions-wrapper .vac-blur-container{position:absolute;height:100%;width:100%;left:8px;bottom:10px;background:var(--chat-message-bg-color);filter:blur(3px);border-bottom-left-radius:8px}.vac-message-actions-wrapper .vac-options-me{background:var(--chat-message-bg-color-me)}.vac-message-actions-wrapper .vac-message-options{background:var(--chat-icon-bg-dropdown-message);border-radius:50%;position:absolute;top:7px;right:7px}.vac-message-actions-wrapper .vac-message-options svg{height:17px;width:17px;padding:5px;margin:-5px}.vac-message-actions-wrapper .vac-message-emojis{position:absolute;top:6px;right:30px}.vac-message-actions-wrapper .vac-menu-options{right:15px}.vac-message-actions-wrapper .vac-menu-left{right:-118px}@media only screen and (max-width:768px){.vac-message-actions-wrapper .vac-options-container{right:3px}.vac-message-actions-wrapper .vac-menu-left{right:-50px}}.vac-button-reaction{display:inline-flex;align-items:center;border:var(--chat-message-border-style-reaction);outline:none;background:var(--chat-message-bg-color-reaction);border-radius:4px;margin:4px 2px 0;transition:.3s;padding:0 5px;font-size:18px;line-height:23px}.vac-button-reaction span{font-size:11px;font-weight:500;min-width:7px;color:var(--chat-message-color-reaction-counter)}.vac-button-reaction:hover{border:var(--chat-message-border-style-reaction-hover);background:var(--chat-message-bg-color-reaction-hover);cursor:pointer}.vac-button-reaction.vac-reaction-me{border:var(--chat-message-border-style-reaction-me);background:var(--chat-message-bg-color-reaction-me)}.vac-button-reaction.vac-reaction-me span{color:var(--chat-message-color-reaction-counter-me)}.vac-button-reaction.vac-reaction-me:hover{border:var(--chat-message-border-style-reaction-hover-me);background:var(--chat-message-bg-color-reaction-hover-me)}.vac-message-wrapper .vac-card-info{border-radius:4px;text-align:center;margin:10px auto;font-size:12px;padding:4px;display:block;overflow-wrap:break-word;position:relative;white-space:normal;box-shadow:0 1px 1px -1px rgba(0,0,0,.1),0 1px 1px -1px rgba(0,0,0,.11),0 1px 2px -1px rgba(0,0,0,.11)}.vac-message-wrapper .vac-card-date{max-width:150px;font-weight:500;text-transform:uppercase;color:var(--chat-message-color-date);background:var(--chat-message-bg-color-date)}.vac-message-wrapper .vac-card-system{max-width:250px;padding:8px 4px;color:var(--chat-message-color-system);background:var(--chat-message-bg-color-system)}.vac-message-wrapper .vac-line-new{color:var(--chat-message-color-new-messages);position:relative;text-align:center;font-size:13px;padding:10px 0}.vac-message-wrapper .vac-line-new:after,.vac-message-wrapper .vac-line-new:before{border-top:1px solid var(--chat-message-color-new-messages);content:"";left:0;position:absolute;top:50%;width:calc(50% - 60px)}.vac-message-wrapper .vac-line-new:before{left:auto;right:0}.vac-message-wrapper .vac-message-box{display:flex;flex:0 0 50%;max-width:50%;justify-content:flex-start;line-height:1.4}.vac-message-wrapper .vac-avatar{height:28px;width:28px;min-height:28px;min-width:28px;margin:0 0 2px 0;align-self:flex-end}.vac-message-wrapper .vac-message-container{position:relative;padding:2px 10px;align-items:end;min-width:100px;box-sizing:content-box}.vac-message-wrapper .vac-message-container-offset{margin-top:10px}.vac-message-wrapper .vac-offset-current{margin-left:50%;justify-content:flex-end}.vac-message-wrapper .vac-message-card{background:var(--chat-message-bg-color);color:var(--chat-message-color);border-radius:8px;font-size:14px;padding:6px 9px 3px;white-space:pre-line;max-width:100%;transition-property:box-shadow,opacity;transition:box-shadow .28s cubic-bezier(.4,0,.2,1);will-change:box-shadow;box-shadow:0 1px 1px -1px rgba(0,0,0,.1),0 1px 1px -1px rgba(0,0,0,.11),0 1px 2px -1px rgba(0,0,0,.11)}.vac-message-wrapper .vac-message-highlight{box-shadow:0 1px 2px -1px rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.11),0 1px 5px -1px rgba(0,0,0,.11)}.vac-message-wrapper .vac-message-current{background:var(--chat-message-bg-color-me)!important}.vac-message-wrapper .vac-message-deleted{color:var(--chat-message-color-deleted)!important;font-size:13px!important;font-style:italic!important;background:var(--chat-message-bg-color-deleted)!important}.vac-message-wrapper .vac-icon-deleted{height:14px;width:14px;vertical-align:middle;margin:-2px 2px 0 0;fill:var(--chat-message-color-deleted)}.vac-message-wrapper .vac-video-container{width:350px;max-width:100%;margin:4px auto 5px}.vac-message-wrapper .vac-video-container video{border-radius:4px}.vac-message-wrapper .vac-message-image{position:relative;background-color:var(--chat-message-bg-color-image)!important;background-size:cover!important;background-position:50%!important;background-repeat:no-repeat!important;height:250px;width:250px;max-width:100%;border-radius:4px;margin:4px auto 5px;transition:filter .4s linear}.vac-message-wrapper .vac-text-username{font-size:13px;color:var(--chat-message-color-username);margin-bottom:2px}.vac-message-wrapper .vac-username-reply{margin-bottom:5px}.vac-message-wrapper .vac-text-timestamp{font-size:10px;color:var(--chat-message-color-timestamp);text-align:right}.vac-message-wrapper .vac-progress-time{float:left;margin:-2px 0 0 40px;color:var(--chat-color);font-size:12px}.vac-message-wrapper .vac-file-message{display:flex;flex-wrap:wrap;align-items:center;margin-top:3px}.vac-message-wrapper .vac-file-message span{max-width:100%}.vac-message-wrapper .vac-file-message .vac-icon-file svg{margin-right:5px}.vac-message-wrapper .vac-icon-edited{align-items:center;display:inline-flex;justify-content:center;letter-spacing:normal;line-height:1;text-indent:0;vertical-align:middle;margin:0 4px 2px}.vac-message-wrapper .vac-icon-edited svg{height:12px;width:12px}.vac-message-wrapper .vac-icon-check{height:14px;width:14px;vertical-align:middle;margin:-3px -3px 0 3px}@media only screen and (max-width:768px){.vac-message-wrapper .vac-message-container{padding:2px 3px 1px}.vac-message-wrapper .vac-message-container-offset{margin-top:10px}.vac-message-wrapper .vac-message-box{flex:0 0 80%;max-width:80%}.vac-message-wrapper .vac-avatar{height:25px;width:25px;min-height:25px;min-width:25px;margin:0 6px 1px 0}.vac-message-wrapper .vac-offset-current{margin-left:20%}.vac-message-wrapper .vac-progress-time{margin-left:37px}}.vac-col-messages{position:relative;height:100%;flex:1;overflow:hidden;display:flex;flex-flow:column}.vac-col-messages .vac-container-center{height:100%;width:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center}.vac-col-messages .vac-room-empty{font-size:14px;color:#9ca6af;font-style:italic;line-height:20px;white-space:pre-line}.vac-col-messages .vac-room-empty div{padding:0 10%}.vac-col-messages .vac-container-scroll{background:var(--chat-content-bg-color);flex:1;overflow-y:auto;margin-right:1px;margin-top:60px;-webkit-overflow-scrolling:touch}.vac-col-messages .vac-container-scroll.vac-scroll-smooth{scroll-behavior:smooth}.vac-col-messages .vac-messages-container{padding:0 5px 5px}.vac-col-messages .vac-text-started{font-size:14px;color:var(--chat-message-color-started);font-style:italic;text-align:center;margin-top:30px;margin-bottom:20px}.vac-col-messages .vac-infinite-loading{height:68px}.vac-col-messages .vac-icon-scroll{position:absolute;bottom:80px;right:20px;padding:8px;background:var(--chat-bg-scroll-icon);border-radius:50%;box-shadow:0 1px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 2px 0 rgba(0,0,0,.12);display:flex;cursor:pointer;z-index:10}.vac-col-messages .vac-icon-scroll svg{height:25px;width:25px}.vac-col-messages .vac-messages-count{position:absolute;top:-8px;left:11px;background-color:var(--chat-message-bg-color-scroll-counter);color:var(--chat-message-color-scroll-counter)}.vac-col-messages .vac-room-footer{width:100%;border-bottom-right-radius:4px;z-index:10}.vac-col-messages .vac-box-footer{display:flex;position:relative;background:var(--chat-footer-bg-color);padding:10px 8px 10px}.vac-col-messages .vac-textarea{height:20px;width:100%;line-height:20px;overflow:hidden;outline:0;resize:none;border-radius:20px;padding:12px 16px;box-sizing:content-box;font-size:16px;background:var(--chat-bg-color-input);color:var(--chat-color);caret-color:var(--chat-color-caret);border:var(--chat-border-style-input)}.vac-col-messages .vac-textarea::-moz-placeholder{color:var(--chat-color-placeholder);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vac-col-messages .vac-textarea:-ms-input-placeholder{color:var(--chat-color-placeholder);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vac-col-messages .vac-textarea::placeholder{color:var(--chat-color-placeholder);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vac-col-messages .vac-textarea-outline{border:1px solid var(--chat-border-color-input-selected);box-shadow:inset 0 0 0 1px var(--chat-border-color-input-selected)}.vac-col-messages .vac-icon-textarea,.vac-col-messages .vac-icon-textarea-left{display:flex;align-items:center}.vac-col-messages .vac-icon-textarea-left .vac-wrapper,.vac-col-messages .vac-icon-textarea-left svg,.vac-col-messages .vac-icon-textarea .vac-wrapper,.vac-col-messages .vac-icon-textarea svg{margin:0 7px}.vac-col-messages .vac-icon-textarea{margin-left:5px}.vac-col-messages .vac-icon-textarea-left{display:flex;align-items:center;margin-right:5px}.vac-col-messages .vac-icon-textarea-left .vac-wrapper,.vac-col-messages .vac-icon-textarea-left svg{margin:0 7px}.vac-col-messages .vac-icon-textarea-left .vac-icon-microphone{fill:var(--chat-icon-color-microphone);margin:0 7px}.vac-col-messages .vac-icon-textarea-left .vac-dot-audio-record{height:15px;width:15px;border-radius:50%;background-color:var(--chat-message-bg-color-audio-record);-webkit-animation:vac-scaling .8s ease-in-out infinite alternate;animation:vac-scaling .8s ease-in-out infinite alternate}@-webkit-keyframes vac-scaling{0%{transform:scale(1);opacity:.4}to{transform:scale(1.1);opacity:1}}@keyframes vac-scaling{0%{transform:scale(1);opacity:.4}to{transform:scale(1.1);opacity:1}}.vac-col-messages .vac-icon-textarea-left .vac-dot-audio-record-time{font-size:16px;color:var(--chat-color);margin-left:8px;width:45px}.vac-col-messages .vac-icon-textarea-left .vac-icon-audio-confirm,.vac-col-messages .vac-icon-textarea-left .vac-icon-audio-confirm svg,.vac-col-messages .vac-icon-textarea-left .vac-icon-audio-stop,.vac-col-messages .vac-icon-textarea-left .vac-icon-audio-stop svg{min-height:28px;min-width:28px}.vac-col-messages .vac-icon-textarea-left .vac-icon-audio-stop{margin-right:20px}.vac-col-messages .vac-icon-textarea-left .vac-icon-audio-stop #vac-icon-close-outline{fill:var(--chat-icon-color-audio-cancel)}.vac-col-messages .vac-icon-textarea-left .vac-icon-audio-confirm{margin-right:3px;margin-left:12px}.vac-col-messages .vac-icon-textarea-left .vac-icon-audio-confirm #vac-icon-checkmark{fill:var(--chat-icon-color-audio-confirm)}.vac-col-messages .vac-media-container{position:absolute;max-width:25%;left:16px;top:18px}.vac-col-messages .vac-media-file{display:flex;justify-content:center;flex-direction:column;min-height:30px}.vac-col-messages .vac-media-file img{border-radius:15px;width:100%;max-width:150px;max-height:100%}.vac-col-messages .vac-media-file video{border-radius:15px;width:100%;max-width:250px;max-height:100%}.vac-col-messages .vac-icon-media{position:absolute;top:6px;left:6px;z-index:10}.vac-col-messages .vac-icon-media svg{height:20px;width:20px;border-radius:50%}.vac-col-messages .vac-icon-media:before{content:" ";position:absolute;width:100%;height:100%;background:rgba(0,0,0,.5);border-radius:50%;z-index:-1}.vac-col-messages .vac-file-container{display:flex;align-items:center;width:calc(100% - 115px);height:20px;padding:12px 0;box-sizing:content-box;background:var(--chat-bg-color-input);border:var(--chat-border-style-input);border-radius:20px}.vac-col-messages .vac-file-container.vac-file-container-edit{width:calc(100% - 150px)}.vac-col-messages .vac-file-container .vac-icon-file{display:flex;margin:0 8px 0 15px}.vac-col-messages .vac-file-container .vac-file-message{max-width:calc(100% - 75px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vac-col-messages .vac-file-container .vac-icon-remove{margin:0 8px}.vac-col-messages .vac-file-container .vac-icon-remove svg{height:18px;width:18px}.vac-col-messages .vac-send-disabled,.vac-col-messages .vac-send-disabled svg{cursor:none!important;pointer-events:none!important;transform:none!important}.vac-col-messages .vac-messages-hidden{opacity:0}@media only screen and (max-width:768px){.vac-col-messages .vac-container-scroll{margin-top:50px}.vac-col-messages .vac-infinite-loading{height:58px}.vac-col-messages .vac-box-footer{border-top:var(--chat-border-style-input);padding:7px 2px 7px 7px}.vac-col-messages .vac-text-started{margin-top:20px}.vac-col-messages .vac-textarea{padding:7px;line-height:18px}.vac-col-messages .vac-textarea::-moz-placeholder{color:transparent}.vac-col-messages .vac-textarea:-ms-input-placeholder{color:transparent}.vac-col-messages .vac-textarea::placeholder{color:transparent}.vac-col-messages .vac-icon-textarea-left .vac-wrapper,.vac-col-messages .vac-icon-textarea-left svg,.vac-col-messages .vac-icon-textarea .vac-wrapper,.vac-col-messages .vac-icon-textarea svg{margin:0 5px!important}.vac-col-messages .vac-media-container{top:10px;left:10px}.vac-col-messages .vac-media-file img,.vac-col-messages .vac-media-file video{transform:scale(.97)}.vac-col-messages .vac-room-footer{width:100%}.vac-col-messages .vac-file-container{padding:7px 0}.vac-col-messages .vac-file-container .icon-file{margin-left:10px}.vac-col-messages .vac-icon-scroll{bottom:70px}}.vac-fade-spinner-enter{opacity:0}.vac-fade-spinner-enter-active{transition:opacity .8s}.vac-fade-spinner-leave-active{transition:opacity .2s;opacity:0}.vac-fade-image-enter{opacity:0}.vac-fade-image-enter-active{transition:opacity 1s}.vac-fade-image-leave-active{transition:opacity .5s;opacity:0}.vac-fade-message-enter{opacity:0}.vac-fade-message-enter-active{transition:opacity .5s}.vac-fade-message-leave-active{transition:opacity .2s;opacity:0}.vac-slide-left-enter-active,.vac-slide-right-enter-active{transition:all .3s ease;transition-property:transform,opacity}.vac-slide-left-leave-active,.vac-slide-right-leave-active{transition:all .2s cubic-bezier(1,.5,.8,1);transition-property:transform,opacity}.vac-slide-left-enter,.vac-slide-left-leave-to{transform:translateX(10px);opacity:0}.vac-slide-right-enter,.vac-slide-right-leave-to{transform:translateX(-10px);opacity:0}.vac-slide-up-enter-active{transition:all .3s ease}.vac-slide-up-leave-active{transition:all .2s cubic-bezier(1,.5,.8,1)}.vac-slide-up-enter,.vac-slide-up-leave-to{transform:translateY(10px);opacity:0}.vac-bounce-enter-active{-webkit-animation:vac-bounce-in .5s;animation:vac-bounce-in .5s}.vac-bounce-leave-active{animation:vac-bounce-in .3s reverse}@-webkit-keyframes vac-bounce-in{0%{transform:scale(0)}50%{transform:scale(1.05)}to{transform:scale(1)}}@keyframes vac-bounce-in{0%{transform:scale(0)}50%{transform:scale(1.05)}to{transform:scale(1)}}.vac-menu-list{border-radius:4px;display:block;cursor:pointer;background:var(--chat-dropdown-bg-color);padding:6px 0}.vac-menu-list :hover{background:var(--chat-dropdown-bg-color-hover)}.vac-menu-list :hover,.vac-menu-list :not(:hover){transition:background-color .3s cubic-bezier(.25,.8,.5,1)}.vac-menu-item{align-items:center;display:flex;flex:1 1 100%;min-height:30px;padding:5px 16px;position:relative;white-space:nowrap;line-height:30px}.vac-menu-options{position:absolute;right:10px;top:20px;z-index:9999;min-width:150px;display:inline-block;border-radius:4px;font-size:14px;color:var(--chat-color);overflow-y:auto;overflow-x:hidden;contain:content;box-shadow:0 2px 2px -4px rgba(0,0,0,.1),0 2px 2px 1px rgba(0,0,0,.12),0 1px 8px 1px rgba(0,0,0,.12)}.vac-app-border{border:var(--chat-border-style)}.vac-app-border-t{border-top:var(--chat-border-style)}.vac-app-border-r{border-right:var(--chat-border-style)}.vac-app-border-b{border-bottom:var(--chat-border-style)}.vac-app-box-shadow{box-shadow:0 2px 2px -4px rgba(0,0,0,.1),0 2px 2px 1px rgba(0,0,0,.12),0 1px 8px 1px rgba(0,0,0,.12)}.vac-item-clickable{cursor:pointer}.vac-vertical-center{display:flex;align-items:center;height:100%}.vac-vertical-center .vac-vertical-container{width:100%;text-align:center}.vac-svg-button{max-height:30px;display:flex;cursor:pointer;transition:all .2s}.vac-svg-button:hover{transform:scale(1.1);opacity:.7}.vac-avatar{background-size:cover;background-position:50%;background-repeat:no-repeat;background-color:#ddd;height:42px;width:42px;min-height:42px;min-width:42px;margin-right:15px;border-radius:50%}.vac-badge-counter{height:13px;width:auto;min-width:13px;border-radius:50%;display:flex;align-items:center;justify-content:center;padding:3px;font-size:11px;font-weight:500}.vac-text-ellipsis{width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vac-text-bold{font-weight:700}.vac-text-italic{font-style:italic}.vac-text-strike{text-decoration:line-through}.vac-text-underline{text-decoration:underline}.vac-text-inline-code{display:inline-block;color:var(--chat-markdown-color);margin:2px 0;padding:2px 3px}.vac-text-inline-code,.vac-text-multiline-code{font-size:12px;background:var(--chat-markdown-bg);border:1px solid var(--chat-markdown-border);border-radius:3px}.vac-text-multiline-code{display:block;color:var(--chat-markdown-color-multi);margin:4px 0;padding:7px}.vac-text-tag{color:var(--chat-message-color-tag);cursor:pointer}.vac-card-window{width:100%;display:block;max-width:100%;background:var(--chat-content-bg-color);color:var(--chat-color);overflow-wrap:break-word;position:relative;white-space:normal;border:var(--chat-container-border);border-radius:var(--chat-container-border-radius);box-shadow:var(--chat-container-box-shadow);-webkit-tap-highlight-color:transparent}.vac-card-window *{font-family:inherit}.vac-card-window a{color:#0d579c;font-weight:500}.vac-card-window .vac-chat-container{height:100%;display:flex}.vac-card-window .vac-chat-container input{min-width:10px}.vac-card-window .vac-chat-container input[type=search],.vac-card-window .vac-chat-container input[type=text],.vac-card-window .vac-chat-container textarea{-webkit-appearance:none}.vac-message-wrapper .vac-offset-current{margin-left:15%}.vac-message-wrapper .vac-message-box{max-width:80%} +.vac-loader-wrapper.vac-container-center{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:9}.vac-loader-wrapper.vac-container-top{padding:21px}.vac-loader-wrapper.vac-container-top #vac-circle{height:20px;width:20px}.vac-loader-wrapper #vac-circle{margin:auto;height:28px;width:28px;border:3px solid rgba(0,0,0,.25);border-top:3px var(--chat-color-spinner) solid;border-right:3px var(--chat-color-spinner) solid;border-bottom:3px var(--chat-color-spinner) solid;border-radius:50%;-webkit-animation:vac-spin 1s linear infinite;animation:vac-spin 1s linear infinite}@media only screen and (max-width:768px){.vac-loader-wrapper #vac-circle{height:24px;width:24px}.vac-loader-wrapper.vac-container-top{padding:18px}.vac-loader-wrapper.vac-container-top #vac-circle{height:16px;width:16px}}@-webkit-keyframes vac-spin{0%{transform:rotate(0deg)}to{transform:rotate(359deg)}}@keyframes vac-spin{0%{transform:rotate(0deg)}to{transform:rotate(359deg)}}#vac-icon-search{fill:var(--chat-icon-color-search)}#vac-icon-add{fill:var(--chat-icon-color-add)}#vac-icon-toggle{fill:var(--chat-icon-color-toggle)}#vac-icon-menu{fill:var(--chat-icon-color-menu)}#vac-icon-close{fill:var(--chat-icon-color-close)}#vac-icon-close-image{fill:var(--chat-icon-color-close-image)}#vac-icon-file{fill:var(--chat-icon-color-file)}#vac-icon-paperclip{fill:var(--chat-icon-color-paperclip)}#vac-icon-close-outline{fill:var(--chat-icon-color-close-outline)}#vac-icon-send{fill:var(--chat-icon-color-send)}#vac-icon-send-disabled{fill:var(--chat-icon-color-send-disabled)}#vac-icon-emoji{fill:var(--chat-icon-color-emoji)}#vac-icon-emoji-reaction{fill:var(--chat-icon-color-emoji-reaction)}#vac-icon-document{fill:var(--chat-icon-color-document)}#vac-icon-pencil{fill:var(--chat-icon-color-pencil)}#vac-icon-checkmark,#vac-icon-double-checkmark{fill:var(--chat-icon-color-checkmark)}#vac-icon-checkmark-seen,#vac-icon-double-checkmark-seen{fill:var(--chat-icon-color-checkmark-seen)}#vac-icon-eye{fill:var(--chat-icon-color-eye)}#vac-icon-dropdown-message{fill:var(--chat-icon-color-dropdown-message)}#vac-icon-dropdown-room{fill:var(--chat-icon-color-dropdown-room)}#vac-icon-dropdown-scroll{fill:var(--chat-icon-color-dropdown-scroll)}#vac-icon-audio-play{fill:var(--chat-icon-color-audio-play)}#vac-icon-audio-pause{fill:var(--chat-icon-color-audio-pause)}.vac-box-empty{margin-top:10px}@media only screen and (max-width:768px){.vac-box-empty{margin-top:7px}}.vac-box-search{position:sticky;display:flex;align-items:center;height:64px;padding:0 15px}.vac-box-search .vac-icon-search{display:flex;position:absolute;left:30px}.vac-box-search .vac-icon-search svg{width:18px;height:18px}.vac-box-search .vac-input{height:38px;width:100%;background:var(--chat-bg-color-input);color:var(--chat-color);border-radius:4px;font-size:15px;outline:0;caret-color:var(--chat-color-caret);padding:10px 10px 10px 40px;border:1px solid var(--chat-sidemenu-border-color-search);border-radius:20px}.vac-box-search .vac-input::-moz-placeholder{color:var(--chat-color-placeholder)}.vac-box-search .vac-input:-ms-input-placeholder{color:var(--chat-color-placeholder)}.vac-box-search .vac-input::placeholder{color:var(--chat-color-placeholder)}.vac-box-search .vac-add-icon{margin-left:auto;padding-left:10px}@media only screen and (max-width:768px){.vac-box-search{height:58px}}.vac-format-message-wrapper .vac-icon-deleted{height:14px;width:14px;vertical-align:middle;margin:-3px 1px 0 0;fill:var(--chat-room-color-message)}.vac-format-message-wrapper .vac-image-link-container{background-color:var(--chat-message-bg-color-media);padding:8px;margin:2px auto;border-radius:4px}.vac-format-message-wrapper .vac-image-link{position:relative;background-color:var(--chat-message-bg-color-image)!important;background-size:contain;background-position:50%!important;background-repeat:no-repeat!important;height:150px;width:150px;max-width:100%;border-radius:4px;margin:0 auto}.vac-format-message-wrapper .vac-image-link-message{max-width:166px;font-size:12px}.vac-room-container{display:flex;flex:1;align-items:center;width:100%}.vac-room-container .vac-name-container{flex:1}.vac-room-container .vac-title-container{display:flex;align-items:center;line-height:25px}.vac-room-container .vac-state-circle{width:9px;height:9px;border-radius:50%;background-color:var(--chat-room-color-offline);margin-right:6px;transition:.3s}.vac-room-container .vac-state-online{background-color:var(--chat-room-color-online)}.vac-room-container .vac-room-name{flex:1;color:var(--chat-room-color-username);font-weight:500}.vac-room-container .vac-text-date{margin-left:5px;font-size:11px;color:var(--chat-room-color-timestamp)}.vac-room-container .vac-text-last{display:flex;align-items:center;font-size:12px;line-height:19px;color:var(--chat-room-color-message)}.vac-room-container .vac-message-new{color:var(--chat-room-color-username);font-weight:500}.vac-room-container .vac-icon-check{display:flex;vertical-align:middle;height:14px;width:14px;margin-top:-2px;margin-right:2px}.vac-room-container .vac-icon-microphone{height:15px;width:15px;vertical-align:middle;margin:-3px 1px 0 -2px;fill:var(--chat-room-color-message)}.vac-room-container .vac-room-options-container{display:flex;margin-left:auto}.vac-room-container .vac-room-badge{background-color:var(--chat-room-bg-color-badge);color:var(--chat-room-color-badge);margin-left:5px}.vac-room-container .vac-list-room-options{height:19px;width:19px;align-items:center;margin-left:5px}.vac-rooms-container{display:flex;flex-flow:column;flex:0 0 25%;min-width:260px;max-width:500px;position:relative;background:var(--chat-sidemenu-bg-color);height:100%;border-top-left-radius:var(--chat-container-border-radius);border-bottom-left-radius:var(--chat-container-border-radius)}.vac-rooms-container.vac-rooms-container-full{flex:0 0 100%;max-width:100%}.vac-rooms-container .vac-rooms-empty{font-size:14px;color:#9ca6af;font-style:italic;text-align:center;margin:40px 0;line-height:20px;white-space:pre-line}.vac-rooms-container .vac-room-list{flex:1;position:relative;max-width:100%;cursor:pointer;padding:0 10px 5px;overflow-y:auto}.vac-rooms-container .vac-room-item{border-radius:8px;align-items:center;display:flex;flex:1 1 100%;margin-bottom:5px;padding:0 14px;position:relative;min-height:71px}.vac-rooms-container .vac-room-item:hover{background:var(--chat-sidemenu-bg-color-hover)}.vac-rooms-container .vac-room-item:hover,.vac-rooms-container .vac-room-item:not(:hover){transition:background-color .3s cubic-bezier(.25,.8,.5,1)}.vac-rooms-container .vac-room-selected{color:var(--chat-sidemenu-color-active)!important}.vac-rooms-container .vac-room-selected,.vac-rooms-container .vac-room-selected:hover{background:var(--chat-sidemenu-bg-color-active)!important}@media only screen and (max-width:768px){.vac-rooms-container .vac-room-list{padding:0 7px 5px}.vac-rooms-container .vac-room-item{min-height:60px;padding:0 8px}}.vac-wrapper{position:relative;display:flex}.vac-wrapper .vac-emoji-picker{position:absolute;z-index:9999;bottom:32px;right:10px;width:240px;overflow:scroll;padding:16px;box-sizing:border-box;border-radius:.5rem;background:var(--chat-emoji-bg-color);box-shadow:0 1px 2px -2px rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1),0 1px 2px 1px rgba(0,0,0,.1)}.vac-wrapper .vac-picker-reaction{position:fixed;top:auto;right:auto}.vac-wrapper .vac-emoji-picker__search{display:flex}.vac-wrapper .vac-emoji-picker__search>input{flex:1;border-radius:10rem;border:var(--chat-border-style);padding:5px 10px;outline:none;background:var(--chat-bg-color-input);color:var(--chat-color)}.vac-wrapper .vac-emoji-picker h5{margin:15px 0 8px;color:#b1b1b1;text-transform:uppercase;font-size:.8rem;cursor:default}.vac-wrapper .vac-emoji-picker .vac-emojis{display:flex;flex-wrap:wrap;justify-content:space-between}.vac-wrapper .vac-emoji-picker .vac-emojis:after{content:"";flex:auto}.vac-wrapper .vac-emoji-picker .vac-emojis span{padding:.2rem;cursor:pointer;border-radius:5px}.vac-wrapper .vac-emoji-picker .vac-emojis span:hover{background:var(--chat-sidemenu-bg-color-hover);cursor:pointer}.vac-wrapper .vac-emoji-reaction svg{height:19px;width:19px}.vac-room-header{position:absolute;display:flex;align-items:center;height:64px;width:100%;z-index:10;margin-right:1px;background:var(--chat-header-bg-color);border-top-right-radius:var(--chat-container-border-radius)}.vac-room-header .vac-room-wrapper{display:flex;align-items:center;min-width:0;height:100%;width:100%;padding:0 16px}.vac-room-header .vac-toggle-button{margin-right:15px}.vac-room-header .vac-toggle-button svg{height:26px;width:26px}.vac-room-header .vac-rotate-icon{transform:rotate(180deg)!important}.vac-room-header .vac-info-wrapper{display:flex;align-items:center;min-width:0;width:100%;height:100%}.vac-room-header .vac-room-name{font-size:17px;font-weight:500;line-height:22px;color:var(--chat-header-color-name)}.vac-room-header .vac-room-info{font-size:13px;line-height:18px;color:var(--chat-header-color-info)}.vac-room-header .vac-room-options{margin-left:auto}@media only screen and (max-width:768px){.vac-room-header{height:50px}.vac-room-header .vac-room-wrapper{padding:0 10px}.vac-room-header .vac-room-name{font-size:16px;line-height:22px}.vac-room-header .vac-room-info{font-size:12px;line-height:16px}.vac-room-header .vac-avatar{height:37px;width:37px;min-height:37px;min-width:37px}}.vac-reply-container{position:absolute;display:flex;padding:10px 10px 0 10px;background:var(--chat-footer-bg-color);align-items:center;width:calc(100% - 20px)}.vac-reply-container .vac-reply-box{width:100%;overflow:hidden;background:var(--chat-footer-bg-color-reply);border-radius:4px;padding:8px 10px;display:flex}.vac-reply-container .vac-reply-info{overflow:hidden}.vac-reply-container .vac-reply-username{color:var(--chat-message-color-reply-username);font-size:12px;line-height:15px;margin-bottom:2px}.vac-reply-container .vac-reply-content{font-size:12px;color:var(--chat-message-color-reply-content);white-space:pre-line}.vac-reply-container .vac-icon-reply{margin-left:10px}.vac-reply-container .vac-icon-reply svg{height:20px;width:20px}.vac-reply-container .vac-image-reply{max-height:100px;margin-right:10px;border-radius:4px}@media only screen and (max-width:768px){.vac-reply-container{padding:5px 8px;width:calc(100% - 16px)}}.vac-tags-container{position:absolute;display:flex;flex-direction:column;align-items:center;width:100%}.vac-tags-container .vac-tags-box{display:flex;width:100%;height:54px;overflow:hidden;cursor:pointer;background:var(--chat-footer-bg-color)}.vac-tags-container .vac-tags-box:hover{background:var(--chat-footer-bg-color-tag-active)}.vac-tags-container .vac-tags-box:hover,.vac-tags-container .vac-tags-box:not(:hover){transition:background-color .3s cubic-bezier(.25,.8,.5,1)}.vac-tags-container .vac-tags-info{display:flex;overflow:hidden;padding:0 20px;align-items:center}.vac-tags-container .vac-tags-avatar{height:34px;width:34px;min-height:34px;min-width:34px}.vac-tags-container .vac-tags-username{font-size:14px}@media only screen and (max-width:768px){.vac-tags-container .vac-tags-box{height:50px}.vac-tags-container .vac-tags-info{padding:0 12px}}.vac-emojis-container{position:absolute;width:calc(100% - 16px);padding:10px 8px;background:var(--chat-footer-bg-color);display:flex;align-items:center;overflow:auto}.vac-emojis-container .vac-emoji-element{padding:0 8px;font-size:30px;border-radius:4px;cursor:pointer}.vac-emojis-container .vac-emoji-element:hover{background:var(--chat-footer-bg-color-tag-active)}.vac-emojis-container .vac-emoji-element:hover,.vac-emojis-container .vac-emoji-element:not(:hover){transition:background-color .3s cubic-bezier(.25,.8,.5,1)}@media only screen and (max-width:768px){.vac-emojis-container{width:calc(100% - 10px);padding:7px 5px}.vac-emojis-container .vac-emoji-element{padding:0 7px;font-size:26px}}.vac-player-bar{display:flex;align-items:center;max-width:calc(100% - 18px);margin-right:7px;margin-left:20px}.vac-player-bar .vac-player-progress{width:190px}.vac-player-bar .vac-player-progress .vac-line-container{position:relative;height:4px;border-radius:5px;background-color:var(--chat-message-bg-color-audio-line)}.vac-player-bar .vac-player-progress .vac-line-container .vac-line-progress{position:absolute;height:inherit;background-color:var(--chat-message-bg-color-audio-progress);border-radius:inherit}.vac-player-bar .vac-player-progress .vac-line-container .vac-line-dot{position:absolute;top:-5px;margin-left:-7px;height:14px;width:14px;border-radius:50%;background-color:var(--chat-message-bg-color-audio-progress-selector);transition:transform .25s}.vac-player-bar .vac-player-progress .vac-line-container .vac-line-dot__active{transform:scale(1.2)}@media only screen and (max-width:768px){.vac-player-bar{margin-right:5px}.vac-player-bar .vac-player-progress .vac-line-container{height:3px}.vac-player-bar .vac-player-progress .vac-line-container .vac-line-dot{height:12px;width:12px;top:-5px;margin-left:-5px}}.vac-audio-player{display:flex;margin:8px 0 5px}.vac-audio-player .vac-svg-button{max-width:18px;margin-left:7px}@media only screen and (max-width:768px){.vac-audio-player{margin:4px 0 0}.vac-audio-player .vac-svg-button{max-width:16px;margin-left:5px}}.vac-reply-message{background:var(--chat-message-bg-color-reply);border-radius:4px;margin:-1px -5px 8px;padding:8px 10px}.vac-reply-message .vac-reply-username{color:var(--chat-message-color-reply-username);font-size:12px;line-height:15px;margin-bottom:2px}.vac-reply-message .vac-image-reply-container{width:70px}.vac-reply-message .vac-image-reply-container .vac-message-image-reply{height:70px;width:70px;margin:4px auto 3px}.vac-reply-message .vac-video-reply-container{width:200px;max-width:100%}.vac-reply-message .vac-video-reply-container video{border-radius:4px}.vac-reply-message .vac-reply-content{font-size:12px;color:var(--chat-message-color-reply-content)}.vac-image-container{width:250px;max-width:100%}.vac-image-container .vac-image-loading{filter:blur(3px)}.vac-image-container .vac-image-buttons{position:absolute;width:100%;height:100%;border-radius:4px;background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.02) 60%,rgba(0,0,0,.05) 65%,rgba(0,0,0,.1) 70%,rgba(0,0,0,.2) 75%,rgba(0,0,0,.3) 80%,rgba(0,0,0,.5) 85%,rgba(0,0,0,.6) 90%,rgba(0,0,0,.7) 95%,rgba(0,0,0,.8))}.vac-image-container .vac-image-buttons svg{height:26px;width:26px}.vac-image-container .vac-image-buttons .vac-button-download,.vac-image-container .vac-image-buttons .vac-button-view{position:absolute;bottom:6px;left:7px}.vac-image-container .vac-image-buttons :first-child{left:40px}.vac-image-container .vac-image-buttons .vac-button-view{max-width:18px;bottom:8px}.vac-message-actions-wrapper .vac-options-container{position:absolute;top:2px;right:10px;height:40px;width:70px;overflow:hidden;border-top-right-radius:8px}.vac-message-actions-wrapper .vac-options-image .vac-blur-container{border-bottom-left-radius:15px}.vac-message-actions-wrapper .vac-blur-container{position:absolute;height:100%;width:100%;left:8px;bottom:10px;background:var(--chat-message-bg-color);filter:blur(3px);border-bottom-left-radius:8px}.vac-message-actions-wrapper .vac-options-me{background:var(--chat-message-bg-color-me)}.vac-message-actions-wrapper .vac-message-options{background:var(--chat-icon-bg-dropdown-message);border-radius:50%;position:absolute;top:7px;right:7px}.vac-message-actions-wrapper .vac-message-options svg{height:17px;width:17px;padding:5px;margin:-5px}.vac-message-actions-wrapper .vac-message-emojis{position:absolute;top:6px;right:30px}.vac-message-actions-wrapper .vac-menu-options{right:15px}.vac-message-actions-wrapper .vac-menu-left{right:-118px}@media only screen and (max-width:768px){.vac-message-actions-wrapper .vac-options-container{right:3px}.vac-message-actions-wrapper .vac-menu-left{right:-50px}}.vac-button-reaction{display:inline-flex;align-items:center;border:var(--chat-message-border-style-reaction);outline:none;background:var(--chat-message-bg-color-reaction);border-radius:4px;margin:4px 2px 0;transition:.3s;padding:0 5px;font-size:18px;line-height:23px}.vac-button-reaction span{font-size:11px;font-weight:500;min-width:7px;color:var(--chat-message-color-reaction-counter)}.vac-button-reaction:hover{border:var(--chat-message-border-style-reaction-hover);background:var(--chat-message-bg-color-reaction-hover);cursor:pointer}.vac-button-reaction.vac-reaction-me{border:var(--chat-message-border-style-reaction-me);background:var(--chat-message-bg-color-reaction-me)}.vac-button-reaction.vac-reaction-me span{color:var(--chat-message-color-reaction-counter-me)}.vac-button-reaction.vac-reaction-me:hover{border:var(--chat-message-border-style-reaction-hover-me);background:var(--chat-message-bg-color-reaction-hover-me)}.vac-message-wrapper .vac-card-info{border-radius:4px;text-align:center;margin:10px auto;font-size:12px;padding:4px;display:block;overflow-wrap:break-word;position:relative;white-space:normal;box-shadow:0 1px 1px -1px rgba(0,0,0,.1),0 1px 1px -1px rgba(0,0,0,.11),0 1px 2px -1px rgba(0,0,0,.11)}.vac-message-wrapper .vac-card-date{max-width:150px;font-weight:500;text-transform:uppercase;color:var(--chat-message-color-date);background:var(--chat-message-bg-color-date)}.vac-message-wrapper .vac-card-system{max-width:250px;padding:8px 4px;color:var(--chat-message-color-system);background:var(--chat-message-bg-color-system)}.vac-message-wrapper .vac-line-new{color:var(--chat-message-color-new-messages);position:relative;text-align:center;font-size:13px;padding:10px 0}.vac-message-wrapper .vac-line-new:after,.vac-message-wrapper .vac-line-new:before{border-top:1px solid var(--chat-message-color-new-messages);content:"";left:0;position:absolute;top:50%;width:calc(50% - 60px)}.vac-message-wrapper .vac-line-new:before{left:auto;right:0}.vac-message-wrapper .vac-message-box{display:flex;flex:0 0 50%;max-width:50%;justify-content:flex-start;line-height:1.4}.vac-message-wrapper .vac-avatar{height:28px;width:28px;min-height:28px;min-width:28px;margin:0 0 2px 0;align-self:flex-end}.vac-message-wrapper .vac-message-container{position:relative;padding:2px 10px;align-items:end;min-width:100px;box-sizing:content-box}.vac-message-wrapper .vac-message-container-offset{margin-top:10px}.vac-message-wrapper .vac-offset-current{margin-left:50%;justify-content:flex-end}.vac-message-wrapper .vac-message-card{background:var(--chat-message-bg-color);color:var(--chat-message-color);border-radius:8px;font-size:14px;padding:6px 9px 3px;white-space:pre-line;max-width:100%;transition-property:box-shadow,opacity;transition:box-shadow .28s cubic-bezier(.4,0,.2,1);will-change:box-shadow;box-shadow:0 1px 1px -1px rgba(0,0,0,.1),0 1px 1px -1px rgba(0,0,0,.11),0 1px 2px -1px rgba(0,0,0,.11)}.vac-message-wrapper .vac-message-highlight{box-shadow:0 1px 2px -1px rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.11),0 1px 5px -1px rgba(0,0,0,.11)}.vac-message-wrapper .vac-message-current{background:var(--chat-message-bg-color-me)!important}.vac-message-wrapper .vac-message-deleted{color:var(--chat-message-color-deleted)!important;font-size:13px!important;font-style:italic!important;background:var(--chat-message-bg-color-deleted)!important}.vac-message-wrapper .vac-icon-deleted{height:14px;width:14px;vertical-align:middle;margin:-2px 2px 0 0;fill:var(--chat-message-color-deleted)}.vac-message-wrapper .vac-video-container{width:350px;max-width:100%;margin:4px auto 5px}.vac-message-wrapper .vac-video-container video{border-radius:4px}.vac-message-wrapper .vac-message-image{position:relative;background-color:var(--chat-message-bg-color-image)!important;background-size:cover!important;background-position:50%!important;background-repeat:no-repeat!important;height:250px;width:250px;max-width:100%;border-radius:4px;margin:4px auto 5px;transition:filter .4s linear}.vac-message-wrapper .vac-text-username{font-size:13px;color:var(--chat-message-color-username);margin-bottom:2px}.vac-message-wrapper .vac-username-reply{margin-bottom:5px}.vac-message-wrapper .vac-text-timestamp{font-size:10px;color:var(--chat-message-color-timestamp);text-align:right}.vac-message-wrapper .vac-progress-time{float:left;margin:-2px 0 0 40px;color:var(--chat-color);font-size:12px}.vac-message-wrapper .vac-file-message{display:flex;flex-wrap:wrap;align-items:center;margin-top:3px}.vac-message-wrapper .vac-file-message span{max-width:100%}.vac-message-wrapper .vac-file-message .vac-icon-file svg{margin-right:5px}.vac-message-wrapper .vac-icon-edited{align-items:center;display:inline-flex;justify-content:center;letter-spacing:normal;line-height:1;text-indent:0;vertical-align:middle;margin:0 4px 2px}.vac-message-wrapper .vac-icon-edited svg{height:12px;width:12px}.vac-message-wrapper .vac-icon-check{height:14px;width:14px;vertical-align:middle;margin:-3px -3px 0 3px}@media only screen and (max-width:768px){.vac-message-wrapper .vac-message-container{padding:2px 3px 1px}.vac-message-wrapper .vac-message-container-offset{margin-top:10px}.vac-message-wrapper .vac-message-box{flex:0 0 80%;max-width:80%}.vac-message-wrapper .vac-avatar{height:25px;width:25px;min-height:25px;min-width:25px;margin:0 6px 1px 0}.vac-message-wrapper .vac-offset-current{margin-left:20%}.vac-message-wrapper .vac-progress-time{margin-left:37px}}.vac-col-messages{position:relative;height:100%;flex:1;overflow:hidden;display:flex;flex-flow:column}.vac-col-messages .vac-container-center{height:100%;width:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center}.vac-col-messages .vac-room-empty{font-size:14px;color:#9ca6af;font-style:italic;line-height:20px;white-space:pre-line}.vac-col-messages .vac-room-empty div{padding:0 10%}.vac-col-messages .vac-container-scroll{background:var(--chat-content-bg-color);flex:1;overflow-y:auto;margin-right:1px;margin-top:60px;-webkit-overflow-scrolling:touch}.vac-col-messages .vac-container-scroll.vac-scroll-smooth{scroll-behavior:smooth}.vac-col-messages .vac-messages-container{padding:0 5px 5px}.vac-col-messages .vac-text-started{font-size:14px;color:var(--chat-message-color-started);font-style:italic;text-align:center;margin-top:30px;margin-bottom:20px}.vac-col-messages .vac-infinite-loading{height:68px}.vac-col-messages .vac-icon-scroll{position:absolute;bottom:80px;right:20px;padding:8px;background:var(--chat-bg-scroll-icon);border-radius:50%;box-shadow:0 1px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 2px 0 rgba(0,0,0,.12);display:flex;cursor:pointer;z-index:10}.vac-col-messages .vac-icon-scroll svg{height:25px;width:25px}.vac-col-messages .vac-messages-count{position:absolute;top:-8px;left:11px;background-color:var(--chat-message-bg-color-scroll-counter);color:var(--chat-message-color-scroll-counter)}.vac-col-messages .vac-room-footer{width:100%;border-bottom-right-radius:4px;z-index:10}.vac-col-messages .vac-box-footer{display:flex;position:relative;background:var(--chat-footer-bg-color);padding:10px 8px 10px}.vac-col-messages .vac-textarea{height:20px;width:100%;line-height:20px;overflow:hidden;outline:0;resize:none;border-radius:20px;padding:12px 16px;box-sizing:content-box;font-size:16px;background:var(--chat-bg-color-input);color:var(--chat-color);caret-color:var(--chat-color-caret);border:var(--chat-border-style-input)}.vac-col-messages .vac-textarea::-moz-placeholder{color:var(--chat-color-placeholder);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vac-col-messages .vac-textarea:-ms-input-placeholder{color:var(--chat-color-placeholder);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vac-col-messages .vac-textarea::placeholder{color:var(--chat-color-placeholder);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vac-col-messages .vac-textarea-outline{border:1px solid var(--chat-border-color-input-selected);box-shadow:inset 0 0 0 1px var(--chat-border-color-input-selected)}.vac-col-messages .vac-icon-textarea,.vac-col-messages .vac-icon-textarea-left{display:flex;align-items:center}.vac-col-messages .vac-icon-textarea-left .vac-wrapper,.vac-col-messages .vac-icon-textarea-left svg,.vac-col-messages .vac-icon-textarea .vac-wrapper,.vac-col-messages .vac-icon-textarea svg{margin:0 7px}.vac-col-messages .vac-icon-textarea{margin-left:5px}.vac-col-messages .vac-icon-textarea-left{display:flex;align-items:center;margin-right:5px}.vac-col-messages .vac-icon-textarea-left .vac-wrapper,.vac-col-messages .vac-icon-textarea-left svg{margin:0 7px}.vac-col-messages .vac-icon-textarea-left .vac-icon-microphone{fill:var(--chat-icon-color-microphone);margin:0 7px}.vac-col-messages .vac-icon-textarea-left .vac-dot-audio-record{height:15px;width:15px;border-radius:50%;background-color:var(--chat-message-bg-color-audio-record);-webkit-animation:vac-scaling .8s ease-in-out infinite alternate;animation:vac-scaling .8s ease-in-out infinite alternate}@-webkit-keyframes vac-scaling{0%{transform:scale(1);opacity:.4}to{transform:scale(1.1);opacity:1}}@keyframes vac-scaling{0%{transform:scale(1);opacity:.4}to{transform:scale(1.1);opacity:1}}.vac-col-messages .vac-icon-textarea-left .vac-dot-audio-record-time{font-size:16px;color:var(--chat-color);margin-left:8px;width:45px}.vac-col-messages .vac-icon-textarea-left .vac-icon-audio-confirm,.vac-col-messages .vac-icon-textarea-left .vac-icon-audio-confirm svg,.vac-col-messages .vac-icon-textarea-left .vac-icon-audio-stop,.vac-col-messages .vac-icon-textarea-left .vac-icon-audio-stop svg{min-height:28px;min-width:28px}.vac-col-messages .vac-icon-textarea-left .vac-icon-audio-stop{margin-right:20px}.vac-col-messages .vac-icon-textarea-left .vac-icon-audio-stop #vac-icon-close-outline{fill:var(--chat-icon-color-audio-cancel)}.vac-col-messages .vac-icon-textarea-left .vac-icon-audio-confirm{margin-right:3px;margin-left:12px}.vac-col-messages .vac-icon-textarea-left .vac-icon-audio-confirm #vac-icon-checkmark{fill:var(--chat-icon-color-audio-confirm)}.vac-col-messages .vac-media-container{position:absolute;max-width:25%;left:16px;top:18px}.vac-col-messages .vac-media-file{display:flex;justify-content:center;flex-direction:column;min-height:30px}.vac-col-messages .vac-media-file img{border-radius:15px;width:100%;max-width:150px;max-height:100%}.vac-col-messages .vac-media-file video{border-radius:15px;width:100%;max-width:250px;max-height:100%}.vac-col-messages .vac-icon-media{position:absolute;top:6px;left:6px;z-index:10}.vac-col-messages .vac-icon-media svg{height:20px;width:20px;border-radius:50%}.vac-col-messages .vac-icon-media:before{content:" ";position:absolute;width:100%;height:100%;background:rgba(0,0,0,.5);border-radius:50%;z-index:-1}.vac-col-messages .vac-file-container{display:flex;align-items:center;width:calc(100% - 115px);height:20px;padding:12px 0;box-sizing:content-box;background:var(--chat-bg-color-input);border:var(--chat-border-style-input);border-radius:20px}.vac-col-messages .vac-file-container.vac-file-container-edit{width:calc(100% - 150px)}.vac-col-messages .vac-file-container .vac-icon-file{display:flex;margin:0 8px 0 15px}.vac-col-messages .vac-file-container .vac-file-message{max-width:calc(100% - 75px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vac-col-messages .vac-file-container .vac-icon-remove{margin:0 8px}.vac-col-messages .vac-file-container .vac-icon-remove svg{height:18px;width:18px}.vac-col-messages .vac-send-disabled,.vac-col-messages .vac-send-disabled svg{cursor:none!important;pointer-events:none!important;transform:none!important}.vac-col-messages .vac-messages-hidden{opacity:0}@media only screen and (max-width:768px){.vac-col-messages .vac-container-scroll{margin-top:50px}.vac-col-messages .vac-infinite-loading{height:58px}.vac-col-messages .vac-box-footer{border-top:var(--chat-border-style-input);padding:7px 2px 7px 7px}.vac-col-messages .vac-text-started{margin-top:20px}.vac-col-messages .vac-textarea{padding:7px;line-height:18px}.vac-col-messages .vac-textarea::-moz-placeholder{color:transparent}.vac-col-messages .vac-textarea:-ms-input-placeholder{color:transparent}.vac-col-messages .vac-textarea::placeholder{color:transparent}.vac-col-messages .vac-icon-textarea-left .vac-wrapper,.vac-col-messages .vac-icon-textarea-left svg,.vac-col-messages .vac-icon-textarea .vac-wrapper,.vac-col-messages .vac-icon-textarea svg{margin:0 5px!important}.vac-col-messages .vac-media-container{top:10px;left:10px}.vac-col-messages .vac-media-file img,.vac-col-messages .vac-media-file video{transform:scale(.97)}.vac-col-messages .vac-room-footer{width:100%}.vac-col-messages .vac-file-container{padding:7px 0}.vac-col-messages .vac-file-container .icon-file{margin-left:10px}.vac-col-messages .vac-icon-scroll{bottom:70px}}.vac-fade-spinner-enter{opacity:0}.vac-fade-spinner-enter-active{transition:opacity .8s}.vac-fade-spinner-leave-active{transition:opacity .2s;opacity:0}.vac-fade-image-enter{opacity:0}.vac-fade-image-enter-active{transition:opacity 1s}.vac-fade-image-leave-active{transition:opacity .5s;opacity:0}.vac-fade-message-enter{opacity:0}.vac-fade-message-enter-active{transition:opacity .5s}.vac-fade-message-leave-active{transition:opacity .2s;opacity:0}.vac-slide-left-enter-active,.vac-slide-right-enter-active{transition:all .3s ease;transition-property:transform,opacity}.vac-slide-left-leave-active,.vac-slide-right-leave-active{transition:all .2s cubic-bezier(1,.5,.8,1);transition-property:transform,opacity}.vac-slide-left-enter,.vac-slide-left-leave-to{transform:translateX(10px);opacity:0}.vac-slide-right-enter,.vac-slide-right-leave-to{transform:translateX(-10px);opacity:0}.vac-slide-up-enter-active{transition:all .3s ease}.vac-slide-up-leave-active{transition:all .2s cubic-bezier(1,.5,.8,1)}.vac-slide-up-enter,.vac-slide-up-leave-to{transform:translateY(10px);opacity:0}.vac-bounce-enter-active{-webkit-animation:vac-bounce-in .5s;animation:vac-bounce-in .5s}.vac-bounce-leave-active{animation:vac-bounce-in .3s reverse}@-webkit-keyframes vac-bounce-in{0%{transform:scale(0)}50%{transform:scale(1.05)}to{transform:scale(1)}}@keyframes vac-bounce-in{0%{transform:scale(0)}50%{transform:scale(1.05)}to{transform:scale(1)}}.vac-menu-list{border-radius:4px;display:block;cursor:pointer;background:var(--chat-dropdown-bg-color);padding:6px 0}.vac-menu-list :hover{background:var(--chat-dropdown-bg-color-hover)}.vac-menu-list :hover,.vac-menu-list :not(:hover){transition:background-color .3s cubic-bezier(.25,.8,.5,1)}.vac-menu-item{align-items:center;display:flex;flex:1 1 100%;min-height:30px;padding:5px 16px;position:relative;white-space:nowrap;line-height:30px}.vac-menu-options{position:absolute;right:10px;top:20px;z-index:9999;min-width:150px;display:inline-block;border-radius:4px;font-size:14px;color:var(--chat-color);overflow-y:auto;overflow-x:hidden;contain:content;box-shadow:0 2px 2px -4px rgba(0,0,0,.1),0 2px 2px 1px rgba(0,0,0,.12),0 1px 8px 1px rgba(0,0,0,.12)}.vac-app-border{border:var(--chat-border-style)}.vac-app-border-t{border-top:var(--chat-border-style)}.vac-app-border-r{border-right:var(--chat-border-style)}.vac-app-border-b{border-bottom:var(--chat-border-style)}.vac-app-box-shadow{box-shadow:0 2px 2px -4px rgba(0,0,0,.1),0 2px 2px 1px rgba(0,0,0,.12),0 1px 8px 1px rgba(0,0,0,.12)}.vac-item-clickable{cursor:pointer}.vac-vertical-center{display:flex;align-items:center;height:100%}.vac-vertical-center .vac-vertical-container{width:100%;text-align:center}.vac-svg-button{max-height:30px;display:flex;cursor:pointer;transition:all .2s}.vac-svg-button:hover{transform:scale(1.1);opacity:.7}.vac-avatar{background-size:cover;background-position:50%;background-repeat:no-repeat;background-color:#ddd;height:42px;width:42px;min-height:42px;min-width:42px;margin-right:15px;border-radius:50%}.vac-badge-counter{height:13px;width:auto;min-width:13px;border-radius:50%;display:flex;align-items:center;justify-content:center;padding:3px;font-size:11px;font-weight:500}.vac-text-ellipsis{width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vac-text-bold{font-weight:700}.vac-text-italic{font-style:italic}.vac-text-strike{text-decoration:line-through}.vac-text-underline{text-decoration:underline}.vac-text-inline-code{display:inline-block;color:var(--chat-markdown-color);margin:2px 0;padding:2px 3px}.vac-text-inline-code,.vac-text-multiline-code{font-size:12px;background:var(--chat-markdown-bg);border:1px solid var(--chat-markdown-border);border-radius:3px}.vac-text-multiline-code{display:block;color:var(--chat-markdown-color-multi);margin:4px 0;padding:7px}.vac-text-tag{color:var(--chat-message-color-tag);cursor:pointer}.vac-card-window{width:100%;display:block;max-width:100%;background:var(--chat-content-bg-color);color:var(--chat-color);overflow-wrap:break-word;position:relative;white-space:normal;border:var(--chat-container-border);border-radius:var(--chat-container-border-radius);box-shadow:var(--chat-container-box-shadow);-webkit-tap-highlight-color:transparent}.vac-card-window *{font-family:inherit}.vac-card-window a{color:#0d579c;font-weight:500}.vac-card-window .vac-chat-container{height:100%;display:flex}.vac-card-window .vac-chat-container input{min-width:10px}.vac-card-window .vac-chat-container input[type=search],.vac-card-window .vac-chat-container input[type=text],.vac-card-window .vac-chat-container textarea{-webkit-appearance:none}.vac-message-wrapper .vac-offset-current{margin-left:15%}.vac-message-wrapper .vac-message-box{max-width:80%} /*# sourceMappingURL=app.css.map */ \ No newline at end of file diff --git a/teleforma/static/teleforma/dist/app.css.map b/teleforma/static/teleforma/dist/app.css.map index ca6da025..bf95c406 100644 --- a/teleforma/static/teleforma/dist/app.css.map +++ b/teleforma/static/teleforma/dist/app.css.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///vue-advanced-chat.css","webpack:///js/components/js/components/Chat.vue"],"names":[],"mappings":"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","file":"app.css","sourcesContent":[".vac-loader-wrapper.vac-container-center{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:9}.vac-loader-wrapper.vac-container-top{padding:21px}.vac-loader-wrapper.vac-container-top #vac-circle{height:20px;width:20px}.vac-loader-wrapper #vac-circle{margin:auto;height:28px;width:28px;border:3px solid rgba(0,0,0,.25);border-top:3px var(--chat-color-spinner) solid;border-right:3px var(--chat-color-spinner) solid;border-bottom:3px var(--chat-color-spinner) solid;border-radius:50%;-webkit-animation:vac-spin 1s linear infinite;animation:vac-spin 1s linear infinite}@media only screen and (max-width:768px){.vac-loader-wrapper #vac-circle{height:24px;width:24px}.vac-loader-wrapper.vac-container-top{padding:18px}.vac-loader-wrapper.vac-container-top #vac-circle{height:16px;width:16px}}@-webkit-keyframes vac-spin{0%{transform:rotate(0deg)}to{transform:rotate(359deg)}}@keyframes vac-spin{0%{transform:rotate(0deg)}to{transform:rotate(359deg)}}#vac-icon-search{fill:var(--chat-icon-color-search)}#vac-icon-add{fill:var(--chat-icon-color-add)}#vac-icon-toggle{fill:var(--chat-icon-color-toggle)}#vac-icon-menu{fill:var(--chat-icon-color-menu)}#vac-icon-close{fill:var(--chat-icon-color-close)}#vac-icon-close-image{fill:var(--chat-icon-color-close-image)}#vac-icon-file{fill:var(--chat-icon-color-file)}#vac-icon-paperclip{fill:var(--chat-icon-color-paperclip)}#vac-icon-close-outline{fill:var(--chat-icon-color-close-outline)}#vac-icon-send{fill:var(--chat-icon-color-send)}#vac-icon-send-disabled{fill:var(--chat-icon-color-send-disabled)}#vac-icon-emoji{fill:var(--chat-icon-color-emoji)}#vac-icon-emoji-reaction{fill:var(--chat-icon-color-emoji-reaction)}#vac-icon-document{fill:var(--chat-icon-color-document)}#vac-icon-pencil{fill:var(--chat-icon-color-pencil)}#vac-icon-checkmark,#vac-icon-double-checkmark{fill:var(--chat-icon-color-checkmark)}#vac-icon-checkmark-seen,#vac-icon-double-checkmark-seen{fill:var(--chat-icon-color-checkmark-seen)}#vac-icon-eye{fill:var(--chat-icon-color-eye)}#vac-icon-dropdown-message{fill:var(--chat-icon-color-dropdown-message)}#vac-icon-dropdown-room{fill:var(--chat-icon-color-dropdown-room)}#vac-icon-dropdown-scroll{fill:var(--chat-icon-color-dropdown-scroll)}#vac-icon-audio-play{fill:var(--chat-icon-color-audio-play)}#vac-icon-audio-pause{fill:var(--chat-icon-color-audio-pause)}.vac-box-search{position:sticky;display:flex;align-items:center;height:64px;padding:0 15px}.vac-box-search .vac-icon-search{display:flex;position:absolute;left:30px}.vac-box-search .vac-icon-search svg{width:18px;height:18px}.vac-box-search .vac-input{height:38px;width:100%;background:var(--chat-bg-color-input);color:var(--chat-color);border-radius:4px;font-size:15px;outline:0;caret-color:var(--chat-color-caret);padding:10px 10px 10px 40px;border:1px solid var(--chat-sidemenu-border-color-search);border-radius:20px}.vac-box-search .vac-input::-moz-placeholder{color:var(--chat-color-placeholder)}.vac-box-search .vac-input:-ms-input-placeholder{color:var(--chat-color-placeholder)}.vac-box-search .vac-input::placeholder{color:var(--chat-color-placeholder)}.vac-box-search .vac-add-icon{margin-left:auto;padding-left:10px}@media only screen and (max-width:768px){.vac-box-search{height:58px}}.vac-format-message-wrapper .vac-icon-deleted{height:14px;width:14px;vertical-align:middle;margin:-3px 1px 0 0;fill:var(--chat-room-color-message)}.vac-format-message-wrapper .vac-image-link-container{background-color:var(--chat-message-bg-color-media);padding:8px;margin:2px auto;border-radius:4px}.vac-format-message-wrapper .vac-image-link{position:relative;background-color:var(--chat-message-bg-color-image)!important;background-size:contain;background-position:50%!important;background-repeat:no-repeat!important;height:150px;width:150px;max-width:100%;border-radius:4px;margin:0 auto}.vac-format-message-wrapper .vac-image-link-message{max-width:166px;font-size:12px}.vac-room-container{display:flex;flex:1;align-items:center;width:100%}.vac-room-container .vac-name-container{flex:1}.vac-room-container .vac-title-container{display:flex;align-items:center;line-height:25px}.vac-room-container .vac-state-circle{width:9px;height:9px;border-radius:50%;background-color:var(--chat-room-color-offline);margin-right:6px;transition:.3s}.vac-room-container .vac-state-online{background-color:var(--chat-room-color-online)}.vac-room-container .vac-room-name{flex:1;color:var(--chat-room-color-username);font-weight:500}.vac-room-container .vac-text-date{margin-left:5px;font-size:11px;color:var(--chat-room-color-timestamp)}.vac-room-container .vac-text-last{display:flex;align-items:center;font-size:12px;line-height:19px;color:var(--chat-room-color-message)}.vac-room-container .vac-message-new{color:var(--chat-room-color-username);font-weight:500}.vac-room-container .vac-icon-check{display:flex;vertical-align:middle;height:14px;width:14px;margin-top:-2px;margin-right:2px}.vac-room-container .vac-icon-microphone{height:15px;width:15px;vertical-align:middle;margin:-3px 1px 0 -2px;fill:var(--chat-room-color-message)}.vac-room-container .vac-room-options-container{display:flex;margin-left:auto}.vac-room-container .vac-room-badge{background-color:var(--chat-room-bg-color-badge);color:var(--chat-room-color-badge);margin-left:5px}.vac-room-container .vac-list-room-options{height:19px;width:19px;align-items:center;margin-left:5px}.vac-rooms-container{display:flex;flex-flow:column;flex:0 0 25%;min-width:260px;max-width:500px;position:relative;background:var(--chat-sidemenu-bg-color);height:100%;border-top-left-radius:var(--chat-container-border-radius);border-bottom-left-radius:var(--chat-container-border-radius)}.vac-rooms-container.vac-rooms-container-full{flex:0 0 100%;max-width:100%}.vac-rooms-container .vac-rooms-empty{font-size:14px;color:#9ca6af;font-style:italic;text-align:center;margin:40px 0;line-height:20px;white-space:pre-line}.vac-rooms-container .vac-room-list{flex:1;position:relative;max-width:100%;cursor:pointer;padding:0 10px 5px;overflow-y:auto}.vac-rooms-container .vac-room-item{border-radius:8px;align-items:center;display:flex;flex:1 1 100%;margin-bottom:5px;padding:0 14px;position:relative;min-height:71px}.vac-rooms-container .vac-room-item:hover{background:var(--chat-sidemenu-bg-color-hover)}.vac-rooms-container .vac-room-item:hover,.vac-rooms-container .vac-room-item:not(:hover){transition:background-color .3s cubic-bezier(.25,.8,.5,1)}.vac-rooms-container .vac-room-selected{color:var(--chat-sidemenu-color-active)!important}.vac-rooms-container .vac-room-selected,.vac-rooms-container .vac-room-selected:hover{background:var(--chat-sidemenu-bg-color-active)!important}@media only screen and (max-width:768px){.vac-rooms-container .vac-room-list{padding:0 7px 5px}.vac-rooms-container .vac-room-item{min-height:60px;padding:0 8px}}.vac-wrapper{position:relative;display:flex}.vac-wrapper .vac-emoji-picker{position:absolute;z-index:9999;bottom:32px;right:10px;width:240px;overflow:scroll;padding:16px;box-sizing:border-box;border-radius:.5rem;background:var(--chat-emoji-bg-color);box-shadow:0 1px 2px -2px rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1),0 1px 2px 1px rgba(0,0,0,.1)}.vac-wrapper .vac-picker-reaction{position:fixed;top:auto;right:auto}.vac-wrapper .vac-emoji-picker__search{display:flex}.vac-wrapper .vac-emoji-picker__search>input{flex:1;border-radius:10rem;border:var(--chat-border-style);padding:5px 10px;outline:none;background:var(--chat-bg-color-input);color:var(--chat-color)}.vac-wrapper .vac-emoji-picker h5{margin:15px 0 8px;color:#b1b1b1;text-transform:uppercase;font-size:.8rem;cursor:default}.vac-wrapper .vac-emoji-picker .vac-emojis{display:flex;flex-wrap:wrap;justify-content:space-between}.vac-wrapper .vac-emoji-picker .vac-emojis:after{content:\"\";flex:auto}.vac-wrapper .vac-emoji-picker .vac-emojis span{padding:.2rem;cursor:pointer;border-radius:5px}.vac-wrapper .vac-emoji-picker .vac-emojis span:hover{background:var(--chat-sidemenu-bg-color-hover);cursor:pointer}.vac-wrapper .vac-emoji-reaction svg{height:19px;width:19px}.vac-room-header{position:absolute;display:flex;align-items:center;height:64px;width:100%;z-index:10;margin-right:1px;background:var(--chat-header-bg-color);border-top-right-radius:var(--chat-container-border-radius)}.vac-room-header .vac-room-wrapper{display:flex;align-items:center;min-width:0;height:100%;width:100%;padding:0 16px}.vac-room-header .vac-toggle-button{margin-right:15px}.vac-room-header .vac-toggle-button svg{height:26px;width:26px}.vac-room-header .vac-rotate-icon{transform:rotate(180deg)!important}.vac-room-header .vac-info-wrapper{display:flex;align-items:center;min-width:0;width:100%;height:100%}.vac-room-header .vac-room-name{font-size:17px;font-weight:500;line-height:22px;color:var(--chat-header-color-name)}.vac-room-header .vac-room-info{font-size:13px;line-height:18px;color:var(--chat-header-color-info)}.vac-room-header .vac-room-options{margin-left:auto}@media only screen and (max-width:768px){.vac-room-header{height:50px}.vac-room-header .vac-room-wrapper{padding:0 10px}.vac-room-header .vac-room-name{font-size:16px;line-height:22px}.vac-room-header .vac-room-info{font-size:12px;line-height:16px}.vac-room-header .vac-avatar{height:37px;width:37px;min-height:37px;min-width:37px}}.vac-reply-container{position:absolute;display:flex;padding:10px 10px 0 10px;background:var(--chat-footer-bg-color);align-items:center;width:calc(100% - 20px)}.vac-reply-container .vac-reply-box{width:100%;overflow:hidden;background:var(--chat-footer-bg-color-reply);border-radius:4px;padding:8px 10px;display:flex}.vac-reply-container .vac-reply-info{overflow:hidden}.vac-reply-container .vac-reply-username{color:var(--chat-message-color-reply-username);font-size:12px;line-height:15px;margin-bottom:2px}.vac-reply-container .vac-reply-content{font-size:12px;color:var(--chat-message-color-reply-content);white-space:pre-line}.vac-reply-container .vac-icon-reply{margin-left:10px}.vac-reply-container .vac-icon-reply svg{height:20px;width:20px}.vac-reply-container .vac-image-reply{max-height:100px;margin-right:10px;border-radius:4px}@media only screen and (max-width:768px){.vac-reply-container{padding:5px 8px;width:calc(100% - 16px)}}.vac-tags-container{position:absolute;display:flex;flex-direction:column;align-items:center;width:100%}.vac-tags-container .vac-tags-box{display:flex;width:100%;height:54px;overflow:hidden;cursor:pointer;background:var(--chat-footer-bg-color)}.vac-tags-container .vac-tags-box:hover{background:var(--chat-footer-bg-color-tag-active)}.vac-tags-container .vac-tags-box:hover,.vac-tags-container .vac-tags-box:not(:hover){transition:background-color .3s cubic-bezier(.25,.8,.5,1)}.vac-tags-container .vac-tags-info{display:flex;overflow:hidden;padding:0 20px;align-items:center}.vac-tags-container .vac-tags-avatar{height:34px;width:34px;min-height:34px;min-width:34px}.vac-tags-container .vac-tags-username{font-size:14px}@media only screen and (max-width:768px){.vac-tags-container .vac-tags-box{height:50px}.vac-tags-container .vac-tags-info{padding:0 12px}}.vac-emojis-container{position:absolute;width:calc(100% - 16px);padding:10px 8px;background:var(--chat-footer-bg-color);display:flex;align-items:center;overflow:auto}.vac-emojis-container .vac-emoji-element{padding:0 8px;font-size:30px;border-radius:4px;cursor:pointer}.vac-emojis-container .vac-emoji-element:hover{background:var(--chat-footer-bg-color-tag-active)}.vac-emojis-container .vac-emoji-element:hover,.vac-emojis-container .vac-emoji-element:not(:hover){transition:background-color .3s cubic-bezier(.25,.8,.5,1)}@media only screen and (max-width:768px){.vac-emojis-container{width:calc(100% - 10px);padding:7px 5px}.vac-emojis-container .vac-emoji-element{padding:0 7px;font-size:26px}}.vac-player-bar{display:flex;align-items:center;max-width:calc(100% - 18px);margin-right:7px;margin-left:20px}.vac-player-bar .vac-player-progress{width:190px}.vac-player-bar .vac-player-progress .vac-line-container{position:relative;height:4px;border-radius:5px;background-color:var(--chat-message-bg-color-audio-line)}.vac-player-bar .vac-player-progress .vac-line-container .vac-line-progress{position:absolute;height:inherit;background-color:var(--chat-message-bg-color-audio-progress);border-radius:inherit}.vac-player-bar .vac-player-progress .vac-line-container .vac-line-dot{position:absolute;top:-5px;margin-left:-7px;height:14px;width:14px;border-radius:50%;background-color:var(--chat-message-bg-color-audio-progress-selector);transition:transform .25s}.vac-player-bar .vac-player-progress .vac-line-container .vac-line-dot__active{transform:scale(1.2)}@media only screen and (max-width:768px){.vac-player-bar{margin-right:5px}.vac-player-bar .vac-player-progress .vac-line-container{height:3px}.vac-player-bar .vac-player-progress .vac-line-container .vac-line-dot{height:12px;width:12px;top:-5px;margin-left:-5px}}.vac-audio-player{display:flex;margin:8px 0 5px}.vac-audio-player .vac-svg-button{max-width:18px;margin-left:7px}@media only screen and (max-width:768px){.vac-audio-player{margin:4px 0 0}.vac-audio-player .vac-svg-button{max-width:16px;margin-left:5px}}.vac-reply-message{background:var(--chat-message-bg-color-reply);border-radius:4px;margin:-1px -5px 8px;padding:8px 10px}.vac-reply-message .vac-reply-username{color:var(--chat-message-color-reply-username);font-size:12px;line-height:15px;margin-bottom:2px}.vac-reply-message .vac-image-reply-container{width:70px}.vac-reply-message .vac-image-reply-container .vac-message-image-reply{height:70px;width:70px;margin:4px auto 3px}.vac-reply-message .vac-video-reply-container{width:200px;max-width:100%}.vac-reply-message .vac-video-reply-container video{border-radius:4px}.vac-reply-message .vac-reply-content{font-size:12px;color:var(--chat-message-color-reply-content)}.vac-image-container{width:250px;max-width:100%}.vac-image-container .vac-image-loading{filter:blur(3px)}.vac-image-container .vac-image-buttons{position:absolute;width:100%;height:100%;border-radius:4px;background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.02) 60%,rgba(0,0,0,.05) 65%,rgba(0,0,0,.1) 70%,rgba(0,0,0,.2) 75%,rgba(0,0,0,.3) 80%,rgba(0,0,0,.5) 85%,rgba(0,0,0,.6) 90%,rgba(0,0,0,.7) 95%,rgba(0,0,0,.8))}.vac-image-container .vac-image-buttons svg{height:26px;width:26px}.vac-image-container .vac-image-buttons .vac-button-download,.vac-image-container .vac-image-buttons .vac-button-view{position:absolute;bottom:6px;left:7px}.vac-image-container .vac-image-buttons :first-child{left:40px}.vac-image-container .vac-image-buttons .vac-button-view{max-width:18px;bottom:8px}.vac-message-actions-wrapper .vac-options-container{position:absolute;top:2px;right:10px;height:40px;width:70px;overflow:hidden;border-top-right-radius:8px}.vac-message-actions-wrapper .vac-options-image .vac-blur-container{border-bottom-left-radius:15px}.vac-message-actions-wrapper .vac-blur-container{position:absolute;height:100%;width:100%;left:8px;bottom:10px;background:var(--chat-message-bg-color);filter:blur(3px);border-bottom-left-radius:8px}.vac-message-actions-wrapper .vac-options-me{background:var(--chat-message-bg-color-me)}.vac-message-actions-wrapper .vac-message-options{background:var(--chat-icon-bg-dropdown-message);border-radius:50%;position:absolute;top:7px;right:7px}.vac-message-actions-wrapper .vac-message-options svg{height:17px;width:17px;padding:5px;margin:-5px}.vac-message-actions-wrapper .vac-message-emojis{position:absolute;top:6px;right:30px}.vac-message-actions-wrapper .vac-menu-options{right:15px}.vac-message-actions-wrapper .vac-menu-left{right:-118px}@media only screen and (max-width:768px){.vac-message-actions-wrapper .vac-options-container{right:3px}.vac-message-actions-wrapper .vac-menu-left{right:-50px}}.vac-button-reaction{display:inline-flex;align-items:center;border:var(--chat-message-border-style-reaction);outline:none;background:var(--chat-message-bg-color-reaction);border-radius:4px;margin:4px 2px 0;transition:.3s;padding:0 5px;font-size:18px;line-height:23px}.vac-button-reaction span{font-size:11px;font-weight:500;min-width:7px;color:var(--chat-message-color-reaction-counter)}.vac-button-reaction:hover{border:var(--chat-message-border-style-reaction-hover);background:var(--chat-message-bg-color-reaction-hover);cursor:pointer}.vac-button-reaction.vac-reaction-me{border:var(--chat-message-border-style-reaction-me);background:var(--chat-message-bg-color-reaction-me)}.vac-button-reaction.vac-reaction-me span{color:var(--chat-message-color-reaction-counter-me)}.vac-button-reaction.vac-reaction-me:hover{border:var(--chat-message-border-style-reaction-hover-me);background:var(--chat-message-bg-color-reaction-hover-me)}.vac-message-wrapper .vac-card-info{border-radius:4px;text-align:center;margin:10px auto;font-size:12px;padding:4px;display:block;overflow-wrap:break-word;position:relative;white-space:normal;box-shadow:0 1px 1px -1px rgba(0,0,0,.1),0 1px 1px -1px rgba(0,0,0,.11),0 1px 2px -1px rgba(0,0,0,.11)}.vac-message-wrapper .vac-card-date{max-width:150px;font-weight:500;text-transform:uppercase;color:var(--chat-message-color-date);background:var(--chat-message-bg-color-date)}.vac-message-wrapper .vac-card-system{max-width:250px;padding:8px 4px;color:var(--chat-message-color-system);background:var(--chat-message-bg-color-system)}.vac-message-wrapper .vac-line-new{color:var(--chat-message-color-new-messages);position:relative;text-align:center;font-size:13px;padding:10px 0}.vac-message-wrapper .vac-line-new:after,.vac-message-wrapper .vac-line-new:before{border-top:1px solid var(--chat-message-color-new-messages);content:\"\";left:0;position:absolute;top:50%;width:calc(50% - 60px)}.vac-message-wrapper .vac-line-new:before{left:auto;right:0}.vac-message-wrapper .vac-message-box{display:flex;flex:0 0 50%;max-width:50%;justify-content:flex-start;line-height:1.4}.vac-message-wrapper .vac-avatar{height:28px;width:28px;min-height:28px;min-width:28px;margin:0 0 2px 0;align-self:flex-end}.vac-message-wrapper .vac-message-container{position:relative;padding:2px 10px;align-items:end;min-width:100px;box-sizing:content-box}.vac-message-wrapper .vac-message-container-offset{margin-top:10px}.vac-message-wrapper .vac-offset-current{margin-left:50%;justify-content:flex-end}.vac-message-wrapper .vac-message-card{background:var(--chat-message-bg-color);color:var(--chat-message-color);border-radius:8px;font-size:14px;padding:6px 9px 3px;white-space:pre-line;max-width:100%;transition-property:box-shadow,opacity;transition:box-shadow .28s cubic-bezier(.4,0,.2,1);will-change:box-shadow;box-shadow:0 1px 1px -1px rgba(0,0,0,.1),0 1px 1px -1px rgba(0,0,0,.11),0 1px 2px -1px rgba(0,0,0,.11)}.vac-message-wrapper .vac-message-highlight{box-shadow:0 1px 2px -1px rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.11),0 1px 5px -1px rgba(0,0,0,.11)}.vac-message-wrapper .vac-message-current{background:var(--chat-message-bg-color-me)!important}.vac-message-wrapper .vac-message-deleted{color:var(--chat-message-color-deleted)!important;font-size:13px!important;font-style:italic!important;background:var(--chat-message-bg-color-deleted)!important}.vac-message-wrapper .vac-icon-deleted{height:14px;width:14px;vertical-align:middle;margin:-2px 2px 0 0;fill:var(--chat-message-color-deleted)}.vac-message-wrapper .vac-video-container{width:350px;max-width:100%;margin:4px auto 5px}.vac-message-wrapper .vac-video-container video{border-radius:4px}.vac-message-wrapper .vac-message-image{position:relative;background-color:var(--chat-message-bg-color-image)!important;background-size:cover!important;background-position:50%!important;background-repeat:no-repeat!important;height:250px;width:250px;max-width:100%;border-radius:4px;margin:4px auto 5px;transition:filter .4s linear}.vac-message-wrapper .vac-text-username{font-size:13px;color:var(--chat-message-color-username);margin-bottom:2px}.vac-message-wrapper .vac-username-reply{margin-bottom:5px}.vac-message-wrapper .vac-text-timestamp{font-size:10px;color:var(--chat-message-color-timestamp);text-align:right}.vac-message-wrapper .vac-progress-time{float:left;margin:-2px 0 0 40px;color:var(--chat-color);font-size:12px}.vac-message-wrapper .vac-file-message{display:flex;flex-wrap:wrap;align-items:center;margin-top:3px}.vac-message-wrapper .vac-file-message span{max-width:100%}.vac-message-wrapper .vac-file-message .vac-icon-file svg{margin-right:5px}.vac-message-wrapper .vac-icon-edited{align-items:center;display:inline-flex;justify-content:center;letter-spacing:normal;line-height:1;text-indent:0;vertical-align:middle;margin:0 4px 2px}.vac-message-wrapper .vac-icon-edited svg{height:12px;width:12px}.vac-message-wrapper .vac-icon-check{height:14px;width:14px;vertical-align:middle;margin:-3px -3px 0 3px}@media only screen and (max-width:768px){.vac-message-wrapper .vac-message-container{padding:2px 3px 1px}.vac-message-wrapper .vac-message-container-offset{margin-top:10px}.vac-message-wrapper .vac-message-box{flex:0 0 80%;max-width:80%}.vac-message-wrapper .vac-avatar{height:25px;width:25px;min-height:25px;min-width:25px;margin:0 6px 1px 0}.vac-message-wrapper .vac-offset-current{margin-left:20%}.vac-message-wrapper .vac-progress-time{margin-left:37px}}.vac-col-messages{position:relative;height:100%;flex:1;overflow:hidden;display:flex;flex-flow:column}.vac-col-messages .vac-container-center{height:100%;width:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center}.vac-col-messages .vac-room-empty{font-size:14px;color:#9ca6af;font-style:italic;line-height:20px;white-space:pre-line}.vac-col-messages .vac-room-empty div{padding:0 10%}.vac-col-messages .vac-container-scroll{background:var(--chat-content-bg-color);flex:1;overflow-y:auto;margin-right:1px;margin-top:60px;-webkit-overflow-scrolling:touch}.vac-col-messages .vac-container-scroll.vac-scroll-smooth{scroll-behavior:smooth}.vac-col-messages .vac-messages-container{padding:0 5px 5px}.vac-col-messages .vac-text-started{font-size:14px;color:var(--chat-message-color-started);font-style:italic;text-align:center;margin-top:30px;margin-bottom:20px}.vac-col-messages .vac-infinite-loading{height:68px}.vac-col-messages .vac-icon-scroll{position:absolute;bottom:80px;right:20px;padding:8px;background:var(--chat-bg-scroll-icon);border-radius:50%;box-shadow:0 1px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 2px 0 rgba(0,0,0,.12);display:flex;cursor:pointer;z-index:10}.vac-col-messages .vac-icon-scroll svg{height:25px;width:25px}.vac-col-messages .vac-messages-count{position:absolute;top:-8px;left:11px;background-color:var(--chat-message-bg-color-scroll-counter);color:var(--chat-message-color-scroll-counter)}.vac-col-messages .vac-room-footer{width:100%;border-bottom-right-radius:4px;z-index:10}.vac-col-messages .vac-box-footer{display:flex;position:relative;background:var(--chat-footer-bg-color);padding:10px 8px 10px}.vac-col-messages .vac-textarea{height:20px;width:100%;line-height:20px;overflow:hidden;outline:0;resize:none;border-radius:20px;padding:12px 16px;box-sizing:content-box;font-size:16px;background:var(--chat-bg-color-input);color:var(--chat-color);caret-color:var(--chat-color-caret);border:var(--chat-border-style-input)}.vac-col-messages .vac-textarea::-moz-placeholder{color:var(--chat-color-placeholder);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vac-col-messages .vac-textarea:-ms-input-placeholder{color:var(--chat-color-placeholder);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vac-col-messages .vac-textarea::placeholder{color:var(--chat-color-placeholder);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vac-col-messages .vac-textarea-outline{border:1px solid var(--chat-border-color-input-selected);box-shadow:inset 0 0 0 1px var(--chat-border-color-input-selected)}.vac-col-messages .vac-icon-textarea,.vac-col-messages .vac-icon-textarea-left{display:flex;align-items:center}.vac-col-messages .vac-icon-textarea-left .vac-wrapper,.vac-col-messages .vac-icon-textarea-left svg,.vac-col-messages .vac-icon-textarea .vac-wrapper,.vac-col-messages .vac-icon-textarea svg{margin:0 7px}.vac-col-messages .vac-icon-textarea{margin-left:5px}.vac-col-messages .vac-icon-textarea-left{display:flex;align-items:center;margin-right:5px}.vac-col-messages .vac-icon-textarea-left .vac-wrapper,.vac-col-messages .vac-icon-textarea-left svg{margin:0 7px}.vac-col-messages .vac-icon-textarea-left .vac-icon-microphone{fill:var(--chat-icon-color-microphone);margin:0 7px}.vac-col-messages .vac-icon-textarea-left .vac-dot-audio-record{height:15px;width:15px;border-radius:50%;background-color:var(--chat-message-bg-color-audio-record);-webkit-animation:vac-scaling .8s ease-in-out infinite alternate;animation:vac-scaling .8s ease-in-out infinite alternate}@-webkit-keyframes vac-scaling{0%{transform:scale(1);opacity:.4}to{transform:scale(1.1);opacity:1}}@keyframes vac-scaling{0%{transform:scale(1);opacity:.4}to{transform:scale(1.1);opacity:1}}.vac-col-messages .vac-icon-textarea-left .vac-dot-audio-record-time{font-size:16px;color:var(--chat-color);margin-left:8px;width:45px}.vac-col-messages .vac-icon-textarea-left .vac-icon-audio-confirm,.vac-col-messages .vac-icon-textarea-left .vac-icon-audio-confirm svg,.vac-col-messages .vac-icon-textarea-left .vac-icon-audio-stop,.vac-col-messages .vac-icon-textarea-left .vac-icon-audio-stop svg{min-height:28px;min-width:28px}.vac-col-messages .vac-icon-textarea-left .vac-icon-audio-stop{margin-right:20px}.vac-col-messages .vac-icon-textarea-left .vac-icon-audio-stop #vac-icon-close-outline{fill:var(--chat-icon-color-audio-cancel)}.vac-col-messages .vac-icon-textarea-left .vac-icon-audio-confirm{margin-right:3px;margin-left:12px}.vac-col-messages .vac-icon-textarea-left .vac-icon-audio-confirm #vac-icon-checkmark{fill:var(--chat-icon-color-audio-confirm)}.vac-col-messages .vac-media-container{position:absolute;max-width:25%;left:16px;top:18px}.vac-col-messages .vac-media-file{display:flex;justify-content:center;flex-direction:column;min-height:30px}.vac-col-messages .vac-media-file img{border-radius:15px;width:100%;max-width:150px;max-height:100%}.vac-col-messages .vac-media-file video{border-radius:15px;width:100%;max-width:250px;max-height:100%}.vac-col-messages .vac-icon-media{position:absolute;top:6px;left:6px;z-index:10}.vac-col-messages .vac-icon-media svg{height:20px;width:20px;border-radius:50%}.vac-col-messages .vac-icon-media:before{content:\" \";position:absolute;width:100%;height:100%;background:rgba(0,0,0,.5);border-radius:50%;z-index:-1}.vac-col-messages .vac-file-container{display:flex;align-items:center;width:calc(100% - 115px);height:20px;padding:12px 0;box-sizing:content-box;background:var(--chat-bg-color-input);border:var(--chat-border-style-input);border-radius:20px}.vac-col-messages .vac-file-container.vac-file-container-edit{width:calc(100% - 150px)}.vac-col-messages .vac-file-container .vac-icon-file{display:flex;margin:0 8px 0 15px}.vac-col-messages .vac-file-container .vac-file-message{max-width:calc(100% - 75px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vac-col-messages .vac-file-container .vac-icon-remove{margin:0 8px}.vac-col-messages .vac-file-container .vac-icon-remove svg{height:18px;width:18px}.vac-col-messages .vac-send-disabled,.vac-col-messages .vac-send-disabled svg{cursor:none!important;pointer-events:none!important;transform:none!important}.vac-col-messages .vac-messages-hidden{opacity:0}@media only screen and (max-width:768px){.vac-col-messages .vac-container-scroll{margin-top:50px}.vac-col-messages .vac-infinite-loading{height:58px}.vac-col-messages .vac-box-footer{border-top:var(--chat-border-style-input);padding:7px 2px 7px 7px}.vac-col-messages .vac-text-started{margin-top:20px}.vac-col-messages .vac-textarea{padding:7px;line-height:18px}.vac-col-messages .vac-textarea::-moz-placeholder{color:transparent}.vac-col-messages .vac-textarea:-ms-input-placeholder{color:transparent}.vac-col-messages .vac-textarea::placeholder{color:transparent}.vac-col-messages .vac-icon-textarea-left .vac-wrapper,.vac-col-messages .vac-icon-textarea-left svg,.vac-col-messages .vac-icon-textarea .vac-wrapper,.vac-col-messages .vac-icon-textarea svg{margin:0 5px!important}.vac-col-messages .vac-media-container{top:10px;left:10px}.vac-col-messages .vac-media-file img,.vac-col-messages .vac-media-file video{transform:scale(.97)}.vac-col-messages .vac-room-footer{width:100%}.vac-col-messages .vac-file-container{padding:7px 0}.vac-col-messages .vac-file-container .icon-file{margin-left:10px}.vac-col-messages .vac-icon-scroll{bottom:70px}}.vac-fade-spinner-enter{opacity:0}.vac-fade-spinner-enter-active{transition:opacity .8s}.vac-fade-spinner-leave-active{transition:opacity .2s;opacity:0}.vac-fade-image-enter{opacity:0}.vac-fade-image-enter-active{transition:opacity 1s}.vac-fade-image-leave-active{transition:opacity .5s;opacity:0}.vac-fade-message-enter{opacity:0}.vac-fade-message-enter-active{transition:opacity .5s}.vac-fade-message-leave-active{transition:opacity .2s;opacity:0}.vac-slide-left-enter-active,.vac-slide-right-enter-active{transition:all .3s ease;transition-property:transform,opacity}.vac-slide-left-leave-active,.vac-slide-right-leave-active{transition:all .2s cubic-bezier(1,.5,.8,1);transition-property:transform,opacity}.vac-slide-left-enter,.vac-slide-left-leave-to{transform:translateX(10px);opacity:0}.vac-slide-right-enter,.vac-slide-right-leave-to{transform:translateX(-10px);opacity:0}.vac-slide-up-enter-active{transition:all .3s ease}.vac-slide-up-leave-active{transition:all .2s cubic-bezier(1,.5,.8,1)}.vac-slide-up-enter,.vac-slide-up-leave-to{transform:translateY(10px);opacity:0}.vac-bounce-enter-active{-webkit-animation:vac-bounce-in .5s;animation:vac-bounce-in .5s}.vac-bounce-leave-active{animation:vac-bounce-in .3s reverse}@-webkit-keyframes vac-bounce-in{0%{transform:scale(0)}50%{transform:scale(1.05)}to{transform:scale(1)}}@keyframes vac-bounce-in{0%{transform:scale(0)}50%{transform:scale(1.05)}to{transform:scale(1)}}.vac-menu-list{border-radius:4px;display:block;cursor:pointer;background:var(--chat-dropdown-bg-color);padding:6px 0}.vac-menu-list :hover{background:var(--chat-dropdown-bg-color-hover)}.vac-menu-list :hover,.vac-menu-list :not(:hover){transition:background-color .3s cubic-bezier(.25,.8,.5,1)}.vac-menu-item{align-items:center;display:flex;flex:1 1 100%;min-height:30px;padding:5px 16px;position:relative;white-space:nowrap;line-height:30px}.vac-menu-options{position:absolute;right:10px;top:20px;z-index:9999;min-width:150px;display:inline-block;border-radius:4px;font-size:14px;color:var(--chat-color);overflow-y:auto;overflow-x:hidden;contain:content;box-shadow:0 2px 2px -4px rgba(0,0,0,.1),0 2px 2px 1px rgba(0,0,0,.12),0 1px 8px 1px rgba(0,0,0,.12)}.vac-app-border{border:var(--chat-border-style)}.vac-app-border-t{border-top:var(--chat-border-style)}.vac-app-border-r{border-right:var(--chat-border-style)}.vac-app-border-b{border-bottom:var(--chat-border-style)}.vac-app-box-shadow{box-shadow:0 2px 2px -4px rgba(0,0,0,.1),0 2px 2px 1px rgba(0,0,0,.12),0 1px 8px 1px rgba(0,0,0,.12)}.vac-item-clickable{cursor:pointer}.vac-vertical-center{display:flex;align-items:center;height:100%}.vac-vertical-center .vac-vertical-container{width:100%;text-align:center}.vac-svg-button{max-height:30px;display:flex;cursor:pointer;transition:all .2s}.vac-svg-button:hover{transform:scale(1.1);opacity:.7}.vac-avatar{background-size:cover;background-position:50%;background-repeat:no-repeat;background-color:#ddd;height:42px;width:42px;min-height:42px;min-width:42px;margin-right:15px;border-radius:50%}.vac-badge-counter{height:13px;width:auto;min-width:13px;border-radius:50%;display:flex;align-items:center;justify-content:center;padding:3px;font-size:11px;font-weight:500}.vac-text-ellipsis{width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vac-text-bold{font-weight:700}.vac-text-italic{font-style:italic}.vac-text-strike{text-decoration:line-through}.vac-text-underline{text-decoration:underline}.vac-text-inline-code{display:inline-block;color:var(--chat-markdown-color);margin:2px 0;padding:2px 3px}.vac-text-inline-code,.vac-text-multiline-code{font-size:12px;background:var(--chat-markdown-bg);border:1px solid var(--chat-markdown-border);border-radius:3px}.vac-text-multiline-code{display:block;color:var(--chat-markdown-color-multi);margin:4px 0;padding:7px}.vac-text-tag{color:var(--chat-message-color-tag);cursor:pointer}.vac-card-window{width:100%;display:block;max-width:100%;background:var(--chat-content-bg-color);color:var(--chat-color);overflow-wrap:break-word;position:relative;white-space:normal;border:var(--chat-container-border);border-radius:var(--chat-container-border-radius);box-shadow:var(--chat-container-box-shadow);-webkit-tap-highlight-color:transparent}.vac-card-window *{font-family:inherit}.vac-card-window a{color:#0d579c;font-weight:500}.vac-card-window .vac-chat-container{height:100%;display:flex}.vac-card-window .vac-chat-container input{min-width:10px}.vac-card-window .vac-chat-container input[type=search],.vac-card-window .vac-chat-container input[type=text],.vac-card-window .vac-chat-container textarea{-webkit-appearance:none}","\n\n\n\n\n"]} \ No newline at end of file +{"version":3,"sources":["webpack:///vue-advanced-chat.css","webpack:///js/components/js/components/Chat.vue"],"names":[],"mappings":"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","file":"app.css","sourcesContent":[".vac-loader-wrapper.vac-container-center{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:9}.vac-loader-wrapper.vac-container-top{padding:21px}.vac-loader-wrapper.vac-container-top #vac-circle{height:20px;width:20px}.vac-loader-wrapper #vac-circle{margin:auto;height:28px;width:28px;border:3px solid rgba(0,0,0,.25);border-top:3px var(--chat-color-spinner) solid;border-right:3px var(--chat-color-spinner) solid;border-bottom:3px var(--chat-color-spinner) solid;border-radius:50%;-webkit-animation:vac-spin 1s linear infinite;animation:vac-spin 1s linear infinite}@media only screen and (max-width:768px){.vac-loader-wrapper #vac-circle{height:24px;width:24px}.vac-loader-wrapper.vac-container-top{padding:18px}.vac-loader-wrapper.vac-container-top #vac-circle{height:16px;width:16px}}@-webkit-keyframes vac-spin{0%{transform:rotate(0deg)}to{transform:rotate(359deg)}}@keyframes vac-spin{0%{transform:rotate(0deg)}to{transform:rotate(359deg)}}#vac-icon-search{fill:var(--chat-icon-color-search)}#vac-icon-add{fill:var(--chat-icon-color-add)}#vac-icon-toggle{fill:var(--chat-icon-color-toggle)}#vac-icon-menu{fill:var(--chat-icon-color-menu)}#vac-icon-close{fill:var(--chat-icon-color-close)}#vac-icon-close-image{fill:var(--chat-icon-color-close-image)}#vac-icon-file{fill:var(--chat-icon-color-file)}#vac-icon-paperclip{fill:var(--chat-icon-color-paperclip)}#vac-icon-close-outline{fill:var(--chat-icon-color-close-outline)}#vac-icon-send{fill:var(--chat-icon-color-send)}#vac-icon-send-disabled{fill:var(--chat-icon-color-send-disabled)}#vac-icon-emoji{fill:var(--chat-icon-color-emoji)}#vac-icon-emoji-reaction{fill:var(--chat-icon-color-emoji-reaction)}#vac-icon-document{fill:var(--chat-icon-color-document)}#vac-icon-pencil{fill:var(--chat-icon-color-pencil)}#vac-icon-checkmark,#vac-icon-double-checkmark{fill:var(--chat-icon-color-checkmark)}#vac-icon-checkmark-seen,#vac-icon-double-checkmark-seen{fill:var(--chat-icon-color-checkmark-seen)}#vac-icon-eye{fill:var(--chat-icon-color-eye)}#vac-icon-dropdown-message{fill:var(--chat-icon-color-dropdown-message)}#vac-icon-dropdown-room{fill:var(--chat-icon-color-dropdown-room)}#vac-icon-dropdown-scroll{fill:var(--chat-icon-color-dropdown-scroll)}#vac-icon-audio-play{fill:var(--chat-icon-color-audio-play)}#vac-icon-audio-pause{fill:var(--chat-icon-color-audio-pause)}.vac-box-empty{margin-top:10px}@media only screen and (max-width:768px){.vac-box-empty{margin-top:7px}}.vac-box-search{position:sticky;display:flex;align-items:center;height:64px;padding:0 15px}.vac-box-search .vac-icon-search{display:flex;position:absolute;left:30px}.vac-box-search .vac-icon-search svg{width:18px;height:18px}.vac-box-search .vac-input{height:38px;width:100%;background:var(--chat-bg-color-input);color:var(--chat-color);border-radius:4px;font-size:15px;outline:0;caret-color:var(--chat-color-caret);padding:10px 10px 10px 40px;border:1px solid var(--chat-sidemenu-border-color-search);border-radius:20px}.vac-box-search .vac-input::-moz-placeholder{color:var(--chat-color-placeholder)}.vac-box-search .vac-input:-ms-input-placeholder{color:var(--chat-color-placeholder)}.vac-box-search .vac-input::placeholder{color:var(--chat-color-placeholder)}.vac-box-search .vac-add-icon{margin-left:auto;padding-left:10px}@media only screen and (max-width:768px){.vac-box-search{height:58px}}.vac-format-message-wrapper .vac-icon-deleted{height:14px;width:14px;vertical-align:middle;margin:-3px 1px 0 0;fill:var(--chat-room-color-message)}.vac-format-message-wrapper .vac-image-link-container{background-color:var(--chat-message-bg-color-media);padding:8px;margin:2px auto;border-radius:4px}.vac-format-message-wrapper .vac-image-link{position:relative;background-color:var(--chat-message-bg-color-image)!important;background-size:contain;background-position:50%!important;background-repeat:no-repeat!important;height:150px;width:150px;max-width:100%;border-radius:4px;margin:0 auto}.vac-format-message-wrapper .vac-image-link-message{max-width:166px;font-size:12px}.vac-room-container{display:flex;flex:1;align-items:center;width:100%}.vac-room-container .vac-name-container{flex:1}.vac-room-container .vac-title-container{display:flex;align-items:center;line-height:25px}.vac-room-container .vac-state-circle{width:9px;height:9px;border-radius:50%;background-color:var(--chat-room-color-offline);margin-right:6px;transition:.3s}.vac-room-container .vac-state-online{background-color:var(--chat-room-color-online)}.vac-room-container .vac-room-name{flex:1;color:var(--chat-room-color-username);font-weight:500}.vac-room-container .vac-text-date{margin-left:5px;font-size:11px;color:var(--chat-room-color-timestamp)}.vac-room-container .vac-text-last{display:flex;align-items:center;font-size:12px;line-height:19px;color:var(--chat-room-color-message)}.vac-room-container .vac-message-new{color:var(--chat-room-color-username);font-weight:500}.vac-room-container .vac-icon-check{display:flex;vertical-align:middle;height:14px;width:14px;margin-top:-2px;margin-right:2px}.vac-room-container .vac-icon-microphone{height:15px;width:15px;vertical-align:middle;margin:-3px 1px 0 -2px;fill:var(--chat-room-color-message)}.vac-room-container .vac-room-options-container{display:flex;margin-left:auto}.vac-room-container .vac-room-badge{background-color:var(--chat-room-bg-color-badge);color:var(--chat-room-color-badge);margin-left:5px}.vac-room-container .vac-list-room-options{height:19px;width:19px;align-items:center;margin-left:5px}.vac-rooms-container{display:flex;flex-flow:column;flex:0 0 25%;min-width:260px;max-width:500px;position:relative;background:var(--chat-sidemenu-bg-color);height:100%;border-top-left-radius:var(--chat-container-border-radius);border-bottom-left-radius:var(--chat-container-border-radius)}.vac-rooms-container.vac-rooms-container-full{flex:0 0 100%;max-width:100%}.vac-rooms-container .vac-rooms-empty{font-size:14px;color:#9ca6af;font-style:italic;text-align:center;margin:40px 0;line-height:20px;white-space:pre-line}.vac-rooms-container .vac-room-list{flex:1;position:relative;max-width:100%;cursor:pointer;padding:0 10px 5px;overflow-y:auto}.vac-rooms-container .vac-room-item{border-radius:8px;align-items:center;display:flex;flex:1 1 100%;margin-bottom:5px;padding:0 14px;position:relative;min-height:71px}.vac-rooms-container .vac-room-item:hover{background:var(--chat-sidemenu-bg-color-hover)}.vac-rooms-container .vac-room-item:hover,.vac-rooms-container .vac-room-item:not(:hover){transition:background-color .3s cubic-bezier(.25,.8,.5,1)}.vac-rooms-container .vac-room-selected{color:var(--chat-sidemenu-color-active)!important}.vac-rooms-container .vac-room-selected,.vac-rooms-container .vac-room-selected:hover{background:var(--chat-sidemenu-bg-color-active)!important}@media only screen and (max-width:768px){.vac-rooms-container .vac-room-list{padding:0 7px 5px}.vac-rooms-container .vac-room-item{min-height:60px;padding:0 8px}}.vac-wrapper{position:relative;display:flex}.vac-wrapper .vac-emoji-picker{position:absolute;z-index:9999;bottom:32px;right:10px;width:240px;overflow:scroll;padding:16px;box-sizing:border-box;border-radius:.5rem;background:var(--chat-emoji-bg-color);box-shadow:0 1px 2px -2px rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1),0 1px 2px 1px rgba(0,0,0,.1)}.vac-wrapper .vac-picker-reaction{position:fixed;top:auto;right:auto}.vac-wrapper .vac-emoji-picker__search{display:flex}.vac-wrapper .vac-emoji-picker__search>input{flex:1;border-radius:10rem;border:var(--chat-border-style);padding:5px 10px;outline:none;background:var(--chat-bg-color-input);color:var(--chat-color)}.vac-wrapper .vac-emoji-picker h5{margin:15px 0 8px;color:#b1b1b1;text-transform:uppercase;font-size:.8rem;cursor:default}.vac-wrapper .vac-emoji-picker .vac-emojis{display:flex;flex-wrap:wrap;justify-content:space-between}.vac-wrapper .vac-emoji-picker .vac-emojis:after{content:\"\";flex:auto}.vac-wrapper .vac-emoji-picker .vac-emojis span{padding:.2rem;cursor:pointer;border-radius:5px}.vac-wrapper .vac-emoji-picker .vac-emojis span:hover{background:var(--chat-sidemenu-bg-color-hover);cursor:pointer}.vac-wrapper .vac-emoji-reaction svg{height:19px;width:19px}.vac-room-header{position:absolute;display:flex;align-items:center;height:64px;width:100%;z-index:10;margin-right:1px;background:var(--chat-header-bg-color);border-top-right-radius:var(--chat-container-border-radius)}.vac-room-header .vac-room-wrapper{display:flex;align-items:center;min-width:0;height:100%;width:100%;padding:0 16px}.vac-room-header .vac-toggle-button{margin-right:15px}.vac-room-header .vac-toggle-button svg{height:26px;width:26px}.vac-room-header .vac-rotate-icon{transform:rotate(180deg)!important}.vac-room-header .vac-info-wrapper{display:flex;align-items:center;min-width:0;width:100%;height:100%}.vac-room-header .vac-room-name{font-size:17px;font-weight:500;line-height:22px;color:var(--chat-header-color-name)}.vac-room-header .vac-room-info{font-size:13px;line-height:18px;color:var(--chat-header-color-info)}.vac-room-header .vac-room-options{margin-left:auto}@media only screen and (max-width:768px){.vac-room-header{height:50px}.vac-room-header .vac-room-wrapper{padding:0 10px}.vac-room-header .vac-room-name{font-size:16px;line-height:22px}.vac-room-header .vac-room-info{font-size:12px;line-height:16px}.vac-room-header .vac-avatar{height:37px;width:37px;min-height:37px;min-width:37px}}.vac-reply-container{position:absolute;display:flex;padding:10px 10px 0 10px;background:var(--chat-footer-bg-color);align-items:center;width:calc(100% - 20px)}.vac-reply-container .vac-reply-box{width:100%;overflow:hidden;background:var(--chat-footer-bg-color-reply);border-radius:4px;padding:8px 10px;display:flex}.vac-reply-container .vac-reply-info{overflow:hidden}.vac-reply-container .vac-reply-username{color:var(--chat-message-color-reply-username);font-size:12px;line-height:15px;margin-bottom:2px}.vac-reply-container .vac-reply-content{font-size:12px;color:var(--chat-message-color-reply-content);white-space:pre-line}.vac-reply-container .vac-icon-reply{margin-left:10px}.vac-reply-container .vac-icon-reply svg{height:20px;width:20px}.vac-reply-container .vac-image-reply{max-height:100px;margin-right:10px;border-radius:4px}@media only screen and (max-width:768px){.vac-reply-container{padding:5px 8px;width:calc(100% - 16px)}}.vac-tags-container{position:absolute;display:flex;flex-direction:column;align-items:center;width:100%}.vac-tags-container .vac-tags-box{display:flex;width:100%;height:54px;overflow:hidden;cursor:pointer;background:var(--chat-footer-bg-color)}.vac-tags-container .vac-tags-box:hover{background:var(--chat-footer-bg-color-tag-active)}.vac-tags-container .vac-tags-box:hover,.vac-tags-container .vac-tags-box:not(:hover){transition:background-color .3s cubic-bezier(.25,.8,.5,1)}.vac-tags-container .vac-tags-info{display:flex;overflow:hidden;padding:0 20px;align-items:center}.vac-tags-container .vac-tags-avatar{height:34px;width:34px;min-height:34px;min-width:34px}.vac-tags-container .vac-tags-username{font-size:14px}@media only screen and (max-width:768px){.vac-tags-container .vac-tags-box{height:50px}.vac-tags-container .vac-tags-info{padding:0 12px}}.vac-emojis-container{position:absolute;width:calc(100% - 16px);padding:10px 8px;background:var(--chat-footer-bg-color);display:flex;align-items:center;overflow:auto}.vac-emojis-container .vac-emoji-element{padding:0 8px;font-size:30px;border-radius:4px;cursor:pointer}.vac-emojis-container .vac-emoji-element:hover{background:var(--chat-footer-bg-color-tag-active)}.vac-emojis-container .vac-emoji-element:hover,.vac-emojis-container .vac-emoji-element:not(:hover){transition:background-color .3s cubic-bezier(.25,.8,.5,1)}@media only screen and (max-width:768px){.vac-emojis-container{width:calc(100% - 10px);padding:7px 5px}.vac-emojis-container .vac-emoji-element{padding:0 7px;font-size:26px}}.vac-player-bar{display:flex;align-items:center;max-width:calc(100% - 18px);margin-right:7px;margin-left:20px}.vac-player-bar .vac-player-progress{width:190px}.vac-player-bar .vac-player-progress .vac-line-container{position:relative;height:4px;border-radius:5px;background-color:var(--chat-message-bg-color-audio-line)}.vac-player-bar .vac-player-progress .vac-line-container .vac-line-progress{position:absolute;height:inherit;background-color:var(--chat-message-bg-color-audio-progress);border-radius:inherit}.vac-player-bar .vac-player-progress .vac-line-container .vac-line-dot{position:absolute;top:-5px;margin-left:-7px;height:14px;width:14px;border-radius:50%;background-color:var(--chat-message-bg-color-audio-progress-selector);transition:transform .25s}.vac-player-bar .vac-player-progress .vac-line-container .vac-line-dot__active{transform:scale(1.2)}@media only screen and (max-width:768px){.vac-player-bar{margin-right:5px}.vac-player-bar .vac-player-progress .vac-line-container{height:3px}.vac-player-bar .vac-player-progress .vac-line-container .vac-line-dot{height:12px;width:12px;top:-5px;margin-left:-5px}}.vac-audio-player{display:flex;margin:8px 0 5px}.vac-audio-player .vac-svg-button{max-width:18px;margin-left:7px}@media only screen and (max-width:768px){.vac-audio-player{margin:4px 0 0}.vac-audio-player .vac-svg-button{max-width:16px;margin-left:5px}}.vac-reply-message{background:var(--chat-message-bg-color-reply);border-radius:4px;margin:-1px -5px 8px;padding:8px 10px}.vac-reply-message .vac-reply-username{color:var(--chat-message-color-reply-username);font-size:12px;line-height:15px;margin-bottom:2px}.vac-reply-message .vac-image-reply-container{width:70px}.vac-reply-message .vac-image-reply-container .vac-message-image-reply{height:70px;width:70px;margin:4px auto 3px}.vac-reply-message .vac-video-reply-container{width:200px;max-width:100%}.vac-reply-message .vac-video-reply-container video{border-radius:4px}.vac-reply-message .vac-reply-content{font-size:12px;color:var(--chat-message-color-reply-content)}.vac-image-container{width:250px;max-width:100%}.vac-image-container .vac-image-loading{filter:blur(3px)}.vac-image-container .vac-image-buttons{position:absolute;width:100%;height:100%;border-radius:4px;background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.02) 60%,rgba(0,0,0,.05) 65%,rgba(0,0,0,.1) 70%,rgba(0,0,0,.2) 75%,rgba(0,0,0,.3) 80%,rgba(0,0,0,.5) 85%,rgba(0,0,0,.6) 90%,rgba(0,0,0,.7) 95%,rgba(0,0,0,.8))}.vac-image-container .vac-image-buttons svg{height:26px;width:26px}.vac-image-container .vac-image-buttons .vac-button-download,.vac-image-container .vac-image-buttons .vac-button-view{position:absolute;bottom:6px;left:7px}.vac-image-container .vac-image-buttons :first-child{left:40px}.vac-image-container .vac-image-buttons .vac-button-view{max-width:18px;bottom:8px}.vac-message-actions-wrapper .vac-options-container{position:absolute;top:2px;right:10px;height:40px;width:70px;overflow:hidden;border-top-right-radius:8px}.vac-message-actions-wrapper .vac-options-image .vac-blur-container{border-bottom-left-radius:15px}.vac-message-actions-wrapper .vac-blur-container{position:absolute;height:100%;width:100%;left:8px;bottom:10px;background:var(--chat-message-bg-color);filter:blur(3px);border-bottom-left-radius:8px}.vac-message-actions-wrapper .vac-options-me{background:var(--chat-message-bg-color-me)}.vac-message-actions-wrapper .vac-message-options{background:var(--chat-icon-bg-dropdown-message);border-radius:50%;position:absolute;top:7px;right:7px}.vac-message-actions-wrapper .vac-message-options svg{height:17px;width:17px;padding:5px;margin:-5px}.vac-message-actions-wrapper .vac-message-emojis{position:absolute;top:6px;right:30px}.vac-message-actions-wrapper .vac-menu-options{right:15px}.vac-message-actions-wrapper .vac-menu-left{right:-118px}@media only screen and (max-width:768px){.vac-message-actions-wrapper .vac-options-container{right:3px}.vac-message-actions-wrapper .vac-menu-left{right:-50px}}.vac-button-reaction{display:inline-flex;align-items:center;border:var(--chat-message-border-style-reaction);outline:none;background:var(--chat-message-bg-color-reaction);border-radius:4px;margin:4px 2px 0;transition:.3s;padding:0 5px;font-size:18px;line-height:23px}.vac-button-reaction span{font-size:11px;font-weight:500;min-width:7px;color:var(--chat-message-color-reaction-counter)}.vac-button-reaction:hover{border:var(--chat-message-border-style-reaction-hover);background:var(--chat-message-bg-color-reaction-hover);cursor:pointer}.vac-button-reaction.vac-reaction-me{border:var(--chat-message-border-style-reaction-me);background:var(--chat-message-bg-color-reaction-me)}.vac-button-reaction.vac-reaction-me span{color:var(--chat-message-color-reaction-counter-me)}.vac-button-reaction.vac-reaction-me:hover{border:var(--chat-message-border-style-reaction-hover-me);background:var(--chat-message-bg-color-reaction-hover-me)}.vac-message-wrapper .vac-card-info{border-radius:4px;text-align:center;margin:10px auto;font-size:12px;padding:4px;display:block;overflow-wrap:break-word;position:relative;white-space:normal;box-shadow:0 1px 1px -1px rgba(0,0,0,.1),0 1px 1px -1px rgba(0,0,0,.11),0 1px 2px -1px rgba(0,0,0,.11)}.vac-message-wrapper .vac-card-date{max-width:150px;font-weight:500;text-transform:uppercase;color:var(--chat-message-color-date);background:var(--chat-message-bg-color-date)}.vac-message-wrapper .vac-card-system{max-width:250px;padding:8px 4px;color:var(--chat-message-color-system);background:var(--chat-message-bg-color-system)}.vac-message-wrapper .vac-line-new{color:var(--chat-message-color-new-messages);position:relative;text-align:center;font-size:13px;padding:10px 0}.vac-message-wrapper .vac-line-new:after,.vac-message-wrapper .vac-line-new:before{border-top:1px solid var(--chat-message-color-new-messages);content:\"\";left:0;position:absolute;top:50%;width:calc(50% - 60px)}.vac-message-wrapper .vac-line-new:before{left:auto;right:0}.vac-message-wrapper .vac-message-box{display:flex;flex:0 0 50%;max-width:50%;justify-content:flex-start;line-height:1.4}.vac-message-wrapper .vac-avatar{height:28px;width:28px;min-height:28px;min-width:28px;margin:0 0 2px 0;align-self:flex-end}.vac-message-wrapper .vac-message-container{position:relative;padding:2px 10px;align-items:end;min-width:100px;box-sizing:content-box}.vac-message-wrapper .vac-message-container-offset{margin-top:10px}.vac-message-wrapper .vac-offset-current{margin-left:50%;justify-content:flex-end}.vac-message-wrapper .vac-message-card{background:var(--chat-message-bg-color);color:var(--chat-message-color);border-radius:8px;font-size:14px;padding:6px 9px 3px;white-space:pre-line;max-width:100%;transition-property:box-shadow,opacity;transition:box-shadow .28s cubic-bezier(.4,0,.2,1);will-change:box-shadow;box-shadow:0 1px 1px -1px rgba(0,0,0,.1),0 1px 1px -1px rgba(0,0,0,.11),0 1px 2px -1px rgba(0,0,0,.11)}.vac-message-wrapper .vac-message-highlight{box-shadow:0 1px 2px -1px rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.11),0 1px 5px -1px rgba(0,0,0,.11)}.vac-message-wrapper .vac-message-current{background:var(--chat-message-bg-color-me)!important}.vac-message-wrapper .vac-message-deleted{color:var(--chat-message-color-deleted)!important;font-size:13px!important;font-style:italic!important;background:var(--chat-message-bg-color-deleted)!important}.vac-message-wrapper .vac-icon-deleted{height:14px;width:14px;vertical-align:middle;margin:-2px 2px 0 0;fill:var(--chat-message-color-deleted)}.vac-message-wrapper .vac-video-container{width:350px;max-width:100%;margin:4px auto 5px}.vac-message-wrapper .vac-video-container video{border-radius:4px}.vac-message-wrapper .vac-message-image{position:relative;background-color:var(--chat-message-bg-color-image)!important;background-size:cover!important;background-position:50%!important;background-repeat:no-repeat!important;height:250px;width:250px;max-width:100%;border-radius:4px;margin:4px auto 5px;transition:filter .4s linear}.vac-message-wrapper .vac-text-username{font-size:13px;color:var(--chat-message-color-username);margin-bottom:2px}.vac-message-wrapper .vac-username-reply{margin-bottom:5px}.vac-message-wrapper .vac-text-timestamp{font-size:10px;color:var(--chat-message-color-timestamp);text-align:right}.vac-message-wrapper .vac-progress-time{float:left;margin:-2px 0 0 40px;color:var(--chat-color);font-size:12px}.vac-message-wrapper .vac-file-message{display:flex;flex-wrap:wrap;align-items:center;margin-top:3px}.vac-message-wrapper .vac-file-message span{max-width:100%}.vac-message-wrapper .vac-file-message .vac-icon-file svg{margin-right:5px}.vac-message-wrapper .vac-icon-edited{align-items:center;display:inline-flex;justify-content:center;letter-spacing:normal;line-height:1;text-indent:0;vertical-align:middle;margin:0 4px 2px}.vac-message-wrapper .vac-icon-edited svg{height:12px;width:12px}.vac-message-wrapper .vac-icon-check{height:14px;width:14px;vertical-align:middle;margin:-3px -3px 0 3px}@media only screen and (max-width:768px){.vac-message-wrapper .vac-message-container{padding:2px 3px 1px}.vac-message-wrapper .vac-message-container-offset{margin-top:10px}.vac-message-wrapper .vac-message-box{flex:0 0 80%;max-width:80%}.vac-message-wrapper .vac-avatar{height:25px;width:25px;min-height:25px;min-width:25px;margin:0 6px 1px 0}.vac-message-wrapper .vac-offset-current{margin-left:20%}.vac-message-wrapper .vac-progress-time{margin-left:37px}}.vac-col-messages{position:relative;height:100%;flex:1;overflow:hidden;display:flex;flex-flow:column}.vac-col-messages .vac-container-center{height:100%;width:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center}.vac-col-messages .vac-room-empty{font-size:14px;color:#9ca6af;font-style:italic;line-height:20px;white-space:pre-line}.vac-col-messages .vac-room-empty div{padding:0 10%}.vac-col-messages .vac-container-scroll{background:var(--chat-content-bg-color);flex:1;overflow-y:auto;margin-right:1px;margin-top:60px;-webkit-overflow-scrolling:touch}.vac-col-messages .vac-container-scroll.vac-scroll-smooth{scroll-behavior:smooth}.vac-col-messages .vac-messages-container{padding:0 5px 5px}.vac-col-messages .vac-text-started{font-size:14px;color:var(--chat-message-color-started);font-style:italic;text-align:center;margin-top:30px;margin-bottom:20px}.vac-col-messages .vac-infinite-loading{height:68px}.vac-col-messages .vac-icon-scroll{position:absolute;bottom:80px;right:20px;padding:8px;background:var(--chat-bg-scroll-icon);border-radius:50%;box-shadow:0 1px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 2px 0 rgba(0,0,0,.12);display:flex;cursor:pointer;z-index:10}.vac-col-messages .vac-icon-scroll svg{height:25px;width:25px}.vac-col-messages .vac-messages-count{position:absolute;top:-8px;left:11px;background-color:var(--chat-message-bg-color-scroll-counter);color:var(--chat-message-color-scroll-counter)}.vac-col-messages .vac-room-footer{width:100%;border-bottom-right-radius:4px;z-index:10}.vac-col-messages .vac-box-footer{display:flex;position:relative;background:var(--chat-footer-bg-color);padding:10px 8px 10px}.vac-col-messages .vac-textarea{height:20px;width:100%;line-height:20px;overflow:hidden;outline:0;resize:none;border-radius:20px;padding:12px 16px;box-sizing:content-box;font-size:16px;background:var(--chat-bg-color-input);color:var(--chat-color);caret-color:var(--chat-color-caret);border:var(--chat-border-style-input)}.vac-col-messages .vac-textarea::-moz-placeholder{color:var(--chat-color-placeholder);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vac-col-messages .vac-textarea:-ms-input-placeholder{color:var(--chat-color-placeholder);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vac-col-messages .vac-textarea::placeholder{color:var(--chat-color-placeholder);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vac-col-messages .vac-textarea-outline{border:1px solid var(--chat-border-color-input-selected);box-shadow:inset 0 0 0 1px var(--chat-border-color-input-selected)}.vac-col-messages .vac-icon-textarea,.vac-col-messages .vac-icon-textarea-left{display:flex;align-items:center}.vac-col-messages .vac-icon-textarea-left .vac-wrapper,.vac-col-messages .vac-icon-textarea-left svg,.vac-col-messages .vac-icon-textarea .vac-wrapper,.vac-col-messages .vac-icon-textarea svg{margin:0 7px}.vac-col-messages .vac-icon-textarea{margin-left:5px}.vac-col-messages .vac-icon-textarea-left{display:flex;align-items:center;margin-right:5px}.vac-col-messages .vac-icon-textarea-left .vac-wrapper,.vac-col-messages .vac-icon-textarea-left svg{margin:0 7px}.vac-col-messages .vac-icon-textarea-left .vac-icon-microphone{fill:var(--chat-icon-color-microphone);margin:0 7px}.vac-col-messages .vac-icon-textarea-left .vac-dot-audio-record{height:15px;width:15px;border-radius:50%;background-color:var(--chat-message-bg-color-audio-record);-webkit-animation:vac-scaling .8s ease-in-out infinite alternate;animation:vac-scaling .8s ease-in-out infinite alternate}@-webkit-keyframes vac-scaling{0%{transform:scale(1);opacity:.4}to{transform:scale(1.1);opacity:1}}@keyframes vac-scaling{0%{transform:scale(1);opacity:.4}to{transform:scale(1.1);opacity:1}}.vac-col-messages .vac-icon-textarea-left .vac-dot-audio-record-time{font-size:16px;color:var(--chat-color);margin-left:8px;width:45px}.vac-col-messages .vac-icon-textarea-left .vac-icon-audio-confirm,.vac-col-messages .vac-icon-textarea-left .vac-icon-audio-confirm svg,.vac-col-messages .vac-icon-textarea-left .vac-icon-audio-stop,.vac-col-messages .vac-icon-textarea-left .vac-icon-audio-stop svg{min-height:28px;min-width:28px}.vac-col-messages .vac-icon-textarea-left .vac-icon-audio-stop{margin-right:20px}.vac-col-messages .vac-icon-textarea-left .vac-icon-audio-stop #vac-icon-close-outline{fill:var(--chat-icon-color-audio-cancel)}.vac-col-messages .vac-icon-textarea-left .vac-icon-audio-confirm{margin-right:3px;margin-left:12px}.vac-col-messages .vac-icon-textarea-left .vac-icon-audio-confirm #vac-icon-checkmark{fill:var(--chat-icon-color-audio-confirm)}.vac-col-messages .vac-media-container{position:absolute;max-width:25%;left:16px;top:18px}.vac-col-messages .vac-media-file{display:flex;justify-content:center;flex-direction:column;min-height:30px}.vac-col-messages .vac-media-file img{border-radius:15px;width:100%;max-width:150px;max-height:100%}.vac-col-messages .vac-media-file video{border-radius:15px;width:100%;max-width:250px;max-height:100%}.vac-col-messages .vac-icon-media{position:absolute;top:6px;left:6px;z-index:10}.vac-col-messages .vac-icon-media svg{height:20px;width:20px;border-radius:50%}.vac-col-messages .vac-icon-media:before{content:\" \";position:absolute;width:100%;height:100%;background:rgba(0,0,0,.5);border-radius:50%;z-index:-1}.vac-col-messages .vac-file-container{display:flex;align-items:center;width:calc(100% - 115px);height:20px;padding:12px 0;box-sizing:content-box;background:var(--chat-bg-color-input);border:var(--chat-border-style-input);border-radius:20px}.vac-col-messages .vac-file-container.vac-file-container-edit{width:calc(100% - 150px)}.vac-col-messages .vac-file-container .vac-icon-file{display:flex;margin:0 8px 0 15px}.vac-col-messages .vac-file-container .vac-file-message{max-width:calc(100% - 75px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vac-col-messages .vac-file-container .vac-icon-remove{margin:0 8px}.vac-col-messages .vac-file-container .vac-icon-remove svg{height:18px;width:18px}.vac-col-messages .vac-send-disabled,.vac-col-messages .vac-send-disabled svg{cursor:none!important;pointer-events:none!important;transform:none!important}.vac-col-messages .vac-messages-hidden{opacity:0}@media only screen and (max-width:768px){.vac-col-messages .vac-container-scroll{margin-top:50px}.vac-col-messages .vac-infinite-loading{height:58px}.vac-col-messages .vac-box-footer{border-top:var(--chat-border-style-input);padding:7px 2px 7px 7px}.vac-col-messages .vac-text-started{margin-top:20px}.vac-col-messages .vac-textarea{padding:7px;line-height:18px}.vac-col-messages .vac-textarea::-moz-placeholder{color:transparent}.vac-col-messages .vac-textarea:-ms-input-placeholder{color:transparent}.vac-col-messages .vac-textarea::placeholder{color:transparent}.vac-col-messages .vac-icon-textarea-left .vac-wrapper,.vac-col-messages .vac-icon-textarea-left svg,.vac-col-messages .vac-icon-textarea .vac-wrapper,.vac-col-messages .vac-icon-textarea svg{margin:0 5px!important}.vac-col-messages .vac-media-container{top:10px;left:10px}.vac-col-messages .vac-media-file img,.vac-col-messages .vac-media-file video{transform:scale(.97)}.vac-col-messages .vac-room-footer{width:100%}.vac-col-messages .vac-file-container{padding:7px 0}.vac-col-messages .vac-file-container .icon-file{margin-left:10px}.vac-col-messages .vac-icon-scroll{bottom:70px}}.vac-fade-spinner-enter{opacity:0}.vac-fade-spinner-enter-active{transition:opacity .8s}.vac-fade-spinner-leave-active{transition:opacity .2s;opacity:0}.vac-fade-image-enter{opacity:0}.vac-fade-image-enter-active{transition:opacity 1s}.vac-fade-image-leave-active{transition:opacity .5s;opacity:0}.vac-fade-message-enter{opacity:0}.vac-fade-message-enter-active{transition:opacity .5s}.vac-fade-message-leave-active{transition:opacity .2s;opacity:0}.vac-slide-left-enter-active,.vac-slide-right-enter-active{transition:all .3s ease;transition-property:transform,opacity}.vac-slide-left-leave-active,.vac-slide-right-leave-active{transition:all .2s cubic-bezier(1,.5,.8,1);transition-property:transform,opacity}.vac-slide-left-enter,.vac-slide-left-leave-to{transform:translateX(10px);opacity:0}.vac-slide-right-enter,.vac-slide-right-leave-to{transform:translateX(-10px);opacity:0}.vac-slide-up-enter-active{transition:all .3s ease}.vac-slide-up-leave-active{transition:all .2s cubic-bezier(1,.5,.8,1)}.vac-slide-up-enter,.vac-slide-up-leave-to{transform:translateY(10px);opacity:0}.vac-bounce-enter-active{-webkit-animation:vac-bounce-in .5s;animation:vac-bounce-in .5s}.vac-bounce-leave-active{animation:vac-bounce-in .3s reverse}@-webkit-keyframes vac-bounce-in{0%{transform:scale(0)}50%{transform:scale(1.05)}to{transform:scale(1)}}@keyframes vac-bounce-in{0%{transform:scale(0)}50%{transform:scale(1.05)}to{transform:scale(1)}}.vac-menu-list{border-radius:4px;display:block;cursor:pointer;background:var(--chat-dropdown-bg-color);padding:6px 0}.vac-menu-list :hover{background:var(--chat-dropdown-bg-color-hover)}.vac-menu-list :hover,.vac-menu-list :not(:hover){transition:background-color .3s cubic-bezier(.25,.8,.5,1)}.vac-menu-item{align-items:center;display:flex;flex:1 1 100%;min-height:30px;padding:5px 16px;position:relative;white-space:nowrap;line-height:30px}.vac-menu-options{position:absolute;right:10px;top:20px;z-index:9999;min-width:150px;display:inline-block;border-radius:4px;font-size:14px;color:var(--chat-color);overflow-y:auto;overflow-x:hidden;contain:content;box-shadow:0 2px 2px -4px rgba(0,0,0,.1),0 2px 2px 1px rgba(0,0,0,.12),0 1px 8px 1px rgba(0,0,0,.12)}.vac-app-border{border:var(--chat-border-style)}.vac-app-border-t{border-top:var(--chat-border-style)}.vac-app-border-r{border-right:var(--chat-border-style)}.vac-app-border-b{border-bottom:var(--chat-border-style)}.vac-app-box-shadow{box-shadow:0 2px 2px -4px rgba(0,0,0,.1),0 2px 2px 1px rgba(0,0,0,.12),0 1px 8px 1px rgba(0,0,0,.12)}.vac-item-clickable{cursor:pointer}.vac-vertical-center{display:flex;align-items:center;height:100%}.vac-vertical-center .vac-vertical-container{width:100%;text-align:center}.vac-svg-button{max-height:30px;display:flex;cursor:pointer;transition:all .2s}.vac-svg-button:hover{transform:scale(1.1);opacity:.7}.vac-avatar{background-size:cover;background-position:50%;background-repeat:no-repeat;background-color:#ddd;height:42px;width:42px;min-height:42px;min-width:42px;margin-right:15px;border-radius:50%}.vac-badge-counter{height:13px;width:auto;min-width:13px;border-radius:50%;display:flex;align-items:center;justify-content:center;padding:3px;font-size:11px;font-weight:500}.vac-text-ellipsis{width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vac-text-bold{font-weight:700}.vac-text-italic{font-style:italic}.vac-text-strike{text-decoration:line-through}.vac-text-underline{text-decoration:underline}.vac-text-inline-code{display:inline-block;color:var(--chat-markdown-color);margin:2px 0;padding:2px 3px}.vac-text-inline-code,.vac-text-multiline-code{font-size:12px;background:var(--chat-markdown-bg);border:1px solid var(--chat-markdown-border);border-radius:3px}.vac-text-multiline-code{display:block;color:var(--chat-markdown-color-multi);margin:4px 0;padding:7px}.vac-text-tag{color:var(--chat-message-color-tag);cursor:pointer}.vac-card-window{width:100%;display:block;max-width:100%;background:var(--chat-content-bg-color);color:var(--chat-color);overflow-wrap:break-word;position:relative;white-space:normal;border:var(--chat-container-border);border-radius:var(--chat-container-border-radius);box-shadow:var(--chat-container-box-shadow);-webkit-tap-highlight-color:transparent}.vac-card-window *{font-family:inherit}.vac-card-window a{color:#0d579c;font-weight:500}.vac-card-window .vac-chat-container{height:100%;display:flex}.vac-card-window .vac-chat-container input{min-width:10px}.vac-card-window .vac-chat-container input[type=search],.vac-card-window .vac-chat-container input[type=text],.vac-card-window .vac-chat-container textarea{-webkit-appearance:none}","\n\n\n\n\n"]} \ No newline at end of file diff --git a/teleforma/static/teleforma/dist/app.js b/teleforma/static/teleforma/dist/app.js index d30b8f53..17c772b9 100644 --- a/teleforma/static/teleforma/dist/app.js +++ b/teleforma/static/teleforma/dist/app.js @@ -16,5 +16,5 @@ function E(e){return E="function"===typeof Symbol&&"symbol"===typeof Symbol.iter * (c) 2016-2021 PeachScript * MIT License */ -!function(t,n){e.exports=n()}(0,(function(){return function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=9)}([function(e,t,n){var r=n(6);r.__esModule&&(r=r.default),"string"==typeof r&&(r=[[e.i,r,""]]),r.locals&&(e.exports=r.locals),(0,n(3).default)("09280948",r,!0,{})},function(e,t){e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var n=function(e,t){var n,r=e[1]||"",o=e[3];if(!o)return r;if(t&&"function"==typeof btoa){var i=(n=o,"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(n))))+" */"),a=o.sources.map((function(e){return"/*# sourceURL="+o.sourceRoot+e+" */"}));return[r].concat(a).concat([i]).join("\n")}return[r].join("\n")}(t,e);return t[2]?"@media "+t[2]+"{"+n+"}":n})).join("")},t.i=function(e,n){"string"==typeof e&&(e=[[null,e,""]]);for(var r={},o=0;on.parts.length&&(r.parts.length=n.parts.length)}else{var a=[];for(o=0;o',"\nscript:\n...\ninfiniteHandler($state) {\n ajax('https://www.example.com/api/news')\n .then((res) => {\n if (res.data.length) {\n $state.loaded();\n } else {\n $state.complete();\n }\n });\n}\n...","","more details: https://github.com/PeachScript/vue-infinite-loading/issues/57#issuecomment-324370549"].join("\n"),INFINITE_EVENT:"`:on-infinite` property will be deprecated soon, please use `@infinite` event instead.",IDENTIFIER:"the `reset` event will be deprecated soon, please reset this component by change the `identifier` property."},a={INFINITE_LOOP:["executed the callback function more than ".concat(r.loopCheckMaxCalls," times for a short time, it looks like searched a wrong scroll wrapper that doest not has fixed height or maximum height, please check it. If you want to force to set a element as scroll wrapper ranther than automatic searching, you can do this:"),'\n\x3c!-- add a special attribute for the real scroll wrapper --\x3e\n
\n ...\n \x3c!-- set force-use-infinite-wrapper --\x3e\n \n
\nor\n
\n ...\n \x3c!-- set force-use-infinite-wrapper as css selector of the real scroll wrapper --\x3e\n \n
\n ',"more details: https://github.com/PeachScript/vue-infinite-loading/issues/55#issuecomment-316934169"].join("\n")},s={READY:0,LOADING:1,COMPLETE:2,ERROR:3},c={color:"#666",fontSize:"14px",padding:"10px 0"},l={mode:"development",props:{spinner:"default",distance:100,forceUseInfiniteWrapper:!1},system:r,slots:{noResults:"No results :(",noMore:"No more data :)",error:"Opps, something went wrong :(",errorBtnText:"Retry",spinner:""},WARNINGS:i,ERRORS:a,STATUS:s},u=n(4),f=n.n(u),d={BUBBLES:{render:function(e){return e("span",{attrs:{class:"loading-bubbles"}},Array.apply(Array,Array(8)).map((function(){return e("span",{attrs:{class:"bubble-item"}})})))}},CIRCLES:{render:function(e){return e("span",{attrs:{class:"loading-circles"}},Array.apply(Array,Array(8)).map((function(){return e("span",{attrs:{class:"circle-item"}})})))}},DEFAULT:{render:function(e){return e("i",{attrs:{class:"loading-default"}})}},SPIRAL:{render:function(e){return e("i",{attrs:{class:"loading-spiral"}})}},WAVEDOTS:{render:function(e){return e("span",{attrs:{class:"loading-wave-dots"}},Array.apply(Array,Array(5)).map((function(){return e("span",{attrs:{class:"wave-item"}})})))}}};function p(e,t,n,r,o,i,a,s){var c,l="function"==typeof e?e.options:e;if(t&&(l.render=t,l.staticRenderFns=n,l._compiled=!0),r&&(l.functional=!0),i&&(l._scopeId="data-v-"+i),a?(c=function(e){(e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),o&&o.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(a)},l._ssrRegister=c):o&&(c=s?function(){o.call(this,(l.functional?this.parent:this).$root.$options.shadowRoot)}:o),c)if(l.functional){l._injectStyles=c;var u=l.render;l.render=function(e,t){return c.call(t),u(e,t)}}else{var f=l.beforeCreate;l.beforeCreate=f?[].concat(f,c):[c]}return{exports:e,options:l}}var h=p({name:"Spinner",computed:{spinnerView:function(){return d[(this.$attrs.spinner||"").toUpperCase()]||this.spinnerInConfig},spinnerInConfig:function(){return l.slots.spinner&&"string"==typeof l.slots.spinner?{render:function(){return this._v(l.slots.spinner)}}:"object"===f()(l.slots.spinner)?l.slots.spinner:d[l.props.spinner.toUpperCase()]||d.DEFAULT}}},(function(){var e=this.$createElement;return(this._self._c||e)(this.spinnerView,{tag:"component"})}),[],!1,(function(e){var t=n(5);t.__inject__&&t.__inject__(e)}),"46b20d22",null).exports;function m(e){"production"!==l.mode&&console.warn("[Vue-infinite-loading warn]: ".concat(e))}function _(e){console.error("[Vue-infinite-loading error]: ".concat(e))}var v={timers:[],caches:[],throttle:function(e){var t=this;-1===this.caches.indexOf(e)&&(this.caches.push(e),this.timers.push(setTimeout((function(){e(),t.caches.splice(t.caches.indexOf(e),1),t.timers.shift()}),l.system.throttleLimit)))},reset:function(){this.timers.forEach((function(e){clearTimeout(e)})),this.timers.length=0,this.caches=[]}},g={isChecked:!1,timer:null,times:0,track:function(){var e=this;this.times+=1,clearTimeout(this.timer),this.timer=setTimeout((function(){e.isChecked=!0}),l.system.loopCheckTimeout),this.times>l.system.loopCheckMaxCalls&&(_(a.INFINITE_LOOP),this.isChecked=!0)}},b={key:"_infiniteScrollHeight",getScrollElm:function(e){return e===window?document.documentElement:e},save:function(e){var t=this.getScrollElm(e);t[this.key]=t.scrollHeight},restore:function(e){var t=this.getScrollElm(e);"number"==typeof t[this.key]&&(t.scrollTop=t.scrollHeight-t[this.key]+t.scrollTop),this.remove(t)},remove:function(e){void 0!==e[this.key]&&delete e[this.key]}};function y(e){return e.replace(/[A-Z]/g,(function(e){return"-".concat(e.toLowerCase())}))}function w(e){return e.offsetWidth+e.offsetHeight>0}var x=p({name:"InfiniteLoading",data:function(){return{scrollParent:null,scrollHandler:null,isFirstLoad:!0,status:s.READY,slots:l.slots}},components:{Spinner:h},computed:{isShowSpinner:function(){return this.status===s.LOADING},isShowError:function(){return this.status===s.ERROR},isShowNoResults:function(){return this.status===s.COMPLETE&&this.isFirstLoad},isShowNoMore:function(){return this.status===s.COMPLETE&&!this.isFirstLoad},slotStyles:function(){var e=this,t={};return Object.keys(l.slots).forEach((function(n){var r=y(n);(!e.$slots[r]&&!l.slots[n].render||e.$slots[r]&&!e.$slots[r][0].tag)&&(t[n]=c)})),t}},props:{distance:{type:Number,default:l.props.distance},spinner:String,direction:{type:String,default:"bottom"},forceUseInfiniteWrapper:{type:[Boolean,String],default:l.props.forceUseInfiniteWrapper},identifier:{default:+new Date},webComponentName:{type:[String]},onInfinite:Function},watch:{identifier:function(){this.stateChanger.reset()}},mounted:function(){var e=this;this.$watch("forceUseInfiniteWrapper",(function(){e.scrollParent=e.getScrollParent()}),{immediate:!0}),this.scrollHandler=function(t){e.status===s.READY&&(t&&t.constructor===Event&&w(e.$el)?v.throttle(e.attemptLoad):e.attemptLoad())},setTimeout((function(){e.scrollHandler(),e.scrollParent.addEventListener("scroll",e.scrollHandler,o)}),1),this.$on("$InfiniteLoading:loaded",(function(t){e.isFirstLoad=!1,"top"===e.direction&&e.$nextTick((function(){b.restore(e.scrollParent)})),e.status===s.LOADING&&e.$nextTick(e.attemptLoad.bind(null,!0)),t&&t.target===e||m(i.STATE_CHANGER)})),this.$on("$InfiniteLoading:complete",(function(t){e.status=s.COMPLETE,e.$nextTick((function(){e.$forceUpdate()})),e.scrollParent.removeEventListener("scroll",e.scrollHandler,o),t&&t.target===e||m(i.STATE_CHANGER)})),this.$on("$InfiniteLoading:reset",(function(t){e.status=s.READY,e.isFirstLoad=!0,b.remove(e.scrollParent),e.scrollParent.addEventListener("scroll",e.scrollHandler,o),setTimeout((function(){v.reset(),e.scrollHandler()}),1),t&&t.target===e||m(i.IDENTIFIER)})),this.stateChanger={loaded:function(){e.$emit("$InfiniteLoading:loaded",{target:e})},complete:function(){e.$emit("$InfiniteLoading:complete",{target:e})},reset:function(){e.$emit("$InfiniteLoading:reset",{target:e})},error:function(){e.status=s.ERROR,v.reset()}},this.onInfinite&&m(i.INFINITE_EVENT)},deactivated:function(){this.status===s.LOADING&&(this.status=s.READY),this.scrollParent.removeEventListener("scroll",this.scrollHandler,o)},activated:function(){this.scrollParent.addEventListener("scroll",this.scrollHandler,o)},methods:{attemptLoad:function(e){var t=this;this.status!==s.COMPLETE&&w(this.$el)&&this.getCurrentDistance()<=this.distance?(this.status=s.LOADING,"top"===this.direction&&this.$nextTick((function(){b.save(t.scrollParent)})),"function"==typeof this.onInfinite?this.onInfinite.call(null,this.stateChanger):this.$emit("infinite",this.stateChanger),!e||this.forceUseInfiniteWrapper||g.isChecked||g.track()):this.status===s.LOADING&&(this.status=s.READY)},getCurrentDistance:function(){var e;return e="top"===this.direction?"number"==typeof this.scrollParent.scrollTop?this.scrollParent.scrollTop:this.scrollParent.pageYOffset:this.$el.getBoundingClientRect().top-(this.scrollParent===window?window.innerHeight:this.scrollParent.getBoundingClientRect().bottom),e},getScrollParent:function(){var e,t,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.$el;return"string"==typeof this.forceUseInfiniteWrapper&&(this.webComponentName&&(t=document.querySelector(this.webComponentName)),e=t?t.shadowRoot.querySelector(this.forceUseInfiniteWrapper):document.querySelector(this.forceUseInfiniteWrapper)),e||("BODY"===n.tagName?e=window:(!this.forceUseInfiniteWrapper&&["scroll","auto"].indexOf(getComputedStyle(n).overflowY)>-1||n.hasAttribute("infinite-wrapper")||n.hasAttribute("data-infinite-wrapper"))&&(e=n)),e||this.getScrollParent(n.parentNode)}},destroyed:function(){!this.status!==s.COMPLETE&&(v.reset(),b.remove(this.scrollParent),this.scrollParent.removeEventListener("scroll",this.scrollHandler,o))}},(function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"infinite-loading-container"},[n("div",{directives:[{name:"show",rawName:"v-show",value:e.isShowSpinner,expression:"isShowSpinner"}],staticClass:"infinite-status-prompt",style:e.slotStyles.spinner},[e._t("spinner",[n("spinner",{attrs:{spinner:e.spinner}})],null,{isFirstLoad:e.isFirstLoad})],2),e._v(" "),n("div",{directives:[{name:"show",rawName:"v-show",value:e.isShowNoResults,expression:"isShowNoResults"}],staticClass:"infinite-status-prompt",style:e.slotStyles.noResults},[e._t("no-results",[e.slots.noResults.render?n(e.slots.noResults,{tag:"component"}):[e._v(e._s(e.slots.noResults))]])],2),e._v(" "),n("div",{directives:[{name:"show",rawName:"v-show",value:e.isShowNoMore,expression:"isShowNoMore"}],staticClass:"infinite-status-prompt",style:e.slotStyles.noMore},[e._t("no-more",[e.slots.noMore.render?n(e.slots.noMore,{tag:"component"}):[e._v(e._s(e.slots.noMore))]])],2),e._v(" "),n("div",{directives:[{name:"show",rawName:"v-show",value:e.isShowError,expression:"isShowError"}],staticClass:"infinite-status-prompt",style:e.slotStyles.error},[e._t("error",[e.slots.error.render?n(e.slots.error,{tag:"component",attrs:{trigger:e.attemptLoad}}):[e._v("\n "+e._s(e.slots.error)+"\n "),n("br"),e._v(" "),n("button",{staticClass:"btn-try-infinite",domProps:{textContent:e._s(e.slots.errorBtnText)},on:{click:e.attemptLoad}})]],{trigger:e.attemptLoad})],2)])}),[],!1,(function(e){var t=n(7);t.__inject__&&t.__inject__(e)}),"670d0042",null).exports;function k(e){l.mode=e.config.productionTip?"development":"production"}Object.defineProperty(x,"install",{configurable:!1,enumerable:!1,value:function(e,t){Object.assign(l.props,t&&t.props),Object.assign(l.slots,t&&t.slots),Object.assign(l.system,t&&t.system),e.component("infinite-loading",x),k(e)}}),"undefined"!=typeof window&&window.Vue&&(window.Vue.component("infinite-loading",x),k(window.Vue)),t.default=x}])}))},e2d4:function(e,t,n){},e498:function(e,t,n){"use strict";n("996f")},e83d:function(e,t,n){"use strict";n("02bd")},e853:function(e,t,n){var r=n("d3f4"),o=n("1169"),i=n("2b4c")("species");e.exports=function(e){var t;return o(e)&&(t=e.constructor,"function"!=typeof t||t!==Array&&!o(t.prototype)||(t=void 0),r(t)&&(t=t[i],null===t&&(t=void 0))),void 0===t?Array:t}},e8d3:function(e,t,n){},ebd6:function(e,t,n){var r=n("cb7c"),o=n("d8e8"),i=n("2b4c")("species");e.exports=function(e,t){var n,a=r(e).constructor;return void 0===a||void 0==(n=r(a)[i])?t:o(n)}},ec30:function(e,t,n){"use strict";if(n("9e1e")){var r=n("2d00"),o=n("7726"),i=n("79e5"),a=n("5ca1"),s=n("0f88"),c=n("ed0b"),l=n("9b43"),u=n("f605"),f=n("4630"),d=n("32e9"),p=n("dcbc"),h=n("4588"),m=n("9def"),_=n("09fa"),v=n("77f1"),g=n("6a99"),b=n("69a8"),y=n("23c6"),w=n("d3f4"),x=n("4bf8"),k=n("33a4"),S=n("2aeb"),A=n("38fd"),M=n("9093").f,E=n("27ee"),R=n("ca5a"),O=n("2b4c"),T=n("0a49"),C=n("c366"),L=n("ebd6"),P=n("cadf"),j=n("84f2"),I=n("5cc5"),B=n("7a56"),N=n("36bd"),F=n("ba92"),H=n("86cc"),D=n("11e9"),V=H.f,$=D.f,U=o.RangeError,q=o.TypeError,z=o.Uint8Array,Y="ArrayBuffer",X="Shared"+Y,G="BYTES_PER_ELEMENT",K="prototype",W=Array[K],Z=c.ArrayBuffer,Q=c.DataView,J=T(0),ee=T(2),te=T(3),ne=T(4),re=T(5),oe=T(6),ie=C(!0),ae=C(!1),se=P.values,ce=P.keys,le=P.entries,ue=W.lastIndexOf,fe=W.reduce,de=W.reduceRight,pe=W.join,he=W.sort,me=W.slice,_e=W.toString,ve=W.toLocaleString,ge=O("iterator"),be=O("toStringTag"),ye=R("typed_constructor"),we=R("def_constructor"),xe=s.CONSTR,ke=s.TYPED,Se=s.VIEW,Ae="Wrong length!",Me=T(1,(function(e,t){return Ce(L(e,e[we]),t)})),Ee=i((function(){return 1===new z(new Uint16Array([1]).buffer)[0]})),Re=!!z&&!!z[K].set&&i((function(){new z(1).set({})})),Oe=function(e,t){var n=h(e);if(n<0||n%t)throw U("Wrong offset!");return n},Te=function(e){if(w(e)&&ke in e)return e;throw q(e+" is not a typed array!")},Ce=function(e,t){if(!w(e)||!(ye in e))throw q("It is not a typed array constructor!");return new e(t)},Le=function(e,t){return Pe(L(e,e[we]),t)},Pe=function(e,t){var n=0,r=t.length,o=Ce(e,r);while(r>n)o[n]=t[n++];return o},je=function(e,t,n){V(e,t,{get:function(){return this._d[n]}})},Ie=function(e){var t,n,r,o,i,a,s=x(e),c=arguments.length,u=c>1?arguments[1]:void 0,f=void 0!==u,d=E(s);if(void 0!=d&&!k(d)){for(a=d.call(s),r=[],t=0;!(i=a.next()).done;t++)r.push(i.value);s=r}for(f&&c>2&&(u=l(u,arguments[2],2)),t=0,n=m(s.length),o=Ce(this,n);n>t;t++)o[t]=f?u(s[t],t):s[t];return o},Be=function(){var e=0,t=arguments.length,n=Ce(this,t);while(t>e)n[e]=arguments[e++];return n},Ne=!!z&&i((function(){ve.call(new z(1))})),Fe=function(){return ve.apply(Ne?me.call(Te(this)):Te(this),arguments)},He={copyWithin:function(e,t){return F.call(Te(this),e,t,arguments.length>2?arguments[2]:void 0)},every:function(e){return ne(Te(this),e,arguments.length>1?arguments[1]:void 0)},fill:function(e){return N.apply(Te(this),arguments)},filter:function(e){return Le(this,ee(Te(this),e,arguments.length>1?arguments[1]:void 0))},find:function(e){return re(Te(this),e,arguments.length>1?arguments[1]:void 0)},findIndex:function(e){return oe(Te(this),e,arguments.length>1?arguments[1]:void 0)},forEach:function(e){J(Te(this),e,arguments.length>1?arguments[1]:void 0)},indexOf:function(e){return ae(Te(this),e,arguments.length>1?arguments[1]:void 0)},includes:function(e){return ie(Te(this),e,arguments.length>1?arguments[1]:void 0)},join:function(e){return pe.apply(Te(this),arguments)},lastIndexOf:function(e){return ue.apply(Te(this),arguments)},map:function(e){return Me(Te(this),e,arguments.length>1?arguments[1]:void 0)},reduce:function(e){return fe.apply(Te(this),arguments)},reduceRight:function(e){return de.apply(Te(this),arguments)},reverse:function(){var e,t=this,n=Te(t).length,r=Math.floor(n/2),o=0;while(o1?arguments[1]:void 0)},sort:function(e){return he.call(Te(this),e)},subarray:function(e,t){var n=Te(this),r=n.length,o=v(e,r);return new(L(n,n[we]))(n.buffer,n.byteOffset+o*n.BYTES_PER_ELEMENT,m((void 0===t?r:v(t,r))-o))}},De=function(e,t){return Le(this,me.call(Te(this),e,t))},Ve=function(e){Te(this);var t=Oe(arguments[1],1),n=this.length,r=x(e),o=m(r.length),i=0;if(o+t>n)throw U(Ae);while(i255?255:255&r),o.v[p](n*t+o.o,r,Ee)},O=function(e,t){V(e,t,{get:function(){return E(this,t)},set:function(e){return R(this,t,e)},enumerable:!0})};b?(h=n((function(e,n,r,o){u(e,h,l,"_d");var i,a,s,c,f=0,p=0;if(w(n)){if(!(n instanceof Z||(c=y(n))==Y||c==X))return ke in n?Pe(h,n):Ie.call(h,n);i=n,p=Oe(r,t);var v=n.byteLength;if(void 0===o){if(v%t)throw U(Ae);if(a=v-p,a<0)throw U(Ae)}else if(a=m(o)*t,a+p>v)throw U(Ae);s=a/t}else s=_(n),a=s*t,i=new Z(a);d(e,"_d",{b:i,o:p,l:a,e:s,v:new Q(i)});while(f>1,u=23===t?T(2,-24)-T(2,-77):0,f=0,d=e<0||0===e&&1/e<0?1:0;for(e=O(e),e!=e||e===E?(o=e!=e?1:0,r=c):(r=C(L(e)/P),e*(i=T(2,-r))<1&&(r--,i*=2),e+=r+l>=1?u/i:u*T(2,1-l),e*i>=2&&(r++,i/=2),r+l>=c?(o=0,r=c):r+l>=1?(o=(e*i-1)*T(2,t),r+=l):(o=e*T(2,l-1)*T(2,t),r=0));t>=8;a[f++]=255&o,o/=256,t-=8);for(r=r<0;a[f++]=255&r,r/=256,s-=8);return a[--f]|=128*d,a}function V(e,t,n){var r,o=8*n-t-1,i=(1<>1,s=o-7,c=n-1,l=e[c--],u=127&l;for(l>>=7;s>0;u=256*u+e[c],c--,s-=8);for(r=u&(1<<-s)-1,u>>=-s,s+=t;s>0;r=256*r+e[c],c--,s-=8);if(0===u)u=1-a;else{if(u===i)return r?NaN:l?-E:E;r+=T(2,t),u-=a}return(l?-1:1)*r*T(2,u-t)}function $(e){return e[3]<<24|e[2]<<16|e[1]<<8|e[0]}function U(e){return[255&e]}function q(e){return[255&e,e>>8&255]}function z(e){return[255&e,e>>8&255,e>>16&255,e>>24&255]}function Y(e){return D(e,52,8)}function X(e){return D(e,23,4)}function G(e,t,n){m(e[y],t,{get:function(){return this[n]}})}function K(e,t,n,r){var o=+n,i=p(o);if(i+t>e[F])throw M(x);var a=e[N]._b,s=i+e[H],c=a.slice(s,s+t);return r?c:c.reverse()}function W(e,t,n,r,o,i){var a=+n,s=p(a);if(s+t>e[F])throw M(x);for(var c=e[N]._b,l=s+e[H],u=r(+o),f=0;fee;)(Z=J[ee++])in k||s(k,Z,R[Z]);i||(Q.constructor=k)}var te=new S(new k(2)),ne=S[y].setInt8;te.setInt8(0,2147483648),te.setInt8(1,2147483649),!te.getInt8(0)&&te.getInt8(1)||c(S[y],{setInt8:function(e,t){ne.call(this,e,t<<24>>24)},setUint8:function(e,t){ne.call(this,e,t<<24>>24)}},!0)}else k=function(e){u(this,k,g);var t=p(e);this._b=_.call(new Array(t),0),this[F]=t},S=function(e,t,n){u(this,S,b),u(e,k,b);var r=e[F],o=f(t);if(o<0||o>r)throw M("Wrong offset!");if(n=void 0===n?r-o:d(n),o+n>r)throw M(w);this[N]=e,this[H]=o,this[F]=n},o&&(G(k,I,"_l"),G(S,j,"_b"),G(S,I,"_l"),G(S,B,"_o")),c(S[y],{getInt8:function(e){return K(this,1,e)[0]<<24>>24},getUint8:function(e){return K(this,1,e)[0]},getInt16:function(e){var t=K(this,2,e,arguments[1]);return(t[1]<<8|t[0])<<16>>16},getUint16:function(e){var t=K(this,2,e,arguments[1]);return t[1]<<8|t[0]},getInt32:function(e){return $(K(this,4,e,arguments[1]))},getUint32:function(e){return $(K(this,4,e,arguments[1]))>>>0},getFloat32:function(e){return V(K(this,4,e,arguments[1]),23,4)},getFloat64:function(e){return V(K(this,8,e,arguments[1]),52,8)},setInt8:function(e,t){W(this,1,e,U,t)},setUint8:function(e,t){W(this,1,e,U,t)},setInt16:function(e,t){W(this,2,e,q,t,arguments[2])},setUint16:function(e,t){W(this,2,e,q,t,arguments[2])},setInt32:function(e,t){W(this,4,e,z,t,arguments[2])},setUint32:function(e,t){W(this,4,e,z,t,arguments[2])},setFloat32:function(e,t){W(this,4,e,X,t,arguments[2])},setFloat64:function(e,t){W(this,8,e,Y,t,arguments[2])}});v(k,g),v(S,b),s(S[y],a.VIEW,!0),t[g]=k,t[b]=S},f0c1:function(e,t,n){"use strict";var r=n("d8e8"),o=n("d3f4"),i=n("31f4"),a=[].slice,s={},c=function(e,t,n){if(!(t in s)){for(var r=[],o=0;o1?arguments[1]:void 0,t.length)),r=String(e);return s?s.call(t,r,n):t.slice(n,n+r.length)===r}})},f605:function(e,t){e.exports=function(e,t,n,r){if(!(e instanceof t)||void 0!==r&&r in e)throw TypeError(n+": incorrect invocation!");return e}},f6a0:function(e,t,n){},f751:function(e,t,n){var r=n("5ca1");r(r.S+r.F,"Object",{assign:n("7333")})},f7a7:function(e,t,n){},fa5b:function(e,t,n){e.exports=n("5537")("native-function-to-string",Function.toString)},fab2:function(e,t,n){var r=n("7726").document;e.exports=r&&r.documentElement},fb0c:function(e,t,n){"use strict";n("10aa")},fb15:function(e,t,n){"use strict";if(n.r(t),"undefined"!==typeof window){var r=window.document.currentScript,o=n("8875");r=o(),"currentScript"in document||Object.defineProperty(document,"currentScript",{get:o});var i=r&&r.src.match(/(.+\/)[^/]+\.js(\?.*)?$/);i&&(n.p=i[1])}n("1c01");var a=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"vac-card-window",style:[{height:e.height},e.cssVars]},[n("div",{staticClass:"vac-chat-container"},[e.singleRoom?e._e():n("rooms-list",{attrs:{"current-user-id":e.currentUserId,rooms:e.orderedRooms,"loading-rooms":e.loadingRooms,"rooms-loaded":e.roomsLoaded,room:e.room,"room-actions":e.roomActions,"text-messages":e.t,"show-add-room":e.showAddRoom,"show-rooms-list":e.showRoomsList,"text-formatting":e.textFormatting,"link-options":e.linkOptions,"is-mobile":e.isMobile},on:{"fetch-room":e.fetchRoom,"fetch-more-rooms":e.fetchMoreRooms,"loading-more-rooms":function(t){e.loadingMoreRooms=t},"add-room":e.addRoom,"room-action-handler":e.roomActionHandler},scopedSlots:e._u([e._l(e.$scopedSlots,(function(t,n){return{key:n,fn:function(t){return[e._t(n,null,null,t)]}}}))],null,!0)}),n("room",{attrs:{"current-user-id":e.currentUserId,rooms:e.rooms,"room-id":e.room.roomId||"","load-first-room":e.loadFirstRoom,messages:e.messages,"room-message":e.roomMessage,"messages-loaded":e.messagesLoaded,"menu-actions":e.menuActions,"message-actions":e.messageActions,"show-send-icon":e.showSendIcon,"show-files":e.showFiles,"show-audio":e.showAudio,"show-emojis":e.showEmojis,"show-reaction-emojis":e.showReactionEmojis,"show-new-messages-divider":e.showNewMessagesDivider,"show-footer":e.showFooter,"text-messages":e.t,"single-room":e.singleRoom,"show-rooms-list":e.showRoomsList,"text-formatting":e.textFormatting,"link-options":e.linkOptions,"is-mobile":e.isMobile,"loading-rooms":e.loadingRooms,"room-info":e.$listeners["room-info"],"textarea-action":e.$listeners["textarea-action-handler"],"accepted-files":e.acceptedFiles},on:{"toggle-rooms-list":e.toggleRoomsList,"room-info":e.roomInfo,"fetch-messages":e.fetchMessages,"send-message":e.sendMessage,"edit-message":e.editMessage,"delete-message":e.deleteMessage,"open-file":e.openFile,"open-user-tag":e.openUserTag,"menu-action-handler":e.menuActionHandler,"message-action-handler":e.messageActionHandler,"send-message-reaction":e.sendMessageReaction,"typing-message":e.typingMessage,"textarea-action-handler":e.textareaActionHandler},scopedSlots:e._u([e._l(e.$scopedSlots,(function(t,n){return{key:n,fn:function(t){return[e._t(n,null,null,t)]}}}))],null,!0)})],1)])},s=[];n("456d"),n("8a81"),n("d25f"),n("9986"),n("f3e2"),n("8e6e"),n("58b2");function c(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function l(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function u(e){for(var t=1;t",{allowed_chars:".",end:"",type:"tag"}),y);function z(e){var t=[],n=-1,r=null,o=V.find(e),i=!1;if(o.length>0&&(n=e.indexOf(o[0].value),i=!0),Object.keys(q).forEach((function(t){var o=e.indexOf(t);o>=0&&(n<0||ot&&(t=-1);var r=e.value.substring(t+1,e.value.length),o=t>0&&K["b"].some((function(e){return r.toLowerCase().includes(e)}));return o&&this.setImageSize(e),o},setImageSize:function(e){var t=new Image;function n(r){var o=r.path[0].width/150;e.height=Math.round(r.path[0].height/o)+"px",t.removeEventListener("load",n)}t.src=e.value,t.addEventListener("load",n)},formatTags:function(e){return this.users.forEach((function(t){var n=e.indexOf(t._id),r=""===e.substring(n-9,n);r&&(e=e.replace(t._id,"@".concat(t.username)))})),e},openTag:function(e){if(!this.singleLine&&this.checkType(e,"tag")){var t=this.users.find((function(t){return-1!==e.value.indexOf(t.username)}));this.$emit("open-user-tag",t)}}}},Z=W,Q=(n("c3ec"),b(Z,H,D,!1,null,null,null)),J=Q.exports,ee=function(e,t,n){if(e.typingUsers&&e.typingUsers.length){var r=e.users.filter((function(n){if(n._id!==t&&-1!==e.typingUsers.indexOf(n._id)&&(!n.status||"offline"!==n.status.state))return!0}));if(!r.length)return;return 2===e.users.length?n.IS_TYPING:r.map((function(e){return e.username})).join(", ")+" "+n.IS_TYPING}},te=n("bd43"),ne=te.isAudioFile,re={name:"RoomsContent",components:{SvgIcon:T,FormatMessage:J},directives:{clickOutside:F.a.directive},props:{currentUserId:{type:[String,Number],required:!0},room:{type:Object,required:!0},textFormatting:{type:Boolean,required:!0},linkOptions:{type:Object,required:!0},textMessages:{type:Object,required:!0},roomActions:{type:Array,required:!0}},data:function(){return{roomMenuOpened:null}},computed:{getLastMessage:function(){var e=this,t=this.typingUsers;if(t)return t;var n=this.room.lastMessage.deleted?this.textMessages.MESSAGE_DELETED:this.room.lastMessage.content;if(this.room.users.length<=2)return n;var r=this.room.users.find((function(t){return t._id===e.room.lastMessage.senderId}));return this.room.lastMessage.username?"".concat(this.room.lastMessage.username," - ").concat(n):r&&r._id!==this.currentUserId?"".concat(r.username," - ").concat(n):n},userStatus:function(){var e=this;if(this.room.users&&2===this.room.users.length){var t=this.room.users.find((function(t){return t._id!==e.currentUserId}));return t&&t.status?t.status.state:null}},typingUsers:function(){return ee(this.room,this.currentUserId,this.textMessages)},isMessageCheckmarkVisible:function(){return!this.typingUsers&&this.room.lastMessage&&!this.room.lastMessage.deleted&&this.room.lastMessage.senderId===this.currentUserId&&(this.room.lastMessage.saved||this.room.lastMessage.distributed||this.room.lastMessage.seen)},formattedDuration:function(){var e=this.room.lastMessage.file;if(!e.duration)return"".concat(e.name,".").concat(e.extension);var t=Math.floor(e.duration);return(t-(t%=60))/60+(t>9?":":":0")+t},isAudio:function(){return ne(this.room.lastMessage.file)}},methods:{roomActionHandler:function(e){this.closeRoomMenu(),this.$emit("room-action-handler",{action:e,roomId:this.room.roomId})},closeRoomMenu:function(){this.roomMenuOpened=null}}},oe=re,ie=(n("3687"),b(oe,I,B,!1,null,null,null)),ae=ie.exports,se=(n("f559"),function(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]&&arguments[3];return n&&""!==n?e.filter((function(e){return r?ce(e[t]).startsWith(ce(n)):ce(e[t]).includes(ce(n))})):e});function ce(e){return e.toLowerCase().normalize("NFD").replace(/[\u0300-\u036f]/g,"")}var le={name:"RoomsList",components:{InfiniteLoading:h.a,Loader:x,RoomsSearch:j,RoomContent:ae},props:{currentUserId:{type:[String,Number],required:!0},textMessages:{type:Object,required:!0},showRoomsList:{type:Boolean,required:!0},showAddRoom:{type:Boolean,required:!0},textFormatting:{type:Boolean,required:!0},linkOptions:{type:Object,required:!0},isMobile:{type:Boolean,required:!0},rooms:{type:Array,required:!0},loadingRooms:{type:Boolean,required:!0},roomsLoaded:{type:Boolean,required:!0},room:{type:Object,required:!0},roomActions:{type:Array,required:!0}},data:function(){return{filteredRooms:this.rooms||[],infiniteState:null,loadingMoreRooms:!1,selectedRoomId:""}},watch:{rooms:function(e,t){this.filteredRooms=e,this.infiniteState&&(e.length!==t.length||this.roomsLoaded)&&(this.infiniteState.loaded(),this.loadingMoreRooms=!1)},loadingRooms:function(e){e&&(this.infiniteState=null)},loadingMoreRooms:function(e){this.$emit("loading-more-rooms",e)},roomsLoaded:function(e){e&&this.infiniteState&&(this.loadingMoreRooms=!1,this.infiniteState.complete())},room:{immediate:!0,handler:function(e){e&&!this.isMobile&&(this.selectedRoomId=e.roomId)}}},methods:{searchRoom:function(e){this.filteredRooms=se(this.rooms,"roomName",e.target.value)},openRoom:function(e){(e.roomId!==this.room.roomId||this.isMobile)&&(this.isMobile||(this.selectedRoomId=e.roomId),this.$emit("fetch-room",{room:e}))},loadMoreRooms:function(e){if(!this.loadingMoreRooms){if(this.roomsLoaded)return this.loadingMoreRooms=!1,e.complete();this.infiniteState=e,this.$emit("fetch-more-rooms"),this.loadingMoreRooms=!0}}}},ue=le,fe=(n("7d66"),b(ue,f,d,!1,null,null,null)),de=fe.exports,pe=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{directives:[{name:"show",rawName:"v-show",value:e.isMobile&&!e.showRoomsList||!e.isMobile||e.singleRoom,expression:"(isMobile && !showRoomsList) || !isMobile || singleRoom"}],staticClass:"vac-col-messages"},[e.showNoRoom?e._t("no-room-selected",[n("div",{staticClass:"vac-container-center vac-room-empty"},[n("div",[e._v(e._s(e.textMessages.ROOM_EMPTY))])])]):n("room-header",{attrs:{"current-user-id":e.currentUserId,"text-messages":e.textMessages,"single-room":e.singleRoom,"show-rooms-list":e.showRoomsList,"is-mobile":e.isMobile,"room-info":e.roomInfo,"menu-actions":e.menuActions,room:e.room},on:{"toggle-rooms-list":function(t){return e.$emit("toggle-rooms-list")},"room-info":function(t){return e.$emit("room-info")},"menu-action-handler":function(t){return e.$emit("menu-action-handler",t)}},scopedSlots:e._u([e._l(e.$scopedSlots,(function(t,n){return{key:n,fn:function(t){return[e._t(n,null,null,t)]}}}))],null,!0)}),n("div",{ref:"scrollContainer",staticClass:"vac-container-scroll",on:{scroll:e.onContainerScroll}},[n("loader",{attrs:{show:e.loadingMessages}}),n("div",{staticClass:"vac-messages-container"},[n("div",{class:{"vac-messages-hidden":e.loadingMessages}},[n("transition",{attrs:{name:"vac-fade-message"}},[e.showNoMessages?n("div",{staticClass:"vac-text-started"},[e._t("messages-empty",[e._v(" "+e._s(e.textMessages.MESSAGES_EMPTY)+" ")])],2):e._e(),e.showMessagesStarted?n("div",{staticClass:"vac-text-started"},[e._v(" "+e._s(e.textMessages.CONVERSATION_STARTED)+" "+e._s(e.messages[0].date)+" ")]):e._e()]),n("transition",{attrs:{name:"vac-fade-message"}},[e.messages.length?n("infinite-loading",{class:{"vac-infinite-loading":!e.messagesLoaded},attrs:{"force-use-infinite-wrapper":".vac-container-scroll","web-component-name":"vue-advanced-chat",spinner:"spiral",direction:"top",distance:40},on:{infinite:e.loadMoreMessages}},[n("div",{attrs:{slot:"spinner"},slot:"spinner"},[n("loader",{attrs:{show:!0,infinite:!0}})],1),n("div",{attrs:{slot:"no-results"},slot:"no-results"}),n("div",{attrs:{slot:"no-more"},slot:"no-more"})]):e._e()],1),n("transition-group",{key:e.roomId,attrs:{name:"vac-fade-message"}},e._l(e.messages,(function(t,r){return n("div",{key:t._id},[n("message",{attrs:{"current-user-id":e.currentUserId,message:t,index:r,messages:e.messages,"edited-message":e.editedMessage,"message-actions":e.messageActions,"room-users":e.room.users,"text-messages":e.textMessages,"room-footer-ref":e.$refs.roomFooter,"new-messages":e.newMessages,"show-reaction-emojis":e.showReactionEmojis,"show-new-messages-divider":e.showNewMessagesDivider,"text-formatting":e.textFormatting,"link-options":e.linkOptions,"emojis-list":e.emojisList,"hide-options":e.hideOptions},on:{"message-added":e.onMessageAdded,"message-action-handler":e.messageActionHandler,"open-file":e.openFile,"open-user-tag":e.openUserTag,"send-message-reaction":e.sendMessageReaction,"hide-options":function(t){e.hideOptions=t}},scopedSlots:e._u([e._l(e.$scopedSlots,(function(t,n){return{key:n,fn:function(t){return[e._t(n,null,null,t)]}}}))],null,!0)})],1)})),0)],1)])],1),e.loadingMessages?e._e():n("div",[n("transition",{attrs:{name:"vac-bounce"}},[e.scrollIcon?n("div",{staticClass:"vac-icon-scroll",on:{click:e.scrollToBottom}},[n("transition",{attrs:{name:"vac-bounce"}},[e.scrollMessagesCount?n("div",{staticClass:"vac-badge-counter vac-messages-count"},[e._v(" "+e._s(e.scrollMessagesCount)+" ")]):e._e()]),e._t("scroll-icon",[n("svg-icon",{attrs:{name:"dropdown",param:"scroll"}})])],2):e._e()])],1),n("div",{directives:[{name:"show",rawName:"v-show",value:Object.keys(e.room).length&&e.showFooter,expression:"Object.keys(room).length && showFooter"}],ref:"roomFooter",staticClass:"vac-room-footer"},[n("room-message-reply",{attrs:{room:e.room,"message-reply":e.messageReply,"text-formatting":e.textFormatting,"link-options":e.linkOptions},on:{"reset-message":e.resetMessage},scopedSlots:e._u([e._l(e.$scopedSlots,(function(t,n){return{key:n,fn:function(t){return[e._t(n,null,null,t)]}}}))],null,!0)}),n("room-emojis",{attrs:{"filtered-emojis":e.filteredEmojis},on:{"select-emoji":function(t){return e.selectEmoji(t)}}}),n("room-users-tag",{attrs:{"filtered-users-tag":e.filteredUsersTag},on:{"select-user-tag":function(t){return e.selectUserTag(t)}}}),n("div",{staticClass:"vac-box-footer",class:{"vac-app-box-shadow":e.filteredEmojis.length||e.filteredUsersTag.length}},[!e.showAudio||e.imageFile||e.videoFile?e._e():n("div",{staticClass:"vac-icon-textarea-left"},[e.isRecording?[n("div",{staticClass:"vac-svg-button vac-icon-audio-stop",on:{click:e.stopRecorder}},[e._t("audio-stop-icon",[n("svg-icon",{attrs:{name:"close-outline"}})])],2),n("div",{staticClass:"vac-dot-audio-record"}),n("div",{staticClass:"vac-dot-audio-record-time"},[e._v(" "+e._s(e.recordedTime)+" ")]),n("div",{staticClass:"vac-svg-button vac-icon-audio-confirm",on:{click:function(t){return e.toggleRecorder(!1)}}},[e._t("audio-stop-icon",[n("svg-icon",{attrs:{name:"checkmark"}})])],2)]:n("div",{staticClass:"vac-svg-button",on:{click:function(t){return e.toggleRecorder(!0)}}},[e._t("microphone-icon",[n("svg-icon",{staticClass:"vac-icon-microphone",attrs:{name:"microphone"}})])],2)],2),e.imageFile?n("div",{staticClass:"vac-media-container"},[n("div",{staticClass:"vac-svg-button vac-icon-media",on:{click:e.resetMediaFile}},[e._t("image-close-icon",[n("svg-icon",{attrs:{name:"close",param:"image"}})])],2),n("div",{staticClass:"vac-media-file"},[n("img",{ref:"mediaFile",attrs:{src:e.imageFile},on:{load:e.onMediaLoad}})])]):e.videoFile?n("div",{staticClass:"vac-media-container"},[n("div",{staticClass:"vac-svg-button vac-icon-media",on:{click:e.resetMediaFile}},[e._t("image-close-icon",[n("svg-icon",{attrs:{name:"close",param:"image"}})])],2),n("div",{ref:"mediaFile",staticClass:"vac-media-file"},[n("video",{attrs:{width:"100%",height:"100%",controls:""}},[n("source",{attrs:{src:e.videoFile}})])])]):e.file?n("div",{staticClass:"vac-file-container",class:{"vac-file-container-edit":e.editedMessage._id}},[n("div",{staticClass:"vac-icon-file"},[e._t("file-icon",[n("svg-icon",{attrs:{name:"file"}})])],2),n("div",{staticClass:"vac-file-message"},[e._v(" "+e._s(e.file.audio?e.file.name:e.message)+" ")]),n("div",{staticClass:"vac-svg-button vac-icon-remove",on:{click:function(t){return e.resetMessage(null,!0)}}},[e._t("file-close-icon",[n("svg-icon",{attrs:{name:"close"}})])],2)]):e._e(),n("textarea",{directives:[{name:"show",rawName:"v-show",value:!e.file||e.imageFile||e.videoFile,expression:"!file || imageFile || videoFile"},{name:"model",rawName:"v-model",value:e.message,expression:"message"}],ref:"roomTextarea",staticClass:"vac-textarea",class:{"vac-textarea-outline":e.editedMessage._id},style:{"min-height":(e.mediaDimensions?e.mediaDimensions.height:20)+"px","padding-left":(e.mediaDimensions?e.mediaDimensions.width-10:12)+"px"},attrs:{placeholder:e.textMessages.TYPE_MESSAGE},domProps:{value:e.message},on:{input:[function(t){t.target.composing||(e.message=t.target.value)},e.onChangeInput],keydown:[function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"esc",27,t.key,["Esc","Escape"])?null:e.escapeTextarea(t)},function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"enter",13,t.key,"Enter")||t.ctrlKey||t.shiftKey||t.altKey||t.metaKey?null:void t.preventDefault()}]}}),n("div",{staticClass:"vac-icon-textarea"},[e.editedMessage._id?n("div",{staticClass:"vac-svg-button",on:{click:e.resetMessage}},[e._t("edit-close-icon",[n("svg-icon",{attrs:{name:"close-outline"}})])],2):e._e(),e.showEmojis&&(!e.file||e.imageFile||e.videoFile)?n("emoji-picker",{attrs:{"emoji-opened":e.emojiOpened,"position-top":!0},on:{"add-emoji":e.addEmoji,"open-emoji":function(t){e.emojiOpened=t}},scopedSlots:e._u([e._l(e.$scopedSlots,(function(t,n){return{key:n,fn:function(t){return[e._t(n,null,null,t)]}}}))],null,!0)}):e._e(),e.showFiles?n("div",{staticClass:"vac-svg-button",on:{click:e.launchFilePicker}},[e._t("paperclip-icon",[n("svg-icon",{attrs:{name:"paperclip"}})])],2):e._e(),e.textareaAction?n("div",{staticClass:"vac-svg-button",on:{click:e.textareaActionHandler}},[e._t("custom-action-icon",[n("svg-icon",{attrs:{name:"deleted"}})])],2):e._e(),e.showFiles?n("input",{ref:"file",staticStyle:{display:"none"},attrs:{type:"file",accept:e.acceptedFiles},on:{change:function(t){return e.onFileChange(t.target.files)}}}):e._e(),e.showSendIcon?n("div",{staticClass:"vac-svg-button",class:{"vac-send-disabled":e.isMessageEmpty},on:{click:e.sendMessage}},[e._t("send-icon",[n("svg-icon",{attrs:{name:"send",param:e.isMessageEmpty?"disabled":""}})])],2):e._e()],1)])],1)],2)},he=[];n("06db"),n("551c");function me(e,t,n,r,o,i,a){try{var s=e[i](a),c=s.value}catch(l){return void n(l)}s.done?t(c):Promise.resolve(c).then(r,o)}function _e(e){return function(){var t=this,n=arguments;return new Promise((function(r,o){var i=e.apply(t,n);function a(e){me(i,r,o,a,s,"next",e)}function s(e){me(i,r,o,a,s,"throw",e)}a(void 0)}))}}n("2caf");function ve(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);nr.emojiPickerHeight-50;r.emojiPickerTop=a?e+10:e-r.emojiPickerHeight-10,r.emojiPickerRight=r.positionTop?"-50px":r.positionRight?"60px":""}else o&&(r.emojiPickerRight="0px")}))}}},Oe=Re,Te=(n("3c0d"),b(Oe,Se,Ae,!1,null,null,null)),Ce=Te.exports,Le=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"vac-room-header vac-app-border-b"},[e._t("room-header",[n("div",{staticClass:"vac-room-wrapper"},[e.singleRoom?e._e():n("div",{staticClass:"vac-svg-button vac-toggle-button",class:{"vac-rotate-icon":!e.showRoomsList&&!e.isMobile},on:{click:function(t){return e.$emit("toggle-rooms-list")}}},[e._t("toggle-icon",[n("svg-icon",{attrs:{name:"toggle"}})])],2),n("div",{staticClass:"vac-info-wrapper",class:{"vac-item-clickable":e.roomInfo},on:{click:function(t){return e.$emit("room-info")}}},[e._t("room-header-avatar",[e.room.avatar?n("div",{staticClass:"vac-avatar",style:{"background-image":"url('"+e.room.avatar+"')"}}):e._e()],null,{room:e.room}),e._t("room-header-info",[n("div",{staticClass:"vac-text-ellipsis"},[n("div",{staticClass:"vac-room-name vac-text-ellipsis"},[e._v(" "+e._s(e.room.roomName)+" ")]),e.typingUsers?n("div",{staticClass:"vac-room-info vac-text-ellipsis"},[e._v(" "+e._s(e.typingUsers)+" ")]):n("div",{staticClass:"vac-room-info vac-text-ellipsis"},[e._v(" "+e._s(e.userStatus)+" ")])])],null,{room:e.room,typingUsers:e.typingUsers,userStatus:e.userStatus})],2),e.room.roomId?e._t("room-options",[e.menuActions.length?n("div",{staticClass:"vac-svg-button vac-room-options",on:{click:function(t){e.menuOpened=!e.menuOpened}}},[e._t("menu-icon",[n("svg-icon",{attrs:{name:"menu"}})])],2):e._e(),e.menuActions.length?n("transition",{attrs:{name:"vac-slide-left"}},[e.menuOpened?n("div",{directives:[{name:"click-outside",rawName:"v-click-outside",value:e.closeMenu,expression:"closeMenu"}],staticClass:"vac-menu-options"},[n("div",{staticClass:"vac-menu-list"},e._l(e.menuActions,(function(t){return n("div",{key:t.name},[n("div",{staticClass:"vac-menu-item",on:{click:function(n){return e.menuActionHandler(t)}}},[e._v(" "+e._s(t.title)+" ")])])})),0)]):e._e()]):e._e()]):e._e()],2)],null,{room:e.room,typingUsers:e.typingUsers,userStatus:e.userStatus})],2)},Pe=[],je={name:"RoomHeader",components:{SvgIcon:T},directives:{clickOutside:F.a.directive},props:{currentUserId:{type:[String,Number],required:!0},textMessages:{type:Object,required:!0},singleRoom:{type:Boolean,required:!0},showRoomsList:{type:Boolean,required:!0},isMobile:{type:Boolean,required:!0},roomInfo:{type:Function,default:null},menuActions:{type:Array,required:!0},room:{type:Object,required:!0}},data:function(){return{menuOpened:!1}},computed:{typingUsers:function(){return ee(this.room,this.currentUserId,this.textMessages)},userStatus:function(){var e=this;if(this.room.users&&2===this.room.users.length){var t=this.room.users.find((function(t){return t._id!==e.currentUserId}));if(t.status){var n="";return"online"===t.status.state?n=this.textMessages.IS_ONLINE:t.status.lastChanged&&(n=this.textMessages.LAST_SEEN+t.status.lastChanged),n}}}},methods:{menuActionHandler:function(e){this.closeMenu(),this.$emit("menu-action-handler",e)},closeMenu:function(){this.menuOpened=!1}}},Ie=je,Be=(n("e83d"),b(Ie,Le,Pe,!1,null,null,null)),Ne=Be.exports,Fe=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("transition",{attrs:{name:"vac-slide-up"}},[e.messageReply?n("div",{staticClass:"vac-reply-container",style:{bottom:e.$parent.$refs.roomFooter.clientHeight+"px"}},[n("div",{staticClass:"vac-reply-box"},[e.isImageFile?n("img",{staticClass:"vac-image-reply",attrs:{src:e.messageReply.file.url}}):e._e(),n("div",{staticClass:"vac-reply-info"},[n("div",{staticClass:"vac-reply-username"},[e._v(" "+e._s(e.messageReply.username)+" ")]),n("div",{staticClass:"vac-reply-content"},[n("format-message",{attrs:{content:e.messageReply.content,users:e.room.users,"text-formatting":e.textFormatting,"link-options":e.linkOptions,reply:!0},scopedSlots:e._u([e._l(e.$scopedSlots,(function(t,n){return{key:n,fn:function(t){return[e._t(n,null,null,t)]}}}))],null,!0)})],1)])]),n("div",{staticClass:"vac-icon-reply"},[n("div",{staticClass:"vac-svg-button",on:{click:function(t){return e.$emit("reset-message")}}},[e._t("reply-close-icon",[n("svg-icon",{attrs:{name:"close-outline"}})])],2)])]):e._e()])},He=[],De=n("bd43"),Ve=De.isImageFile,$e={name:"RoomMessageReply",components:{SvgIcon:T,FormatMessage:J},props:{room:{type:Object,required:!0},messageReply:{type:Object,default:null},textFormatting:{type:Boolean,required:!0},linkOptions:{type:Object,required:!0}},computed:{isImageFile:function(){return Ve(this.messageReply.file)}}},Ue=$e,qe=(n("3cd7"),b(Ue,Fe,He,!1,null,null,null)),ze=qe.exports,Ye=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("transition",{attrs:{name:"vac-slide-up"}},[e.filteredUsersTag.length?n("div",{staticClass:"vac-tags-container vac-app-box-shadow",style:{bottom:e.$parent.$refs.roomFooter.clientHeight+"px"}},e._l(e.filteredUsersTag,(function(t){return n("div",{key:t._id,staticClass:"vac-tags-box",on:{click:function(n){return e.$emit("select-user-tag",t)}}},[n("div",{staticClass:"vac-tags-info"},[t.avatar?n("div",{staticClass:"vac-avatar vac-tags-avatar",style:{"background-image":"url('"+t.avatar+"')"}}):e._e(),n("div",{staticClass:"vac-tags-username"},[e._v(" "+e._s(t.username)+" ")])])])})),0):e._e()])},Xe=[],Ge={name:"RoomUsersTag",props:{filteredUsersTag:{type:Array,required:!0}}},Ke=Ge,We=(n("0ed5"),b(Ke,Ye,Xe,!1,null,null,null)),Ze=We.exports,Qe=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("transition",{attrs:{name:"vac-slide-up"}},[e.filteredEmojis.length?n("div",{staticClass:"vac-emojis-container vac-app-box-shadow",style:{bottom:e.$parent.$refs.roomFooter.clientHeight+"px"}},e._l(e.filteredEmojis,(function(t){return n("div",{key:t,staticClass:"vac-emoji-element",on:{click:function(n){return e.$emit("select-emoji",t)}}},[e._v(" "+e._s(t)+" ")])})),0):e._e()])},Je=[],et={name:"RoomEmojis",props:{filteredEmojis:{type:Array,required:!0}}},tt=et,nt=(n("fb0c"),b(tt,Qe,Je,!1,null,null,null)),rt=nt.exports,ot=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{ref:e.message._id,staticClass:"vac-message-wrapper",attrs:{id:e.message._id}},[e.showDate?n("div",{staticClass:"vac-card-info vac-card-date"},[e._v(" "+e._s(e.message.date)+" ")]):e._e(),e.newMessage._id===e.message._id?n("div",{staticClass:"vac-line-new"},[e._v(" "+e._s(e.textMessages.NEW_MESSAGES)+" ")]):e._e(),e.message.system?n("div",{staticClass:"vac-card-info vac-card-system"},[e._v(" "+e._s(e.message.content)+" ")]):n("div",{staticClass:"vac-message-box",class:{"vac-offset-current":e.message.senderId===e.currentUserId}},[e._t("message",[e.message.avatar&&e.message.senderId!==e.currentUserId?n("div",{staticClass:"vac-avatar",style:{"background-image":"url('"+e.message.avatar+"')"}}):e._e(),n("div",{staticClass:"vac-message-container",class:{"vac-message-container-offset":e.messageOffset}},[n("div",{staticClass:"vac-message-card",class:{"vac-message-highlight":e.isMessageHover,"vac-message-current":e.message.senderId===e.currentUserId,"vac-message-deleted":e.message.deleted},on:{mouseover:e.onHoverMessage,mouseleave:e.onLeaveMessage}},[e.roomUsers.length>2&&e.message.senderId!==e.currentUserId?n("div",{staticClass:"vac-text-username",class:{"vac-username-reply":!e.message.deleted&&e.message.replyMessage}},[n("span",[e._v(e._s(e.message.username))])]):e._e(),!e.message.deleted&&e.message.replyMessage?n("message-reply",{attrs:{message:e.message,"room-users":e.roomUsers,"text-formatting":e.textFormatting,"link-options":e.linkOptions},scopedSlots:e._u([e._l(e.$scopedSlots,(function(t,n){return{key:n,fn:function(t){return[e._t(n,null,null,t)]}}}))],null,!0)}):e._e(),e.message.deleted?n("div",[e._t("deleted-icon",[n("svg-icon",{staticClass:"vac-icon-deleted",attrs:{name:"deleted"}})]),n("span",[e._v(e._s(e.textMessages.MESSAGE_DELETED))])],2):e.message.file?e.isImage?n("message-image",{attrs:{"current-user-id":e.currentUserId,message:e.message,"room-users":e.roomUsers,"text-formatting":e.textFormatting,"link-options":e.linkOptions,"image-hover":e.imageHover},on:{"open-file":e.openFile},scopedSlots:e._u([e._l(e.$scopedSlots,(function(t,n){return{key:n,fn:function(t){return[e._t(n,null,null,t)]}}}))],null,!0)}):e.isVideo?n("div",{staticClass:"vac-video-container"},[n("video",{attrs:{width:"100%",height:"100%",controls:""}},[n("source",{attrs:{src:e.message.file.url}})]),n("format-message",{attrs:{content:e.message.content,users:e.roomUsers,"text-formatting":e.textFormatting,"link-options":e.linkOptions},on:{"open-user-tag":e.openUserTag},scopedSlots:e._u([e._l(e.$scopedSlots,(function(t,n){return{key:n,fn:function(t){return[e._t(n,null,null,t)]}}}))],null,!0)})],1):e.isAudio?n("audio-player",{attrs:{src:e.message.file.url},on:{"update-progress-time":function(t){e.progressTime=t},"hover-audio-progress":function(t){e.hoverAudioProgress=t}},scopedSlots:e._u([e._l(e.$scopedSlots,(function(t,n){return{key:n,fn:function(t){return[e._t(n,null,null,t)]}}}))],null,!0)}):n("div",{staticClass:"vac-file-message"},[n("div",{staticClass:"vac-svg-button vac-icon-file",on:{click:function(t){return t.stopPropagation(),e.openFile("download")}}},[e._t("document-icon",[n("svg-icon",{attrs:{name:"document"}})])],2),n("span",[e._v(e._s(e.message.content))])]):n("format-message",{attrs:{content:e.message.content,users:e.roomUsers,"text-formatting":e.textFormatting,"link-options":e.linkOptions},on:{"open-user-tag":e.openUserTag},scopedSlots:e._u([e._l(e.$scopedSlots,(function(t,n){return{key:n,fn:function(t){return[e._t(n,null,null,t)]}}}))],null,!0)}),e.isAudio&&!e.message.deleted?n("div",{staticClass:"vac-progress-time"},[e._v(" "+e._s(e.progressTime)+" ")]):e._e(),n("div",{staticClass:"vac-text-timestamp"},[e.message.edited&&!e.message.deleted?n("div",{staticClass:"vac-icon-edited"},[e._t("pencil-icon",[n("svg-icon",{attrs:{name:"pencil"}})])],2):e._e(),n("span",[e._v(e._s(e.message.timestamp))]),e.isCheckmarkVisible?n("span",[e._t("checkmark-icon",[n("svg-icon",{staticClass:"vac-icon-check",attrs:{name:e.message.distributed?"double-checkmark":"checkmark",param:e.message.seen?"seen":""}})],null,{message:e.message})],2):e._e()]),n("message-actions",{attrs:{"current-user-id":e.currentUserId,message:e.message,"message-actions":e.messageActions,"room-footer-ref":e.roomFooterRef,"show-reaction-emojis":e.showReactionEmojis,"hide-options":e.hideOptions,"message-hover":e.messageHover,"hover-message-id":e.hoverMessageId,"hover-audio-progress":e.hoverAudioProgress},on:{"hide-options":function(t){return e.$emit("hide-options",!1)},"update-message-hover":function(t){e.messageHover=t},"update-options-opened":function(t){e.optionsOpened=t},"update-emoji-opened":function(t){e.emojiOpened=t},"message-action-handler":e.messageActionHandler,"send-message-reaction":function(t){return e.sendMessageReaction(t)}},scopedSlots:e._u([e._l(e.$scopedSlots,(function(t,n){return{key:n,fn:function(t){return[e._t(n,null,null,t)]}}}))],null,!0)})],1),n("message-reactions",{attrs:{"current-user-id":e.currentUserId,message:e.message,"emojis-list":e.emojisList},on:{"send-message-reaction":function(t){return e.sendMessageReaction(t)}}})],1)],null,{message:e.message})],2)])},it=[],at=(n("0cd8"),function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"vac-reply-message"},[n("div",{staticClass:"vac-reply-username"},[e._v(" "+e._s(e.replyUsername)+" ")]),e.isImage?n("div",{staticClass:"vac-image-reply-container"},[n("div",{staticClass:"vac-message-image vac-message-image-reply",style:{"background-image":"url('"+e.message.replyMessage.file.url+"')"}})]):e.isVideo?n("div",{staticClass:"vac-video-reply-container"},[n("video",{attrs:{width:"100%",height:"100%",controls:""}},[n("source",{attrs:{src:e.message.replyMessage.file.url}})])]):e.isAudio?n("audio-player",{attrs:{src:e.message.replyMessage.file.url},on:{"update-progress-time":function(t){e.progressTime=t},"hover-audio-progress":function(t){e.hoverAudioProgress=t}},scopedSlots:e._u([e._l(e.$scopedSlots,(function(t,n){return{key:n,fn:function(t){return[e._t(n,null,null,t)]}}}))],null,!0)}):e._e(),n("div",{staticClass:"vac-reply-content"},[n("format-message",{attrs:{content:e.message.replyMessage.content,users:e.roomUsers,"text-formatting":e.textFormatting,"link-options":e.linkOptions,reply:!0},scopedSlots:e._u([e._l(e.$scopedSlots,(function(t,n){return{key:n,fn:function(t){return[e._t(n,null,null,t)]}}}))],null,!0)})],1)],1)}),st=[],ct=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",[n("div",{staticClass:"vac-audio-player"},[n("div",{staticClass:"vac-svg-button",on:{click:e.playback}},[e.isPlaying?e._t("audio-pause-icon",[n("svg-icon",{attrs:{name:"audio-pause"}})]):e._t("audio-play-icon",[n("svg-icon",{attrs:{name:"audio-play"}})])],2),n("audio-control",{attrs:{percentage:e.progress},on:{"change-linehead":e.onUpdateProgress,"hover-audio-progress":function(t){return e.$emit("hover-audio-progress",t)}}}),n("audio",{attrs:{id:e.playerUniqId,src:e.audioSource}})],1)])},lt=[],ut=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{ref:"progress",staticClass:"vac-player-bar",on:{mousedown:e.onMouseDown,mouseover:function(t){return e.$emit("hover-audio-progress",!0)},mouseout:function(t){return e.$emit("hover-audio-progress",!1)}}},[n("div",{staticClass:"vac-player-progress"},[n("div",{staticClass:"vac-line-container"},[n("div",{staticClass:"vac-line-progress",style:{width:e.percentage+"%"}}),n("div",{staticClass:"vac-line-dot",class:{"vac-line-dot__active":e.isMouseDown},style:{left:e.percentage+"%"}})])])])},ft=[],dt={props:{percentage:{type:Number,default:0}},data:function(){return{isMouseDown:!1}},methods:{onMouseDown:function(e){this.isMouseDown=!0;var t=this.calculateLineHeadPosition(e,this.$refs["progress"]);this.$emit("change-linehead",t),document.addEventListener("mousemove",this.onMouseMove),document.addEventListener("mouseup",this.onMouseUp)},onMouseUp:function(e){this.isMouseDown=!1,document.removeEventListener("mouseup",this.onMouseUp),document.removeEventListener("mousemove",this.onMouseMove);var t=this.calculateLineHeadPosition(e,this.$refs["progress"]);this.$emit("change-linehead",t)},onMouseMove:function(e){var t=this.calculateLineHeadPosition(e,this.$refs["progress"]);this.$emit("change-linehead",t)},calculateLineHeadPosition:function(e,t){var n=t.getBoundingClientRect().width,r=t.getBoundingClientRect().left,o=(e.clientX-r)/n;return o=o<0?0:o,o=o>1?1:o,o}}},pt=dt,ht=(n("589c"),b(pt,ut,ft,!1,null,null,null)),mt=ht.exports,_t={name:"AudioPlayer",components:{SvgIcon:T,AudioControl:mt},props:{src:{type:String,default:null}},data:function(){return{isPlaying:!1,duration:this.convertTimeMMSS(0),playedTime:this.convertTimeMMSS(0),progress:0}},computed:{playerUniqId:function(){return"audio-player".concat(this._uid)},audioSource:function(){return this.src?this.src:(this.resetProgress(),null)}},mounted:function(){var e=this;this.player=document.getElementById(this.playerUniqId),this.player.addEventListener("ended",(function(){e.isPlaying=!1})),this.player.addEventListener("loadeddata",(function(){e.resetProgress(),e.duration=e.convertTimeMMSS(e.player.duration),e.updateProgressTime()})),this.player.addEventListener("timeupdate",this.onTimeUpdate)},methods:{convertTimeMMSS:function(e){return new Date(1e3*e).toISOString().substr(14,5)},playback:function(){var e=this;this.audioSource&&(this.isPlaying?this.player.pause():setTimeout((function(){return e.player.play()})),this.isPlaying=!this.isPlaying)},resetProgress:function(){this.isPlaying&&this.player.pause(),this.duration=this.convertTimeMMSS(0),this.playedTime=this.convertTimeMMSS(0),this.progress=0,this.isPlaying=!1,this.updateProgressTime()},onTimeUpdate:function(){this.playedTime=this.convertTimeMMSS(this.player.currentTime),this.progress=this.player.currentTime/this.player.duration*100,this.updateProgressTime()},onUpdateProgress:function(e){e&&(this.player.currentTime=e*this.player.duration)},updateProgressTime:function(){this.$emit("update-progress-time",this.progress>1?this.playedTime:this.duration)}}},vt=_t,gt=(n("f43c"),b(vt,ct,lt,!1,null,null,null)),bt=gt.exports,yt=n("bd43"),wt=yt.isAudioFile,xt=yt.isImageFile,kt=yt.isVideoFile,St={name:"MessageReply",components:{AudioPlayer:bt,FormatMessage:J},props:{message:{type:Object,required:!0},textFormatting:{type:Boolean,required:!0},linkOptions:{type:Object,required:!0},roomUsers:{type:Array,required:!0}},computed:{replyUsername:function(){var e=this.message.replyMessage.senderId,t=this.roomUsers.find((function(t){return t._id===e}));return t?t.username:""},isAudio:function(){return wt(this.message.replyMessage.file)},isImage:function(){return xt(this.message.replyMessage.file)},isVideo:function(){return kt(this.message.replyMessage.file)}}},At=St,Mt=(n("a916"),b(At,at,st,!1,null,null,null)),Et=Mt.exports,Rt=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{ref:"imageRef",staticClass:"vac-image-container"},[n("loader",{style:{top:e.imageResponsive.loaderTop+"px"},attrs:{show:e.isImageLoading}}),n("div",{staticClass:"vac-message-image",class:{"vac-image-loading":e.isImageLoading&&e.message.senderId===e.currentUserId},style:{"background-image":"url('"+e.imageBackground+"')","max-height":e.imageResponsive.maxHeight+"px"}},[n("transition",{attrs:{name:"vac-fade-image"}},[e.imageHover&&!e.isImageLoading?n("div",{staticClass:"vac-image-buttons"},[n("div",{staticClass:"vac-svg-button vac-button-view",on:{click:function(t){return t.stopPropagation(),e.$emit("open-file","preview")}}},[e._t("eye-icon",[n("svg-icon",{attrs:{name:"eye"}})])],2),n("div",{staticClass:"vac-svg-button vac-button-download",on:{click:function(t){return t.stopPropagation(),e.$emit("open-file","download")}}},[e._t("document-icon",[n("svg-icon",{attrs:{name:"document"}})])],2)]):e._e()])],1),n("format-message",{attrs:{content:e.message.content,users:e.roomUsers,"text-formatting":e.textFormatting,"link-options":e.linkOptions},on:{"open-user-tag":function(t){return e.$emit("open-user-tag")}},scopedSlots:e._u([e._l(e.$scopedSlots,(function(t,n){return{key:n,fn:function(t){return[e._t(n,null,null,t)]}}}))],null,!0)})],1)},Ot=[],Tt=n("bd43"),Ct=Tt.isImageFile,Lt={name:"MessageImage",components:{SvgIcon:T,Loader:x,FormatMessage:J},props:{currentUserId:{type:[String,Number],required:!0},message:{type:Object,required:!0},roomUsers:{type:Array,required:!0},textFormatting:{type:Boolean,required:!0},linkOptions:{type:Object,required:!0},imageHover:{type:Boolean,required:!0}},data:function(){return{imageLoading:!1,imageResponsive:""}},computed:{isImageLoading:function(){return-1!==this.message.file.url.indexOf("blob:http")||this.imageLoading},imageBackground:function(){return this.isImageLoading&&this.message.file.preview||this.message.file.url}},watch:{message:{immediate:!0,handler:function(){this.checkImgLoad()}}},mounted:function(){this.imageResponsive={maxHeight:this.$refs.imageRef.clientWidth-18,loaderTop:this.$refs.imageRef.clientWidth/2}},methods:{checkImgLoad:function(){var e=this;if(Ct(this.message.file)){this.imageLoading=!0;var t=new Image;t.src=this.message.file.url,t.addEventListener("load",(function(){return e.imageLoading=!1}))}}}},Pt=Lt,jt=(n("c48f"),b(Pt,Rt,Ot,!1,null,null,null)),It=jt.exports,Bt=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"vac-message-actions-wrapper"},[n("div",{staticClass:"vac-options-container",class:{"vac-options-image":e.isImage&&!e.message.replyMessage},style:{display:e.hoverAudioProgress?"none":"initial",width:e.filteredMessageActions.length&&e.showReactionEmojis?"70px":"45px"}},[n("transition-group",{attrs:{name:"vac-slide-left"}},[e.isMessageActions||e.isMessageReactions?n("div",{key:"1",staticClass:"vac-blur-container",class:{"vac-options-me":e.message.senderId===e.currentUserId}}):e._e(),e.isMessageActions?n("div",{key:"2",ref:"actionIcon",staticClass:"vac-svg-button vac-message-options",on:{click:e.openOptions}},[e._t("dropdown-icon",[n("svg-icon",{attrs:{name:"dropdown",param:"message"}})])],2):e._e(),e.isMessageReactions?n("emoji-picker",{directives:[{name:"click-outside",rawName:"v-click-outside",value:e.closeEmoji,expression:"closeEmoji"}],key:"3",staticClass:"vac-message-emojis",style:{right:e.isMessageActions?"30px":"5px"},attrs:{"emoji-opened":e.emojiOpened,"emoji-reaction":!0,"room-footer-ref":e.roomFooterRef,"position-right":e.message.senderId===e.currentUserId},on:{"add-emoji":e.sendMessageReaction,"open-emoji":e.openEmoji},scopedSlots:e._u([{key:"emoji-picker-icon",fn:function(){return[e._t("emoji-picker-reaction-icon")]},proxy:!0}],null,!0)}):e._e()],1)],1),e.filteredMessageActions.length?n("transition",{attrs:{name:e.message.senderId===e.currentUserId?"vac-slide-left":"vac-slide-right"}},[e.optionsOpened?n("div",{directives:[{name:"click-outside",rawName:"v-click-outside",value:e.closeOptions,expression:"closeOptions"}],ref:"menuOptions",staticClass:"vac-menu-options",class:{"vac-menu-left":e.message.senderId!==e.currentUserId},style:{top:e.menuOptionsTop+"px"}},[n("div",{staticClass:"vac-menu-list"},e._l(e.filteredMessageActions,(function(t){return n("div",{key:t.name},[n("div",{staticClass:"vac-menu-item",on:{click:function(n){return e.messageActionHandler(t)}}},[e._v(" "+e._s(t.title)+" ")])])})),0)]):e._e()]):e._e()],1)},Nt=[],Ft=n("bd43"),Ht=Ft.isImageFile,Dt={name:"MessageActions",components:{SvgIcon:T,EmojiPicker:Ce},directives:{clickOutside:F.a.directive},props:{currentUserId:{type:[String,Number],required:!0},message:{type:Object,required:!0},messageActions:{type:Array,required:!0},roomFooterRef:{type:HTMLDivElement,default:null},showReactionEmojis:{type:Boolean,required:!0},hideOptions:{type:Boolean,required:!0},messageHover:{type:Boolean,required:!0},hoverMessageId:{type:[String,Number],default:null},hoverAudioProgress:{type:Boolean,required:!0}},data:function(){return{menuOptionsTop:0,optionsOpened:!1,optionsClosing:!1,emojiOpened:!1}},computed:{isImage:function(){return Ht(this.message.file)},isMessageActions:function(){return this.filteredMessageActions.length&&this.messageHover&&!this.message.deleted&&!this.message.disableActions&&!this.hoverAudioProgress},isMessageReactions:function(){return this.showReactionEmojis&&this.messageHover&&!this.message.deleted&&!this.message.disableReactions&&!this.hoverAudioProgress},filteredMessageActions:function(){return this.message.senderId===this.currentUserId?this.messageActions:this.messageActions.filter((function(e){return!e.onlyMe}))}},watch:{emojiOpened:function(e){this.$emit("update-emoji-opened",e),e&&(this.optionsOpened=!1)},hideOptions:function(e){e&&(this.closeEmoji(),this.closeOptions())},optionsOpened:function(e){this.$emit("update-options-opened",e)}},methods:{openOptions:function(){var e=this;this.optionsClosing||(this.optionsOpened=!this.optionsOpened,this.optionsOpened&&(this.$emit("hide-options",!1),setTimeout((function(){if(e.roomFooterRef&&e.$refs.menuOptions&&e.$refs.actionIcon){var t=e.$refs.menuOptions.getBoundingClientRect().height,n=e.$refs.actionIcon.getBoundingClientRect().top,r=e.roomFooterRef.getBoundingClientRect().top,o=r-n>t+50;e.menuOptionsTop=o?30:-t}}))))},closeOptions:function(){var e=this;this.optionsOpened=!1,this.optionsClosing=!0,this.updateMessageHover(),setTimeout((function(){return e.optionsClosing=!1}),100)},openEmoji:function(){this.emojiOpened=!this.emojiOpened,this.$emit("hide-options",!1)},closeEmoji:function(){this.emojiOpened=!1,this.updateMessageHover()},updateMessageHover:function(){this.hoverMessageId!==this.message._id&&this.$emit("update-message-hover",!1)},messageActionHandler:function(e){this.closeOptions(),this.$emit("message-action-handler",e)},sendMessageReaction:function(e,t){this.$emit("send-message-reaction",{emoji:e,reaction:t}),this.closeEmoji()}}},Vt=Dt,$t=(n("7cec"),b(Vt,Bt,Nt,!1,null,null,null)),Ut=$t.exports,qt=function(){var e=this,t=e.$createElement,n=e._self._c||t;return e.message.deleted?e._e():n("transition-group",{attrs:{name:"vac-slide-left"}},e._l(e.message.reactions,(function(t,r){return n("button",{directives:[{name:"show",rawName:"v-show",value:t.length,expression:"reaction.length"}],key:r+0,staticClass:"vac-button-reaction",class:{"vac-reaction-me":-1!==t.indexOf(e.currentUserId)},style:{float:e.message.senderId===e.currentUserId?"right":"left"},on:{click:function(n){return e.sendMessageReaction({name:r},t)}}},[e._v(" "+e._s(e.getEmojiByName(r))),n("span",[e._v(e._s(t.length))])])})),0)},zt=[],Yt={name:"MessageReactions",props:{currentUserId:{type:[String,Number],required:!0},message:{type:Object,required:!0},emojisList:{type:Object,required:!0}},methods:{getEmojiByName:function(e){return this.emojisList[e]},sendMessageReaction:function(e,t){this.$emit("send-message-reaction",{emoji:e,reaction:t})}}},Xt=Yt,Gt=(n("e498"),b(Xt,qt,zt,!1,null,null,null)),Kt=Gt.exports,Wt=n("4c1d"),Zt=Wt.messagesValidation,Qt=n("bd43"),Jt=Qt.isImageFile,en=Qt.isVideoFile,tn=Qt.isAudioFile,nn={name:"Message",components:{SvgIcon:T,FormatMessage:J,AudioPlayer:bt,MessageReply:Et,MessageImage:It,MessageActions:Ut,MessageReactions:Kt},props:{currentUserId:{type:[String,Number],required:!0},textMessages:{type:Object,required:!0},index:{type:Number,required:!0},message:{type:Object,required:!0},messages:{type:Array,required:!0},editedMessage:{type:Object,required:!0},roomUsers:{type:Array,default:function(){return[]}},messageActions:{type:Array,required:!0},roomFooterRef:{type:HTMLDivElement,default:null},newMessages:{type:Array,default:function(){return[]}},showReactionEmojis:{type:Boolean,required:!0},showNewMessagesDivider:{type:Boolean,required:!0},textFormatting:{type:Boolean,required:!0},linkOptions:{type:Object,required:!0},emojisList:{type:Object,required:!0},hideOptions:{type:Boolean,required:!0}},data:function(){return{hoverMessageId:null,imageHover:!1,messageHover:!1,optionsOpened:!1,emojiOpened:!1,newMessage:{},progressTime:"- : -",hoverAudioProgress:!1}},computed:{showDate:function(){return this.index>0&&this.message.date!==this.messages[this.index-1].date},messageOffset:function(){return this.index>0&&this.message.senderId!==this.messages[this.index-1].senderId},isMessageHover:function(){return this.editedMessage._id===this.message._id||this.hoverMessageId===this.message._id},isImage:function(){return Jt(this.message.file)},isVideo:function(){return en(this.message.file)},isAudio:function(){return tn(this.message.file)},isCheckmarkVisible:function(){return this.message.senderId===this.currentUserId&&!this.message.deleted&&(this.message.saved||this.message.distributed||this.message.seen)}},watch:{newMessages:{immediate:!0,handler:function(e){if(!e.length||!this.showNewMessagesDivider)return this.newMessage={};this.newMessage=e.reduce((function(e,t){return t.index=0;o+=t){var i=n.subarray(o,o+t),a=this.encoder.encodeBuffer(i);this.dataBuffer.push(new Int8Array(a)),r-=t}}},{key:"finish",value:function(){this.dataBuffer.push(this.encoder.flush());var e=new Blob(this.dataBuffer,{type:"audio/mp3"});return this.dataBuffer=[],{id:Date.now(),blob:e,url:URL.createObjectURL(e)}}},{key:"_floatTo16BitPCM",value:function(e,t){for(var n=0;n0&&void 0!==arguments[0]?arguments[0]:{};sn(this,e),this.beforeRecording=t.beforeRecording,this.pauseRecording=t.pauseRecording,this.afterRecording=t.afterRecording,this.micFailed=t.micFailed,this.encoderOptions={bitRate:128,sampleRate:44100},this.bufferSize=4096,this.records=[],this.isPause=!1,this.isRecording=!1,this.duration=0,this.volume=0,this._duration=0}return ln(e,[{key:"start",value:function(){var e={video:!1,audio:{channelCount:1,echoCancellation:!1}};this.beforeRecording&&this.beforeRecording("start recording"),navigator.mediaDevices.getUserMedia(e).then(this._micCaptured.bind(this))["catch"](this._micError.bind(this)),this.isPause=!1,this.isRecording=!0,this.lameEncoder||(this.lameEncoder=new pn(this.encoderOptions))}},{key:"stop",value:function(){this.stream.getTracks().forEach((function(e){return e.stop()})),this.input.disconnect(),this.processor.disconnect(),this.context.close();var e=null;e=this.lameEncoder.finish(),e.duration=this.duration,this.records.push(e),this._duration=0,this.duration=0,this.isPause=!1,this.isRecording=!1,this.afterRecording&&this.afterRecording(e)}},{key:"pause",value:function(){this.stream.getTracks().forEach((function(e){return e.stop()})),this.input.disconnect(),this.processor.disconnect(),this._duration=this.duration,this.isPause=!0,this.pauseRecording&&this.pauseRecording("pause recording")}},{key:"_micCaptured",value:function(e){var t=this;this.context=new(window.AudioContext||window.webkitAudioContext),this.duration=this._duration,this.input=this.context.createMediaStreamSource(e),this.processor=this.context.createScriptProcessor(this.bufferSize,1,1),this.stream=e,this.processor.onaudioprocess=function(e){var n=e.inputBuffer.getChannelData(0),r=0;t.lameEncoder&&t.lameEncoder.encode(n);for(var o=0;o500||this.scrollMessagesCount}},updateFooterList:function(e){if(this.$refs["roomTextarea"]&&("@"!==e||this.room.users&&!(this.room.users.length<=2))&&this.textareaCursorPosition!==this.$refs["roomTextarea"].selectionStart){this.textareaCursorPosition=this.$refs["roomTextarea"].selectionStart;var t=this.textareaCursorPosition;while(t>0&&this.message.charAt(t-1)!==e&&" "!==this.message.charAt(t-1))t--;var n=this.message.charAt(t-2),r=!n.match(/^[0-9a-zA-Z]+$/);if(this.message.charAt(t-1)!==e||n&&" "!==n&&!r)this.resetFooterList();else{var o=this.message.substring(t,this.textareaCursorPosition);":"===e?this.updateEmojis(o):"@"===e&&this.updateShowUsersTag(o)}}},getCharPosition:function(e){var t=this.$refs["roomTextarea"].selectionStart,n=t;while(n>0&&this.message.charAt(n-1)!==e)n--;var r=n;while(this.message.charAt(r)&&this.message.charAt(r).trim())r++;return{position:n,endPosition:r}},updateEmojis:function(e){var t=this;if(e){var n=Object.keys(this.emojisList),r=n.filter((function(t){return t.startsWith(e)}));this.filteredEmojis=r.map((function(e){return t.emojisList[e]}))}},selectEmoji:function(e){var t=this.getCharPosition(":"),n=t.position,r=t.endPosition;this.message=this.message.substr(0,n-1)+e+this.message.substr(r,this.message.length-1),this.cursorRangePosition=n,this.focusTextarea()},updateShowUsersTag:function(e){var t=this;this.filteredUsersTag=se(this.room.users,"username",e,!0).filter((function(e){return e._id!==t.currentUserId}))},selectUserTag:function(e){var t=this.getCharPosition("@"),n=t.position,r=t.endPosition,o=this.message.substr(r,r).length?"":" ";this.message=this.message.substr(0,n)+e.username+o+this.message.substr(r,this.message.length-1),this.selectedUsersTag=[].concat(xe(this.selectedUsersTag),[u({},e)]),this.cursorRangePosition=n+e.username.length+o.length+1,this.focusTextarea()},resetFooterList:function(){this.filteredEmojis=[],this.filteredUsersTag=[],this.textareaCursorPosition=null},onMediaLoad:function(){var e=this.$refs.mediaFile.clientHeight;e<30&&(e=30),this.mediaDimensions={height:this.$refs.mediaFile.clientHeight-10,width:this.$refs.mediaFile.clientWidth+26}},escapeTextarea:function(){this.filteredEmojis.length?this.filteredEmojis=[]:this.filteredUsersTag.length?this.filteredUsersTag=[]:this.resetMessage()},resetMessage:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]&&arguments[0],n=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(r||this.$emit("typing-message",null),n)return this.file=null,this.message="",this.preventKeyboardFromClosing(),void setTimeout((function(){return e.focusTextarea(t)}));this.selectedUsersTag=[],this.resetFooterList(),this.resetTextareaSize(),this.message="",this.editedMessage={},this.messageReply=null,this.file=null,this.mediaDimensions=null,this.imageFile=null,this.videoFile=null,this.emojiOpened=!1,this.preventKeyboardFromClosing(),setTimeout((function(){return e.focusTextarea(t)}))},resetMediaFile:function(){this.mediaDimensions=null,this.imageFile=null,this.videoFile=null,this.editedMessage.file=null,this.file=null,this.focusTextarea()},resetTextareaSize:function(){this.$refs["roomTextarea"]&&(this.$refs["roomTextarea"].style.height="20px")},focusTextarea:function(e){var t=this;_n()&&e||this.$refs["roomTextarea"]&&(this.$refs["roomTextarea"].focus(),this.cursorRangePosition&&setTimeout((function(){t.$refs["roomTextarea"].setSelectionRange(t.cursorRangePosition,t.cursorRangePosition),t.cursorRangePosition=null})))},preventKeyboardFromClosing:function(){this.keepKeyboardOpen&&this.$refs["roomTextarea"].focus()},sendMessage:function(){var e=this.message.trim();(this.file||e)&&(this.selectedUsersTag.forEach((function(t){e=e.replace("@".concat(t.username),"".concat(t._id,""))})),this.editedMessage._id?(this.editedMessage.content!==e||this.file)&&this.$emit("edit-message",{messageId:this.editedMessage._id,newContent:e,file:this.file,replyMessage:this.messageReply,usersTag:this.selectedUsersTag}):this.$emit("send-message",{content:e,file:this.file,replyMessage:this.messageReply,usersTag:this.selectedUsersTag}),this.resetMessage(!0))},loadMoreMessages:function(e){var t=this;this.loadingMessages?this.infiniteState=e:setTimeout((function(){if(!t.loadingMoreMessages){if(t.messagesLoaded||!t.room.roomId)return e.complete();t.infiniteState=e,t.$emit("fetch-messages"),t.loadingMoreMessages=!0}}),vn()?500:0)},messageActionHandler:function(e){var t=e.action,n=e.message;switch(t.name){case"replyMessage":return this.replyMessage(n);case"editMessage":return this.editMessage(n);case"deleteMessage":return this.$emit("delete-message",n);default:return this.$emit("message-action-handler",{action:t,message:n})}},sendMessageReaction:function(e){this.$emit("send-message-reaction",e)},replyMessage:function(e){this.messageReply=e,this.focusTextarea()},editMessage:function(e){var t=this;this.resetMessage(),this.editedMessage=u({},e),this.file=e.file,bn(this.file)?(this.imageFile=e.file.url,setTimeout((function(){return t.onMediaLoad()}))):yn(this.file)&&(this.videoFile=e.file.url,setTimeout((function(){return t.onMediaLoad()}),50)),this.message=e.content},getBottomScroll:function(e){var t=e.scrollHeight,n=e.clientHeight,r=e.scrollTop;return t-n-r},scrollToBottom:function(){var e=this;setTimeout((function(){var t=e.$refs.scrollContainer;t.classList.add("vac-scroll-smooth"),t.scrollTo({top:t.scrollHeight,behavior:"smooth"}),setTimeout((function(){return t.classList.remove("vac-scroll-smooth")}))}),50)},onChangeInput:function(){this.keepKeyboardOpen=!0,this.resizeTextarea(),this.$emit("typing-message",this.message)},resizeTextarea:function(){var e=this.$refs["roomTextarea"];if(e){var t=window.getComputedStyle(e,null).getPropertyValue("padding-top").replace("px","");e.style.height=0,e.style.height=e.scrollHeight-2*t+"px"}},addEmoji:function(e){this.message+=e.icon,this.focusTextarea(!0)},launchFilePicker:function(){this.$refs.file.value="",this.$refs.file.click()},onFileChange:function(e){var t=this;return _e(regeneratorRuntime.mark((function n(){var r,o,i,a;return regeneratorRuntime.wrap((function(n){while(1)switch(n.prev=n.next){case 0:return t.fileDialog=!0,t.resetMediaFile(),r=e[0],o=URL.createObjectURL(r),n.next=6,fetch(o).then((function(e){return e.blob()}));case 6:i=n.sent,a=r.name.lastIndexOf("."),t.file={blob:i,name:r.name.substring(0,a),size:r.size,type:r.type,extension:r.name.substring(a+1),localUrl:o},bn(t.file)?t.imageFile=o:yn(t.file)?(t.videoFile=o,setTimeout((function(){return t.onMediaLoad()}),50)):t.message=r.name,setTimeout((function(){return t.fileDialog=!1}),500);case 11:case"end":return n.stop()}}),n)})))()},initRecorder:function(){return this.isRecording=!1,new hn({beforeRecording:null,afterRecording:null,pauseRecording:null,micFailed:this.micFailed})},micFailed:function(){this.isRecording=!1,this.recorder=this.initRecorder()},toggleRecorder:function(e){var t=this;if(this.isRecording=e,this.recorder.isRecording)try{this.recorder.stop();var n=this.recorder.records[0];this.file={blob:n.blob,name:"audio.".concat(this.format),size:n.blob.size,duration:n.duration,type:n.blob.type,audio:!0,localUrl:URL.createObjectURL(n.blob)},this.recorder=this.initRecorder(),this.sendMessage()}catch(r){setTimeout((function(){return t.stopRecorder()}),100)}else setTimeout((function(){return t.recorder.start()}),200)},stopRecorder:function(){var e=this;if(this.recorder.isRecording)try{this.recorder.stop(),this.recorder=this.initRecorder()}catch(t){setTimeout((function(){return e.stopRecorder()}),100)}},openFile:function(e){var t=e.message,n=e.action;this.$emit("open-file",{message:t,action:n})},openUserTag:function(e){this.$emit("open-user-tag",e)},textareaActionHandler:function(){this.$emit("textarea-action-handler",this.message)}}},xn=wn,kn=(n("a6d4"),b(xn,pe,he,!1,null,null,null)),Sn=kn.exports,An={ROOMS_EMPTY:"No rooms",ROOM_EMPTY:"No room selected",NEW_MESSAGES:"New Messages",MESSAGE_DELETED:"This message was deleted",MESSAGES_EMPTY:"No messages",CONVERSATION_STARTED:"Conversation started on:",TYPE_MESSAGE:"Type message",SEARCH:"Search",IS_ONLINE:"is online",LAST_SEEN:"last seen ",IS_TYPING:"is writing..."},Mn=(n("386d"),{light:{general:{color:"#0a0a0a",backgroundInput:"#fff",colorPlaceholder:"#9ca6af",colorCaret:"#1976d2",colorSpinner:"#333",borderStyle:"1px solid #e1e4e8",backgroundScrollIcon:"#fff"},container:{border:"none",borderRadius:"4px",boxShadow:"0px 1px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12)"},header:{background:"#fff",colorRoomName:"#0a0a0a",colorRoomInfo:"#9ca6af"},footer:{background:"#f8f9fa",borderStyleInput:"1px solid #e1e4e8",borderInputSelected:"#1976d2",backgroundReply:"#e5e5e6",backgroundTagActive:"#e5e5e6"},content:{background:"#f8f9fa"},sidemenu:{background:"#fff",backgroundHover:"#f6f6f6",backgroundActive:"#e5effa",colorActive:"#1976d2",borderColorSearch:"#e1e5e8"},dropdown:{background:"#fff",backgroundHover:"#f6f6f6"},message:{background:"#fff",backgroundMe:"#ccf2cf",color:"#0a0a0a",colorStarted:"#9ca6af",backgroundDeleted:"#dadfe2",colorDeleted:"#757e85",colorUsername:"#9ca6af",colorTimestamp:"#828c94",backgroundDate:"#e5effa",colorDate:"#505a62",backgroundSystem:"#e5effa",colorSystem:"#505a62",backgroundMedia:"rgba(0, 0, 0, 0.15)",backgroundReply:"rgba(0, 0, 0, 0.08)",colorReplyUsername:"#0a0a0a",colorReply:"#6e6e6e",colorTag:"#0d579c",backgroundImage:"#ddd",colorNewMessages:"#1976d2",backgroundScrollCounter:"#0696c7",colorScrollCounter:"#fff",backgroundReaction:"#eee",borderStyleReaction:"1px solid #eee",backgroundReactionHover:"#fff",borderStyleReactionHover:"1px solid #ddd",colorReactionCounter:"#0a0a0a",backgroundReactionMe:"#cfecf5",borderStyleReactionMe:"1px solid #3b98b8",backgroundReactionHoverMe:"#cfecf5",borderStyleReactionHoverMe:"1px solid #3b98b8",colorReactionCounterMe:"#0b59b3",backgroundAudioRecord:"#eb4034",backgroundAudioLine:"rgba(0, 0, 0, 0.15)",backgroundAudioProgress:"#455247",backgroundAudioProgressSelector:"#455247"},markdown:{background:"rgba(239, 239, 239, 0.7)",border:"rgba(212, 212, 212, 0.9)",color:"#e01e5a",colorMulti:"#0a0a0a"},room:{colorUsername:"#0a0a0a",colorMessage:"#67717a",colorTimestamp:"#a2aeb8",colorStateOnline:"#4caf50",colorStateOffline:"#9ca6af",backgroundCounterBadge:"#0696c7",colorCounterBadge:"#fff"},emoji:{background:"#fff"},icons:{search:"#9ca6af",add:"#1976d2",toggle:"#0a0a0a",menu:"#0a0a0a",close:"#9ca6af",closeImage:"#fff",file:"#1976d2",paperclip:"#1976d2",closeOutline:"#000",send:"#1976d2",sendDisabled:"#9ca6af",emoji:"#1976d2",emojiReaction:"rgba(0, 0, 0, 0.3)",document:"#1976d2",pencil:"#9e9e9e",checkmark:"#9e9e9e",checkmarkSeen:"#0696c7",eye:"#fff",dropdownMessage:"#fff",dropdownMessageBackground:"rgba(0, 0, 0, 0.25)",dropdownRoom:"#9e9e9e",dropdownScroll:"#0a0a0a",microphone:"#1976d2",audioPlay:"#455247",audioPause:"#455247",audioCancel:"#eb4034",audioConfirm:"#1ba65b"}},dark:{general:{color:"#fff",backgroundInput:"#202223",colorPlaceholder:"#596269",colorCaret:"#fff",colorSpinner:"#fff",borderStyle:"none",backgroundScrollIcon:"#fff"},container:{border:"none",borderRadius:"4px",boxShadow:"0px 1px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12)"},header:{background:"#181a1b",colorRoomName:"#fff",colorRoomInfo:"#9ca6af"},footer:{background:"#131415",borderStyleInput:"none",borderInputSelected:"#1976d2",backgroundReply:"#1b1c1c",backgroundTagActive:"#1b1c1c"},content:{background:"#131415"},sidemenu:{background:"#181a1b",backgroundHover:"#202224",backgroundActive:"#151617",colorActive:"#fff",borderColorSearch:"#181a1b"},dropdown:{background:"#2a2c33",backgroundHover:"#26282e"},message:{background:"#22242a",backgroundMe:"#1f7e80",color:"#fff",colorStarted:"#9ca6af",backgroundDeleted:"#1b1c21",colorDeleted:"#a2a5a8",colorUsername:"#b3bac9",colorTimestamp:"#ebedf2",backgroundDate:"rgba(0, 0, 0, 0.3)",colorDate:"#bec5cc",backgroundSystem:"rgba(0, 0, 0, 0.3)",colorSystem:"#bec5cc",backgroundMedia:"rgba(0, 0, 0, 0.18)",backgroundReply:"rgba(0, 0, 0, 0.18)",colorReplyUsername:"#fff",colorReply:"#d6d6d6",colorTag:"#f0c60a",backgroundImage:"#ddd",colorNewMessages:"#fff",backgroundScrollCounter:"#1976d2",colorScrollCounter:"#fff",backgroundReaction:"none",borderStyleReaction:"none",backgroundReactionHover:"#202223",borderStyleReactionHover:"none",colorReactionCounter:"#fff",backgroundReactionMe:"#4e9ad1",borderStyleReactionMe:"none",backgroundReactionHoverMe:"#4e9ad1",borderStyleReactionHoverMe:"none",colorReactionCounterMe:"#fff",backgroundAudioRecord:"#eb4034",backgroundAudioLine:"rgba(255, 255, 255, 0.15)",backgroundAudioProgress:"#b7d4d3",backgroundAudioProgressSelector:"#b7d4d3"},markdown:{background:"rgba(239, 239, 239, 0.7)",border:"rgba(212, 212, 212, 0.9)",color:"#e01e5a",colorMulti:"#0a0a0a"},room:{colorUsername:"#fff",colorMessage:"#6c7278",colorTimestamp:"#6c7278",colorStateOnline:"#4caf50",colorStateOffline:"#596269",backgroundCounterBadge:"#1976d2",colorCounterBadge:"#fff"},emoji:{background:"#343740"},icons:{search:"#596269",add:"#fff",toggle:"#fff",menu:"#fff",close:"#9ca6af",closeImage:"#fff",file:"#1976d2",paperclip:"#fff",closeOutline:"#fff",send:"#fff",sendDisabled:"#646a70",emoji:"#fff",emojiReaction:"#fff",document:"#1976d2",pencil:"#ebedf2",checkmark:"#ebedf2",checkmarkSeen:"#f0d90a",eye:"#fff",dropdownMessage:"#fff",dropdownMessageBackground:"rgba(0, 0, 0, 0.25)",dropdownRoom:"#fff",dropdownScroll:"#0a0a0a",microphone:"#fff",audioPlay:"#b7d4d3",audioPause:"#b7d4d3",audioCancel:"#eb4034",audioConfirm:"#1ba65b"}}}),En=function(e){var t=e.general,n=e.container,r=e.header,o=e.footer,i=e.sidemenu,a=e.content,s=e.dropdown,c=e.message,l=e.markdown,u=e.room,f=e.emoji,d=e.icons;return{"--chat-color":t.color,"--chat-bg-color-input":t.backgroundInput,"--chat-color-spinner":t.colorSpinner,"--chat-color-placeholder":t.colorPlaceholder,"--chat-color-caret":t.colorCaret,"--chat-border-style":t.borderStyle,"--chat-bg-scroll-icon":t.backgroundScrollIcon,"--chat-container-border":n.border,"--chat-container-border-radius":n.borderRadius,"--chat-container-box-shadow":n.boxShadow,"--chat-header-bg-color":r.background,"--chat-header-color-name":r.colorRoomName,"--chat-header-color-info":r.colorRoomInfo,"--chat-footer-bg-color":o.background,"--chat-border-style-input":o.borderStyleInput,"--chat-border-color-input-selected":o.borderInputSelected,"--chat-footer-bg-color-reply":o.backgroundReply,"--chat-footer-bg-color-tag-active":o.backgroundTagActive,"--chat-content-bg-color":a.background,"--chat-sidemenu-bg-color":i.background,"--chat-sidemenu-bg-color-hover":i.backgroundHover,"--chat-sidemenu-bg-color-active":i.backgroundActive,"--chat-sidemenu-color-active":i.colorActive,"--chat-sidemenu-border-color-search":i.borderColorSearch,"--chat-dropdown-bg-color":s.background,"--chat-dropdown-bg-color-hover":s.backgroundHover,"--chat-message-bg-color":c.background,"--chat-message-bg-color-me":c.backgroundMe,"--chat-message-color-started":c.colorStarted,"--chat-message-bg-color-deleted":c.backgroundDeleted,"--chat-message-color-deleted":c.colorDeleted,"--chat-message-color-username":c.colorUsername,"--chat-message-color-timestamp":c.colorTimestamp,"--chat-message-bg-color-date":c.backgroundDate,"--chat-message-color-date":c.colorDate,"--chat-message-bg-color-system":c.backgroundSystem,"--chat-message-color-system":c.colorSystem,"--chat-message-color":c.color,"--chat-message-bg-color-media":c.backgroundMedia,"--chat-message-bg-color-reply":c.backgroundReply,"--chat-message-color-reply-username":c.colorReplyUsername,"--chat-message-color-reply-content":c.colorReply,"--chat-message-color-tag":c.colorTag,"--chat-message-bg-color-image":c.backgroundImage,"--chat-message-color-new-messages":c.colorNewMessages,"--chat-message-bg-color-scroll-counter":c.backgroundScrollCounter,"--chat-message-color-scroll-counter":c.colorScrollCounter,"--chat-message-bg-color-reaction":c.backgroundReaction,"--chat-message-border-style-reaction":c.borderStyleReaction,"--chat-message-bg-color-reaction-hover":c.backgroundReactionHover,"--chat-message-border-style-reaction-hover":c.borderStyleReactionHover,"--chat-message-color-reaction-counter":c.colorReactionCounter,"--chat-message-bg-color-reaction-me":c.backgroundReactionMe,"--chat-message-border-style-reaction-me":c.borderStyleReactionMe,"--chat-message-bg-color-reaction-hover-me":c.backgroundReactionHoverMe,"--chat-message-border-style-reaction-hover-me":c.borderStyleReactionHoverMe,"--chat-message-color-reaction-counter-me":c.colorReactionCounterMe,"--chat-message-bg-color-audio-record":c.backgroundAudioRecord,"--chat-message-bg-color-audio-line":c.backgroundAudioLine,"--chat-message-bg-color-audio-progress":c.backgroundAudioProgress,"--chat-message-bg-color-audio-progress-selector":c.backgroundAudioProgressSelector,"--chat-markdown-bg":l.background,"--chat-markdown-border":l.border,"--chat-markdown-color":l.color,"--chat-markdown-color-multi":l.colorMulti,"--chat-room-color-username":u.colorUsername,"--chat-room-color-message":u.colorMessage,"--chat-room-color-timestamp":u.colorTimestamp,"--chat-room-color-online":u.colorStateOnline,"--chat-room-color-offline":u.colorStateOffline,"--chat-room-bg-color-badge":u.backgroundCounterBadge,"--chat-room-color-badge":u.colorCounterBadge,"--chat-emoji-bg-color":f.background,"--chat-icon-color-search":d.search,"--chat-icon-color-add":d.add,"--chat-icon-color-toggle":d.toggle,"--chat-icon-color-menu":d.menu,"--chat-icon-color-close":d.close,"--chat-icon-color-close-image":d.closeImage,"--chat-icon-color-file":d.file,"--chat-icon-color-paperclip":d.paperclip,"--chat-icon-color-close-outline":d.closeOutline,"--chat-icon-color-send":d.send,"--chat-icon-color-send-disabled":d.sendDisabled,"--chat-icon-color-emoji":d.emoji,"--chat-icon-color-emoji-reaction":d.emojiReaction,"--chat-icon-color-document":d.document,"--chat-icon-color-pencil":d.pencil,"--chat-icon-color-checkmark":d.checkmark,"--chat-icon-color-checkmark-seen":d.checkmarkSeen,"--chat-icon-color-eye":d.eye,"--chat-icon-color-dropdown-message":d.dropdownMessage,"--chat-icon-bg-dropdown-message":d.dropdownMessageBackground,"--chat-icon-color-dropdown-room":d.dropdownRoom,"--chat-icon-color-dropdown-scroll":d.dropdownScroll,"--chat-icon-color-microphone":d.microphone,"--chat-icon-color-audio-play":d.audioPlay,"--chat-icon-color-audio-pause":d.audioPause,"--chat-icon-color-audio-cancel":d.audioCancel,"--chat-icon-color-audio-confirm":d.audioConfirm}},Rn=n("4c1d"),On=Rn.roomsValidation,Tn=Rn.partcipantsValidation,Cn={name:"ChatContainer",components:{RoomsList:de,Room:Sn},props:{height:{type:String,default:"600px"},theme:{type:String,default:"light"},styles:{type:Object,default:function(){return{}}},responsiveBreakpoint:{type:Number,default:900},singleRoom:{type:Boolean,default:!1},textMessages:{type:Object,default:null},currentUserId:{type:[String,Number],default:""},rooms:{type:Array,default:function(){return[]}},loadingRooms:{type:Boolean,default:!1},roomsLoaded:{type:Boolean,default:!1},roomId:{type:[String,Number],default:null},loadFirstRoom:{type:Boolean,default:!0},messages:{type:Array,default:function(){return[]}},messagesLoaded:{type:Boolean,default:!1},roomActions:{type:Array,default:function(){return[]}},menuActions:{type:Array,default:function(){return[]}},messageActions:{type:Array,default:function(){return[{name:"replyMessage",title:"Reply"},{name:"editMessage",title:"Edit Message",onlyMe:!0},{name:"deleteMessage",title:"Delete Message",onlyMe:!0}]}},showAddRoom:{type:Boolean,default:!0},showSendIcon:{type:Boolean,default:!0},showFiles:{type:Boolean,default:!0},showAudio:{type:Boolean,default:!0},showEmojis:{type:Boolean,default:!0},showReactionEmojis:{type:Boolean,default:!0},showNewMessagesDivider:{type:Boolean,default:!0},showFooter:{type:Boolean,default:!0},textFormatting:{type:Boolean,default:!0},linkOptions:{type:Object,default:function(){return{disabled:!1,target:"_blank"}}},newMessage:{type:Object,default:null},roomMessage:{type:String,default:""},acceptedFiles:{type:String,default:"*"}},data:function(){return{room:{},loadingMoreRooms:!1,showRoomsList:!0,isMobile:!1}},computed:{t:function(){return u(u({},An),this.textMessages)},cssVars:function(){var e=this,t=Mn[this.theme],n={};return Object.keys(t).map((function(r){n[r]=u(u({},t[r]),e.styles[r]||{})})),En(n)},orderedRooms:function(){return this.rooms.slice().sort((function(e,t){var n=e.index||0,r=t.index||0;return n>r?-1:r>n?1:0}))}},watch:{rooms:{immediate:!0,handler:function(e,t){var n=this;if(e[0]&&e.find((function(e){return e.roomId===n.room.roomId}))||(this.showRoomsList=!0),!this.loadingMoreRooms&&this.loadFirstRoom&&e[0]&&(!t||e.length!==t.length))if(this.roomId){var r=e.find((function(e){return e.roomId===n.roomId}));this.fetchRoom({room:r})}else!this.isMobile||this.singleRoom?this.fetchRoom({room:this.orderedRooms[0]}):this.showRoomsList=!0}},loadingRooms:function(e){e&&(this.room={})},roomId:{immediate:!0,handler:function(e,t){if(e&&!this.loadingRooms&&this.rooms.length){var n=this.rooms.find((function(t){return t.roomId===e}));this.fetchRoom({room:n})}else t&&!e&&(this.room={})}},room:function(e){e&&0!==Object.entries(e).length&&(On(e),e.users.forEach((function(e){Tn(e)})))},newMessage:function(e){this.$set(this.messages,e.index,e.message)}},created:function(){var e=this;this.updateResponsive(),window.addEventListener("resize",(function(t){t.isTrusted&&e.updateResponsive()}))},methods:{updateResponsive:function(){this.isMobile=window.innerWidth=0;--i){var a=this.tryEntries[i],s=a.completion;if("root"===a.tryLoc)return o("end");if(a.tryLoc<=this.prev){var c=r.call(a,"catchLoc"),l=r.call(a,"finallyLoc");if(c&&l){if(this.prev=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&r.call(o,"finallyLoc")&&this.prev=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),R(n),m}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var o=r.arg;R(n)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(e,n,r){return this.delegate={iterator:T(e),resultName:n,nextLoc:r},"next"===this.method&&(this.arg=t),m}},e}(e.exports);try{regeneratorRuntime=r}catch(o){Function("r","regeneratorRuntime = r")(r)}},9828:function(e,t,n){var r=n("4b5e"),o={};o.SFBMAX=3*r.SBMAX_s,e.exports=o},"99af":function(e,t,n){"use strict";var r=n("23e7"),o=n("d039"),i=n("e8b5"),a=n("861d"),s=n("7b0b"),c=n("50c4"),l=n("8418"),u=n("65f0"),f=n("1dde"),d=n("b622"),p=n("2d00"),h=d("isConcatSpreadable"),m=9007199254740991,_="Maximum allowed index exceeded",v=p>=51||!o((function(){var e=[];return e[h]=!1,e.concat()[0]!==e})),g=f("concat"),b=function(e){if(!a(e))return!1;var t=e[h];return void 0!==t?!!t:i(e)},y=!v||!g;r({target:"Array",proto:!0,forced:y},{concat:function(e){var t,n,r,o,i,a=s(this),f=u(a,0),d=0;for(t=-1,r=arguments.length;tm)throw TypeError(_);for(n=0;n=m)throw TypeError(_);l(f,d++,i)}return f.length=d,f}})},"9bdd":function(e,t,n){var r=n("825a"),o=n("2a62");e.exports=function(e,t,n,i){try{return i?t(r(n)[0],n[1]):t(n)}catch(a){throw o(e),a}}},"9bf2":function(e,t,n){var r=n("83ab"),o=n("0cfb"),i=n("825a"),a=n("c04e"),s=Object.defineProperty;t.f=r?s:function(e,t,n){if(i(e),t=a(t,!0),i(n),o)try{return s(e,t,n)}catch(r){}if("get"in n||"set"in n)throw TypeError("Accessors not supported");return"value"in n&&(e[t]=n.value),e}},"9ed3":function(e,t,n){"use strict";var r=n("ae93").IteratorPrototype,o=n("7c73"),i=n("5c6c"),a=n("d44e"),s=n("3f8c"),c=function(){return this};e.exports=function(e,t,n){var l=t+" Iterator";return e.prototype=o(r,{next:i(1,n)}),a(e,l,!1,!0),s[l]=c,e}},a1b7:function(e,t,n){var r=n("4b5e"),o=n("0206"),i=o.System,a=(o.VbrMode,o.Float,o.ShortBlock,o.Util,o.Arrays,o.new_array_n,o.new_byte,o.new_double,o.new_float),s=o.new_float_n;o.new_int,o.new_int_n,o.assert;function c(){this.l=a(r.SBMAX_l),this.s=s([r.SBMAX_s,3]);var e=this;this.assign=function(t){i.arraycopy(t.l,0,e.l,0,r.SBMAX_l);for(var n=0;ni)o.push(arguments[i++]);if(r=t,(p(t)||void 0!==e)&&!se(e))return d(t)||(t=function(e,t){if("function"==typeof r&&(t=r.call(this,e,t)),!se(t))return t}),o[1]=t,X.apply(null,o)}})}Y[V][$]||E(Y[V],$,Y[V].valueOf),B(Y,D),C[H]=!0},a630:function(e,t,n){var r=n("23e7"),o=n("4df4"),i=n("1c7e"),a=!i((function(e){Array.from(e)}));r({target:"Array",stat:!0,forced:a},{from:o})},a691:function(e,t){var n=Math.ceil,r=Math.floor;e.exports=function(e){return isNaN(e=+e)?0:(e>0?r:n)(e)}},a79d:function(e,t,n){"use strict";var r=n("23e7"),o=n("c430"),i=n("fea9"),a=n("d039"),s=n("d066"),c=n("4840"),l=n("cdf9"),u=n("6eeb"),f=!!i&&a((function(){i.prototype["finally"].call({then:function(){}},(function(){}))}));if(r({target:"Promise",proto:!0,real:!0,forced:f},{finally:function(e){var t=c(this,s("Promise")),n="function"==typeof e;return this.then(n?function(n){return l(t,e()).then((function(){return n}))}:e,n?function(n){return l(t,e()).then((function(){throw n}))}:e)}}),!o&&"function"==typeof i){var d=s("Promise").prototype["finally"];i.prototype["finally"]!==d&&u(i.prototype,"finally",d,{unsafe:!0})}},abf5:function(e,t,n){var r=n("0206"),o=(r.System,r.VbrMode,r.Float,r.ShortBlock,r.Util,r.Arrays,r.new_array_n,r.new_byte,r.new_double,r.new_float),i=(r.new_float_n,r.new_int,r.new_int_n,r.assert,n("4b5e"));function a(){this.useAdjust=0,this.aaSensitivityP=0,this.adjust=0,this.adjustLimit=0,this.decay=0,this.floor=0,this.l=o(i.SBMAX_l),this.s=o(i.SBMAX_s),this.psfb21=o(i.PSFB21),this.psfb12=o(i.PSFB12),this.cb_l=o(i.CBANDS),this.cb_s=o(i.CBANDS),this.eql_w=o(i.BLKSIZE/2)}e.exports=a},ae93:function(e,t,n){"use strict";var r,o,i,a=n("d039"),s=n("e163"),c=n("9112"),l=n("5135"),u=n("b622"),f=n("c430"),d=u("iterator"),p=!1,h=function(){return this};[].keys&&(i=[].keys(),"next"in i?(o=s(s(i)),o!==Object.prototype&&(r=o)):p=!0);var m=void 0==r||a((function(){var e={};return r[d].call(e)!==e}));m&&(r={}),f&&!m||l(r,d)||c(r,d,h),e.exports={IteratorPrototype:r,BUGGY_SAFARI_ITERATORS:p}},b041:function(e,t,n){"use strict";var r=n("00ee"),o=n("f5df");e.exports=r?{}.toString:function(){return"[object "+o(this)+"]"}},b0c0:function(e,t,n){var r=n("83ab"),o=n("9bf2").f,i=Function.prototype,a=i.toString,s=/^\s*function ([^ (]*)/,c="name";r&&!(c in i)&&o(i,c,{configurable:!0,get:function(){try{return a.call(this).match(s)[1]}catch(e){return""}}})},b50d:function(e,t,n){"use strict";var r=n("c532"),o=n("467f"),i=n("7aac"),a=n("30b5"),s=n("83b9"),c=n("c345"),l=n("3934"),u=n("2d83");e.exports=function(e){return new Promise((function(t,n){var f=e.data,d=e.headers;r.isFormData(f)&&delete d["Content-Type"];var p=new XMLHttpRequest;if(e.auth){var h=e.auth.username||"",m=e.auth.password?unescape(encodeURIComponent(e.auth.password)):"";d.Authorization="Basic "+btoa(h+":"+m)}var _=s(e.baseURL,e.url);if(p.open(e.method.toUpperCase(),a(_,e.params,e.paramsSerializer),!0),p.timeout=e.timeout,p.onreadystatechange=function(){if(p&&4===p.readyState&&(0!==p.status||p.responseURL&&0===p.responseURL.indexOf("file:"))){var r="getAllResponseHeaders"in p?c(p.getAllResponseHeaders()):null,i=e.responseType&&"text"!==e.responseType?p.response:p.responseText,a={data:i,status:p.status,statusText:p.statusText,headers:r,config:e,request:p};o(t,n,a),p=null}},p.onabort=function(){p&&(n(u("Request aborted",e,"ECONNABORTED",p)),p=null)},p.onerror=function(){n(u("Network Error",e,null,p)),p=null},p.ontimeout=function(){var t="timeout of "+e.timeout+"ms exceeded";e.timeoutErrorMessage&&(t=e.timeoutErrorMessage),n(u(t,e,"ECONNABORTED",p)),p=null},r.isStandardBrowserEnv()){var v=(e.withCredentials||l(_))&&e.xsrfCookieName?i.read(e.xsrfCookieName):void 0;v&&(d[e.xsrfHeaderName]=v)}if("setRequestHeader"in p&&r.forEach(d,(function(e,t){"undefined"===typeof f&&"content-type"===t.toLowerCase()?delete d[t]:p.setRequestHeader(t,e)})),r.isUndefined(e.withCredentials)||(p.withCredentials=!!e.withCredentials),e.responseType)try{p.responseType=e.responseType}catch(g){if("json"!==e.responseType)throw g}"function"===typeof e.onDownloadProgress&&p.addEventListener("progress",e.onDownloadProgress),"function"===typeof e.onUploadProgress&&p.upload&&p.upload.addEventListener("progress",e.onUploadProgress),e.cancelToken&&e.cancelToken.promise.then((function(e){p&&(p.abort(),n(e),p=null)})),f||(f=null),p.send(f)}))}},b575:function(e,t,n){var r,o,i,a,s,c,l,u,f=n("da84"),d=n("06cf").f,p=n("2cf4").set,h=n("1cdc"),m=n("a4b4"),_=n("605d"),v=f.MutationObserver||f.WebKitMutationObserver,g=f.document,b=f.process,y=f.Promise,w=d(f,"queueMicrotask"),x=w&&w.value;x||(r=function(){var e,t;_&&(e=b.domain)&&e.exit();while(o){t=o.fn,o=o.next;try{t()}catch(n){throw o?a():i=void 0,n}}i=void 0,e&&e.enter()},h||_||m||!v||!g?y&&y.resolve?(l=y.resolve(void 0),l.constructor=y,u=l.then,a=function(){u.call(l,r)}):a=_?function(){b.nextTick(r)}:function(){p.call(f,r)}:(s=!0,c=g.createTextNode(""),new v(r).observe(c,{characterData:!0}),a=function(){c.data=s=!s})),e.exports=x||function(e){var t={fn:e,next:void 0};i&&(i.next=t),o||(o=t,a()),i=t}},b622:function(e,t,n){var r=n("da84"),o=n("5692"),i=n("5135"),a=n("90e3"),s=n("4930"),c=n("fdbf"),l=o("wks"),u=r.Symbol,f=c?u:u&&u.withoutSetter||a;e.exports=function(e){return i(l,e)&&(s||"string"==typeof l[e])||(s&&i(u,e)?l[e]=u[e]:l[e]=f("Symbol."+e)),l[e]}},b6a6:function(e,t,n){},b727:function(e,t,n){var r=n("0366"),o=n("44ad"),i=n("7b0b"),a=n("50c4"),s=n("65f0"),c=[].push,l=function(e){var t=1==e,n=2==e,l=3==e,u=4==e,f=6==e,d=7==e,p=5==e||f;return function(h,m,_,v){for(var g,b,y=i(h),w=o(y),x=r(m,_,3),k=a(w.length),S=0,A=v||s,M=t?A(h,k):n||d?A(h,0):void 0;k>S;S++)if((p||S in w)&&(g=w[S],b=x(g,S,y),e))if(t)M[S]=b;else if(b)switch(e){case 3:return!0;case 5:return g;case 6:return S;case 2:c.call(M,g)}else switch(e){case 4:return!1;case 7:c.call(M,g)}return f?-1:l||u?u:M}};e.exports={forEach:l(0),map:l(1),filter:l(2),some:l(3),every:l(4),find:l(5),findIndex:l(6),filterOut:l(7)}},bb22:function(e,t,n){var r=n("ff81"),o=n("0206"),i=(o.System,o.VbrMode),a=o.Float,s=(o.ShortBlock,o.Util),c=(o.Arrays,o.new_array_n,o.new_byte,o.new_double,o.new_float),l=(o.new_float_n,o.new_int),u=(o.new_int_n,o.assert),f=n("4b5e"),d=n("f052"),p=n("bd8b");function h(){var e=null,t=null,n=null;function o(e){return u(0<=e+h.Q_MAX2&&e>2&63,n>=32&&(n-=64),i=Math.pow(10,n/4/10),n=t.exp_nspsytune>>8&63,n>=32&&(n-=64),a=Math.pow(10,n/4/10),n=t.exp_nspsytune>>14&63,n>=32&&(n-=64),s=Math.pow(10,n/4/10),n=t.exp_nspsytune>>20&63,n>=32&&(n-=64),c=s*Math.pow(10,n/4/10),n=0;np.MAX_BITS_PER_GRANULE&&(g=p.MAX_BITS_PER_GRANULE),s=0,c=0;c3*o/4&&(m[c]=3*o/4),m[c]<0&&(m[c]=0),m[c]+r[c]>p.MAX_BITS_PER_CHANNEL&&(m[c]=Math.max(0,p.MAX_BITS_PER_CHANNEL-r[c])),s+=m[c];if(s>v)for(c=0;cp.MAX_BITS_PER_GRANULE){var b=0;for(c=0;c.5&&(o=.5);var i=0|.5*o*(e[0]+e[1]);i>p.MAX_BITS_PER_CHANNEL-e[0]&&(i=p.MAX_BITS_PER_CHANNEL-e[0]),i<0&&(i=0),e[1]>=125&&(e[1]-i>125?(e[0]r&&(e[0]=r*e[0]/i,e[1]=r*e[1]/i),u(e[0]<=p.MAX_BITS_PER_CHANNEL),u(e[1]<=p.MAX_BITS_PER_CHANNEL),u(e[0]+e[1]<=p.MAX_BITS_PER_GRANULE)},this.athAdjust=function(e,t,n){var r=90.30873362,o=94.82444863,i=s.FAST_LOG10_X(t,10),a=e*e,c=0;return i-=n,a>1e-20&&(c=1+s.FAST_LOG10_X(a,10/r)),c<0&&(c=0),i*=c,i+=n+r-o,Math.pow(10,.1*i)},this.calc_xmin=function(e,t,n,r){var o,a=0,s=e.internal_flags,c=0,l=0,u=s.ATH,d=n.xr,p=e.VBR==i.vbr_mtrh?1:0,h=s.masking_lower;for(e.VBR!=i.vbr_mtrh&&e.VBR!=i.vbr_mt||(h=1),o=0;o>1,E=0;do{O=d[c]*d[c],E+=O,M+=O0);if(E>S&&l++,o==f.SBPSY_l){var _=S*s.nsPsy.longfact[o];M<_&&(M=_)}if(0!=p&&(S=M),!e.ATHonly){var v=t.en.l[o];if(v>0)_=E*t.thm.l[o]*h/v,0!=p&&(_*=s.nsPsy.longfact[o]),S<_&&(S=_)}r[a++]=0!=p?S:S*s.nsPsy.longfact[o]}var g=575;if(n.block_type!=f.SHORT_TYPE){var b=576;while(0!=b--&&BitStream.EQ(d[b],0))g=b}n.max_nonzero_coeff=g;for(var y=n.sfb_smin;o>1;A=k/w,M=m;do{var O,T;O=d[c]*d[c],E+=O,M+=O0);if(E>k&&l++,y==f.SBPSY_s){_=k*s.nsPsy.shortfact[y];M<_&&(M=_)}if(S=0!=p?M:k,!e.ATHonly&&!e.ATHshort){v=t.en.s[y][x];if(v>0)_=E*t.thm.s[y][x]*h/v,0!=p&&(_*=s.nsPsy.shortfact[y]),S<_&&(S=_)}r[a++]=0!=p?S:S*s.nsPsy.shortfact[y]}e.useTemporal&&(r[a-3]>r[a-3+1]&&(r[a-3+1]+=(r[a-3]-r[a-3+1])*s.decay),r[a-3+1]>r[a-3+2]&&(r[a-3+2]+=(r[a-3+1]-r[a-3+2])*s.decay))}return l},this.calc_noise_core=function(e,t,n,r){var o=0,i=t.s,a=e.l3_enc;if(i>e.count1)while(0!=n--){l=e.xr[i],i++,o+=l*l,l=e.xr[i],i++,o+=l*l}else if(i>e.big_values){var s=c(2);s[0]=0,s[1]=r;while(0!=n--){l=Math.abs(e.xr[i])-s[a[i]],i++,o+=l*l,l=Math.abs(e.xr[i])-s[a[i]],i++,o+=l*l}}else while(0!=n--){var l;l=Math.abs(e.xr[i])-S[a[i]]*r,i++,o+=l*l,l=Math.abs(e.xr[i])-S[a[i]]*r,i++,o+=l*l}return t.s=i,o},this.calc_noise=function(e,t,n,r,i){var a,c,l=0,u=0,f=0,d=0,p=0,h=-20,m=0,_=e.scalefac,v=0;for(r.over_SSD=0,a=0;a>1,m+e.width[a]>e.max_nonzero_coeff)x=e.max_nonzero_coeff-m+1,c=x>0?x>>1:0;var S=new R(m);y=this.calc_noise_core(e,S,c,k),m=S.s,null!=i&&(i.step[a]=b,i.noise[a]=y),y=n[l++]=y/t[u++],y=s.FAST_LOG10(Math.max(y,1e-20)),null!=i&&(i.noise_log[a]=y)}if(null!=i&&(i.global_gain=e.global_gain),p+=y,y>0)g=Math.max(0|10*y+.5,1),r.over_SSD+=g*g,f++,d+=y;h=Math.max(h,y)}return r.over_count=f,r.tot_noise=p,r.over_noise=d,r.max_noise=h,f},this.set_pinfo=function(e,t,n,r,o){var i,a,s,l,d,p=e.internal_flags,h=0==t.scalefac_scale?.5:1,m=t.scalefac,_=c(L3Side.SFBMAX),v=c(L3Side.SFBMAX),g=new CalcNoiseResult;calc_xmin(e,n,t,_),calc_noise(t,_,v,g,null);var b=0;for(a=t.sfb_lmax,t.block_type!=f.SHORT_TYPE&&0==t.mixed_block_flag&&(a=22),i=0;i0&&!e.ATHonly?l/=n.en.l[i]:l=0,p.pinfo.thr[r][o][i]=d*Math.max(l*n.thm.l[i],p.ATH.l[i]),p.pinfo.LAMEsfb[r][o][i]=0,0!=t.preflag&&i>=11&&(p.pinfo.LAMEsfb[r][o][i]=-h*w[i]),i=0),p.pinfo.LAMEsfb[r][o][i]-=h*m[i])}if(t.block_type==f.SHORT_TYPE)for(a=i,i=t.sfb_smin;i0?l/=n.en.s[i][S]:l=0,(e.ATHonly||e.ATHshort)&&(l=0),p.pinfo.thr_s[r][o][3*i+S]=d*Math.max(l*n.thm.s[i][S],p.ATH.s[i]),p.pinfo.LAMEsfb_s[r][o][3*i+S]=-2*t.subblock_gain[S],i=0)return;a[t]="set-cookie"===t?(a[t]?a[t]:[]).concat([n]):a[t]?a[t]+", "+n:n}})),a):a}},c401:function(e,t,n){"use strict";var r=n("c532");e.exports=function(e,t,n){return r.forEach(n,(function(n){e=n(e,t)})),e}},c430:function(e,t){e.exports=!1},c532:function(e,t,n){"use strict";var r=n("1d2b"),o=Object.prototype.toString;function i(e){return"[object Array]"===o.call(e)}function a(e){return"undefined"===typeof e}function s(e){return null!==e&&!a(e)&&null!==e.constructor&&!a(e.constructor)&&"function"===typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)}function c(e){return"[object ArrayBuffer]"===o.call(e)}function l(e){return"undefined"!==typeof FormData&&e instanceof FormData}function u(e){var t;return t="undefined"!==typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(e):e&&e.buffer&&e.buffer instanceof ArrayBuffer,t}function f(e){return"string"===typeof e}function d(e){return"number"===typeof e}function p(e){return null!==e&&"object"===typeof e}function h(e){if("[object Object]"!==o.call(e))return!1;var t=Object.getPrototypeOf(e);return null===t||t===Object.prototype}function m(e){return"[object Date]"===o.call(e)}function _(e){return"[object File]"===o.call(e)}function v(e){return"[object Blob]"===o.call(e)}function g(e){return"[object Function]"===o.call(e)}function b(e){return p(e)&&g(e.pipe)}function y(e){return"undefined"!==typeof URLSearchParams&&e instanceof URLSearchParams}function w(e){return e.replace(/^\s*/,"").replace(/\s*$/,"")}function x(){return("undefined"===typeof navigator||"ReactNative"!==navigator.product&&"NativeScript"!==navigator.product&&"NS"!==navigator.product)&&("undefined"!==typeof window&&"undefined"!==typeof document)}function k(e,t){if(null!==e&&"undefined"!==typeof e)if("object"!==typeof e&&(e=[e]),i(e))for(var n=0,r=e.length;nc)r(s,n=t[c++])&&(~i(l,n)||l.push(n));return l}},cc12:function(e,t,n){var r=n("da84"),o=n("861d"),i=r.document,a=o(i)&&o(i.createElement);e.exports=function(e){return a?i.createElement(e):{}}},cca6:function(e,t,n){var r=n("23e7"),o=n("60da");r({target:"Object",stat:!0,forced:Object.assign!==o},{assign:o})},cdf9:function(e,t,n){var r=n("825a"),o=n("861d"),i=n("f069");e.exports=function(e,t){if(r(e),o(t)&&t.constructor===e)return t;var n=i.f(e),a=n.resolve;return a(t),n.promise}},ce4e:function(e,t,n){var r=n("da84"),o=n("9112");e.exports=function(e,t){try{o(r,e,t)}catch(n){r[e]=t}return t}},cee4:function(e,t,n){"use strict";var r=n("c532"),o=n("1d2b"),i=n("0a06"),a=n("4a7b"),s=n("2444");function c(e){var t=new i(e),n=o(i.prototype.request,t);return r.extend(n,i.prototype,t),r.extend(n,t),n}var l=c(s);l.Axios=i,l.create=function(e){return c(a(l.defaults,e))},l.Cancel=n("7a77"),l.CancelToken=n("8df4"),l.isCancel=n("2e67"),l.all=function(e){return Promise.all(e)},l.spread=n("0df6"),l.isAxiosError=n("5f02"),e.exports=l,e.exports.default=l},d012:function(e,t){e.exports={}},d039:function(e,t){e.exports=function(e){try{return!!e()}catch(t){return!0}}},d066:function(e,t,n){var r=n("428f"),o=n("da84"),i=function(e){return"function"==typeof e?e:void 0};e.exports=function(e,t){return arguments.length<2?i(r[e])||i(o[e]):r[e]&&r[e][t]||o[e]&&o[e][t]}},d1e7:function(e,t,n){"use strict";var r={}.propertyIsEnumerable,o=Object.getOwnPropertyDescriptor,i=o&&!r.call({1:2},1);t.f=i?function(e){var t=o(this,e);return!!t&&t.enumerable}:r},d28b:function(e,t,n){var r=n("746f");r("iterator")},d2bb:function(e,t,n){var r=n("825a"),o=n("3bbe");e.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var e,t=!1,n={};try{e=Object.getOwnPropertyDescriptor(Object.prototype,"__proto__").set,e.call(n,[]),t=n instanceof Array}catch(i){}return function(n,i){return r(n),o(i),t?e.call(n,i):n.__proto__=i,n}}():void 0)},d3b7:function(e,t,n){var r=n("00ee"),o=n("6eeb"),i=n("b041");r||o(Object.prototype,"toString",i,{unsafe:!0})},d44e:function(e,t,n){var r=n("9bf2").f,o=n("5135"),i=n("b622"),a=i("toStringTag");e.exports=function(e,t,n){e&&!o(e=n?e:e.prototype,a)&&r(e,a,{configurable:!0,value:t})}},d925:function(e,t,n){"use strict";e.exports=function(e){return/^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(e)}},d9be:function(e,t,n){var r=n("0206"),o=r.System,i=(r.VbrMode,r.Float,r.ShortBlock,r.Util,r.Arrays),a=(r.new_array_n,r.new_byte,r.new_double,r.new_float,r.new_float_n,r.new_int),s=(r.new_int_n,r.assert),c=n("4b5e"),l=n("5f84"),u=n("f3b5"),f=n("bb22");function d(){var e=null;function t(e){this.bits=0|e}this.qupvt=null,this.setModules=function(t){this.qupvt=t,e=t};var n=[[0,0],[0,0],[0,0],[0,0],[0,0],[0,1],[1,1],[1,1],[1,2],[2,2],[2,3],[2,3],[3,4],[3,4],[3,4],[4,5],[4,5],[4,6],[5,6],[5,6],[5,7],[6,7],[6,7]];function r(e,t,n,r,o,i){var a=.5946/t;s(e>0),e>>=1;while(0!=e--)o[i++]=a>n[r++]?0:1,o[i++]=a>n[r++]?0:1}function p(t,n,r,o,i,a){s(t>0),t>>=1;var c=t%2;t>>=1;while(0!=t--){var l,u,f,d,p,h,m,_;l=r[o++]*n,u=r[o++]*n,p=0|l,f=r[o++]*n,h=0|u,d=r[o++]*n,m=0|f,l+=e.adj43[p],_=0|d,u+=e.adj43[h],i[a++]=0|l,f+=e.adj43[m],i[a++]=0|u,d+=e.adj43[_],i[a++]=0|f,i[a++]=0|d}0!=c&&(l=r[o++]*n,u=r[o++]*n,p=0|l,h=0|u,l+=e.adj43[p],u+=e.adj43[h],i[a++]=0|l,i[a++]=0|u)}function h(t,n,o,a,l){var u,f,d,h=0,m=0,_=0,v=0,g=n,b=0,y=g,w=0,x=t,k=0;for(d=null!=l&&a.global_gain==l.global_gain,f=a.block_type==c.SHORT_TYPE?38:21,u=0;u<=f;u++){var S=-1;if((d||a.block_type==c.NORM_TYPE)&&(S=a.global_gain-(a.scalefac[u]+(0!=a.preflag?e.pretab[u]:0)<=0),d&&l.step[u]==S)0!=m&&(p(m,o,x,k,y,w),m=0),0!=_&&(r(_,o,x,k,y,w),_=0);else{var A,M=a.width[u];if(h+a.width[u]>a.max_nonzero_coeff)A=a.max_nonzero_coeff-h+1,i.fill(n,a.max_nonzero_coeff,576,0),M=A,M<0&&(M=0),u=f+1;if(0==m&&0==_&&(y=g,w=b,x=t,k=v),null!=l&&l.sfb_count1>0&&u>=l.sfb_count1&&l.step[u]>0&&S>=l.step[u]?(0!=m&&(p(m,o,x,k,y,w),m=0,y=g,w=b,x=t,k=v),_+=M):(0!=_&&(r(_,o,x,k,y,w),_=0,y=g,w=b,x=t,k=v),m+=M),M<=0){0!=_&&(r(_,o,x,k,y,w),_=0),0!=m&&(p(m,o,x,k,y,w),m=0);break}}u<=f&&(b+=a.width[u],v+=a.width[u],h+=a.width[u])}0!=m&&(p(m,o,x,k,y,w),m=0),0!=_&&(r(_,o,x,k,y,w),_=0)}function m(e,t,n){var r=0,o=0;do{var i=e[t++],a=e[t++];r14&&(u=15,c+=s),u*=16),0!=f&&(f>14&&(f=15,c+=s),u+=f),c+=l.largetbl[u]}while(t>=16,c>a&&(c=a,r=o),i.bits+=c,r}function v(e,t,n,r){var o=0,i=l.ht[1].hlen;do{var a=2*e[t+0]+e[t+1];t+=2,o+=i[a]}while(t>=16,s>i&&(s=i,r++),o.bits+=s,r}function b(e,t,n,r,o){var i=0,a=0,s=0,c=l.ht[r].xlen,u=l.ht[r].hlen,f=l.ht[r+1].hlen,d=l.ht[r+2].hlen;do{var p=e[t+0]*c+e[t+1];t+=2,i+=u[p],a+=f[p],s+=d[p]}while(ta&&(i=a,h++),i>s&&(i=s,h=r+2),o.bits+=i,h}var y=[1,2,5,7,7,10,10,13,13,13,13,13,13,13,13];function w(e,t,n,r){var o=m(e,t,n);switch(o){case 0:return o;case 1:return v(e,t,n,r);case 2:case 3:return g(e,t,n,y[o-1],r);case 4:case 5:case 6:case 7:case 8:case 9:case 10:case 11:case 12:case 13:case 14:case 15:return b(e,t,n,y[o-1],r);default:if(o>f.IXMAX_VAL)return r.bits=f.LARGE_BITS,-1;var i,a;for(o-=15,i=24;i<32;i++)if(l.ht[i].linmax>=o)break;for(a=i-8;a<24;a++)if(l.ht[a].linmax>=o)break;return _(e,t,n,a,i,r)}}function x(e,n,r,o,i,a,s){for(var c=n.big_values,l=0;l<=22;l++)o[l]=f.LARGE_BITS;for(l=0;l<16;l++){var u=e.scalefac_band.l[l+1];if(u>=c)break;var d=0,p=new t(d),h=w(r,0,u,p);d=p.bits;for(var m=0;m<8;m++){var _=e.scalefac_band.l[l+m+2];if(_>=c)break;var v=d;p=new t(v);var g=w(r,u,_,p);v=p.bits,o[l+m]>v&&(o[l+m]=v,i[l+m]=l,a[l+m]=h,s[l+m]=g)}}}function k(e,n,r,o,i,a,s,l){for(var u=n.big_values,f=2;f=u)break;var p=i[f-2]+n.count1bits;if(r.part2_3_length<=p)break;var h=new t(p),m=w(o,d,u,h);p=h.bits,r.part2_3_length<=p||(r.assign(n),r.part2_3_length=p,r.region0_count=a[f-2],r.region1_count=f-2-a[f-2],r.table_select[0]=s[f-2],r.table_select[1]=l[f-2],r.table_select[2]=m)}}this.noquant_count_bits=function(e,n,r){var o=n.l3_enc,i=Math.min(576,n.max_nonzero_coeff+2>>1<<1);for(null!=r&&(r.sfb_count1=0);i>1;i-=2)if(0!=(o[i-1]|o[i-2]))break;n.count1=i;for(var a=0,u=0;i>3;i-=4){var f;if((2147483647&(o[i-1]|o[i-2]|o[i-3]|o[i-4]))>1)break;f=2*(2*(2*o[i-4]+o[i-3])+o[i-2])+o[i-1],a+=l.t32l[f],u+=l.t33l[f]}var d=a;if(n.count1table_select=0,a>u&&(d=u,n.count1table_select=1),n.count1bits=d,n.big_values=i,0==i)return d;if(n.block_type==c.SHORT_TYPE)a=3*e.scalefac_band.s[3],a>n.big_values&&(a=n.big_values),u=n.big_values;else if(n.block_type==c.NORM_TYPE){if(s(i<=576),a=n.region0_count=e.bv_scf[i-2],u=n.region1_count=e.bv_scf[i-1],s(a+u+2u&&(a=u);if(a=Math.min(a,i),u=Math.min(u,i),s(a>=0),s(u>=0),0a)return f.LARGE_BITS;if(h(n,i,e.IPOW20(r.global_gain),r,o),0!=(2&t.substep_shaping))for(var c=0,l=r.global_gain+r.scalefac_scale,u=.634521682242439/e.IPOW20(l),d=0;d=0),0==t.pseudohalf[d])c+=m;else for(p=c,c+=m;p=u?i[p]:0}return this.noquant_count_bits(t,r,o)},this.best_huffman_divide=function(e,n){var r=new u,o=n.l3_enc,i=a(23),f=a(23),d=a(23),p=a(23);if(n.block_type!=c.SHORT_TYPE||1!=e.mode_gr){r.assign(n),n.block_type==c.NORM_TYPE&&(x(e,n,o,i,f,d,p),k(e,r,n,o,i,f,d,p));var h=r.big_values;if(!(0==h||(o[h-2]|o[h-1])>1)&&(h=n.count1+2,!(h>576))){r.assign(n),r.count1=h;var m=0,_=0;for(s(h<=576);h>r.big_values;h-=4){var v=2*(2*(2*o[h-4]+o[h-3])+o[h-2])+o[h-1];m+=l.t32l[v],_+=l.t33l[v]}if(r.big_values=h,r.count1table_select=0,m>_&&(m=_,r.count1table_select=1),r.count1bits=m,r.block_type==c.NORM_TYPE)k(e,r,n,o,i,f,d,p);else{if(r.part2_3_length=m,m=e.scalefac_band.l[8],m>h&&(m=h),m>0){var g=new t(r.part2_3_length);r.table_select[0]=w(o,0,m,g),r.part2_3_length=g.bits}if(h>m){g=new t(r.part2_3_length);r.table_select[1]=w(o,m,h,g),r.part2_3_length=g.bits}n.part2_3_length>r.part2_3_length&&n.assign(r)}}}};var S=[1,1,1,1,8,2,2,2,4,4,4,8,8,8,16,16],A=[1,2,4,8,1,2,4,8,2,4,8,2,4,8,4,8],M=[0,0,0,0,3,1,1,1,2,2,2,3,3,3,4,4],E=[0,1,2,3,0,1,2,3,1,2,3,1,2,3,2,3];function R(e,t){for(var n,r=t.tt[1][e],o=t.tt[0][e],i=0;i=0)break;if(n==l.scfsi_band[i+1]){for(n=l.scfsi_band[i];nd&&(r.part2_length=d,r.scalefac_compress=i)}}function O(e,t){for(var n=0;n=0),l+=p,u=-p;u<0;u++)if(0!=f.l3_enc[u+l])break;0==u&&(f.scalefac[i]=d=-2)}if(0==f.scalefac_scale&&0==f.preflag){var h=0;for(i=0;i0&&(h|=f.scalefac[i]);if(0==(1&h)&&0!=h){for(i=0;i0&&(f.scalefac[i]>>=1);f.scalefac_scale=d=1}}if(0==f.preflag&&f.block_type!=c.SHORT_TYPE&&2==t.mode_gr){for(i=11;i0&&(f.scalefac[i]-=e.pretab[i]);f.preflag=d=1}}for(a=0;a<4;a++)o.scfsi[r][a]=0;for(2==t.mode_gr&&1==n&&o.tt[0][r].block_type!=c.SHORT_TYPE&&o.tt[1][r].block_type!=c.SHORT_TYPE&&(R(r,o),d=0),i=0;io[n]&&(t.part2_length=o[n],t.scalefac_compress=n);return t.part2_length==f.LARGE_BITS};var P=[[15,15,7,7],[15,15,7,0],[7,3,0,0],[15,31,31,0],[7,7,7,0],[3,3,0,0]];this.scale_bitcount_lsf=function(t,n){var r,i,l,u,f,d,p,h,m=a(4),_=n.scalefac;for(r=0!=n.preflag?2:0,p=0;p<4;p++)m[p]=0;if(n.block_type==c.SHORT_TYPE){i=1;var v=e.nr_of_sfb_block[r][i];for(h=0,l=0;l<4;l++)for(u=v[l]/3,p=0;pm[l]&&(m[l]=_[3*h+f])}else{i=0;v=e.nr_of_sfb_block[r][i];for(h=0,l=0;l<4;l++)for(u=v[l],p=0;pm[l]&&(m[l]=_[h])}for(d=!1,l=0;l<4;l++)m[l]>P[r][l]&&(d=!0);if(!d){var g,b,y,w;for(n.sfb_partition_table=e.nr_of_sfb_block[r][i],l=0;l<4;l++)n.slen[l]=j[m[l]];switch(g=n.slen[0],b=n.slen[1],y=n.slen[2],w=n.slen[3],r){case 0:n.scalefac_compress=(5*g+b<<4)+(y<<2)+w;break;case 1:n.scalefac_compress=400+(5*g+b<<2)+y;break;case 2:n.scalefac_compress=500+3*g+b;break;default:o.err.printf("intensity stereo not implemented yet\n");break}}if(!d)for(s(null!=n.sfb_partition_table),n.part2_length=0,l=0;l<4;l++)n.part2_length+=n.slen[l]*n.sfb_partition_table[l];return d};var j=[0,1,2,2,3,3,3,3,4,4,4,4,4,4,4,4];this.huffman_init=function(e){for(var t=2;t<=576;t+=2){var r,o=0;while(e.scalefac_band.l[++o]t)r--;r<0&&(r=n[o][0]),e.bv_scf[t-2]=r,r=n[o][1];while(e.scalefac_band.l[r+e.bv_scf[t-2]+2]>t)r--;r<0&&(r=n[o][1]),e.bv_scf[t-1]=r}}}e.exports=d},da84:function(e,t,n){(function(t){var n=function(e){return e&&e.Math==Math&&e};e.exports=n("object"==typeof globalThis&&globalThis)||n("object"==typeof window&&window)||n("object"==typeof self&&self)||n("object"==typeof t&&t)||function(){return this}()||Function("return this")()}).call(this,n("c8ba"))},db3f:function(e,t,n){var r=n("0206"),o=(r.System,r.VbrMode,r.Float,r.ShortBlock,r.Util,r.Arrays,r.new_array_n,r.new_byte),i=(r.new_double,r.new_float,r.new_float_n,r.new_int,r.new_int_n,r.assert);Lame=n("dead"),Presets=n("3967"),GainAnalysis=n("2f21"),QuantizePVT=n("bb22"),Quantize=n("dbb1"),Takehiro=n("d9be"),Reservoir=n("58b1"),MPEGMode=n("67b2"),BitStream=n("69b2");n("4b5e");var a=n("8cba"),s=n("e107");function c(){this.setModules=function(e,t){e,t}}function l(){this.setModules=function(e,t,n){e,t,n}}function u(){}function f(){this.setModules=function(e,t){e,t}}function d(e,t,n){3!=arguments.length&&(console.error("WARN: Mp3Encoder(channels, samplerate, kbps) not specified"),e=1,t=44100,n=128);var r=new Lame,d=new c,p=new GainAnalysis,h=new BitStream,m=new Presets,_=new QuantizePVT,v=new Quantize,g=new s,b=new a,y=new f,w=new Reservoir,x=new Takehiro,k=new l,S=new u;r.setModules(p,h,m,_,v,g,b,y,S),h.setModules(p,S,b,g),y.setModules(h,b),m.setModules(r),v.setModules(h,w,_,x),_.setModules(x,w,r.enc.psy),w.setModules(h),x.setModules(_),g.setModules(r,h,b),d.setModules(k,S),k.setModules(b,y,m);var A=r.lame_init();A.num_channels=e,A.in_samplerate=t,A.brate=n,A.mode=MPEGMode.STEREO,A.quality=3,A.bWriteVbrTag=!1,A.disable_reservoir=!0,A.write_id3tag_automatic=!1;var M=r.lame_init_params(A);i(0==M);var E=1152,R=0|1.25*E+7200,O=o(R);this.encodeBuffer=function(t,n){1==e&&(n=t),i(t.length==n.length),t.length>E&&(E=t.length,R=0|1.25*E+7200,O=o(R));var a=r.lame_encode_buffer(A,t,n,t.length,O,0,R);return new Int8Array(O.subarray(0,a))},this.flush=function(){var e=r.lame_encode_flush(A,O,0,R);return new Int8Array(O.subarray(0,e))}}function p(){this.dataOffset=0,this.dataLen=0,this.channels=0,this.sampleRate=0}function h(e){return e.charCodeAt(0)<<24|e.charCodeAt(1)<<16|e.charCodeAt(2)<<8|e.charCodeAt(3)}p.RIFF=h("RIFF"),p.WAVE=h("WAVE"),p.fmt_=h("fmt "),p.data=h("data"),p.readHeader=function(e){var t=new p,n=e.getUint32(0,!1);if(p.RIFF==n){e.getUint32(4,!0);if(p.WAVE==e.getUint32(8,!1)&&p.fmt_==e.getUint32(12,!1)){var r=e.getUint32(16,!0),o=20;switch(r){case 16:case 18:t.channels=e.getUint16(o+2,!0),t.sampleRate=e.getUint32(o+4,!0);break;default:throw"extended fmt chunk not implemented"}o+=r;var i=p.data,a=0;while(i!=n){if(n=e.getUint32(o,!1),a=e.getUint32(o+4,!0),i==n)break;o+=a+8}return t.dataLen=a,t.dataOffset=o+8,t}}},e.exports.Mp3Encoder=d,e.exports.WavHeader=p},dbb1:function(e,t,n){var r=n("0206"),o=r.System,i=r.VbrMode,a=(r.Float,r.ShortBlock,r.Util),s=r.Arrays,c=(r.new_array_n,r.new_byte,r.new_double,r.new_float),l=(r.new_float_n,r.new_int,r.new_int_n,r.assert),u=n("a26a"),f=n("7276"),d=n("09e6"),p=n("4b5e"),h=n("f3b5"),m=n("9828");function _(){var e,t,n;this.rv=null,this.qupvt=null;var r,_=new u;function v(e,t,n,r){r=0;for(var o=0;o<=n;++o){var i=Math.abs(e.xr[o]);r+=i,t[o]=Math.sqrt(i*Math.sqrt(i)),t[o]>e.xrpow_max&&(e.xrpow_max=t[o])}return r}function g(e,t){var r=e.ATH,o=t.xr;if(t.block_type!=p.SHORT_TYPE)for(var i=!1,a=p.PSFB21-1;a>=0&&!i;a--){var s=e.scalefac_band.psfb21[a],c=e.scalefac_band.psfb21[a+1],l=n.athAdjust(r.adjust,r.psfb21[a],r.floor);e.nsPsy.longfact[21]>1e-12&&(l*=e.nsPsy.longfact[21]);for(var u=c-1;u>=s;u--){if(!(Math.abs(o[u])=0&&!i;a--){s=3*e.scalefac_band.s[12]+(e.scalefac_band.s[13]-e.scalefac_band.s[12])*f+(e.scalefac_band.psfb12[a]-e.scalefac_band.psfb12[0]),c=s+(e.scalefac_band.psfb12[a+1]-e.scalefac_band.psfb12[a]);var d=n.athAdjust(r.adjust,r.psfb12[a],r.floor);e.nsPsy.shortfact[12]>1e-12&&(d*=e.nsPsy.shortfact[12]);for(u=c-1;u>=s;u--){if(!(Math.abs(o[u])n?(f==b.BINSEARCH_DOWN&&(c=!0),c&&(s/=2),f=b.BINSEARCH_UP,d=s):(f==b.BINSEARCH_UP&&(c=!0),c&&(s/=2),f=b.BINSEARCH_DOWN,d=-s),t.global_gain+=d,t.global_gain<0&&(t.global_gain=0,c=!0),t.global_gain>255&&(t.global_gain=255,c=!0)}l(t.global_gain>=0),l(t.global_gain<256);while(a>n&&t.global_gain<255)t.global_gain++,a=r.count_bits(e,i,t,null);return e.CurrentStep[o]=u-t.global_gain>=4?4:2,e.OldValue[o]=t.global_gain,t.part2_3_length=a,a}function w(e){for(var t=0;t0?(i=n.over_SSD<=t.over_SSD,n.over_SSD==t.over_SSD&&(i=n.bits.2||n.max_noise<=0&&t.max_noise<0&&t.max_noise>n.max_noise-.2&&n.tot_noise0&&t.max_noise>n.max_noise-.2&&n.tot_noise0&&t.max_noise>-.05&&t.max_noise>n.max_noise-.1&&n.tot_noise+n.over_noise0&&t.max_noise>-.1&&t.max_noise>n.max_noise-.15&&n.tot_noise+n.over_noise+n.over_noise1?s=Math.pow(s,.5):s*=.95;break;case 0:default:s>1?s=1:s*=.95;break}var u=0;for(c=0;ct.xrpow_max&&(t.xrpow_max=r[u+f]);if(2==a.noise_shaping_amp)return}}}function M(e,t){for(var r=1.2968395546510096,o=0,i=0;ie.xrpow_max&&(e.xrpow_max=t[o+c])}e.scalefac[i]=s>>1}e.preflag=0,e.scalefac_scale=1}function E(e,t,r){var o,i=t.scalefac;for(o=0;o=16)return!0;for(var a=0;a<3;a++){var s=0,c=0;for(o=t.sfb_lmax+a;o=7)return!0;t.subblock_gain[a]++;var u=e.scalefac_band.l[t.sfb_lmax];for(o=t.sfb_lmax+a;o=0),d-=4>>t.scalefac_scale,d>=0)i[o]=d,u+=3*f;else{i[o]=0;var p=210+(d<t.xrpow_max&&(t.xrpow_max=r[u+h]);u+=f*(3-a-1)}}var m=n.IPOW20(202);u+=t.width[o]*(a+1);for(h=-t.width[o];h<0;h++)r[u+h]*=m,r[u+h]>t.xrpow_max&&(t.xrpow_max=r[u+h])}}return!1}function R(e,t,n,o,i){var a=e.internal_flags;A(e,t,n,o,i);var c=w(t);return!c&&(c=2==a.mode_gr?r.scale_bitcount(t):r.scale_bitcount_lsf(a,t),!c||(a.noise_shaping>1&&(s.fill(a.pseudohalf,0),0==t.scalefac_scale?(M(t,o),c=!1):t.block_type==p.SHORT_TYPE&&a.subblock_gain>0&&(c=E(a,t,o)||w(t))),c||(c=2==a.mode_gr?r.scale_bitcount(t):r.scale_bitcount_lsf(a,t)),!c))}this.setModules=function(o,i,a,s){e=o,t=i,this.rv=i,n=a,this.qupvt=a,r=s,_.setModules(n,r)},this.ms_convert=function(e,t){for(var n=0;n<576;++n){var r=e.tt[t][0].xr[n],o=e.tt[t][1].xr[n];e.tt[t][0].xr[n]=(r+o)*(.5*a.SQRT2),e.tt[t][1].xr[n]=(r-o)*(.5*a.SQRT2)}},this.init_xrpow=function(e,t,n){var r=0,o=0|t.max_nonzero_coeff;if(l(null!=n),t.xrpow_max=0,l(0<=o&&o<=575),s.fill(n,o,576,0),r=v(t,n,o,r),r>1e-20){var i=0;0!=(2&e.substep_shaping)&&(i=1);for(var a=0;a=1)&&(s.sort(i,l-b,b),!BitStream.EQ(i[l-1],0))){h=(1-a[d])*o[d],_=0,g=0;do{var y;for(v=1;g+v0)}}while(++d1)break;if(b.block_type==p.SHORT_TYPE&&(x[b.sfbmax+1]>1||x[b.sfbmax+2]>1))break}if(!R(e,b,x,s,O))break;0!=b.scalefac_scale&&(j=254);var I=_-b.part2_length;if(I<=0)break;while((b.part2_3_length=r.count_bits(g,s,b,A))>I&&b.global_gain<=j)b.global_gain++;if(b.global_gain>j)break;if(0==k.over_count){while((b.part2_3_length=r.count_bits(g,s,b,A))>M&&b.global_gain<=j)b.global_gain++;if(b.global_gain>j)break}if(n.calc_noise(b,a,x,P,A),P.bits=b.part2_3_length,v=t.block_type!=p.SHORT_TYPE?e.quant_comp:e.quant_comp_short,v=S(v,k,P,b,x)?1:0,0!=v)M=t.part2_3_length,k=P,t.assign(b),C=0,o.arraycopy(s,0,w,0,576);else if(0==g.full_outer_loop){if(++C>L&&0==k.over_count)break;if(3==g.noise_shaping_amp&&O&&C>30)break;if(3==g.noise_shaping_amp&&O&&b.global_gain-T>15)break}}while(b.global_gain+b.scalefac_scale<255);3==g.noise_shaping_amp?O?E=!0:(b.assign(t),o.arraycopy(w,0,s,0,576),C=0,T=b.global_gain,O=!0):E=!0}return l(t.global_gain+t.scalefac_scale<=255),e.VBR==i.vbr_rh||e.VBR==i.vbr_mtrh?o.arraycopy(w,0,s,0,576):0!=(1&g.substep_shaping)&&trancate_smallspectrums(g,t,a,s),k.over_count},this.iteration_finish_one=function(e,n,o){var i=e.l3_side,a=i.tt[n][o];r.best_scalefac_store(e,n,o,i),1==e.use_best_huffman&&r.best_huffman_divide(e,a),t.ResvAdjust(e,a)},this.VBR_encode_granule=function(e,t,n,r,i,a,u){var f,d,p=e.internal_flags,m=new h,_=c(576),v=u,g=u+1,b=(u+a)/2,y=0,w=p.sfb21_extra;l(v<=LameInternalFlags.MAX_BITS_PER_CHANNEL),s.fill(m.l3_enc,0);do{l(b>=a),l(b<=u),l(a<=u),p.sfb21_extra=!(b>v-42)&&w,d=outer_loop(e,t,n,r,i,b),d<=0?(y=1,g=t.part2_3_length,m.assign(t),o.arraycopy(r,0,_,0,576),u=g-32,f=u-a,b=(u+a)/2):(a=b+32,f=u-a,b=(u+a)/2,0!=y&&(y=2,t.assign(m),o.arraycopy(_,0,r,0,576)))}while(f>12);p.sfb21_extra=w,2==y&&o.arraycopy(m.l3_enc,0,t.l3_enc,0,576),l(t.part2_3_length<=v)},this.get_framebits=function(n,r){var o=n.internal_flags;o.bitrate_index=o.VBR_min_bitrate;var i=e.getframebits(n);o.bitrate_index=1,i=e.getframebits(n);for(var a=1;a<=o.VBR_max_bitrate;a++){o.bitrate_index=a;var s=new MeanBits(i);r[a]=t.ResvFrameBegin(n,s),i=s.bits}},this.VBR_old_prepare=function(e,r,o,i,a,s,c,l,u){var f,d=e.internal_flags,h=0,m=1,_=0;d.bitrate_index=d.VBR_max_bitrate;var v=t.ResvFrameBegin(e,new MeanBits(0))/d.mode_gr;get_framebits(e,s);for(var g=0;gs[d.VBR_max_bitrate]&&(l[g][y]*=s[d.VBR_max_bitrate],l[g][y]/=_),c[g][y]>l[g][y]&&(c[g][y]=l[g][y]);return m},this.bitpressure_strategy=function(e,t,n,r){for(var o=0;oc&&(s[m][_]*=c,s[m][_]/=d);return u},this.calc_target_bits=function(r,o,i,a,s,c){var l,u,f,d,h=r.internal_flags,m=h.l3_side,_=0;h.bitrate_index=h.VBR_max_bitrate;var v=new MeanBits(_);for(c[0]=t.ResvFrameBegin(r,v),_=v.bits,h.bitrate_index=1,_=e.getframebits(r)-8*h.sideinfo_len,s[0]=_/(h.mode_gr*h.channels_out),_=r.VBR_mean_bitrate_kbps*r.framesize*1e3,0!=(1&h.substep_shaping)&&(_*=1.09),_/=r.out_samplerate,_-=8*h.sideinfo_len,_/=h.mode_gr*h.channels_out,l=.93+.07*(11-r.compression_ratio)/5.5,l<.9&&(l=.9),l>1&&(l=1),u=0;u700){var b=int((o[u][f]-700)/1.4),y=m.tt[u][f];a[u][f]=int(l*_),y.block_type==p.SHORT_TYPE&&b<_/2&&(b=_/2),b>3*_/2?b=3*_/2:b<0&&(b=0),a[u][f]+=b}a[u][f]>LameInternalFlags.MAX_BITS_PER_CHANNEL&&(a[u][f]=LameInternalFlags.MAX_BITS_PER_CHANNEL),g+=a[u][f]}if(g>LameInternalFlags.MAX_BITS_PER_GRANULE)for(f=0;fLameInternalFlags.MAX_BITS_PER_CHANNEL&&(a[u][f]=LameInternalFlags.MAX_BITS_PER_CHANNEL),d+=a[u][f];if(d>c[0])for(u=0;u1?0:e<=0?1:Math.cos(Math.PI/2*e)}function I(e,t){var n=44100;return t>=48e3?n=48e3:t>=44100?n=44100:t>=32e3?n=32e3:t>=24e3?n=24e3:t>=22050?n=22050:t>=16e3?n=16e3:t>=12e3?n=12e3:t>=11025?n=11025:t>=8e3&&(n=8e3),-1==e?n:(e<=15960&&(n=44100),e<=15250&&(n=32e3),e<=11220&&(n=24e3),e<=9970&&(n=22050),e<=7230&&(n=16e3),e<=5420&&(n=12e3),e<=4510&&(n=11025),e<=3970&&(n=8e3),t44100?48e3:t>32e3?44100:t>24e3?32e3:t>22050?24e3:t>16e3?22050:t>12e3?16e3:t>11025?12e3:t>8e3?11025:8e3:n)}function B(e,t){switch(e){case 44100:return t.version=1,0;case 48e3:return t.version=1,1;case 32e3:return t.version=1,2;case 22050:return t.version=0,0;case 24e3:return t.version=0,1;case 16e3:return t.version=0,2;case 11025:return t.version=0,0;case 12e3:return t.version=0,1;case 8e3:return t.version=0,2;default:return t.version=0,-1}}function N(e,t,n){n<16e3&&(t=2);for(var r=g.bitrate_table[t][1],o=2;o<=14;o++)g.bitrate_table[t][o]>0&&Math.abs(g.bitrate_table[t][o]-e)0&&g.bitrate_table[t][r]==e)return r;return-1}function H(t,n){var r=[new C(8,2e3),new C(16,3700),new C(24,3900),new C(32,5500),new C(40,7e3),new C(48,7500),new C(56,1e4),new C(64,11e3),new C(80,13500),new C(96,15100),new C(112,15600),new C(128,17e3),new C(160,17500),new C(192,18600),new C(224,19400),new C(256,19700),new C(320,20500)],o=e.nearestBitrateFullIndex(n);t.lowerlimit=r[o].lowpass}function D(e){var t=e.internal_flags,n=32,r=-1;if(t.lowpass1>0){for(var i=999,a=0;a<=31;a++){var s=a/31;s>=t.lowpass2&&(n=Math.min(n,a)),t.lowpass10&&t.highpass2<.75/31*.9&&(t.highpass1=0,t.highpass2=0,o.err.println("Warning: highpass filter disabled. highpass frequency too small\n")),t.highpass2>0){var c=-1;for(a=0;a<=31;a++){s=a/31;s<=t.highpass1&&(r=Math.max(r,a)),t.highpass1t.highpass1?j((t.highpass2-s)/(t.highpass2-t.highpass1+1e-20)):1,u=t.lowpass2>t.lowpass1?j((s-t.lowpass1)/(t.lowpass2-t.lowpass1+1e-20)):1,t.amp_filter[a]=l*u}}function V(e){var t=e.internal_flags;switch(e.quality){default:case 9:t.psymodel=0,t.noise_shaping=0,t.noise_shaping_amp=0,t.noise_shaping_stop=0,t.use_best_huffman=0,t.full_outer_loop=0;break;case 8:e.quality=7;case 7:t.psymodel=1,t.noise_shaping=0,t.noise_shaping_amp=0,t.noise_shaping_stop=0,t.use_best_huffman=0,t.full_outer_loop=0;break;case 6:t.psymodel=1,0==t.noise_shaping&&(t.noise_shaping=1),t.noise_shaping_amp=0,t.noise_shaping_stop=0,-1==t.subblock_gain&&(t.subblock_gain=1),t.use_best_huffman=0,t.full_outer_loop=0;break;case 5:t.psymodel=1,0==t.noise_shaping&&(t.noise_shaping=1),t.noise_shaping_amp=0,t.noise_shaping_stop=0,-1==t.subblock_gain&&(t.subblock_gain=1),t.use_best_huffman=0,t.full_outer_loop=0;break;case 4:t.psymodel=1,0==t.noise_shaping&&(t.noise_shaping=1),t.noise_shaping_amp=0,t.noise_shaping_stop=0,-1==t.subblock_gain&&(t.subblock_gain=1),t.use_best_huffman=1,t.full_outer_loop=0;break;case 3:t.psymodel=1,0==t.noise_shaping&&(t.noise_shaping=1),t.noise_shaping_amp=1,t.noise_shaping_stop=1,-1==t.subblock_gain&&(t.subblock_gain=1),t.use_best_huffman=1,t.full_outer_loop=0;break;case 2:t.psymodel=1,0==t.noise_shaping&&(t.noise_shaping=1),0==t.substep_shaping&&(t.substep_shaping=2),t.noise_shaping_amp=1,t.noise_shaping_stop=1,-1==t.subblock_gain&&(t.subblock_gain=1),t.use_best_huffman=1,t.full_outer_loop=0;break;case 1:t.psymodel=1,0==t.noise_shaping&&(t.noise_shaping=1),0==t.substep_shaping&&(t.substep_shaping=2),t.noise_shaping_amp=2,t.noise_shaping_stop=1,-1==t.subblock_gain&&(t.subblock_gain=1),t.use_best_huffman=1,t.full_outer_loop=0;break;case 0:t.psymodel=1,0==t.noise_shaping&&(t.noise_shaping=1),0==t.substep_shaping&&(t.substep_shaping=2),t.noise_shaping_amp=2,t.noise_shaping_stop=1,-1==t.subblock_gain&&(t.subblock_gain=1),t.use_best_huffman=1,t.full_outer_loop=0;break}}function $(e){var t=e.internal_flags;e.frameNum=0,e.write_id3tag_automatic&&M.id3tag_write_v2(e),t.bitrate_stereoMode_Hist=c([16,5]),t.bitrate_blockType_Hist=c([16,6]),t.PeakSample=0,e.bWriteVbrTag&&A.InitVbrTag(e)}function U(e,t){(null==e.in_buffer_0||e.in_buffer_nsamples=t),t}function z(e,t,o,i,a,s,c){var l,f,d,h,m,_=e.internal_flags,g=0,y=[null,null],w=[null,null];if(_.Class_ID!=L)return-3;if(0==i)return 0;if(m=r.copy_buffer(_,a,s,c,0),m<0)return m;if(s+=m,g+=m,w[0]=t,w[1]=o,v.NEQ(e.scale,0)&&v.NEQ(e.scale,1))for(f=0;f0){var k=[null,null],S=0,A=0;k[0]=w[0],k[1]=w[1];var M=new X;if(Q(e,y,k,x,i,M),S=M.n_in,A=M.n_out,_.findReplayGain&&!_.decode_on_the_fly&&n.AnalyzeSamples(_.rgdata,y[0],_.mf_size,y[1],_.mf_size,A,_.channels_out)==GainAnalysis.GAIN_ANALYSIS_ERROR)return-6;if(i-=S,x+=S,_.channels_out,_.mf_size+=A,u(_.mf_size<=p.MFSIZE),_.mf_samples_to_encode<1&&(_.mf_samples_to_encode=b.ENCDELAY+b.POSTDELAY),_.mf_samples_to_encode+=A,_.mf_size>=h){var E=c-g;if(0==c&&(E=0),l=Y(e,y[0],y[1],a,s,E),l<0)return l;for(s+=l,g+=l,_.mf_size-=e.framesize,_.mf_samples_to_encode-=e.framesize,d=0;d<_.channels_out;d++)for(f=0;f<_.mf_size;f++)y[d][f]=y[d][f+e.framesize]}}return u(0==i),g}function Y(t,n,r,o,i,a){var s=e.enc.lame_encode_mp3_frame(t,n,r,o,i,a);return t.frameNum++,s}function X(){this.n_in=0,this.n_out=0}function G(){this.num_used=0}function K(e,t){return 0!=t?K(t,e%t):e}function W(e,t,n){var r=Math.PI*t;e/=n,e<0&&(e=0),e>1&&(e=1);var o=e-.5,i=.42-.5*Math.cos(2*e*Math.PI)+.08*Math.cos(4*e*Math.PI);return Math.abs(o)<1e-9?r/Math.PI:i*Math.sin(n*r*o)/(Math.PI*n*o)}function Z(e,t,n,r,o,i,a,c,l){var f,d,h=e.internal_flags,m=0,_=e.out_samplerate/K(e.out_samplerate,e.in_samplerate);_>p.BPC&&(_=p.BPC);var v=Math.abs(h.resample_ratio-Math.floor(.5+h.resample_ratio))<1e-4?1:0,g=1/h.resample_ratio;g>1&&(g=1);var b=31;0==b%2&&--b,b+=v;var y=b+1;if(0==h.fill_buffer_resample_init){for(h.inbuf_old[0]=s(y),h.inbuf_old[1]=s(y),f=0;f<=2*_;++f)h.blackfilt[f]=s(y);for(h.itime[0]=0,h.itime[1]=0,m=0;m<=2*_;m++){var w=0,x=(m-_)/(2*_);for(f=0;f<=b;f++)w+=h.blackfilt[m][f]=W(f-x,g,b);for(f=0;f<=b;f++)h.blackfilt[m][f]/=w}h.fill_buffer_resample_init=1}var k=h.inbuf_old[l];for(d=0;d=a)break;x=S-h.itime[l]-(m+b%2*.5);u(Math.abs(x)<=.501),A=0|Math.floor(2*x*_+_+.5);var M=0;for(f=0;f<=b;++f){var E,R=f+m-b/2;u(R=0),E=R<0?k[y+R]:o[i+R],M+=E*h.blackfilt[A][f]}t[n+d]=M}if(c.num_used=Math.min(a,b+m-b/2),h.itime[l]+=c.num_used-d*h.resample_ratio,c.num_used>=y)for(f=0;f1.0001)for(var s=0;se-r?n:o},this.lame_init_params=function(e){var t=e.internal_flags;if(t.Class_ID=0,null==t.ATH&&(t.ATH=new h),null==t.PSY&&(t.PSY=new O),null==t.rgdata&&(t.rgdata=new m),t.channels_in=e.num_channels,1==t.channels_in&&(e.mode=MPEGMode.MONO),t.channels_out=e.mode==MPEGMode.MONO?1:2,t.mode_ext=b.MPG_MD_MS_LR,e.mode==MPEGMode.MONO&&(e.force_ms=!1),e.VBR==i.vbr_off&&128!=e.VBR_mean_bitrate_kbps&&0==e.brate&&(e.brate=e.VBR_mean_bitrate_kbps),e.VBR==i.vbr_off||e.VBR==i.vbr_mtrh||e.VBR==i.vbr_mt||(e.free_format=!1),e.VBR==i.vbr_off&&0==e.brate&&v.EQ(e.compression_ratio,0)&&(e.compression_ratio=11.025),e.VBR==i.vbr_off&&e.compression_ratio>0&&(0==e.out_samplerate&&(e.out_samplerate=map2MP3Frequency(int(.97*e.in_samplerate))),e.brate=0|16*e.out_samplerate*t.channels_out/(1e3*e.compression_ratio),t.samplerate_index=B(e.out_samplerate,e),e.free_format||(e.brate=N(e.brate,e.version,e.out_samplerate))),0!=e.out_samplerate&&(e.out_samplerate<16e3?(e.VBR_mean_bitrate_kbps=Math.max(e.VBR_mean_bitrate_kbps,8),e.VBR_mean_bitrate_kbps=Math.min(e.VBR_mean_bitrate_kbps,64)):e.out_samplerate<32e3?(e.VBR_mean_bitrate_kbps=Math.max(e.VBR_mean_bitrate_kbps,8),e.VBR_mean_bitrate_kbps=Math.min(e.VBR_mean_bitrate_kbps,160)):(e.VBR_mean_bitrate_kbps=Math.max(e.VBR_mean_bitrate_kbps,32),e.VBR_mean_bitrate_kbps=Math.min(e.VBR_mean_bitrate_kbps,320))),0==e.lowpassfreq){var o=16e3;switch(e.VBR){case i.vbr_off:var s=new T;H(s,e.brate),o=s.lowerlimit;break;case i.vbr_abr:s=new T;H(s,e.VBR_mean_bitrate_kbps),o=s.lowerlimit;break;case i.vbr_rh:var c=[19500,19e3,18600,18e3,17500,16e3,15600,14900,12500,1e4,3950];if(0<=e.VBR_q&&e.VBR_q<=9){var l=c[e.VBR_q],d=c[e.VBR_q+1],p=e.VBR_q_frac;o=linear_int(l,d,p)}else o=19500;break;default:c=[19500,19e3,18500,18e3,17500,16500,15500,14500,12500,9500,3950];if(0<=e.VBR_q&&e.VBR_q<=9){l=c[e.VBR_q],d=c[e.VBR_q+1],p=e.VBR_q_frac;o=linear_int(l,d,p)}else o=19500}e.mode!=MPEGMode.MONO||e.VBR!=i.vbr_off&&e.VBR!=i.vbr_abr||(o*=1.5),e.lowpassfreq=0|o}if(0==e.out_samplerate&&(2*e.lowpassfreq>e.in_samplerate&&(e.lowpassfreq=e.in_samplerate/2),e.out_samplerate=I(0|e.lowpassfreq,e.in_samplerate)),e.lowpassfreq=Math.min(20500,e.lowpassfreq),e.lowpassfreq=Math.min(e.out_samplerate/2,e.lowpassfreq),e.VBR==i.vbr_off&&(e.compression_ratio=16*e.out_samplerate*t.channels_out/(1e3*e.brate)),e.VBR==i.vbr_abr&&(e.compression_ratio=16*e.out_samplerate*t.channels_out/(1e3*e.VBR_mean_bitrate_kbps)),e.bWriteVbrTag||(e.findReplayGain=!1,e.decode_on_the_fly=!1,t.findPeakSample=!1),t.findReplayGain=e.findReplayGain,t.decode_on_the_fly=e.decode_on_the_fly,t.decode_on_the_fly&&(t.findPeakSample=!0),t.findReplayGain&&n.InitGainAnalysis(t.rgdata,e.out_samplerate)==GainAnalysis.INIT_GAIN_ANALYSIS_ERROR)return e.internal_flags=null,-6;switch(t.decode_on_the_fly&&!e.decode_only&&(null!=t.hip&&E.hip_decode_exit(t.hip),t.hip=E.hip_decode_init()),t.mode_gr=e.out_samplerate<=24e3?1:2,e.framesize=576*t.mode_gr,e.encoder_delay=b.ENCDELAY,t.resample_ratio=e.in_samplerate/e.out_samplerate,e.VBR){case i.vbr_mt:case i.vbr_rh:case i.vbr_mtrh:var y=[5.7,6.5,7.3,8.2,10,11.9,13,14,15,16.5];e.compression_ratio=y[e.VBR_q];break;case i.vbr_abr:e.compression_ratio=16*e.out_samplerate*t.channels_out/(1e3*e.VBR_mean_bitrate_kbps);break;default:e.compression_ratio=16*e.out_samplerate*t.channels_out/(1e3*e.brate);break}if(e.mode==MPEGMode.NOT_SET&&(e.mode=MPEGMode.JOINT_STEREO),e.highpassfreq>0?(t.highpass1=2*e.highpassfreq,e.highpasswidth>=0?t.highpass2=2*(e.highpassfreq+e.highpasswidth):t.highpass2=2*e.highpassfreq,t.highpass1/=e.out_samplerate,t.highpass2/=e.out_samplerate):(t.highpass1=0,t.highpass2=0),e.lowpassfreq>0?(t.lowpass2=2*e.lowpassfreq,e.lowpasswidth>=0?(t.lowpass1=2*(e.lowpassfreq-e.lowpasswidth),t.lowpass1<0&&(t.lowpass1=0)):t.lowpass1=2*e.lowpassfreq,t.lowpass1/=e.out_samplerate,t.lowpass2/=e.out_samplerate):(t.lowpass1=0,t.lowpass2=0),D(e),t.samplerate_index=B(e.out_samplerate,e),t.samplerate_index<0)return e.internal_flags=null,-1;if(e.VBR==i.vbr_off){if(e.free_format)t.bitrate_index=0;else if(e.brate=N(e.brate,e.version,e.out_samplerate),t.bitrate_index=F(e.brate,e.version,e.out_samplerate),t.bitrate_index<=0)return e.internal_flags=null,-1}else t.bitrate_index=1;e.analysis&&(e.bWriteVbrTag=!1),null!=t.pinfo&&(e.bWriteVbrTag=!1),r.init_bit_stream_w(t);for(var S,A=t.samplerate_index+3*e.version+6*(e.out_samplerate<16e3?1:0),M=0;M=0),e.VBR){case i.vbr_mt:e.VBR=i.vbr_mtrh;case i.vbr_mtrh:null==e.useTemporal&&(e.useTemporal=!1),w.apply_preset(e,500-10*e.VBR_q,0),e.quality<0&&(e.quality=LAME_DEFAULT_QUALITY),e.quality<5&&(e.quality=0),e.quality>5&&(e.quality=5),t.PSY.mask_adjust=e.maskingadjust,t.PSY.mask_adjust_short=e.maskingadjust_short,e.experimentalY?t.sfb21_extra=!1:t.sfb21_extra=e.out_samplerate>44e3,t.iteration_loop=new VBRNewIterationLoop(k);break;case i.vbr_rh:w.apply_preset(e,500-10*e.VBR_q,0),t.PSY.mask_adjust=e.maskingadjust,t.PSY.mask_adjust_short=e.maskingadjust_short,e.experimentalY?t.sfb21_extra=!1:t.sfb21_extra=e.out_samplerate>44e3,e.quality>6&&(e.quality=6),e.quality<0&&(e.quality=LAME_DEFAULT_QUALITY),t.iteration_loop=new VBROldIterationLoop(k);break;default:var j;t.sfb21_extra=!1,e.quality<0&&(e.quality=LAME_DEFAULT_QUALITY),j=e.VBR,j==i.vbr_off&&(e.VBR_mean_bitrate_kbps=e.brate),w.apply_preset(e,e.VBR_mean_bitrate_kbps,0),e.VBR=j,t.PSY.mask_adjust=e.maskingadjust,t.PSY.mask_adjust_short=e.maskingadjust_short,j==i.vbr_off?t.iteration_loop=new _(k):t.iteration_loop=new ABRIterationLoop(k);break}if(u(e.scale>=0),e.VBR!=i.vbr_off){if(t.VBR_min_bitrate=1,t.VBR_max_bitrate=14,e.out_samplerate<16e3&&(t.VBR_max_bitrate=8),0!=e.VBR_min_bitrate_kbps&&(e.VBR_min_bitrate_kbps=N(e.VBR_min_bitrate_kbps,e.version,e.out_samplerate),t.VBR_min_bitrate=F(e.VBR_min_bitrate_kbps,e.version,e.out_samplerate),t.VBR_min_bitrate<0))return-1;if(0!=e.VBR_max_bitrate_kbps&&(e.VBR_max_bitrate_kbps=N(e.VBR_max_bitrate_kbps,e.version,e.out_samplerate),t.VBR_max_bitrate=F(e.VBR_max_bitrate_kbps,e.version,e.out_samplerate),t.VBR_max_bitrate<0))return-1;e.VBR_min_bitrate_kbps=g.bitrate_table[e.version][t.VBR_min_bitrate],e.VBR_max_bitrate_kbps=g.bitrate_table[e.version][t.VBR_max_bitrate],e.VBR_mean_bitrate_kbps=Math.min(g.bitrate_table[e.version][t.VBR_max_bitrate],e.VBR_mean_bitrate_kbps),e.VBR_mean_bitrate_kbps=Math.max(g.bitrate_table[e.version][t.VBR_min_bitrate],e.VBR_mean_bitrate_kbps)}return e.tune&&(t.PSY.mask_adjust+=e.tune_value_a,t.PSY.mask_adjust_short+=e.tune_value_a),V(e),u(e.scale>=0),e.athaa_type<0?t.ATH.useAdjust=3:t.ATH.useAdjust=e.athaa_type,t.ATH.aaSensitivityP=Math.pow(10,e.athaa_sensitivity/-10),null==e.short_blocks&&(e.short_blocks=a.short_block_allowed),e.short_blocks!=a.short_block_allowed||e.mode!=MPEGMode.JOINT_STEREO&&e.mode!=MPEGMode.STEREO||(e.short_blocks=a.short_block_coupled),e.quant_comp<0&&(e.quant_comp=1),e.quant_comp_short<0&&(e.quant_comp_short=0),e.msfix<0&&(e.msfix=0),e.exp_nspsytune=1|e.exp_nspsytune,e.internal_flags.nsPsy.attackthre<0&&(e.internal_flags.nsPsy.attackthre=f.NSATTACKTHRE),e.internal_flags.nsPsy.attackthre_s<0&&(e.internal_flags.nsPsy.attackthre_s=f.NSATTACKTHRE_S),u(e.scale>=0),e.scale<0&&(e.scale=1),e.ATHtype<0&&(e.ATHtype=4),e.ATHcurve<0&&(e.ATHcurve=4),e.athaa_loudapprox<0&&(e.athaa_loudapprox=2),e.interChRatio<0&&(e.interChRatio=0),null==e.useTemporal&&(e.useTemporal=!0),t.slot_lag=t.frac_SpF=0,e.VBR==i.vbr_off&&(t.slot_lag=t.frac_SpF=72e3*(e.version+1)*e.brate%e.out_samplerate|0),x.iteration_init(e),R.psymodel_init(e),u(e.scale>=0),0},this.lame_encode_flush=function(e,t,n,o){var i,a,s,c,u=e.internal_flags,f=l([2,1152]),d=0,p=u.mf_samples_to_encode-b.POSTDELAY,h=q(e);if(u.mf_samples_to_encode<1)return 0;i=0,e.in_samplerate!=e.out_samplerate&&(p+=16*e.out_samplerate/e.in_samplerate),s=e.framesize-p%e.framesize,s<576&&(s+=e.framesize),e.encoder_padding=s,c=(p+s)/e.framesize;while(c>0&&d>=0){var m=h-u.mf_size,_=e.frameNum;m*=e.in_samplerate,m/=e.out_samplerate,m>1152&&(m=1152),m<1&&(m=1),a=o-i,0==o&&(a=0),d=this.lame_encode_buffer(e,f[0],f[1],m,t,n,a),n+=d,i+=d,c-=_!=e.frameNum?1:0}if(u.mf_samples_to_encode=0,d<0)return d;if(a=o-i,0==o&&(a=0),r.flush_bitstream(e),d=r.copy_buffer(u,t,n,a,1),d<0)return d;if(n+=d,i+=d,a=o-i,0==o&&(a=0),e.write_id3tag_automatic){if(M.id3tag_write_v1(e),d=r.copy_buffer(u,t,n,a,0),d<0)return d;i+=d}return i},this.lame_encode_buffer=function(e,t,n,r,o,i,a){var s=e.internal_flags,c=[null,null];if(s.Class_ID!=L)return-3;if(0==r)return 0;U(s,r),c[0]=s.in_buffer_0,c[1]=s.in_buffer_1;for(var l=0;l1&&(c[1][l]=n[l]);return z(e,c[0],c[1],r,o,i,a)}}e.exports=y},df75:function(e,t,n){var r=n("ca84"),o=n("7839");e.exports=Object.keys||function(e){return r(e,o)}},df7c:function(e,t,n){(function(e){function n(e,t){for(var n=0,r=e.length-1;r>=0;r--){var o=e[r];"."===o?e.splice(r,1):".."===o?(e.splice(r,1),n++):n&&(e.splice(r,1),n--)}if(t)for(;n--;n)e.unshift("..");return e}function r(e){"string"!==typeof e&&(e+="");var t,n=0,r=-1,o=!0;for(t=e.length-1;t>=0;--t)if(47===e.charCodeAt(t)){if(!o){n=t+1;break}}else-1===r&&(o=!1,r=t+1);return-1===r?"":e.slice(n,r)}function o(e,t){if(e.filter)return e.filter(t);for(var n=[],r=0;r=-1&&!r;i--){var a=i>=0?arguments[i]:e.cwd();if("string"!==typeof a)throw new TypeError("Arguments to path.resolve must be strings");a&&(t=a+"/"+t,r="/"===a.charAt(0))}return t=n(o(t.split("/"),(function(e){return!!e})),!r).join("/"),(r?"/":"")+t||"."},t.normalize=function(e){var r=t.isAbsolute(e),a="/"===i(e,-1);return e=n(o(e.split("/"),(function(e){return!!e})),!r).join("/"),e||r||(e="."),e&&a&&(e+="/"),(r?"/":"")+e},t.isAbsolute=function(e){return"/"===e.charAt(0)},t.join=function(){var e=Array.prototype.slice.call(arguments,0);return t.normalize(o(e,(function(e,t){if("string"!==typeof e)throw new TypeError("Arguments to path.join must be strings");return e})).join("/"))},t.relative=function(e,n){function r(e){for(var t=0;t=0;n--)if(""!==e[n])break;return t>n?[]:e.slice(t,n-t+1)}e=t.resolve(e).substr(1),n=t.resolve(n).substr(1);for(var o=r(e.split("/")),i=r(n.split("/")),a=Math.min(o.length,i.length),s=a,c=0;c=1;--i)if(t=e.charCodeAt(i),47===t){if(!o){r=i;break}}else o=!1;return-1===r?n?"/":".":n&&1===r?"/":e.slice(0,r)},t.basename=function(e,t){var n=r(e);return t&&n.substr(-1*t.length)===t&&(n=n.substr(0,n.length-t.length)),n},t.extname=function(e){"string"!==typeof e&&(e+="");for(var t=-1,n=0,r=-1,o=!0,i=0,a=e.length-1;a>=0;--a){var s=e.charCodeAt(a);if(47!==s)-1===r&&(o=!1,r=a+1),46===s?-1===t?t=a:1!==i&&(i=1):-1!==t&&(i=-1);else if(!o){n=a+1;break}}return-1===t||-1===r||0===i||1===i&&t===r-1&&t===n+1?"":e.slice(t,r)};var i="b"==="ab".substr(-1)?function(e,t,n){return e.substr(t,n)}:function(e,t,n){return t<0&&(t=e.length+t),e.substr(t,n)}}).call(this,n("4362"))},e01a:function(e,t,n){"use strict";var r=n("23e7"),o=n("83ab"),i=n("da84"),a=n("5135"),s=n("861d"),c=n("9bf2").f,l=n("e893"),u=i.Symbol;if(o&&"function"==typeof u&&(!("description"in u.prototype)||void 0!==u().description)){var f={},d=function(){var e=arguments.length<1||void 0===arguments[0]?void 0:String(arguments[0]),t=this instanceof d?new u(e):void 0===e?u():u(e);return""===e&&(f[t]=!0),t};l(d,u);var p=d.prototype=u.prototype;p.constructor=d;var h=p.toString,m="Symbol(test)"==String(u("test")),_=/^Symbol\((.*)\)[^)]+$/;c(p,"description",{configurable:!0,get:function(){var e=s(this)?this.valueOf():this,t=h.call(e);if(a(f,e))return"";var n=m?t.slice(7,-1):t.replace(_,"$1");return""===n?void 0:n}}),r({global:!0,forced:!0},{Symbol:d})}},e107:function(e,t,n){var r=n("0206"),o=r.System,i=r.VbrMode,a=(r.Float,r.ShortBlock),s=(r.Util,r.Arrays),c=(r.new_array_n,r.new_byte),l=(r.new_double,r.new_float,r.new_float_n,r.new_int,r.new_int_n,r.assert);function u(){var e,t,n;this.setModules=function(r,o,i){e=r,t=o,n=i};var r=1,f=2,d=4,p=8,h=u.NUMTOCENTRIES,m=u.MAXFRAMESIZE,_=h+4+4+4+4+4,v=_+9+1+1+8+1+1+3+1+1+2+4+2+2,g=128,b=64,y=32,w=null,x="Xing",k="Info",S=[0,49345,49537,320,49921,960,640,49729,50689,1728,1920,51009,1280,50625,50305,1088,52225,3264,3456,52545,3840,53185,52865,3648,2560,51905,52097,2880,51457,2496,2176,51265,55297,6336,6528,55617,6912,56257,55937,6720,7680,57025,57217,8e3,56577,7616,7296,56385,5120,54465,54657,5440,55041,6080,5760,54849,53761,4800,4992,54081,4352,53697,53377,4160,61441,12480,12672,61761,13056,62401,62081,12864,13824,63169,63361,14144,62721,13760,13440,62529,15360,64705,64897,15680,65281,16320,16e3,65089,64001,15040,15232,64321,14592,63937,63617,14400,10240,59585,59777,10560,60161,11200,10880,59969,60929,11968,12160,61249,11520,60865,60545,11328,58369,9408,9600,58689,9984,59329,59009,9792,8704,58049,58241,9024,57601,8640,8320,57409,40961,24768,24960,41281,25344,41921,41601,25152,26112,42689,42881,26432,42241,26048,25728,42049,27648,44225,44417,27968,44801,28608,28288,44609,43521,27328,27520,43841,26880,43457,43137,26688,30720,47297,47489,31040,47873,31680,31360,47681,48641,32448,32640,48961,32e3,48577,48257,31808,46081,29888,30080,46401,30464,47041,46721,30272,29184,45761,45953,29504,45313,29120,28800,45121,20480,37057,37249,20800,37633,21440,21120,37441,38401,22208,22400,38721,21760,38337,38017,21568,39937,23744,23936,40257,24320,40897,40577,24128,23040,39617,39809,23360,39169,22976,22656,38977,34817,18624,18816,35137,19200,35777,35457,19008,19968,36545,36737,20288,36097,19904,19584,35905,17408,33985,34177,17728,34561,18368,18048,34369,33281,17088,17280,33601,16640,33217,32897,16448];function A(e,t){if(e.nVbrNumFrames++,e.sum+=t,e.seen++,!(e.seene.pos-1&&(a=e.pos-1),r=e.bag[a],o=e.sum;var s=0|256*r/o;s>255&&(s=255),t[n]=255&s}}function E(e,t){var n=255&e[t+0];return n<<=8,n|=255&e[t+1],n<<=8,n|=255&e[t+2],n<<=8,n|=255&e[t+3],n}function R(e,t,n){e[t+0]=255&n>>24,e[t+1]=255&n>>16,e[t+2]=255&n>>8,e[t+3]=255&n}function O(e,t,n){e[t+0]=255&n>>8,e[t+1]=255&n}function T(e,t){return new String(e,t,x.length(),w).equals(x)||new String(e,t,k.length(),w).equals(k)}function C(e,t,n){return 255&(e<>8^S[255&n],t}function j(e,t,r,o,i){var s,c,l,u=e.internal_flags,f=0,d=e.encoder_delay,p=e.encoder_padding,h=100-10*e.VBR_q-e.quality,m=n.getLameVeryShortVersion(),_=0,v=[1,5,3,2,4,0,3],g=0|(e.lowpassfreq/100+.5>255?255:e.lowpassfreq/100+.5),b=0,y=0,w=0,x=e.internal_flags.noise_shaping,k=0,S=0,A=0,M=0,E=0,T=0!=(1&e.exp_nspsytune),C=0!=(2&e.exp_nspsytune),L=!1,j=!1,I=e.internal_flags.nogap_total,B=e.internal_flags.nogap_current,N=e.ATHtype,F=0;switch(e.VBR){case vbr_abr:l=e.VBR_mean_bitrate_kbps;break;case vbr_off:l=e.brate;break;default:l=e.VBR_min_bitrate_kbps}switch(s=e.VBR.ordinal()510&&(u.RadioGain=510),u.RadioGain<-510&&(u.RadioGain=-510),y=8192,y|=3072,u.RadioGain>=0?y|=u.RadioGain:(y|=512,y|=-u.RadioGain)),u.findPeakSample&&(b=Math.abs(0|u.PeakSample/32767*Math.pow(2,23)+.5)),-1!=I&&(B>0&&(j=!0),B48e3?3:1,(e.short_blocks==a.short_block_forced||e.short_blocks==a.short_block_dispensed||-1==e.lowpassfreq&&-1==e.highpassfreq||e.scale_lefte.scale_right||e.disable_reservoir&&e.brate<320||e.noATH||e.ATHonly||0==N||e.in_samplerate<=32e3)&&(S=1),M=x+(k<<2)+(S<<5)+(A<<6),E=u.nMusicCRC,R(r,o+f,h),f+=4;for(var H=0;H<9;H++)r[o+f+H]=255&m.charAt(H);f+=9,r[o+f]=255&c,f++,r[o+f]=255&g,f++,R(r,o+f,b),f+=4,O(r,o+f,y),f+=2,O(r,o+f,w),f+=2,r[o+f]=255&F,f++,r[o+f]=l>=255?255:255&l,f++,r[o+f]=255&d>>4,r[o+f+1]=255&(d<<4)+(p>>8),r[o+f+2]=255&p,f+=3,r[o+f]=255&M,f++,r[o+f++]=0,O(r,o+f,e.preset),f+=2,R(r,o+f,t),f+=4,O(r,o+f,E),f+=2;for(var D=0;D>3&1,i=e[n+2]>>2&3,a=e[n+3]>>6&3,s=e[n+2]>>4&15;if(s=Tables.bitrate_table[o][s],e[n+1]>>4==14?t.samprate=Tables.samplerate_table[2][i]:t.samprate=Tables.samplerate_table[o][i],n+=0!=o?3!=a?36:21:3!=a?21:13,!T(e,n))return null;n+=4,t.hId=o;var c=t.flags=E(e,n);if(n+=4,0!=(c&r)&&(t.frames=E(e,n),n+=4),0!=(c&f)&&(t.bytes=E(e,n),n+=4),0!=(c&d)){if(null!=t.toc)for(var l=0;l>4;var m=(15&e[n+1])<<8;return m+=255&e[n+2],(u<0||u>3e3)&&(u=-1),(m<0||m>3e3)&&(m=-1),t.encDelay=u,t.encPadding=m,t},this.InitVbrTag=function(e){var n,r=e.internal_flags;n=1==e.version?g:e.out_samplerate<16e3?y:b,e.VBR==i.vbr_off&&(n=e.brate);var o=72e3*(e.version+1)*n/e.out_samplerate,a=r.sideinfo_len+v;if(r.VBR_seek_table.TotalFrameSize=o,om)e.bWriteVbrTag=!1;else{r.VBR_seek_table.nVbrNumFrames=0,r.VBR_seek_table.nBytesWritten=0,r.VBR_seek_table.sum=0,r.VBR_seek_table.seen=0,r.VBR_seek_table.want=1,r.VBR_seek_table.pos=0,null==r.VBR_seek_table.bag&&(r.VBR_seek_table.bag=new int[400],r.VBR_seek_table.size=400);var s=c(m);L(e,s);for(var l=r.VBR_seek_table.TotalFrameSize,u=0;uo.length?-1:(i<1||t.write(o,0,i),0)}}u.NUMTOCENTRIES=100,u.MAXFRAMESIZE=2880,e.exports=u},e163:function(e,t,n){var r=n("5135"),o=n("7b0b"),i=n("f772"),a=n("e177"),s=i("IE_PROTO"),c=Object.prototype;e.exports=a?Object.getPrototypeOf:function(e){return e=o(e),r(e,s)?e[s]:"function"==typeof e.constructor&&e instanceof e.constructor?e.constructor.prototype:e instanceof Object?c:null}},e177:function(e,t,n){var r=n("d039");e.exports=!r((function(){function e(){}return e.prototype.constructor=null,Object.getPrototypeOf(new e)!==e.prototype}))},e260:function(e,t,n){"use strict";var r=n("fc6a"),o=n("44d2"),i=n("3f8c"),a=n("69f3"),s=n("7dd0"),c="Array Iterator",l=a.set,u=a.getterFor(c);e.exports=s(Array,"Array",(function(e,t){l(this,{type:c,target:r(e),index:0,kind:t})}),(function(){var e=u(this),t=e.target,n=e.kind,r=e.index++;return!t||r>=t.length?(e.target=void 0,{value:void 0,done:!0}):"keys"==n?{value:r,done:!1}:"values"==n?{value:t[r],done:!1}:{value:[r,t[r]],done:!1}}),"values"),i.Arguments=i.Array,o("keys"),o("values"),o("entries")},e2cc:function(e,t,n){var r=n("6eeb");e.exports=function(e,t,n){for(var o in t)r(e,o,t[o],n);return e}},e538:function(e,t,n){var r=n("b622");t.f=r},e667:function(e,t){e.exports=function(e){try{return{error:!1,value:e()}}catch(t){return{error:!0,value:t}}}},e683:function(e,t,n){"use strict";e.exports=function(e,t){return t?e.replace(/\/+$/,"")+"/"+t.replace(/^\/+/,""):e}},e6cf:function(e,t,n){"use strict";var r,o,i,a,s=n("23e7"),c=n("c430"),l=n("da84"),u=n("d066"),f=n("fea9"),d=n("6eeb"),p=n("e2cc"),h=n("d2bb"),m=n("d44e"),_=n("2626"),v=n("861d"),g=n("1c0b"),b=n("19aa"),y=n("8925"),w=n("2266"),x=n("1c7e"),k=n("4840"),S=n("2cf4").set,A=n("b575"),M=n("cdf9"),E=n("44de"),R=n("f069"),O=n("e667"),T=n("69f3"),C=n("94ca"),L=n("b622"),P=n("6069"),j=n("605d"),I=n("2d00"),B=L("species"),N="Promise",F=T.get,H=T.set,D=T.getterFor(N),V=f&&f.prototype,$=f,U=V,q=l.TypeError,z=l.document,Y=l.process,X=R.f,G=X,K=!!(z&&z.createEvent&&l.dispatchEvent),W="function"==typeof PromiseRejectionEvent,Z="unhandledrejection",Q="rejectionhandled",J=0,ee=1,te=2,ne=1,re=2,oe=!1,ie=C(N,(function(){var e=y($)!==String($);if(!e&&66===I)return!0;if(c&&!U["finally"])return!0;if(I>=51&&/native code/.test($))return!1;var t=new $((function(e){e(1)})),n=function(e){e((function(){}),(function(){}))},r=t.constructor={};return r[B]=n,oe=t.then((function(){}))instanceof n,!oe||!e&&P&&!W})),ae=ie||!x((function(e){$.all(e)["catch"]((function(){}))})),se=function(e){var t;return!(!v(e)||"function"!=typeof(t=e.then))&&t},ce=function(e,t){if(!e.notified){e.notified=!0;var n=e.reactions;A((function(){var r=e.value,o=e.state==ee,i=0;while(n.length>i){var a,s,c,l=n[i++],u=o?l.ok:l.fail,f=l.resolve,d=l.reject,p=l.domain;try{u?(o||(e.rejection===re&&de(e),e.rejection=ne),!0===u?a=r:(p&&p.enter(),a=u(r),p&&(p.exit(),c=!0)),a===l.promise?d(q("Promise-chain cycle")):(s=se(a))?s.call(a,f,d):f(a)):d(r)}catch(h){p&&!c&&p.exit(),d(h)}}e.reactions=[],e.notified=!1,t&&!e.rejection&&ue(e)}))}},le=function(e,t,n){var r,o;K?(r=z.createEvent("Event"),r.promise=t,r.reason=n,r.initEvent(e,!1,!0),l.dispatchEvent(r)):r={promise:t,reason:n},!W&&(o=l["on"+e])?o(r):e===Z&&E("Unhandled promise rejection",n)},ue=function(e){S.call(l,(function(){var t,n=e.facade,r=e.value,o=fe(e);if(o&&(t=O((function(){j?Y.emit("unhandledRejection",r,n):le(Z,n,r)})),e.rejection=j||fe(e)?re:ne,t.error))throw t.value}))},fe=function(e){return e.rejection!==ne&&!e.parent},de=function(e){S.call(l,(function(){var t=e.facade;j?Y.emit("rejectionHandled",t):le(Q,t,e.value)}))},pe=function(e,t,n){return function(r){e(t,r,n)}},he=function(e,t,n){e.done||(e.done=!0,n&&(e=n),e.value=t,e.state=te,ce(e,!0))},me=function(e,t,n){if(!e.done){e.done=!0,n&&(e=n);try{if(e.facade===t)throw q("Promise can't be resolved itself");var r=se(t);r?A((function(){var n={done:!1};try{r.call(t,pe(me,n,e),pe(he,n,e))}catch(o){he(n,o,e)}})):(e.value=t,e.state=ee,ce(e,!1))}catch(o){he({done:!1},o,e)}}};if(ie&&($=function(e){b(this,$,N),g(e),r.call(this);var t=F(this);try{e(pe(me,t),pe(he,t))}catch(n){he(t,n)}},U=$.prototype,r=function(e){H(this,{type:N,done:!1,notified:!1,parent:!1,reactions:[],rejection:!1,state:J,value:void 0})},r.prototype=p(U,{then:function(e,t){var n=D(this),r=X(k(this,$));return r.ok="function"!=typeof e||e,r.fail="function"==typeof t&&t,r.domain=j?Y.domain:void 0,n.parent=!0,n.reactions.push(r),n.state!=J&&ce(n,!1),r.promise},catch:function(e){return this.then(void 0,e)}}),o=function(){var e=new r,t=F(e);this.promise=e,this.resolve=pe(me,t),this.reject=pe(he,t)},R.f=X=function(e){return e===$||e===i?new o(e):G(e)},!c&&"function"==typeof f&&V!==Object.prototype)){a=V.then,oe||(d(V,"then",(function(e,t){var n=this;return new $((function(e,t){a.call(n,e,t)})).then(e,t)}),{unsafe:!0}),d(V,"catch",U["catch"],{unsafe:!0}));try{delete V.constructor}catch(_e){}h&&h(V,U)}s({global:!0,wrap:!0,forced:ie},{Promise:$}),m($,N,!1,!0),_(N),i=u(N),s({target:N,stat:!0,forced:ie},{reject:function(e){var t=X(this);return t.reject.call(void 0,e),t.promise}}),s({target:N,stat:!0,forced:c||ie},{resolve:function(e){return M(c&&this===i?$:this,e)}}),s({target:N,stat:!0,forced:ae},{all:function(e){var t=this,n=X(t),r=n.resolve,o=n.reject,i=O((function(){var n=g(t.resolve),i=[],a=0,s=1;w(e,(function(e){var c=a++,l=!1;i.push(void 0),s++,n.call(t,e).then((function(e){l||(l=!0,i[c]=e,--s||r(i))}),o)})),--s||r(i)}));return i.error&&o(i.value),n.promise},race:function(e){var t=this,n=X(t),r=n.reject,o=O((function(){var o=g(t.resolve);w(e,(function(e){o.call(t,e).then(n.resolve,r)}))}));return o.error&&r(o.value),n.promise}})},e893:function(e,t,n){var r=n("5135"),o=n("56ef"),i=n("06cf"),a=n("9bf2");e.exports=function(e,t){for(var n=o(t),s=a.f,c=i.f,l=0;l=0;--E){var I,B;I=k[S+E]*f[20+E]+k[S+-1-E]*d[28+E],B=k[S+E]*d[28+E]-k[S+-1-E]*f[20+E],k[S+-1-E]=I,k[S+E]=B}}}if(v=u,g=286,1==e.mode_gr)for(var N=0;N<18;N++)o.arraycopy(e.sb_sample[b][1][N],0,e.sb_sample[b][0][N],0,32)}}}e.exports=l},f5df:function(e,t,n){var r=n("00ee"),o=n("c6b6"),i=n("b622"),a=i("toStringTag"),s="Arguments"==o(function(){return arguments}()),c=function(e,t){try{return e[t]}catch(n){}};e.exports=r?o:function(e){var t,n,r;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(n=c(t=Object(e),a))?n:s?o(t):"Object"==(r=o(t))&&"function"==typeof t.callee?"Arguments":r}},f6b4:function(e,t,n){"use strict";var r=n("c532");function o(){this.handlers=[]}o.prototype.use=function(e,t){return this.handlers.push({fulfilled:e,rejected:t}),this.handlers.length-1},o.prototype.eject=function(e){this.handlers[e]&&(this.handlers[e]=null)},o.prototype.forEach=function(e){r.forEach(this.handlers,(function(t){null!==t&&e(t)}))},e.exports=o},f772:function(e,t,n){var r=n("5692"),o=n("90e3"),i=r("keys");e.exports=function(e){return i[e]||(i[e]=o(e))}},fb6a:function(e,t,n){"use strict";var r=n("23e7"),o=n("861d"),i=n("e8b5"),a=n("23cb"),s=n("50c4"),c=n("fc6a"),l=n("8418"),u=n("b622"),f=n("1dde"),d=f("slice"),p=u("species"),h=[].slice,m=Math.max;r({target:"Array",proto:!0,forced:!d},{slice:function(e,t){var n,r,u,f=c(this),d=s(f.length),_=a(e,d),v=a(void 0===t?d:t,d);if(i(f)&&(n=f.constructor,"function"!=typeof n||n!==Array&&!i(n.prototype)?o(n)&&(n=n[p],null===n&&(n=void 0)):n=void 0,n===Array||void 0===n))return h.call(f,_,v);for(r=new(void 0===n?Array:n)(m(v-_,0)),u=0;_n.parts.length&&(r.parts.length=n.parts.length)}else{var a=[];for(o=0;o',"\nscript:\n...\ninfiniteHandler($state) {\n ajax('https://www.example.com/api/news')\n .then((res) => {\n if (res.data.length) {\n $state.loaded();\n } else {\n $state.complete();\n }\n });\n}\n...","","more details: https://github.com/PeachScript/vue-infinite-loading/issues/57#issuecomment-324370549"].join("\n"),INFINITE_EVENT:"`:on-infinite` property will be deprecated soon, please use `@infinite` event instead.",IDENTIFIER:"the `reset` event will be deprecated soon, please reset this component by change the `identifier` property."},a={INFINITE_LOOP:["executed the callback function more than ".concat(r.loopCheckMaxCalls," times for a short time, it looks like searched a wrong scroll wrapper that doest not has fixed height or maximum height, please check it. If you want to force to set a element as scroll wrapper ranther than automatic searching, you can do this:"),'\n\x3c!-- add a special attribute for the real scroll wrapper --\x3e\n
\n ...\n \x3c!-- set force-use-infinite-wrapper --\x3e\n \n
\nor\n
\n ...\n \x3c!-- set force-use-infinite-wrapper as css selector of the real scroll wrapper --\x3e\n \n
\n ',"more details: https://github.com/PeachScript/vue-infinite-loading/issues/55#issuecomment-316934169"].join("\n")},s={READY:0,LOADING:1,COMPLETE:2,ERROR:3},c={color:"#666",fontSize:"14px",padding:"10px 0"},l={mode:"development",props:{spinner:"default",distance:100,forceUseInfiniteWrapper:!1},system:r,slots:{noResults:"No results :(",noMore:"No more data :)",error:"Opps, something went wrong :(",errorBtnText:"Retry",spinner:""},WARNINGS:i,ERRORS:a,STATUS:s},u=n(4),f=n.n(u),d={BUBBLES:{render:function(e){return e("span",{attrs:{class:"loading-bubbles"}},Array.apply(Array,Array(8)).map((function(){return e("span",{attrs:{class:"bubble-item"}})})))}},CIRCLES:{render:function(e){return e("span",{attrs:{class:"loading-circles"}},Array.apply(Array,Array(8)).map((function(){return e("span",{attrs:{class:"circle-item"}})})))}},DEFAULT:{render:function(e){return e("i",{attrs:{class:"loading-default"}})}},SPIRAL:{render:function(e){return e("i",{attrs:{class:"loading-spiral"}})}},WAVEDOTS:{render:function(e){return e("span",{attrs:{class:"loading-wave-dots"}},Array.apply(Array,Array(5)).map((function(){return e("span",{attrs:{class:"wave-item"}})})))}}};function p(e,t,n,r,o,i,a,s){var c,l="function"==typeof e?e.options:e;if(t&&(l.render=t,l.staticRenderFns=n,l._compiled=!0),r&&(l.functional=!0),i&&(l._scopeId="data-v-"+i),a?(c=function(e){(e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),o&&o.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(a)},l._ssrRegister=c):o&&(c=s?function(){o.call(this,(l.functional?this.parent:this).$root.$options.shadowRoot)}:o),c)if(l.functional){l._injectStyles=c;var u=l.render;l.render=function(e,t){return c.call(t),u(e,t)}}else{var f=l.beforeCreate;l.beforeCreate=f?[].concat(f,c):[c]}return{exports:e,options:l}}var h=p({name:"Spinner",computed:{spinnerView:function(){return d[(this.$attrs.spinner||"").toUpperCase()]||this.spinnerInConfig},spinnerInConfig:function(){return l.slots.spinner&&"string"==typeof l.slots.spinner?{render:function(){return this._v(l.slots.spinner)}}:"object"===f()(l.slots.spinner)?l.slots.spinner:d[l.props.spinner.toUpperCase()]||d.DEFAULT}}},(function(){var e=this.$createElement;return(this._self._c||e)(this.spinnerView,{tag:"component"})}),[],!1,(function(e){var t=n(5);t.__inject__&&t.__inject__(e)}),"46b20d22",null).exports;function m(e){"production"!==l.mode&&console.warn("[Vue-infinite-loading warn]: ".concat(e))}function _(e){console.error("[Vue-infinite-loading error]: ".concat(e))}var v={timers:[],caches:[],throttle:function(e){var t=this;-1===this.caches.indexOf(e)&&(this.caches.push(e),this.timers.push(setTimeout((function(){e(),t.caches.splice(t.caches.indexOf(e),1),t.timers.shift()}),l.system.throttleLimit)))},reset:function(){this.timers.forEach((function(e){clearTimeout(e)})),this.timers.length=0,this.caches=[]}},g={isChecked:!1,timer:null,times:0,track:function(){var e=this;this.times+=1,clearTimeout(this.timer),this.timer=setTimeout((function(){e.isChecked=!0}),l.system.loopCheckTimeout),this.times>l.system.loopCheckMaxCalls&&(_(a.INFINITE_LOOP),this.isChecked=!0)}},b={key:"_infiniteScrollHeight",getScrollElm:function(e){return e===window?document.documentElement:e},save:function(e){var t=this.getScrollElm(e);t[this.key]=t.scrollHeight},restore:function(e){var t=this.getScrollElm(e);"number"==typeof t[this.key]&&(t.scrollTop=t.scrollHeight-t[this.key]+t.scrollTop),this.remove(t)},remove:function(e){void 0!==e[this.key]&&delete e[this.key]}};function y(e){return e.replace(/[A-Z]/g,(function(e){return"-".concat(e.toLowerCase())}))}function w(e){return e.offsetWidth+e.offsetHeight>0}var x=p({name:"InfiniteLoading",data:function(){return{scrollParent:null,scrollHandler:null,isFirstLoad:!0,status:s.READY,slots:l.slots}},components:{Spinner:h},computed:{isShowSpinner:function(){return this.status===s.LOADING},isShowError:function(){return this.status===s.ERROR},isShowNoResults:function(){return this.status===s.COMPLETE&&this.isFirstLoad},isShowNoMore:function(){return this.status===s.COMPLETE&&!this.isFirstLoad},slotStyles:function(){var e=this,t={};return Object.keys(l.slots).forEach((function(n){var r=y(n);(!e.$slots[r]&&!l.slots[n].render||e.$slots[r]&&!e.$slots[r][0].tag)&&(t[n]=c)})),t}},props:{distance:{type:Number,default:l.props.distance},spinner:String,direction:{type:String,default:"bottom"},forceUseInfiniteWrapper:{type:[Boolean,String],default:l.props.forceUseInfiniteWrapper},identifier:{default:+new Date},webComponentName:{type:[String]},onInfinite:Function},watch:{identifier:function(){this.stateChanger.reset()}},mounted:function(){var e=this;this.$watch("forceUseInfiniteWrapper",(function(){e.scrollParent=e.getScrollParent()}),{immediate:!0}),this.scrollHandler=function(t){e.status===s.READY&&(t&&t.constructor===Event&&w(e.$el)?v.throttle(e.attemptLoad):e.attemptLoad())},setTimeout((function(){e.scrollHandler(),e.scrollParent.addEventListener("scroll",e.scrollHandler,o)}),1),this.$on("$InfiniteLoading:loaded",(function(t){e.isFirstLoad=!1,"top"===e.direction&&e.$nextTick((function(){b.restore(e.scrollParent)})),e.status===s.LOADING&&e.$nextTick(e.attemptLoad.bind(null,!0)),t&&t.target===e||m(i.STATE_CHANGER)})),this.$on("$InfiniteLoading:complete",(function(t){e.status=s.COMPLETE,e.$nextTick((function(){e.$forceUpdate()})),e.scrollParent.removeEventListener("scroll",e.scrollHandler,o),t&&t.target===e||m(i.STATE_CHANGER)})),this.$on("$InfiniteLoading:reset",(function(t){e.status=s.READY,e.isFirstLoad=!0,b.remove(e.scrollParent),e.scrollParent.addEventListener("scroll",e.scrollHandler,o),setTimeout((function(){v.reset(),e.scrollHandler()}),1),t&&t.target===e||m(i.IDENTIFIER)})),this.stateChanger={loaded:function(){e.$emit("$InfiniteLoading:loaded",{target:e})},complete:function(){e.$emit("$InfiniteLoading:complete",{target:e})},reset:function(){e.$emit("$InfiniteLoading:reset",{target:e})},error:function(){e.status=s.ERROR,v.reset()}},this.onInfinite&&m(i.INFINITE_EVENT)},deactivated:function(){this.status===s.LOADING&&(this.status=s.READY),this.scrollParent.removeEventListener("scroll",this.scrollHandler,o)},activated:function(){this.scrollParent.addEventListener("scroll",this.scrollHandler,o)},methods:{attemptLoad:function(e){var t=this;this.status!==s.COMPLETE&&w(this.$el)&&this.getCurrentDistance()<=this.distance?(this.status=s.LOADING,"top"===this.direction&&this.$nextTick((function(){b.save(t.scrollParent)})),"function"==typeof this.onInfinite?this.onInfinite.call(null,this.stateChanger):this.$emit("infinite",this.stateChanger),!e||this.forceUseInfiniteWrapper||g.isChecked||g.track()):this.status===s.LOADING&&(this.status=s.READY)},getCurrentDistance:function(){var e;return e="top"===this.direction?"number"==typeof this.scrollParent.scrollTop?this.scrollParent.scrollTop:this.scrollParent.pageYOffset:this.$el.getBoundingClientRect().top-(this.scrollParent===window?window.innerHeight:this.scrollParent.getBoundingClientRect().bottom),e},getScrollParent:function(){var e,t,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.$el;return"string"==typeof this.forceUseInfiniteWrapper&&(this.webComponentName&&(t=document.querySelector(this.webComponentName)),e=t?t.shadowRoot.querySelector(this.forceUseInfiniteWrapper):document.querySelector(this.forceUseInfiniteWrapper)),e||("BODY"===n.tagName?e=window:(!this.forceUseInfiniteWrapper&&["scroll","auto"].indexOf(getComputedStyle(n).overflowY)>-1||n.hasAttribute("infinite-wrapper")||n.hasAttribute("data-infinite-wrapper"))&&(e=n)),e||this.getScrollParent(n.parentNode)}},destroyed:function(){!this.status!==s.COMPLETE&&(v.reset(),b.remove(this.scrollParent),this.scrollParent.removeEventListener("scroll",this.scrollHandler,o))}},(function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"infinite-loading-container"},[n("div",{directives:[{name:"show",rawName:"v-show",value:e.isShowSpinner,expression:"isShowSpinner"}],staticClass:"infinite-status-prompt",style:e.slotStyles.spinner},[e._t("spinner",[n("spinner",{attrs:{spinner:e.spinner}})],null,{isFirstLoad:e.isFirstLoad})],2),e._v(" "),n("div",{directives:[{name:"show",rawName:"v-show",value:e.isShowNoResults,expression:"isShowNoResults"}],staticClass:"infinite-status-prompt",style:e.slotStyles.noResults},[e._t("no-results",[e.slots.noResults.render?n(e.slots.noResults,{tag:"component"}):[e._v(e._s(e.slots.noResults))]])],2),e._v(" "),n("div",{directives:[{name:"show",rawName:"v-show",value:e.isShowNoMore,expression:"isShowNoMore"}],staticClass:"infinite-status-prompt",style:e.slotStyles.noMore},[e._t("no-more",[e.slots.noMore.render?n(e.slots.noMore,{tag:"component"}):[e._v(e._s(e.slots.noMore))]])],2),e._v(" "),n("div",{directives:[{name:"show",rawName:"v-show",value:e.isShowError,expression:"isShowError"}],staticClass:"infinite-status-prompt",style:e.slotStyles.error},[e._t("error",[e.slots.error.render?n(e.slots.error,{tag:"component",attrs:{trigger:e.attemptLoad}}):[e._v("\n "+e._s(e.slots.error)+"\n "),n("br"),e._v(" "),n("button",{staticClass:"btn-try-infinite",domProps:{textContent:e._s(e.slots.errorBtnText)},on:{click:e.attemptLoad}})]],{trigger:e.attemptLoad})],2)])}),[],!1,(function(e){var t=n(7);t.__inject__&&t.__inject__(e)}),"670d0042",null).exports;function k(e){l.mode=e.config.productionTip?"development":"production"}Object.defineProperty(x,"install",{configurable:!1,enumerable:!1,value:function(e,t){Object.assign(l.props,t&&t.props),Object.assign(l.slots,t&&t.slots),Object.assign(l.system,t&&t.system),e.component("infinite-loading",x),k(e)}}),"undefined"!=typeof window&&window.Vue&&(window.Vue.component("infinite-loading",x),k(window.Vue)),t.default=x}])}))},e2d4:function(e,t,n){},e498:function(e,t,n){"use strict";n("996f")},e83d:function(e,t,n){"use strict";n("02bd")},e853:function(e,t,n){var r=n("d3f4"),o=n("1169"),i=n("2b4c")("species");e.exports=function(e){var t;return o(e)&&(t=e.constructor,"function"!=typeof t||t!==Array&&!o(t.prototype)||(t=void 0),r(t)&&(t=t[i],null===t&&(t=void 0))),void 0===t?Array:t}},e8d3:function(e,t,n){},ebd6:function(e,t,n){var r=n("cb7c"),o=n("d8e8"),i=n("2b4c")("species");e.exports=function(e,t){var n,a=r(e).constructor;return void 0===a||void 0==(n=r(a)[i])?t:o(n)}},ec30:function(e,t,n){"use strict";if(n("9e1e")){var r=n("2d00"),o=n("7726"),i=n("79e5"),a=n("5ca1"),s=n("0f88"),c=n("ed0b"),l=n("9b43"),u=n("f605"),f=n("4630"),d=n("32e9"),p=n("dcbc"),h=n("4588"),m=n("9def"),_=n("09fa"),v=n("77f1"),g=n("6a99"),b=n("69a8"),y=n("23c6"),w=n("d3f4"),x=n("4bf8"),k=n("33a4"),S=n("2aeb"),A=n("38fd"),M=n("9093").f,E=n("27ee"),R=n("ca5a"),O=n("2b4c"),T=n("0a49"),C=n("c366"),L=n("ebd6"),P=n("cadf"),j=n("84f2"),I=n("5cc5"),B=n("7a56"),N=n("36bd"),F=n("ba92"),H=n("86cc"),D=n("11e9"),V=H.f,$=D.f,U=o.RangeError,q=o.TypeError,z=o.Uint8Array,Y="ArrayBuffer",X="Shared"+Y,G="BYTES_PER_ELEMENT",K="prototype",W=Array[K],Z=c.ArrayBuffer,Q=c.DataView,J=T(0),ee=T(2),te=T(3),ne=T(4),re=T(5),oe=T(6),ie=C(!0),ae=C(!1),se=P.values,ce=P.keys,le=P.entries,ue=W.lastIndexOf,fe=W.reduce,de=W.reduceRight,pe=W.join,he=W.sort,me=W.slice,_e=W.toString,ve=W.toLocaleString,ge=O("iterator"),be=O("toStringTag"),ye=R("typed_constructor"),we=R("def_constructor"),xe=s.CONSTR,ke=s.TYPED,Se=s.VIEW,Ae="Wrong length!",Me=T(1,(function(e,t){return Ce(L(e,e[we]),t)})),Ee=i((function(){return 1===new z(new Uint16Array([1]).buffer)[0]})),Re=!!z&&!!z[K].set&&i((function(){new z(1).set({})})),Oe=function(e,t){var n=h(e);if(n<0||n%t)throw U("Wrong offset!");return n},Te=function(e){if(w(e)&&ke in e)return e;throw q(e+" is not a typed array!")},Ce=function(e,t){if(!w(e)||!(ye in e))throw q("It is not a typed array constructor!");return new e(t)},Le=function(e,t){return Pe(L(e,e[we]),t)},Pe=function(e,t){var n=0,r=t.length,o=Ce(e,r);while(r>n)o[n]=t[n++];return o},je=function(e,t,n){V(e,t,{get:function(){return this._d[n]}})},Ie=function(e){var t,n,r,o,i,a,s=x(e),c=arguments.length,u=c>1?arguments[1]:void 0,f=void 0!==u,d=E(s);if(void 0!=d&&!k(d)){for(a=d.call(s),r=[],t=0;!(i=a.next()).done;t++)r.push(i.value);s=r}for(f&&c>2&&(u=l(u,arguments[2],2)),t=0,n=m(s.length),o=Ce(this,n);n>t;t++)o[t]=f?u(s[t],t):s[t];return o},Be=function(){var e=0,t=arguments.length,n=Ce(this,t);while(t>e)n[e]=arguments[e++];return n},Ne=!!z&&i((function(){ve.call(new z(1))})),Fe=function(){return ve.apply(Ne?me.call(Te(this)):Te(this),arguments)},He={copyWithin:function(e,t){return F.call(Te(this),e,t,arguments.length>2?arguments[2]:void 0)},every:function(e){return ne(Te(this),e,arguments.length>1?arguments[1]:void 0)},fill:function(e){return N.apply(Te(this),arguments)},filter:function(e){return Le(this,ee(Te(this),e,arguments.length>1?arguments[1]:void 0))},find:function(e){return re(Te(this),e,arguments.length>1?arguments[1]:void 0)},findIndex:function(e){return oe(Te(this),e,arguments.length>1?arguments[1]:void 0)},forEach:function(e){J(Te(this),e,arguments.length>1?arguments[1]:void 0)},indexOf:function(e){return ae(Te(this),e,arguments.length>1?arguments[1]:void 0)},includes:function(e){return ie(Te(this),e,arguments.length>1?arguments[1]:void 0)},join:function(e){return pe.apply(Te(this),arguments)},lastIndexOf:function(e){return ue.apply(Te(this),arguments)},map:function(e){return Me(Te(this),e,arguments.length>1?arguments[1]:void 0)},reduce:function(e){return fe.apply(Te(this),arguments)},reduceRight:function(e){return de.apply(Te(this),arguments)},reverse:function(){var e,t=this,n=Te(t).length,r=Math.floor(n/2),o=0;while(o1?arguments[1]:void 0)},sort:function(e){return he.call(Te(this),e)},subarray:function(e,t){var n=Te(this),r=n.length,o=v(e,r);return new(L(n,n[we]))(n.buffer,n.byteOffset+o*n.BYTES_PER_ELEMENT,m((void 0===t?r:v(t,r))-o))}},De=function(e,t){return Le(this,me.call(Te(this),e,t))},Ve=function(e){Te(this);var t=Oe(arguments[1],1),n=this.length,r=x(e),o=m(r.length),i=0;if(o+t>n)throw U(Ae);while(i255?255:255&r),o.v[p](n*t+o.o,r,Ee)},O=function(e,t){V(e,t,{get:function(){return E(this,t)},set:function(e){return R(this,t,e)},enumerable:!0})};b?(h=n((function(e,n,r,o){u(e,h,l,"_d");var i,a,s,c,f=0,p=0;if(w(n)){if(!(n instanceof Z||(c=y(n))==Y||c==X))return ke in n?Pe(h,n):Ie.call(h,n);i=n,p=Oe(r,t);var v=n.byteLength;if(void 0===o){if(v%t)throw U(Ae);if(a=v-p,a<0)throw U(Ae)}else if(a=m(o)*t,a+p>v)throw U(Ae);s=a/t}else s=_(n),a=s*t,i=new Z(a);d(e,"_d",{b:i,o:p,l:a,e:s,v:new Q(i)});while(f>1,u=23===t?T(2,-24)-T(2,-77):0,f=0,d=e<0||0===e&&1/e<0?1:0;for(e=O(e),e!=e||e===E?(o=e!=e?1:0,r=c):(r=C(L(e)/P),e*(i=T(2,-r))<1&&(r--,i*=2),e+=r+l>=1?u/i:u*T(2,1-l),e*i>=2&&(r++,i/=2),r+l>=c?(o=0,r=c):r+l>=1?(o=(e*i-1)*T(2,t),r+=l):(o=e*T(2,l-1)*T(2,t),r=0));t>=8;a[f++]=255&o,o/=256,t-=8);for(r=r<0;a[f++]=255&r,r/=256,s-=8);return a[--f]|=128*d,a}function V(e,t,n){var r,o=8*n-t-1,i=(1<>1,s=o-7,c=n-1,l=e[c--],u=127&l;for(l>>=7;s>0;u=256*u+e[c],c--,s-=8);for(r=u&(1<<-s)-1,u>>=-s,s+=t;s>0;r=256*r+e[c],c--,s-=8);if(0===u)u=1-a;else{if(u===i)return r?NaN:l?-E:E;r+=T(2,t),u-=a}return(l?-1:1)*r*T(2,u-t)}function $(e){return e[3]<<24|e[2]<<16|e[1]<<8|e[0]}function U(e){return[255&e]}function q(e){return[255&e,e>>8&255]}function z(e){return[255&e,e>>8&255,e>>16&255,e>>24&255]}function Y(e){return D(e,52,8)}function X(e){return D(e,23,4)}function G(e,t,n){m(e[y],t,{get:function(){return this[n]}})}function K(e,t,n,r){var o=+n,i=p(o);if(i+t>e[F])throw M(x);var a=e[N]._b,s=i+e[H],c=a.slice(s,s+t);return r?c:c.reverse()}function W(e,t,n,r,o,i){var a=+n,s=p(a);if(s+t>e[F])throw M(x);for(var c=e[N]._b,l=s+e[H],u=r(+o),f=0;fee;)(Z=J[ee++])in k||s(k,Z,R[Z]);i||(Q.constructor=k)}var te=new S(new k(2)),ne=S[y].setInt8;te.setInt8(0,2147483648),te.setInt8(1,2147483649),!te.getInt8(0)&&te.getInt8(1)||c(S[y],{setInt8:function(e,t){ne.call(this,e,t<<24>>24)},setUint8:function(e,t){ne.call(this,e,t<<24>>24)}},!0)}else k=function(e){u(this,k,g);var t=p(e);this._b=_.call(new Array(t),0),this[F]=t},S=function(e,t,n){u(this,S,b),u(e,k,b);var r=e[F],o=f(t);if(o<0||o>r)throw M("Wrong offset!");if(n=void 0===n?r-o:d(n),o+n>r)throw M(w);this[N]=e,this[H]=o,this[F]=n},o&&(G(k,I,"_l"),G(S,j,"_b"),G(S,I,"_l"),G(S,B,"_o")),c(S[y],{getInt8:function(e){return K(this,1,e)[0]<<24>>24},getUint8:function(e){return K(this,1,e)[0]},getInt16:function(e){var t=K(this,2,e,arguments[1]);return(t[1]<<8|t[0])<<16>>16},getUint16:function(e){var t=K(this,2,e,arguments[1]);return t[1]<<8|t[0]},getInt32:function(e){return $(K(this,4,e,arguments[1]))},getUint32:function(e){return $(K(this,4,e,arguments[1]))>>>0},getFloat32:function(e){return V(K(this,4,e,arguments[1]),23,4)},getFloat64:function(e){return V(K(this,8,e,arguments[1]),52,8)},setInt8:function(e,t){W(this,1,e,U,t)},setUint8:function(e,t){W(this,1,e,U,t)},setInt16:function(e,t){W(this,2,e,q,t,arguments[2])},setUint16:function(e,t){W(this,2,e,q,t,arguments[2])},setInt32:function(e,t){W(this,4,e,z,t,arguments[2])},setUint32:function(e,t){W(this,4,e,z,t,arguments[2])},setFloat32:function(e,t){W(this,4,e,X,t,arguments[2])},setFloat64:function(e,t){W(this,8,e,Y,t,arguments[2])}});v(k,g),v(S,b),s(S[y],a.VIEW,!0),t[g]=k,t[b]=S},f0c1:function(e,t,n){"use strict";var r=n("d8e8"),o=n("d3f4"),i=n("31f4"),a=[].slice,s={},c=function(e,t,n){if(!(t in s)){for(var r=[],o=0;o1?arguments[1]:void 0,t.length)),r=String(e);return s?s.call(t,r,n):t.slice(n,n+r.length)===r}})},f605:function(e,t){e.exports=function(e,t,n,r){if(!(e instanceof t)||void 0!==r&&r in e)throw TypeError(n+": incorrect invocation!");return e}},f6a0:function(e,t,n){},f751:function(e,t,n){var r=n("5ca1");r(r.S+r.F,"Object",{assign:n("7333")})},f7a7:function(e,t,n){},fa5b:function(e,t,n){e.exports=n("5537")("native-function-to-string",Function.toString)},fab2:function(e,t,n){var r=n("7726").document;e.exports=r&&r.documentElement},fb0c:function(e,t,n){"use strict";n("10aa")},fb15:function(e,t,n){"use strict";if(n.r(t),"undefined"!==typeof window){var r=window.document.currentScript,o=n("8875");r=o(),"currentScript"in document||Object.defineProperty(document,"currentScript",{get:o});var i=r&&r.src.match(/(.+\/)[^/]+\.js(\?.*)?$/);i&&(n.p=i[1])}n("1c01");var a=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"vac-card-window",style:[{height:e.height},e.cssVars]},[n("div",{staticClass:"vac-chat-container"},[e.singleRoom?e._e():n("rooms-list",{attrs:{"current-user-id":e.currentUserId,rooms:e.orderedRooms,"loading-rooms":e.loadingRooms,"rooms-loaded":e.roomsLoaded,room:e.room,"room-actions":e.roomActions,"text-messages":e.t,"show-search":e.showSearch,"show-add-room":e.showAddRoom,"show-rooms-list":e.showRoomsList,"text-formatting":e.textFormatting,"link-options":e.linkOptions,"is-mobile":e.isMobile},on:{"fetch-room":e.fetchRoom,"fetch-more-rooms":e.fetchMoreRooms,"loading-more-rooms":function(t){e.loadingMoreRooms=t},"add-room":e.addRoom,"room-action-handler":e.roomActionHandler},scopedSlots:e._u([e._l(e.$scopedSlots,(function(t,n){return{key:n,fn:function(t){return[e._t(n,null,null,t)]}}}))],null,!0)}),n("room",{attrs:{"current-user-id":e.currentUserId,rooms:e.rooms,"room-id":e.room.roomId||"","load-first-room":e.loadFirstRoom,messages:e.messages,"room-message":e.roomMessage,"messages-loaded":e.messagesLoaded,"menu-actions":e.menuActions,"message-actions":e.messageActions,"show-send-icon":e.showSendIcon,"show-files":e.showFiles,"show-audio":e.showAudio,"show-emojis":e.showEmojis,"show-reaction-emojis":e.showReactionEmojis,"show-new-messages-divider":e.showNewMessagesDivider,"show-footer":e.showFooter,"text-messages":e.t,"single-room":e.singleRoom,"show-rooms-list":e.showRoomsList,"text-formatting":e.textFormatting,"link-options":e.linkOptions,"is-mobile":e.isMobile,"loading-rooms":e.loadingRooms,"room-info":e.$listeners["room-info"],"textarea-action":e.$listeners["textarea-action-handler"],"accepted-files":e.acceptedFiles},on:{"toggle-rooms-list":e.toggleRoomsList,"room-info":e.roomInfo,"fetch-messages":e.fetchMessages,"send-message":e.sendMessage,"edit-message":e.editMessage,"delete-message":e.deleteMessage,"open-file":e.openFile,"open-user-tag":e.openUserTag,"menu-action-handler":e.menuActionHandler,"message-action-handler":e.messageActionHandler,"send-message-reaction":e.sendMessageReaction,"typing-message":e.typingMessage,"textarea-action-handler":e.textareaActionHandler},scopedSlots:e._u([e._l(e.$scopedSlots,(function(t,n){return{key:n,fn:function(t){return[e._t(n,null,null,t)]}}}))],null,!0)})],1)])},s=[];n("456d"),n("8a81"),n("d25f"),n("9986"),n("f3e2"),n("8e6e"),n("58b2");function c(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function l(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function u(e){for(var t=1;t",{allowed_chars:".",end:"
",type:"tag"}),y);function z(e){var t=[],n=-1,r=null,o=V.find(e),i=!1;if(o.length>0&&(n=e.indexOf(o[0].value),i=!0),Object.keys(q).forEach((function(t){var o=e.indexOf(t);o>=0&&(n<0||ot&&(t=-1);var r=e.value.substring(t+1,e.value.length),o=t>0&&K["b"].some((function(e){return r.toLowerCase().includes(e)}));return o&&this.setImageSize(e),o},setImageSize:function(e){var t=new Image;function n(r){var o=r.path[0].width/150;e.height=Math.round(r.path[0].height/o)+"px",t.removeEventListener("load",n)}t.src=e.value,t.addEventListener("load",n)},formatTags:function(e){return this.users.forEach((function(t){var n=e.indexOf(t._id),r=""===e.substring(n-9,n);r&&(e=e.replace(t._id,"@".concat(t.username)))})),e},openTag:function(e){if(!this.singleLine&&this.checkType(e,"tag")){var t=this.users.find((function(t){return-1!==e.value.indexOf(t.username)}));this.$emit("open-user-tag",t)}}}},Z=W,Q=(n("c3ec"),b(Z,H,D,!1,null,null,null)),J=Q.exports,ee=function(e,t,n){if(e.typingUsers&&e.typingUsers.length){var r=e.users.filter((function(n){if(n._id!==t&&-1!==e.typingUsers.indexOf(n._id)&&(!n.status||"offline"!==n.status.state))return!0}));if(!r.length)return;return 2===e.users.length?n.IS_TYPING:r.map((function(e){return e.username})).join(", ")+" "+n.IS_TYPING}},te=n("bd43"),ne=te.isAudioFile,re={name:"RoomsContent",components:{SvgIcon:T,FormatMessage:J},directives:{clickOutside:F.a.directive},props:{currentUserId:{type:[String,Number],required:!0},room:{type:Object,required:!0},textFormatting:{type:Boolean,required:!0},linkOptions:{type:Object,required:!0},textMessages:{type:Object,required:!0},roomActions:{type:Array,required:!0}},data:function(){return{roomMenuOpened:null}},computed:{getLastMessage:function(){var e=this,t=this.typingUsers;if(t)return t;var n=this.room.lastMessage.deleted?this.textMessages.MESSAGE_DELETED:this.room.lastMessage.content;if(this.room.users.length<=2)return n;var r=this.room.users.find((function(t){return t._id===e.room.lastMessage.senderId}));return this.room.lastMessage.username?"".concat(this.room.lastMessage.username," - ").concat(n):r&&r._id!==this.currentUserId?"".concat(r.username," - ").concat(n):n},userStatus:function(){var e=this;if(this.room.users&&2===this.room.users.length){var t=this.room.users.find((function(t){return t._id!==e.currentUserId}));return t&&t.status?t.status.state:null}},typingUsers:function(){return ee(this.room,this.currentUserId,this.textMessages)},isMessageCheckmarkVisible:function(){return!this.typingUsers&&this.room.lastMessage&&!this.room.lastMessage.deleted&&this.room.lastMessage.senderId===this.currentUserId&&(this.room.lastMessage.saved||this.room.lastMessage.distributed||this.room.lastMessage.seen)},formattedDuration:function(){var e=this.room.lastMessage.file;if(!e.duration)return"".concat(e.name,".").concat(e.extension);var t=Math.floor(e.duration);return(t-(t%=60))/60+(t>9?":":":0")+t},isAudio:function(){return ne(this.room.lastMessage.file)}},methods:{roomActionHandler:function(e){this.closeRoomMenu(),this.$emit("room-action-handler",{action:e,roomId:this.room.roomId})},closeRoomMenu:function(){this.roomMenuOpened=null}}},oe=re,ie=(n("3687"),b(oe,I,B,!1,null,null,null)),ae=ie.exports,se=(n("f559"),function(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]&&arguments[3];return n&&""!==n?e.filter((function(e){return r?ce(e[t]).startsWith(ce(n)):ce(e[t]).includes(ce(n))})):e});function ce(e){return e.toLowerCase().normalize("NFD").replace(/[\u0300-\u036f]/g,"")}var le={name:"RoomsList",components:{InfiniteLoading:h.a,Loader:x,RoomsSearch:j,RoomContent:ae},props:{currentUserId:{type:[String,Number],required:!0},textMessages:{type:Object,required:!0},showRoomsList:{type:Boolean,required:!0},showSearch:{type:Boolean,required:!0},showAddRoom:{type:Boolean,required:!0},textFormatting:{type:Boolean,required:!0},linkOptions:{type:Object,required:!0},isMobile:{type:Boolean,required:!0},rooms:{type:Array,required:!0},loadingRooms:{type:Boolean,required:!0},roomsLoaded:{type:Boolean,required:!0},room:{type:Object,required:!0},roomActions:{type:Array,required:!0}},data:function(){return{filteredRooms:this.rooms||[],infiniteState:null,loadingMoreRooms:!1,selectedRoomId:""}},watch:{rooms:function(e,t){this.filteredRooms=e,this.infiniteState&&(e.length!==t.length||this.roomsLoaded)&&(this.infiniteState.loaded(),this.loadingMoreRooms=!1)},loadingRooms:function(e){e&&(this.infiniteState=null)},loadingMoreRooms:function(e){this.$emit("loading-more-rooms",e)},roomsLoaded:function(e){e&&this.infiniteState&&(this.loadingMoreRooms=!1,this.infiniteState.complete())},room:{immediate:!0,handler:function(e){e&&!this.isMobile&&(this.selectedRoomId=e.roomId)}}},methods:{searchRoom:function(e){this.filteredRooms=se(this.rooms,"roomName",e.target.value)},openRoom:function(e){(e.roomId!==this.room.roomId||this.isMobile)&&(this.isMobile||(this.selectedRoomId=e.roomId),this.$emit("fetch-room",{room:e}))},loadMoreRooms:function(e){if(!this.loadingMoreRooms){if(this.roomsLoaded)return this.loadingMoreRooms=!1,e.complete();this.infiniteState=e,this.$emit("fetch-more-rooms"),this.loadingMoreRooms=!0}}}},ue=le,fe=(n("7d66"),b(ue,f,d,!1,null,null,null)),de=fe.exports,pe=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{directives:[{name:"show",rawName:"v-show",value:e.isMobile&&!e.showRoomsList||!e.isMobile||e.singleRoom,expression:"(isMobile && !showRoomsList) || !isMobile || singleRoom"}],staticClass:"vac-col-messages"},[e.showNoRoom?e._t("no-room-selected",[n("div",{staticClass:"vac-container-center vac-room-empty"},[n("div",[e._v(e._s(e.textMessages.ROOM_EMPTY))])])]):n("room-header",{attrs:{"current-user-id":e.currentUserId,"text-messages":e.textMessages,"single-room":e.singleRoom,"show-rooms-list":e.showRoomsList,"is-mobile":e.isMobile,"room-info":e.roomInfo,"menu-actions":e.menuActions,room:e.room},on:{"toggle-rooms-list":function(t){return e.$emit("toggle-rooms-list")},"room-info":function(t){return e.$emit("room-info")},"menu-action-handler":function(t){return e.$emit("menu-action-handler",t)}},scopedSlots:e._u([e._l(e.$scopedSlots,(function(t,n){return{key:n,fn:function(t){return[e._t(n,null,null,t)]}}}))],null,!0)}),n("div",{ref:"scrollContainer",staticClass:"vac-container-scroll",on:{scroll:e.onContainerScroll}},[n("loader",{attrs:{show:e.loadingMessages}}),n("div",{staticClass:"vac-messages-container"},[n("div",{class:{"vac-messages-hidden":e.loadingMessages}},[n("transition",{attrs:{name:"vac-fade-message"}},[e.showNoMessages?n("div",{staticClass:"vac-text-started"},[e._t("messages-empty",[e._v(" "+e._s(e.textMessages.MESSAGES_EMPTY)+" ")])],2):e._e(),e.showMessagesStarted?n("div",{staticClass:"vac-text-started"},[e._v(" "+e._s(e.textMessages.CONVERSATION_STARTED)+" "+e._s(e.messages[0].date)+" ")]):e._e()]),n("transition",{attrs:{name:"vac-fade-message"}},[e.messages.length?n("infinite-loading",{class:{"vac-infinite-loading":!e.messagesLoaded},attrs:{"force-use-infinite-wrapper":".vac-container-scroll","web-component-name":"vue-advanced-chat",spinner:"spiral",direction:"top",distance:40},on:{infinite:e.loadMoreMessages}},[n("div",{attrs:{slot:"spinner"},slot:"spinner"},[n("loader",{attrs:{show:!0,infinite:!0}})],1),n("div",{attrs:{slot:"no-results"},slot:"no-results"}),n("div",{attrs:{slot:"no-more"},slot:"no-more"})]):e._e()],1),n("transition-group",{key:e.roomId,attrs:{name:"vac-fade-message"}},e._l(e.messages,(function(t,r){return n("div",{key:t._id},[n("message",{attrs:{"current-user-id":e.currentUserId,message:t,index:r,messages:e.messages,"edited-message":e.editedMessage,"message-actions":e.messageActions,"room-users":e.room.users,"text-messages":e.textMessages,"room-footer-ref":e.$refs.roomFooter,"new-messages":e.newMessages,"show-reaction-emojis":e.showReactionEmojis,"show-new-messages-divider":e.showNewMessagesDivider,"text-formatting":e.textFormatting,"link-options":e.linkOptions,"emojis-list":e.emojisList,"hide-options":e.hideOptions},on:{"message-added":e.onMessageAdded,"message-action-handler":e.messageActionHandler,"open-file":e.openFile,"open-user-tag":e.openUserTag,"send-message-reaction":e.sendMessageReaction,"hide-options":function(t){e.hideOptions=t}},scopedSlots:e._u([e._l(e.$scopedSlots,(function(t,n){return{key:n,fn:function(t){return[e._t(n,null,null,t)]}}}))],null,!0)})],1)})),0)],1)])],1),e.loadingMessages?e._e():n("div",[n("transition",{attrs:{name:"vac-bounce"}},[e.scrollIcon?n("div",{staticClass:"vac-icon-scroll",on:{click:e.scrollToBottom}},[n("transition",{attrs:{name:"vac-bounce"}},[e.scrollMessagesCount?n("div",{staticClass:"vac-badge-counter vac-messages-count"},[e._v(" "+e._s(e.scrollMessagesCount)+" ")]):e._e()]),e._t("scroll-icon",[n("svg-icon",{attrs:{name:"dropdown",param:"scroll"}})])],2):e._e()])],1),n("div",{directives:[{name:"show",rawName:"v-show",value:Object.keys(e.room).length&&e.showFooter,expression:"Object.keys(room).length && showFooter"}],ref:"roomFooter",staticClass:"vac-room-footer"},[n("room-message-reply",{attrs:{room:e.room,"message-reply":e.messageReply,"text-formatting":e.textFormatting,"link-options":e.linkOptions},on:{"reset-message":e.resetMessage},scopedSlots:e._u([e._l(e.$scopedSlots,(function(t,n){return{key:n,fn:function(t){return[e._t(n,null,null,t)]}}}))],null,!0)}),n("room-emojis",{attrs:{"filtered-emojis":e.filteredEmojis},on:{"select-emoji":function(t){return e.selectEmoji(t)}}}),n("room-users-tag",{attrs:{"filtered-users-tag":e.filteredUsersTag},on:{"select-user-tag":function(t){return e.selectUserTag(t)}}}),n("div",{staticClass:"vac-box-footer",class:{"vac-app-box-shadow":e.filteredEmojis.length||e.filteredUsersTag.length}},[!e.showAudio||e.imageFile||e.videoFile?e._e():n("div",{staticClass:"vac-icon-textarea-left"},[e.isRecording?[n("div",{staticClass:"vac-svg-button vac-icon-audio-stop",on:{click:e.stopRecorder}},[e._t("audio-stop-icon",[n("svg-icon",{attrs:{name:"close-outline"}})])],2),n("div",{staticClass:"vac-dot-audio-record"}),n("div",{staticClass:"vac-dot-audio-record-time"},[e._v(" "+e._s(e.recordedTime)+" ")]),n("div",{staticClass:"vac-svg-button vac-icon-audio-confirm",on:{click:function(t){return e.toggleRecorder(!1)}}},[e._t("audio-stop-icon",[n("svg-icon",{attrs:{name:"checkmark"}})])],2)]:n("div",{staticClass:"vac-svg-button",on:{click:function(t){return e.toggleRecorder(!0)}}},[e._t("microphone-icon",[n("svg-icon",{staticClass:"vac-icon-microphone",attrs:{name:"microphone"}})])],2)],2),e.imageFile?n("div",{staticClass:"vac-media-container"},[n("div",{staticClass:"vac-svg-button vac-icon-media",on:{click:e.resetMediaFile}},[e._t("image-close-icon",[n("svg-icon",{attrs:{name:"close",param:"image"}})])],2),n("div",{staticClass:"vac-media-file"},[n("img",{ref:"mediaFile",attrs:{src:e.imageFile},on:{load:e.onMediaLoad}})])]):e.videoFile?n("div",{staticClass:"vac-media-container"},[n("div",{staticClass:"vac-svg-button vac-icon-media",on:{click:e.resetMediaFile}},[e._t("image-close-icon",[n("svg-icon",{attrs:{name:"close",param:"image"}})])],2),n("div",{ref:"mediaFile",staticClass:"vac-media-file"},[n("video",{attrs:{width:"100%",height:"100%",controls:""}},[n("source",{attrs:{src:e.videoFile}})])])]):e.file?n("div",{staticClass:"vac-file-container",class:{"vac-file-container-edit":e.editedMessage._id}},[n("div",{staticClass:"vac-icon-file"},[e._t("file-icon",[n("svg-icon",{attrs:{name:"file"}})])],2),n("div",{staticClass:"vac-file-message"},[e._v(" "+e._s(e.file.audio?e.file.name:e.message)+" ")]),n("div",{staticClass:"vac-svg-button vac-icon-remove",on:{click:function(t){return e.resetMessage(null,!0)}}},[e._t("file-close-icon",[n("svg-icon",{attrs:{name:"close"}})])],2)]):e._e(),n("textarea",{directives:[{name:"show",rawName:"v-show",value:!e.file||e.imageFile||e.videoFile,expression:"!file || imageFile || videoFile"},{name:"model",rawName:"v-model",value:e.message,expression:"message"}],ref:"roomTextarea",staticClass:"vac-textarea",class:{"vac-textarea-outline":e.editedMessage._id},style:{"min-height":(e.mediaDimensions?e.mediaDimensions.height:20)+"px","padding-left":(e.mediaDimensions?e.mediaDimensions.width-10:12)+"px"},attrs:{placeholder:e.textMessages.TYPE_MESSAGE},domProps:{value:e.message},on:{input:[function(t){t.target.composing||(e.message=t.target.value)},e.onChangeInput],keydown:[function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"esc",27,t.key,["Esc","Escape"])?null:e.escapeTextarea(t)},function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"enter",13,t.key,"Enter")||t.ctrlKey||t.shiftKey||t.altKey||t.metaKey?null:void t.preventDefault()}]}}),n("div",{staticClass:"vac-icon-textarea"},[e.editedMessage._id?n("div",{staticClass:"vac-svg-button",on:{click:e.resetMessage}},[e._t("edit-close-icon",[n("svg-icon",{attrs:{name:"close-outline"}})])],2):e._e(),e.showEmojis&&(!e.file||e.imageFile||e.videoFile)?n("emoji-picker",{attrs:{"emoji-opened":e.emojiOpened,"position-top":!0},on:{"add-emoji":e.addEmoji,"open-emoji":function(t){e.emojiOpened=t}},scopedSlots:e._u([e._l(e.$scopedSlots,(function(t,n){return{key:n,fn:function(t){return[e._t(n,null,null,t)]}}}))],null,!0)}):e._e(),e.showFiles?n("div",{staticClass:"vac-svg-button",on:{click:e.launchFilePicker}},[e._t("paperclip-icon",[n("svg-icon",{attrs:{name:"paperclip"}})])],2):e._e(),e.textareaAction?n("div",{staticClass:"vac-svg-button",on:{click:e.textareaActionHandler}},[e._t("custom-action-icon",[n("svg-icon",{attrs:{name:"deleted"}})])],2):e._e(),e.showFiles?n("input",{ref:"file",staticStyle:{display:"none"},attrs:{type:"file",accept:e.acceptedFiles},on:{change:function(t){return e.onFileChange(t.target.files)}}}):e._e(),e.showSendIcon?n("div",{staticClass:"vac-svg-button",class:{"vac-send-disabled":e.isMessageEmpty},on:{click:e.sendMessage}},[e._t("send-icon",[n("svg-icon",{attrs:{name:"send",param:e.isMessageEmpty?"disabled":""}})])],2):e._e()],1)])],1)],2)},he=[];n("06db"),n("551c");function me(e,t,n,r,o,i,a){try{var s=e[i](a),c=s.value}catch(l){return void n(l)}s.done?t(c):Promise.resolve(c).then(r,o)}function _e(e){return function(){var t=this,n=arguments;return new Promise((function(r,o){var i=e.apply(t,n);function a(e){me(i,r,o,a,s,"next",e)}function s(e){me(i,r,o,a,s,"throw",e)}a(void 0)}))}}n("2caf");function ve(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);nr.emojiPickerHeight-50;r.emojiPickerTop=a?e+10:e-r.emojiPickerHeight-10,r.emojiPickerRight=r.positionTop?"-50px":r.positionRight?"60px":""}else o&&(r.emojiPickerRight="0px")}))}}},Oe=Re,Te=(n("3c0d"),b(Oe,Se,Ae,!1,null,null,null)),Ce=Te.exports,Le=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"vac-room-header vac-app-border-b"},[e._t("room-header",[n("div",{staticClass:"vac-room-wrapper"},[e.singleRoom?e._e():n("div",{staticClass:"vac-svg-button vac-toggle-button",class:{"vac-rotate-icon":!e.showRoomsList&&!e.isMobile},on:{click:function(t){return e.$emit("toggle-rooms-list")}}},[e._t("toggle-icon",[n("svg-icon",{attrs:{name:"toggle"}})])],2),n("div",{staticClass:"vac-info-wrapper",class:{"vac-item-clickable":e.roomInfo},on:{click:function(t){return e.$emit("room-info")}}},[e._t("room-header-avatar",[e.room.avatar?n("div",{staticClass:"vac-avatar",style:{"background-image":"url('"+e.room.avatar+"')"}}):e._e()],null,{room:e.room}),e._t("room-header-info",[n("div",{staticClass:"vac-text-ellipsis"},[n("div",{staticClass:"vac-room-name vac-text-ellipsis"},[e._v(" "+e._s(e.room.roomName)+" ")]),e.typingUsers?n("div",{staticClass:"vac-room-info vac-text-ellipsis"},[e._v(" "+e._s(e.typingUsers)+" ")]):n("div",{staticClass:"vac-room-info vac-text-ellipsis"},[e._v(" "+e._s(e.userStatus)+" ")])])],null,{room:e.room,typingUsers:e.typingUsers,userStatus:e.userStatus})],2),e.room.roomId?e._t("room-options",[e.menuActions.length?n("div",{staticClass:"vac-svg-button vac-room-options",on:{click:function(t){e.menuOpened=!e.menuOpened}}},[e._t("menu-icon",[n("svg-icon",{attrs:{name:"menu"}})])],2):e._e(),e.menuActions.length?n("transition",{attrs:{name:"vac-slide-left"}},[e.menuOpened?n("div",{directives:[{name:"click-outside",rawName:"v-click-outside",value:e.closeMenu,expression:"closeMenu"}],staticClass:"vac-menu-options"},[n("div",{staticClass:"vac-menu-list"},e._l(e.menuActions,(function(t){return n("div",{key:t.name},[n("div",{staticClass:"vac-menu-item",on:{click:function(n){return e.menuActionHandler(t)}}},[e._v(" "+e._s(t.title)+" ")])])})),0)]):e._e()]):e._e()]):e._e()],2)],null,{room:e.room,typingUsers:e.typingUsers,userStatus:e.userStatus})],2)},Pe=[],je={name:"RoomHeader",components:{SvgIcon:T},directives:{clickOutside:F.a.directive},props:{currentUserId:{type:[String,Number],required:!0},textMessages:{type:Object,required:!0},singleRoom:{type:Boolean,required:!0},showRoomsList:{type:Boolean,required:!0},isMobile:{type:Boolean,required:!0},roomInfo:{type:Function,default:null},menuActions:{type:Array,required:!0},room:{type:Object,required:!0}},data:function(){return{menuOpened:!1}},computed:{typingUsers:function(){return ee(this.room,this.currentUserId,this.textMessages)},userStatus:function(){var e=this;if(this.room.users&&2===this.room.users.length){var t=this.room.users.find((function(t){return t._id!==e.currentUserId}));if(t.status){var n="";return"online"===t.status.state?n=this.textMessages.IS_ONLINE:t.status.lastChanged&&(n=this.textMessages.LAST_SEEN+t.status.lastChanged),n}}}},methods:{menuActionHandler:function(e){this.closeMenu(),this.$emit("menu-action-handler",e)},closeMenu:function(){this.menuOpened=!1}}},Ie=je,Be=(n("e83d"),b(Ie,Le,Pe,!1,null,null,null)),Ne=Be.exports,Fe=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("transition",{attrs:{name:"vac-slide-up"}},[e.messageReply?n("div",{staticClass:"vac-reply-container",style:{bottom:e.$parent.$refs.roomFooter.clientHeight+"px"}},[n("div",{staticClass:"vac-reply-box"},[e.isImageFile?n("img",{staticClass:"vac-image-reply",attrs:{src:e.messageReply.file.url}}):e._e(),n("div",{staticClass:"vac-reply-info"},[n("div",{staticClass:"vac-reply-username"},[e._v(" "+e._s(e.messageReply.username)+" ")]),n("div",{staticClass:"vac-reply-content"},[n("format-message",{attrs:{content:e.messageReply.content,users:e.room.users,"text-formatting":e.textFormatting,"link-options":e.linkOptions,reply:!0},scopedSlots:e._u([e._l(e.$scopedSlots,(function(t,n){return{key:n,fn:function(t){return[e._t(n,null,null,t)]}}}))],null,!0)})],1)])]),n("div",{staticClass:"vac-icon-reply"},[n("div",{staticClass:"vac-svg-button",on:{click:function(t){return e.$emit("reset-message")}}},[e._t("reply-close-icon",[n("svg-icon",{attrs:{name:"close-outline"}})])],2)])]):e._e()])},He=[],De=n("bd43"),Ve=De.isImageFile,$e={name:"RoomMessageReply",components:{SvgIcon:T,FormatMessage:J},props:{room:{type:Object,required:!0},messageReply:{type:Object,default:null},textFormatting:{type:Boolean,required:!0},linkOptions:{type:Object,required:!0}},computed:{isImageFile:function(){return Ve(this.messageReply.file)}}},Ue=$e,qe=(n("3cd7"),b(Ue,Fe,He,!1,null,null,null)),ze=qe.exports,Ye=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("transition",{attrs:{name:"vac-slide-up"}},[e.filteredUsersTag.length?n("div",{staticClass:"vac-tags-container vac-app-box-shadow",style:{bottom:e.$parent.$refs.roomFooter.clientHeight+"px"}},e._l(e.filteredUsersTag,(function(t){return n("div",{key:t._id,staticClass:"vac-tags-box",on:{click:function(n){return e.$emit("select-user-tag",t)}}},[n("div",{staticClass:"vac-tags-info"},[t.avatar?n("div",{staticClass:"vac-avatar vac-tags-avatar",style:{"background-image":"url('"+t.avatar+"')"}}):e._e(),n("div",{staticClass:"vac-tags-username"},[e._v(" "+e._s(t.username)+" ")])])])})),0):e._e()])},Xe=[],Ge={name:"RoomUsersTag",props:{filteredUsersTag:{type:Array,required:!0}}},Ke=Ge,We=(n("0ed5"),b(Ke,Ye,Xe,!1,null,null,null)),Ze=We.exports,Qe=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("transition",{attrs:{name:"vac-slide-up"}},[e.filteredEmojis.length?n("div",{staticClass:"vac-emojis-container vac-app-box-shadow",style:{bottom:e.$parent.$refs.roomFooter.clientHeight+"px"}},e._l(e.filteredEmojis,(function(t){return n("div",{key:t,staticClass:"vac-emoji-element",on:{click:function(n){return e.$emit("select-emoji",t)}}},[e._v(" "+e._s(t)+" ")])})),0):e._e()])},Je=[],et={name:"RoomEmojis",props:{filteredEmojis:{type:Array,required:!0}}},tt=et,nt=(n("fb0c"),b(tt,Qe,Je,!1,null,null,null)),rt=nt.exports,ot=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{ref:e.message._id,staticClass:"vac-message-wrapper",attrs:{id:e.message._id}},[e.showDate?n("div",{staticClass:"vac-card-info vac-card-date"},[e._v(" "+e._s(e.message.date)+" ")]):e._e(),e.newMessage._id===e.message._id?n("div",{staticClass:"vac-line-new"},[e._v(" "+e._s(e.textMessages.NEW_MESSAGES)+" ")]):e._e(),e.message.system?n("div",{staticClass:"vac-card-info vac-card-system"},[n("format-message",{attrs:{content:e.message.content,users:e.roomUsers,"text-formatting":e.textFormatting,"link-options":e.linkOptions},on:{"open-user-tag":e.openUserTag},scopedSlots:e._u([e._l(e.$scopedSlots,(function(t,n){return{key:n,fn:function(t){return[e._t(n,null,null,t)]}}}))],null,!0)})],1):n("div",{staticClass:"vac-message-box",class:{"vac-offset-current":e.message.senderId===e.currentUserId}},[e._t("message",[e.message.avatar&&e.message.senderId!==e.currentUserId?n("div",{staticClass:"vac-avatar",style:{"background-image":"url('"+e.message.avatar+"')"}}):e._e(),n("div",{staticClass:"vac-message-container",class:{"vac-message-container-offset":e.messageOffset}},[n("div",{staticClass:"vac-message-card",class:{"vac-message-highlight":e.isMessageHover,"vac-message-current":e.message.senderId===e.currentUserId,"vac-message-deleted":e.message.deleted},on:{mouseover:e.onHoverMessage,mouseleave:e.onLeaveMessage}},[e.roomUsers.length>2&&e.message.senderId!==e.currentUserId?n("div",{staticClass:"vac-text-username",class:{"vac-username-reply":!e.message.deleted&&e.message.replyMessage}},[n("span",[e._v(e._s(e.message.username))])]):e._e(),!e.message.deleted&&e.message.replyMessage?n("message-reply",{attrs:{message:e.message,"room-users":e.roomUsers,"text-formatting":e.textFormatting,"link-options":e.linkOptions},scopedSlots:e._u([e._l(e.$scopedSlots,(function(t,n){return{key:n,fn:function(t){return[e._t(n,null,null,t)]}}}))],null,!0)}):e._e(),e.message.deleted?n("div",[e._t("deleted-icon",[n("svg-icon",{staticClass:"vac-icon-deleted",attrs:{name:"deleted"}})]),n("span",[e._v(e._s(e.textMessages.MESSAGE_DELETED))])],2):e.message.file?e.isImage?n("message-image",{attrs:{"current-user-id":e.currentUserId,message:e.message,"room-users":e.roomUsers,"text-formatting":e.textFormatting,"link-options":e.linkOptions,"image-hover":e.imageHover},on:{"open-file":e.openFile},scopedSlots:e._u([e._l(e.$scopedSlots,(function(t,n){return{key:n,fn:function(t){return[e._t(n,null,null,t)]}}}))],null,!0)}):e.isVideo?n("div",{staticClass:"vac-video-container"},[n("video",{attrs:{width:"100%",height:"100%",controls:""}},[n("source",{attrs:{src:e.message.file.url}})]),n("format-message",{attrs:{content:e.message.content,users:e.roomUsers,"text-formatting":e.textFormatting,"link-options":e.linkOptions},on:{"open-user-tag":e.openUserTag},scopedSlots:e._u([e._l(e.$scopedSlots,(function(t,n){return{key:n,fn:function(t){return[e._t(n,null,null,t)]}}}))],null,!0)})],1):e.isAudio?n("audio-player",{attrs:{src:e.message.file.url},on:{"update-progress-time":function(t){e.progressTime=t},"hover-audio-progress":function(t){e.hoverAudioProgress=t}},scopedSlots:e._u([e._l(e.$scopedSlots,(function(t,n){return{key:n,fn:function(t){return[e._t(n,null,null,t)]}}}))],null,!0)}):n("div",{staticClass:"vac-file-message"},[n("div",{staticClass:"vac-svg-button vac-icon-file",on:{click:function(t){return t.stopPropagation(),e.openFile("download")}}},[e._t("document-icon",[n("svg-icon",{attrs:{name:"document"}})])],2),n("span",[e._v(e._s(e.message.content))])]):n("format-message",{attrs:{content:e.message.content,users:e.roomUsers,"text-formatting":e.textFormatting,"link-options":e.linkOptions},on:{"open-user-tag":e.openUserTag},scopedSlots:e._u([e._l(e.$scopedSlots,(function(t,n){return{key:n,fn:function(t){return[e._t(n,null,null,t)]}}}))],null,!0)}),e.isAudio&&!e.message.deleted?n("div",{staticClass:"vac-progress-time"},[e._v(" "+e._s(e.progressTime)+" ")]):e._e(),n("div",{staticClass:"vac-text-timestamp"},[e.message.edited&&!e.message.deleted?n("div",{staticClass:"vac-icon-edited"},[e._t("pencil-icon",[n("svg-icon",{attrs:{name:"pencil"}})])],2):e._e(),n("span",[e._v(e._s(e.message.timestamp))]),e.isCheckmarkVisible?n("span",[e._t("checkmark-icon",[n("svg-icon",{staticClass:"vac-icon-check",attrs:{name:e.message.distributed?"double-checkmark":"checkmark",param:e.message.seen?"seen":""}})],null,{message:e.message})],2):e._e()]),n("message-actions",{attrs:{"current-user-id":e.currentUserId,message:e.message,"message-actions":e.messageActions,"room-footer-ref":e.roomFooterRef,"show-reaction-emojis":e.showReactionEmojis,"hide-options":e.hideOptions,"message-hover":e.messageHover,"hover-message-id":e.hoverMessageId,"hover-audio-progress":e.hoverAudioProgress},on:{"hide-options":function(t){return e.$emit("hide-options",!1)},"update-message-hover":function(t){e.messageHover=t},"update-options-opened":function(t){e.optionsOpened=t},"update-emoji-opened":function(t){e.emojiOpened=t},"message-action-handler":e.messageActionHandler,"send-message-reaction":function(t){return e.sendMessageReaction(t)}},scopedSlots:e._u([e._l(e.$scopedSlots,(function(t,n){return{key:n,fn:function(t){return[e._t(n,null,null,t)]}}}))],null,!0)})],1),n("message-reactions",{attrs:{"current-user-id":e.currentUserId,message:e.message,"emojis-list":e.emojisList},on:{"send-message-reaction":function(t){return e.sendMessageReaction(t)}}})],1)],null,{message:e.message})],2)])},it=[],at=(n("0cd8"),function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"vac-reply-message"},[n("div",{staticClass:"vac-reply-username"},[e._v(" "+e._s(e.replyUsername)+" ")]),e.isImage?n("div",{staticClass:"vac-image-reply-container"},[n("div",{staticClass:"vac-message-image vac-message-image-reply",style:{"background-image":"url('"+e.message.replyMessage.file.url+"')"}})]):e.isVideo?n("div",{staticClass:"vac-video-reply-container"},[n("video",{attrs:{width:"100%",height:"100%",controls:""}},[n("source",{attrs:{src:e.message.replyMessage.file.url}})])]):e.isAudio?n("audio-player",{attrs:{src:e.message.replyMessage.file.url},on:{"update-progress-time":function(t){e.progressTime=t},"hover-audio-progress":function(t){e.hoverAudioProgress=t}},scopedSlots:e._u([e._l(e.$scopedSlots,(function(t,n){return{key:n,fn:function(t){return[e._t(n,null,null,t)]}}}))],null,!0)}):e._e(),n("div",{staticClass:"vac-reply-content"},[n("format-message",{attrs:{content:e.message.replyMessage.content,users:e.roomUsers,"text-formatting":e.textFormatting,"link-options":e.linkOptions,reply:!0},scopedSlots:e._u([e._l(e.$scopedSlots,(function(t,n){return{key:n,fn:function(t){return[e._t(n,null,null,t)]}}}))],null,!0)})],1)],1)}),st=[],ct=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",[n("div",{staticClass:"vac-audio-player"},[n("div",{staticClass:"vac-svg-button",on:{click:e.playback}},[e.isPlaying?e._t("audio-pause-icon",[n("svg-icon",{attrs:{name:"audio-pause"}})]):e._t("audio-play-icon",[n("svg-icon",{attrs:{name:"audio-play"}})])],2),n("audio-control",{attrs:{percentage:e.progress},on:{"change-linehead":e.onUpdateProgress,"hover-audio-progress":function(t){return e.$emit("hover-audio-progress",t)}}}),n("audio",{attrs:{id:e.playerUniqId,src:e.audioSource}})],1)])},lt=[],ut=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{ref:"progress",staticClass:"vac-player-bar",on:{mousedown:e.onMouseDown,mouseover:function(t){return e.$emit("hover-audio-progress",!0)},mouseout:function(t){return e.$emit("hover-audio-progress",!1)}}},[n("div",{staticClass:"vac-player-progress"},[n("div",{staticClass:"vac-line-container"},[n("div",{staticClass:"vac-line-progress",style:{width:e.percentage+"%"}}),n("div",{staticClass:"vac-line-dot",class:{"vac-line-dot__active":e.isMouseDown},style:{left:e.percentage+"%"}})])])])},ft=[],dt={props:{percentage:{type:Number,default:0}},data:function(){return{isMouseDown:!1}},methods:{onMouseDown:function(e){this.isMouseDown=!0;var t=this.calculateLineHeadPosition(e,this.$refs["progress"]);this.$emit("change-linehead",t),document.addEventListener("mousemove",this.onMouseMove),document.addEventListener("mouseup",this.onMouseUp)},onMouseUp:function(e){this.isMouseDown=!1,document.removeEventListener("mouseup",this.onMouseUp),document.removeEventListener("mousemove",this.onMouseMove);var t=this.calculateLineHeadPosition(e,this.$refs["progress"]);this.$emit("change-linehead",t)},onMouseMove:function(e){var t=this.calculateLineHeadPosition(e,this.$refs["progress"]);this.$emit("change-linehead",t)},calculateLineHeadPosition:function(e,t){var n=t.getBoundingClientRect().width,r=t.getBoundingClientRect().left,o=(e.clientX-r)/n;return o=o<0?0:o,o=o>1?1:o,o}}},pt=dt,ht=(n("589c"),b(pt,ut,ft,!1,null,null,null)),mt=ht.exports,_t={name:"AudioPlayer",components:{SvgIcon:T,AudioControl:mt},props:{src:{type:String,default:null}},data:function(){return{isPlaying:!1,duration:this.convertTimeMMSS(0),playedTime:this.convertTimeMMSS(0),progress:0}},computed:{playerUniqId:function(){return"audio-player".concat(this._uid)},audioSource:function(){return this.src?this.src:(this.resetProgress(),null)}},mounted:function(){var e=this;this.player=document.getElementById(this.playerUniqId),this.player.addEventListener("ended",(function(){e.isPlaying=!1})),this.player.addEventListener("loadeddata",(function(){e.resetProgress(),e.duration=e.convertTimeMMSS(e.player.duration),e.updateProgressTime()})),this.player.addEventListener("timeupdate",this.onTimeUpdate)},methods:{convertTimeMMSS:function(e){return new Date(1e3*e).toISOString().substr(14,5)},playback:function(){var e=this;this.audioSource&&(this.isPlaying?this.player.pause():setTimeout((function(){return e.player.play()})),this.isPlaying=!this.isPlaying)},resetProgress:function(){this.isPlaying&&this.player.pause(),this.duration=this.convertTimeMMSS(0),this.playedTime=this.convertTimeMMSS(0),this.progress=0,this.isPlaying=!1,this.updateProgressTime()},onTimeUpdate:function(){this.playedTime=this.convertTimeMMSS(this.player.currentTime),this.progress=this.player.currentTime/this.player.duration*100,this.updateProgressTime()},onUpdateProgress:function(e){e&&(this.player.currentTime=e*this.player.duration)},updateProgressTime:function(){this.$emit("update-progress-time",this.progress>1?this.playedTime:this.duration)}}},vt=_t,gt=(n("f43c"),b(vt,ct,lt,!1,null,null,null)),bt=gt.exports,yt=n("bd43"),wt=yt.isAudioFile,xt=yt.isImageFile,kt=yt.isVideoFile,St={name:"MessageReply",components:{AudioPlayer:bt,FormatMessage:J},props:{message:{type:Object,required:!0},textFormatting:{type:Boolean,required:!0},linkOptions:{type:Object,required:!0},roomUsers:{type:Array,required:!0}},computed:{replyUsername:function(){var e=this.message.replyMessage.senderId,t=this.roomUsers.find((function(t){return t._id===e}));return t?t.username:""},isAudio:function(){return wt(this.message.replyMessage.file)},isImage:function(){return xt(this.message.replyMessage.file)},isVideo:function(){return kt(this.message.replyMessage.file)}}},At=St,Mt=(n("a916"),b(At,at,st,!1,null,null,null)),Et=Mt.exports,Rt=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{ref:"imageRef",staticClass:"vac-image-container"},[n("loader",{style:{top:e.imageResponsive.loaderTop+"px"},attrs:{show:e.isImageLoading}}),n("div",{staticClass:"vac-message-image",class:{"vac-image-loading":e.isImageLoading&&e.message.senderId===e.currentUserId},style:{"background-image":"url('"+e.imageBackground+"')","max-height":e.imageResponsive.maxHeight+"px"}},[n("transition",{attrs:{name:"vac-fade-image"}},[e.imageHover&&!e.isImageLoading?n("div",{staticClass:"vac-image-buttons"},[n("div",{staticClass:"vac-svg-button vac-button-view",on:{click:function(t){return t.stopPropagation(),e.$emit("open-file","preview")}}},[e._t("eye-icon",[n("svg-icon",{attrs:{name:"eye"}})])],2),n("div",{staticClass:"vac-svg-button vac-button-download",on:{click:function(t){return t.stopPropagation(),e.$emit("open-file","download")}}},[e._t("document-icon",[n("svg-icon",{attrs:{name:"document"}})])],2)]):e._e()])],1),n("format-message",{attrs:{content:e.message.content,users:e.roomUsers,"text-formatting":e.textFormatting,"link-options":e.linkOptions},on:{"open-user-tag":function(t){return e.$emit("open-user-tag")}},scopedSlots:e._u([e._l(e.$scopedSlots,(function(t,n){return{key:n,fn:function(t){return[e._t(n,null,null,t)]}}}))],null,!0)})],1)},Ot=[],Tt=n("bd43"),Ct=Tt.isImageFile,Lt={name:"MessageImage",components:{SvgIcon:T,Loader:x,FormatMessage:J},props:{currentUserId:{type:[String,Number],required:!0},message:{type:Object,required:!0},roomUsers:{type:Array,required:!0},textFormatting:{type:Boolean,required:!0},linkOptions:{type:Object,required:!0},imageHover:{type:Boolean,required:!0}},data:function(){return{imageLoading:!1,imageResponsive:""}},computed:{isImageLoading:function(){return-1!==this.message.file.url.indexOf("blob:http")||this.imageLoading},imageBackground:function(){return this.isImageLoading&&this.message.file.preview||this.message.file.url}},watch:{message:{immediate:!0,handler:function(){this.checkImgLoad()}}},mounted:function(){this.imageResponsive={maxHeight:this.$refs.imageRef.clientWidth-18,loaderTop:this.$refs.imageRef.clientWidth/2}},methods:{checkImgLoad:function(){var e=this;if(Ct(this.message.file)){this.imageLoading=!0;var t=new Image;t.src=this.message.file.url,t.addEventListener("load",(function(){return e.imageLoading=!1}))}}}},Pt=Lt,jt=(n("c48f"),b(Pt,Rt,Ot,!1,null,null,null)),It=jt.exports,Bt=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"vac-message-actions-wrapper"},[n("div",{staticClass:"vac-options-container",class:{"vac-options-image":e.isImage&&!e.message.replyMessage},style:{display:e.hoverAudioProgress?"none":"initial",width:e.filteredMessageActions.length&&e.showReactionEmojis?"70px":"45px"}},[n("transition-group",{attrs:{name:"vac-slide-left"}},[e.isMessageActions||e.isMessageReactions?n("div",{key:"1",staticClass:"vac-blur-container",class:{"vac-options-me":e.message.senderId===e.currentUserId}}):e._e(),e.isMessageActions?n("div",{key:"2",ref:"actionIcon",staticClass:"vac-svg-button vac-message-options",on:{click:e.openOptions}},[e._t("dropdown-icon",[n("svg-icon",{attrs:{name:"dropdown",param:"message"}})])],2):e._e(),e.isMessageReactions?n("emoji-picker",{directives:[{name:"click-outside",rawName:"v-click-outside",value:e.closeEmoji,expression:"closeEmoji"}],key:"3",staticClass:"vac-message-emojis",style:{right:e.isMessageActions?"30px":"5px"},attrs:{"emoji-opened":e.emojiOpened,"emoji-reaction":!0,"room-footer-ref":e.roomFooterRef,"position-right":e.message.senderId===e.currentUserId},on:{"add-emoji":e.sendMessageReaction,"open-emoji":e.openEmoji},scopedSlots:e._u([{key:"emoji-picker-icon",fn:function(){return[e._t("emoji-picker-reaction-icon")]},proxy:!0}],null,!0)}):e._e()],1)],1),e.filteredMessageActions.length?n("transition",{attrs:{name:e.message.senderId===e.currentUserId?"vac-slide-left":"vac-slide-right"}},[e.optionsOpened?n("div",{directives:[{name:"click-outside",rawName:"v-click-outside",value:e.closeOptions,expression:"closeOptions"}],ref:"menuOptions",staticClass:"vac-menu-options",class:{"vac-menu-left":e.message.senderId!==e.currentUserId},style:{top:e.menuOptionsTop+"px"}},[n("div",{staticClass:"vac-menu-list"},e._l(e.filteredMessageActions,(function(t){return n("div",{key:t.name},[n("div",{staticClass:"vac-menu-item",on:{click:function(n){return e.messageActionHandler(t)}}},[e._v(" "+e._s(t.title)+" ")])])})),0)]):e._e()]):e._e()],1)},Nt=[],Ft=n("bd43"),Ht=Ft.isImageFile,Dt={name:"MessageActions",components:{SvgIcon:T,EmojiPicker:Ce},directives:{clickOutside:F.a.directive},props:{currentUserId:{type:[String,Number],required:!0},message:{type:Object,required:!0},messageActions:{type:Array,required:!0},roomFooterRef:{type:HTMLDivElement,default:null},showReactionEmojis:{type:Boolean,required:!0},hideOptions:{type:Boolean,required:!0},messageHover:{type:Boolean,required:!0},hoverMessageId:{type:[String,Number],default:null},hoverAudioProgress:{type:Boolean,required:!0}},data:function(){return{menuOptionsTop:0,optionsOpened:!1,optionsClosing:!1,emojiOpened:!1}},computed:{isImage:function(){return Ht(this.message.file)},isMessageActions:function(){return this.filteredMessageActions.length&&this.messageHover&&!this.message.deleted&&!this.message.disableActions&&!this.hoverAudioProgress},isMessageReactions:function(){return this.showReactionEmojis&&this.messageHover&&!this.message.deleted&&!this.message.disableReactions&&!this.hoverAudioProgress},filteredMessageActions:function(){return this.message.senderId===this.currentUserId?this.messageActions:this.messageActions.filter((function(e){return!e.onlyMe}))}},watch:{emojiOpened:function(e){this.$emit("update-emoji-opened",e),e&&(this.optionsOpened=!1)},hideOptions:function(e){e&&(this.closeEmoji(),this.closeOptions())},optionsOpened:function(e){this.$emit("update-options-opened",e)}},methods:{openOptions:function(){var e=this;this.optionsClosing||(this.optionsOpened=!this.optionsOpened,this.optionsOpened&&(this.$emit("hide-options",!1),setTimeout((function(){if(e.roomFooterRef&&e.$refs.menuOptions&&e.$refs.actionIcon){var t=e.$refs.menuOptions.getBoundingClientRect().height,n=e.$refs.actionIcon.getBoundingClientRect().top,r=e.roomFooterRef.getBoundingClientRect().top,o=r-n>t+50;e.menuOptionsTop=o?30:-t}}))))},closeOptions:function(){var e=this;this.optionsOpened=!1,this.optionsClosing=!0,this.updateMessageHover(),setTimeout((function(){return e.optionsClosing=!1}),100)},openEmoji:function(){this.emojiOpened=!this.emojiOpened,this.$emit("hide-options",!1)},closeEmoji:function(){this.emojiOpened=!1,this.updateMessageHover()},updateMessageHover:function(){this.hoverMessageId!==this.message._id&&this.$emit("update-message-hover",!1)},messageActionHandler:function(e){this.closeOptions(),this.$emit("message-action-handler",e)},sendMessageReaction:function(e,t){this.$emit("send-message-reaction",{emoji:e,reaction:t}),this.closeEmoji()}}},Vt=Dt,$t=(n("7cec"),b(Vt,Bt,Nt,!1,null,null,null)),Ut=$t.exports,qt=function(){var e=this,t=e.$createElement,n=e._self._c||t;return e.message.deleted?e._e():n("transition-group",{attrs:{name:"vac-slide-left"}},e._l(e.message.reactions,(function(t,r){return n("button",{directives:[{name:"show",rawName:"v-show",value:t.length,expression:"reaction.length"}],key:r+0,staticClass:"vac-button-reaction",class:{"vac-reaction-me":-1!==t.indexOf(e.currentUserId)},style:{float:e.message.senderId===e.currentUserId?"right":"left"},on:{click:function(n){return e.sendMessageReaction({name:r},t)}}},[e._v(" "+e._s(e.getEmojiByName(r))),n("span",[e._v(e._s(t.length))])])})),0)},zt=[],Yt={name:"MessageReactions",props:{currentUserId:{type:[String,Number],required:!0},message:{type:Object,required:!0},emojisList:{type:Object,required:!0}},methods:{getEmojiByName:function(e){return this.emojisList[e]},sendMessageReaction:function(e,t){this.$emit("send-message-reaction",{emoji:e,reaction:t})}}},Xt=Yt,Gt=(n("e498"),b(Xt,qt,zt,!1,null,null,null)),Kt=Gt.exports,Wt=n("4c1d"),Zt=Wt.messagesValidation,Qt=n("bd43"),Jt=Qt.isImageFile,en=Qt.isVideoFile,tn=Qt.isAudioFile,nn={name:"Message",components:{SvgIcon:T,FormatMessage:J,AudioPlayer:bt,MessageReply:Et,MessageImage:It,MessageActions:Ut,MessageReactions:Kt},props:{currentUserId:{type:[String,Number],required:!0},textMessages:{type:Object,required:!0},index:{type:Number,required:!0},message:{type:Object,required:!0},messages:{type:Array,required:!0},editedMessage:{type:Object,required:!0},roomUsers:{type:Array,default:function(){return[]}},messageActions:{type:Array,required:!0},roomFooterRef:{type:HTMLDivElement,default:null},newMessages:{type:Array,default:function(){return[]}},showReactionEmojis:{type:Boolean,required:!0},showNewMessagesDivider:{type:Boolean,required:!0},textFormatting:{type:Boolean,required:!0},linkOptions:{type:Object,required:!0},emojisList:{type:Object,required:!0},hideOptions:{type:Boolean,required:!0}},data:function(){return{hoverMessageId:null,imageHover:!1,messageHover:!1,optionsOpened:!1,emojiOpened:!1,newMessage:{},progressTime:"- : -",hoverAudioProgress:!1}},computed:{showDate:function(){return this.index>0&&this.message.date!==this.messages[this.index-1].date},messageOffset:function(){return this.index>0&&this.message.senderId!==this.messages[this.index-1].senderId},isMessageHover:function(){return this.editedMessage._id===this.message._id||this.hoverMessageId===this.message._id},isImage:function(){return Jt(this.message.file)},isVideo:function(){return en(this.message.file)},isAudio:function(){return tn(this.message.file)},isCheckmarkVisible:function(){return this.message.senderId===this.currentUserId&&!this.message.deleted&&(this.message.saved||this.message.distributed||this.message.seen)}},watch:{newMessages:{immediate:!0,handler:function(e){if(!e.length||!this.showNewMessagesDivider)return this.newMessage={};this.newMessage=e.reduce((function(e,t){return t.index=0;o+=t){var i=n.subarray(o,o+t),a=this.encoder.encodeBuffer(i);this.dataBuffer.push(new Int8Array(a)),r-=t}}},{key:"finish",value:function(){this.dataBuffer.push(this.encoder.flush());var e=new Blob(this.dataBuffer,{type:"audio/mp3"});return this.dataBuffer=[],{id:Date.now(),blob:e,url:URL.createObjectURL(e)}}},{key:"_floatTo16BitPCM",value:function(e,t){for(var n=0;n0&&void 0!==arguments[0]?arguments[0]:{};sn(this,e),this.beforeRecording=t.beforeRecording,this.pauseRecording=t.pauseRecording,this.afterRecording=t.afterRecording,this.micFailed=t.micFailed,this.encoderOptions={bitRate:128,sampleRate:44100},this.bufferSize=4096,this.records=[],this.isPause=!1,this.isRecording=!1,this.duration=0,this.volume=0,this._duration=0}return ln(e,[{key:"start",value:function(){var e={video:!1,audio:{channelCount:1,echoCancellation:!1}};this.beforeRecording&&this.beforeRecording("start recording"),navigator.mediaDevices.getUserMedia(e).then(this._micCaptured.bind(this))["catch"](this._micError.bind(this)),this.isPause=!1,this.isRecording=!0,this.lameEncoder||(this.lameEncoder=new pn(this.encoderOptions))}},{key:"stop",value:function(){this.stream.getTracks().forEach((function(e){return e.stop()})),this.input.disconnect(),this.processor.disconnect(),this.context.close();var e=null;e=this.lameEncoder.finish(),e.duration=this.duration,this.records.push(e),this._duration=0,this.duration=0,this.isPause=!1,this.isRecording=!1,this.afterRecording&&this.afterRecording(e)}},{key:"pause",value:function(){this.stream.getTracks().forEach((function(e){return e.stop()})),this.input.disconnect(),this.processor.disconnect(),this._duration=this.duration,this.isPause=!0,this.pauseRecording&&this.pauseRecording("pause recording")}},{key:"_micCaptured",value:function(e){var t=this;this.context=new(window.AudioContext||window.webkitAudioContext),this.duration=this._duration,this.input=this.context.createMediaStreamSource(e),this.processor=this.context.createScriptProcessor(this.bufferSize,1,1),this.stream=e,this.processor.onaudioprocess=function(e){var n=e.inputBuffer.getChannelData(0),r=0;t.lameEncoder&&t.lameEncoder.encode(n);for(var o=0;o500||this.scrollMessagesCount}},updateFooterList:function(e){if(this.$refs["roomTextarea"]&&("@"!==e||this.room.users&&!(this.room.users.length<=2))&&this.textareaCursorPosition!==this.$refs["roomTextarea"].selectionStart){this.textareaCursorPosition=this.$refs["roomTextarea"].selectionStart;var t=this.textareaCursorPosition;while(t>0&&this.message.charAt(t-1)!==e&&" "!==this.message.charAt(t-1))t--;var n=this.message.charAt(t-2),r=!n.match(/^[0-9a-zA-Z]+$/);if(this.message.charAt(t-1)!==e||n&&" "!==n&&!r)this.resetFooterList();else{var o=this.message.substring(t,this.textareaCursorPosition);":"===e?this.updateEmojis(o):"@"===e&&this.updateShowUsersTag(o)}}},getCharPosition:function(e){var t=this.$refs["roomTextarea"].selectionStart,n=t;while(n>0&&this.message.charAt(n-1)!==e)n--;var r=n;while(this.message.charAt(r)&&this.message.charAt(r).trim())r++;return{position:n,endPosition:r}},updateEmojis:function(e){var t=this;if(e){var n=Object.keys(this.emojisList),r=n.filter((function(t){return t.startsWith(e)}));this.filteredEmojis=r.map((function(e){return t.emojisList[e]}))}},selectEmoji:function(e){var t=this.getCharPosition(":"),n=t.position,r=t.endPosition;this.message=this.message.substr(0,n-1)+e+this.message.substr(r,this.message.length-1),this.cursorRangePosition=n,this.focusTextarea()},updateShowUsersTag:function(e){var t=this;this.filteredUsersTag=se(this.room.users,"username",e,!0).filter((function(e){return e._id!==t.currentUserId}))},selectUserTag:function(e){var t=this.getCharPosition("@"),n=t.position,r=t.endPosition,o=this.message.substr(r,r).length?"":" ";this.message=this.message.substr(0,n)+e.username+o+this.message.substr(r,this.message.length-1),this.selectedUsersTag=[].concat(xe(this.selectedUsersTag),[u({},e)]),this.cursorRangePosition=n+e.username.length+o.length+1,this.focusTextarea()},resetFooterList:function(){this.filteredEmojis=[],this.filteredUsersTag=[],this.textareaCursorPosition=null},onMediaLoad:function(){var e=this.$refs.mediaFile.clientHeight;e<30&&(e=30),this.mediaDimensions={height:this.$refs.mediaFile.clientHeight-10,width:this.$refs.mediaFile.clientWidth+26}},escapeTextarea:function(){this.filteredEmojis.length?this.filteredEmojis=[]:this.filteredUsersTag.length?this.filteredUsersTag=[]:this.resetMessage()},resetMessage:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]&&arguments[0],n=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(r||this.$emit("typing-message",null),n)return this.file=null,this.message="",this.preventKeyboardFromClosing(),void setTimeout((function(){return e.focusTextarea(t)}));this.selectedUsersTag=[],this.resetFooterList(),this.resetTextareaSize(),this.message="",this.editedMessage={},this.messageReply=null,this.file=null,this.mediaDimensions=null,this.imageFile=null,this.videoFile=null,this.emojiOpened=!1,this.preventKeyboardFromClosing(),setTimeout((function(){return e.focusTextarea(t)}))},resetMediaFile:function(){this.mediaDimensions=null,this.imageFile=null,this.videoFile=null,this.editedMessage.file=null,this.file=null,this.focusTextarea()},resetTextareaSize:function(){this.$refs["roomTextarea"]&&(this.$refs["roomTextarea"].style.height="20px")},focusTextarea:function(e){var t=this;_n()&&e||this.$refs["roomTextarea"]&&(this.$refs["roomTextarea"].focus(),this.cursorRangePosition&&setTimeout((function(){t.$refs["roomTextarea"].setSelectionRange(t.cursorRangePosition,t.cursorRangePosition),t.cursorRangePosition=null})))},preventKeyboardFromClosing:function(){this.keepKeyboardOpen&&this.$refs["roomTextarea"].focus()},sendMessage:function(){var e=this.message.trim();(this.file||e)&&(this.selectedUsersTag.forEach((function(t){e=e.replace("@".concat(t.username),"".concat(t._id,""))})),this.editedMessage._id?(this.editedMessage.content!==e||this.file)&&this.$emit("edit-message",{messageId:this.editedMessage._id,newContent:e,file:this.file,replyMessage:this.messageReply,usersTag:this.selectedUsersTag}):this.$emit("send-message",{content:e,file:this.file,replyMessage:this.messageReply,usersTag:this.selectedUsersTag}),this.resetMessage(!0))},loadMoreMessages:function(e){var t=this;this.loadingMessages?this.infiniteState=e:setTimeout((function(){if(!t.loadingMoreMessages){if(t.messagesLoaded||!t.room.roomId)return e.complete();t.infiniteState=e,t.$emit("fetch-messages"),t.loadingMoreMessages=!0}}),vn()?500:0)},messageActionHandler:function(e){var t=e.action,n=e.message;switch(t.name){case"replyMessage":return this.replyMessage(n);case"editMessage":return this.editMessage(n);case"deleteMessage":return this.$emit("delete-message",n);default:return this.$emit("message-action-handler",{action:t,message:n})}},sendMessageReaction:function(e){this.$emit("send-message-reaction",e)},replyMessage:function(e){this.messageReply=e,this.focusTextarea()},editMessage:function(e){var t=this;this.resetMessage(),this.editedMessage=u({},e),this.file=e.file,bn(this.file)?(this.imageFile=e.file.url,setTimeout((function(){return t.onMediaLoad()}))):yn(this.file)&&(this.videoFile=e.file.url,setTimeout((function(){return t.onMediaLoad()}),50)),this.message=e.content},getBottomScroll:function(e){var t=e.scrollHeight,n=e.clientHeight,r=e.scrollTop;return t-n-r},scrollToBottom:function(){var e=this;setTimeout((function(){var t=e.$refs.scrollContainer;t.classList.add("vac-scroll-smooth"),t.scrollTo({top:t.scrollHeight,behavior:"smooth"}),setTimeout((function(){return t.classList.remove("vac-scroll-smooth")}))}),50)},onChangeInput:function(){this.keepKeyboardOpen=!0,this.resizeTextarea(),this.$emit("typing-message",this.message)},resizeTextarea:function(){var e=this.$refs["roomTextarea"];if(e){var t=window.getComputedStyle(e,null).getPropertyValue("padding-top").replace("px","");e.style.height=0,e.style.height=e.scrollHeight-2*t+"px"}},addEmoji:function(e){this.message+=e.icon,this.focusTextarea(!0)},launchFilePicker:function(){this.$refs.file.value="",this.$refs.file.click()},onFileChange:function(e){var t=this;return _e(regeneratorRuntime.mark((function n(){var r,o,i,a;return regeneratorRuntime.wrap((function(n){while(1)switch(n.prev=n.next){case 0:return t.fileDialog=!0,t.resetMediaFile(),r=e[0],o=URL.createObjectURL(r),n.next=6,fetch(o).then((function(e){return e.blob()}));case 6:i=n.sent,a=r.name.lastIndexOf("."),t.file={blob:i,name:r.name.substring(0,a),size:r.size,type:r.type,extension:r.name.substring(a+1),localUrl:o},bn(t.file)?t.imageFile=o:yn(t.file)?(t.videoFile=o,setTimeout((function(){return t.onMediaLoad()}),50)):t.message=r.name,setTimeout((function(){return t.fileDialog=!1}),500);case 11:case"end":return n.stop()}}),n)})))()},initRecorder:function(){return this.isRecording=!1,new hn({beforeRecording:null,afterRecording:null,pauseRecording:null,micFailed:this.micFailed})},micFailed:function(){this.isRecording=!1,this.recorder=this.initRecorder()},toggleRecorder:function(e){var t=this;if(this.isRecording=e,this.recorder.isRecording)try{this.recorder.stop();var n=this.recorder.records[0];this.file={blob:n.blob,name:"audio.".concat(this.format),size:n.blob.size,duration:n.duration,type:n.blob.type,audio:!0,localUrl:URL.createObjectURL(n.blob)},this.recorder=this.initRecorder(),this.sendMessage()}catch(r){setTimeout((function(){return t.stopRecorder()}),100)}else setTimeout((function(){return t.recorder.start()}),200)},stopRecorder:function(){var e=this;if(this.recorder.isRecording)try{this.recorder.stop(),this.recorder=this.initRecorder()}catch(t){setTimeout((function(){return e.stopRecorder()}),100)}},openFile:function(e){var t=e.message,n=e.action;this.$emit("open-file",{message:t,action:n})},openUserTag:function(e){this.$emit("open-user-tag",e)},textareaActionHandler:function(){this.$emit("textarea-action-handler",this.message)}}},xn=wn,kn=(n("a6d4"),b(xn,pe,he,!1,null,null,null)),Sn=kn.exports,An={ROOMS_EMPTY:"No rooms",ROOM_EMPTY:"No room selected",NEW_MESSAGES:"New Messages",MESSAGE_DELETED:"This message was deleted",MESSAGES_EMPTY:"No messages",CONVERSATION_STARTED:"Conversation started on:",TYPE_MESSAGE:"Type message",SEARCH:"Search",IS_ONLINE:"is online",LAST_SEEN:"last seen ",IS_TYPING:"is writing..."},Mn=(n("386d"),{light:{general:{color:"#0a0a0a",backgroundInput:"#fff",colorPlaceholder:"#9ca6af",colorCaret:"#1976d2",colorSpinner:"#333",borderStyle:"1px solid #e1e4e8",backgroundScrollIcon:"#fff"},container:{border:"none",borderRadius:"4px",boxShadow:"0px 1px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12)"},header:{background:"#fff",colorRoomName:"#0a0a0a",colorRoomInfo:"#9ca6af"},footer:{background:"#f8f9fa",borderStyleInput:"1px solid #e1e4e8",borderInputSelected:"#1976d2",backgroundReply:"#e5e5e6",backgroundTagActive:"#e5e5e6"},content:{background:"#f8f9fa"},sidemenu:{background:"#fff",backgroundHover:"#f6f6f6",backgroundActive:"#e5effa",colorActive:"#1976d2",borderColorSearch:"#e1e5e8"},dropdown:{background:"#fff",backgroundHover:"#f6f6f6"},message:{background:"#fff",backgroundMe:"#ccf2cf",color:"#0a0a0a",colorStarted:"#9ca6af",backgroundDeleted:"#dadfe2",colorDeleted:"#757e85",colorUsername:"#9ca6af",colorTimestamp:"#828c94",backgroundDate:"#e5effa",colorDate:"#505a62",backgroundSystem:"#e5effa",colorSystem:"#505a62",backgroundMedia:"rgba(0, 0, 0, 0.15)",backgroundReply:"rgba(0, 0, 0, 0.08)",colorReplyUsername:"#0a0a0a",colorReply:"#6e6e6e",colorTag:"#0d579c",backgroundImage:"#ddd",colorNewMessages:"#1976d2",backgroundScrollCounter:"#0696c7",colorScrollCounter:"#fff",backgroundReaction:"#eee",borderStyleReaction:"1px solid #eee",backgroundReactionHover:"#fff",borderStyleReactionHover:"1px solid #ddd",colorReactionCounter:"#0a0a0a",backgroundReactionMe:"#cfecf5",borderStyleReactionMe:"1px solid #3b98b8",backgroundReactionHoverMe:"#cfecf5",borderStyleReactionHoverMe:"1px solid #3b98b8",colorReactionCounterMe:"#0b59b3",backgroundAudioRecord:"#eb4034",backgroundAudioLine:"rgba(0, 0, 0, 0.15)",backgroundAudioProgress:"#455247",backgroundAudioProgressSelector:"#455247"},markdown:{background:"rgba(239, 239, 239, 0.7)",border:"rgba(212, 212, 212, 0.9)",color:"#e01e5a",colorMulti:"#0a0a0a"},room:{colorUsername:"#0a0a0a",colorMessage:"#67717a",colorTimestamp:"#a2aeb8",colorStateOnline:"#4caf50",colorStateOffline:"#9ca6af",backgroundCounterBadge:"#0696c7",colorCounterBadge:"#fff"},emoji:{background:"#fff"},icons:{search:"#9ca6af",add:"#1976d2",toggle:"#0a0a0a",menu:"#0a0a0a",close:"#9ca6af",closeImage:"#fff",file:"#1976d2",paperclip:"#1976d2",closeOutline:"#000",send:"#1976d2",sendDisabled:"#9ca6af",emoji:"#1976d2",emojiReaction:"rgba(0, 0, 0, 0.3)",document:"#1976d2",pencil:"#9e9e9e",checkmark:"#9e9e9e",checkmarkSeen:"#0696c7",eye:"#fff",dropdownMessage:"#fff",dropdownMessageBackground:"rgba(0, 0, 0, 0.25)",dropdownRoom:"#9e9e9e",dropdownScroll:"#0a0a0a",microphone:"#1976d2",audioPlay:"#455247",audioPause:"#455247",audioCancel:"#eb4034",audioConfirm:"#1ba65b"}},dark:{general:{color:"#fff",backgroundInput:"#202223",colorPlaceholder:"#596269",colorCaret:"#fff",colorSpinner:"#fff",borderStyle:"none",backgroundScrollIcon:"#fff"},container:{border:"none",borderRadius:"4px",boxShadow:"0px 1px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12)"},header:{background:"#181a1b",colorRoomName:"#fff",colorRoomInfo:"#9ca6af"},footer:{background:"#131415",borderStyleInput:"none",borderInputSelected:"#1976d2",backgroundReply:"#1b1c1c",backgroundTagActive:"#1b1c1c"},content:{background:"#131415"},sidemenu:{background:"#181a1b",backgroundHover:"#202224",backgroundActive:"#151617",colorActive:"#fff",borderColorSearch:"#181a1b"},dropdown:{background:"#2a2c33",backgroundHover:"#26282e"},message:{background:"#22242a",backgroundMe:"#1f7e80",color:"#fff",colorStarted:"#9ca6af",backgroundDeleted:"#1b1c21",colorDeleted:"#a2a5a8",colorUsername:"#b3bac9",colorTimestamp:"#ebedf2",backgroundDate:"rgba(0, 0, 0, 0.3)",colorDate:"#bec5cc",backgroundSystem:"rgba(0, 0, 0, 0.3)",colorSystem:"#bec5cc",backgroundMedia:"rgba(0, 0, 0, 0.18)",backgroundReply:"rgba(0, 0, 0, 0.18)",colorReplyUsername:"#fff",colorReply:"#d6d6d6",colorTag:"#f0c60a",backgroundImage:"#ddd",colorNewMessages:"#fff",backgroundScrollCounter:"#1976d2",colorScrollCounter:"#fff",backgroundReaction:"none",borderStyleReaction:"none",backgroundReactionHover:"#202223",borderStyleReactionHover:"none",colorReactionCounter:"#fff",backgroundReactionMe:"#4e9ad1",borderStyleReactionMe:"none",backgroundReactionHoverMe:"#4e9ad1",borderStyleReactionHoverMe:"none",colorReactionCounterMe:"#fff",backgroundAudioRecord:"#eb4034",backgroundAudioLine:"rgba(255, 255, 255, 0.15)",backgroundAudioProgress:"#b7d4d3",backgroundAudioProgressSelector:"#b7d4d3"},markdown:{background:"rgba(239, 239, 239, 0.7)",border:"rgba(212, 212, 212, 0.9)",color:"#e01e5a",colorMulti:"#0a0a0a"},room:{colorUsername:"#fff",colorMessage:"#6c7278",colorTimestamp:"#6c7278",colorStateOnline:"#4caf50",colorStateOffline:"#596269",backgroundCounterBadge:"#1976d2",colorCounterBadge:"#fff"},emoji:{background:"#343740"},icons:{search:"#596269",add:"#fff",toggle:"#fff",menu:"#fff",close:"#9ca6af",closeImage:"#fff",file:"#1976d2",paperclip:"#fff",closeOutline:"#fff",send:"#fff",sendDisabled:"#646a70",emoji:"#fff",emojiReaction:"#fff",document:"#1976d2",pencil:"#ebedf2",checkmark:"#ebedf2",checkmarkSeen:"#f0d90a",eye:"#fff",dropdownMessage:"#fff",dropdownMessageBackground:"rgba(0, 0, 0, 0.25)",dropdownRoom:"#fff",dropdownScroll:"#0a0a0a",microphone:"#fff",audioPlay:"#b7d4d3",audioPause:"#b7d4d3",audioCancel:"#eb4034",audioConfirm:"#1ba65b"}}}),En=function(e){var t=e.general,n=e.container,r=e.header,o=e.footer,i=e.sidemenu,a=e.content,s=e.dropdown,c=e.message,l=e.markdown,u=e.room,f=e.emoji,d=e.icons;return{"--chat-color":t.color,"--chat-bg-color-input":t.backgroundInput,"--chat-color-spinner":t.colorSpinner,"--chat-color-placeholder":t.colorPlaceholder,"--chat-color-caret":t.colorCaret,"--chat-border-style":t.borderStyle,"--chat-bg-scroll-icon":t.backgroundScrollIcon,"--chat-container-border":n.border,"--chat-container-border-radius":n.borderRadius,"--chat-container-box-shadow":n.boxShadow,"--chat-header-bg-color":r.background,"--chat-header-color-name":r.colorRoomName,"--chat-header-color-info":r.colorRoomInfo,"--chat-footer-bg-color":o.background,"--chat-border-style-input":o.borderStyleInput,"--chat-border-color-input-selected":o.borderInputSelected,"--chat-footer-bg-color-reply":o.backgroundReply,"--chat-footer-bg-color-tag-active":o.backgroundTagActive,"--chat-content-bg-color":a.background,"--chat-sidemenu-bg-color":i.background,"--chat-sidemenu-bg-color-hover":i.backgroundHover,"--chat-sidemenu-bg-color-active":i.backgroundActive,"--chat-sidemenu-color-active":i.colorActive,"--chat-sidemenu-border-color-search":i.borderColorSearch,"--chat-dropdown-bg-color":s.background,"--chat-dropdown-bg-color-hover":s.backgroundHover,"--chat-message-bg-color":c.background,"--chat-message-bg-color-me":c.backgroundMe,"--chat-message-color-started":c.colorStarted,"--chat-message-bg-color-deleted":c.backgroundDeleted,"--chat-message-color-deleted":c.colorDeleted,"--chat-message-color-username":c.colorUsername,"--chat-message-color-timestamp":c.colorTimestamp,"--chat-message-bg-color-date":c.backgroundDate,"--chat-message-color-date":c.colorDate,"--chat-message-bg-color-system":c.backgroundSystem,"--chat-message-color-system":c.colorSystem,"--chat-message-color":c.color,"--chat-message-bg-color-media":c.backgroundMedia,"--chat-message-bg-color-reply":c.backgroundReply,"--chat-message-color-reply-username":c.colorReplyUsername,"--chat-message-color-reply-content":c.colorReply,"--chat-message-color-tag":c.colorTag,"--chat-message-bg-color-image":c.backgroundImage,"--chat-message-color-new-messages":c.colorNewMessages,"--chat-message-bg-color-scroll-counter":c.backgroundScrollCounter,"--chat-message-color-scroll-counter":c.colorScrollCounter,"--chat-message-bg-color-reaction":c.backgroundReaction,"--chat-message-border-style-reaction":c.borderStyleReaction,"--chat-message-bg-color-reaction-hover":c.backgroundReactionHover,"--chat-message-border-style-reaction-hover":c.borderStyleReactionHover,"--chat-message-color-reaction-counter":c.colorReactionCounter,"--chat-message-bg-color-reaction-me":c.backgroundReactionMe,"--chat-message-border-style-reaction-me":c.borderStyleReactionMe,"--chat-message-bg-color-reaction-hover-me":c.backgroundReactionHoverMe,"--chat-message-border-style-reaction-hover-me":c.borderStyleReactionHoverMe,"--chat-message-color-reaction-counter-me":c.colorReactionCounterMe,"--chat-message-bg-color-audio-record":c.backgroundAudioRecord,"--chat-message-bg-color-audio-line":c.backgroundAudioLine,"--chat-message-bg-color-audio-progress":c.backgroundAudioProgress,"--chat-message-bg-color-audio-progress-selector":c.backgroundAudioProgressSelector,"--chat-markdown-bg":l.background,"--chat-markdown-border":l.border,"--chat-markdown-color":l.color,"--chat-markdown-color-multi":l.colorMulti,"--chat-room-color-username":u.colorUsername,"--chat-room-color-message":u.colorMessage,"--chat-room-color-timestamp":u.colorTimestamp,"--chat-room-color-online":u.colorStateOnline,"--chat-room-color-offline":u.colorStateOffline,"--chat-room-bg-color-badge":u.backgroundCounterBadge,"--chat-room-color-badge":u.colorCounterBadge,"--chat-emoji-bg-color":f.background,"--chat-icon-color-search":d.search,"--chat-icon-color-add":d.add,"--chat-icon-color-toggle":d.toggle,"--chat-icon-color-menu":d.menu,"--chat-icon-color-close":d.close,"--chat-icon-color-close-image":d.closeImage,"--chat-icon-color-file":d.file,"--chat-icon-color-paperclip":d.paperclip,"--chat-icon-color-close-outline":d.closeOutline,"--chat-icon-color-send":d.send,"--chat-icon-color-send-disabled":d.sendDisabled,"--chat-icon-color-emoji":d.emoji,"--chat-icon-color-emoji-reaction":d.emojiReaction,"--chat-icon-color-document":d.document,"--chat-icon-color-pencil":d.pencil,"--chat-icon-color-checkmark":d.checkmark,"--chat-icon-color-checkmark-seen":d.checkmarkSeen,"--chat-icon-color-eye":d.eye,"--chat-icon-color-dropdown-message":d.dropdownMessage,"--chat-icon-bg-dropdown-message":d.dropdownMessageBackground,"--chat-icon-color-dropdown-room":d.dropdownRoom,"--chat-icon-color-dropdown-scroll":d.dropdownScroll,"--chat-icon-color-microphone":d.microphone,"--chat-icon-color-audio-play":d.audioPlay,"--chat-icon-color-audio-pause":d.audioPause,"--chat-icon-color-audio-cancel":d.audioCancel,"--chat-icon-color-audio-confirm":d.audioConfirm}},Rn=n("4c1d"),On=Rn.roomsValidation,Tn=Rn.partcipantsValidation,Cn={name:"ChatContainer",components:{RoomsList:de,Room:Sn},props:{height:{type:String,default:"600px"},theme:{type:String,default:"light"},styles:{type:Object,default:function(){return{}}},responsiveBreakpoint:{type:Number,default:900},singleRoom:{type:Boolean,default:!1},textMessages:{type:Object,default:null},currentUserId:{type:[String,Number],default:""},rooms:{type:Array,default:function(){return[]}},loadingRooms:{type:Boolean,default:!1},roomsLoaded:{type:Boolean,default:!1},roomId:{type:[String,Number],default:null},loadFirstRoom:{type:Boolean,default:!0},messages:{type:Array,default:function(){return[]}},messagesLoaded:{type:Boolean,default:!1},roomActions:{type:Array,default:function(){return[]}},menuActions:{type:Array,default:function(){return[]}},messageActions:{type:Array,default:function(){return[{name:"replyMessage",title:"Reply"},{name:"editMessage",title:"Edit Message",onlyMe:!0},{name:"deleteMessage",title:"Delete Message",onlyMe:!0}]}},showSearch:{type:Boolean,default:!0},showAddRoom:{type:Boolean,default:!0},showSendIcon:{type:Boolean,default:!0},showFiles:{type:Boolean,default:!0},showAudio:{type:Boolean,default:!0},showEmojis:{type:Boolean,default:!0},showReactionEmojis:{type:Boolean,default:!0},showNewMessagesDivider:{type:Boolean,default:!0},showFooter:{type:Boolean,default:!0},textFormatting:{type:Boolean,default:!0},linkOptions:{type:Object,default:function(){return{disabled:!1,target:"_blank"}}},newMessage:{type:Object,default:null},roomMessage:{type:String,default:""},acceptedFiles:{type:String,default:"*"}},data:function(){return{room:{},loadingMoreRooms:!1,showRoomsList:!0,isMobile:!1}},computed:{t:function(){return u(u({},An),this.textMessages)},cssVars:function(){var e=this,t=Mn[this.theme],n={};return Object.keys(t).map((function(r){n[r]=u(u({},t[r]),e.styles[r]||{})})),En(n)},orderedRooms:function(){return this.rooms.slice().sort((function(e,t){var n=e.index||0,r=t.index||0;return n>r?-1:r>n?1:0}))}},watch:{rooms:{immediate:!0,handler:function(e,t){var n=this;if(e[0]&&e.find((function(e){return e.roomId===n.room.roomId}))||(this.showRoomsList=!0),!this.loadingMoreRooms&&this.loadFirstRoom&&e[0]&&(!t||e.length!==t.length))if(this.roomId){var r=e.find((function(e){return e.roomId===n.roomId}))||{};this.fetchRoom({room:r})}else!this.isMobile||this.singleRoom?this.fetchRoom({room:this.orderedRooms[0]}):this.showRoomsList=!0}},loadingRooms:function(e){e&&(this.room={})},roomId:{immediate:!0,handler:function(e,t){if(e&&!this.loadingRooms&&this.rooms.length){var n=this.rooms.find((function(t){return t.roomId===e}));this.fetchRoom({room:n})}else t&&!e&&(this.room={})}},room:function(e){e&&0!==Object.entries(e).length&&(On(e),e.users.forEach((function(e){Tn(e)})))},newMessage:function(e){this.$set(this.messages,e.index,e.message)}},created:function(){var e=this;this.updateResponsive(),window.addEventListener("resize",(function(t){t.isTrusted&&e.updateResponsive()}))},methods:{updateResponsive:function(){this.isMobile=window.innerWidth=0;--i){var a=this.tryEntries[i],s=a.completion;if("root"===a.tryLoc)return o("end");if(a.tryLoc<=this.prev){var c=r.call(a,"catchLoc"),l=r.call(a,"finallyLoc");if(c&&l){if(this.prev=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&r.call(o,"finallyLoc")&&this.prev=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),R(n),m}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var o=r.arg;R(n)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(e,n,r){return this.delegate={iterator:T(e),resultName:n,nextLoc:r},"next"===this.method&&(this.arg=t),m}},e}(e.exports);try{regeneratorRuntime=r}catch(o){Function("r","regeneratorRuntime = r")(r)}},9828:function(e,t,n){var r=n("4b5e"),o={};o.SFBMAX=3*r.SBMAX_s,e.exports=o},"99af":function(e,t,n){"use strict";var r=n("23e7"),o=n("d039"),i=n("e8b5"),a=n("861d"),s=n("7b0b"),c=n("50c4"),l=n("8418"),u=n("65f0"),f=n("1dde"),d=n("b622"),p=n("2d00"),h=d("isConcatSpreadable"),m=9007199254740991,_="Maximum allowed index exceeded",v=p>=51||!o((function(){var e=[];return e[h]=!1,e.concat()[0]!==e})),g=f("concat"),b=function(e){if(!a(e))return!1;var t=e[h];return void 0!==t?!!t:i(e)},y=!v||!g;r({target:"Array",proto:!0,forced:y},{concat:function(e){var t,n,r,o,i,a=s(this),f=u(a,0),d=0;for(t=-1,r=arguments.length;tm)throw TypeError(_);for(n=0;n=m)throw TypeError(_);l(f,d++,i)}return f.length=d,f}})},"9bdd":function(e,t,n){var r=n("825a"),o=n("2a62");e.exports=function(e,t,n,i){try{return i?t(r(n)[0],n[1]):t(n)}catch(a){throw o(e),a}}},"9bf2":function(e,t,n){var r=n("83ab"),o=n("0cfb"),i=n("825a"),a=n("c04e"),s=Object.defineProperty;t.f=r?s:function(e,t,n){if(i(e),t=a(t,!0),i(n),o)try{return s(e,t,n)}catch(r){}if("get"in n||"set"in n)throw TypeError("Accessors not supported");return"value"in n&&(e[t]=n.value),e}},"9ed3":function(e,t,n){"use strict";var r=n("ae93").IteratorPrototype,o=n("7c73"),i=n("5c6c"),a=n("d44e"),s=n("3f8c"),c=function(){return this};e.exports=function(e,t,n){var l=t+" Iterator";return e.prototype=o(r,{next:i(1,n)}),a(e,l,!1,!0),s[l]=c,e}},a1b7:function(e,t,n){var r=n("4b5e"),o=n("0206"),i=o.System,a=(o.VbrMode,o.Float,o.ShortBlock,o.Util,o.Arrays,o.new_array_n,o.new_byte,o.new_double,o.new_float),s=o.new_float_n;o.new_int,o.new_int_n,o.assert;function c(){this.l=a(r.SBMAX_l),this.s=s([r.SBMAX_s,3]);var e=this;this.assign=function(t){i.arraycopy(t.l,0,e.l,0,r.SBMAX_l);for(var n=0;ni)o.push(arguments[i++]);if(r=t,(p(t)||void 0!==e)&&!se(e))return d(t)||(t=function(e,t){if("function"==typeof r&&(t=r.call(this,e,t)),!se(t))return t}),o[1]=t,X.apply(null,o)}})}Y[V][$]||E(Y[V],$,Y[V].valueOf),B(Y,D),C[H]=!0},a630:function(e,t,n){var r=n("23e7"),o=n("4df4"),i=n("1c7e"),a=!i((function(e){Array.from(e)}));r({target:"Array",stat:!0,forced:a},{from:o})},a691:function(e,t){var n=Math.ceil,r=Math.floor;e.exports=function(e){return isNaN(e=+e)?0:(e>0?r:n)(e)}},a79d:function(e,t,n){"use strict";var r=n("23e7"),o=n("c430"),i=n("fea9"),a=n("d039"),s=n("d066"),c=n("4840"),l=n("cdf9"),u=n("6eeb"),f=!!i&&a((function(){i.prototype["finally"].call({then:function(){}},(function(){}))}));if(r({target:"Promise",proto:!0,real:!0,forced:f},{finally:function(e){var t=c(this,s("Promise")),n="function"==typeof e;return this.then(n?function(n){return l(t,e()).then((function(){return n}))}:e,n?function(n){return l(t,e()).then((function(){throw n}))}:e)}}),!o&&"function"==typeof i){var d=s("Promise").prototype["finally"];i.prototype["finally"]!==d&&u(i.prototype,"finally",d,{unsafe:!0})}},abf5:function(e,t,n){var r=n("0206"),o=(r.System,r.VbrMode,r.Float,r.ShortBlock,r.Util,r.Arrays,r.new_array_n,r.new_byte,r.new_double,r.new_float),i=(r.new_float_n,r.new_int,r.new_int_n,r.assert,n("4b5e"));function a(){this.useAdjust=0,this.aaSensitivityP=0,this.adjust=0,this.adjustLimit=0,this.decay=0,this.floor=0,this.l=o(i.SBMAX_l),this.s=o(i.SBMAX_s),this.psfb21=o(i.PSFB21),this.psfb12=o(i.PSFB12),this.cb_l=o(i.CBANDS),this.cb_s=o(i.CBANDS),this.eql_w=o(i.BLKSIZE/2)}e.exports=a},ae93:function(e,t,n){"use strict";var r,o,i,a=n("d039"),s=n("e163"),c=n("9112"),l=n("5135"),u=n("b622"),f=n("c430"),d=u("iterator"),p=!1,h=function(){return this};[].keys&&(i=[].keys(),"next"in i?(o=s(s(i)),o!==Object.prototype&&(r=o)):p=!0);var m=void 0==r||a((function(){var e={};return r[d].call(e)!==e}));m&&(r={}),f&&!m||l(r,d)||c(r,d,h),e.exports={IteratorPrototype:r,BUGGY_SAFARI_ITERATORS:p}},b041:function(e,t,n){"use strict";var r=n("00ee"),o=n("f5df");e.exports=r?{}.toString:function(){return"[object "+o(this)+"]"}},b0c0:function(e,t,n){var r=n("83ab"),o=n("9bf2").f,i=Function.prototype,a=i.toString,s=/^\s*function ([^ (]*)/,c="name";r&&!(c in i)&&o(i,c,{configurable:!0,get:function(){try{return a.call(this).match(s)[1]}catch(e){return""}}})},b50d:function(e,t,n){"use strict";var r=n("c532"),o=n("467f"),i=n("7aac"),a=n("30b5"),s=n("83b9"),c=n("c345"),l=n("3934"),u=n("2d83");e.exports=function(e){return new Promise((function(t,n){var f=e.data,d=e.headers;r.isFormData(f)&&delete d["Content-Type"];var p=new XMLHttpRequest;if(e.auth){var h=e.auth.username||"",m=e.auth.password?unescape(encodeURIComponent(e.auth.password)):"";d.Authorization="Basic "+btoa(h+":"+m)}var _=s(e.baseURL,e.url);if(p.open(e.method.toUpperCase(),a(_,e.params,e.paramsSerializer),!0),p.timeout=e.timeout,p.onreadystatechange=function(){if(p&&4===p.readyState&&(0!==p.status||p.responseURL&&0===p.responseURL.indexOf("file:"))){var r="getAllResponseHeaders"in p?c(p.getAllResponseHeaders()):null,i=e.responseType&&"text"!==e.responseType?p.response:p.responseText,a={data:i,status:p.status,statusText:p.statusText,headers:r,config:e,request:p};o(t,n,a),p=null}},p.onabort=function(){p&&(n(u("Request aborted",e,"ECONNABORTED",p)),p=null)},p.onerror=function(){n(u("Network Error",e,null,p)),p=null},p.ontimeout=function(){var t="timeout of "+e.timeout+"ms exceeded";e.timeoutErrorMessage&&(t=e.timeoutErrorMessage),n(u(t,e,"ECONNABORTED",p)),p=null},r.isStandardBrowserEnv()){var v=(e.withCredentials||l(_))&&e.xsrfCookieName?i.read(e.xsrfCookieName):void 0;v&&(d[e.xsrfHeaderName]=v)}if("setRequestHeader"in p&&r.forEach(d,(function(e,t){"undefined"===typeof f&&"content-type"===t.toLowerCase()?delete d[t]:p.setRequestHeader(t,e)})),r.isUndefined(e.withCredentials)||(p.withCredentials=!!e.withCredentials),e.responseType)try{p.responseType=e.responseType}catch(g){if("json"!==e.responseType)throw g}"function"===typeof e.onDownloadProgress&&p.addEventListener("progress",e.onDownloadProgress),"function"===typeof e.onUploadProgress&&p.upload&&p.upload.addEventListener("progress",e.onUploadProgress),e.cancelToken&&e.cancelToken.promise.then((function(e){p&&(p.abort(),n(e),p=null)})),f||(f=null),p.send(f)}))}},b575:function(e,t,n){var r,o,i,a,s,c,l,u,f=n("da84"),d=n("06cf").f,p=n("2cf4").set,h=n("1cdc"),m=n("a4b4"),_=n("605d"),v=f.MutationObserver||f.WebKitMutationObserver,g=f.document,b=f.process,y=f.Promise,w=d(f,"queueMicrotask"),x=w&&w.value;x||(r=function(){var e,t;_&&(e=b.domain)&&e.exit();while(o){t=o.fn,o=o.next;try{t()}catch(n){throw o?a():i=void 0,n}}i=void 0,e&&e.enter()},h||_||m||!v||!g?y&&y.resolve?(l=y.resolve(void 0),l.constructor=y,u=l.then,a=function(){u.call(l,r)}):a=_?function(){b.nextTick(r)}:function(){p.call(f,r)}:(s=!0,c=g.createTextNode(""),new v(r).observe(c,{characterData:!0}),a=function(){c.data=s=!s})),e.exports=x||function(e){var t={fn:e,next:void 0};i&&(i.next=t),o||(o=t,a()),i=t}},b622:function(e,t,n){var r=n("da84"),o=n("5692"),i=n("5135"),a=n("90e3"),s=n("4930"),c=n("fdbf"),l=o("wks"),u=r.Symbol,f=c?u:u&&u.withoutSetter||a;e.exports=function(e){return i(l,e)&&(s||"string"==typeof l[e])||(s&&i(u,e)?l[e]=u[e]:l[e]=f("Symbol."+e)),l[e]}},b6a6:function(e,t,n){},b727:function(e,t,n){var r=n("0366"),o=n("44ad"),i=n("7b0b"),a=n("50c4"),s=n("65f0"),c=[].push,l=function(e){var t=1==e,n=2==e,l=3==e,u=4==e,f=6==e,d=7==e,p=5==e||f;return function(h,m,_,v){for(var g,b,y=i(h),w=o(y),x=r(m,_,3),k=a(w.length),S=0,A=v||s,M=t?A(h,k):n||d?A(h,0):void 0;k>S;S++)if((p||S in w)&&(g=w[S],b=x(g,S,y),e))if(t)M[S]=b;else if(b)switch(e){case 3:return!0;case 5:return g;case 6:return S;case 2:c.call(M,g)}else switch(e){case 4:return!1;case 7:c.call(M,g)}return f?-1:l||u?u:M}};e.exports={forEach:l(0),map:l(1),filter:l(2),some:l(3),every:l(4),find:l(5),findIndex:l(6),filterOut:l(7)}},bb22:function(e,t,n){var r=n("ff81"),o=n("0206"),i=(o.System,o.VbrMode),a=o.Float,s=(o.ShortBlock,o.Util),c=(o.Arrays,o.new_array_n,o.new_byte,o.new_double,o.new_float),l=(o.new_float_n,o.new_int),u=(o.new_int_n,o.assert),f=n("4b5e"),d=n("f052"),p=n("bd8b");function h(){var e=null,t=null,n=null;function o(e){return u(0<=e+h.Q_MAX2&&e>2&63,n>=32&&(n-=64),i=Math.pow(10,n/4/10),n=t.exp_nspsytune>>8&63,n>=32&&(n-=64),a=Math.pow(10,n/4/10),n=t.exp_nspsytune>>14&63,n>=32&&(n-=64),s=Math.pow(10,n/4/10),n=t.exp_nspsytune>>20&63,n>=32&&(n-=64),c=s*Math.pow(10,n/4/10),n=0;np.MAX_BITS_PER_GRANULE&&(g=p.MAX_BITS_PER_GRANULE),s=0,c=0;c3*o/4&&(m[c]=3*o/4),m[c]<0&&(m[c]=0),m[c]+r[c]>p.MAX_BITS_PER_CHANNEL&&(m[c]=Math.max(0,p.MAX_BITS_PER_CHANNEL-r[c])),s+=m[c];if(s>v)for(c=0;cp.MAX_BITS_PER_GRANULE){var b=0;for(c=0;c.5&&(o=.5);var i=0|.5*o*(e[0]+e[1]);i>p.MAX_BITS_PER_CHANNEL-e[0]&&(i=p.MAX_BITS_PER_CHANNEL-e[0]),i<0&&(i=0),e[1]>=125&&(e[1]-i>125?(e[0]r&&(e[0]=r*e[0]/i,e[1]=r*e[1]/i),u(e[0]<=p.MAX_BITS_PER_CHANNEL),u(e[1]<=p.MAX_BITS_PER_CHANNEL),u(e[0]+e[1]<=p.MAX_BITS_PER_GRANULE)},this.athAdjust=function(e,t,n){var r=90.30873362,o=94.82444863,i=s.FAST_LOG10_X(t,10),a=e*e,c=0;return i-=n,a>1e-20&&(c=1+s.FAST_LOG10_X(a,10/r)),c<0&&(c=0),i*=c,i+=n+r-o,Math.pow(10,.1*i)},this.calc_xmin=function(e,t,n,r){var o,a=0,s=e.internal_flags,c=0,l=0,u=s.ATH,d=n.xr,p=e.VBR==i.vbr_mtrh?1:0,h=s.masking_lower;for(e.VBR!=i.vbr_mtrh&&e.VBR!=i.vbr_mt||(h=1),o=0;o>1,E=0;do{O=d[c]*d[c],E+=O,M+=O0);if(E>S&&l++,o==f.SBPSY_l){var _=S*s.nsPsy.longfact[o];M<_&&(M=_)}if(0!=p&&(S=M),!e.ATHonly){var v=t.en.l[o];if(v>0)_=E*t.thm.l[o]*h/v,0!=p&&(_*=s.nsPsy.longfact[o]),S<_&&(S=_)}r[a++]=0!=p?S:S*s.nsPsy.longfact[o]}var g=575;if(n.block_type!=f.SHORT_TYPE){var b=576;while(0!=b--&&BitStream.EQ(d[b],0))g=b}n.max_nonzero_coeff=g;for(var y=n.sfb_smin;o>1;A=k/w,M=m;do{var O,T;O=d[c]*d[c],E+=O,M+=O0);if(E>k&&l++,y==f.SBPSY_s){_=k*s.nsPsy.shortfact[y];M<_&&(M=_)}if(S=0!=p?M:k,!e.ATHonly&&!e.ATHshort){v=t.en.s[y][x];if(v>0)_=E*t.thm.s[y][x]*h/v,0!=p&&(_*=s.nsPsy.shortfact[y]),S<_&&(S=_)}r[a++]=0!=p?S:S*s.nsPsy.shortfact[y]}e.useTemporal&&(r[a-3]>r[a-3+1]&&(r[a-3+1]+=(r[a-3]-r[a-3+1])*s.decay),r[a-3+1]>r[a-3+2]&&(r[a-3+2]+=(r[a-3+1]-r[a-3+2])*s.decay))}return l},this.calc_noise_core=function(e,t,n,r){var o=0,i=t.s,a=e.l3_enc;if(i>e.count1)while(0!=n--){l=e.xr[i],i++,o+=l*l,l=e.xr[i],i++,o+=l*l}else if(i>e.big_values){var s=c(2);s[0]=0,s[1]=r;while(0!=n--){l=Math.abs(e.xr[i])-s[a[i]],i++,o+=l*l,l=Math.abs(e.xr[i])-s[a[i]],i++,o+=l*l}}else while(0!=n--){var l;l=Math.abs(e.xr[i])-S[a[i]]*r,i++,o+=l*l,l=Math.abs(e.xr[i])-S[a[i]]*r,i++,o+=l*l}return t.s=i,o},this.calc_noise=function(e,t,n,r,i){var a,c,l=0,u=0,f=0,d=0,p=0,h=-20,m=0,_=e.scalefac,v=0;for(r.over_SSD=0,a=0;a>1,m+e.width[a]>e.max_nonzero_coeff)x=e.max_nonzero_coeff-m+1,c=x>0?x>>1:0;var S=new R(m);y=this.calc_noise_core(e,S,c,k),m=S.s,null!=i&&(i.step[a]=b,i.noise[a]=y),y=n[l++]=y/t[u++],y=s.FAST_LOG10(Math.max(y,1e-20)),null!=i&&(i.noise_log[a]=y)}if(null!=i&&(i.global_gain=e.global_gain),p+=y,y>0)g=Math.max(0|10*y+.5,1),r.over_SSD+=g*g,f++,d+=y;h=Math.max(h,y)}return r.over_count=f,r.tot_noise=p,r.over_noise=d,r.max_noise=h,f},this.set_pinfo=function(e,t,n,r,o){var i,a,s,l,d,p=e.internal_flags,h=0==t.scalefac_scale?.5:1,m=t.scalefac,_=c(L3Side.SFBMAX),v=c(L3Side.SFBMAX),g=new CalcNoiseResult;calc_xmin(e,n,t,_),calc_noise(t,_,v,g,null);var b=0;for(a=t.sfb_lmax,t.block_type!=f.SHORT_TYPE&&0==t.mixed_block_flag&&(a=22),i=0;i0&&!e.ATHonly?l/=n.en.l[i]:l=0,p.pinfo.thr[r][o][i]=d*Math.max(l*n.thm.l[i],p.ATH.l[i]),p.pinfo.LAMEsfb[r][o][i]=0,0!=t.preflag&&i>=11&&(p.pinfo.LAMEsfb[r][o][i]=-h*w[i]),i=0),p.pinfo.LAMEsfb[r][o][i]-=h*m[i])}if(t.block_type==f.SHORT_TYPE)for(a=i,i=t.sfb_smin;i0?l/=n.en.s[i][S]:l=0,(e.ATHonly||e.ATHshort)&&(l=0),p.pinfo.thr_s[r][o][3*i+S]=d*Math.max(l*n.thm.s[i][S],p.ATH.s[i]),p.pinfo.LAMEsfb_s[r][o][3*i+S]=-2*t.subblock_gain[S],i=0)return;a[t]="set-cookie"===t?(a[t]?a[t]:[]).concat([n]):a[t]?a[t]+", "+n:n}})),a):a}},c401:function(e,t,n){"use strict";var r=n("c532");e.exports=function(e,t,n){return r.forEach(n,(function(n){e=n(e,t)})),e}},c430:function(e,t){e.exports=!1},c532:function(e,t,n){"use strict";var r=n("1d2b"),o=Object.prototype.toString;function i(e){return"[object Array]"===o.call(e)}function a(e){return"undefined"===typeof e}function s(e){return null!==e&&!a(e)&&null!==e.constructor&&!a(e.constructor)&&"function"===typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)}function c(e){return"[object ArrayBuffer]"===o.call(e)}function l(e){return"undefined"!==typeof FormData&&e instanceof FormData}function u(e){var t;return t="undefined"!==typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(e):e&&e.buffer&&e.buffer instanceof ArrayBuffer,t}function f(e){return"string"===typeof e}function d(e){return"number"===typeof e}function p(e){return null!==e&&"object"===typeof e}function h(e){if("[object Object]"!==o.call(e))return!1;var t=Object.getPrototypeOf(e);return null===t||t===Object.prototype}function m(e){return"[object Date]"===o.call(e)}function _(e){return"[object File]"===o.call(e)}function v(e){return"[object Blob]"===o.call(e)}function g(e){return"[object Function]"===o.call(e)}function b(e){return p(e)&&g(e.pipe)}function y(e){return"undefined"!==typeof URLSearchParams&&e instanceof URLSearchParams}function w(e){return e.replace(/^\s*/,"").replace(/\s*$/,"")}function x(){return("undefined"===typeof navigator||"ReactNative"!==navigator.product&&"NativeScript"!==navigator.product&&"NS"!==navigator.product)&&("undefined"!==typeof window&&"undefined"!==typeof document)}function k(e,t){if(null!==e&&"undefined"!==typeof e)if("object"!==typeof e&&(e=[e]),i(e))for(var n=0,r=e.length;nc)r(s,n=t[c++])&&(~i(l,n)||l.push(n));return l}},cc12:function(e,t,n){var r=n("da84"),o=n("861d"),i=r.document,a=o(i)&&o(i.createElement);e.exports=function(e){return a?i.createElement(e):{}}},cca6:function(e,t,n){var r=n("23e7"),o=n("60da");r({target:"Object",stat:!0,forced:Object.assign!==o},{assign:o})},cdf9:function(e,t,n){var r=n("825a"),o=n("861d"),i=n("f069");e.exports=function(e,t){if(r(e),o(t)&&t.constructor===e)return t;var n=i.f(e),a=n.resolve;return a(t),n.promise}},ce4e:function(e,t,n){var r=n("da84"),o=n("9112");e.exports=function(e,t){try{o(r,e,t)}catch(n){r[e]=t}return t}},cee4:function(e,t,n){"use strict";var r=n("c532"),o=n("1d2b"),i=n("0a06"),a=n("4a7b"),s=n("2444");function c(e){var t=new i(e),n=o(i.prototype.request,t);return r.extend(n,i.prototype,t),r.extend(n,t),n}var l=c(s);l.Axios=i,l.create=function(e){return c(a(l.defaults,e))},l.Cancel=n("7a77"),l.CancelToken=n("8df4"),l.isCancel=n("2e67"),l.all=function(e){return Promise.all(e)},l.spread=n("0df6"),l.isAxiosError=n("5f02"),e.exports=l,e.exports.default=l},d012:function(e,t){e.exports={}},d039:function(e,t){e.exports=function(e){try{return!!e()}catch(t){return!0}}},d066:function(e,t,n){var r=n("428f"),o=n("da84"),i=function(e){return"function"==typeof e?e:void 0};e.exports=function(e,t){return arguments.length<2?i(r[e])||i(o[e]):r[e]&&r[e][t]||o[e]&&o[e][t]}},d1e7:function(e,t,n){"use strict";var r={}.propertyIsEnumerable,o=Object.getOwnPropertyDescriptor,i=o&&!r.call({1:2},1);t.f=i?function(e){var t=o(this,e);return!!t&&t.enumerable}:r},d28b:function(e,t,n){var r=n("746f");r("iterator")},d2bb:function(e,t,n){var r=n("825a"),o=n("3bbe");e.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var e,t=!1,n={};try{e=Object.getOwnPropertyDescriptor(Object.prototype,"__proto__").set,e.call(n,[]),t=n instanceof Array}catch(i){}return function(n,i){return r(n),o(i),t?e.call(n,i):n.__proto__=i,n}}():void 0)},d3b7:function(e,t,n){var r=n("00ee"),o=n("6eeb"),i=n("b041");r||o(Object.prototype,"toString",i,{unsafe:!0})},d44e:function(e,t,n){var r=n("9bf2").f,o=n("5135"),i=n("b622"),a=i("toStringTag");e.exports=function(e,t,n){e&&!o(e=n?e:e.prototype,a)&&r(e,a,{configurable:!0,value:t})}},d925:function(e,t,n){"use strict";e.exports=function(e){return/^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(e)}},d9be:function(e,t,n){var r=n("0206"),o=r.System,i=(r.VbrMode,r.Float,r.ShortBlock,r.Util,r.Arrays),a=(r.new_array_n,r.new_byte,r.new_double,r.new_float,r.new_float_n,r.new_int),s=(r.new_int_n,r.assert),c=n("4b5e"),l=n("5f84"),u=n("f3b5"),f=n("bb22");function d(){var e=null;function t(e){this.bits=0|e}this.qupvt=null,this.setModules=function(t){this.qupvt=t,e=t};var n=[[0,0],[0,0],[0,0],[0,0],[0,0],[0,1],[1,1],[1,1],[1,2],[2,2],[2,3],[2,3],[3,4],[3,4],[3,4],[4,5],[4,5],[4,6],[5,6],[5,6],[5,7],[6,7],[6,7]];function r(e,t,n,r,o,i){var a=.5946/t;s(e>0),e>>=1;while(0!=e--)o[i++]=a>n[r++]?0:1,o[i++]=a>n[r++]?0:1}function p(t,n,r,o,i,a){s(t>0),t>>=1;var c=t%2;t>>=1;while(0!=t--){var l,u,f,d,p,h,m,_;l=r[o++]*n,u=r[o++]*n,p=0|l,f=r[o++]*n,h=0|u,d=r[o++]*n,m=0|f,l+=e.adj43[p],_=0|d,u+=e.adj43[h],i[a++]=0|l,f+=e.adj43[m],i[a++]=0|u,d+=e.adj43[_],i[a++]=0|f,i[a++]=0|d}0!=c&&(l=r[o++]*n,u=r[o++]*n,p=0|l,h=0|u,l+=e.adj43[p],u+=e.adj43[h],i[a++]=0|l,i[a++]=0|u)}function h(t,n,o,a,l){var u,f,d,h=0,m=0,_=0,v=0,g=n,b=0,y=g,w=0,x=t,k=0;for(d=null!=l&&a.global_gain==l.global_gain,f=a.block_type==c.SHORT_TYPE?38:21,u=0;u<=f;u++){var S=-1;if((d||a.block_type==c.NORM_TYPE)&&(S=a.global_gain-(a.scalefac[u]+(0!=a.preflag?e.pretab[u]:0)<=0),d&&l.step[u]==S)0!=m&&(p(m,o,x,k,y,w),m=0),0!=_&&(r(_,o,x,k,y,w),_=0);else{var A,M=a.width[u];if(h+a.width[u]>a.max_nonzero_coeff)A=a.max_nonzero_coeff-h+1,i.fill(n,a.max_nonzero_coeff,576,0),M=A,M<0&&(M=0),u=f+1;if(0==m&&0==_&&(y=g,w=b,x=t,k=v),null!=l&&l.sfb_count1>0&&u>=l.sfb_count1&&l.step[u]>0&&S>=l.step[u]?(0!=m&&(p(m,o,x,k,y,w),m=0,y=g,w=b,x=t,k=v),_+=M):(0!=_&&(r(_,o,x,k,y,w),_=0,y=g,w=b,x=t,k=v),m+=M),M<=0){0!=_&&(r(_,o,x,k,y,w),_=0),0!=m&&(p(m,o,x,k,y,w),m=0);break}}u<=f&&(b+=a.width[u],v+=a.width[u],h+=a.width[u])}0!=m&&(p(m,o,x,k,y,w),m=0),0!=_&&(r(_,o,x,k,y,w),_=0)}function m(e,t,n){var r=0,o=0;do{var i=e[t++],a=e[t++];r14&&(u=15,c+=s),u*=16),0!=f&&(f>14&&(f=15,c+=s),u+=f),c+=l.largetbl[u]}while(t>=16,c>a&&(c=a,r=o),i.bits+=c,r}function v(e,t,n,r){var o=0,i=l.ht[1].hlen;do{var a=2*e[t+0]+e[t+1];t+=2,o+=i[a]}while(t>=16,s>i&&(s=i,r++),o.bits+=s,r}function b(e,t,n,r,o){var i=0,a=0,s=0,c=l.ht[r].xlen,u=l.ht[r].hlen,f=l.ht[r+1].hlen,d=l.ht[r+2].hlen;do{var p=e[t+0]*c+e[t+1];t+=2,i+=u[p],a+=f[p],s+=d[p]}while(ta&&(i=a,h++),i>s&&(i=s,h=r+2),o.bits+=i,h}var y=[1,2,5,7,7,10,10,13,13,13,13,13,13,13,13];function w(e,t,n,r){var o=m(e,t,n);switch(o){case 0:return o;case 1:return v(e,t,n,r);case 2:case 3:return g(e,t,n,y[o-1],r);case 4:case 5:case 6:case 7:case 8:case 9:case 10:case 11:case 12:case 13:case 14:case 15:return b(e,t,n,y[o-1],r);default:if(o>f.IXMAX_VAL)return r.bits=f.LARGE_BITS,-1;var i,a;for(o-=15,i=24;i<32;i++)if(l.ht[i].linmax>=o)break;for(a=i-8;a<24;a++)if(l.ht[a].linmax>=o)break;return _(e,t,n,a,i,r)}}function x(e,n,r,o,i,a,s){for(var c=n.big_values,l=0;l<=22;l++)o[l]=f.LARGE_BITS;for(l=0;l<16;l++){var u=e.scalefac_band.l[l+1];if(u>=c)break;var d=0,p=new t(d),h=w(r,0,u,p);d=p.bits;for(var m=0;m<8;m++){var _=e.scalefac_band.l[l+m+2];if(_>=c)break;var v=d;p=new t(v);var g=w(r,u,_,p);v=p.bits,o[l+m]>v&&(o[l+m]=v,i[l+m]=l,a[l+m]=h,s[l+m]=g)}}}function k(e,n,r,o,i,a,s,l){for(var u=n.big_values,f=2;f=u)break;var p=i[f-2]+n.count1bits;if(r.part2_3_length<=p)break;var h=new t(p),m=w(o,d,u,h);p=h.bits,r.part2_3_length<=p||(r.assign(n),r.part2_3_length=p,r.region0_count=a[f-2],r.region1_count=f-2-a[f-2],r.table_select[0]=s[f-2],r.table_select[1]=l[f-2],r.table_select[2]=m)}}this.noquant_count_bits=function(e,n,r){var o=n.l3_enc,i=Math.min(576,n.max_nonzero_coeff+2>>1<<1);for(null!=r&&(r.sfb_count1=0);i>1;i-=2)if(0!=(o[i-1]|o[i-2]))break;n.count1=i;for(var a=0,u=0;i>3;i-=4){var f;if((2147483647&(o[i-1]|o[i-2]|o[i-3]|o[i-4]))>1)break;f=2*(2*(2*o[i-4]+o[i-3])+o[i-2])+o[i-1],a+=l.t32l[f],u+=l.t33l[f]}var d=a;if(n.count1table_select=0,a>u&&(d=u,n.count1table_select=1),n.count1bits=d,n.big_values=i,0==i)return d;if(n.block_type==c.SHORT_TYPE)a=3*e.scalefac_band.s[3],a>n.big_values&&(a=n.big_values),u=n.big_values;else if(n.block_type==c.NORM_TYPE){if(s(i<=576),a=n.region0_count=e.bv_scf[i-2],u=n.region1_count=e.bv_scf[i-1],s(a+u+2u&&(a=u);if(a=Math.min(a,i),u=Math.min(u,i),s(a>=0),s(u>=0),0a)return f.LARGE_BITS;if(h(n,i,e.IPOW20(r.global_gain),r,o),0!=(2&t.substep_shaping))for(var c=0,l=r.global_gain+r.scalefac_scale,u=.634521682242439/e.IPOW20(l),d=0;d=0),0==t.pseudohalf[d])c+=m;else for(p=c,c+=m;p=u?i[p]:0}return this.noquant_count_bits(t,r,o)},this.best_huffman_divide=function(e,n){var r=new u,o=n.l3_enc,i=a(23),f=a(23),d=a(23),p=a(23);if(n.block_type!=c.SHORT_TYPE||1!=e.mode_gr){r.assign(n),n.block_type==c.NORM_TYPE&&(x(e,n,o,i,f,d,p),k(e,r,n,o,i,f,d,p));var h=r.big_values;if(!(0==h||(o[h-2]|o[h-1])>1)&&(h=n.count1+2,!(h>576))){r.assign(n),r.count1=h;var m=0,_=0;for(s(h<=576);h>r.big_values;h-=4){var v=2*(2*(2*o[h-4]+o[h-3])+o[h-2])+o[h-1];m+=l.t32l[v],_+=l.t33l[v]}if(r.big_values=h,r.count1table_select=0,m>_&&(m=_,r.count1table_select=1),r.count1bits=m,r.block_type==c.NORM_TYPE)k(e,r,n,o,i,f,d,p);else{if(r.part2_3_length=m,m=e.scalefac_band.l[8],m>h&&(m=h),m>0){var g=new t(r.part2_3_length);r.table_select[0]=w(o,0,m,g),r.part2_3_length=g.bits}if(h>m){g=new t(r.part2_3_length);r.table_select[1]=w(o,m,h,g),r.part2_3_length=g.bits}n.part2_3_length>r.part2_3_length&&n.assign(r)}}}};var S=[1,1,1,1,8,2,2,2,4,4,4,8,8,8,16,16],A=[1,2,4,8,1,2,4,8,2,4,8,2,4,8,4,8],M=[0,0,0,0,3,1,1,1,2,2,2,3,3,3,4,4],E=[0,1,2,3,0,1,2,3,1,2,3,1,2,3,2,3];function R(e,t){for(var n,r=t.tt[1][e],o=t.tt[0][e],i=0;i=0)break;if(n==l.scfsi_band[i+1]){for(n=l.scfsi_band[i];nd&&(r.part2_length=d,r.scalefac_compress=i)}}function O(e,t){for(var n=0;n=0),l+=p,u=-p;u<0;u++)if(0!=f.l3_enc[u+l])break;0==u&&(f.scalefac[i]=d=-2)}if(0==f.scalefac_scale&&0==f.preflag){var h=0;for(i=0;i0&&(h|=f.scalefac[i]);if(0==(1&h)&&0!=h){for(i=0;i0&&(f.scalefac[i]>>=1);f.scalefac_scale=d=1}}if(0==f.preflag&&f.block_type!=c.SHORT_TYPE&&2==t.mode_gr){for(i=11;i0&&(f.scalefac[i]-=e.pretab[i]);f.preflag=d=1}}for(a=0;a<4;a++)o.scfsi[r][a]=0;for(2==t.mode_gr&&1==n&&o.tt[0][r].block_type!=c.SHORT_TYPE&&o.tt[1][r].block_type!=c.SHORT_TYPE&&(R(r,o),d=0),i=0;io[n]&&(t.part2_length=o[n],t.scalefac_compress=n);return t.part2_length==f.LARGE_BITS};var P=[[15,15,7,7],[15,15,7,0],[7,3,0,0],[15,31,31,0],[7,7,7,0],[3,3,0,0]];this.scale_bitcount_lsf=function(t,n){var r,i,l,u,f,d,p,h,m=a(4),_=n.scalefac;for(r=0!=n.preflag?2:0,p=0;p<4;p++)m[p]=0;if(n.block_type==c.SHORT_TYPE){i=1;var v=e.nr_of_sfb_block[r][i];for(h=0,l=0;l<4;l++)for(u=v[l]/3,p=0;pm[l]&&(m[l]=_[3*h+f])}else{i=0;v=e.nr_of_sfb_block[r][i];for(h=0,l=0;l<4;l++)for(u=v[l],p=0;pm[l]&&(m[l]=_[h])}for(d=!1,l=0;l<4;l++)m[l]>P[r][l]&&(d=!0);if(!d){var g,b,y,w;for(n.sfb_partition_table=e.nr_of_sfb_block[r][i],l=0;l<4;l++)n.slen[l]=j[m[l]];switch(g=n.slen[0],b=n.slen[1],y=n.slen[2],w=n.slen[3],r){case 0:n.scalefac_compress=(5*g+b<<4)+(y<<2)+w;break;case 1:n.scalefac_compress=400+(5*g+b<<2)+y;break;case 2:n.scalefac_compress=500+3*g+b;break;default:o.err.printf("intensity stereo not implemented yet\n");break}}if(!d)for(s(null!=n.sfb_partition_table),n.part2_length=0,l=0;l<4;l++)n.part2_length+=n.slen[l]*n.sfb_partition_table[l];return d};var j=[0,1,2,2,3,3,3,3,4,4,4,4,4,4,4,4];this.huffman_init=function(e){for(var t=2;t<=576;t+=2){var r,o=0;while(e.scalefac_band.l[++o]t)r--;r<0&&(r=n[o][0]),e.bv_scf[t-2]=r,r=n[o][1];while(e.scalefac_band.l[r+e.bv_scf[t-2]+2]>t)r--;r<0&&(r=n[o][1]),e.bv_scf[t-1]=r}}}e.exports=d},da84:function(e,t,n){(function(t){var n=function(e){return e&&e.Math==Math&&e};e.exports=n("object"==typeof globalThis&&globalThis)||n("object"==typeof window&&window)||n("object"==typeof self&&self)||n("object"==typeof t&&t)||function(){return this}()||Function("return this")()}).call(this,n("c8ba"))},db3f:function(e,t,n){var r=n("0206"),o=(r.System,r.VbrMode,r.Float,r.ShortBlock,r.Util,r.Arrays,r.new_array_n,r.new_byte),i=(r.new_double,r.new_float,r.new_float_n,r.new_int,r.new_int_n,r.assert);Lame=n("dead"),Presets=n("3967"),GainAnalysis=n("2f21"),QuantizePVT=n("bb22"),Quantize=n("dbb1"),Takehiro=n("d9be"),Reservoir=n("58b1"),MPEGMode=n("67b2"),BitStream=n("69b2");n("4b5e");var a=n("8cba"),s=n("e107");function c(){this.setModules=function(e,t){e,t}}function l(){this.setModules=function(e,t,n){e,t,n}}function u(){}function f(){this.setModules=function(e,t){e,t}}function d(e,t,n){3!=arguments.length&&(console.error("WARN: Mp3Encoder(channels, samplerate, kbps) not specified"),e=1,t=44100,n=128);var r=new Lame,d=new c,p=new GainAnalysis,h=new BitStream,m=new Presets,_=new QuantizePVT,v=new Quantize,g=new s,b=new a,y=new f,w=new Reservoir,x=new Takehiro,k=new l,S=new u;r.setModules(p,h,m,_,v,g,b,y,S),h.setModules(p,S,b,g),y.setModules(h,b),m.setModules(r),v.setModules(h,w,_,x),_.setModules(x,w,r.enc.psy),w.setModules(h),x.setModules(_),g.setModules(r,h,b),d.setModules(k,S),k.setModules(b,y,m);var A=r.lame_init();A.num_channels=e,A.in_samplerate=t,A.brate=n,A.mode=MPEGMode.STEREO,A.quality=3,A.bWriteVbrTag=!1,A.disable_reservoir=!0,A.write_id3tag_automatic=!1;var M=r.lame_init_params(A);i(0==M);var E=1152,R=0|1.25*E+7200,O=o(R);this.encodeBuffer=function(t,n){1==e&&(n=t),i(t.length==n.length),t.length>E&&(E=t.length,R=0|1.25*E+7200,O=o(R));var a=r.lame_encode_buffer(A,t,n,t.length,O,0,R);return new Int8Array(O.subarray(0,a))},this.flush=function(){var e=r.lame_encode_flush(A,O,0,R);return new Int8Array(O.subarray(0,e))}}function p(){this.dataOffset=0,this.dataLen=0,this.channels=0,this.sampleRate=0}function h(e){return e.charCodeAt(0)<<24|e.charCodeAt(1)<<16|e.charCodeAt(2)<<8|e.charCodeAt(3)}p.RIFF=h("RIFF"),p.WAVE=h("WAVE"),p.fmt_=h("fmt "),p.data=h("data"),p.readHeader=function(e){var t=new p,n=e.getUint32(0,!1);if(p.RIFF==n){e.getUint32(4,!0);if(p.WAVE==e.getUint32(8,!1)&&p.fmt_==e.getUint32(12,!1)){var r=e.getUint32(16,!0),o=20;switch(r){case 16:case 18:t.channels=e.getUint16(o+2,!0),t.sampleRate=e.getUint32(o+4,!0);break;default:throw"extended fmt chunk not implemented"}o+=r;var i=p.data,a=0;while(i!=n){if(n=e.getUint32(o,!1),a=e.getUint32(o+4,!0),i==n)break;o+=a+8}return t.dataLen=a,t.dataOffset=o+8,t}}},e.exports.Mp3Encoder=d,e.exports.WavHeader=p},dbb1:function(e,t,n){var r=n("0206"),o=r.System,i=r.VbrMode,a=(r.Float,r.ShortBlock,r.Util),s=r.Arrays,c=(r.new_array_n,r.new_byte,r.new_double,r.new_float),l=(r.new_float_n,r.new_int,r.new_int_n,r.assert),u=n("a26a"),f=n("7276"),d=n("09e6"),p=n("4b5e"),h=n("f3b5"),m=n("9828");function _(){var e,t,n;this.rv=null,this.qupvt=null;var r,_=new u;function v(e,t,n,r){r=0;for(var o=0;o<=n;++o){var i=Math.abs(e.xr[o]);r+=i,t[o]=Math.sqrt(i*Math.sqrt(i)),t[o]>e.xrpow_max&&(e.xrpow_max=t[o])}return r}function g(e,t){var r=e.ATH,o=t.xr;if(t.block_type!=p.SHORT_TYPE)for(var i=!1,a=p.PSFB21-1;a>=0&&!i;a--){var s=e.scalefac_band.psfb21[a],c=e.scalefac_band.psfb21[a+1],l=n.athAdjust(r.adjust,r.psfb21[a],r.floor);e.nsPsy.longfact[21]>1e-12&&(l*=e.nsPsy.longfact[21]);for(var u=c-1;u>=s;u--){if(!(Math.abs(o[u])=0&&!i;a--){s=3*e.scalefac_band.s[12]+(e.scalefac_band.s[13]-e.scalefac_band.s[12])*f+(e.scalefac_band.psfb12[a]-e.scalefac_band.psfb12[0]),c=s+(e.scalefac_band.psfb12[a+1]-e.scalefac_band.psfb12[a]);var d=n.athAdjust(r.adjust,r.psfb12[a],r.floor);e.nsPsy.shortfact[12]>1e-12&&(d*=e.nsPsy.shortfact[12]);for(u=c-1;u>=s;u--){if(!(Math.abs(o[u])n?(f==b.BINSEARCH_DOWN&&(c=!0),c&&(s/=2),f=b.BINSEARCH_UP,d=s):(f==b.BINSEARCH_UP&&(c=!0),c&&(s/=2),f=b.BINSEARCH_DOWN,d=-s),t.global_gain+=d,t.global_gain<0&&(t.global_gain=0,c=!0),t.global_gain>255&&(t.global_gain=255,c=!0)}l(t.global_gain>=0),l(t.global_gain<256);while(a>n&&t.global_gain<255)t.global_gain++,a=r.count_bits(e,i,t,null);return e.CurrentStep[o]=u-t.global_gain>=4?4:2,e.OldValue[o]=t.global_gain,t.part2_3_length=a,a}function w(e){for(var t=0;t0?(i=n.over_SSD<=t.over_SSD,n.over_SSD==t.over_SSD&&(i=n.bits.2||n.max_noise<=0&&t.max_noise<0&&t.max_noise>n.max_noise-.2&&n.tot_noise0&&t.max_noise>n.max_noise-.2&&n.tot_noise0&&t.max_noise>-.05&&t.max_noise>n.max_noise-.1&&n.tot_noise+n.over_noise0&&t.max_noise>-.1&&t.max_noise>n.max_noise-.15&&n.tot_noise+n.over_noise+n.over_noise1?s=Math.pow(s,.5):s*=.95;break;case 0:default:s>1?s=1:s*=.95;break}var u=0;for(c=0;ct.xrpow_max&&(t.xrpow_max=r[u+f]);if(2==a.noise_shaping_amp)return}}}function M(e,t){for(var r=1.2968395546510096,o=0,i=0;ie.xrpow_max&&(e.xrpow_max=t[o+c])}e.scalefac[i]=s>>1}e.preflag=0,e.scalefac_scale=1}function E(e,t,r){var o,i=t.scalefac;for(o=0;o=16)return!0;for(var a=0;a<3;a++){var s=0,c=0;for(o=t.sfb_lmax+a;o=7)return!0;t.subblock_gain[a]++;var u=e.scalefac_band.l[t.sfb_lmax];for(o=t.sfb_lmax+a;o=0),d-=4>>t.scalefac_scale,d>=0)i[o]=d,u+=3*f;else{i[o]=0;var p=210+(d<t.xrpow_max&&(t.xrpow_max=r[u+h]);u+=f*(3-a-1)}}var m=n.IPOW20(202);u+=t.width[o]*(a+1);for(h=-t.width[o];h<0;h++)r[u+h]*=m,r[u+h]>t.xrpow_max&&(t.xrpow_max=r[u+h])}}return!1}function R(e,t,n,o,i){var a=e.internal_flags;A(e,t,n,o,i);var c=w(t);return!c&&(c=2==a.mode_gr?r.scale_bitcount(t):r.scale_bitcount_lsf(a,t),!c||(a.noise_shaping>1&&(s.fill(a.pseudohalf,0),0==t.scalefac_scale?(M(t,o),c=!1):t.block_type==p.SHORT_TYPE&&a.subblock_gain>0&&(c=E(a,t,o)||w(t))),c||(c=2==a.mode_gr?r.scale_bitcount(t):r.scale_bitcount_lsf(a,t)),!c))}this.setModules=function(o,i,a,s){e=o,t=i,this.rv=i,n=a,this.qupvt=a,r=s,_.setModules(n,r)},this.ms_convert=function(e,t){for(var n=0;n<576;++n){var r=e.tt[t][0].xr[n],o=e.tt[t][1].xr[n];e.tt[t][0].xr[n]=(r+o)*(.5*a.SQRT2),e.tt[t][1].xr[n]=(r-o)*(.5*a.SQRT2)}},this.init_xrpow=function(e,t,n){var r=0,o=0|t.max_nonzero_coeff;if(l(null!=n),t.xrpow_max=0,l(0<=o&&o<=575),s.fill(n,o,576,0),r=v(t,n,o,r),r>1e-20){var i=0;0!=(2&e.substep_shaping)&&(i=1);for(var a=0;a=1)&&(s.sort(i,l-b,b),!BitStream.EQ(i[l-1],0))){h=(1-a[d])*o[d],_=0,g=0;do{var y;for(v=1;g+v0)}}while(++d1)break;if(b.block_type==p.SHORT_TYPE&&(x[b.sfbmax+1]>1||x[b.sfbmax+2]>1))break}if(!R(e,b,x,s,O))break;0!=b.scalefac_scale&&(j=254);var I=_-b.part2_length;if(I<=0)break;while((b.part2_3_length=r.count_bits(g,s,b,A))>I&&b.global_gain<=j)b.global_gain++;if(b.global_gain>j)break;if(0==k.over_count){while((b.part2_3_length=r.count_bits(g,s,b,A))>M&&b.global_gain<=j)b.global_gain++;if(b.global_gain>j)break}if(n.calc_noise(b,a,x,P,A),P.bits=b.part2_3_length,v=t.block_type!=p.SHORT_TYPE?e.quant_comp:e.quant_comp_short,v=S(v,k,P,b,x)?1:0,0!=v)M=t.part2_3_length,k=P,t.assign(b),C=0,o.arraycopy(s,0,w,0,576);else if(0==g.full_outer_loop){if(++C>L&&0==k.over_count)break;if(3==g.noise_shaping_amp&&O&&C>30)break;if(3==g.noise_shaping_amp&&O&&b.global_gain-T>15)break}}while(b.global_gain+b.scalefac_scale<255);3==g.noise_shaping_amp?O?E=!0:(b.assign(t),o.arraycopy(w,0,s,0,576),C=0,T=b.global_gain,O=!0):E=!0}return l(t.global_gain+t.scalefac_scale<=255),e.VBR==i.vbr_rh||e.VBR==i.vbr_mtrh?o.arraycopy(w,0,s,0,576):0!=(1&g.substep_shaping)&&trancate_smallspectrums(g,t,a,s),k.over_count},this.iteration_finish_one=function(e,n,o){var i=e.l3_side,a=i.tt[n][o];r.best_scalefac_store(e,n,o,i),1==e.use_best_huffman&&r.best_huffman_divide(e,a),t.ResvAdjust(e,a)},this.VBR_encode_granule=function(e,t,n,r,i,a,u){var f,d,p=e.internal_flags,m=new h,_=c(576),v=u,g=u+1,b=(u+a)/2,y=0,w=p.sfb21_extra;l(v<=LameInternalFlags.MAX_BITS_PER_CHANNEL),s.fill(m.l3_enc,0);do{l(b>=a),l(b<=u),l(a<=u),p.sfb21_extra=!(b>v-42)&&w,d=outer_loop(e,t,n,r,i,b),d<=0?(y=1,g=t.part2_3_length,m.assign(t),o.arraycopy(r,0,_,0,576),u=g-32,f=u-a,b=(u+a)/2):(a=b+32,f=u-a,b=(u+a)/2,0!=y&&(y=2,t.assign(m),o.arraycopy(_,0,r,0,576)))}while(f>12);p.sfb21_extra=w,2==y&&o.arraycopy(m.l3_enc,0,t.l3_enc,0,576),l(t.part2_3_length<=v)},this.get_framebits=function(n,r){var o=n.internal_flags;o.bitrate_index=o.VBR_min_bitrate;var i=e.getframebits(n);o.bitrate_index=1,i=e.getframebits(n);for(var a=1;a<=o.VBR_max_bitrate;a++){o.bitrate_index=a;var s=new MeanBits(i);r[a]=t.ResvFrameBegin(n,s),i=s.bits}},this.VBR_old_prepare=function(e,r,o,i,a,s,c,l,u){var f,d=e.internal_flags,h=0,m=1,_=0;d.bitrate_index=d.VBR_max_bitrate;var v=t.ResvFrameBegin(e,new MeanBits(0))/d.mode_gr;get_framebits(e,s);for(var g=0;gs[d.VBR_max_bitrate]&&(l[g][y]*=s[d.VBR_max_bitrate],l[g][y]/=_),c[g][y]>l[g][y]&&(c[g][y]=l[g][y]);return m},this.bitpressure_strategy=function(e,t,n,r){for(var o=0;oc&&(s[m][_]*=c,s[m][_]/=d);return u},this.calc_target_bits=function(r,o,i,a,s,c){var l,u,f,d,h=r.internal_flags,m=h.l3_side,_=0;h.bitrate_index=h.VBR_max_bitrate;var v=new MeanBits(_);for(c[0]=t.ResvFrameBegin(r,v),_=v.bits,h.bitrate_index=1,_=e.getframebits(r)-8*h.sideinfo_len,s[0]=_/(h.mode_gr*h.channels_out),_=r.VBR_mean_bitrate_kbps*r.framesize*1e3,0!=(1&h.substep_shaping)&&(_*=1.09),_/=r.out_samplerate,_-=8*h.sideinfo_len,_/=h.mode_gr*h.channels_out,l=.93+.07*(11-r.compression_ratio)/5.5,l<.9&&(l=.9),l>1&&(l=1),u=0;u700){var b=int((o[u][f]-700)/1.4),y=m.tt[u][f];a[u][f]=int(l*_),y.block_type==p.SHORT_TYPE&&b<_/2&&(b=_/2),b>3*_/2?b=3*_/2:b<0&&(b=0),a[u][f]+=b}a[u][f]>LameInternalFlags.MAX_BITS_PER_CHANNEL&&(a[u][f]=LameInternalFlags.MAX_BITS_PER_CHANNEL),g+=a[u][f]}if(g>LameInternalFlags.MAX_BITS_PER_GRANULE)for(f=0;fLameInternalFlags.MAX_BITS_PER_CHANNEL&&(a[u][f]=LameInternalFlags.MAX_BITS_PER_CHANNEL),d+=a[u][f];if(d>c[0])for(u=0;u1?0:e<=0?1:Math.cos(Math.PI/2*e)}function I(e,t){var n=44100;return t>=48e3?n=48e3:t>=44100?n=44100:t>=32e3?n=32e3:t>=24e3?n=24e3:t>=22050?n=22050:t>=16e3?n=16e3:t>=12e3?n=12e3:t>=11025?n=11025:t>=8e3&&(n=8e3),-1==e?n:(e<=15960&&(n=44100),e<=15250&&(n=32e3),e<=11220&&(n=24e3),e<=9970&&(n=22050),e<=7230&&(n=16e3),e<=5420&&(n=12e3),e<=4510&&(n=11025),e<=3970&&(n=8e3),t44100?48e3:t>32e3?44100:t>24e3?32e3:t>22050?24e3:t>16e3?22050:t>12e3?16e3:t>11025?12e3:t>8e3?11025:8e3:n)}function B(e,t){switch(e){case 44100:return t.version=1,0;case 48e3:return t.version=1,1;case 32e3:return t.version=1,2;case 22050:return t.version=0,0;case 24e3:return t.version=0,1;case 16e3:return t.version=0,2;case 11025:return t.version=0,0;case 12e3:return t.version=0,1;case 8e3:return t.version=0,2;default:return t.version=0,-1}}function N(e,t,n){n<16e3&&(t=2);for(var r=g.bitrate_table[t][1],o=2;o<=14;o++)g.bitrate_table[t][o]>0&&Math.abs(g.bitrate_table[t][o]-e)0&&g.bitrate_table[t][r]==e)return r;return-1}function H(t,n){var r=[new C(8,2e3),new C(16,3700),new C(24,3900),new C(32,5500),new C(40,7e3),new C(48,7500),new C(56,1e4),new C(64,11e3),new C(80,13500),new C(96,15100),new C(112,15600),new C(128,17e3),new C(160,17500),new C(192,18600),new C(224,19400),new C(256,19700),new C(320,20500)],o=e.nearestBitrateFullIndex(n);t.lowerlimit=r[o].lowpass}function D(e){var t=e.internal_flags,n=32,r=-1;if(t.lowpass1>0){for(var i=999,a=0;a<=31;a++){var s=a/31;s>=t.lowpass2&&(n=Math.min(n,a)),t.lowpass10&&t.highpass2<.75/31*.9&&(t.highpass1=0,t.highpass2=0,o.err.println("Warning: highpass filter disabled. highpass frequency too small\n")),t.highpass2>0){var c=-1;for(a=0;a<=31;a++){s=a/31;s<=t.highpass1&&(r=Math.max(r,a)),t.highpass1t.highpass1?j((t.highpass2-s)/(t.highpass2-t.highpass1+1e-20)):1,u=t.lowpass2>t.lowpass1?j((s-t.lowpass1)/(t.lowpass2-t.lowpass1+1e-20)):1,t.amp_filter[a]=l*u}}function V(e){var t=e.internal_flags;switch(e.quality){default:case 9:t.psymodel=0,t.noise_shaping=0,t.noise_shaping_amp=0,t.noise_shaping_stop=0,t.use_best_huffman=0,t.full_outer_loop=0;break;case 8:e.quality=7;case 7:t.psymodel=1,t.noise_shaping=0,t.noise_shaping_amp=0,t.noise_shaping_stop=0,t.use_best_huffman=0,t.full_outer_loop=0;break;case 6:t.psymodel=1,0==t.noise_shaping&&(t.noise_shaping=1),t.noise_shaping_amp=0,t.noise_shaping_stop=0,-1==t.subblock_gain&&(t.subblock_gain=1),t.use_best_huffman=0,t.full_outer_loop=0;break;case 5:t.psymodel=1,0==t.noise_shaping&&(t.noise_shaping=1),t.noise_shaping_amp=0,t.noise_shaping_stop=0,-1==t.subblock_gain&&(t.subblock_gain=1),t.use_best_huffman=0,t.full_outer_loop=0;break;case 4:t.psymodel=1,0==t.noise_shaping&&(t.noise_shaping=1),t.noise_shaping_amp=0,t.noise_shaping_stop=0,-1==t.subblock_gain&&(t.subblock_gain=1),t.use_best_huffman=1,t.full_outer_loop=0;break;case 3:t.psymodel=1,0==t.noise_shaping&&(t.noise_shaping=1),t.noise_shaping_amp=1,t.noise_shaping_stop=1,-1==t.subblock_gain&&(t.subblock_gain=1),t.use_best_huffman=1,t.full_outer_loop=0;break;case 2:t.psymodel=1,0==t.noise_shaping&&(t.noise_shaping=1),0==t.substep_shaping&&(t.substep_shaping=2),t.noise_shaping_amp=1,t.noise_shaping_stop=1,-1==t.subblock_gain&&(t.subblock_gain=1),t.use_best_huffman=1,t.full_outer_loop=0;break;case 1:t.psymodel=1,0==t.noise_shaping&&(t.noise_shaping=1),0==t.substep_shaping&&(t.substep_shaping=2),t.noise_shaping_amp=2,t.noise_shaping_stop=1,-1==t.subblock_gain&&(t.subblock_gain=1),t.use_best_huffman=1,t.full_outer_loop=0;break;case 0:t.psymodel=1,0==t.noise_shaping&&(t.noise_shaping=1),0==t.substep_shaping&&(t.substep_shaping=2),t.noise_shaping_amp=2,t.noise_shaping_stop=1,-1==t.subblock_gain&&(t.subblock_gain=1),t.use_best_huffman=1,t.full_outer_loop=0;break}}function $(e){var t=e.internal_flags;e.frameNum=0,e.write_id3tag_automatic&&M.id3tag_write_v2(e),t.bitrate_stereoMode_Hist=c([16,5]),t.bitrate_blockType_Hist=c([16,6]),t.PeakSample=0,e.bWriteVbrTag&&A.InitVbrTag(e)}function U(e,t){(null==e.in_buffer_0||e.in_buffer_nsamples=t),t}function z(e,t,o,i,a,s,c){var l,f,d,h,m,_=e.internal_flags,g=0,y=[null,null],w=[null,null];if(_.Class_ID!=L)return-3;if(0==i)return 0;if(m=r.copy_buffer(_,a,s,c,0),m<0)return m;if(s+=m,g+=m,w[0]=t,w[1]=o,v.NEQ(e.scale,0)&&v.NEQ(e.scale,1))for(f=0;f0){var k=[null,null],S=0,A=0;k[0]=w[0],k[1]=w[1];var M=new X;if(Q(e,y,k,x,i,M),S=M.n_in,A=M.n_out,_.findReplayGain&&!_.decode_on_the_fly&&n.AnalyzeSamples(_.rgdata,y[0],_.mf_size,y[1],_.mf_size,A,_.channels_out)==GainAnalysis.GAIN_ANALYSIS_ERROR)return-6;if(i-=S,x+=S,_.channels_out,_.mf_size+=A,u(_.mf_size<=p.MFSIZE),_.mf_samples_to_encode<1&&(_.mf_samples_to_encode=b.ENCDELAY+b.POSTDELAY),_.mf_samples_to_encode+=A,_.mf_size>=h){var E=c-g;if(0==c&&(E=0),l=Y(e,y[0],y[1],a,s,E),l<0)return l;for(s+=l,g+=l,_.mf_size-=e.framesize,_.mf_samples_to_encode-=e.framesize,d=0;d<_.channels_out;d++)for(f=0;f<_.mf_size;f++)y[d][f]=y[d][f+e.framesize]}}return u(0==i),g}function Y(t,n,r,o,i,a){var s=e.enc.lame_encode_mp3_frame(t,n,r,o,i,a);return t.frameNum++,s}function X(){this.n_in=0,this.n_out=0}function G(){this.num_used=0}function K(e,t){return 0!=t?K(t,e%t):e}function W(e,t,n){var r=Math.PI*t;e/=n,e<0&&(e=0),e>1&&(e=1);var o=e-.5,i=.42-.5*Math.cos(2*e*Math.PI)+.08*Math.cos(4*e*Math.PI);return Math.abs(o)<1e-9?r/Math.PI:i*Math.sin(n*r*o)/(Math.PI*n*o)}function Z(e,t,n,r,o,i,a,c,l){var f,d,h=e.internal_flags,m=0,_=e.out_samplerate/K(e.out_samplerate,e.in_samplerate);_>p.BPC&&(_=p.BPC);var v=Math.abs(h.resample_ratio-Math.floor(.5+h.resample_ratio))<1e-4?1:0,g=1/h.resample_ratio;g>1&&(g=1);var b=31;0==b%2&&--b,b+=v;var y=b+1;if(0==h.fill_buffer_resample_init){for(h.inbuf_old[0]=s(y),h.inbuf_old[1]=s(y),f=0;f<=2*_;++f)h.blackfilt[f]=s(y);for(h.itime[0]=0,h.itime[1]=0,m=0;m<=2*_;m++){var w=0,x=(m-_)/(2*_);for(f=0;f<=b;f++)w+=h.blackfilt[m][f]=W(f-x,g,b);for(f=0;f<=b;f++)h.blackfilt[m][f]/=w}h.fill_buffer_resample_init=1}var k=h.inbuf_old[l];for(d=0;d=a)break;x=S-h.itime[l]-(m+b%2*.5);u(Math.abs(x)<=.501),A=0|Math.floor(2*x*_+_+.5);var M=0;for(f=0;f<=b;++f){var E,R=f+m-b/2;u(R=0),E=R<0?k[y+R]:o[i+R],M+=E*h.blackfilt[A][f]}t[n+d]=M}if(c.num_used=Math.min(a,b+m-b/2),h.itime[l]+=c.num_used-d*h.resample_ratio,c.num_used>=y)for(f=0;f1.0001)for(var s=0;se-r?n:o},this.lame_init_params=function(e){var t=e.internal_flags;if(t.Class_ID=0,null==t.ATH&&(t.ATH=new h),null==t.PSY&&(t.PSY=new O),null==t.rgdata&&(t.rgdata=new m),t.channels_in=e.num_channels,1==t.channels_in&&(e.mode=MPEGMode.MONO),t.channels_out=e.mode==MPEGMode.MONO?1:2,t.mode_ext=b.MPG_MD_MS_LR,e.mode==MPEGMode.MONO&&(e.force_ms=!1),e.VBR==i.vbr_off&&128!=e.VBR_mean_bitrate_kbps&&0==e.brate&&(e.brate=e.VBR_mean_bitrate_kbps),e.VBR==i.vbr_off||e.VBR==i.vbr_mtrh||e.VBR==i.vbr_mt||(e.free_format=!1),e.VBR==i.vbr_off&&0==e.brate&&v.EQ(e.compression_ratio,0)&&(e.compression_ratio=11.025),e.VBR==i.vbr_off&&e.compression_ratio>0&&(0==e.out_samplerate&&(e.out_samplerate=map2MP3Frequency(int(.97*e.in_samplerate))),e.brate=0|16*e.out_samplerate*t.channels_out/(1e3*e.compression_ratio),t.samplerate_index=B(e.out_samplerate,e),e.free_format||(e.brate=N(e.brate,e.version,e.out_samplerate))),0!=e.out_samplerate&&(e.out_samplerate<16e3?(e.VBR_mean_bitrate_kbps=Math.max(e.VBR_mean_bitrate_kbps,8),e.VBR_mean_bitrate_kbps=Math.min(e.VBR_mean_bitrate_kbps,64)):e.out_samplerate<32e3?(e.VBR_mean_bitrate_kbps=Math.max(e.VBR_mean_bitrate_kbps,8),e.VBR_mean_bitrate_kbps=Math.min(e.VBR_mean_bitrate_kbps,160)):(e.VBR_mean_bitrate_kbps=Math.max(e.VBR_mean_bitrate_kbps,32),e.VBR_mean_bitrate_kbps=Math.min(e.VBR_mean_bitrate_kbps,320))),0==e.lowpassfreq){var o=16e3;switch(e.VBR){case i.vbr_off:var s=new T;H(s,e.brate),o=s.lowerlimit;break;case i.vbr_abr:s=new T;H(s,e.VBR_mean_bitrate_kbps),o=s.lowerlimit;break;case i.vbr_rh:var c=[19500,19e3,18600,18e3,17500,16e3,15600,14900,12500,1e4,3950];if(0<=e.VBR_q&&e.VBR_q<=9){var l=c[e.VBR_q],d=c[e.VBR_q+1],p=e.VBR_q_frac;o=linear_int(l,d,p)}else o=19500;break;default:c=[19500,19e3,18500,18e3,17500,16500,15500,14500,12500,9500,3950];if(0<=e.VBR_q&&e.VBR_q<=9){l=c[e.VBR_q],d=c[e.VBR_q+1],p=e.VBR_q_frac;o=linear_int(l,d,p)}else o=19500}e.mode!=MPEGMode.MONO||e.VBR!=i.vbr_off&&e.VBR!=i.vbr_abr||(o*=1.5),e.lowpassfreq=0|o}if(0==e.out_samplerate&&(2*e.lowpassfreq>e.in_samplerate&&(e.lowpassfreq=e.in_samplerate/2),e.out_samplerate=I(0|e.lowpassfreq,e.in_samplerate)),e.lowpassfreq=Math.min(20500,e.lowpassfreq),e.lowpassfreq=Math.min(e.out_samplerate/2,e.lowpassfreq),e.VBR==i.vbr_off&&(e.compression_ratio=16*e.out_samplerate*t.channels_out/(1e3*e.brate)),e.VBR==i.vbr_abr&&(e.compression_ratio=16*e.out_samplerate*t.channels_out/(1e3*e.VBR_mean_bitrate_kbps)),e.bWriteVbrTag||(e.findReplayGain=!1,e.decode_on_the_fly=!1,t.findPeakSample=!1),t.findReplayGain=e.findReplayGain,t.decode_on_the_fly=e.decode_on_the_fly,t.decode_on_the_fly&&(t.findPeakSample=!0),t.findReplayGain&&n.InitGainAnalysis(t.rgdata,e.out_samplerate)==GainAnalysis.INIT_GAIN_ANALYSIS_ERROR)return e.internal_flags=null,-6;switch(t.decode_on_the_fly&&!e.decode_only&&(null!=t.hip&&E.hip_decode_exit(t.hip),t.hip=E.hip_decode_init()),t.mode_gr=e.out_samplerate<=24e3?1:2,e.framesize=576*t.mode_gr,e.encoder_delay=b.ENCDELAY,t.resample_ratio=e.in_samplerate/e.out_samplerate,e.VBR){case i.vbr_mt:case i.vbr_rh:case i.vbr_mtrh:var y=[5.7,6.5,7.3,8.2,10,11.9,13,14,15,16.5];e.compression_ratio=y[e.VBR_q];break;case i.vbr_abr:e.compression_ratio=16*e.out_samplerate*t.channels_out/(1e3*e.VBR_mean_bitrate_kbps);break;default:e.compression_ratio=16*e.out_samplerate*t.channels_out/(1e3*e.brate);break}if(e.mode==MPEGMode.NOT_SET&&(e.mode=MPEGMode.JOINT_STEREO),e.highpassfreq>0?(t.highpass1=2*e.highpassfreq,e.highpasswidth>=0?t.highpass2=2*(e.highpassfreq+e.highpasswidth):t.highpass2=2*e.highpassfreq,t.highpass1/=e.out_samplerate,t.highpass2/=e.out_samplerate):(t.highpass1=0,t.highpass2=0),e.lowpassfreq>0?(t.lowpass2=2*e.lowpassfreq,e.lowpasswidth>=0?(t.lowpass1=2*(e.lowpassfreq-e.lowpasswidth),t.lowpass1<0&&(t.lowpass1=0)):t.lowpass1=2*e.lowpassfreq,t.lowpass1/=e.out_samplerate,t.lowpass2/=e.out_samplerate):(t.lowpass1=0,t.lowpass2=0),D(e),t.samplerate_index=B(e.out_samplerate,e),t.samplerate_index<0)return e.internal_flags=null,-1;if(e.VBR==i.vbr_off){if(e.free_format)t.bitrate_index=0;else if(e.brate=N(e.brate,e.version,e.out_samplerate),t.bitrate_index=F(e.brate,e.version,e.out_samplerate),t.bitrate_index<=0)return e.internal_flags=null,-1}else t.bitrate_index=1;e.analysis&&(e.bWriteVbrTag=!1),null!=t.pinfo&&(e.bWriteVbrTag=!1),r.init_bit_stream_w(t);for(var S,A=t.samplerate_index+3*e.version+6*(e.out_samplerate<16e3?1:0),M=0;M=0),e.VBR){case i.vbr_mt:e.VBR=i.vbr_mtrh;case i.vbr_mtrh:null==e.useTemporal&&(e.useTemporal=!1),w.apply_preset(e,500-10*e.VBR_q,0),e.quality<0&&(e.quality=LAME_DEFAULT_QUALITY),e.quality<5&&(e.quality=0),e.quality>5&&(e.quality=5),t.PSY.mask_adjust=e.maskingadjust,t.PSY.mask_adjust_short=e.maskingadjust_short,e.experimentalY?t.sfb21_extra=!1:t.sfb21_extra=e.out_samplerate>44e3,t.iteration_loop=new VBRNewIterationLoop(k);break;case i.vbr_rh:w.apply_preset(e,500-10*e.VBR_q,0),t.PSY.mask_adjust=e.maskingadjust,t.PSY.mask_adjust_short=e.maskingadjust_short,e.experimentalY?t.sfb21_extra=!1:t.sfb21_extra=e.out_samplerate>44e3,e.quality>6&&(e.quality=6),e.quality<0&&(e.quality=LAME_DEFAULT_QUALITY),t.iteration_loop=new VBROldIterationLoop(k);break;default:var j;t.sfb21_extra=!1,e.quality<0&&(e.quality=LAME_DEFAULT_QUALITY),j=e.VBR,j==i.vbr_off&&(e.VBR_mean_bitrate_kbps=e.brate),w.apply_preset(e,e.VBR_mean_bitrate_kbps,0),e.VBR=j,t.PSY.mask_adjust=e.maskingadjust,t.PSY.mask_adjust_short=e.maskingadjust_short,j==i.vbr_off?t.iteration_loop=new _(k):t.iteration_loop=new ABRIterationLoop(k);break}if(u(e.scale>=0),e.VBR!=i.vbr_off){if(t.VBR_min_bitrate=1,t.VBR_max_bitrate=14,e.out_samplerate<16e3&&(t.VBR_max_bitrate=8),0!=e.VBR_min_bitrate_kbps&&(e.VBR_min_bitrate_kbps=N(e.VBR_min_bitrate_kbps,e.version,e.out_samplerate),t.VBR_min_bitrate=F(e.VBR_min_bitrate_kbps,e.version,e.out_samplerate),t.VBR_min_bitrate<0))return-1;if(0!=e.VBR_max_bitrate_kbps&&(e.VBR_max_bitrate_kbps=N(e.VBR_max_bitrate_kbps,e.version,e.out_samplerate),t.VBR_max_bitrate=F(e.VBR_max_bitrate_kbps,e.version,e.out_samplerate),t.VBR_max_bitrate<0))return-1;e.VBR_min_bitrate_kbps=g.bitrate_table[e.version][t.VBR_min_bitrate],e.VBR_max_bitrate_kbps=g.bitrate_table[e.version][t.VBR_max_bitrate],e.VBR_mean_bitrate_kbps=Math.min(g.bitrate_table[e.version][t.VBR_max_bitrate],e.VBR_mean_bitrate_kbps),e.VBR_mean_bitrate_kbps=Math.max(g.bitrate_table[e.version][t.VBR_min_bitrate],e.VBR_mean_bitrate_kbps)}return e.tune&&(t.PSY.mask_adjust+=e.tune_value_a,t.PSY.mask_adjust_short+=e.tune_value_a),V(e),u(e.scale>=0),e.athaa_type<0?t.ATH.useAdjust=3:t.ATH.useAdjust=e.athaa_type,t.ATH.aaSensitivityP=Math.pow(10,e.athaa_sensitivity/-10),null==e.short_blocks&&(e.short_blocks=a.short_block_allowed),e.short_blocks!=a.short_block_allowed||e.mode!=MPEGMode.JOINT_STEREO&&e.mode!=MPEGMode.STEREO||(e.short_blocks=a.short_block_coupled),e.quant_comp<0&&(e.quant_comp=1),e.quant_comp_short<0&&(e.quant_comp_short=0),e.msfix<0&&(e.msfix=0),e.exp_nspsytune=1|e.exp_nspsytune,e.internal_flags.nsPsy.attackthre<0&&(e.internal_flags.nsPsy.attackthre=f.NSATTACKTHRE),e.internal_flags.nsPsy.attackthre_s<0&&(e.internal_flags.nsPsy.attackthre_s=f.NSATTACKTHRE_S),u(e.scale>=0),e.scale<0&&(e.scale=1),e.ATHtype<0&&(e.ATHtype=4),e.ATHcurve<0&&(e.ATHcurve=4),e.athaa_loudapprox<0&&(e.athaa_loudapprox=2),e.interChRatio<0&&(e.interChRatio=0),null==e.useTemporal&&(e.useTemporal=!0),t.slot_lag=t.frac_SpF=0,e.VBR==i.vbr_off&&(t.slot_lag=t.frac_SpF=72e3*(e.version+1)*e.brate%e.out_samplerate|0),x.iteration_init(e),R.psymodel_init(e),u(e.scale>=0),0},this.lame_encode_flush=function(e,t,n,o){var i,a,s,c,u=e.internal_flags,f=l([2,1152]),d=0,p=u.mf_samples_to_encode-b.POSTDELAY,h=q(e);if(u.mf_samples_to_encode<1)return 0;i=0,e.in_samplerate!=e.out_samplerate&&(p+=16*e.out_samplerate/e.in_samplerate),s=e.framesize-p%e.framesize,s<576&&(s+=e.framesize),e.encoder_padding=s,c=(p+s)/e.framesize;while(c>0&&d>=0){var m=h-u.mf_size,_=e.frameNum;m*=e.in_samplerate,m/=e.out_samplerate,m>1152&&(m=1152),m<1&&(m=1),a=o-i,0==o&&(a=0),d=this.lame_encode_buffer(e,f[0],f[1],m,t,n,a),n+=d,i+=d,c-=_!=e.frameNum?1:0}if(u.mf_samples_to_encode=0,d<0)return d;if(a=o-i,0==o&&(a=0),r.flush_bitstream(e),d=r.copy_buffer(u,t,n,a,1),d<0)return d;if(n+=d,i+=d,a=o-i,0==o&&(a=0),e.write_id3tag_automatic){if(M.id3tag_write_v1(e),d=r.copy_buffer(u,t,n,a,0),d<0)return d;i+=d}return i},this.lame_encode_buffer=function(e,t,n,r,o,i,a){var s=e.internal_flags,c=[null,null];if(s.Class_ID!=L)return-3;if(0==r)return 0;U(s,r),c[0]=s.in_buffer_0,c[1]=s.in_buffer_1;for(var l=0;l1&&(c[1][l]=n[l]);return z(e,c[0],c[1],r,o,i,a)}}e.exports=y},df75:function(e,t,n){var r=n("ca84"),o=n("7839");e.exports=Object.keys||function(e){return r(e,o)}},df7c:function(e,t,n){(function(e){function n(e,t){for(var n=0,r=e.length-1;r>=0;r--){var o=e[r];"."===o?e.splice(r,1):".."===o?(e.splice(r,1),n++):n&&(e.splice(r,1),n--)}if(t)for(;n--;n)e.unshift("..");return e}function r(e){"string"!==typeof e&&(e+="");var t,n=0,r=-1,o=!0;for(t=e.length-1;t>=0;--t)if(47===e.charCodeAt(t)){if(!o){n=t+1;break}}else-1===r&&(o=!1,r=t+1);return-1===r?"":e.slice(n,r)}function o(e,t){if(e.filter)return e.filter(t);for(var n=[],r=0;r=-1&&!r;i--){var a=i>=0?arguments[i]:e.cwd();if("string"!==typeof a)throw new TypeError("Arguments to path.resolve must be strings");a&&(t=a+"/"+t,r="/"===a.charAt(0))}return t=n(o(t.split("/"),(function(e){return!!e})),!r).join("/"),(r?"/":"")+t||"."},t.normalize=function(e){var r=t.isAbsolute(e),a="/"===i(e,-1);return e=n(o(e.split("/"),(function(e){return!!e})),!r).join("/"),e||r||(e="."),e&&a&&(e+="/"),(r?"/":"")+e},t.isAbsolute=function(e){return"/"===e.charAt(0)},t.join=function(){var e=Array.prototype.slice.call(arguments,0);return t.normalize(o(e,(function(e,t){if("string"!==typeof e)throw new TypeError("Arguments to path.join must be strings");return e})).join("/"))},t.relative=function(e,n){function r(e){for(var t=0;t=0;n--)if(""!==e[n])break;return t>n?[]:e.slice(t,n-t+1)}e=t.resolve(e).substr(1),n=t.resolve(n).substr(1);for(var o=r(e.split("/")),i=r(n.split("/")),a=Math.min(o.length,i.length),s=a,c=0;c=1;--i)if(t=e.charCodeAt(i),47===t){if(!o){r=i;break}}else o=!1;return-1===r?n?"/":".":n&&1===r?"/":e.slice(0,r)},t.basename=function(e,t){var n=r(e);return t&&n.substr(-1*t.length)===t&&(n=n.substr(0,n.length-t.length)),n},t.extname=function(e){"string"!==typeof e&&(e+="");for(var t=-1,n=0,r=-1,o=!0,i=0,a=e.length-1;a>=0;--a){var s=e.charCodeAt(a);if(47!==s)-1===r&&(o=!1,r=a+1),46===s?-1===t?t=a:1!==i&&(i=1):-1!==t&&(i=-1);else if(!o){n=a+1;break}}return-1===t||-1===r||0===i||1===i&&t===r-1&&t===n+1?"":e.slice(t,r)};var i="b"==="ab".substr(-1)?function(e,t,n){return e.substr(t,n)}:function(e,t,n){return t<0&&(t=e.length+t),e.substr(t,n)}}).call(this,n("4362"))},e01a:function(e,t,n){"use strict";var r=n("23e7"),o=n("83ab"),i=n("da84"),a=n("5135"),s=n("861d"),c=n("9bf2").f,l=n("e893"),u=i.Symbol;if(o&&"function"==typeof u&&(!("description"in u.prototype)||void 0!==u().description)){var f={},d=function(){var e=arguments.length<1||void 0===arguments[0]?void 0:String(arguments[0]),t=this instanceof d?new u(e):void 0===e?u():u(e);return""===e&&(f[t]=!0),t};l(d,u);var p=d.prototype=u.prototype;p.constructor=d;var h=p.toString,m="Symbol(test)"==String(u("test")),_=/^Symbol\((.*)\)[^)]+$/;c(p,"description",{configurable:!0,get:function(){var e=s(this)?this.valueOf():this,t=h.call(e);if(a(f,e))return"";var n=m?t.slice(7,-1):t.replace(_,"$1");return""===n?void 0:n}}),r({global:!0,forced:!0},{Symbol:d})}},e107:function(e,t,n){var r=n("0206"),o=r.System,i=r.VbrMode,a=(r.Float,r.ShortBlock),s=(r.Util,r.Arrays),c=(r.new_array_n,r.new_byte),l=(r.new_double,r.new_float,r.new_float_n,r.new_int,r.new_int_n,r.assert);function u(){var e,t,n;this.setModules=function(r,o,i){e=r,t=o,n=i};var r=1,f=2,d=4,p=8,h=u.NUMTOCENTRIES,m=u.MAXFRAMESIZE,_=h+4+4+4+4+4,v=_+9+1+1+8+1+1+3+1+1+2+4+2+2,g=128,b=64,y=32,w=null,x="Xing",k="Info",S=[0,49345,49537,320,49921,960,640,49729,50689,1728,1920,51009,1280,50625,50305,1088,52225,3264,3456,52545,3840,53185,52865,3648,2560,51905,52097,2880,51457,2496,2176,51265,55297,6336,6528,55617,6912,56257,55937,6720,7680,57025,57217,8e3,56577,7616,7296,56385,5120,54465,54657,5440,55041,6080,5760,54849,53761,4800,4992,54081,4352,53697,53377,4160,61441,12480,12672,61761,13056,62401,62081,12864,13824,63169,63361,14144,62721,13760,13440,62529,15360,64705,64897,15680,65281,16320,16e3,65089,64001,15040,15232,64321,14592,63937,63617,14400,10240,59585,59777,10560,60161,11200,10880,59969,60929,11968,12160,61249,11520,60865,60545,11328,58369,9408,9600,58689,9984,59329,59009,9792,8704,58049,58241,9024,57601,8640,8320,57409,40961,24768,24960,41281,25344,41921,41601,25152,26112,42689,42881,26432,42241,26048,25728,42049,27648,44225,44417,27968,44801,28608,28288,44609,43521,27328,27520,43841,26880,43457,43137,26688,30720,47297,47489,31040,47873,31680,31360,47681,48641,32448,32640,48961,32e3,48577,48257,31808,46081,29888,30080,46401,30464,47041,46721,30272,29184,45761,45953,29504,45313,29120,28800,45121,20480,37057,37249,20800,37633,21440,21120,37441,38401,22208,22400,38721,21760,38337,38017,21568,39937,23744,23936,40257,24320,40897,40577,24128,23040,39617,39809,23360,39169,22976,22656,38977,34817,18624,18816,35137,19200,35777,35457,19008,19968,36545,36737,20288,36097,19904,19584,35905,17408,33985,34177,17728,34561,18368,18048,34369,33281,17088,17280,33601,16640,33217,32897,16448];function A(e,t){if(e.nVbrNumFrames++,e.sum+=t,e.seen++,!(e.seene.pos-1&&(a=e.pos-1),r=e.bag[a],o=e.sum;var s=0|256*r/o;s>255&&(s=255),t[n]=255&s}}function E(e,t){var n=255&e[t+0];return n<<=8,n|=255&e[t+1],n<<=8,n|=255&e[t+2],n<<=8,n|=255&e[t+3],n}function R(e,t,n){e[t+0]=255&n>>24,e[t+1]=255&n>>16,e[t+2]=255&n>>8,e[t+3]=255&n}function O(e,t,n){e[t+0]=255&n>>8,e[t+1]=255&n}function T(e,t){return new String(e,t,x.length(),w).equals(x)||new String(e,t,k.length(),w).equals(k)}function C(e,t,n){return 255&(e<>8^S[255&n],t}function j(e,t,r,o,i){var s,c,l,u=e.internal_flags,f=0,d=e.encoder_delay,p=e.encoder_padding,h=100-10*e.VBR_q-e.quality,m=n.getLameVeryShortVersion(),_=0,v=[1,5,3,2,4,0,3],g=0|(e.lowpassfreq/100+.5>255?255:e.lowpassfreq/100+.5),b=0,y=0,w=0,x=e.internal_flags.noise_shaping,k=0,S=0,A=0,M=0,E=0,T=0!=(1&e.exp_nspsytune),C=0!=(2&e.exp_nspsytune),L=!1,j=!1,I=e.internal_flags.nogap_total,B=e.internal_flags.nogap_current,N=e.ATHtype,F=0;switch(e.VBR){case vbr_abr:l=e.VBR_mean_bitrate_kbps;break;case vbr_off:l=e.brate;break;default:l=e.VBR_min_bitrate_kbps}switch(s=e.VBR.ordinal()510&&(u.RadioGain=510),u.RadioGain<-510&&(u.RadioGain=-510),y=8192,y|=3072,u.RadioGain>=0?y|=u.RadioGain:(y|=512,y|=-u.RadioGain)),u.findPeakSample&&(b=Math.abs(0|u.PeakSample/32767*Math.pow(2,23)+.5)),-1!=I&&(B>0&&(j=!0),B48e3?3:1,(e.short_blocks==a.short_block_forced||e.short_blocks==a.short_block_dispensed||-1==e.lowpassfreq&&-1==e.highpassfreq||e.scale_lefte.scale_right||e.disable_reservoir&&e.brate<320||e.noATH||e.ATHonly||0==N||e.in_samplerate<=32e3)&&(S=1),M=x+(k<<2)+(S<<5)+(A<<6),E=u.nMusicCRC,R(r,o+f,h),f+=4;for(var H=0;H<9;H++)r[o+f+H]=255&m.charAt(H);f+=9,r[o+f]=255&c,f++,r[o+f]=255&g,f++,R(r,o+f,b),f+=4,O(r,o+f,y),f+=2,O(r,o+f,w),f+=2,r[o+f]=255&F,f++,r[o+f]=l>=255?255:255&l,f++,r[o+f]=255&d>>4,r[o+f+1]=255&(d<<4)+(p>>8),r[o+f+2]=255&p,f+=3,r[o+f]=255&M,f++,r[o+f++]=0,O(r,o+f,e.preset),f+=2,R(r,o+f,t),f+=4,O(r,o+f,E),f+=2;for(var D=0;D>3&1,i=e[n+2]>>2&3,a=e[n+3]>>6&3,s=e[n+2]>>4&15;if(s=Tables.bitrate_table[o][s],e[n+1]>>4==14?t.samprate=Tables.samplerate_table[2][i]:t.samprate=Tables.samplerate_table[o][i],n+=0!=o?3!=a?36:21:3!=a?21:13,!T(e,n))return null;n+=4,t.hId=o;var c=t.flags=E(e,n);if(n+=4,0!=(c&r)&&(t.frames=E(e,n),n+=4),0!=(c&f)&&(t.bytes=E(e,n),n+=4),0!=(c&d)){if(null!=t.toc)for(var l=0;l>4;var m=(15&e[n+1])<<8;return m+=255&e[n+2],(u<0||u>3e3)&&(u=-1),(m<0||m>3e3)&&(m=-1),t.encDelay=u,t.encPadding=m,t},this.InitVbrTag=function(e){var n,r=e.internal_flags;n=1==e.version?g:e.out_samplerate<16e3?y:b,e.VBR==i.vbr_off&&(n=e.brate);var o=72e3*(e.version+1)*n/e.out_samplerate,a=r.sideinfo_len+v;if(r.VBR_seek_table.TotalFrameSize=o,om)e.bWriteVbrTag=!1;else{r.VBR_seek_table.nVbrNumFrames=0,r.VBR_seek_table.nBytesWritten=0,r.VBR_seek_table.sum=0,r.VBR_seek_table.seen=0,r.VBR_seek_table.want=1,r.VBR_seek_table.pos=0,null==r.VBR_seek_table.bag&&(r.VBR_seek_table.bag=new int[400],r.VBR_seek_table.size=400);var s=c(m);L(e,s);for(var l=r.VBR_seek_table.TotalFrameSize,u=0;uo.length?-1:(i<1||t.write(o,0,i),0)}}u.NUMTOCENTRIES=100,u.MAXFRAMESIZE=2880,e.exports=u},e163:function(e,t,n){var r=n("5135"),o=n("7b0b"),i=n("f772"),a=n("e177"),s=i("IE_PROTO"),c=Object.prototype;e.exports=a?Object.getPrototypeOf:function(e){return e=o(e),r(e,s)?e[s]:"function"==typeof e.constructor&&e instanceof e.constructor?e.constructor.prototype:e instanceof Object?c:null}},e177:function(e,t,n){var r=n("d039");e.exports=!r((function(){function e(){}return e.prototype.constructor=null,Object.getPrototypeOf(new e)!==e.prototype}))},e260:function(e,t,n){"use strict";var r=n("fc6a"),o=n("44d2"),i=n("3f8c"),a=n("69f3"),s=n("7dd0"),c="Array Iterator",l=a.set,u=a.getterFor(c);e.exports=s(Array,"Array",(function(e,t){l(this,{type:c,target:r(e),index:0,kind:t})}),(function(){var e=u(this),t=e.target,n=e.kind,r=e.index++;return!t||r>=t.length?(e.target=void 0,{value:void 0,done:!0}):"keys"==n?{value:r,done:!1}:"values"==n?{value:t[r],done:!1}:{value:[r,t[r]],done:!1}}),"values"),i.Arguments=i.Array,o("keys"),o("values"),o("entries")},e2cc:function(e,t,n){var r=n("6eeb");e.exports=function(e,t,n){for(var o in t)r(e,o,t[o],n);return e}},e538:function(e,t,n){var r=n("b622");t.f=r},e667:function(e,t){e.exports=function(e){try{return{error:!1,value:e()}}catch(t){return{error:!0,value:t}}}},e683:function(e,t,n){"use strict";e.exports=function(e,t){return t?e.replace(/\/+$/,"")+"/"+t.replace(/^\/+/,""):e}},e6cf:function(e,t,n){"use strict";var r,o,i,a,s=n("23e7"),c=n("c430"),l=n("da84"),u=n("d066"),f=n("fea9"),d=n("6eeb"),p=n("e2cc"),h=n("d2bb"),m=n("d44e"),_=n("2626"),v=n("861d"),g=n("1c0b"),b=n("19aa"),y=n("8925"),w=n("2266"),x=n("1c7e"),k=n("4840"),S=n("2cf4").set,A=n("b575"),M=n("cdf9"),E=n("44de"),R=n("f069"),O=n("e667"),T=n("69f3"),C=n("94ca"),L=n("b622"),P=n("6069"),j=n("605d"),I=n("2d00"),B=L("species"),N="Promise",F=T.get,H=T.set,D=T.getterFor(N),V=f&&f.prototype,$=f,U=V,q=l.TypeError,z=l.document,Y=l.process,X=R.f,G=X,K=!!(z&&z.createEvent&&l.dispatchEvent),W="function"==typeof PromiseRejectionEvent,Z="unhandledrejection",Q="rejectionhandled",J=0,ee=1,te=2,ne=1,re=2,oe=!1,ie=C(N,(function(){var e=y($)!==String($);if(!e&&66===I)return!0;if(c&&!U["finally"])return!0;if(I>=51&&/native code/.test($))return!1;var t=new $((function(e){e(1)})),n=function(e){e((function(){}),(function(){}))},r=t.constructor={};return r[B]=n,oe=t.then((function(){}))instanceof n,!oe||!e&&P&&!W})),ae=ie||!x((function(e){$.all(e)["catch"]((function(){}))})),se=function(e){var t;return!(!v(e)||"function"!=typeof(t=e.then))&&t},ce=function(e,t){if(!e.notified){e.notified=!0;var n=e.reactions;A((function(){var r=e.value,o=e.state==ee,i=0;while(n.length>i){var a,s,c,l=n[i++],u=o?l.ok:l.fail,f=l.resolve,d=l.reject,p=l.domain;try{u?(o||(e.rejection===re&&de(e),e.rejection=ne),!0===u?a=r:(p&&p.enter(),a=u(r),p&&(p.exit(),c=!0)),a===l.promise?d(q("Promise-chain cycle")):(s=se(a))?s.call(a,f,d):f(a)):d(r)}catch(h){p&&!c&&p.exit(),d(h)}}e.reactions=[],e.notified=!1,t&&!e.rejection&&ue(e)}))}},le=function(e,t,n){var r,o;K?(r=z.createEvent("Event"),r.promise=t,r.reason=n,r.initEvent(e,!1,!0),l.dispatchEvent(r)):r={promise:t,reason:n},!W&&(o=l["on"+e])?o(r):e===Z&&E("Unhandled promise rejection",n)},ue=function(e){S.call(l,(function(){var t,n=e.facade,r=e.value,o=fe(e);if(o&&(t=O((function(){j?Y.emit("unhandledRejection",r,n):le(Z,n,r)})),e.rejection=j||fe(e)?re:ne,t.error))throw t.value}))},fe=function(e){return e.rejection!==ne&&!e.parent},de=function(e){S.call(l,(function(){var t=e.facade;j?Y.emit("rejectionHandled",t):le(Q,t,e.value)}))},pe=function(e,t,n){return function(r){e(t,r,n)}},he=function(e,t,n){e.done||(e.done=!0,n&&(e=n),e.value=t,e.state=te,ce(e,!0))},me=function(e,t,n){if(!e.done){e.done=!0,n&&(e=n);try{if(e.facade===t)throw q("Promise can't be resolved itself");var r=se(t);r?A((function(){var n={done:!1};try{r.call(t,pe(me,n,e),pe(he,n,e))}catch(o){he(n,o,e)}})):(e.value=t,e.state=ee,ce(e,!1))}catch(o){he({done:!1},o,e)}}};if(ie&&($=function(e){b(this,$,N),g(e),r.call(this);var t=F(this);try{e(pe(me,t),pe(he,t))}catch(n){he(t,n)}},U=$.prototype,r=function(e){H(this,{type:N,done:!1,notified:!1,parent:!1,reactions:[],rejection:!1,state:J,value:void 0})},r.prototype=p(U,{then:function(e,t){var n=D(this),r=X(k(this,$));return r.ok="function"!=typeof e||e,r.fail="function"==typeof t&&t,r.domain=j?Y.domain:void 0,n.parent=!0,n.reactions.push(r),n.state!=J&&ce(n,!1),r.promise},catch:function(e){return this.then(void 0,e)}}),o=function(){var e=new r,t=F(e);this.promise=e,this.resolve=pe(me,t),this.reject=pe(he,t)},R.f=X=function(e){return e===$||e===i?new o(e):G(e)},!c&&"function"==typeof f&&V!==Object.prototype)){a=V.then,oe||(d(V,"then",(function(e,t){var n=this;return new $((function(e,t){a.call(n,e,t)})).then(e,t)}),{unsafe:!0}),d(V,"catch",U["catch"],{unsafe:!0}));try{delete V.constructor}catch(_e){}h&&h(V,U)}s({global:!0,wrap:!0,forced:ie},{Promise:$}),m($,N,!1,!0),_(N),i=u(N),s({target:N,stat:!0,forced:ie},{reject:function(e){var t=X(this);return t.reject.call(void 0,e),t.promise}}),s({target:N,stat:!0,forced:c||ie},{resolve:function(e){return M(c&&this===i?$:this,e)}}),s({target:N,stat:!0,forced:ae},{all:function(e){var t=this,n=X(t),r=n.resolve,o=n.reject,i=O((function(){var n=g(t.resolve),i=[],a=0,s=1;w(e,(function(e){var c=a++,l=!1;i.push(void 0),s++,n.call(t,e).then((function(e){l||(l=!0,i[c]=e,--s||r(i))}),o)})),--s||r(i)}));return i.error&&o(i.value),n.promise},race:function(e){var t=this,n=X(t),r=n.reject,o=O((function(){var o=g(t.resolve);w(e,(function(e){o.call(t,e).then(n.resolve,r)}))}));return o.error&&r(o.value),n.promise}})},e893:function(e,t,n){var r=n("5135"),o=n("56ef"),i=n("06cf"),a=n("9bf2");e.exports=function(e,t){for(var n=o(t),s=a.f,c=i.f,l=0;l=0;--E){var I,B;I=k[S+E]*f[20+E]+k[S+-1-E]*d[28+E],B=k[S+E]*d[28+E]-k[S+-1-E]*f[20+E],k[S+-1-E]=I,k[S+E]=B}}}if(v=u,g=286,1==e.mode_gr)for(var N=0;N<18;N++)o.arraycopy(e.sb_sample[b][1][N],0,e.sb_sample[b][0][N],0,32)}}}e.exports=l},f5df:function(e,t,n){var r=n("00ee"),o=n("c6b6"),i=n("b622"),a=i("toStringTag"),s="Arguments"==o(function(){return arguments}()),c=function(e,t){try{return e[t]}catch(n){}};e.exports=r?o:function(e){var t,n,r;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(n=c(t=Object(e),a))?n:s?o(t):"Object"==(r=o(t))&&"function"==typeof t.callee?"Arguments":r}},f6b4:function(e,t,n){"use strict";var r=n("c532");function o(){this.handlers=[]}o.prototype.use=function(e,t){return this.handlers.push({fulfilled:e,rejected:t}),this.handlers.length-1},o.prototype.eject=function(e){this.handlers[e]&&(this.handlers[e]=null)},o.prototype.forEach=function(e){r.forEach(this.handlers,(function(t){null!==t&&e(t)}))},e.exports=o},f772:function(e,t,n){var r=n("5692"),o=n("90e3"),i=r("keys");e.exports=function(e){return i[e]||(i[e]=o(e))}},fb6a:function(e,t,n){"use strict";var r=n("23e7"),o=n("861d"),i=n("e8b5"),a=n("23cb"),s=n("50c4"),c=n("fc6a"),l=n("8418"),u=n("b622"),f=n("1dde"),d=f("slice"),p=u("species"),h=[].slice,m=Math.max;r({target:"Array",proto:!0,forced:!d},{slice:function(e,t){var n,r,u,f=c(this),d=s(f.length),_=a(e,d),v=a(void 0===t?d:t,d);if(i(f)&&(n=f.constructor,"function"!=typeof n||n!==Array&&!i(n.prototype)?o(n)&&(n=n[p],null===n&&(n=void 0)):n=void 0,n===Array||void 0===n))return h.call(f,_,v);for(r=new(void 0===n?Array:n)(m(v-_,0)),u=0;_= 51 || !fails(function () {\n var array = [];\n var constructor = array.constructor = {};\n constructor[SPECIES] = function () {\n return { foo: 1 };\n };\n return array[METHOD_NAME](Boolean).foo !== 1;\n });\n};\n","var anObject = require('../internals/an-object');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar toLength = require('../internals/to-length');\nvar bind = require('../internals/function-bind-context');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar iteratorClose = require('../internals/iterator-close');\n\nvar Result = function (stopped, result) {\n this.stopped = stopped;\n this.result = result;\n};\n\nmodule.exports = function (iterable, unboundFunction, options) {\n var that = options && options.that;\n var AS_ENTRIES = !!(options && options.AS_ENTRIES);\n var IS_ITERATOR = !!(options && options.IS_ITERATOR);\n var INTERRUPTED = !!(options && options.INTERRUPTED);\n var fn = bind(unboundFunction, that, 1 + AS_ENTRIES + INTERRUPTED);\n var iterator, iterFn, index, length, result, next, step;\n\n var stop = function (condition) {\n if (iterator) iteratorClose(iterator);\n return new Result(true, condition);\n };\n\n var callFn = function (value) {\n if (AS_ENTRIES) {\n anObject(value);\n return INTERRUPTED ? fn(value[0], value[1], stop) : fn(value[0], value[1]);\n } return INTERRUPTED ? fn(value, stop) : fn(value);\n };\n\n if (IS_ITERATOR) {\n iterator = iterable;\n } else {\n iterFn = getIteratorMethod(iterable);\n if (typeof iterFn != 'function') throw TypeError('Target is not iterable');\n // optimisation for array iterators\n if (isArrayIteratorMethod(iterFn)) {\n for (index = 0, length = toLength(iterable.length); length > index; index++) {\n result = callFn(iterable[index]);\n if (result && result instanceof Result) return result;\n } return new Result(false);\n }\n iterator = iterFn.call(iterable);\n }\n\n next = iterator.next;\n while (!(step = next.call(iterator)).done) {\n try {\n result = callFn(step.value);\n } catch (error) {\n iteratorClose(iterator);\n throw error;\n }\n if (typeof result == 'object' && result && result instanceof Result) return result;\n } return new Result(false);\n};\n","var toInteger = require('../internals/to-integer');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toInteger(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar setGlobal = require('../internals/set-global');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.noTargetGet - prevent calling a getter on target\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || setGlobal(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.noTargetGet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty === typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n // extend global\n redefine(target, key, sourceProperty, options);\n }\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.es/ecma262/#sec-object.getownpropertynames\n// eslint-disable-next-line es/no-object-getownpropertynames -- safe\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","'use strict';\n\nvar utils = require('./utils');\nvar normalizeHeaderName = require('./helpers/normalizeHeaderName');\n\nvar DEFAULT_CONTENT_TYPE = {\n 'Content-Type': 'application/x-www-form-urlencoded'\n};\n\nfunction setContentTypeIfUnset(headers, value) {\n if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {\n headers['Content-Type'] = value;\n }\n}\n\nfunction getDefaultAdapter() {\n var adapter;\n if (typeof XMLHttpRequest !== 'undefined') {\n // For browsers use XHR adapter\n adapter = require('./adapters/xhr');\n } else if (typeof process !== 'undefined' && Object.prototype.toString.call(process) === '[object process]') {\n // For node use HTTP adapter\n adapter = require('./adapters/http');\n }\n return adapter;\n}\n\nvar defaults = {\n adapter: getDefaultAdapter(),\n\n transformRequest: [function transformRequest(data, headers) {\n normalizeHeaderName(headers, 'Accept');\n normalizeHeaderName(headers, 'Content-Type');\n if (utils.isFormData(data) ||\n utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');\n return data.toString();\n }\n if (utils.isObject(data)) {\n setContentTypeIfUnset(headers, 'application/json;charset=utf-8');\n return JSON.stringify(data);\n }\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n /*eslint no-param-reassign:0*/\n if (typeof data === 'string') {\n try {\n data = JSON.parse(data);\n } catch (e) { /* Ignore */ }\n }\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n }\n};\n\ndefaults.headers = {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\n};\n\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n defaults.headers[method] = {};\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\n\nmodule.exports = defaults;\n","//package mp3;\n\nfunction VBRSeekInfo() {\n /**\n * What we have seen so far.\n */\n this.sum = 0;\n /**\n * How many frames we have seen in this chunk.\n */\n this.seen = 0;\n /**\n * How many frames we want to collect into one chunk.\n */\n this.want = 0;\n /**\n * Actual position in our bag.\n */\n this.pos = 0;\n /**\n * Size of our bag.\n */\n this.size = 0;\n /**\n * Pointer to our bag.\n */\n this.bag = null;\n this.nVbrNumFrames = 0;\n this.nBytesWritten = 0;\n /* VBR tag data */\n this.TotalFrameSize = 0;\n}\n\nmodule.exports = VBRSeekInfo;\n","/*\n * psymodel.c\n *\n * Copyright (c) 1999-2000 Mark Taylor\n * Copyright (c) 2001-2002 Naoki Shibata\n * Copyright (c) 2000-2003 Takehiro Tominaga\n * Copyright (c) 2000-2008 Robert Hegemann\n * Copyright (c) 2000-2005 Gabriel Bouvigne\n * Copyright (c) 2000-2005 Alexander Leidinger\n *\n * This library is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 2 of the License, or (at your option) any later version.\n *\n * This library is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Library General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public\n * License along with this library; if not, write to the\n * Free Software Foundation, Inc., 59 Temple Place - Suite 330,\n * Boston, MA 02111-1307, USA.\n */\n\n/* $Id: PsyModel.java,v 1.27 2011/05/24 20:48:06 kenchis Exp $ */\n\n\n/*\n PSYCHO ACOUSTICS\n\n\n This routine computes the psycho acoustics, delayed by one granule.\n\n Input: buffer of PCM data (1024 samples).\n\n This window should be centered over the 576 sample granule window.\n The routine will compute the psycho acoustics for\n this granule, but return the psycho acoustics computed\n for the *previous* granule. This is because the block\n type of the previous granule can only be determined\n after we have computed the psycho acoustics for the following\n granule.\n\n Output: maskings and energies for each scalefactor band.\n block type, PE, and some correlation measures.\n The PE is used by CBR modes to determine if extra bits\n from the bit reservoir should be used. The correlation\n measures are used to determine mid/side or regular stereo.\n */\n/*\n Notation:\n\n barks: a non-linear frequency scale. Mapping from frequency to\n barks is given by freq2bark()\n\n scalefactor bands: The spectrum (frequencies) are broken into\n SBMAX \"scalefactor bands\". Thes bands\n are determined by the MPEG ISO spec. In\n the noise shaping/quantization code, we allocate\n bits among the partition bands to achieve the\n best possible quality\n\n partition bands: The spectrum is also broken into about\n 64 \"partition bands\". Each partition\n band is about .34 barks wide. There are about 2-5\n partition bands for each scalefactor band.\n\n LAME computes all psycho acoustic information for each partition\n band. Then at the end of the computations, this information\n is mapped to scalefactor bands. The energy in each scalefactor\n band is taken as the sum of the energy in all partition bands\n which overlap the scalefactor band. The maskings can be computed\n in the same way (and thus represent the average masking in that band)\n or by taking the minmum value multiplied by the number of\n partition bands used (which represents a minimum masking in that band).\n */\n/*\n The general outline is as follows:\n\n 1. compute the energy in each partition band\n 2. compute the tonality in each partition band\n 3. compute the strength of each partion band \"masker\"\n 4. compute the masking (via the spreading function applied to each masker)\n 5. Modifications for mid/side masking.\n\n Each partition band is considiered a \"masker\". The strength\n of the i'th masker in band j is given by:\n\n s3(bark(i)-bark(j))*strength(i)\n\n The strength of the masker is a function of the energy and tonality.\n The more tonal, the less masking. LAME uses a simple linear formula\n (controlled by NMT and TMN) which says the strength is given by the\n energy divided by a linear function of the tonality.\n */\n/*\n s3() is the \"spreading function\". It is given by a formula\n determined via listening tests.\n\n The total masking in the j'th partition band is the sum over\n all maskings i. It is thus given by the convolution of\n the strength with s3(), the \"spreading function.\"\n\n masking(j) = sum_over_i s3(i-j)*strength(i) = s3 o strength\n\n where \"o\" = convolution operator. s3 is given by a formula determined\n via listening tests. It is normalized so that s3 o 1 = 1.\n\n Note: instead of a simple convolution, LAME also has the\n option of using \"additive masking\"\n\n The most critical part is step 2, computing the tonality of each\n partition band. LAME has two tonality estimators. The first\n is based on the ISO spec, and measures how predictiable the\n signal is over time. The more predictable, the more tonal.\n The second measure is based on looking at the spectrum of\n a single granule. The more peaky the spectrum, the more\n tonal. By most indications, the latter approach is better.\n\n Finally, in step 5, the maskings for the mid and side\n channel are possibly increased. Under certain circumstances,\n noise in the mid & side channels is assumed to also\n be masked by strong maskers in the L or R channels.\n\n\n Other data computed by the psy-model:\n\n ms_ratio side-channel / mid-channel masking ratio (for previous granule)\n ms_ratio_next side-channel / mid-channel masking ratio for this granule\n\n percep_entropy[2] L and R values (prev granule) of PE - A measure of how\n much pre-echo is in the previous granule\n percep_entropy_MS[2] mid and side channel values (prev granule) of percep_entropy\n energy[4] L,R,M,S energy in each channel, prev granule\n blocktype_d[2] block type to use for previous granule\n */\n//package mp3;\n\n//import java.util.Arrays;\nvar common = require('./common.js');\nvar System = common.System;\nvar VbrMode = common.VbrMode;\nvar Float = common.Float;\nvar ShortBlock = common.ShortBlock;\nvar Util = common.Util;\nvar Arrays = common.Arrays;\nvar new_array_n = common.new_array_n;\nvar new_byte = common.new_byte;\nvar new_double = common.new_double;\nvar new_float = common.new_float;\nvar new_float_n = common.new_float_n;\nvar new_int = common.new_int;\nvar new_int_n = common.new_int_n;\nvar assert = common.assert;\n\nvar FFT = require(\"./FFT.js\");\nvar Encoder = require(\"./Encoder.js\");\n\nfunction PsyModel() {\n\n var fft = new FFT();\n\n var LOG10 = 2.30258509299404568402;\n\n var rpelev = 2;\n var rpelev2 = 16;\n var rpelev_s = 2;\n var rpelev2_s = 16;\n\n /* size of each partition band, in barks: */\n var DELBARK = .34;\n\n /* tuned for output level (sensitive to energy scale) */\n var VO_SCALE = (1. / (14752 * 14752) / (Encoder.BLKSIZE / 2));\n\n var temporalmask_sustain_sec = 0.01;\n\n var NS_PREECHO_ATT0 = 0.8;\n var NS_PREECHO_ATT1 = 0.6;\n var NS_PREECHO_ATT2 = 0.3;\n\n var NS_MSFIX = 3.5;\n\n var NSATTACKTHRE = 4.4;\n var NSATTACKTHRE_S = 25;\n\n var NSFIRLEN = 21;\n\n /* size of each partition band, in barks: */\n var LN_TO_LOG10 = 0.2302585093;\n\n function NON_LINEAR_SCALE_ENERGY(x) {\n return x;\n }\n\n /**\n *
\n     *       L3psycho_anal.  Compute psycho acoustics.\n     *\n     *       Data returned to the calling program must be delayed by one\n     *       granule.\n     *\n     *       This is done in two places.\n     *       If we do not need to know the blocktype, the copying\n     *       can be done here at the top of the program: we copy the data for\n     *       the last granule (computed during the last call) before it is\n     *       overwritten with the new data.  It looks like this:\n     *\n     *       0. static psymodel_data\n     *       1. calling_program_data = psymodel_data\n     *       2. compute psymodel_data\n     *\n     *       For data which needs to know the blocktype, the copying must be\n     *       done at the end of this loop, and the old values must be saved:\n     *\n     *       0. static psymodel_data_old\n     *       1. compute psymodel_data\n     *       2. compute possible block type of this granule\n     *       3. compute final block type of previous granule based on #2.\n     *       4. calling_program_data = psymodel_data_old\n     *       5. psymodel_data_old = psymodel_data\n     *     psycho_loudness_approx\n     *       jd - 2001 mar 12\n     *    in:  energy   - BLKSIZE/2 elements of frequency magnitudes ^ 2\n     *         gfp      - uses out_samplerate, ATHtype (also needed for ATHformula)\n     *    returns: loudness^2 approximation, a positive value roughly tuned for a value\n     *             of 1.0 for signals near clipping.\n     *    notes:   When calibrated, feeding this function binary white noise at sample\n     *             values +32767 or -32768 should return values that approach 3.\n     *             ATHformula is used to approximate an equal loudness curve.\n     *    future:  Data indicates that the shape of the equal loudness curve varies\n     *             with intensity.  This function might be improved by using an equal\n     *             loudness curve shaped for typical playback levels (instead of the\n     *             ATH, that is shaped for the threshold).  A flexible realization might\n     *             simply bend the existing ATH curve to achieve the desired shape.\n     *             However, the potential gain may not be enough to justify an effort.\n     * 
\n */\n function psycho_loudness_approx(energy, gfc) {\n var loudness_power = 0.0;\n /* apply weights to power in freq. bands */\n for (var i = 0; i < Encoder.BLKSIZE / 2; ++i)\n loudness_power += energy[i] * gfc.ATH.eql_w[i];\n loudness_power *= VO_SCALE;\n\n return loudness_power;\n }\n\n function compute_ffts(gfp, fftenergy, fftenergy_s, wsamp_l, wsamp_lPos, wsamp_s, wsamp_sPos, gr_out, chn, buffer, bufPos) {\n var gfc = gfp.internal_flags;\n if (chn < 2) {\n fft.fft_long(gfc, wsamp_l[wsamp_lPos], chn, buffer, bufPos);\n fft.fft_short(gfc, wsamp_s[wsamp_sPos], chn, buffer, bufPos);\n }\n /* FFT data for mid and side channel is derived from L & R */\n else if (chn == 2) {\n for (var j = Encoder.BLKSIZE - 1; j >= 0; --j) {\n var l = wsamp_l[wsamp_lPos + 0][j];\n var r = wsamp_l[wsamp_lPos + 1][j];\n wsamp_l[wsamp_lPos + 0][j] = (l + r) * Util.SQRT2 * 0.5;\n wsamp_l[wsamp_lPos + 1][j] = (l - r) * Util.SQRT2 * 0.5;\n }\n for (var b = 2; b >= 0; --b) {\n for (var j = Encoder.BLKSIZE_s - 1; j >= 0; --j) {\n var l = wsamp_s[wsamp_sPos + 0][b][j];\n var r = wsamp_s[wsamp_sPos + 1][b][j];\n wsamp_s[wsamp_sPos + 0][b][j] = (l + r) * Util.SQRT2 * 0.5;\n wsamp_s[wsamp_sPos + 1][b][j] = (l - r) * Util.SQRT2 * 0.5;\n }\n }\n }\n\n /*********************************************************************\n * compute energies\n *********************************************************************/\n fftenergy[0] = NON_LINEAR_SCALE_ENERGY(wsamp_l[wsamp_lPos + 0][0]);\n fftenergy[0] *= fftenergy[0];\n\n for (var j = Encoder.BLKSIZE / 2 - 1; j >= 0; --j) {\n var re = (wsamp_l[wsamp_lPos + 0])[Encoder.BLKSIZE / 2 - j];\n var im = (wsamp_l[wsamp_lPos + 0])[Encoder.BLKSIZE / 2 + j];\n fftenergy[Encoder.BLKSIZE / 2 - j] = NON_LINEAR_SCALE_ENERGY((re\n * re + im * im) * 0.5);\n }\n for (var b = 2; b >= 0; --b) {\n fftenergy_s[b][0] = (wsamp_s[wsamp_sPos + 0])[b][0];\n fftenergy_s[b][0] *= fftenergy_s[b][0];\n for (var j = Encoder.BLKSIZE_s / 2 - 1; j >= 0; --j) {\n var re = (wsamp_s[wsamp_sPos + 0])[b][Encoder.BLKSIZE_s\n / 2 - j];\n var im = (wsamp_s[wsamp_sPos + 0])[b][Encoder.BLKSIZE_s\n / 2 + j];\n fftenergy_s[b][Encoder.BLKSIZE_s / 2 - j] = NON_LINEAR_SCALE_ENERGY((re\n * re + im * im) * 0.5);\n }\n }\n /* total energy */\n {\n var totalenergy = 0.0;\n for (var j = 11; j < Encoder.HBLKSIZE; j++)\n totalenergy += fftenergy[j];\n\n gfc.tot_ener[chn] = totalenergy;\n }\n\n if (gfp.analysis) {\n for (var j = 0; j < Encoder.HBLKSIZE; j++) {\n gfc.pinfo.energy[gr_out][chn][j] = gfc.pinfo.energy_save[chn][j];\n gfc.pinfo.energy_save[chn][j] = fftenergy[j];\n }\n gfc.pinfo.pe[gr_out][chn] = gfc.pe[chn];\n }\n\n /*********************************************************************\n * compute loudness approximation (used for ATH auto-level adjustment)\n *********************************************************************/\n if (gfp.athaa_loudapprox == 2 && chn < 2) {\n // no loudness for mid/side ch\n gfc.loudness_sq[gr_out][chn] = gfc.loudness_sq_save[chn];\n gfc.loudness_sq_save[chn] = psycho_loudness_approx(fftenergy, gfc);\n }\n }\n\n /* mask_add optimization */\n /* init the limit values used to avoid computing log in mask_add when it is not necessary */\n\n /**\n *
\n     *  For example, with i = 10*log10(m2/m1)/10*16         (= log10(m2/m1)*16)\n     *\n     * abs(i)>8 is equivalent (as i is an integer) to\n     * abs(i)>=9\n     * i>=9 || i<=-9\n     * equivalent to (as i is the biggest integer smaller than log10(m2/m1)*16\n     * or the smallest integer bigger than log10(m2/m1)*16 depending on the sign of log10(m2/m1)*16)\n     * log10(m2/m1)>=9/16 || log10(m2/m1)<=-9/16\n     * exp10 is strictly increasing thus this is equivalent to\n     * m2/m1 >= 10^(9/16) || m2/m1<=10^(-9/16) which are comparisons to constants\n     * 
\n */\n\n /**\n * as in if(i>8)\n */\n var I1LIMIT = 8;\n /**\n * as in if(i>24) . changed 23\n */\n var I2LIMIT = 23;\n /**\n * as in if(m<15)\n */\n var MLIMIT = 15;\n\n var ma_max_i1;\n var ma_max_i2;\n var ma_max_m;\n\n /**\n * This is the masking table:
\n * According to tonality, values are going from 0dB (TMN) to 9.3dB (NMT).
\n * After additive masking computation, 8dB are added, so final values are\n * going from 8dB to 17.3dB\n *\n * pow(10, -0.0..-0.6)\n */\n var tab = [1.0, 0.79433, 0.63096, 0.63096,\n 0.63096, 0.63096, 0.63096, 0.25119, 0.11749];\n\n function init_mask_add_max_values() {\n ma_max_i1 = Math.pow(10, (I1LIMIT + 1) / 16.0);\n ma_max_i2 = Math.pow(10, (I2LIMIT + 1) / 16.0);\n ma_max_m = Math.pow(10, (MLIMIT) / 10.0);\n }\n\n var table1 = [3.3246 * 3.3246,\n 3.23837 * 3.23837, 3.15437 * 3.15437, 3.00412 * 3.00412,\n 2.86103 * 2.86103, 2.65407 * 2.65407, 2.46209 * 2.46209,\n 2.284 * 2.284, 2.11879 * 2.11879, 1.96552 * 1.96552,\n 1.82335 * 1.82335, 1.69146 * 1.69146, 1.56911 * 1.56911,\n 1.46658 * 1.46658, 1.37074 * 1.37074, 1.31036 * 1.31036,\n 1.25264 * 1.25264, 1.20648 * 1.20648, 1.16203 * 1.16203,\n 1.12765 * 1.12765, 1.09428 * 1.09428, 1.0659 * 1.0659,\n 1.03826 * 1.03826, 1.01895 * 1.01895, 1];\n\n var table2 = [1.33352 * 1.33352,\n 1.35879 * 1.35879, 1.38454 * 1.38454, 1.39497 * 1.39497,\n 1.40548 * 1.40548, 1.3537 * 1.3537, 1.30382 * 1.30382,\n 1.22321 * 1.22321, 1.14758 * 1.14758, 1];\n\n var table3 = [2.35364 * 2.35364,\n 2.29259 * 2.29259, 2.23313 * 2.23313, 2.12675 * 2.12675,\n 2.02545 * 2.02545, 1.87894 * 1.87894, 1.74303 * 1.74303,\n 1.61695 * 1.61695, 1.49999 * 1.49999, 1.39148 * 1.39148,\n 1.29083 * 1.29083, 1.19746 * 1.19746, 1.11084 * 1.11084,\n 1.03826 * 1.03826];\n\n /**\n * addition of simultaneous masking Naoki Shibata 2000/7\n */\n function mask_add(m1, m2, kk, b, gfc, shortblock) {\n var ratio;\n\n if (m2 > m1) {\n if (m2 < (m1 * ma_max_i2))\n ratio = m2 / m1;\n else\n return (m1 + m2);\n } else {\n if (m1 >= (m2 * ma_max_i2))\n return (m1 + m2);\n ratio = m1 / m2;\n }\n\n /* Should always be true, just checking */\n assert(m1 >= 0);\n assert(m2 >= 0);\n\n m1 += m2;\n //if (((long)(b + 3) & 0xffffffff) <= 3 + 3) {\n if ((b + 3) <= 3 + 3) {\n /* approximately, 1 bark = 3 partitions */\n /* 65% of the cases */\n /* originally 'if(i > 8)' */\n if (ratio >= ma_max_i1) {\n /* 43% of the total */\n return m1;\n }\n\n /* 22% of the total */\n var i = 0 | (Util.FAST_LOG10_X(ratio, 16.0));\n return m1 * table2[i];\n }\n\n /**\n *
\n         * m<15 equ log10((m1+m2)/gfc.ATH.cb[k])<1.5\n         * equ (m1+m2)/gfc.ATH.cb[k]<10^1.5\n         * equ (m1+m2)<10^1.5 * gfc.ATH.cb[k]\n         * 
\n */\n var i = 0 | Util.FAST_LOG10_X(ratio, 16.0);\n if (shortblock != 0) {\n m2 = gfc.ATH.cb_s[kk] * gfc.ATH.adjust;\n } else {\n m2 = gfc.ATH.cb_l[kk] * gfc.ATH.adjust;\n }\n assert(m2 >= 0);\n if (m1 < ma_max_m * m2) {\n /* 3% of the total */\n /* Originally if (m > 0) { */\n if (m1 > m2) {\n var f, r;\n\n f = 1.0;\n if (i <= 13)\n f = table3[i];\n\n r = Util.FAST_LOG10_X(m1 / m2, 10.0 / 15.0);\n return m1 * ((table1[i] - f) * r + f);\n }\n\n if (i > 13)\n return m1;\n\n return m1 * table3[i];\n }\n\n /* 10% of total */\n return m1 * table1[i];\n }\n\n var table2_ = [1.33352 * 1.33352,\n 1.35879 * 1.35879, 1.38454 * 1.38454, 1.39497 * 1.39497,\n 1.40548 * 1.40548, 1.3537 * 1.3537, 1.30382 * 1.30382,\n 1.22321 * 1.22321, 1.14758 * 1.14758, 1];\n\n /**\n * addition of simultaneous masking Naoki Shibata 2000/7\n */\n function vbrpsy_mask_add(m1, m2, b) {\n var ratio;\n\n if (m1 < 0) {\n m1 = 0;\n }\n if (m2 < 0) {\n m2 = 0;\n }\n if (m1 <= 0) {\n return m2;\n }\n if (m2 <= 0) {\n return m1;\n }\n if (m2 > m1) {\n ratio = m2 / m1;\n } else {\n ratio = m1 / m2;\n }\n if (-2 <= b && b <= 2) {\n /* approximately, 1 bark = 3 partitions */\n /* originally 'if(i > 8)' */\n if (ratio >= ma_max_i1) {\n return m1 + m2;\n } else {\n var i = 0 | (Util.FAST_LOG10_X(ratio, 16.0));\n return (m1 + m2) * table2_[i];\n }\n }\n if (ratio < ma_max_i2) {\n return m1 + m2;\n }\n if (m1 < m2) {\n m1 = m2;\n }\n return m1;\n }\n\n /**\n * compute interchannel masking effects\n */\n function calc_interchannel_masking(gfp, ratio) {\n var gfc = gfp.internal_flags;\n if (gfc.channels_out > 1) {\n for (var sb = 0; sb < Encoder.SBMAX_l; sb++) {\n var l = gfc.thm[0].l[sb];\n var r = gfc.thm[1].l[sb];\n gfc.thm[0].l[sb] += r * ratio;\n gfc.thm[1].l[sb] += l * ratio;\n }\n for (var sb = 0; sb < Encoder.SBMAX_s; sb++) {\n for (var sblock = 0; sblock < 3; sblock++) {\n var l = gfc.thm[0].s[sb][sblock];\n var r = gfc.thm[1].s[sb][sblock];\n gfc.thm[0].s[sb][sblock] += r * ratio;\n gfc.thm[1].s[sb][sblock] += l * ratio;\n }\n }\n }\n }\n\n /**\n * compute M/S thresholds from Johnston & Ferreira 1992 ICASSP paper\n */\n function msfix1(gfc) {\n for (var sb = 0; sb < Encoder.SBMAX_l; sb++) {\n /* use this fix if L & R masking differs by 2db or less */\n /* if db = 10*log10(x2/x1) < 2 */\n /* if (x2 < 1.58*x1) { */\n if (gfc.thm[0].l[sb] > 1.58 * gfc.thm[1].l[sb]\n || gfc.thm[1].l[sb] > 1.58 * gfc.thm[0].l[sb])\n continue;\n var mld = gfc.mld_l[sb] * gfc.en[3].l[sb];\n var rmid = Math.max(gfc.thm[2].l[sb],\n Math.min(gfc.thm[3].l[sb], mld));\n\n mld = gfc.mld_l[sb] * gfc.en[2].l[sb];\n var rside = Math.max(gfc.thm[3].l[sb],\n Math.min(gfc.thm[2].l[sb], mld));\n gfc.thm[2].l[sb] = rmid;\n gfc.thm[3].l[sb] = rside;\n }\n\n for (var sb = 0; sb < Encoder.SBMAX_s; sb++) {\n for (var sblock = 0; sblock < 3; sblock++) {\n if (gfc.thm[0].s[sb][sblock] > 1.58 * gfc.thm[1].s[sb][sblock]\n || gfc.thm[1].s[sb][sblock] > 1.58 * gfc.thm[0].s[sb][sblock])\n continue;\n var mld = gfc.mld_s[sb] * gfc.en[3].s[sb][sblock];\n var rmid = Math.max(gfc.thm[2].s[sb][sblock],\n Math.min(gfc.thm[3].s[sb][sblock], mld));\n\n mld = gfc.mld_s[sb] * gfc.en[2].s[sb][sblock];\n var rside = Math.max(gfc.thm[3].s[sb][sblock],\n Math.min(gfc.thm[2].s[sb][sblock], mld));\n\n gfc.thm[2].s[sb][sblock] = rmid;\n gfc.thm[3].s[sb][sblock] = rside;\n }\n }\n }\n\n /**\n * Adjust M/S maskings if user set \"msfix\"\n *\n * Naoki Shibata 2000\n */\n function ns_msfix(gfc, msfix, athadjust) {\n var msfix2 = msfix;\n var athlower = Math.pow(10, athadjust);\n\n msfix *= 2.0;\n msfix2 *= 2.0;\n for (var sb = 0; sb < Encoder.SBMAX_l; sb++) {\n var thmLR, thmM, thmS, ath;\n ath = (gfc.ATH.cb_l[gfc.bm_l[sb]]) * athlower;\n thmLR = Math.min(Math.max(gfc.thm[0].l[sb], ath),\n Math.max(gfc.thm[1].l[sb], ath));\n thmM = Math.max(gfc.thm[2].l[sb], ath);\n thmS = Math.max(gfc.thm[3].l[sb], ath);\n if (thmLR * msfix < thmM + thmS) {\n var f = thmLR * msfix2 / (thmM + thmS);\n thmM *= f;\n thmS *= f;\n assert(thmM + thmS > 0);\n }\n gfc.thm[2].l[sb] = Math.min(thmM, gfc.thm[2].l[sb]);\n gfc.thm[3].l[sb] = Math.min(thmS, gfc.thm[3].l[sb]);\n }\n\n athlower *= ( Encoder.BLKSIZE_s / Encoder.BLKSIZE);\n for (var sb = 0; sb < Encoder.SBMAX_s; sb++) {\n for (var sblock = 0; sblock < 3; sblock++) {\n var thmLR, thmM, thmS, ath;\n ath = (gfc.ATH.cb_s[gfc.bm_s[sb]]) * athlower;\n thmLR = Math.min(Math.max(gfc.thm[0].s[sb][sblock], ath),\n Math.max(gfc.thm[1].s[sb][sblock], ath));\n thmM = Math.max(gfc.thm[2].s[sb][sblock], ath);\n thmS = Math.max(gfc.thm[3].s[sb][sblock], ath);\n\n if (thmLR * msfix < thmM + thmS) {\n var f = thmLR * msfix / (thmM + thmS);\n thmM *= f;\n thmS *= f;\n assert(thmM + thmS > 0);\n }\n gfc.thm[2].s[sb][sblock] = Math.min(gfc.thm[2].s[sb][sblock],\n thmM);\n gfc.thm[3].s[sb][sblock] = Math.min(gfc.thm[3].s[sb][sblock],\n thmS);\n }\n }\n }\n\n /**\n * short block threshold calculation (part 2)\n *\n * partition band bo_s[sfb] is at the transition from scalefactor band sfb\n * to the next one sfb+1; enn and thmm have to be split between them\n */\n function convert_partition2scalefac_s(gfc, eb, thr, chn, sblock) {\n var sb, b;\n var enn = 0.0;\n var thmm = 0.0;\n for (sb = b = 0; sb < Encoder.SBMAX_s; ++b, ++sb) {\n var bo_s_sb = gfc.bo_s[sb];\n var npart_s = gfc.npart_s;\n var b_lim = bo_s_sb < npart_s ? bo_s_sb : npart_s;\n while (b < b_lim) {\n assert(eb[b] >= 0);\n // iff failed, it may indicate some index error elsewhere\n assert(thr[b] >= 0);\n enn += eb[b];\n thmm += thr[b];\n b++;\n }\n gfc.en[chn].s[sb][sblock] = enn;\n gfc.thm[chn].s[sb][sblock] = thmm;\n\n if (b >= npart_s) {\n ++sb;\n break;\n }\n assert(eb[b] >= 0);\n // iff failed, it may indicate some index error elsewhere\n assert(thr[b] >= 0);\n {\n /* at transition sfb . sfb+1 */\n var w_curr = gfc.PSY.bo_s_weight[sb];\n var w_next = 1.0 - w_curr;\n enn = w_curr * eb[b];\n thmm = w_curr * thr[b];\n gfc.en[chn].s[sb][sblock] += enn;\n gfc.thm[chn].s[sb][sblock] += thmm;\n enn = w_next * eb[b];\n thmm = w_next * thr[b];\n }\n }\n /* zero initialize the rest */\n for (; sb < Encoder.SBMAX_s; ++sb) {\n gfc.en[chn].s[sb][sblock] = 0;\n gfc.thm[chn].s[sb][sblock] = 0;\n }\n }\n\n /**\n * longblock threshold calculation (part 2)\n */\n function convert_partition2scalefac_l(gfc, eb, thr, chn) {\n var sb, b;\n var enn = 0.0;\n var thmm = 0.0;\n for (sb = b = 0; sb < Encoder.SBMAX_l; ++b, ++sb) {\n var bo_l_sb = gfc.bo_l[sb];\n var npart_l = gfc.npart_l;\n var b_lim = bo_l_sb < npart_l ? bo_l_sb : npart_l;\n while (b < b_lim) {\n assert(eb[b] >= 0);\n // iff failed, it may indicate some index error elsewhere\n assert(thr[b] >= 0);\n enn += eb[b];\n thmm += thr[b];\n b++;\n }\n gfc.en[chn].l[sb] = enn;\n gfc.thm[chn].l[sb] = thmm;\n\n if (b >= npart_l) {\n ++sb;\n break;\n }\n assert(eb[b] >= 0);\n assert(thr[b] >= 0);\n {\n /* at transition sfb . sfb+1 */\n var w_curr = gfc.PSY.bo_l_weight[sb];\n var w_next = 1.0 - w_curr;\n enn = w_curr * eb[b];\n thmm = w_curr * thr[b];\n gfc.en[chn].l[sb] += enn;\n gfc.thm[chn].l[sb] += thmm;\n enn = w_next * eb[b];\n thmm = w_next * thr[b];\n }\n }\n /* zero initialize the rest */\n for (; sb < Encoder.SBMAX_l; ++sb) {\n gfc.en[chn].l[sb] = 0;\n gfc.thm[chn].l[sb] = 0;\n }\n }\n\n function compute_masking_s(gfp, fftenergy_s, eb, thr, chn, sblock) {\n var gfc = gfp.internal_flags;\n var j, b;\n\n for (b = j = 0; b < gfc.npart_s; ++b) {\n var ebb = 0, m = 0;\n var n = gfc.numlines_s[b];\n for (var i = 0; i < n; ++i, ++j) {\n var el = fftenergy_s[sblock][j];\n ebb += el;\n if (m < el)\n m = el;\n }\n eb[b] = ebb;\n }\n assert(b == gfc.npart_s);\n assert(j == 129);\n for (j = b = 0; b < gfc.npart_s; b++) {\n var kk = gfc.s3ind_s[b][0];\n var ecb = gfc.s3_ss[j++] * eb[kk];\n ++kk;\n while (kk <= gfc.s3ind_s[b][1]) {\n ecb += gfc.s3_ss[j] * eb[kk];\n ++j;\n ++kk;\n }\n\n { /* limit calculated threshold by previous granule */\n var x = rpelev_s * gfc.nb_s1[chn][b];\n thr[b] = Math.min(ecb, x);\n }\n if (gfc.blocktype_old[chn & 1] == Encoder.SHORT_TYPE) {\n /* limit calculated threshold by even older granule */\n var x = rpelev2_s * gfc.nb_s2[chn][b];\n var y = thr[b];\n thr[b] = Math.min(x, y);\n }\n\n gfc.nb_s2[chn][b] = gfc.nb_s1[chn][b];\n gfc.nb_s1[chn][b] = ecb;\n assert(thr[b] >= 0);\n }\n for (; b <= Encoder.CBANDS; ++b) {\n eb[b] = 0;\n thr[b] = 0;\n }\n }\n\n function block_type_set(gfp, uselongblock, blocktype_d, blocktype) {\n var gfc = gfp.internal_flags;\n\n if (gfp.short_blocks == ShortBlock.short_block_coupled\n /* force both channels to use the same block type */\n /* this is necessary if the frame is to be encoded in ms_stereo. */\n /* But even without ms_stereo, FhG does this */\n && !(uselongblock[0] != 0 && uselongblock[1] != 0))\n uselongblock[0] = uselongblock[1] = 0;\n\n /*\n * update the blocktype of the previous granule, since it depends on\n * what happend in this granule\n */\n for (var chn = 0; chn < gfc.channels_out; chn++) {\n blocktype[chn] = Encoder.NORM_TYPE;\n /* disable short blocks */\n if (gfp.short_blocks == ShortBlock.short_block_dispensed)\n uselongblock[chn] = 1;\n if (gfp.short_blocks == ShortBlock.short_block_forced)\n uselongblock[chn] = 0;\n\n if (uselongblock[chn] != 0) {\n /* no attack : use long blocks */\n assert(gfc.blocktype_old[chn] != Encoder.START_TYPE);\n if (gfc.blocktype_old[chn] == Encoder.SHORT_TYPE)\n blocktype[chn] = Encoder.STOP_TYPE;\n } else {\n /* attack : use short blocks */\n blocktype[chn] = Encoder.SHORT_TYPE;\n if (gfc.blocktype_old[chn] == Encoder.NORM_TYPE) {\n gfc.blocktype_old[chn] = Encoder.START_TYPE;\n }\n if (gfc.blocktype_old[chn] == Encoder.STOP_TYPE)\n gfc.blocktype_old[chn] = Encoder.SHORT_TYPE;\n }\n\n blocktype_d[chn] = gfc.blocktype_old[chn];\n // value returned to calling program\n gfc.blocktype_old[chn] = blocktype[chn];\n // save for next call to l3psy_anal\n }\n }\n\n function NS_INTERP(x, y, r) {\n /* was pow((x),(r))*pow((y),1-(r)) */\n if (r >= 1.0) {\n /* 99.7% of the time */\n return x;\n }\n if (r <= 0.0)\n return y;\n if (y > 0.0) {\n /* rest of the time */\n return (Math.pow(x / y, r) * y);\n }\n /* never happens */\n return 0.0;\n }\n\n /**\n * these values are tuned only for 44.1kHz...\n */\n var regcoef_s = [11.8, 13.6, 17.2, 32, 46.5,\n 51.3, 57.5, 67.1, 71.5, 84.6, 97.6, 130,\n /* 255.8 */\n ];\n\n function pecalc_s(mr, masking_lower) {\n var pe_s = 1236.28 / 4;\n for (var sb = 0; sb < Encoder.SBMAX_s - 1; sb++) {\n for (var sblock = 0; sblock < 3; sblock++) {\n var thm = mr.thm.s[sb][sblock];\n assert(sb < regcoef_s.length);\n if (thm > 0.0) {\n var x = thm * masking_lower;\n var en = mr.en.s[sb][sblock];\n if (en > x) {\n if (en > x * 1e10) {\n pe_s += regcoef_s[sb] * (10.0 * LOG10);\n } else {\n assert(x > 0);\n pe_s += regcoef_s[sb] * Util.FAST_LOG10(en / x);\n }\n }\n }\n }\n }\n\n return pe_s;\n }\n\n /**\n * these values are tuned only for 44.1kHz...\n */\n var regcoef_l = [6.8, 5.8, 5.8, 6.4, 6.5, 9.9,\n 12.1, 14.4, 15, 18.9, 21.6, 26.9, 34.2, 40.2, 46.8, 56.5,\n 60.7, 73.9, 85.7, 93.4, 126.1,\n /* 241.3 */\n ];\n\n function pecalc_l(mr, masking_lower) {\n var pe_l = 1124.23 / 4;\n for (var sb = 0; sb < Encoder.SBMAX_l - 1; sb++) {\n var thm = mr.thm.l[sb];\n assert(sb < regcoef_l.length);\n if (thm > 0.0) {\n var x = thm * masking_lower;\n var en = mr.en.l[sb];\n if (en > x) {\n if (en > x * 1e10) {\n pe_l += regcoef_l[sb] * (10.0 * LOG10);\n } else {\n assert(x > 0);\n pe_l += regcoef_l[sb] * Util.FAST_LOG10(en / x);\n }\n }\n }\n }\n return pe_l;\n }\n\n function calc_energy(gfc, fftenergy, eb, max, avg) {\n var b, j;\n\n for (b = j = 0; b < gfc.npart_l; ++b) {\n var ebb = 0, m = 0;\n var i;\n for (i = 0; i < gfc.numlines_l[b]; ++i, ++j) {\n var el = fftenergy[j];\n assert(el >= 0);\n ebb += el;\n if (m < el)\n m = el;\n }\n eb[b] = ebb;\n max[b] = m;\n avg[b] = ebb * gfc.rnumlines_l[b];\n assert(gfc.rnumlines_l[b] >= 0);\n assert(ebb >= 0);\n assert(eb[b] >= 0);\n assert(max[b] >= 0);\n assert(avg[b] >= 0);\n }\n }\n\n function calc_mask_index_l(gfc, max, avg, mask_idx) {\n var last_tab_entry = tab.length - 1;\n var b = 0;\n var a = avg[b] + avg[b + 1];\n assert(a >= 0);\n if (a > 0.0) {\n var m = max[b];\n if (m < max[b + 1])\n m = max[b + 1];\n assert((gfc.numlines_l[b] + gfc.numlines_l[b + 1] - 1) > 0);\n a = 20.0 * (m * 2.0 - a)\n / (a * (gfc.numlines_l[b] + gfc.numlines_l[b + 1] - 1));\n var k = 0 | a;\n if (k > last_tab_entry)\n k = last_tab_entry;\n mask_idx[b] = k;\n } else {\n mask_idx[b] = 0;\n }\n\n for (b = 1; b < gfc.npart_l - 1; b++) {\n a = avg[b - 1] + avg[b] + avg[b + 1];\n assert(a >= 0);\n if (a > 0.0) {\n var m = max[b - 1];\n if (m < max[b])\n m = max[b];\n if (m < max[b + 1])\n m = max[b + 1];\n assert((gfc.numlines_l[b - 1] + gfc.numlines_l[b] + gfc.numlines_l[b + 1] - 1) > 0);\n a = 20.0\n * (m * 3.0 - a)\n / (a * (gfc.numlines_l[b - 1] + gfc.numlines_l[b]\n + gfc.numlines_l[b + 1] - 1));\n var k = 0 | a;\n if (k > last_tab_entry)\n k = last_tab_entry;\n mask_idx[b] = k;\n } else {\n mask_idx[b] = 0;\n }\n }\n assert(b > 0);\n assert(b == gfc.npart_l - 1);\n\n a = avg[b - 1] + avg[b];\n assert(a >= 0);\n if (a > 0.0) {\n var m = max[b - 1];\n if (m < max[b])\n m = max[b];\n assert((gfc.numlines_l[b - 1] + gfc.numlines_l[b] - 1) > 0);\n a = 20.0 * (m * 2.0 - a)\n / (a * (gfc.numlines_l[b - 1] + gfc.numlines_l[b] - 1));\n var k = 0 | a;\n if (k > last_tab_entry)\n k = last_tab_entry;\n mask_idx[b] = k;\n } else {\n mask_idx[b] = 0;\n }\n assert(b == (gfc.npart_l - 1));\n }\n\n var fircoef = [\n -8.65163e-18 * 2, -0.00851586 * 2, -6.74764e-18 * 2, 0.0209036 * 2,\n -3.36639e-17 * 2, -0.0438162 * 2, -1.54175e-17 * 2, 0.0931738 * 2,\n -5.52212e-17 * 2, -0.313819 * 2\n ];\n\n this.L3psycho_anal_ns = function (gfp, buffer, bufPos, gr_out, masking_ratio, masking_MS_ratio, percep_entropy, percep_MS_entropy, energy, blocktype_d) {\n /*\n * to get a good cache performance, one has to think about the sequence,\n * in which the variables are used.\n */\n var gfc = gfp.internal_flags;\n\n /* fft and energy calculation */\n var wsamp_L = new_float_n([2, Encoder.BLKSIZE]);\n var wsamp_S = new_float_n([2, 3, Encoder.BLKSIZE_s]);\n\n /* convolution */\n var eb_l = new_float(Encoder.CBANDS + 1);\n var eb_s = new_float(Encoder.CBANDS + 1);\n var thr = new_float(Encoder.CBANDS + 2);\n\n /* block type */\n var blocktype = new_int(2), uselongblock = new_int(2);\n\n /* usual variables like loop indices, etc.. */\n var numchn, chn;\n var b, i, j, k;\n var sb, sblock;\n\n /* variables used for --nspsytune */\n var ns_hpfsmpl = new_float_n([2, 576]);\n var pcfact;\n var mask_idx_l = new_int(Encoder.CBANDS + 2), mask_idx_s = new_int(Encoder.CBANDS + 2);\n\n Arrays.fill(mask_idx_s, 0);\n\n numchn = gfc.channels_out;\n /* chn=2 and 3 = Mid and Side channels */\n if (gfp.mode == MPEGMode.JOINT_STEREO)\n numchn = 4;\n\n if (gfp.VBR == VbrMode.vbr_off)\n pcfact = gfc.ResvMax == 0 ? 0 : ( gfc.ResvSize)\n / gfc.ResvMax * 0.5;\n else if (gfp.VBR == VbrMode.vbr_rh || gfp.VBR == VbrMode.vbr_mtrh\n || gfp.VBR == VbrMode.vbr_mt) {\n pcfact = 0.6;\n } else\n pcfact = 1.0;\n\n /**********************************************************************\n * Apply HPF of fs/4 to the input signal. This is used for attack\n * detection / handling.\n **********************************************************************/\n /* Don't copy the input buffer into a temporary buffer */\n /* unroll the loop 2 times */\n for (chn = 0; chn < gfc.channels_out; chn++) {\n /* apply high pass filter of fs/4 */\n var firbuf = buffer[chn];\n var firbufPos = bufPos + 576 - 350 - NSFIRLEN + 192;\n assert(fircoef.length == ((NSFIRLEN - 1) / 2));\n for (i = 0; i < 576; i++) {\n var sum1, sum2;\n sum1 = firbuf[firbufPos + i + 10];\n sum2 = 0.0;\n for (j = 0; j < ((NSFIRLEN - 1) / 2) - 1; j += 2) {\n sum1 += fircoef[j]\n * (firbuf[firbufPos + i + j] + firbuf[firbufPos + i\n + NSFIRLEN - j]);\n sum2 += fircoef[j + 1]\n * (firbuf[firbufPos + i + j + 1] + firbuf[firbufPos\n + i + NSFIRLEN - j - 1]);\n }\n ns_hpfsmpl[chn][i] = sum1 + sum2;\n }\n masking_ratio[gr_out][chn].en.assign(gfc.en[chn]);\n masking_ratio[gr_out][chn].thm.assign(gfc.thm[chn]);\n if (numchn > 2) {\n /* MS maskings */\n /* percep_MS_entropy [chn-2] = gfc . pe [chn]; */\n masking_MS_ratio[gr_out][chn].en.assign(gfc.en[chn + 2]);\n masking_MS_ratio[gr_out][chn].thm.assign(gfc.thm[chn + 2]);\n }\n }\n\n for (chn = 0; chn < numchn; chn++) {\n var wsamp_l;\n var wsamp_s;\n var en_subshort = new_float(12);\n var en_short = [0, 0, 0, 0];\n var attack_intensity = new_float(12);\n var ns_uselongblock = 1;\n var attackThreshold;\n var max = new_float(Encoder.CBANDS), avg = new_float(Encoder.CBANDS);\n var ns_attacks = [0, 0, 0, 0];\n var fftenergy = new_float(Encoder.HBLKSIZE);\n var fftenergy_s = new_float_n([3, Encoder.HBLKSIZE_s]);\n\n /*\n * rh 20040301: the following loops do access one off the limits so\n * I increase the array dimensions by one and initialize the\n * accessed values to zero\n */\n assert(gfc.npart_s <= Encoder.CBANDS);\n assert(gfc.npart_l <= Encoder.CBANDS);\n\n /***************************************************************\n * determine the block type (window type)\n ***************************************************************/\n /* calculate energies of each sub-shortblocks */\n for (i = 0; i < 3; i++) {\n en_subshort[i] = gfc.nsPsy.last_en_subshort[chn][i + 6];\n assert(gfc.nsPsy.last_en_subshort[chn][i + 4] > 0);\n attack_intensity[i] = en_subshort[i]\n / gfc.nsPsy.last_en_subshort[chn][i + 4];\n en_short[0] += en_subshort[i];\n }\n\n if (chn == 2) {\n for (i = 0; i < 576; i++) {\n var l, r;\n l = ns_hpfsmpl[0][i];\n r = ns_hpfsmpl[1][i];\n ns_hpfsmpl[0][i] = l + r;\n ns_hpfsmpl[1][i] = l - r;\n }\n }\n {\n var pf = ns_hpfsmpl[chn & 1];\n var pfPos = 0;\n for (i = 0; i < 9; i++) {\n var pfe = pfPos + 576 / 9;\n var p = 1.;\n for (; pfPos < pfe; pfPos++)\n if (p < Math.abs(pf[pfPos]))\n p = Math.abs(pf[pfPos]);\n\n gfc.nsPsy.last_en_subshort[chn][i] = en_subshort[i + 3] = p;\n en_short[1 + i / 3] += p;\n if (p > en_subshort[i + 3 - 2]) {\n assert(en_subshort[i + 3 - 2] > 0);\n p = p / en_subshort[i + 3 - 2];\n } else if (en_subshort[i + 3 - 2] > p * 10.0) {\n assert(p > 0);\n p = en_subshort[i + 3 - 2] / (p * 10.0);\n } else\n p = 0.0;\n attack_intensity[i + 3] = p;\n }\n }\n\n if (gfp.analysis) {\n var x = attack_intensity[0];\n for (i = 1; i < 12; i++)\n if (x < attack_intensity[i])\n x = attack_intensity[i];\n gfc.pinfo.ers[gr_out][chn] = gfc.pinfo.ers_save[chn];\n gfc.pinfo.ers_save[chn] = x;\n }\n\n /* compare energies between sub-shortblocks */\n attackThreshold = (chn == 3) ? gfc.nsPsy.attackthre_s\n : gfc.nsPsy.attackthre;\n for (i = 0; i < 12; i++)\n if (0 == ns_attacks[i / 3]\n && attack_intensity[i] > attackThreshold)\n ns_attacks[i / 3] = (i % 3) + 1;\n\n /*\n * should have energy change between short blocks, in order to avoid\n * periodic signals\n */\n for (i = 1; i < 4; i++) {\n var ratio;\n if (en_short[i - 1] > en_short[i]) {\n assert(en_short[i] > 0);\n ratio = en_short[i - 1] / en_short[i];\n } else {\n assert(en_short[i - 1] > 0);\n ratio = en_short[i] / en_short[i - 1];\n }\n if (ratio < 1.7) {\n ns_attacks[i] = 0;\n if (i == 1)\n ns_attacks[0] = 0;\n }\n }\n\n if (ns_attacks[0] != 0 && gfc.nsPsy.lastAttacks[chn] != 0)\n ns_attacks[0] = 0;\n\n if (gfc.nsPsy.lastAttacks[chn] == 3\n || (ns_attacks[0] + ns_attacks[1] + ns_attacks[2] + ns_attacks[3]) != 0) {\n ns_uselongblock = 0;\n\n if (ns_attacks[1] != 0 && ns_attacks[0] != 0)\n ns_attacks[1] = 0;\n if (ns_attacks[2] != 0 && ns_attacks[1] != 0)\n ns_attacks[2] = 0;\n if (ns_attacks[3] != 0 && ns_attacks[2] != 0)\n ns_attacks[3] = 0;\n }\n\n if (chn < 2) {\n uselongblock[chn] = ns_uselongblock;\n } else {\n if (ns_uselongblock == 0) {\n uselongblock[0] = uselongblock[1] = 0;\n }\n }\n\n /*\n * there is a one granule delay. Copy maskings computed last call\n * into masking_ratio to return to calling program.\n */\n energy[chn] = gfc.tot_ener[chn];\n\n /*********************************************************************\n * compute FFTs\n *********************************************************************/\n wsamp_s = wsamp_S;\n wsamp_l = wsamp_L;\n compute_ffts(gfp, fftenergy, fftenergy_s, wsamp_l, (chn & 1),\n wsamp_s, (chn & 1), gr_out, chn, buffer, bufPos);\n\n /*********************************************************************\n * Calculate the energy and the tonality of each partition.\n *********************************************************************/\n calc_energy(gfc, fftenergy, eb_l, max, avg);\n calc_mask_index_l(gfc, max, avg, mask_idx_l);\n /* compute masking thresholds for short blocks */\n for (sblock = 0; sblock < 3; sblock++) {\n var enn, thmm;\n compute_masking_s(gfp, fftenergy_s, eb_s, thr, chn, sblock);\n convert_partition2scalefac_s(gfc, eb_s, thr, chn, sblock);\n /**** short block pre-echo control ****/\n for (sb = 0; sb < Encoder.SBMAX_s; sb++) {\n thmm = gfc.thm[chn].s[sb][sblock];\n\n thmm *= NS_PREECHO_ATT0;\n if (ns_attacks[sblock] >= 2 || ns_attacks[sblock + 1] == 1) {\n var idx = (sblock != 0) ? sblock - 1 : 2;\n var p = NS_INTERP(gfc.thm[chn].s[sb][idx], thmm,\n NS_PREECHO_ATT1 * pcfact);\n thmm = Math.min(thmm, p);\n }\n\n if (ns_attacks[sblock] == 1) {\n var idx = (sblock != 0) ? sblock - 1 : 2;\n var p = NS_INTERP(gfc.thm[chn].s[sb][idx], thmm,\n NS_PREECHO_ATT2 * pcfact);\n thmm = Math.min(thmm, p);\n } else if ((sblock != 0 && ns_attacks[sblock - 1] == 3)\n || (sblock == 0 && gfc.nsPsy.lastAttacks[chn] == 3)) {\n var idx = (sblock != 2) ? sblock + 1 : 0;\n var p = NS_INTERP(gfc.thm[chn].s[sb][idx], thmm,\n NS_PREECHO_ATT2 * pcfact);\n thmm = Math.min(thmm, p);\n }\n\n /* pulse like signal detection for fatboy.wav and so on */\n enn = en_subshort[sblock * 3 + 3]\n + en_subshort[sblock * 3 + 4]\n + en_subshort[sblock * 3 + 5];\n if (en_subshort[sblock * 3 + 5] * 6 < enn) {\n thmm *= 0.5;\n if (en_subshort[sblock * 3 + 4] * 6 < enn)\n thmm *= 0.5;\n }\n\n gfc.thm[chn].s[sb][sblock] = thmm;\n }\n }\n gfc.nsPsy.lastAttacks[chn] = ns_attacks[2];\n\n /*********************************************************************\n * convolve the partitioned energy and unpredictability with the\n * spreading function, s3_l[b][k]\n ********************************************************************/\n k = 0;\n {\n for (b = 0; b < gfc.npart_l; b++) {\n /*\n * convolve the partitioned energy with the spreading\n * function\n */\n var kk = gfc.s3ind[b][0];\n var eb2 = eb_l[kk] * tab[mask_idx_l[kk]];\n var ecb = gfc.s3_ll[k++] * eb2;\n while (++kk <= gfc.s3ind[b][1]) {\n eb2 = eb_l[kk] * tab[mask_idx_l[kk]];\n ecb = mask_add(ecb, gfc.s3_ll[k++] * eb2, kk, kk - b,\n gfc, 0);\n }\n ecb *= 0.158489319246111;\n /* pow(10,-0.8) */\n\n /**** long block pre-echo control ****/\n /**\n *
\n                     * dont use long block pre-echo control if previous granule was\n                     * a short block.  This is to avoid the situation:\n                     * frame0:  quiet (very low masking)\n                     * frame1:  surge  (triggers short blocks)\n                     * frame2:  regular frame.  looks like pre-echo when compared to\n                     *          frame0, but all pre-echo was in frame1.\n                     * 
\n */\n /*\n * chn=0,1 L and R channels\n *\n * chn=2,3 S and M channels.\n */\n\n if (gfc.blocktype_old[chn & 1] == Encoder.SHORT_TYPE)\n thr[b] = ecb;\n else\n thr[b] = NS_INTERP(\n Math.min(ecb, Math.min(rpelev\n * gfc.nb_1[chn][b], rpelev2\n * gfc.nb_2[chn][b])), ecb, pcfact);\n\n gfc.nb_2[chn][b] = gfc.nb_1[chn][b];\n gfc.nb_1[chn][b] = ecb;\n }\n }\n for (; b <= Encoder.CBANDS; ++b) {\n eb_l[b] = 0;\n thr[b] = 0;\n }\n /* compute masking thresholds for long blocks */\n convert_partition2scalefac_l(gfc, eb_l, thr, chn);\n }\n /* end loop over chn */\n\n if (gfp.mode == MPEGMode.STEREO || gfp.mode == MPEGMode.JOINT_STEREO) {\n if (gfp.interChRatio > 0.0) {\n calc_interchannel_masking(gfp, gfp.interChRatio);\n }\n }\n\n if (gfp.mode == MPEGMode.JOINT_STEREO) {\n var msfix;\n msfix1(gfc);\n msfix = gfp.msfix;\n if (Math.abs(msfix) > 0.0)\n ns_msfix(gfc, msfix, gfp.ATHlower * gfc.ATH.adjust);\n }\n\n /***************************************************************\n * determine final block type\n ***************************************************************/\n block_type_set(gfp, uselongblock, blocktype_d, blocktype);\n\n /*********************************************************************\n * compute the value of PE to return ... no delay and advance\n *********************************************************************/\n for (chn = 0; chn < numchn; chn++) {\n var ppe;\n var ppePos = 0;\n var type;\n var mr;\n\n if (chn > 1) {\n ppe = percep_MS_entropy;\n ppePos = -2;\n type = Encoder.NORM_TYPE;\n if (blocktype_d[0] == Encoder.SHORT_TYPE\n || blocktype_d[1] == Encoder.SHORT_TYPE)\n type = Encoder.SHORT_TYPE;\n mr = masking_MS_ratio[gr_out][chn - 2];\n } else {\n ppe = percep_entropy;\n ppePos = 0;\n type = blocktype_d[chn];\n mr = masking_ratio[gr_out][chn];\n }\n\n if (type == Encoder.SHORT_TYPE)\n ppe[ppePos + chn] = pecalc_s(mr, gfc.masking_lower);\n else\n ppe[ppePos + chn] = pecalc_l(mr, gfc.masking_lower);\n\n if (gfp.analysis)\n gfc.pinfo.pe[gr_out][chn] = ppe[ppePos + chn];\n\n }\n return 0;\n }\n\n function vbrpsy_compute_fft_l(gfp, buffer, bufPos, chn, gr_out, fftenergy, wsamp_l, wsamp_lPos) {\n var gfc = gfp.internal_flags;\n if (chn < 2) {\n fft.fft_long(gfc, wsamp_l[wsamp_lPos], chn, buffer, bufPos);\n } else if (chn == 2) {\n /* FFT data for mid and side channel is derived from L & R */\n for (var j = Encoder.BLKSIZE - 1; j >= 0; --j) {\n var l = wsamp_l[wsamp_lPos + 0][j];\n var r = wsamp_l[wsamp_lPos + 1][j];\n wsamp_l[wsamp_lPos + 0][j] = (l + r) * Util.SQRT2 * 0.5;\n wsamp_l[wsamp_lPos + 1][j] = (l - r) * Util.SQRT2 * 0.5;\n }\n }\n\n /*********************************************************************\n * compute energies\n *********************************************************************/\n fftenergy[0] = NON_LINEAR_SCALE_ENERGY(wsamp_l[wsamp_lPos + 0][0]);\n fftenergy[0] *= fftenergy[0];\n\n for (var j = Encoder.BLKSIZE / 2 - 1; j >= 0; --j) {\n var re = wsamp_l[wsamp_lPos + 0][Encoder.BLKSIZE / 2 - j];\n var im = wsamp_l[wsamp_lPos + 0][Encoder.BLKSIZE / 2 + j];\n fftenergy[Encoder.BLKSIZE / 2 - j] = NON_LINEAR_SCALE_ENERGY((re\n * re + im * im) * 0.5);\n }\n /* total energy */\n {\n var totalenergy = 0.0;\n for (var j = 11; j < Encoder.HBLKSIZE; j++)\n totalenergy += fftenergy[j];\n\n gfc.tot_ener[chn] = totalenergy;\n }\n\n if (gfp.analysis) {\n for (var j = 0; j < Encoder.HBLKSIZE; j++) {\n gfc.pinfo.energy[gr_out][chn][j] = gfc.pinfo.energy_save[chn][j];\n gfc.pinfo.energy_save[chn][j] = fftenergy[j];\n }\n gfc.pinfo.pe[gr_out][chn] = gfc.pe[chn];\n }\n }\n\n function vbrpsy_compute_fft_s(gfp, buffer, bufPos, chn, sblock, fftenergy_s, wsamp_s, wsamp_sPos) {\n var gfc = gfp.internal_flags;\n\n if (sblock == 0 && chn < 2) {\n fft.fft_short(gfc, wsamp_s[wsamp_sPos], chn, buffer, bufPos);\n }\n if (chn == 2) {\n /* FFT data for mid and side channel is derived from L & R */\n for (var j = Encoder.BLKSIZE_s - 1; j >= 0; --j) {\n var l = wsamp_s[wsamp_sPos + 0][sblock][j];\n var r = wsamp_s[wsamp_sPos + 1][sblock][j];\n wsamp_s[wsamp_sPos + 0][sblock][j] = (l + r) * Util.SQRT2 * 0.5;\n wsamp_s[wsamp_sPos + 1][sblock][j] = (l - r) * Util.SQRT2 * 0.5;\n }\n }\n\n /*********************************************************************\n * compute energies\n *********************************************************************/\n fftenergy_s[sblock][0] = wsamp_s[wsamp_sPos + 0][sblock][0];\n fftenergy_s[sblock][0] *= fftenergy_s[sblock][0];\n for (var j = Encoder.BLKSIZE_s / 2 - 1; j >= 0; --j) {\n var re = wsamp_s[wsamp_sPos + 0][sblock][Encoder.BLKSIZE_s / 2 - j];\n var im = wsamp_s[wsamp_sPos + 0][sblock][Encoder.BLKSIZE_s / 2 + j];\n fftenergy_s[sblock][Encoder.BLKSIZE_s / 2 - j] = NON_LINEAR_SCALE_ENERGY((re\n * re + im * im) * 0.5);\n }\n }\n\n /**\n * compute loudness approximation (used for ATH auto-level adjustment)\n */\n function vbrpsy_compute_loudness_approximation_l(gfp, gr_out, chn, fftenergy) {\n var gfc = gfp.internal_flags;\n if (gfp.athaa_loudapprox == 2 && chn < 2) {\n // no loudness for mid/side ch\n gfc.loudness_sq[gr_out][chn] = gfc.loudness_sq_save[chn];\n gfc.loudness_sq_save[chn] = psycho_loudness_approx(fftenergy, gfc);\n }\n }\n\n var fircoef_ = [-8.65163e-18 * 2,\n -0.00851586 * 2, -6.74764e-18 * 2, 0.0209036 * 2,\n -3.36639e-17 * 2, -0.0438162 * 2, -1.54175e-17 * 2,\n 0.0931738 * 2, -5.52212e-17 * 2, -0.313819 * 2];\n\n /**\n * Apply HPF of fs/4 to the input signal. This is used for attack detection\n * / handling.\n */\n function vbrpsy_attack_detection(gfp, buffer, bufPos, gr_out, masking_ratio, masking_MS_ratio, energy, sub_short_factor, ns_attacks, uselongblock) {\n var ns_hpfsmpl = new_float_n([2, 576]);\n var gfc = gfp.internal_flags;\n var n_chn_out = gfc.channels_out;\n /* chn=2 and 3 = Mid and Side channels */\n var n_chn_psy = (gfp.mode == MPEGMode.JOINT_STEREO) ? 4 : n_chn_out;\n /* Don't copy the input buffer into a temporary buffer */\n /* unroll the loop 2 times */\n for (var chn = 0; chn < n_chn_out; chn++) {\n /* apply high pass filter of fs/4 */\n firbuf = buffer[chn];\n var firbufPos = bufPos + 576 - 350 - NSFIRLEN + 192;\n assert(fircoef_.length == ((NSFIRLEN - 1) / 2));\n for (var i = 0; i < 576; i++) {\n var sum1, sum2;\n sum1 = firbuf[firbufPos + i + 10];\n sum2 = 0.0;\n for (var j = 0; j < ((NSFIRLEN - 1) / 2) - 1; j += 2) {\n sum1 += fircoef_[j]\n * (firbuf[firbufPos + i + j] + firbuf[firbufPos + i\n + NSFIRLEN - j]);\n sum2 += fircoef_[j + 1]\n * (firbuf[firbufPos + i + j + 1] + firbuf[firbufPos\n + i + NSFIRLEN - j - 1]);\n }\n ns_hpfsmpl[chn][i] = sum1 + sum2;\n }\n masking_ratio[gr_out][chn].en.assign(gfc.en[chn]);\n masking_ratio[gr_out][chn].thm.assign(gfc.thm[chn]);\n if (n_chn_psy > 2) {\n /* MS maskings */\n /* percep_MS_entropy [chn-2] = gfc . pe [chn]; */\n masking_MS_ratio[gr_out][chn].en.assign(gfc.en[chn + 2]);\n masking_MS_ratio[gr_out][chn].thm.assign(gfc.thm[chn + 2]);\n }\n }\n for (var chn = 0; chn < n_chn_psy; chn++) {\n var attack_intensity = new_float(12);\n var en_subshort = new_float(12);\n var en_short = [0, 0, 0, 0];\n var pf = ns_hpfsmpl[chn & 1];\n var pfPos = 0;\n var attackThreshold = (chn == 3) ? gfc.nsPsy.attackthre_s\n : gfc.nsPsy.attackthre;\n var ns_uselongblock = 1;\n\n if (chn == 2) {\n for (var i = 0, j = 576; j > 0; ++i, --j) {\n var l = ns_hpfsmpl[0][i];\n var r = ns_hpfsmpl[1][i];\n ns_hpfsmpl[0][i] = l + r;\n ns_hpfsmpl[1][i] = l - r;\n }\n }\n /***************************************************************\n * determine the block type (window type)\n ***************************************************************/\n /* calculate energies of each sub-shortblocks */\n for (var i = 0; i < 3; i++) {\n en_subshort[i] = gfc.nsPsy.last_en_subshort[chn][i + 6];\n assert(gfc.nsPsy.last_en_subshort[chn][i + 4] > 0);\n attack_intensity[i] = en_subshort[i]\n / gfc.nsPsy.last_en_subshort[chn][i + 4];\n en_short[0] += en_subshort[i];\n }\n\n for (var i = 0; i < 9; i++) {\n var pfe = pfPos + 576 / 9;\n var p = 1.;\n for (; pfPos < pfe; pfPos++)\n if (p < Math.abs(pf[pfPos]))\n p = Math.abs(pf[pfPos]);\n\n gfc.nsPsy.last_en_subshort[chn][i] = en_subshort[i + 3] = p;\n en_short[1 + i / 3] += p;\n if (p > en_subshort[i + 3 - 2]) {\n assert(en_subshort[i + 3 - 2] > 0);\n p = p / en_subshort[i + 3 - 2];\n } else if (en_subshort[i + 3 - 2] > p * 10.0) {\n assert(p > 0);\n p = en_subshort[i + 3 - 2] / (p * 10.0);\n } else {\n p = 0.0;\n }\n attack_intensity[i + 3] = p;\n }\n /* pulse like signal detection for fatboy.wav and so on */\n for (var i = 0; i < 3; ++i) {\n var enn = en_subshort[i * 3 + 3]\n + en_subshort[i * 3 + 4] + en_subshort[i * 3 + 5];\n var factor = 1.;\n if (en_subshort[i * 3 + 5] * 6 < enn) {\n factor *= 0.5;\n if (en_subshort[i * 3 + 4] * 6 < enn) {\n factor *= 0.5;\n }\n }\n sub_short_factor[chn][i] = factor;\n }\n\n if (gfp.analysis) {\n var x = attack_intensity[0];\n for (var i = 1; i < 12; i++) {\n if (x < attack_intensity[i]) {\n x = attack_intensity[i];\n }\n }\n gfc.pinfo.ers[gr_out][chn] = gfc.pinfo.ers_save[chn];\n gfc.pinfo.ers_save[chn] = x;\n }\n\n /* compare energies between sub-shortblocks */\n for (var i = 0; i < 12; i++) {\n if (0 == ns_attacks[chn][i / 3]\n && attack_intensity[i] > attackThreshold) {\n ns_attacks[chn][i / 3] = (i % 3) + 1;\n }\n }\n\n /*\n * should have energy change between short blocks, in order to avoid\n * periodic signals\n */\n /* Good samples to show the effect are Trumpet test songs */\n /*\n * GB: tuned (1) to avoid too many short blocks for test sample\n * TRUMPET\n */\n /*\n * RH: tuned (2) to let enough short blocks through for test sample\n * FSOL and SNAPS\n */\n for (var i = 1; i < 4; i++) {\n var u = en_short[i - 1];\n var v = en_short[i];\n var m = Math.max(u, v);\n if (m < 40000) { /* (2) */\n if (u < 1.7 * v && v < 1.7 * u) { /* (1) */\n if (i == 1 && ns_attacks[chn][0] <= ns_attacks[chn][i]) {\n ns_attacks[chn][0] = 0;\n }\n ns_attacks[chn][i] = 0;\n }\n }\n }\n\n if (ns_attacks[chn][0] <= gfc.nsPsy.lastAttacks[chn]) {\n ns_attacks[chn][0] = 0;\n }\n\n if (gfc.nsPsy.lastAttacks[chn] == 3\n || (ns_attacks[chn][0] + ns_attacks[chn][1]\n + ns_attacks[chn][2] + ns_attacks[chn][3]) != 0) {\n ns_uselongblock = 0;\n\n if (ns_attacks[chn][1] != 0 && ns_attacks[chn][0] != 0) {\n ns_attacks[chn][1] = 0;\n }\n if (ns_attacks[chn][2] != 0 && ns_attacks[chn][1] != 0) {\n ns_attacks[chn][2] = 0;\n }\n if (ns_attacks[chn][3] != 0 && ns_attacks[chn][2] != 0) {\n ns_attacks[chn][3] = 0;\n }\n }\n if (chn < 2) {\n uselongblock[chn] = ns_uselongblock;\n } else {\n if (ns_uselongblock == 0) {\n uselongblock[0] = uselongblock[1] = 0;\n }\n }\n\n /*\n * there is a one granule delay. Copy maskings computed last call\n * into masking_ratio to return to calling program.\n */\n energy[chn] = gfc.tot_ener[chn];\n }\n }\n\n function vbrpsy_skip_masking_s(gfc, chn, sblock) {\n if (sblock == 0) {\n for (var b = 0; b < gfc.npart_s; b++) {\n gfc.nb_s2[chn][b] = gfc.nb_s1[chn][b];\n gfc.nb_s1[chn][b] = 0;\n }\n }\n }\n\n function vbrpsy_skip_masking_l(gfc, chn) {\n for (var b = 0; b < gfc.npart_l; b++) {\n gfc.nb_2[chn][b] = gfc.nb_1[chn][b];\n gfc.nb_1[chn][b] = 0;\n }\n }\n\n function psyvbr_calc_mask_index_s(gfc, max, avg, mask_idx) {\n var last_tab_entry = tab.length - 1;\n var b = 0;\n var a = avg[b] + avg[b + 1];\n assert(a >= 0);\n if (a > 0.0) {\n var m = max[b];\n if (m < max[b + 1])\n m = max[b + 1];\n assert((gfc.numlines_s[b] + gfc.numlines_s[b + 1] - 1) > 0);\n a = 20.0 * (m * 2.0 - a)\n / (a * (gfc.numlines_s[b] + gfc.numlines_s[b + 1] - 1));\n var k = 0 | a;\n if (k > last_tab_entry)\n k = last_tab_entry;\n mask_idx[b] = k;\n } else {\n mask_idx[b] = 0;\n }\n\n for (b = 1; b < gfc.npart_s - 1; b++) {\n a = avg[b - 1] + avg[b] + avg[b + 1];\n assert(b + 1 < gfc.npart_s);\n assert(a >= 0);\n if (a > 0.0) {\n var m = max[b - 1];\n if (m < max[b])\n m = max[b];\n if (m < max[b + 1])\n m = max[b + 1];\n assert((gfc.numlines_s[b - 1] + gfc.numlines_s[b] + gfc.numlines_s[b + 1] - 1) > 0);\n a = 20.0\n * (m * 3.0 - a)\n / (a * (gfc.numlines_s[b - 1] + gfc.numlines_s[b]\n + gfc.numlines_s[b + 1] - 1));\n var k = 0 | a;\n if (k > last_tab_entry)\n k = last_tab_entry;\n mask_idx[b] = k;\n } else {\n mask_idx[b] = 0;\n }\n }\n assert(b > 0);\n assert(b == gfc.npart_s - 1);\n\n a = avg[b - 1] + avg[b];\n assert(a >= 0);\n if (a > 0.0) {\n var m = max[b - 1];\n if (m < max[b])\n m = max[b];\n assert((gfc.numlines_s[b - 1] + gfc.numlines_s[b] - 1) > 0);\n a = 20.0 * (m * 2.0 - a)\n / (a * (gfc.numlines_s[b - 1] + gfc.numlines_s[b] - 1));\n var k = 0 | a;\n if (k > last_tab_entry)\n k = last_tab_entry;\n mask_idx[b] = k;\n } else {\n mask_idx[b] = 0;\n }\n assert(b == (gfc.npart_s - 1));\n }\n\n function vbrpsy_compute_masking_s(gfp, fftenergy_s, eb, thr, chn, sblock) {\n var gfc = gfp.internal_flags;\n var max = new float[Encoder.CBANDS], avg = new_float(Encoder.CBANDS);\n var i, j, b;\n var mask_idx_s = new int[Encoder.CBANDS];\n\n for (b = j = 0; b < gfc.npart_s; ++b) {\n var ebb = 0, m = 0;\n var n = gfc.numlines_s[b];\n for (i = 0; i < n; ++i, ++j) {\n var el = fftenergy_s[sblock][j];\n ebb += el;\n if (m < el)\n m = el;\n }\n eb[b] = ebb;\n assert(ebb >= 0);\n max[b] = m;\n assert(n > 0);\n avg[b] = ebb / n;\n assert(avg[b] >= 0);\n }\n assert(b == gfc.npart_s);\n assert(j == 129);\n for (; b < Encoder.CBANDS; ++b) {\n max[b] = 0;\n avg[b] = 0;\n }\n psyvbr_calc_mask_index_s(gfc, max, avg, mask_idx_s);\n for (j = b = 0; b < gfc.npart_s; b++) {\n var kk = gfc.s3ind_s[b][0];\n var last = gfc.s3ind_s[b][1];\n var dd, dd_n;\n var x, ecb, avg_mask;\n dd = mask_idx_s[kk];\n dd_n = 1;\n ecb = gfc.s3_ss[j] * eb[kk] * tab[mask_idx_s[kk]];\n ++j;\n ++kk;\n while (kk <= last) {\n dd += mask_idx_s[kk];\n dd_n += 1;\n x = gfc.s3_ss[j] * eb[kk] * tab[mask_idx_s[kk]];\n ecb = vbrpsy_mask_add(ecb, x, kk - b);\n ++j;\n ++kk;\n }\n dd = (1 + 2 * dd) / (2 * dd_n);\n avg_mask = tab[dd] * 0.5;\n ecb *= avg_mask;\n thr[b] = ecb;\n gfc.nb_s2[chn][b] = gfc.nb_s1[chn][b];\n gfc.nb_s1[chn][b] = ecb;\n {\n /*\n * if THR exceeds EB, the quantization routines will take the\n * difference from other bands. in case of strong tonal samples\n * (tonaltest.wav) this leads to heavy distortions. that's why\n * we limit THR here.\n */\n x = max[b];\n x *= gfc.minval_s[b];\n x *= avg_mask;\n if (thr[b] > x) {\n thr[b] = x;\n }\n }\n if (gfc.masking_lower > 1) {\n thr[b] *= gfc.masking_lower;\n }\n if (thr[b] > eb[b]) {\n thr[b] = eb[b];\n }\n if (gfc.masking_lower < 1) {\n thr[b] *= gfc.masking_lower;\n }\n\n assert(thr[b] >= 0);\n }\n for (; b < Encoder.CBANDS; ++b) {\n eb[b] = 0;\n thr[b] = 0;\n }\n }\n\n function vbrpsy_compute_masking_l(gfc, fftenergy, eb_l, thr, chn) {\n var max = new_float(Encoder.CBANDS), avg = new_float(Encoder.CBANDS);\n var mask_idx_l = new_int(Encoder.CBANDS + 2);\n var b;\n\n /*********************************************************************\n * Calculate the energy and the tonality of each partition.\n *********************************************************************/\n calc_energy(gfc, fftenergy, eb_l, max, avg);\n calc_mask_index_l(gfc, max, avg, mask_idx_l);\n\n /*********************************************************************\n * convolve the partitioned energy and unpredictability with the\n * spreading function, s3_l[b][k]\n ********************************************************************/\n var k = 0;\n for (b = 0; b < gfc.npart_l; b++) {\n var x, ecb, avg_mask, t;\n /* convolve the partitioned energy with the spreading function */\n var kk = gfc.s3ind[b][0];\n var last = gfc.s3ind[b][1];\n var dd = 0, dd_n = 0;\n dd = mask_idx_l[kk];\n dd_n += 1;\n ecb = gfc.s3_ll[k] * eb_l[kk] * tab[mask_idx_l[kk]];\n ++k;\n ++kk;\n while (kk <= last) {\n dd += mask_idx_l[kk];\n dd_n += 1;\n x = gfc.s3_ll[k] * eb_l[kk] * tab[mask_idx_l[kk]];\n t = vbrpsy_mask_add(ecb, x, kk - b);\n ecb = t;\n ++k;\n ++kk;\n }\n dd = (1 + 2 * dd) / (2 * dd_n);\n avg_mask = tab[dd] * 0.5;\n ecb *= avg_mask;\n\n /**** long block pre-echo control ****/\n /**\n *
\n             * dont use long block pre-echo control if previous granule was\n             * a short block.  This is to avoid the situation:\n             * frame0:  quiet (very low masking)\n             * frame1:  surge  (triggers short blocks)\n             * frame2:  regular frame.  looks like pre-echo when compared to\n             *          frame0, but all pre-echo was in frame1.\n             * 
\n */\n /*\n * chn=0,1 L and R channels chn=2,3 S and M channels.\n */\n if (gfc.blocktype_old[chn & 0x01] == Encoder.SHORT_TYPE) {\n var ecb_limit = rpelev * gfc.nb_1[chn][b];\n if (ecb_limit > 0) {\n thr[b] = Math.min(ecb, ecb_limit);\n } else {\n /**\n *
\n                     * Robert 071209:\n                     * Because we don't calculate long block psy when we know a granule\n                     * should be of short blocks, we don't have any clue how the granule\n                     * before would have looked like as a long block. So we have to guess\n                     * a little bit for this END_TYPE block.\n                     * Most of the time we get away with this sloppyness. (fingers crossed :)\n                     * The speed increase is worth it.\n                     * 
\n */\n thr[b] = Math.min(ecb, eb_l[b] * NS_PREECHO_ATT2);\n }\n } else {\n var ecb_limit_2 = rpelev2 * gfc.nb_2[chn][b];\n var ecb_limit_1 = rpelev * gfc.nb_1[chn][b];\n var ecb_limit;\n if (ecb_limit_2 <= 0) {\n ecb_limit_2 = ecb;\n }\n if (ecb_limit_1 <= 0) {\n ecb_limit_1 = ecb;\n }\n if (gfc.blocktype_old[chn & 0x01] == Encoder.NORM_TYPE) {\n ecb_limit = Math.min(ecb_limit_1, ecb_limit_2);\n } else {\n ecb_limit = ecb_limit_1;\n }\n thr[b] = Math.min(ecb, ecb_limit);\n }\n gfc.nb_2[chn][b] = gfc.nb_1[chn][b];\n gfc.nb_1[chn][b] = ecb;\n {\n /*\n * if THR exceeds EB, the quantization routines will take the\n * difference from other bands. in case of strong tonal samples\n * (tonaltest.wav) this leads to heavy distortions. that's why\n * we limit THR here.\n */\n x = max[b];\n x *= gfc.minval_l[b];\n x *= avg_mask;\n if (thr[b] > x) {\n thr[b] = x;\n }\n }\n if (gfc.masking_lower > 1) {\n thr[b] *= gfc.masking_lower;\n }\n if (thr[b] > eb_l[b]) {\n thr[b] = eb_l[b];\n }\n if (gfc.masking_lower < 1) {\n thr[b] *= gfc.masking_lower;\n }\n assert(thr[b] >= 0);\n }\n for (; b < Encoder.CBANDS; ++b) {\n eb_l[b] = 0;\n thr[b] = 0;\n }\n }\n\n function vbrpsy_compute_block_type(gfp, uselongblock) {\n var gfc = gfp.internal_flags;\n\n if (gfp.short_blocks == ShortBlock.short_block_coupled\n /* force both channels to use the same block type */\n /* this is necessary if the frame is to be encoded in ms_stereo. */\n /* But even without ms_stereo, FhG does this */\n && !(uselongblock[0] != 0 && uselongblock[1] != 0))\n uselongblock[0] = uselongblock[1] = 0;\n\n for (var chn = 0; chn < gfc.channels_out; chn++) {\n /* disable short blocks */\n if (gfp.short_blocks == ShortBlock.short_block_dispensed) {\n uselongblock[chn] = 1;\n }\n if (gfp.short_blocks == ShortBlock.short_block_forced) {\n uselongblock[chn] = 0;\n }\n }\n }\n\n function vbrpsy_apply_block_type(gfp, uselongblock, blocktype_d) {\n var gfc = gfp.internal_flags;\n\n /*\n * update the blocktype of the previous granule, since it depends on\n * what happend in this granule\n */\n for (var chn = 0; chn < gfc.channels_out; chn++) {\n var blocktype = Encoder.NORM_TYPE;\n /* disable short blocks */\n\n if (uselongblock[chn] != 0) {\n /* no attack : use long blocks */\n assert(gfc.blocktype_old[chn] != Encoder.START_TYPE);\n if (gfc.blocktype_old[chn] == Encoder.SHORT_TYPE)\n blocktype = Encoder.STOP_TYPE;\n } else {\n /* attack : use short blocks */\n blocktype = Encoder.SHORT_TYPE;\n if (gfc.blocktype_old[chn] == Encoder.NORM_TYPE) {\n gfc.blocktype_old[chn] = Encoder.START_TYPE;\n }\n if (gfc.blocktype_old[chn] == Encoder.STOP_TYPE)\n gfc.blocktype_old[chn] = Encoder.SHORT_TYPE;\n }\n\n blocktype_d[chn] = gfc.blocktype_old[chn];\n // value returned to calling program\n gfc.blocktype_old[chn] = blocktype;\n // save for next call to l3psy_anal\n }\n }\n\n /**\n * compute M/S thresholds from Johnston & Ferreira 1992 ICASSP paper\n */\n function vbrpsy_compute_MS_thresholds(eb, thr, cb_mld, ath_cb, athadjust, msfix, n) {\n var msfix2 = msfix * 2;\n var athlower = msfix > 0 ? Math.pow(10, athadjust) : 1;\n var rside, rmid;\n for (var b = 0; b < n; ++b) {\n var ebM = eb[2][b];\n var ebS = eb[3][b];\n var thmL = thr[0][b];\n var thmR = thr[1][b];\n var thmM = thr[2][b];\n var thmS = thr[3][b];\n\n /* use this fix if L & R masking differs by 2db or less */\n if (thmL <= 1.58 * thmR && thmR <= 1.58 * thmL) {\n var mld_m = cb_mld[b] * ebS;\n var mld_s = cb_mld[b] * ebM;\n rmid = Math.max(thmM, Math.min(thmS, mld_m));\n rside = Math.max(thmS, Math.min(thmM, mld_s));\n } else {\n rmid = thmM;\n rside = thmS;\n }\n if (msfix > 0) {\n /***************************************************************/\n /* Adjust M/S maskings if user set \"msfix\" */\n /***************************************************************/\n /* Naoki Shibata 2000 */\n var thmLR, thmMS;\n var ath = ath_cb[b] * athlower;\n thmLR = Math.min(Math.max(thmL, ath), Math.max(thmR, ath));\n thmM = Math.max(rmid, ath);\n thmS = Math.max(rside, ath);\n thmMS = thmM + thmS;\n if (thmMS > 0 && (thmLR * msfix2) < thmMS) {\n var f = thmLR * msfix2 / thmMS;\n thmM *= f;\n thmS *= f;\n assert(thmMS > 0);\n }\n rmid = Math.min(thmM, rmid);\n rside = Math.min(thmS, rside);\n }\n if (rmid > ebM) {\n rmid = ebM;\n }\n if (rside > ebS) {\n rside = ebS;\n }\n thr[2][b] = rmid;\n thr[3][b] = rside;\n }\n }\n\n this.L3psycho_anal_vbr = function (gfp, buffer, bufPos, gr_out, masking_ratio, masking_MS_ratio, percep_entropy, percep_MS_entropy, energy, blocktype_d) {\n var gfc = gfp.internal_flags;\n\n /* fft and energy calculation */\n var wsamp_l;\n var wsamp_s;\n var fftenergy = new_float(Encoder.HBLKSIZE);\n var fftenergy_s = new_float_n([3, Encoder.HBLKSIZE_s]);\n var wsamp_L = new_float_n([2, Encoder.BLKSIZE]);\n var wsamp_S = new_float_n([2, 3, Encoder.BLKSIZE_s]);\n var eb = new_float_n([4, Encoder.CBANDS]), thr = new_float_n([4, Encoder.CBANDS]);\n var sub_short_factor = new_float_n([4, 3]);\n var pcfact = 0.6;\n\n /* block type */\n var ns_attacks = [[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0],\n [0, 0, 0, 0]];\n var uselongblock = new_int(2);\n\n /* usual variables like loop indices, etc.. */\n\n /* chn=2 and 3 = Mid and Side channels */\n var n_chn_psy = (gfp.mode == MPEGMode.JOINT_STEREO) ? 4\n : gfc.channels_out;\n\n vbrpsy_attack_detection(gfp, buffer, bufPos, gr_out, masking_ratio,\n masking_MS_ratio, energy, sub_short_factor, ns_attacks,\n uselongblock);\n\n vbrpsy_compute_block_type(gfp, uselongblock);\n\n /* LONG BLOCK CASE */\n {\n for (var chn = 0; chn < n_chn_psy; chn++) {\n var ch01 = chn & 0x01;\n wsamp_l = wsamp_L;\n vbrpsy_compute_fft_l(gfp, buffer, bufPos, chn, gr_out,\n fftenergy, wsamp_l, ch01);\n\n vbrpsy_compute_loudness_approximation_l(gfp, gr_out, chn,\n fftenergy);\n\n if (uselongblock[ch01] != 0) {\n vbrpsy_compute_masking_l(gfc, fftenergy, eb[chn], thr[chn],\n chn);\n } else {\n vbrpsy_skip_masking_l(gfc, chn);\n }\n }\n if ((uselongblock[0] + uselongblock[1]) == 2) {\n /* M/S channel */\n if (gfp.mode == MPEGMode.JOINT_STEREO) {\n vbrpsy_compute_MS_thresholds(eb, thr, gfc.mld_cb_l,\n gfc.ATH.cb_l, gfp.ATHlower * gfc.ATH.adjust,\n gfp.msfix, gfc.npart_l);\n }\n }\n /* TODO: apply adaptive ATH masking here ?? */\n for (var chn = 0; chn < n_chn_psy; chn++) {\n var ch01 = chn & 0x01;\n if (uselongblock[ch01] != 0) {\n convert_partition2scalefac_l(gfc, eb[chn], thr[chn], chn);\n }\n }\n }\n\n /* SHORT BLOCKS CASE */\n {\n for (var sblock = 0; sblock < 3; sblock++) {\n for (var chn = 0; chn < n_chn_psy; ++chn) {\n var ch01 = chn & 0x01;\n\n if (uselongblock[ch01] != 0) {\n vbrpsy_skip_masking_s(gfc, chn, sblock);\n } else {\n /* compute masking thresholds for short blocks */\n wsamp_s = wsamp_S;\n vbrpsy_compute_fft_s(gfp, buffer, bufPos, chn, sblock,\n fftenergy_s, wsamp_s, ch01);\n vbrpsy_compute_masking_s(gfp, fftenergy_s, eb[chn],\n thr[chn], chn, sblock);\n }\n }\n if ((uselongblock[0] + uselongblock[1]) == 0) {\n /* M/S channel */\n if (gfp.mode == MPEGMode.JOINT_STEREO) {\n vbrpsy_compute_MS_thresholds(eb, thr, gfc.mld_cb_s,\n gfc.ATH.cb_s, gfp.ATHlower * gfc.ATH.adjust,\n gfp.msfix, gfc.npart_s);\n }\n /* L/R channel */\n }\n /* TODO: apply adaptive ATH masking here ?? */\n for (var chn = 0; chn < n_chn_psy; ++chn) {\n var ch01 = chn & 0x01;\n if (0 == uselongblock[ch01]) {\n convert_partition2scalefac_s(gfc, eb[chn], thr[chn],\n chn, sblock);\n }\n }\n }\n\n /**** short block pre-echo control ****/\n for (var chn = 0; chn < n_chn_psy; chn++) {\n var ch01 = chn & 0x01;\n\n if (uselongblock[ch01] != 0) {\n continue;\n }\n for (var sb = 0; sb < Encoder.SBMAX_s; sb++) {\n var new_thmm = new_float(3);\n for (var sblock = 0; sblock < 3; sblock++) {\n var thmm = gfc.thm[chn].s[sb][sblock];\n thmm *= NS_PREECHO_ATT0;\n\n if (ns_attacks[chn][sblock] >= 2\n || ns_attacks[chn][sblock + 1] == 1) {\n var idx = (sblock != 0) ? sblock - 1 : 2;\n var p = NS_INTERP(gfc.thm[chn].s[sb][idx], thmm,\n NS_PREECHO_ATT1 * pcfact);\n thmm = Math.min(thmm, p);\n } else if (ns_attacks[chn][sblock] == 1) {\n var idx = (sblock != 0) ? sblock - 1 : 2;\n var p = NS_INTERP(gfc.thm[chn].s[sb][idx], thmm,\n NS_PREECHO_ATT2 * pcfact);\n thmm = Math.min(thmm, p);\n } else if ((sblock != 0 && ns_attacks[chn][sblock - 1] == 3)\n || (sblock == 0 && gfc.nsPsy.lastAttacks[chn] == 3)) {\n var idx = (sblock != 2) ? sblock + 1 : 0;\n var p = NS_INTERP(gfc.thm[chn].s[sb][idx], thmm,\n NS_PREECHO_ATT2 * pcfact);\n thmm = Math.min(thmm, p);\n }\n\n /* pulse like signal detection for fatboy.wav and so on */\n thmm *= sub_short_factor[chn][sblock];\n\n new_thmm[sblock] = thmm;\n }\n for (var sblock = 0; sblock < 3; sblock++) {\n gfc.thm[chn].s[sb][sblock] = new_thmm[sblock];\n }\n }\n }\n }\n for (var chn = 0; chn < n_chn_psy; chn++) {\n gfc.nsPsy.lastAttacks[chn] = ns_attacks[chn][2];\n }\n\n /***************************************************************\n * determine final block type\n ***************************************************************/\n vbrpsy_apply_block_type(gfp, uselongblock, blocktype_d);\n\n /*********************************************************************\n * compute the value of PE to return ... no delay and advance\n *********************************************************************/\n for (var chn = 0; chn < n_chn_psy; chn++) {\n var ppe;\n var ppePos;\n var type;\n var mr;\n\n if (chn > 1) {\n ppe = percep_MS_entropy;\n ppePos = -2;\n type = Encoder.NORM_TYPE;\n if (blocktype_d[0] == Encoder.SHORT_TYPE\n || blocktype_d[1] == Encoder.SHORT_TYPE)\n type = Encoder.SHORT_TYPE;\n mr = masking_MS_ratio[gr_out][chn - 2];\n } else {\n ppe = percep_entropy;\n ppePos = 0;\n type = blocktype_d[chn];\n mr = masking_ratio[gr_out][chn];\n }\n\n if (type == Encoder.SHORT_TYPE) {\n ppe[ppePos + chn] = pecalc_s(mr, gfc.masking_lower);\n } else {\n ppe[ppePos + chn] = pecalc_l(mr, gfc.masking_lower);\n }\n\n if (gfp.analysis) {\n gfc.pinfo.pe[gr_out][chn] = ppe[ppePos + chn];\n }\n }\n return 0;\n }\n\n function s3_func_x(bark, hf_slope) {\n var tempx = bark, tempy;\n\n if (tempx >= 0) {\n tempy = -tempx * 27;\n } else {\n tempy = tempx * hf_slope;\n }\n if (tempy <= -72.0) {\n return 0;\n }\n return Math.exp(tempy * LN_TO_LOG10);\n }\n\n function norm_s3_func_x(hf_slope) {\n var lim_a = 0, lim_b = 0;\n {\n var x = 0, l, h;\n for (x = 0; s3_func_x(x, hf_slope) > 1e-20; x -= 1)\n ;\n l = x;\n h = 0;\n while (Math.abs(h - l) > 1e-12) {\n x = (h + l) / 2;\n if (s3_func_x(x, hf_slope) > 0) {\n h = x;\n } else {\n l = x;\n }\n }\n lim_a = l;\n }\n {\n var x = 0, l, h;\n for (x = 0; s3_func_x(x, hf_slope) > 1e-20; x += 1)\n ;\n l = 0;\n h = x;\n while (Math.abs(h - l) > 1e-12) {\n x = (h + l) / 2;\n if (s3_func_x(x, hf_slope) > 0) {\n l = x;\n } else {\n h = x;\n }\n }\n lim_b = h;\n }\n {\n var sum = 0;\n var m = 1000;\n var i;\n for (i = 0; i <= m; ++i) {\n var x = lim_a + i * (lim_b - lim_a) / m;\n var y = s3_func_x(x, hf_slope);\n sum += y;\n }\n {\n var norm = (m + 1) / (sum * (lim_b - lim_a));\n /* printf( \"norm = %lf\\n\",norm); */\n return norm;\n }\n }\n }\n\n /**\n * The spreading function. Values returned in units of energy\n */\n function s3_func(bark) {\n var tempx, x, tempy, temp;\n tempx = bark;\n if (tempx >= 0)\n tempx *= 3;\n else\n tempx *= 1.5;\n\n if (tempx >= 0.5 && tempx <= 2.5) {\n temp = tempx - 0.5;\n x = 8.0 * (temp * temp - 2.0 * temp);\n } else\n x = 0.0;\n tempx += 0.474;\n tempy = 15.811389 + 7.5 * tempx - 17.5\n * Math.sqrt(1.0 + tempx * tempx);\n\n if (tempy <= -60.0)\n return 0.0;\n\n tempx = Math.exp((x + tempy) * LN_TO_LOG10);\n\n /**\n *
\n         * Normalization.  The spreading function should be normalized so that:\n         * +inf\n         * /\n         * |  s3 [ bark ]  d(bark)   =  1\n         * /\n         * -inf\n         * 
\n */\n tempx /= .6609193;\n return tempx;\n }\n\n /**\n * see for example \"Zwicker: Psychoakustik, 1982; ISBN 3-540-11401-7\n */\n function freq2bark(freq) {\n /* input: freq in hz output: barks */\n if (freq < 0)\n freq = 0;\n freq = freq * 0.001;\n return 13.0 * Math.atan(.76 * freq) + 3.5\n * Math.atan(freq * freq / (7.5 * 7.5));\n }\n\n function init_numline(numlines, bo, bm, bval, bval_width, mld, bo_w, sfreq, blksize, scalepos, deltafreq, sbmax) {\n var b_frq = new_float(Encoder.CBANDS + 1);\n var sample_freq_frac = sfreq / (sbmax > 15 ? 2 * 576 : 2 * 192);\n var partition = new_int(Encoder.HBLKSIZE);\n var i;\n sfreq /= blksize;\n var j = 0;\n var ni = 0;\n /* compute numlines, the number of spectral lines in each partition band */\n /* each partition band should be about DELBARK wide. */\n for (i = 0; i < Encoder.CBANDS; i++) {\n var bark1;\n var j2;\n bark1 = freq2bark(sfreq * j);\n\n b_frq[i] = sfreq * j;\n\n for (j2 = j; freq2bark(sfreq * j2) - bark1 < DELBARK\n && j2 <= blksize / 2; j2++)\n ;\n\n numlines[i] = j2 - j;\n ni = i + 1;\n\n while (j < j2) {\n assert(j < Encoder.HBLKSIZE);\n partition[j++] = i;\n }\n if (j > blksize / 2) {\n j = blksize / 2;\n ++i;\n break;\n }\n }\n assert(i < Encoder.CBANDS);\n b_frq[i] = sfreq * j;\n\n for (var sfb = 0; sfb < sbmax; sfb++) {\n var i1, i2, start, end;\n var arg;\n start = scalepos[sfb];\n end = scalepos[sfb + 1];\n\n i1 = 0 | Math.floor(.5 + deltafreq * (start - .5));\n if (i1 < 0)\n i1 = 0;\n i2 = 0 | Math.floor(.5 + deltafreq * (end - .5));\n\n if (i2 > blksize / 2)\n i2 = blksize / 2;\n\n bm[sfb] = (partition[i1] + partition[i2]) / 2;\n bo[sfb] = partition[i2];\n var f_tmp = sample_freq_frac * end;\n /*\n * calculate how much of this band belongs to current scalefactor\n * band\n */\n bo_w[sfb] = (f_tmp - b_frq[bo[sfb]])\n / (b_frq[bo[sfb] + 1] - b_frq[bo[sfb]]);\n if (bo_w[sfb] < 0) {\n bo_w[sfb] = 0;\n } else {\n if (bo_w[sfb] > 1) {\n bo_w[sfb] = 1;\n }\n }\n /* setup stereo demasking thresholds */\n /* formula reverse enginerred from plot in paper */\n arg = freq2bark(sfreq * scalepos[sfb] * deltafreq);\n arg = ( Math.min(arg, 15.5) / 15.5);\n\n mld[sfb] = Math.pow(10.0,\n 1.25 * (1 - Math.cos(Math.PI * arg)) - 2.5);\n }\n\n /* compute bark values of each critical band */\n j = 0;\n for (var k = 0; k < ni; k++) {\n var w = numlines[k];\n var bark1, bark2;\n\n bark1 = freq2bark(sfreq * (j));\n bark2 = freq2bark(sfreq * (j + w - 1));\n bval[k] = .5 * (bark1 + bark2);\n\n bark1 = freq2bark(sfreq * (j - .5));\n bark2 = freq2bark(sfreq * (j + w - .5));\n bval_width[k] = bark2 - bark1;\n j += w;\n }\n\n return ni;\n }\n\n function init_s3_values(s3ind, npart, bval, bval_width, norm, use_old_s3) {\n var s3 = new_float_n([Encoder.CBANDS, Encoder.CBANDS]);\n /*\n * The s3 array is not linear in the bark scale.\n *\n * bval[x] should be used to get the bark value.\n */\n var j;\n var numberOfNoneZero = 0;\n\n /**\n *
\n         * s[i][j], the value of the spreading function,\n         * centered at band j (masker), for band i (maskee)\n         *\n         * i.e.: sum over j to spread into signal barkval=i\n         * NOTE: i and j are used opposite as in the ISO docs\n         * 
\n */\n if (use_old_s3) {\n for (var i = 0; i < npart; i++) {\n for (j = 0; j < npart; j++) {\n var v = s3_func(bval[i] - bval[j]) * bval_width[j];\n s3[i][j] = v * norm[i];\n }\n }\n } else {\n for (j = 0; j < npart; j++) {\n var hf_slope = 15 + Math.min(21 / bval[j], 12);\n var s3_x_norm = norm_s3_func_x(hf_slope);\n for (var i = 0; i < npart; i++) {\n var v = s3_x_norm\n * s3_func_x(bval[i] - bval[j], hf_slope)\n * bval_width[j];\n s3[i][j] = v * norm[i];\n }\n }\n }\n for (var i = 0; i < npart; i++) {\n for (j = 0; j < npart; j++) {\n if (s3[i][j] > 0.0)\n break;\n }\n s3ind[i][0] = j;\n\n for (j = npart - 1; j > 0; j--) {\n if (s3[i][j] > 0.0)\n break;\n }\n s3ind[i][1] = j;\n numberOfNoneZero += (s3ind[i][1] - s3ind[i][0] + 1);\n }\n\n var p = new_float(numberOfNoneZero);\n var k = 0;\n for (var i = 0; i < npart; i++)\n for (j = s3ind[i][0]; j <= s3ind[i][1]; j++)\n p[k++] = s3[i][j];\n\n return p;\n }\n\n function stereo_demask(f) {\n /* setup stereo demasking thresholds */\n /* formula reverse enginerred from plot in paper */\n var arg = freq2bark(f);\n arg = (Math.min(arg, 15.5) / 15.5);\n\n return Math.pow(10.0,\n 1.25 * (1 - Math.cos(Math.PI * arg)) - 2.5);\n }\n\n /**\n * NOTE: the bitrate reduction from the inter-channel masking effect is low\n * compared to the chance of getting annyoing artefacts. L3psycho_anal_vbr\n * does not use this feature. (Robert 071216)\n */\n this.psymodel_init = function (gfp) {\n var gfc = gfp.internal_flags;\n var i;\n var useOldS3 = true;\n var bvl_a = 13, bvl_b = 24;\n var snr_l_a = 0, snr_l_b = 0;\n var snr_s_a = -8.25, snr_s_b = -4.5;\n var bval = new_float(Encoder.CBANDS);\n var bval_width = new_float(Encoder.CBANDS);\n var norm = new_float(Encoder.CBANDS);\n var sfreq = gfp.out_samplerate;\n\n switch (gfp.experimentalZ) {\n default:\n case 0:\n useOldS3 = true;\n break;\n case 1:\n useOldS3 = (gfp.VBR == VbrMode.vbr_mtrh || gfp.VBR == VbrMode.vbr_mt) ? false\n : true;\n break;\n case 2:\n useOldS3 = false;\n break;\n case 3:\n bvl_a = 8;\n snr_l_a = -1.75;\n snr_l_b = -0.0125;\n snr_s_a = -8.25;\n snr_s_b = -2.25;\n break;\n }\n gfc.ms_ener_ratio_old = .25;\n gfc.blocktype_old[0] = gfc.blocktype_old[1] = Encoder.NORM_TYPE;\n // the vbr header is long blocks\n\n for (i = 0; i < 4; ++i) {\n for (var j = 0; j < Encoder.CBANDS; ++j) {\n gfc.nb_1[i][j] = 1e20;\n gfc.nb_2[i][j] = 1e20;\n gfc.nb_s1[i][j] = gfc.nb_s2[i][j] = 1.0;\n }\n for (var sb = 0; sb < Encoder.SBMAX_l; sb++) {\n gfc.en[i].l[sb] = 1e20;\n gfc.thm[i].l[sb] = 1e20;\n }\n for (var j = 0; j < 3; ++j) {\n for (var sb = 0; sb < Encoder.SBMAX_s; sb++) {\n gfc.en[i].s[sb][j] = 1e20;\n gfc.thm[i].s[sb][j] = 1e20;\n }\n gfc.nsPsy.lastAttacks[i] = 0;\n }\n for (var j = 0; j < 9; j++)\n gfc.nsPsy.last_en_subshort[i][j] = 10.;\n }\n\n /* init. for loudness approx. -jd 2001 mar 27 */\n gfc.loudness_sq_save[0] = gfc.loudness_sq_save[1] = 0.0;\n\n /*************************************************************************\n * now compute the psychoacoustic model specific constants\n ************************************************************************/\n /* compute numlines, bo, bm, bval, bval_width, mld */\n\n gfc.npart_l = init_numline(gfc.numlines_l, gfc.bo_l, gfc.bm_l, bval,\n bval_width, gfc.mld_l, gfc.PSY.bo_l_weight, sfreq,\n Encoder.BLKSIZE, gfc.scalefac_band.l, Encoder.BLKSIZE\n / (2.0 * 576), Encoder.SBMAX_l);\n assert(gfc.npart_l < Encoder.CBANDS);\n /* compute the spreading function */\n for (i = 0; i < gfc.npart_l; i++) {\n var snr = snr_l_a;\n if (bval[i] >= bvl_a) {\n snr = snr_l_b * (bval[i] - bvl_a) / (bvl_b - bvl_a) + snr_l_a\n * (bvl_b - bval[i]) / (bvl_b - bvl_a);\n }\n norm[i] = Math.pow(10.0, snr / 10.0);\n if (gfc.numlines_l[i] > 0) {\n gfc.rnumlines_l[i] = 1.0 / gfc.numlines_l[i];\n } else {\n gfc.rnumlines_l[i] = 0;\n }\n }\n gfc.s3_ll = init_s3_values(gfc.s3ind, gfc.npart_l, bval, bval_width,\n norm, useOldS3);\n\n /* compute long block specific values, ATH and MINVAL */\n var j = 0;\n for (i = 0; i < gfc.npart_l; i++) {\n var x;\n\n /* ATH */\n x = Float.MAX_VALUE;\n for (var k = 0; k < gfc.numlines_l[i]; k++, j++) {\n var freq = sfreq * j / (1000.0 * Encoder.BLKSIZE);\n var level;\n /*\n * ATH below 100 Hz constant, not further climbing\n */\n level = this.ATHformula(freq * 1000, gfp) - 20;\n // scale to FFT units; returned value is in dB\n level = Math.pow(10., 0.1 * level);\n // convert from dB . energy\n level *= gfc.numlines_l[i];\n if (x > level)\n x = level;\n }\n gfc.ATH.cb_l[i] = x;\n\n /*\n * MINVAL. For low freq, the strength of the masking is limited by\n * minval this is an ISO MPEG1 thing, dont know if it is really\n * needed\n */\n /*\n * FIXME: it does work to reduce low-freq problems in S53-Wind-Sax\n * and lead-voice samples, but introduces some 3 kbps bit bloat too.\n * TODO: Further refinement of the shape of this hack.\n */\n x = -20 + bval[i] * 20 / 10;\n if (x > 6) {\n x = 100;\n }\n if (x < -15) {\n x = -15;\n }\n x -= 8.;\n gfc.minval_l[i] = (Math.pow(10.0, x / 10.) * gfc.numlines_l[i]);\n }\n\n /************************************************************************\n * do the same things for short blocks\n ************************************************************************/\n gfc.npart_s = init_numline(gfc.numlines_s, gfc.bo_s, gfc.bm_s, bval,\n bval_width, gfc.mld_s, gfc.PSY.bo_s_weight, sfreq,\n Encoder.BLKSIZE_s, gfc.scalefac_band.s, Encoder.BLKSIZE_s\n / (2.0 * 192), Encoder.SBMAX_s);\n assert(gfc.npart_s < Encoder.CBANDS);\n\n /* SNR formula. short block is normalized by SNR. is it still right ? */\n j = 0;\n for (i = 0; i < gfc.npart_s; i++) {\n var x;\n var snr = snr_s_a;\n if (bval[i] >= bvl_a) {\n snr = snr_s_b * (bval[i] - bvl_a) / (bvl_b - bvl_a) + snr_s_a\n * (bvl_b - bval[i]) / (bvl_b - bvl_a);\n }\n norm[i] = Math.pow(10.0, snr / 10.0);\n\n /* ATH */\n x = Float.MAX_VALUE;\n for (var k = 0; k < gfc.numlines_s[i]; k++, j++) {\n var freq = sfreq * j / (1000.0 * Encoder.BLKSIZE_s);\n var level;\n /* freq = Min(.1,freq); */\n /*\n * ATH below 100 Hz constant, not\n * further climbing\n */\n level = this.ATHformula(freq * 1000, gfp) - 20;\n // scale to FFT units; returned value is in dB\n level = Math.pow(10., 0.1 * level);\n // convert from dB . energy\n level *= gfc.numlines_s[i];\n if (x > level)\n x = level;\n }\n gfc.ATH.cb_s[i] = x;\n\n /*\n * MINVAL. For low freq, the strength of the masking is limited by\n * minval this is an ISO MPEG1 thing, dont know if it is really\n * needed\n */\n x = (-7.0 + bval[i] * 7.0 / 12.0);\n if (bval[i] > 12) {\n x *= 1 + Math.log(1 + x) * 3.1;\n }\n if (bval[i] < 12) {\n x *= 1 + Math.log(1 - x) * 2.3;\n }\n if (x < -15) {\n x = -15;\n }\n x -= 8;\n gfc.minval_s[i] = Math.pow(10.0, x / 10)\n * gfc.numlines_s[i];\n }\n\n gfc.s3_ss = init_s3_values(gfc.s3ind_s, gfc.npart_s, bval, bval_width,\n norm, useOldS3);\n\n init_mask_add_max_values();\n fft.init_fft(gfc);\n\n /* setup temporal masking */\n gfc.decay = Math.exp(-1.0 * LOG10\n / (temporalmask_sustain_sec * sfreq / 192.0));\n\n {\n var msfix;\n msfix = NS_MSFIX;\n if ((gfp.exp_nspsytune & 2) != 0)\n msfix = 1.0;\n if (Math.abs(gfp.msfix) > 0.0)\n msfix = gfp.msfix;\n gfp.msfix = msfix;\n\n /*\n * spread only from npart_l bands. Normally, we use the spreading\n * function to convolve from npart_l down to npart_l bands\n */\n for (var b = 0; b < gfc.npart_l; b++)\n if (gfc.s3ind[b][1] > gfc.npart_l - 1)\n gfc.s3ind[b][1] = gfc.npart_l - 1;\n }\n\n /*\n * prepare for ATH auto adjustment: we want to decrease the ATH by 12 dB\n * per second\n */\n var frame_duration = (576. * gfc.mode_gr / sfreq);\n gfc.ATH.decay = Math.pow(10., -12. / 10. * frame_duration);\n gfc.ATH.adjust = 0.01;\n /* minimum, for leading low loudness */\n gfc.ATH.adjustLimit = 1.0;\n /* on lead, allow adjust up to maximum */\n\n assert(gfc.bo_l[Encoder.SBMAX_l - 1] <= gfc.npart_l);\n assert(gfc.bo_s[Encoder.SBMAX_s - 1] <= gfc.npart_s);\n\n if (gfp.ATHtype != -1) {\n /* compute equal loudness weights (eql_w) */\n var freq;\n var freq_inc = gfp.out_samplerate\n / (Encoder.BLKSIZE);\n var eql_balance = 0.0;\n freq = 0.0;\n for (i = 0; i < Encoder.BLKSIZE / 2; ++i) {\n /* convert ATH dB to relative power (not dB) */\n /* to determine eql_w */\n freq += freq_inc;\n gfc.ATH.eql_w[i] = 1. / Math.pow(10, this.ATHformula(freq, gfp) / 10);\n eql_balance += gfc.ATH.eql_w[i];\n }\n eql_balance = 1.0 / eql_balance;\n for (i = Encoder.BLKSIZE / 2; --i >= 0;) { /* scale weights */\n gfc.ATH.eql_w[i] *= eql_balance;\n }\n }\n {\n for (var b = j = 0; b < gfc.npart_s; ++b) {\n for (i = 0; i < gfc.numlines_s[b]; ++i) {\n ++j;\n }\n }\n assert(j == 129);\n for (var b = j = 0; b < gfc.npart_l; ++b) {\n for (i = 0; i < gfc.numlines_l[b]; ++i) {\n ++j;\n }\n }\n assert(j == 513);\n }\n j = 0;\n for (i = 0; i < gfc.npart_l; i++) {\n var freq = sfreq * (j + gfc.numlines_l[i] / 2) / (1.0 * Encoder.BLKSIZE);\n gfc.mld_cb_l[i] = stereo_demask(freq);\n j += gfc.numlines_l[i];\n }\n for (; i < Encoder.CBANDS; ++i) {\n gfc.mld_cb_l[i] = 1;\n }\n j = 0;\n for (i = 0; i < gfc.npart_s; i++) {\n var freq = sfreq * (j + gfc.numlines_s[i] / 2) / (1.0 * Encoder.BLKSIZE_s);\n gfc.mld_cb_s[i] = stereo_demask(freq);\n j += gfc.numlines_s[i];\n }\n for (; i < Encoder.CBANDS; ++i) {\n gfc.mld_cb_s[i] = 1;\n }\n return 0;\n }\n\n /**\n * Those ATH formulas are returning their minimum value for input = -1\n */\n function ATHformula_GB(f, value) {\n /**\n *
\n         *  from Painter & Spanias\n         *           modified by Gabriel Bouvigne to better fit the reality\n         *           ath =    3.640 * pow(f,-0.8)\n         *           - 6.800 * exp(-0.6*pow(f-3.4,2.0))\n         *           + 6.000 * exp(-0.15*pow(f-8.7,2.0))\n         *           + 0.6* 0.001 * pow(f,4.0);\n         *\n         *\n         *           In the past LAME was using the Painter &Spanias formula.\n         *           But we had some recurrent problems with HF content.\n         *           We measured real ATH values, and found the older formula\n         *           to be inaccurate in the higher part. So we made this new\n         *           formula and this solved most of HF problematic test cases.\n         *           The tradeoff is that in VBR mode it increases a lot the\n         *           bitrate.\n         * 
\n */\n\n /*\n * This curve can be adjusted according to the VBR scale: it adjusts\n * from something close to Painter & Spanias on V9 up to Bouvigne's\n * formula for V0. This way the VBR bitrate is more balanced according\n * to the -V value.\n */\n\n // the following Hack allows to ask for the lowest value\n if (f < -.3)\n f = 3410;\n\n // convert to khz\n f /= 1000;\n f = Math.max(0.1, f);\n var ath = 3.640 * Math.pow(f, -0.8) - 6.800\n * Math.exp(-0.6 * Math.pow(f - 3.4, 2.0)) + 6.000\n * Math.exp(-0.15 * Math.pow(f - 8.7, 2.0))\n + (0.6 + 0.04 * value) * 0.001 * Math.pow(f, 4.0);\n return ath;\n }\n\n this.ATHformula = function (f, gfp) {\n var ath;\n switch (gfp.ATHtype) {\n case 0:\n ath = ATHformula_GB(f, 9);\n break;\n case 1:\n // over sensitive, should probably be removed\n ath = ATHformula_GB(f, -1);\n break;\n case 2:\n ath = ATHformula_GB(f, 0);\n break;\n case 3:\n // modification of GB formula by Roel\n ath = ATHformula_GB(f, 1) + 6;\n break;\n case 4:\n ath = ATHformula_GB(f, gfp.ATHcurve);\n break;\n default:\n ath = ATHformula_GB(f, 0);\n break;\n }\n return ath;\n }\n\n}\n\nmodule.exports = PsyModel;\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar definePropertyModule = require('../internals/object-define-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (CONSTRUCTOR_NAME) {\n var Constructor = getBuiltIn(CONSTRUCTOR_NAME);\n var defineProperty = definePropertyModule.f;\n\n if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) {\n defineProperty(Constructor, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n }\n};\n","var common = require('./common.js');\nvar System = common.System;\nvar VbrMode = common.VbrMode;\nvar Float = common.Float;\nvar ShortBlock = common.ShortBlock;\nvar Util = common.Util;\nvar Arrays = common.Arrays;\nvar new_array_n = common.new_array_n;\nvar new_byte = common.new_byte;\nvar new_double = common.new_double;\nvar new_float = common.new_float;\nvar new_float_n = common.new_float_n;\nvar new_int = common.new_int;\nvar new_int_n = common.new_int_n;\nvar assert = common.assert;\n\nvar GrInfo = require('./GrInfo.js');\n\nfunction IIISideInfo() {\n this.tt = [[null, null], [null, null]];\n this.main_data_begin = 0;\n this.private_bits = 0;\n this.resvDrain_pre = 0;\n this.resvDrain_post = 0;\n this.scfsi = [new_int(4), new_int(4)];\n\n for (var gr = 0; gr < 2; gr++) {\n for (var ch = 0; ch < 2; ch++) {\n this.tt[gr][ch] = new GrInfo();\n }\n }\n}\n\nmodule.exports = IIISideInfo;\n","var anObject = require('../internals/an-object');\n\nmodule.exports = function (iterator) {\n var returnMethod = iterator['return'];\n if (returnMethod !== undefined) {\n return anObject(returnMethod.call(iterator)).value;\n }\n};\n","/*!\n * Vue.js v2.6.14\n * (c) 2014-2021 Evan You\n * Released under the MIT License.\n */\n/* */\n\nvar emptyObject = Object.freeze({});\n\n// These helpers produce better VM code in JS engines due to their\n// explicitness and function inlining.\nfunction isUndef (v) {\n return v === undefined || v === null\n}\n\nfunction isDef (v) {\n return v !== undefined && v !== null\n}\n\nfunction isTrue (v) {\n return v === true\n}\n\nfunction isFalse (v) {\n return v === false\n}\n\n/**\n * Check if value is primitive.\n */\nfunction isPrimitive (value) {\n return (\n typeof value === 'string' ||\n typeof value === 'number' ||\n // $flow-disable-line\n typeof value === 'symbol' ||\n typeof value === 'boolean'\n )\n}\n\n/**\n * Quick object check - this is primarily used to tell\n * Objects from primitive values when we know the value\n * is a JSON-compliant type.\n */\nfunction isObject (obj) {\n return obj !== null && typeof obj === 'object'\n}\n\n/**\n * Get the raw type string of a value, e.g., [object Object].\n */\nvar _toString = Object.prototype.toString;\n\nfunction toRawType (value) {\n return _toString.call(value).slice(8, -1)\n}\n\n/**\n * Strict object type check. Only returns true\n * for plain JavaScript objects.\n */\nfunction isPlainObject (obj) {\n return _toString.call(obj) === '[object Object]'\n}\n\nfunction isRegExp (v) {\n return _toString.call(v) === '[object RegExp]'\n}\n\n/**\n * Check if val is a valid array index.\n */\nfunction isValidArrayIndex (val) {\n var n = parseFloat(String(val));\n return n >= 0 && Math.floor(n) === n && isFinite(val)\n}\n\nfunction isPromise (val) {\n return (\n isDef(val) &&\n typeof val.then === 'function' &&\n typeof val.catch === 'function'\n )\n}\n\n/**\n * Convert a value to a string that is actually rendered.\n */\nfunction toString (val) {\n return val == null\n ? ''\n : Array.isArray(val) || (isPlainObject(val) && val.toString === _toString)\n ? JSON.stringify(val, null, 2)\n : String(val)\n}\n\n/**\n * Convert an input value to a number for persistence.\n * If the conversion fails, return original string.\n */\nfunction toNumber (val) {\n var n = parseFloat(val);\n return isNaN(n) ? val : n\n}\n\n/**\n * Make a map and return a function for checking if a key\n * is in that map.\n */\nfunction makeMap (\n str,\n expectsLowerCase\n) {\n var map = Object.create(null);\n var list = str.split(',');\n for (var i = 0; i < list.length; i++) {\n map[list[i]] = true;\n }\n return expectsLowerCase\n ? function (val) { return map[val.toLowerCase()]; }\n : function (val) { return map[val]; }\n}\n\n/**\n * Check if a tag is a built-in tag.\n */\nvar isBuiltInTag = makeMap('slot,component', true);\n\n/**\n * Check if an attribute is a reserved attribute.\n */\nvar isReservedAttribute = makeMap('key,ref,slot,slot-scope,is');\n\n/**\n * Remove an item from an array.\n */\nfunction remove (arr, item) {\n if (arr.length) {\n var index = arr.indexOf(item);\n if (index > -1) {\n return arr.splice(index, 1)\n }\n }\n}\n\n/**\n * Check whether an object has the property.\n */\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nfunction hasOwn (obj, key) {\n return hasOwnProperty.call(obj, key)\n}\n\n/**\n * Create a cached version of a pure function.\n */\nfunction cached (fn) {\n var cache = Object.create(null);\n return (function cachedFn (str) {\n var hit = cache[str];\n return hit || (cache[str] = fn(str))\n })\n}\n\n/**\n * Camelize a hyphen-delimited string.\n */\nvar camelizeRE = /-(\\w)/g;\nvar camelize = cached(function (str) {\n return str.replace(camelizeRE, function (_, c) { return c ? c.toUpperCase() : ''; })\n});\n\n/**\n * Capitalize a string.\n */\nvar capitalize = cached(function (str) {\n return str.charAt(0).toUpperCase() + str.slice(1)\n});\n\n/**\n * Hyphenate a camelCase string.\n */\nvar hyphenateRE = /\\B([A-Z])/g;\nvar hyphenate = cached(function (str) {\n return str.replace(hyphenateRE, '-$1').toLowerCase()\n});\n\n/**\n * Simple bind polyfill for environments that do not support it,\n * e.g., PhantomJS 1.x. Technically, we don't need this anymore\n * since native bind is now performant enough in most browsers.\n * But removing it would mean breaking code that was able to run in\n * PhantomJS 1.x, so this must be kept for backward compatibility.\n */\n\n/* istanbul ignore next */\nfunction polyfillBind (fn, ctx) {\n function boundFn (a) {\n var l = arguments.length;\n return l\n ? l > 1\n ? fn.apply(ctx, arguments)\n : fn.call(ctx, a)\n : fn.call(ctx)\n }\n\n boundFn._length = fn.length;\n return boundFn\n}\n\nfunction nativeBind (fn, ctx) {\n return fn.bind(ctx)\n}\n\nvar bind = Function.prototype.bind\n ? nativeBind\n : polyfillBind;\n\n/**\n * Convert an Array-like object to a real Array.\n */\nfunction toArray (list, start) {\n start = start || 0;\n var i = list.length - start;\n var ret = new Array(i);\n while (i--) {\n ret[i] = list[i + start];\n }\n return ret\n}\n\n/**\n * Mix properties into target object.\n */\nfunction extend (to, _from) {\n for (var key in _from) {\n to[key] = _from[key];\n }\n return to\n}\n\n/**\n * Merge an Array of Objects into a single Object.\n */\nfunction toObject (arr) {\n var res = {};\n for (var i = 0; i < arr.length; i++) {\n if (arr[i]) {\n extend(res, arr[i]);\n }\n }\n return res\n}\n\n/* eslint-disable no-unused-vars */\n\n/**\n * Perform no operation.\n * Stubbing args to make Flow happy without leaving useless transpiled code\n * with ...rest (https://flow.org/blog/2017/05/07/Strict-Function-Call-Arity/).\n */\nfunction noop (a, b, c) {}\n\n/**\n * Always return false.\n */\nvar no = function (a, b, c) { return false; };\n\n/* eslint-enable no-unused-vars */\n\n/**\n * Return the same value.\n */\nvar identity = function (_) { return _; };\n\n/**\n * Check if two values are loosely equal - that is,\n * if they are plain objects, do they have the same shape?\n */\nfunction looseEqual (a, b) {\n if (a === b) { return true }\n var isObjectA = isObject(a);\n var isObjectB = isObject(b);\n if (isObjectA && isObjectB) {\n try {\n var isArrayA = Array.isArray(a);\n var isArrayB = Array.isArray(b);\n if (isArrayA && isArrayB) {\n return a.length === b.length && a.every(function (e, i) {\n return looseEqual(e, b[i])\n })\n } else if (a instanceof Date && b instanceof Date) {\n return a.getTime() === b.getTime()\n } else if (!isArrayA && !isArrayB) {\n var keysA = Object.keys(a);\n var keysB = Object.keys(b);\n return keysA.length === keysB.length && keysA.every(function (key) {\n return looseEqual(a[key], b[key])\n })\n } else {\n /* istanbul ignore next */\n return false\n }\n } catch (e) {\n /* istanbul ignore next */\n return false\n }\n } else if (!isObjectA && !isObjectB) {\n return String(a) === String(b)\n } else {\n return false\n }\n}\n\n/**\n * Return the first index at which a loosely equal value can be\n * found in the array (if value is a plain object, the array must\n * contain an object of the same shape), or -1 if it is not present.\n */\nfunction looseIndexOf (arr, val) {\n for (var i = 0; i < arr.length; i++) {\n if (looseEqual(arr[i], val)) { return i }\n }\n return -1\n}\n\n/**\n * Ensure a function is called only once.\n */\nfunction once (fn) {\n var called = false;\n return function () {\n if (!called) {\n called = true;\n fn.apply(this, arguments);\n }\n }\n}\n\nvar SSR_ATTR = 'data-server-rendered';\n\nvar ASSET_TYPES = [\n 'component',\n 'directive',\n 'filter'\n];\n\nvar LIFECYCLE_HOOKS = [\n 'beforeCreate',\n 'created',\n 'beforeMount',\n 'mounted',\n 'beforeUpdate',\n 'updated',\n 'beforeDestroy',\n 'destroyed',\n 'activated',\n 'deactivated',\n 'errorCaptured',\n 'serverPrefetch'\n];\n\n/* */\n\n\n\nvar config = ({\n /**\n * Option merge strategies (used in core/util/options)\n */\n // $flow-disable-line\n optionMergeStrategies: Object.create(null),\n\n /**\n * Whether to suppress warnings.\n */\n silent: false,\n\n /**\n * Show production mode tip message on boot?\n */\n productionTip: process.env.NODE_ENV !== 'production',\n\n /**\n * Whether to enable devtools\n */\n devtools: process.env.NODE_ENV !== 'production',\n\n /**\n * Whether to record perf\n */\n performance: false,\n\n /**\n * Error handler for watcher errors\n */\n errorHandler: null,\n\n /**\n * Warn handler for watcher warns\n */\n warnHandler: null,\n\n /**\n * Ignore certain custom elements\n */\n ignoredElements: [],\n\n /**\n * Custom user key aliases for v-on\n */\n // $flow-disable-line\n keyCodes: Object.create(null),\n\n /**\n * Check if a tag is reserved so that it cannot be registered as a\n * component. This is platform-dependent and may be overwritten.\n */\n isReservedTag: no,\n\n /**\n * Check if an attribute is reserved so that it cannot be used as a component\n * prop. This is platform-dependent and may be overwritten.\n */\n isReservedAttr: no,\n\n /**\n * Check if a tag is an unknown element.\n * Platform-dependent.\n */\n isUnknownElement: no,\n\n /**\n * Get the namespace of an element\n */\n getTagNamespace: noop,\n\n /**\n * Parse the real tag name for the specific platform.\n */\n parsePlatformTagName: identity,\n\n /**\n * Check if an attribute must be bound using property, e.g. value\n * Platform-dependent.\n */\n mustUseProp: no,\n\n /**\n * Perform updates asynchronously. Intended to be used by Vue Test Utils\n * This will significantly reduce performance if set to false.\n */\n async: true,\n\n /**\n * Exposed for legacy reasons\n */\n _lifecycleHooks: LIFECYCLE_HOOKS\n});\n\n/* */\n\n/**\n * unicode letters used for parsing html tags, component names and property paths.\n * using https://www.w3.org/TR/html53/semantics-scripting.html#potentialcustomelementname\n * skipping \\u10000-\\uEFFFF due to it freezing up PhantomJS\n */\nvar unicodeRegExp = /a-zA-Z\\u00B7\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u203F-\\u2040\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD/;\n\n/**\n * Check if a string starts with $ or _\n */\nfunction isReserved (str) {\n var c = (str + '').charCodeAt(0);\n return c === 0x24 || c === 0x5F\n}\n\n/**\n * Define a property.\n */\nfunction def (obj, key, val, enumerable) {\n Object.defineProperty(obj, key, {\n value: val,\n enumerable: !!enumerable,\n writable: true,\n configurable: true\n });\n}\n\n/**\n * Parse simple path.\n */\nvar bailRE = new RegExp((\"[^\" + (unicodeRegExp.source) + \".$_\\\\d]\"));\nfunction parsePath (path) {\n if (bailRE.test(path)) {\n return\n }\n var segments = path.split('.');\n return function (obj) {\n for (var i = 0; i < segments.length; i++) {\n if (!obj) { return }\n obj = obj[segments[i]];\n }\n return obj\n }\n}\n\n/* */\n\n// can we use __proto__?\nvar hasProto = '__proto__' in {};\n\n// Browser environment sniffing\nvar inBrowser = typeof window !== 'undefined';\nvar inWeex = typeof WXEnvironment !== 'undefined' && !!WXEnvironment.platform;\nvar weexPlatform = inWeex && WXEnvironment.platform.toLowerCase();\nvar UA = inBrowser && window.navigator.userAgent.toLowerCase();\nvar isIE = UA && /msie|trident/.test(UA);\nvar isIE9 = UA && UA.indexOf('msie 9.0') > 0;\nvar isEdge = UA && UA.indexOf('edge/') > 0;\nvar isAndroid = (UA && UA.indexOf('android') > 0) || (weexPlatform === 'android');\nvar isIOS = (UA && /iphone|ipad|ipod|ios/.test(UA)) || (weexPlatform === 'ios');\nvar isChrome = UA && /chrome\\/\\d+/.test(UA) && !isEdge;\nvar isPhantomJS = UA && /phantomjs/.test(UA);\nvar isFF = UA && UA.match(/firefox\\/(\\d+)/);\n\n// Firefox has a \"watch\" function on Object.prototype...\nvar nativeWatch = ({}).watch;\n\nvar supportsPassive = false;\nif (inBrowser) {\n try {\n var opts = {};\n Object.defineProperty(opts, 'passive', ({\n get: function get () {\n /* istanbul ignore next */\n supportsPassive = true;\n }\n })); // https://github.com/facebook/flow/issues/285\n window.addEventListener('test-passive', null, opts);\n } catch (e) {}\n}\n\n// this needs to be lazy-evaled because vue may be required before\n// vue-server-renderer can set VUE_ENV\nvar _isServer;\nvar isServerRendering = function () {\n if (_isServer === undefined) {\n /* istanbul ignore if */\n if (!inBrowser && !inWeex && typeof global !== 'undefined') {\n // detect presence of vue-server-renderer and avoid\n // Webpack shimming the process\n _isServer = global['process'] && global['process'].env.VUE_ENV === 'server';\n } else {\n _isServer = false;\n }\n }\n return _isServer\n};\n\n// detect devtools\nvar devtools = inBrowser && window.__VUE_DEVTOOLS_GLOBAL_HOOK__;\n\n/* istanbul ignore next */\nfunction isNative (Ctor) {\n return typeof Ctor === 'function' && /native code/.test(Ctor.toString())\n}\n\nvar hasSymbol =\n typeof Symbol !== 'undefined' && isNative(Symbol) &&\n typeof Reflect !== 'undefined' && isNative(Reflect.ownKeys);\n\nvar _Set;\n/* istanbul ignore if */ // $flow-disable-line\nif (typeof Set !== 'undefined' && isNative(Set)) {\n // use native Set when available.\n _Set = Set;\n} else {\n // a non-standard Set polyfill that only works with primitive keys.\n _Set = /*@__PURE__*/(function () {\n function Set () {\n this.set = Object.create(null);\n }\n Set.prototype.has = function has (key) {\n return this.set[key] === true\n };\n Set.prototype.add = function add (key) {\n this.set[key] = true;\n };\n Set.prototype.clear = function clear () {\n this.set = Object.create(null);\n };\n\n return Set;\n }());\n}\n\n/* */\n\nvar warn = noop;\nvar tip = noop;\nvar generateComponentTrace = (noop); // work around flow check\nvar formatComponentName = (noop);\n\nif (process.env.NODE_ENV !== 'production') {\n var hasConsole = typeof console !== 'undefined';\n var classifyRE = /(?:^|[-_])(\\w)/g;\n var classify = function (str) { return str\n .replace(classifyRE, function (c) { return c.toUpperCase(); })\n .replace(/[-_]/g, ''); };\n\n warn = function (msg, vm) {\n var trace = vm ? generateComponentTrace(vm) : '';\n\n if (config.warnHandler) {\n config.warnHandler.call(null, msg, vm, trace);\n } else if (hasConsole && (!config.silent)) {\n console.error((\"[Vue warn]: \" + msg + trace));\n }\n };\n\n tip = function (msg, vm) {\n if (hasConsole && (!config.silent)) {\n console.warn(\"[Vue tip]: \" + msg + (\n vm ? generateComponentTrace(vm) : ''\n ));\n }\n };\n\n formatComponentName = function (vm, includeFile) {\n if (vm.$root === vm) {\n return ''\n }\n var options = typeof vm === 'function' && vm.cid != null\n ? vm.options\n : vm._isVue\n ? vm.$options || vm.constructor.options\n : vm;\n var name = options.name || options._componentTag;\n var file = options.__file;\n if (!name && file) {\n var match = file.match(/([^/\\\\]+)\\.vue$/);\n name = match && match[1];\n }\n\n return (\n (name ? (\"<\" + (classify(name)) + \">\") : \"\") +\n (file && includeFile !== false ? (\" at \" + file) : '')\n )\n };\n\n var repeat = function (str, n) {\n var res = '';\n while (n) {\n if (n % 2 === 1) { res += str; }\n if (n > 1) { str += str; }\n n >>= 1;\n }\n return res\n };\n\n generateComponentTrace = function (vm) {\n if (vm._isVue && vm.$parent) {\n var tree = [];\n var currentRecursiveSequence = 0;\n while (vm) {\n if (tree.length > 0) {\n var last = tree[tree.length - 1];\n if (last.constructor === vm.constructor) {\n currentRecursiveSequence++;\n vm = vm.$parent;\n continue\n } else if (currentRecursiveSequence > 0) {\n tree[tree.length - 1] = [last, currentRecursiveSequence];\n currentRecursiveSequence = 0;\n }\n }\n tree.push(vm);\n vm = vm.$parent;\n }\n return '\\n\\nfound in\\n\\n' + tree\n .map(function (vm, i) { return (\"\" + (i === 0 ? '---> ' : repeat(' ', 5 + i * 2)) + (Array.isArray(vm)\n ? ((formatComponentName(vm[0])) + \"... (\" + (vm[1]) + \" recursive calls)\")\n : formatComponentName(vm))); })\n .join('\\n')\n } else {\n return (\"\\n\\n(found in \" + (formatComponentName(vm)) + \")\")\n }\n };\n}\n\n/* */\n\nvar uid = 0;\n\n/**\n * A dep is an observable that can have multiple\n * directives subscribing to it.\n */\nvar Dep = function Dep () {\n this.id = uid++;\n this.subs = [];\n};\n\nDep.prototype.addSub = function addSub (sub) {\n this.subs.push(sub);\n};\n\nDep.prototype.removeSub = function removeSub (sub) {\n remove(this.subs, sub);\n};\n\nDep.prototype.depend = function depend () {\n if (Dep.target) {\n Dep.target.addDep(this);\n }\n};\n\nDep.prototype.notify = function notify () {\n // stabilize the subscriber list first\n var subs = this.subs.slice();\n if (process.env.NODE_ENV !== 'production' && !config.async) {\n // subs aren't sorted in scheduler if not running async\n // we need to sort them now to make sure they fire in correct\n // order\n subs.sort(function (a, b) { return a.id - b.id; });\n }\n for (var i = 0, l = subs.length; i < l; i++) {\n subs[i].update();\n }\n};\n\n// The current target watcher being evaluated.\n// This is globally unique because only one watcher\n// can be evaluated at a time.\nDep.target = null;\nvar targetStack = [];\n\nfunction pushTarget (target) {\n targetStack.push(target);\n Dep.target = target;\n}\n\nfunction popTarget () {\n targetStack.pop();\n Dep.target = targetStack[targetStack.length - 1];\n}\n\n/* */\n\nvar VNode = function VNode (\n tag,\n data,\n children,\n text,\n elm,\n context,\n componentOptions,\n asyncFactory\n) {\n this.tag = tag;\n this.data = data;\n this.children = children;\n this.text = text;\n this.elm = elm;\n this.ns = undefined;\n this.context = context;\n this.fnContext = undefined;\n this.fnOptions = undefined;\n this.fnScopeId = undefined;\n this.key = data && data.key;\n this.componentOptions = componentOptions;\n this.componentInstance = undefined;\n this.parent = undefined;\n this.raw = false;\n this.isStatic = false;\n this.isRootInsert = true;\n this.isComment = false;\n this.isCloned = false;\n this.isOnce = false;\n this.asyncFactory = asyncFactory;\n this.asyncMeta = undefined;\n this.isAsyncPlaceholder = false;\n};\n\nvar prototypeAccessors = { child: { configurable: true } };\n\n// DEPRECATED: alias for componentInstance for backwards compat.\n/* istanbul ignore next */\nprototypeAccessors.child.get = function () {\n return this.componentInstance\n};\n\nObject.defineProperties( VNode.prototype, prototypeAccessors );\n\nvar createEmptyVNode = function (text) {\n if ( text === void 0 ) text = '';\n\n var node = new VNode();\n node.text = text;\n node.isComment = true;\n return node\n};\n\nfunction createTextVNode (val) {\n return new VNode(undefined, undefined, undefined, String(val))\n}\n\n// optimized shallow clone\n// used for static nodes and slot nodes because they may be reused across\n// multiple renders, cloning them avoids errors when DOM manipulations rely\n// on their elm reference.\nfunction cloneVNode (vnode) {\n var cloned = new VNode(\n vnode.tag,\n vnode.data,\n // #7975\n // clone children array to avoid mutating original in case of cloning\n // a child.\n vnode.children && vnode.children.slice(),\n vnode.text,\n vnode.elm,\n vnode.context,\n vnode.componentOptions,\n vnode.asyncFactory\n );\n cloned.ns = vnode.ns;\n cloned.isStatic = vnode.isStatic;\n cloned.key = vnode.key;\n cloned.isComment = vnode.isComment;\n cloned.fnContext = vnode.fnContext;\n cloned.fnOptions = vnode.fnOptions;\n cloned.fnScopeId = vnode.fnScopeId;\n cloned.asyncMeta = vnode.asyncMeta;\n cloned.isCloned = true;\n return cloned\n}\n\n/*\n * not type checking this file because flow doesn't play well with\n * dynamically accessing methods on Array prototype\n */\n\nvar arrayProto = Array.prototype;\nvar arrayMethods = Object.create(arrayProto);\n\nvar methodsToPatch = [\n 'push',\n 'pop',\n 'shift',\n 'unshift',\n 'splice',\n 'sort',\n 'reverse'\n];\n\n/**\n * Intercept mutating methods and emit events\n */\nmethodsToPatch.forEach(function (method) {\n // cache original method\n var original = arrayProto[method];\n def(arrayMethods, method, function mutator () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n var result = original.apply(this, args);\n var ob = this.__ob__;\n var inserted;\n switch (method) {\n case 'push':\n case 'unshift':\n inserted = args;\n break\n case 'splice':\n inserted = args.slice(2);\n break\n }\n if (inserted) { ob.observeArray(inserted); }\n // notify change\n ob.dep.notify();\n return result\n });\n});\n\n/* */\n\nvar arrayKeys = Object.getOwnPropertyNames(arrayMethods);\n\n/**\n * In some cases we may want to disable observation inside a component's\n * update computation.\n */\nvar shouldObserve = true;\n\nfunction toggleObserving (value) {\n shouldObserve = value;\n}\n\n/**\n * Observer class that is attached to each observed\n * object. Once attached, the observer converts the target\n * object's property keys into getter/setters that\n * collect dependencies and dispatch updates.\n */\nvar Observer = function Observer (value) {\n this.value = value;\n this.dep = new Dep();\n this.vmCount = 0;\n def(value, '__ob__', this);\n if (Array.isArray(value)) {\n if (hasProto) {\n protoAugment(value, arrayMethods);\n } else {\n copyAugment(value, arrayMethods, arrayKeys);\n }\n this.observeArray(value);\n } else {\n this.walk(value);\n }\n};\n\n/**\n * Walk through all properties and convert them into\n * getter/setters. This method should only be called when\n * value type is Object.\n */\nObserver.prototype.walk = function walk (obj) {\n var keys = Object.keys(obj);\n for (var i = 0; i < keys.length; i++) {\n defineReactive$$1(obj, keys[i]);\n }\n};\n\n/**\n * Observe a list of Array items.\n */\nObserver.prototype.observeArray = function observeArray (items) {\n for (var i = 0, l = items.length; i < l; i++) {\n observe(items[i]);\n }\n};\n\n// helpers\n\n/**\n * Augment a target Object or Array by intercepting\n * the prototype chain using __proto__\n */\nfunction protoAugment (target, src) {\n /* eslint-disable no-proto */\n target.__proto__ = src;\n /* eslint-enable no-proto */\n}\n\n/**\n * Augment a target Object or Array by defining\n * hidden properties.\n */\n/* istanbul ignore next */\nfunction copyAugment (target, src, keys) {\n for (var i = 0, l = keys.length; i < l; i++) {\n var key = keys[i];\n def(target, key, src[key]);\n }\n}\n\n/**\n * Attempt to create an observer instance for a value,\n * returns the new observer if successfully observed,\n * or the existing observer if the value already has one.\n */\nfunction observe (value, asRootData) {\n if (!isObject(value) || value instanceof VNode) {\n return\n }\n var ob;\n if (hasOwn(value, '__ob__') && value.__ob__ instanceof Observer) {\n ob = value.__ob__;\n } else if (\n shouldObserve &&\n !isServerRendering() &&\n (Array.isArray(value) || isPlainObject(value)) &&\n Object.isExtensible(value) &&\n !value._isVue\n ) {\n ob = new Observer(value);\n }\n if (asRootData && ob) {\n ob.vmCount++;\n }\n return ob\n}\n\n/**\n * Define a reactive property on an Object.\n */\nfunction defineReactive$$1 (\n obj,\n key,\n val,\n customSetter,\n shallow\n) {\n var dep = new Dep();\n\n var property = Object.getOwnPropertyDescriptor(obj, key);\n if (property && property.configurable === false) {\n return\n }\n\n // cater for pre-defined getter/setters\n var getter = property && property.get;\n var setter = property && property.set;\n if ((!getter || setter) && arguments.length === 2) {\n val = obj[key];\n }\n\n var childOb = !shallow && observe(val);\n Object.defineProperty(obj, key, {\n enumerable: true,\n configurable: true,\n get: function reactiveGetter () {\n var value = getter ? getter.call(obj) : val;\n if (Dep.target) {\n dep.depend();\n if (childOb) {\n childOb.dep.depend();\n if (Array.isArray(value)) {\n dependArray(value);\n }\n }\n }\n return value\n },\n set: function reactiveSetter (newVal) {\n var value = getter ? getter.call(obj) : val;\n /* eslint-disable no-self-compare */\n if (newVal === value || (newVal !== newVal && value !== value)) {\n return\n }\n /* eslint-enable no-self-compare */\n if (process.env.NODE_ENV !== 'production' && customSetter) {\n customSetter();\n }\n // #7981: for accessor properties without setter\n if (getter && !setter) { return }\n if (setter) {\n setter.call(obj, newVal);\n } else {\n val = newVal;\n }\n childOb = !shallow && observe(newVal);\n dep.notify();\n }\n });\n}\n\n/**\n * Set a property on an object. Adds the new property and\n * triggers change notification if the property doesn't\n * already exist.\n */\nfunction set (target, key, val) {\n if (process.env.NODE_ENV !== 'production' &&\n (isUndef(target) || isPrimitive(target))\n ) {\n warn((\"Cannot set reactive property on undefined, null, or primitive value: \" + ((target))));\n }\n if (Array.isArray(target) && isValidArrayIndex(key)) {\n target.length = Math.max(target.length, key);\n target.splice(key, 1, val);\n return val\n }\n if (key in target && !(key in Object.prototype)) {\n target[key] = val;\n return val\n }\n var ob = (target).__ob__;\n if (target._isVue || (ob && ob.vmCount)) {\n process.env.NODE_ENV !== 'production' && warn(\n 'Avoid adding reactive properties to a Vue instance or its root $data ' +\n 'at runtime - declare it upfront in the data option.'\n );\n return val\n }\n if (!ob) {\n target[key] = val;\n return val\n }\n defineReactive$$1(ob.value, key, val);\n ob.dep.notify();\n return val\n}\n\n/**\n * Delete a property and trigger change if necessary.\n */\nfunction del (target, key) {\n if (process.env.NODE_ENV !== 'production' &&\n (isUndef(target) || isPrimitive(target))\n ) {\n warn((\"Cannot delete reactive property on undefined, null, or primitive value: \" + ((target))));\n }\n if (Array.isArray(target) && isValidArrayIndex(key)) {\n target.splice(key, 1);\n return\n }\n var ob = (target).__ob__;\n if (target._isVue || (ob && ob.vmCount)) {\n process.env.NODE_ENV !== 'production' && warn(\n 'Avoid deleting properties on a Vue instance or its root $data ' +\n '- just set it to null.'\n );\n return\n }\n if (!hasOwn(target, key)) {\n return\n }\n delete target[key];\n if (!ob) {\n return\n }\n ob.dep.notify();\n}\n\n/**\n * Collect dependencies on array elements when the array is touched, since\n * we cannot intercept array element access like property getters.\n */\nfunction dependArray (value) {\n for (var e = (void 0), i = 0, l = value.length; i < l; i++) {\n e = value[i];\n e && e.__ob__ && e.__ob__.dep.depend();\n if (Array.isArray(e)) {\n dependArray(e);\n }\n }\n}\n\n/* */\n\n/**\n * Option overwriting strategies are functions that handle\n * how to merge a parent option value and a child option\n * value into the final value.\n */\nvar strats = config.optionMergeStrategies;\n\n/**\n * Options with restrictions\n */\nif (process.env.NODE_ENV !== 'production') {\n strats.el = strats.propsData = function (parent, child, vm, key) {\n if (!vm) {\n warn(\n \"option \\\"\" + key + \"\\\" can only be used during instance \" +\n 'creation with the `new` keyword.'\n );\n }\n return defaultStrat(parent, child)\n };\n}\n\n/**\n * Helper that recursively merges two data objects together.\n */\nfunction mergeData (to, from) {\n if (!from) { return to }\n var key, toVal, fromVal;\n\n var keys = hasSymbol\n ? Reflect.ownKeys(from)\n : Object.keys(from);\n\n for (var i = 0; i < keys.length; i++) {\n key = keys[i];\n // in case the object is already observed...\n if (key === '__ob__') { continue }\n toVal = to[key];\n fromVal = from[key];\n if (!hasOwn(to, key)) {\n set(to, key, fromVal);\n } else if (\n toVal !== fromVal &&\n isPlainObject(toVal) &&\n isPlainObject(fromVal)\n ) {\n mergeData(toVal, fromVal);\n }\n }\n return to\n}\n\n/**\n * Data\n */\nfunction mergeDataOrFn (\n parentVal,\n childVal,\n vm\n) {\n if (!vm) {\n // in a Vue.extend merge, both should be functions\n if (!childVal) {\n return parentVal\n }\n if (!parentVal) {\n return childVal\n }\n // when parentVal & childVal are both present,\n // we need to return a function that returns the\n // merged result of both functions... no need to\n // check if parentVal is a function here because\n // it has to be a function to pass previous merges.\n return function mergedDataFn () {\n return mergeData(\n typeof childVal === 'function' ? childVal.call(this, this) : childVal,\n typeof parentVal === 'function' ? parentVal.call(this, this) : parentVal\n )\n }\n } else {\n return function mergedInstanceDataFn () {\n // instance merge\n var instanceData = typeof childVal === 'function'\n ? childVal.call(vm, vm)\n : childVal;\n var defaultData = typeof parentVal === 'function'\n ? parentVal.call(vm, vm)\n : parentVal;\n if (instanceData) {\n return mergeData(instanceData, defaultData)\n } else {\n return defaultData\n }\n }\n }\n}\n\nstrats.data = function (\n parentVal,\n childVal,\n vm\n) {\n if (!vm) {\n if (childVal && typeof childVal !== 'function') {\n process.env.NODE_ENV !== 'production' && warn(\n 'The \"data\" option should be a function ' +\n 'that returns a per-instance value in component ' +\n 'definitions.',\n vm\n );\n\n return parentVal\n }\n return mergeDataOrFn(parentVal, childVal)\n }\n\n return mergeDataOrFn(parentVal, childVal, vm)\n};\n\n/**\n * Hooks and props are merged as arrays.\n */\nfunction mergeHook (\n parentVal,\n childVal\n) {\n var res = childVal\n ? parentVal\n ? parentVal.concat(childVal)\n : Array.isArray(childVal)\n ? childVal\n : [childVal]\n : parentVal;\n return res\n ? dedupeHooks(res)\n : res\n}\n\nfunction dedupeHooks (hooks) {\n var res = [];\n for (var i = 0; i < hooks.length; i++) {\n if (res.indexOf(hooks[i]) === -1) {\n res.push(hooks[i]);\n }\n }\n return res\n}\n\nLIFECYCLE_HOOKS.forEach(function (hook) {\n strats[hook] = mergeHook;\n});\n\n/**\n * Assets\n *\n * When a vm is present (instance creation), we need to do\n * a three-way merge between constructor options, instance\n * options and parent options.\n */\nfunction mergeAssets (\n parentVal,\n childVal,\n vm,\n key\n) {\n var res = Object.create(parentVal || null);\n if (childVal) {\n process.env.NODE_ENV !== 'production' && assertObjectType(key, childVal, vm);\n return extend(res, childVal)\n } else {\n return res\n }\n}\n\nASSET_TYPES.forEach(function (type) {\n strats[type + 's'] = mergeAssets;\n});\n\n/**\n * Watchers.\n *\n * Watchers hashes should not overwrite one\n * another, so we merge them as arrays.\n */\nstrats.watch = function (\n parentVal,\n childVal,\n vm,\n key\n) {\n // work around Firefox's Object.prototype.watch...\n if (parentVal === nativeWatch) { parentVal = undefined; }\n if (childVal === nativeWatch) { childVal = undefined; }\n /* istanbul ignore if */\n if (!childVal) { return Object.create(parentVal || null) }\n if (process.env.NODE_ENV !== 'production') {\n assertObjectType(key, childVal, vm);\n }\n if (!parentVal) { return childVal }\n var ret = {};\n extend(ret, parentVal);\n for (var key$1 in childVal) {\n var parent = ret[key$1];\n var child = childVal[key$1];\n if (parent && !Array.isArray(parent)) {\n parent = [parent];\n }\n ret[key$1] = parent\n ? parent.concat(child)\n : Array.isArray(child) ? child : [child];\n }\n return ret\n};\n\n/**\n * Other object hashes.\n */\nstrats.props =\nstrats.methods =\nstrats.inject =\nstrats.computed = function (\n parentVal,\n childVal,\n vm,\n key\n) {\n if (childVal && process.env.NODE_ENV !== 'production') {\n assertObjectType(key, childVal, vm);\n }\n if (!parentVal) { return childVal }\n var ret = Object.create(null);\n extend(ret, parentVal);\n if (childVal) { extend(ret, childVal); }\n return ret\n};\nstrats.provide = mergeDataOrFn;\n\n/**\n * Default strategy.\n */\nvar defaultStrat = function (parentVal, childVal) {\n return childVal === undefined\n ? parentVal\n : childVal\n};\n\n/**\n * Validate component names\n */\nfunction checkComponents (options) {\n for (var key in options.components) {\n validateComponentName(key);\n }\n}\n\nfunction validateComponentName (name) {\n if (!new RegExp((\"^[a-zA-Z][\\\\-\\\\.0-9_\" + (unicodeRegExp.source) + \"]*$\")).test(name)) {\n warn(\n 'Invalid component name: \"' + name + '\". Component names ' +\n 'should conform to valid custom element name in html5 specification.'\n );\n }\n if (isBuiltInTag(name) || config.isReservedTag(name)) {\n warn(\n 'Do not use built-in or reserved HTML elements as component ' +\n 'id: ' + name\n );\n }\n}\n\n/**\n * Ensure all props option syntax are normalized into the\n * Object-based format.\n */\nfunction normalizeProps (options, vm) {\n var props = options.props;\n if (!props) { return }\n var res = {};\n var i, val, name;\n if (Array.isArray(props)) {\n i = props.length;\n while (i--) {\n val = props[i];\n if (typeof val === 'string') {\n name = camelize(val);\n res[name] = { type: null };\n } else if (process.env.NODE_ENV !== 'production') {\n warn('props must be strings when using array syntax.');\n }\n }\n } else if (isPlainObject(props)) {\n for (var key in props) {\n val = props[key];\n name = camelize(key);\n res[name] = isPlainObject(val)\n ? val\n : { type: val };\n }\n } else if (process.env.NODE_ENV !== 'production') {\n warn(\n \"Invalid value for option \\\"props\\\": expected an Array or an Object, \" +\n \"but got \" + (toRawType(props)) + \".\",\n vm\n );\n }\n options.props = res;\n}\n\n/**\n * Normalize all injections into Object-based format\n */\nfunction normalizeInject (options, vm) {\n var inject = options.inject;\n if (!inject) { return }\n var normalized = options.inject = {};\n if (Array.isArray(inject)) {\n for (var i = 0; i < inject.length; i++) {\n normalized[inject[i]] = { from: inject[i] };\n }\n } else if (isPlainObject(inject)) {\n for (var key in inject) {\n var val = inject[key];\n normalized[key] = isPlainObject(val)\n ? extend({ from: key }, val)\n : { from: val };\n }\n } else if (process.env.NODE_ENV !== 'production') {\n warn(\n \"Invalid value for option \\\"inject\\\": expected an Array or an Object, \" +\n \"but got \" + (toRawType(inject)) + \".\",\n vm\n );\n }\n}\n\n/**\n * Normalize raw function directives into object format.\n */\nfunction normalizeDirectives (options) {\n var dirs = options.directives;\n if (dirs) {\n for (var key in dirs) {\n var def$$1 = dirs[key];\n if (typeof def$$1 === 'function') {\n dirs[key] = { bind: def$$1, update: def$$1 };\n }\n }\n }\n}\n\nfunction assertObjectType (name, value, vm) {\n if (!isPlainObject(value)) {\n warn(\n \"Invalid value for option \\\"\" + name + \"\\\": expected an Object, \" +\n \"but got \" + (toRawType(value)) + \".\",\n vm\n );\n }\n}\n\n/**\n * Merge two option objects into a new one.\n * Core utility used in both instantiation and inheritance.\n */\nfunction mergeOptions (\n parent,\n child,\n vm\n) {\n if (process.env.NODE_ENV !== 'production') {\n checkComponents(child);\n }\n\n if (typeof child === 'function') {\n child = child.options;\n }\n\n normalizeProps(child, vm);\n normalizeInject(child, vm);\n normalizeDirectives(child);\n\n // Apply extends and mixins on the child options,\n // but only if it is a raw options object that isn't\n // the result of another mergeOptions call.\n // Only merged options has the _base property.\n if (!child._base) {\n if (child.extends) {\n parent = mergeOptions(parent, child.extends, vm);\n }\n if (child.mixins) {\n for (var i = 0, l = child.mixins.length; i < l; i++) {\n parent = mergeOptions(parent, child.mixins[i], vm);\n }\n }\n }\n\n var options = {};\n var key;\n for (key in parent) {\n mergeField(key);\n }\n for (key in child) {\n if (!hasOwn(parent, key)) {\n mergeField(key);\n }\n }\n function mergeField (key) {\n var strat = strats[key] || defaultStrat;\n options[key] = strat(parent[key], child[key], vm, key);\n }\n return options\n}\n\n/**\n * Resolve an asset.\n * This function is used because child instances need access\n * to assets defined in its ancestor chain.\n */\nfunction resolveAsset (\n options,\n type,\n id,\n warnMissing\n) {\n /* istanbul ignore if */\n if (typeof id !== 'string') {\n return\n }\n var assets = options[type];\n // check local registration variations first\n if (hasOwn(assets, id)) { return assets[id] }\n var camelizedId = camelize(id);\n if (hasOwn(assets, camelizedId)) { return assets[camelizedId] }\n var PascalCaseId = capitalize(camelizedId);\n if (hasOwn(assets, PascalCaseId)) { return assets[PascalCaseId] }\n // fallback to prototype chain\n var res = assets[id] || assets[camelizedId] || assets[PascalCaseId];\n if (process.env.NODE_ENV !== 'production' && warnMissing && !res) {\n warn(\n 'Failed to resolve ' + type.slice(0, -1) + ': ' + id,\n options\n );\n }\n return res\n}\n\n/* */\n\n\n\nfunction validateProp (\n key,\n propOptions,\n propsData,\n vm\n) {\n var prop = propOptions[key];\n var absent = !hasOwn(propsData, key);\n var value = propsData[key];\n // boolean casting\n var booleanIndex = getTypeIndex(Boolean, prop.type);\n if (booleanIndex > -1) {\n if (absent && !hasOwn(prop, 'default')) {\n value = false;\n } else if (value === '' || value === hyphenate(key)) {\n // only cast empty string / same name to boolean if\n // boolean has higher priority\n var stringIndex = getTypeIndex(String, prop.type);\n if (stringIndex < 0 || booleanIndex < stringIndex) {\n value = true;\n }\n }\n }\n // check default value\n if (value === undefined) {\n value = getPropDefaultValue(vm, prop, key);\n // since the default value is a fresh copy,\n // make sure to observe it.\n var prevShouldObserve = shouldObserve;\n toggleObserving(true);\n observe(value);\n toggleObserving(prevShouldObserve);\n }\n if (\n process.env.NODE_ENV !== 'production' &&\n // skip validation for weex recycle-list child component props\n !(false)\n ) {\n assertProp(prop, key, value, vm, absent);\n }\n return value\n}\n\n/**\n * Get the default value of a prop.\n */\nfunction getPropDefaultValue (vm, prop, key) {\n // no default, return undefined\n if (!hasOwn(prop, 'default')) {\n return undefined\n }\n var def = prop.default;\n // warn against non-factory defaults for Object & Array\n if (process.env.NODE_ENV !== 'production' && isObject(def)) {\n warn(\n 'Invalid default value for prop \"' + key + '\": ' +\n 'Props with type Object/Array must use a factory function ' +\n 'to return the default value.',\n vm\n );\n }\n // the raw prop value was also undefined from previous render,\n // return previous default value to avoid unnecessary watcher trigger\n if (vm && vm.$options.propsData &&\n vm.$options.propsData[key] === undefined &&\n vm._props[key] !== undefined\n ) {\n return vm._props[key]\n }\n // call factory function for non-Function types\n // a value is Function if its prototype is function even across different execution context\n return typeof def === 'function' && getType(prop.type) !== 'Function'\n ? def.call(vm)\n : def\n}\n\n/**\n * Assert whether a prop is valid.\n */\nfunction assertProp (\n prop,\n name,\n value,\n vm,\n absent\n) {\n if (prop.required && absent) {\n warn(\n 'Missing required prop: \"' + name + '\"',\n vm\n );\n return\n }\n if (value == null && !prop.required) {\n return\n }\n var type = prop.type;\n var valid = !type || type === true;\n var expectedTypes = [];\n if (type) {\n if (!Array.isArray(type)) {\n type = [type];\n }\n for (var i = 0; i < type.length && !valid; i++) {\n var assertedType = assertType(value, type[i], vm);\n expectedTypes.push(assertedType.expectedType || '');\n valid = assertedType.valid;\n }\n }\n\n var haveExpectedTypes = expectedTypes.some(function (t) { return t; });\n if (!valid && haveExpectedTypes) {\n warn(\n getInvalidTypeMessage(name, value, expectedTypes),\n vm\n );\n return\n }\n var validator = prop.validator;\n if (validator) {\n if (!validator(value)) {\n warn(\n 'Invalid prop: custom validator check failed for prop \"' + name + '\".',\n vm\n );\n }\n }\n}\n\nvar simpleCheckRE = /^(String|Number|Boolean|Function|Symbol|BigInt)$/;\n\nfunction assertType (value, type, vm) {\n var valid;\n var expectedType = getType(type);\n if (simpleCheckRE.test(expectedType)) {\n var t = typeof value;\n valid = t === expectedType.toLowerCase();\n // for primitive wrapper objects\n if (!valid && t === 'object') {\n valid = value instanceof type;\n }\n } else if (expectedType === 'Object') {\n valid = isPlainObject(value);\n } else if (expectedType === 'Array') {\n valid = Array.isArray(value);\n } else {\n try {\n valid = value instanceof type;\n } catch (e) {\n warn('Invalid prop type: \"' + String(type) + '\" is not a constructor', vm);\n valid = false;\n }\n }\n return {\n valid: valid,\n expectedType: expectedType\n }\n}\n\nvar functionTypeCheckRE = /^\\s*function (\\w+)/;\n\n/**\n * Use function string name to check built-in types,\n * because a simple equality check will fail when running\n * across different vms / iframes.\n */\nfunction getType (fn) {\n var match = fn && fn.toString().match(functionTypeCheckRE);\n return match ? match[1] : ''\n}\n\nfunction isSameType (a, b) {\n return getType(a) === getType(b)\n}\n\nfunction getTypeIndex (type, expectedTypes) {\n if (!Array.isArray(expectedTypes)) {\n return isSameType(expectedTypes, type) ? 0 : -1\n }\n for (var i = 0, len = expectedTypes.length; i < len; i++) {\n if (isSameType(expectedTypes[i], type)) {\n return i\n }\n }\n return -1\n}\n\nfunction getInvalidTypeMessage (name, value, expectedTypes) {\n var message = \"Invalid prop: type check failed for prop \\\"\" + name + \"\\\".\" +\n \" Expected \" + (expectedTypes.map(capitalize).join(', '));\n var expectedType = expectedTypes[0];\n var receivedType = toRawType(value);\n // check if we need to specify expected value\n if (\n expectedTypes.length === 1 &&\n isExplicable(expectedType) &&\n isExplicable(typeof value) &&\n !isBoolean(expectedType, receivedType)\n ) {\n message += \" with value \" + (styleValue(value, expectedType));\n }\n message += \", got \" + receivedType + \" \";\n // check if we need to specify received value\n if (isExplicable(receivedType)) {\n message += \"with value \" + (styleValue(value, receivedType)) + \".\";\n }\n return message\n}\n\nfunction styleValue (value, type) {\n if (type === 'String') {\n return (\"\\\"\" + value + \"\\\"\")\n } else if (type === 'Number') {\n return (\"\" + (Number(value)))\n } else {\n return (\"\" + value)\n }\n}\n\nvar EXPLICABLE_TYPES = ['string', 'number', 'boolean'];\nfunction isExplicable (value) {\n return EXPLICABLE_TYPES.some(function (elem) { return value.toLowerCase() === elem; })\n}\n\nfunction isBoolean () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return args.some(function (elem) { return elem.toLowerCase() === 'boolean'; })\n}\n\n/* */\n\nfunction handleError (err, vm, info) {\n // Deactivate deps tracking while processing error handler to avoid possible infinite rendering.\n // See: https://github.com/vuejs/vuex/issues/1505\n pushTarget();\n try {\n if (vm) {\n var cur = vm;\n while ((cur = cur.$parent)) {\n var hooks = cur.$options.errorCaptured;\n if (hooks) {\n for (var i = 0; i < hooks.length; i++) {\n try {\n var capture = hooks[i].call(cur, err, vm, info) === false;\n if (capture) { return }\n } catch (e) {\n globalHandleError(e, cur, 'errorCaptured hook');\n }\n }\n }\n }\n }\n globalHandleError(err, vm, info);\n } finally {\n popTarget();\n }\n}\n\nfunction invokeWithErrorHandling (\n handler,\n context,\n args,\n vm,\n info\n) {\n var res;\n try {\n res = args ? handler.apply(context, args) : handler.call(context);\n if (res && !res._isVue && isPromise(res) && !res._handled) {\n res.catch(function (e) { return handleError(e, vm, info + \" (Promise/async)\"); });\n // issue #9511\n // avoid catch triggering multiple times when nested calls\n res._handled = true;\n }\n } catch (e) {\n handleError(e, vm, info);\n }\n return res\n}\n\nfunction globalHandleError (err, vm, info) {\n if (config.errorHandler) {\n try {\n return config.errorHandler.call(null, err, vm, info)\n } catch (e) {\n // if the user intentionally throws the original error in the handler,\n // do not log it twice\n if (e !== err) {\n logError(e, null, 'config.errorHandler');\n }\n }\n }\n logError(err, vm, info);\n}\n\nfunction logError (err, vm, info) {\n if (process.env.NODE_ENV !== 'production') {\n warn((\"Error in \" + info + \": \\\"\" + (err.toString()) + \"\\\"\"), vm);\n }\n /* istanbul ignore else */\n if ((inBrowser || inWeex) && typeof console !== 'undefined') {\n console.error(err);\n } else {\n throw err\n }\n}\n\n/* */\n\nvar isUsingMicroTask = false;\n\nvar callbacks = [];\nvar pending = false;\n\nfunction flushCallbacks () {\n pending = false;\n var copies = callbacks.slice(0);\n callbacks.length = 0;\n for (var i = 0; i < copies.length; i++) {\n copies[i]();\n }\n}\n\n// Here we have async deferring wrappers using microtasks.\n// In 2.5 we used (macro) tasks (in combination with microtasks).\n// However, it has subtle problems when state is changed right before repaint\n// (e.g. #6813, out-in transitions).\n// Also, using (macro) tasks in event handler would cause some weird behaviors\n// that cannot be circumvented (e.g. #7109, #7153, #7546, #7834, #8109).\n// So we now use microtasks everywhere, again.\n// A major drawback of this tradeoff is that there are some scenarios\n// where microtasks have too high a priority and fire in between supposedly\n// sequential events (e.g. #4521, #6690, which have workarounds)\n// or even between bubbling of the same event (#6566).\nvar timerFunc;\n\n// The nextTick behavior leverages the microtask queue, which can be accessed\n// via either native Promise.then or MutationObserver.\n// MutationObserver has wider support, however it is seriously bugged in\n// UIWebView in iOS >= 9.3.3 when triggered in touch event handlers. It\n// completely stops working after triggering a few times... so, if native\n// Promise is available, we will use it:\n/* istanbul ignore next, $flow-disable-line */\nif (typeof Promise !== 'undefined' && isNative(Promise)) {\n var p = Promise.resolve();\n timerFunc = function () {\n p.then(flushCallbacks);\n // In problematic UIWebViews, Promise.then doesn't completely break, but\n // it can get stuck in a weird state where callbacks are pushed into the\n // microtask queue but the queue isn't being flushed, until the browser\n // needs to do some other work, e.g. handle a timer. Therefore we can\n // \"force\" the microtask queue to be flushed by adding an empty timer.\n if (isIOS) { setTimeout(noop); }\n };\n isUsingMicroTask = true;\n} else if (!isIE && typeof MutationObserver !== 'undefined' && (\n isNative(MutationObserver) ||\n // PhantomJS and iOS 7.x\n MutationObserver.toString() === '[object MutationObserverConstructor]'\n)) {\n // Use MutationObserver where native Promise is not available,\n // e.g. PhantomJS, iOS7, Android 4.4\n // (#6466 MutationObserver is unreliable in IE11)\n var counter = 1;\n var observer = new MutationObserver(flushCallbacks);\n var textNode = document.createTextNode(String(counter));\n observer.observe(textNode, {\n characterData: true\n });\n timerFunc = function () {\n counter = (counter + 1) % 2;\n textNode.data = String(counter);\n };\n isUsingMicroTask = true;\n} else if (typeof setImmediate !== 'undefined' && isNative(setImmediate)) {\n // Fallback to setImmediate.\n // Technically it leverages the (macro) task queue,\n // but it is still a better choice than setTimeout.\n timerFunc = function () {\n setImmediate(flushCallbacks);\n };\n} else {\n // Fallback to setTimeout.\n timerFunc = function () {\n setTimeout(flushCallbacks, 0);\n };\n}\n\nfunction nextTick (cb, ctx) {\n var _resolve;\n callbacks.push(function () {\n if (cb) {\n try {\n cb.call(ctx);\n } catch (e) {\n handleError(e, ctx, 'nextTick');\n }\n } else if (_resolve) {\n _resolve(ctx);\n }\n });\n if (!pending) {\n pending = true;\n timerFunc();\n }\n // $flow-disable-line\n if (!cb && typeof Promise !== 'undefined') {\n return new Promise(function (resolve) {\n _resolve = resolve;\n })\n }\n}\n\n/* */\n\n/* not type checking this file because flow doesn't play well with Proxy */\n\nvar initProxy;\n\nif (process.env.NODE_ENV !== 'production') {\n var allowedGlobals = makeMap(\n 'Infinity,undefined,NaN,isFinite,isNaN,' +\n 'parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,' +\n 'Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt,' +\n 'require' // for Webpack/Browserify\n );\n\n var warnNonPresent = function (target, key) {\n warn(\n \"Property or method \\\"\" + key + \"\\\" is not defined on the instance but \" +\n 'referenced during render. Make sure that this property is reactive, ' +\n 'either in the data option, or for class-based components, by ' +\n 'initializing the property. ' +\n 'See: https://vuejs.org/v2/guide/reactivity.html#Declaring-Reactive-Properties.',\n target\n );\n };\n\n var warnReservedPrefix = function (target, key) {\n warn(\n \"Property \\\"\" + key + \"\\\" must be accessed with \\\"$data.\" + key + \"\\\" because \" +\n 'properties starting with \"$\" or \"_\" are not proxied in the Vue instance to ' +\n 'prevent conflicts with Vue internals. ' +\n 'See: https://vuejs.org/v2/api/#data',\n target\n );\n };\n\n var hasProxy =\n typeof Proxy !== 'undefined' && isNative(Proxy);\n\n if (hasProxy) {\n var isBuiltInModifier = makeMap('stop,prevent,self,ctrl,shift,alt,meta,exact');\n config.keyCodes = new Proxy(config.keyCodes, {\n set: function set (target, key, value) {\n if (isBuiltInModifier(key)) {\n warn((\"Avoid overwriting built-in modifier in config.keyCodes: .\" + key));\n return false\n } else {\n target[key] = value;\n return true\n }\n }\n });\n }\n\n var hasHandler = {\n has: function has (target, key) {\n var has = key in target;\n var isAllowed = allowedGlobals(key) ||\n (typeof key === 'string' && key.charAt(0) === '_' && !(key in target.$data));\n if (!has && !isAllowed) {\n if (key in target.$data) { warnReservedPrefix(target, key); }\n else { warnNonPresent(target, key); }\n }\n return has || !isAllowed\n }\n };\n\n var getHandler = {\n get: function get (target, key) {\n if (typeof key === 'string' && !(key in target)) {\n if (key in target.$data) { warnReservedPrefix(target, key); }\n else { warnNonPresent(target, key); }\n }\n return target[key]\n }\n };\n\n initProxy = function initProxy (vm) {\n if (hasProxy) {\n // determine which proxy handler to use\n var options = vm.$options;\n var handlers = options.render && options.render._withStripped\n ? getHandler\n : hasHandler;\n vm._renderProxy = new Proxy(vm, handlers);\n } else {\n vm._renderProxy = vm;\n }\n };\n}\n\n/* */\n\nvar seenObjects = new _Set();\n\n/**\n * Recursively traverse an object to evoke all converted\n * getters, so that every nested property inside the object\n * is collected as a \"deep\" dependency.\n */\nfunction traverse (val) {\n _traverse(val, seenObjects);\n seenObjects.clear();\n}\n\nfunction _traverse (val, seen) {\n var i, keys;\n var isA = Array.isArray(val);\n if ((!isA && !isObject(val)) || Object.isFrozen(val) || val instanceof VNode) {\n return\n }\n if (val.__ob__) {\n var depId = val.__ob__.dep.id;\n if (seen.has(depId)) {\n return\n }\n seen.add(depId);\n }\n if (isA) {\n i = val.length;\n while (i--) { _traverse(val[i], seen); }\n } else {\n keys = Object.keys(val);\n i = keys.length;\n while (i--) { _traverse(val[keys[i]], seen); }\n }\n}\n\nvar mark;\nvar measure;\n\nif (process.env.NODE_ENV !== 'production') {\n var perf = inBrowser && window.performance;\n /* istanbul ignore if */\n if (\n perf &&\n perf.mark &&\n perf.measure &&\n perf.clearMarks &&\n perf.clearMeasures\n ) {\n mark = function (tag) { return perf.mark(tag); };\n measure = function (name, startTag, endTag) {\n perf.measure(name, startTag, endTag);\n perf.clearMarks(startTag);\n perf.clearMarks(endTag);\n // perf.clearMeasures(name)\n };\n }\n}\n\n/* */\n\nvar normalizeEvent = cached(function (name) {\n var passive = name.charAt(0) === '&';\n name = passive ? name.slice(1) : name;\n var once$$1 = name.charAt(0) === '~'; // Prefixed last, checked first\n name = once$$1 ? name.slice(1) : name;\n var capture = name.charAt(0) === '!';\n name = capture ? name.slice(1) : name;\n return {\n name: name,\n once: once$$1,\n capture: capture,\n passive: passive\n }\n});\n\nfunction createFnInvoker (fns, vm) {\n function invoker () {\n var arguments$1 = arguments;\n\n var fns = invoker.fns;\n if (Array.isArray(fns)) {\n var cloned = fns.slice();\n for (var i = 0; i < cloned.length; i++) {\n invokeWithErrorHandling(cloned[i], null, arguments$1, vm, \"v-on handler\");\n }\n } else {\n // return handler return value for single handlers\n return invokeWithErrorHandling(fns, null, arguments, vm, \"v-on handler\")\n }\n }\n invoker.fns = fns;\n return invoker\n}\n\nfunction updateListeners (\n on,\n oldOn,\n add,\n remove$$1,\n createOnceHandler,\n vm\n) {\n var name, def$$1, cur, old, event;\n for (name in on) {\n def$$1 = cur = on[name];\n old = oldOn[name];\n event = normalizeEvent(name);\n if (isUndef(cur)) {\n process.env.NODE_ENV !== 'production' && warn(\n \"Invalid handler for event \\\"\" + (event.name) + \"\\\": got \" + String(cur),\n vm\n );\n } else if (isUndef(old)) {\n if (isUndef(cur.fns)) {\n cur = on[name] = createFnInvoker(cur, vm);\n }\n if (isTrue(event.once)) {\n cur = on[name] = createOnceHandler(event.name, cur, event.capture);\n }\n add(event.name, cur, event.capture, event.passive, event.params);\n } else if (cur !== old) {\n old.fns = cur;\n on[name] = old;\n }\n }\n for (name in oldOn) {\n if (isUndef(on[name])) {\n event = normalizeEvent(name);\n remove$$1(event.name, oldOn[name], event.capture);\n }\n }\n}\n\n/* */\n\nfunction mergeVNodeHook (def, hookKey, hook) {\n if (def instanceof VNode) {\n def = def.data.hook || (def.data.hook = {});\n }\n var invoker;\n var oldHook = def[hookKey];\n\n function wrappedHook () {\n hook.apply(this, arguments);\n // important: remove merged hook to ensure it's called only once\n // and prevent memory leak\n remove(invoker.fns, wrappedHook);\n }\n\n if (isUndef(oldHook)) {\n // no existing hook\n invoker = createFnInvoker([wrappedHook]);\n } else {\n /* istanbul ignore if */\n if (isDef(oldHook.fns) && isTrue(oldHook.merged)) {\n // already a merged invoker\n invoker = oldHook;\n invoker.fns.push(wrappedHook);\n } else {\n // existing plain hook\n invoker = createFnInvoker([oldHook, wrappedHook]);\n }\n }\n\n invoker.merged = true;\n def[hookKey] = invoker;\n}\n\n/* */\n\nfunction extractPropsFromVNodeData (\n data,\n Ctor,\n tag\n) {\n // we are only extracting raw values here.\n // validation and default values are handled in the child\n // component itself.\n var propOptions = Ctor.options.props;\n if (isUndef(propOptions)) {\n return\n }\n var res = {};\n var attrs = data.attrs;\n var props = data.props;\n if (isDef(attrs) || isDef(props)) {\n for (var key in propOptions) {\n var altKey = hyphenate(key);\n if (process.env.NODE_ENV !== 'production') {\n var keyInLowerCase = key.toLowerCase();\n if (\n key !== keyInLowerCase &&\n attrs && hasOwn(attrs, keyInLowerCase)\n ) {\n tip(\n \"Prop \\\"\" + keyInLowerCase + \"\\\" is passed to component \" +\n (formatComponentName(tag || Ctor)) + \", but the declared prop name is\" +\n \" \\\"\" + key + \"\\\". \" +\n \"Note that HTML attributes are case-insensitive and camelCased \" +\n \"props need to use their kebab-case equivalents when using in-DOM \" +\n \"templates. You should probably use \\\"\" + altKey + \"\\\" instead of \\\"\" + key + \"\\\".\"\n );\n }\n }\n checkProp(res, props, key, altKey, true) ||\n checkProp(res, attrs, key, altKey, false);\n }\n }\n return res\n}\n\nfunction checkProp (\n res,\n hash,\n key,\n altKey,\n preserve\n) {\n if (isDef(hash)) {\n if (hasOwn(hash, key)) {\n res[key] = hash[key];\n if (!preserve) {\n delete hash[key];\n }\n return true\n } else if (hasOwn(hash, altKey)) {\n res[key] = hash[altKey];\n if (!preserve) {\n delete hash[altKey];\n }\n return true\n }\n }\n return false\n}\n\n/* */\n\n// The template compiler attempts to minimize the need for normalization by\n// statically analyzing the template at compile time.\n//\n// For plain HTML markup, normalization can be completely skipped because the\n// generated render function is guaranteed to return Array. There are\n// two cases where extra normalization is needed:\n\n// 1. When the children contains components - because a functional component\n// may return an Array instead of a single root. In this case, just a simple\n// normalization is needed - if any child is an Array, we flatten the whole\n// thing with Array.prototype.concat. It is guaranteed to be only 1-level deep\n// because functional components already normalize their own children.\nfunction simpleNormalizeChildren (children) {\n for (var i = 0; i < children.length; i++) {\n if (Array.isArray(children[i])) {\n return Array.prototype.concat.apply([], children)\n }\n }\n return children\n}\n\n// 2. When the children contains constructs that always generated nested Arrays,\n// e.g.